Composing tree attributions

Using the simple tree attributions described in this paper, attribute values can themselves be trees, enabling attribution to be used for tree transformations. Unlike higher-order attribute grammars, simple tree attributions have the property of descriptional composition, which allows a complex transformation to be built up from simpler ones, yet be executed efficiently. In contrast to other formalisms that admit descriptional composition, notably composable attribute grammars, simple tree attributions have the expressive power to handle remote references and recursive syntactic (tree-generating) functions, providing significantly more general forms of attribution and transformation.

[1]  Robert A. Ballance Syntactic and Semantic Checking in , 1989 .

[2]  Daniel M. Yellin,et al.  Composable attribute grammars: support for modularity in translator design and implementation , 1992, POPL '92.

[3]  Robert A. Ballance,et al.  Syntactic and semantic checking in language-based editing systems , 1989 .

[4]  Robert Giegerich,et al.  Attribute coupled grammars , 1984, SIGPLAN '84.

[5]  Bruno Courcelle,et al.  Attribute Grammars and Recursive Program Schemes II , 1982, Theor. Comput. Sci..

[6]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[7]  John Tang Boyland,et al.  Attributed Transformational Code Generation for Dynamic Compilers , 1991, Code Generation.

[8]  Robert A. Ballance,et al.  Incremental Consistency Maintenance for Interactive Applications , 1991, International Conference on Logic Programming.

[9]  S. Doaitse Swierstra,et al.  Higher Order Attribute Grammars , 1991, Attribute Grammars, Applications and Systems.

[10]  Bruno Courcelle,et al.  Attribute Grammars and Recursive Program Schemes I , 1982, Theoretical Computer Science.

[11]  Charles Farnum,et al.  Pattern-based tree attribution , 1992, POPL '92.

[12]  S. Doaitse Swierstra,et al.  Higher order attribute grammars , 1989, PLDI '89.

[13]  Ken Kennedy,et al.  Automatic generation of efficient evaluators for attribute grammars , 1976, POPL.

[14]  Gilberto Filé Classical and Incremental Evaluators for Attribute Grammars , 1986, CAAP.

[15]  Gilberto Filé Classical and Incremental Attribute Evaluation by Means of Recursive Procedures , 1987, Theor. Comput. Sci..