Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Python-announce] TatSu 5.7.0

3 views
Skip to first unread message

Juancarlo Añez

unread,
Dec 6, 2021, 5:45:35 PM12/6/21
to
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
0 new messages