University of Minnesota
Software Engineering Center

You are here

Forwarding in Attribute Grammars for Modular Language Design

Date of Publication: 
April 2002
Associated Research Groups: 
Publication Files: 
Forwarding is a technique for providing default attribute definitions in attribute grammars that is helpful in the modular implementation of programming languages. It complements existing techniques such as default copy rules. This paper introduces forwarding, and shows how it is but a small extension of standard higher-order attribute grammars. The usual tools for manipulating higher-order attribute grammars, including the circularity check (which tests for cyclic dependencies between attribute values), carry over without modification. The closure test (which checks that each attribute has a defining equation) needs modification, however, because the resulting higher-order attribute grammars may contain spurious attributes that are never evaluated, and indeed that need not be defined.
In Proc. of International Conference on Compiler Construction, Springer Verlag Lecture Notes in Computer Science volume 2304.
@inproceedings{vanwyk02, author = "Van Wyk, E. and de Moor, O. and Backhouse, K. and Kwiatkowski, P.", title = "Forwarding in Attribute Grammars for Modular Language Design", booktitle = "Proc. 11th International Conf. on Compiler Construction", series = "Lecture Notes in Computer Science", volume = 2304, publisher = "Springer-Verlag", year = 2002 }