mirror of https://github.com/lark-parser/lark.git
1.8 KiB
1.8 KiB
Examples for Lark
How to run the examples
After cloning the repo, open the terminal into the root directory of the project, and run the following:
[lark]$ python -m examples.<name_of_example>
For example, the following will parse all the Python files in the standard library of your local installation:
[lark]$ python -m examples.python_parser
Beginners
- calc.py - A simple example of a REPL calculator
- json_parser.py - A simple JSON parser (comes with a tutorial, see docs)
- indented_tree.py - A demonstration of parsing indentation ("whitespace significant" language)
- fruitflies.py - A demonstration of ambiguity
- turtle_dsl.py - Implements a LOGO-like toy language for Python's turtle, with interpreter.
- lark_grammar.py + lark.lark - A reference implementation of the Lark grammar (using LALR(1) + standard lexer)
Advanced
- error_reporting_lalr.py - A demonstration of example-driven error reporting with the LALR parser
- python_parser.py - A fully-working Python 2 & 3 parser (but not production ready yet!)
- python_bytecode.py - A toy example showing how to compile Python directly to bytecode
- conf_lalr.py - Demonstrates the power of LALR's contextual lexer on a toy configuration language
- conf_earley.py - Demonstrates the power of Earley's dynamic lexer on a toy configuration language
- custom_lexer.py - Demonstrates using a custom lexer to parse a non-textual stream of data
- reconstruct_json.py - Demonstrates the experimental text-reconstruction feature