#Andrew
....
So Andy, in future I hope you won’t give up so easily!
Thank you for the data, I also have read all this papers a few years ago!
My parser is based on the syntax of the Java CUP LALR parser, but implemented the Masaru Tomita ‘87 shema (splitting stack) and finally corrected the left-hidden recursion! (a very awkward problem, very difficult to find, track and solve). Then I built a variation (for me) to support multiple input tokens (I’ve called it Schrödinger Tokens) helping to correct input errors. The GLR* algoritm makes a similar thing but is prone to exponential explosion being intended for single tokens, this GLR parser schema is intended to parse formal languages, mine is not! (it’s beyond this).. huh!
Also because of ambiguity, the pure-Tomita GLR parser literally explodes! and the stack grows exponentially, so If you don’t prune the trees, you end up easily on a stack-overflow or a slow 30 seconds parse for a 20 word sentence!
As you may know a GLR parser has the exponent of the multiplicity lying inside the grammar, and using NLP with ~600 productions, you get into trouble easily!
I’ve handled this with another strange solution, a priority mechanism burned inside the GLR schema! let me explain the idea:
¿Do you remember when you use a LR parser or a LALR one, bottom-up, you need to solve known language ambiguities like the ‘dangling else’ or the priority of concatenated operations like algebraic sum and multiplication? Well those are solved by ‘tweaking’ the table by means of smart ‘compile-time’ decisions yielding a good parser as output!/
Well I used the same schema but embedded inside a GLR parser!, the result? the ambiguities are filtered out cleanly unless you don’t specify priority at all! and even you are able to grant a NP-Hard combination on certain grammar-parse sections!
This parser I’ve accomplished to work fine, about 4 years ago and I am still tweaking it!
and as my parser also needs a scanner, I had to build one for him, on my own, so I built a C#Lex scanner generator and this tiny beast is actually dealing with all the ‘dirty’ text in a very efficient way!
So Andrew, I think we are both on our way! (headed where.. I don’t know.. but still moving on) and for sure: I’ll never give up!