From Newsgroup: comp.lang.python.announce
TatSu 5.7.0 is now available.
-
https://pypi.org/project/TatSu/5.7.0/
-
https://tatsu.readthedocs.io/
-
https://github.com/neogeny/TatSu
竜 TatSu 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 supports left-recursive rules in PEG grammars using the algorithm
by Laurent and Mens. The generated AST has the expected left associativity.
CHANGELOG:
- Now ``config: ParserConfig`` is used in ``__init__()`` and ``parse()``
methods of ``contexts.ParseContext``, ``grammars.Grammar``, and elsewhere
to avoid long parameter lists. ``ParserConfig` also provides clean and
clear ways of overriding a group of settings
- All names defined in the successful choice in a rule are now defined
in the resulting AST. Names within optionals that did not match will have
their values set to ``None``, and closures that did not match will be set
to ``[]`
- Moved build configuration from ``setup.py`` in favor of ``setup.cfg``
and ``pyproject.toml`` (@KOLANICH_)
- ``Node.children()`` is now computed only when required, and cached
- Classes in generated object models are now ``@dataclass``
- Optimize and get rid of bugs and annoyances while keeping backwards
compatibility
- Drop support for Python < 3.10
--- Synchronet 3.19a-Linux NewsLink 1.113