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:
“The universal moments of child rearing are in fact nothing less than a confrontation with the most basic problems of living in society: a facing through ones children of all the conflicts inherent in human relationships, a clarification of issues that were unresolved in ones own growing up. The experience of child rearing not only can strengthen one as an individual but also presents the opportunity to shape human relationships of the future.”
—Elaine Heffner (20th century)