Lark-Cython
Cython plugin for Lark, reimplementing the LALR parser & lexer for better performance on CPython.
Install:
pip install lark-cython
Usage:
import lark_cython
parser = Lark(grammar, parser="lalr", _plugins=lark_cython.plugins)
See the examples for more.
Differences from Lark
Token
instances do not inherit from str
. You must use the value
attribute to get the string.
Other caveats
- Postlexer isn't currently implemented
Speed
In current benchmarks, lark-cython is about 50% to 80% faster than Lark.
We're still in the early stages, and in the future, lark-cython might go a lot faster.
Other
License: MIT
Author: Erez Shinan
Special thanks goes to Datafold for commissioning the draft for lark-cython, and allowing me to release it as open-source.