This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Rogdham bb123e0999 Examples: add import example 5 år sedan
..
relative-imports Examples: add import example 5 år sedan
standalone Changing changes from .lrk to .lark 6 år sedan
README.md Docs: Fixup 5 år sedan
__init__.py Added examples (calc, json) 7 år sedan
calc.py Improved documentation and code style (minor) 6 år sedan
conf_earley.py Improved documentation and code style (minor) 6 år sedan
conf_lalr.py Improved documentation and code style (minor) 6 år sedan
custom_lexer.py Trimmed whitespaces and ensured a new line on the end of the file 5 år sedan
error_reporting_lalr.py Fixed examples for error reporting 6 år sedan
fruitflies.png Improved Readme 6 år sedan
fruitflies.py Improved Readme 6 år sedan
indented_tree.py Added option to provide a custom lexer (with example) 6 år sedan
json_parser.py Improved documentation and code style (minor) 6 år sedan
lark.lark Examples: update lark.lark 5 år sedan
lark_grammar.py Examples: add import example 5 år sedan
python2.lark Trimmed whitespaces and ensured a new line on the end of the file 5 år sedan
python3.lark number add BIN_NUMBER 5 år sedan
python_parser.py Merge branch 'file-ext-change' of https://github.com/RobRoseKnows/lark into RobRoseKnows-file-ext-change 6 år sedan
qscintilla_json.py Improved docs 6 år sedan
reconstruct_json.py Fixed reconstruct 6 år sedan
turtle_dsl.py Earley now uses dynamic lexer by default. Bump to version 0.3.0 7 år sedan

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