
Example of hidden left recursion

The key point is that it has rules of form (X -> A X z), where A may match
the empty string. The original GLR algorithm will loop on such productions, 
since the reduction (A -> empty) is always possible. 

The grammar is based on the one in Rekers[1], pointed out to me by Joost 
Visser. 
	Q -> A Q i | +
	A -> 

I have made it a bit more complex, adding a second layer of hidden recursion 
and allowing jumps from the second layer to the first. 


---

"make run" to run the test case.

For Hugs, load up Hugs.lhs - it doesn't produce graphs, and has easy entry 
point "test :: String -> IO ()

Don't forget to look at the graphs!

---

[1] J. Rekers, "Parser Generation for Interactive Environments", PhD thesis,
	University of Amsterdam 1992.
