[Python-announce] TatSu v5.9.0 - PEG parser generator
Juancarlo Añez <[email protected]> Sun, 22 Oct 2023 10:38:16 -0400
| Newsgroups | gmane.comp.python.announce |
|---|---|
| Message-ID | <CAL8UGB5WitYeb5mFXkhSi9A=7uhN+5xUGwZycOt50Po2iD8Jeg@mail.gmail.com> |
竜 TatSu is a tool that takes grammars in a variation of EBNF as input, and outputs memoizing (Packrat) PEG parsers in Python. Why use a PEG parser? Because regular languages (those parsable with Python's `re` package) "cannot count". Any input with nested structures or with balancing of demarcations requires more than regular expressions to be parsed. 竜 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. On this release: - validate with Python 3.12 (#313 <https://github.com/neogeny/TatSu/pull/313>) - drop support for Python 3.10 (#313 <https://github.com/neogeny/TatSu/pull/313>) - move build configuration to pyproject.toml (#316 <https://github.com/neogeny/TatSu/pull/316> #317 <https://github.com/neogeny/TatSu/pull/317>) - evaluate constant to a Python literal when possible (#304 <https://github.com/neogeny/TatSu/issues/304> #320 <https://github.com/neogeny/TatSu/pull/320>) - fix comments_re and eol_comments_re so they effectively can be None ( #307 <https://github.com/neogeny/TatSu/pull/307> #312 <https://github.com/neogeny/TatSu/issues/312> #314 <https://github.com/neogeny/TatSu/pull/314>) - skip over whitespace and comments before memoizing (#305 <https://github.com/neogeny/TatSu/issues/305> #306 <https://github.com/neogeny/TatSu/pull/306> #309 <https://github.com/neogeny/TatSu/pull/309> #318 <https://github.com/neogeny/TatSu/pull/318>) - verify that () parses to None or is ignored (#308 <https://github.com/neogeny/TatSu/pull/308>) -- Juancarlo Añez mailto:[email protected] _______________________________________________ Python-announce-list mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: [email protected]