Van Wyk, Ericde Moor, OegeBackhouse, KevinKwiatkowsky, Paul2020-12-102020-12-102002In Proc. of International Conference on Compiler Construction, Springer Verlag Lecture Notes in Computer Science volume 2304.https://hdl.handle.net/11299/217342Associated research group: Minnesota Extensible Language ToolsForwarding 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.Forwarding in Attribute Grammars for Modular Language DesignReport