Abstract
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.
Original language | English (US) |
---|---|
Pages (from-to) | 39-54 |
Number of pages | 16 |
Journal | Science of Computer Programming |
Volume | 75 |
Issue number | 1-2 |
DOIs | |
State | Published - Jan 1 2010 |
Bibliographical note
Funding Information:This work is partially funded by the McKnight Foundation and the National Science Foundation via NSF CAREER Award #0347860 and NSF CCF Award #0429640.
Keywords
- Attribute grammars
- Extensible compilers
- Extensible languages
- Forwarding
- Silver attribute grammar system