a modern parsing library
Project description
Lark is a modern general-purpose parsing library for Python.
Lark focuses on simplicity and power. It lets you choose between two parsing algorithms:
Earley : Parses all context-free grammars (even ambiguous ones)! It is the default. LALR(1): Only LR grammars. Outperforms PLY and most if not all other pure-python parsing libraries. Both algorithms are written in Python and can be used interchangably with the same grammar (aside for algorithmic restrictions). See “Comparison to other parsers” for more details.
Lark can automagically build an AST from your grammar, without any more code on your part.
Features:
EBNF grammar with a little extra
Earley & LALR(1)
Builds an AST automagically based on the grammar
Automatic line & column tracking
Automatic token collision resolution (unless both tokens are regexps)
Python 2 & 3 compatible
Unicode fully supported
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.