
Added ~~~~~ * Parse speeds on large files reduced by 5-20% by optimizing parse contexts and closures, and unifying the AST_ and CST_ stacks. * Added the *"skip to"* expression ( ``->``), useful for writing *recovery* rules. The parser will advance over input, one character at time, until the expression matches. Whitespace and comments will be skipped at each step. * Added the *any* expression ( ``/./``) for matching the next character in the input. * The ANTLR_ grammar for Python3_ to the `g2e` example, and udate `g2e` to handle more ANTLR_ syntax. * Check typing with Mypy_. Changed ~~~~~~~ * Removed the very old _regex_ example. * Make parse traces more compact. Add a sample to the docs. * Explain Grako_ compatibility in docs. |TatSu| ======= |TatSu| (the successor to Grako_) is a tool that takes grammars in a variation of `EBNF`_ as input, and outputs `memoizing`_ (`Packrat`_) `PEG`_ parsers in `Python`_. |TatSu| can compile a grammar stored in a string into a ``tatsu.grammars.Grammar`` object that can be used to parse any given input, much like the `re`_ module does with regular expressions, or it can generate a Python_ module that implements the parser. -- Juancarlo Añez
participants (1)
-
Juancarlo Añez