Reference Attributed Grammars
G. Hedin
To appear in Informatica
Abstract
An object-oriented extension to canonical attribute grammars is described,
permitting attributes to be references to arbitrary nodes in the syntax tree, and
attributes to be accessed via the reference attributes. Important practical
problems such as name and type analysis for object-oriented languages can be
expressed in a concise and modular manner in these grammars, and an optimal evaluation algorithm is
available. An extensive example is given, capturing all the key constructs in object-oriented languages including block structure, classes, inheritance, qualified use, and assignment compatibility in the presence of subtyping. The formalism and algorithm have been implemented in APPLAB, an
interactive language development tool.