
竣 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. 竣 TatSu fully supports left-recursive rules in PEG grammars using the algorithm by Laurent and Mens. The generated AST has the expected left associativity. https://github.com/neogeny/TatSu http://tatsu.readthedocs.io/en/stable/ v4.2.5 -------- * #42 <https://github.com/neogeny/TatSu/issues/42> Rename vim files from grako.vim to tatsu.vim (@fcoelho <https://github.com/fcoelho>) * #51 <https://github.com/neogeny/TatSu/issues/51> Fix inconsistent code generation for whitespace (@fpom <https://github.com/fpom>) * #54 <https://github.com/neogeny/TatSu/pull/54> Only care about case of first letter of rule name for determining advance over whitespace (@acw1251 <https://github.com/acw1251>) v4.2.4 --------- * #40 Make the start rule default to the first rule defined in the grammar (@hariedo) * #43 Import re from tatsu.util to support optional regex-only features (@azazel75) * #47 Fix incorrect sample code in documentation v4.2.3 -------- * #37 Regression: The #include pragma works by using the EBNFBuffer from grammars.py. Somehow the default EBNFBootstrapBuffer from bootstrap.py has been used instead (@gegenschall). * #38 Documentation: Use of json.dumps() requires ast.asjson() (@davidchen). -- Juancarlo *Aıez*
participants (1)
-
nospam.Juancarlo Añez