University of Minnesota
Software Engineering Center

You are here

Silver: an Extensible Attribute Grammar System

Date of Publication: 
January 2010
Associated Research Groups: 
Publication Files: 
Attribute 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.
Science 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.
@article{vanwyk10scp, author = "Van Wyk, Eric and Bodin, Derek and Gao, Jimin and Krishnan, Lijesh", title = "Silver: an Extensible Attribute Grammar System", journal = "Science of Computer Programming", publisher = "Elsevier Science", year = 2010, month = "January", volume = 75, number = "1--2", pages = "39--54" }