lark
lark copied to clipboard
Post 1388 changes
This is a list of TODOs I would like to see/do after #1388 is merged (or independently, but reviewing that PR is why I am now making this list):
Doc changes
- [ ] Explain that
_rulesare inlined after parsing, not before parsing, preparing for potentially addition of__rulesyntax, and preempting confusion about this (since this has semantic differences, especially with respect tolalr) - [ ] Similar thing for templates: They are instantiated, not expanded. (and can be recursive)
- [ ] Check if we can move over to proper
larksyntax highlighting instead of misusingperl.
Code changes
- [ ] Add terminal templates
- [ ] Add ability to
%declarerules so that they can later be implemented with either%overrideor more importantly%extend, useful for plugin features. - [ ] long term: Turn
LarkValidatorinto something that can be used byload_grammar.py - [ ] Move
find_grammar_errorsintolark_validator.py, and probably make it uselark.lark - [ ] Extend
find_grammar_errorsto do semantic checks usingLarkValidator(and therefore add the ability toLarkValidatorto report multiple issues) - [ ] longer term: Add a build step that turns
lark.larkinto a BNF representation that can be used byload_grammar.py- For example, alark.bnf.jsonfile loaded by the stdlib module. (We could potentially also "cache" the lalr parse tables in a json file. If we expose this build tool inside oflark.tools, together with aloadfunction, this could be a more lightweight alternative to standalone)
Is there anything I can do to get 1388 merged faster?
You currently still have an outstanding "Request Changing" review that I think Ross thinks is fully resolved. If you have changes other than the latest I suggested, you can already suggest them, otherwise you could add a review "Comment" to clear the "Requesting Changes" review status.
I added a few comments.
And I'm working through those comments.