Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #2518

TatSu 4.2.0

From Juancarlo Añez <juancarlo.anez@gmail.com>
Newsgroups comp.lang.python.announce
Subject TatSu 4.2.0
Date 2017-06-04 17:17 -0400
Message-ID <mailman.41.1496664086.27219.python-announce-list@python.org> (permalink)
References <CAN1YFWt=dXnkqnkss-xGTx6JMCh==HH24qB7BWR2WDMjgqSO9Q@mail.gmail.com>

Show all headers | View raw


Added
~~~~~

*   Parse speeds on large files reduced by 5-20% by optimizing parse
contexts and closures, and unifying the AST_ and CST_ stacks.

*   Added the *"skip to"* expression ( ``->``), useful for writing
*recovery* rules.  The parser will advance over input, one character at
time, until the expression matches. Whitespace and comments will be skipped
at each step.

*   Added the *any* expression ( ``/./``) for matching the next character
in the input.

*   The ANTLR_ grammar for Python3_ to the `g2e` example, and udate `g2e`
to handle more ANTLR_ syntax.

*   Check typing with Mypy_.


Changed
~~~~~~~

*   Removed the very old _regex_ example.

*   Make parse traces more compact. Add a sample to the docs.

*   Explain Grako_ compatibility in docs.



|TatSu|
=======

|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.


--
Juancarlo Añez

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

TatSu 4.2.0 Juancarlo Añez <juancarlo.anez@gmail.com> - 2017-06-04 17:17 -0400

csiph-web