I am currently doing a project on LR Parsers and need to code the algorithm using Java. The code should use the parse tables and determine wheather a word is accepted using the grammar provided and using the Parser tables. I am stuck on where to start so any advice on this would be very useful. Please can someone help me with this.

13 Years
Discussion Span
Last Post by ddefrancesco

For others who don't know what an LR Parser is:

We show how LR parsers for the analysis of arbitrary context-free grammars can be derived from classical Earley's parsing algorithm. The result is a Generalized LR parsing algorithm working at complexity O(n3) in the worst case, which is achieved by the use of dynamic programming to represent the non-deterministic evolution of the stack instead of graph-structured stack representations, as has often been the case in previous approaches. The algorithm behave better in practical cases, achieving linear complexity on LR grammars. Experimental results show the performance of our proposal.

Source: http://coleweb.dc.fi.udc.es/cole/library/abstracts/AloCabVil97a.html


complexity O(n3) in the

is referring to big O notation.

with that said LR parsers can be easily expressed using recursive methods (*hint *hint) , without any use of automata theory.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.