TatSu 5.0.0 released

竜 TatSu is a tool that takes grammars in a variation of EBNF <http://en.wikipedia.org/wiki/Ebnf> as input, and outputs memoizing <http://en.wikipedia.org/wiki/Memoization> (Packrat <http://bford.info/packrat/>) PEG <http://en.wikipedia.org/wiki/Parsing_expression_grammar> parsers in Python <http://python.org/>. 竜 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 <https://docs.python.org/3.7/library/re.html> module does with regular expressions, or it can generate a Python <http://python.org/> module that implements the parser. 竜 TatSu supports left-recursive <https://en.wikipedia.org/wiki/Left_recursion> rules in PEG <http://en.wikipedia.org/wiki/Parsing_expression_grammar> grammars using the algorithm <http://norswap.com/pubs/sle2016.pdf> by *Laurent* and *Mens*. The generated AST <http://en.wikipedia.org/wiki/Abstract_syntax_tree> has the expected left associativity. <https://github.com/neogeny/TatSu#installation>*CHANGES* - 竜 TatSu is now only tested against Python 3.8. Earlier versions of Python are now deprecated, and Python 2.X versions are no longer supported ( @apalala <https://github.com/apalala>). - Apply nameguard only if token[0].isalpha(). This solves a regression afecting previous TatSu and Grako grammars (@apalala <https://github.com/apalala>). - Remove pygraphviz from develoment requirements, as it doesn't build under Py38 (@apalala <https://github.com/apalala>) - #56 <https://github.com/neogeny/TatSu/issues/56> Include missing tatsu/g2e/antlr.ebnf in distribution (@apalala <https://github.com/apalala>) - #138 <https://github.com/neogeny/TatSu/issues/138> Reimplement the calculation of FIRST, FOLLOW, and LOOKAHEAD sets using latest theories. For now, this should improve parser error reporting, but should eventually enable the simplification of parsing of leftrec grammars (@apalala <https://github.com/apalala>). - #153 <https://github.com/neogeny/TatSu/issues/153> Import ABCs from collections.abc (@tirkarthi <https://github.com/tirkarthi>) - Remove support for Cythonand pypy3 (@apalala <https://github.com/apalala>). -- Juancarlo *Añez*
participants (1)
-
Juancarlo Añez