Van Wyk, EricBodin, DerekGao, JiminKrishnan, Lijesh2020-12-102020-12-102010Science of Computer Programming. Special issue for LDTA 2006 and 2007. This article is the same as the proofed version available on Elsevier's web site - only the formatting differs.https://hdl.handle.net/11299/217420Associated research group: Minnesota Extensible Language ToolsAttribute grammar specification languages, like many domain-specific languages, offer significant advantages to their users, such as high-level declarative constructs and domain-specific analyses. Despite these advantages, attribute grammars are often not adopted to the degree that their proponents envision. One practical obstacle to their adoption is a perceived lack of both domain-specific and general purpose language features needed to address the many different aspects of a problem. Here we describe Silver, an extensible attribute grammar specification system, and show how it can be extended with general purpose features such as pattern matching and domain-specific features such as collection attributes and constructs for supporting data-flow analysis of imperative programs. The result is an attribute grammar specification language with a rich set of language features. Silver is implemented in itself by a Silver attribute grammar and utilizes forwarding to implement the extensions in a cost-effective manner.Silver: an Extensible Attribute Grammar SystemReport