Jesse Towner
Jesse Towner
Investigate switching the memo table over to an interval tree as described in the paper (Fast Incremental PEG Parsing)[https://dl.acm.org/doi/10.1145/3486608.3486900].
This may be possible with some additional analysis during instruction encoding.
Introduce head-fail instructions such as `test`, `test_any`, etc. as described in the paper [A parsing machine for PEGs](https://dl.acm.org/doi/10.1145/1408681.1408683) and utilize them to prevent backtracking on alternation.
Currently an expression `e` can be matched zero-or-more times with `*e`, one-or-more times `+e` or zero-or-one times with `~e`. Lug grammars should be extended to support repetition exactly *n* times,...
Exceptions from user-defined callables should be caught and handled appropriately based on the context. Exceptions should be recorded as syntax errors, which will tie in with #8. Additionally, the parser...
Implement error recovery with labeled failures as described in the paper [A parsing machine for parsing expression grammars with labeled failures](https://dl.acm.org/doi/10.1145/2851613.2851750). Additionally, a mechanism in the parser should be implemented...
Hierarchical white space skipping rules would work similar to how recovery rules or error handlers can be configured, and would remove the necessity of using thread_local in the implementation of...
Add support for debugging: - Add instruction stepping to lug::basic_parser - Program disassembly and printer