HOME

TheInfoList



OR:

LR-attributed grammars are a special type of
attribute grammar An attribute grammar is a formal way to supplement a formal grammar with semantic information processing. Semantic information is stored in attributes associated with terminal and nonterminal symbols of the grammar. The values of attributes are resu ...
s. They allow the attributes to be evaluated on LR parsing. As a result, attribute evaluation in LR-attributed grammars can be incorporated conveniently in bottom-up parsing. zyacc is based on LR-attributed grammars. They are a subset of the
L-attributed grammar L-attributed grammars are a special type of attribute grammars. They allow the attributes to be evaluated in one depth-first left-to-right traversal of the abstract syntax tree. As a result, attribute evaluation in L-attributed grammars can be inco ...
s, where the attributes can be evaluated in one left-to-right traversal of the abstract syntax tree. They are a superset of the
S-attributed grammar S-attributed grammars are a class of attribute grammars characterized by having no inherited attributes, but only synthesized attributes. Inherited attributes, which must be passed down from parent nodes to children nodes of the abstract syntax ...
s, which allow only synthesized attributes. In yacc, a common hack is to use global variables to simulate some kind of inherited attributes and thus LR-attribution.


External links

* http://www.cs.binghamton.edu/~zdu/zyacc/doc/zyacc_4.html *
Reinhard Wilhelm Reinhard Wilhelm (born June 5, 1946) is a German computer scientist. Life and work Wilhelm was born in , today part of the municipality of Finnentrop, Westphalia. He studied math, physics and mathematical logic at University of Münster and co ...
: LL- and LR-Attributed Grammars. ''Programmiersprachen und Programmentwicklung, 7. Fachtagung, veranstaltet vom Fachausschuß 2 der GI'' (1982), 151–164, Informatik-Fachberichte volume 53. * J. van Katwijk: A preprocessor for YACC or A poor man's approach to parsing attributed grammars. ''Sigplan Notices'' 18:10 (1983), 12–15. Formal languages Compiler construction