gll
gll copied to clipboard
GLL parsing framework.
I imagine we could very easily support both single-stepping (as a GLL parser already kind of works like that) and "breakpoints" (by stopping when parsing reaches a certain, or when...
Instead of generating a string directly from CPS, and having to do e.g. the `{push,pop}_state` tracking on the fly, we could be producing a CFG ("control-flow graph" in this context),...
https://github.com/KirillOsenkov/Bliki/wiki/Roslyn-Immutable-Trees Incidentally, the children in our SPPF are encoded like a green tree (i.e. relative splits within the parent), it's just the "identity" of the nodes that includes their absolute...
[`simplejit-demo`](https://github.com/CraneStation/simplejit-demo/) has a [rustpeg grammar](https://github.com/CraneStation/simplejit-demo/blob/master/src/grammar.rustpeg) for the tiny language it compiles. It would be an interesting challenge to try to make this nicer using GLL. (right now it would be...
See [reddit post](https://www.reddit.com/r/rust/comments/9z87z7/logos_create_ridiculously_fast_lexers/) and [GitHub project](https://github.com/maciejhirsz/logos). I wonder if we can approach that. Also, compare with the `regex` crate, as I suspect that could also get just as fast.
Instead of the current setup where everything assumes `Handle`, we could have structs/enums generic over something that will let them extract their field types, e.g.: ```rust enum Expr { Cast...
One of the simplest things we could do is keep a buffer of "attempted input matches" at the "most advanced input location", as we parse, keeping only the entries with...
See https://github.com/lukaslueg/railroad.
The fields would show up in the same way they do in the grammar itself, *ignoring* the heuristic to view some rules as enums, and their top-level fields as variants....