* 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_.
* Removed the very old _regex_ example.
* Make parse traces more compact. Add a sample to the docs.
* Explain Grako_ compatibility in docs.
|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.