This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Rogdham bb123e0999 Examples: add import example 5 vuotta sitten
..
relative-imports Examples: add import example 5 vuotta sitten
standalone Changing changes from .lrk to .lark 6 vuotta sitten
README.md Docs: Fixup 5 vuotta sitten
__init__.py Added examples (calc, json) 7 vuotta sitten
calc.py Improved documentation and code style (minor) 6 vuotta sitten
conf_earley.py Improved documentation and code style (minor) 6 vuotta sitten
conf_lalr.py Improved documentation and code style (minor) 6 vuotta sitten
custom_lexer.py Trimmed whitespaces and ensured a new line on the end of the file 5 vuotta sitten
error_reporting_lalr.py Fixed examples for error reporting 6 vuotta sitten
fruitflies.png Improved Readme 6 vuotta sitten
fruitflies.py Improved Readme 6 vuotta sitten
indented_tree.py Added option to provide a custom lexer (with example) 6 vuotta sitten
json_parser.py Improved documentation and code style (minor) 6 vuotta sitten
lark.lark Examples: update lark.lark 5 vuotta sitten
lark_grammar.py Examples: add import example 5 vuotta sitten
python2.lark Trimmed whitespaces and ensured a new line on the end of the file 5 vuotta sitten
python3.lark number add BIN_NUMBER 5 vuotta sitten
python_parser.py Merge branch 'file-ext-change' of https://github.com/RobRoseKnows/lark into RobRoseKnows-file-ext-change 6 vuotta sitten
qscintilla_json.py Improved docs 6 vuotta sitten
reconstruct_json.py Fixed reconstruct 6 vuotta sitten
turtle_dsl.py Earley now uses dynamic lexer by default. Bump to version 0.3.0 7 vuotta sitten

README.md

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!)
  • 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