

-
Some lexer generators (notably Flex) take input from a file handle by default. While you can always read a file into a string before passing it to the generated lexer, this is not seen as "the best" since you have to read in all the data into memory, which can be a lot.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
These algorithms can be very useful in editors (Tree-sitter is built into Atom) and IDE/language-server contexts, where the compiler must be able to parse and elaborate input extremely quickly.
-
Lark
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
Have you looked at Lark recently?
-
visibly pushdown parsing! it's one of the few techniques that can detect and report grammar ambiguity consistently