lark
lark copied to clipboard
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
I'd like to be able to switch the input file just after the lexer sees "include filename". Ideally this should happen while parsing and building the parse tree. (Possibly a...
**Describe the bug** Lark allows `?` and `_` to be used on the same rule. As they both control the inlining of children, I would expect them to be mutually...
Hi, I am trying to understand ambiguity and whitespace in an lalr(1) parser. The first program works as I would expect, but the second fails on input "a ". Could...
The existing cheatsheet is here: https://github.com/lark-parser/lark/blob/master/docs/lark_cheatsheet.pdf The design and format are somewhat lacking.
**Should extra optional symbol affect on choice between two regexps?** Lets check example: ``` import lark parser = lark.Lark(''' ?start: s %ignore /[\\n]/+ R1: /[\\w\\+]/+ R2: /(\\w)/+ SPACE: " "...
**Describe the bug** Lark v1.1.2 The standalone parser generated with `python -m lark.tools.standalone` appears to have an issue with the `PatternRE`/`PatternStr` subclasses because when I get an `UnexpectedCharacters` error, it's...
SlottedTree could be a slot-only class, thereby removing any need for an attribute dictionary, which takes up memory. However, by inheriting from Tree, it inherits the attribute dictionary, even if...
Typing is a bit too sparse to run mypyc, so I've tried to fill in a couple of modules (lark.py and utils.py) with the help of monkeytype. This is based...
This adds a basic pre-commit-config, a tox job running it (to help new contributors - usually you should run pre-commit directly to take advantage of it's start-up speed), and a...