Carl Mäsak
Carl Mäsak
> Secondly, maybe we'll end up using the state graph not for all parsing, but just for LTM parsing. Coming back to this; this shouldn't have been a big reveal,...
As I was thinking about this while falling asleep yesterday in a jet-lagged haze: there are two parsers, really. The declarative one and the procedural one. * The **declarative parser**...
Forgot to mention: work is now underway in [a branch](https://github.com/masak/007/tree/masak/is-parsed-spike). Current status: almost at the point of hitting the limits of the declarative parser. I'm toying with the idea of...
Here, I tried to capture the thing with the NFA dispatch and the entry points in a set of diagrams. They are messy and probably mostly wrong, but here goes....
Trying to figure out how to compute those entry points. Here's me doing it manually: * `TOP` / `statementlist` / `statement` is one * `statementlist` / `statement` from inside `block`...
There are also three "variants" of the `expr` rule: * The one called by `statement:expr` outside of any block (has `eof` as a stopper) * The one called by `statement:expr`...
It feels to me one should be able to build a "continuation graph" from a grammar; for each rule, which rules can it dispatch into. Note that the distinction of...
I think it'd be possible to put together a small proof-of-concept of this algorithm. Like a small mini-spike within the spike.
There's some very neat _strange consistency_ going on between multi-method dispatch (figuring out which method to call based on the arguments sent in) and LTM (figuring out which subrule to...