Forwarding in Attribute Grammars for Modular Language Design

  • Authors:
  • Eric Van Wyk;Oege de Moor;Kevin Backhouse;Paul Kwiatkowski

  • Affiliations:
  • -;-;-;-

  • Venue:
  • CC '02 Proceedings of the 11th International Conference on Compiler Construction
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.