• [Python-announce] TatSu 5.7.0

    From =?UTF-8?Q?Juancarlo_A=C3=B1ez?=@apalala@gmail.com to comp.lang.python.announce on Mon Dec 6 17:50:01 2021
    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