...................................
- optional speed optimizations (experimental!) that work by compiling
certain parts of the grammar to regular expressions. See config value
"optimizations" or put "optimizations=all" at the top of your grammar.
- serializations for xast and unist ("ndst") added.
See https://github.com/syntax-tree/unist
and https://github.com/syntax-tree/xast
- fast-path for Series-parser, in case no items are marked as mandatory
- faster unit-tests: History recording will only be invoked if a
test fails in which case the test will be repeated with history
recording. (If a tested parser contains lookahead statements,
history-recording is always invoked, because it is needed to
detect false negatives.)
- unit-test-scripts (i.e. "tst_..._grammary.py") can now be invoked
with the "--history" (or "-p") option to record detailed logs for all
tests, not only those tests that have failed. (So, it is easier to
study what a particular parser actually does.)
- functions added: nodetree.drop_leaf() and transform.pull_up()
- changes: parse.py: removed memoization equivalence classes to
simplify code (speed up was very neglible, anyway)
parse.py: Regular expressions of RegExp-parsers are now evaluated
lazily to keep startup times in check
- nim-rewrite of parser core under way, e.g. run-ranges added as
first step to get rid of regular epressions.
- lsp-module removed from documentation to avoid index-clutter