LALR Parser - Implementation Issues

Implementation Issues

Because the LALR parser performs a right derivation instead of the more intuitive left derivation, understanding how it works is quite difficult. This makes the process of finding a correct and efficient LALR grammar very demanding and time consuming. For the same reason error reporting can be quite hard because LALR parser errors cannot always be interpreted into messages meaningful for the end user. For this reason the recursive descent parser is sometimes preferred over the LALR parser. This parser requires more hand-written code because of less language recognition power. However, it does not have the special difficulties of the LALR parser because it performs left-derivation. Notable examples of this phenomenon are the C and C++ parsers of GCC. They started as LALR parsers but were later changed to recursive descent parsers.

Read more about this topic:  LALR Parser

Famous quotes containing the word issues:

    To make life more bearable and pleasant for everybody, choose the issues that are significant enough to fight over, and ignore or use distraction for those you can let slide that day. Picking your battles will eliminate a number of conflicts, and yet will still leave you feeling in control.
    Lawrence Balter (20th century)