Saturday, February 21, 2015

LL(*) Again

Seems the further I get the farther I seem from my goal. Decided to further expand the Pseudocode generated by the system and found gobs of bugs and shortcuts that don't make sense (from the view of actually figuring out where to go next, a->b->c, parse b->b->c??)

C'est la vie, you learn by making mistakes, I thought it was going through a C♯-esque language too quickly, turns out, it was!

I've noticed a few things: my grammar was ambiguous in multiple areas, leading to a indeterminate state explosion that was planning on eating all of my system's resources (all 12 GB.)

The path sets that result from constructing just the statements and expressions for the language yield a 133MB file of pseudo code for disambiguation.  A majority of this is just tracking the paths that were responsible for reaching that decision point.

My next step is to dig into the T*y♯ language to find out why it's failing assertions on certain predictive logic.

No comments: