TatSu 4.2.0

Juancarlo Añez juancarlo.anez at gmail.com
Sun Jun 4 17:17:54 EDT 2017


*   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.

Juancarlo Añez

More information about the Python-announce-list mailing list