New Features:
- Better grammar re-use with the
%override
and%extend
statements, which allow to rewrite and extend imported rules and tokens, similarly to class inheritance. (See this example: https://github.com/lark-parser/lark/blob/master/examples/advanced/extend_python.py)
Improvements
-
Indenter now throws DedentError instead of AssertionError
-
Improved the Python3 grammar, now works with reconstructor. (See this example: https://github.com/lark-parser/lark/blob/master/examples/advanced/reconstruct_python.py)
-
Lots of refactoring for a better tomorrow.
-
rule/terminals names can now be in unicode. (thanks @julienmalard)
-
Better errors.
-
Better type hints.
-
lark.lark
is now part of the standard library. -
Earley:
- Now works with match_examples()
- Now supports a custom lexer
- Better handling of ignored terminals
- Faster forest visiting, and a few edge-case bugfixes (thanks @chanicpanic)
Other
- Lark now accepts funding as a member of Github Sponsors! See here: https://github.com/sponsors/lark-parser