Friday, June 19, 2015

LL(1) Achieved

Well I've achieved LL(1) state.  Which means if a language only requires one token of look-ahead, the language can be parsed by it.

So far explicit captures are working, the object model that represents the rules doesn't quite procure the data from the context, but it's a start (i.e. the data is there, but no properties to get the data).  I'm currently working on LL(∞), currently the major issue appears to be Indirectly Left Recursive states.  They throw the system for a loop, but I'm sure it's just a matter of time.

The prediction states are going to take a little while to get correct.  The prediction pseudo-code appeared correct in initial tests, but I'll need to be careful that the prediction flow is accurate during reduction states.  Directly Left Recursive rules will need to provide a boolean value to denote their initial state, once the non-recursive variation has been parsed, it can reduce to itself, and check again.

No comments: