Attribute grammar paradigms—a high-level methodology in language implementation
- 1 June 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 27 (2) , 196-255
- https://doi.org/10.1145/210376.197409
Abstract
Attribute grammars are a formalism for specifying programming languages. They have been applied to a great number of systems automatically producing language implementations from their specifications. The systems and their specification languages can be evaluated and classified according to their level of application support, linguistic characteristics, and degree of automation. A survey of attribute grammar-based specification languages is given. The modern advanced specification languages extend the core attribute grammar model with concepts and primitives from established programming paradigms. The main ideas behind the developed attribute grammar paradigms are discussed, and representative specification languages are presented with a common example grammar. The presentation is founded on mapping elements of attribute grammars to their counterparts in programming languages. This methodology of integrating two problem-solving disciplines together is explored with a classification of the paradigms into structured, modular, object-oriented, logic, and functional attribute grammars. The taxonomy is complemented by introducing approaches based on an implicit parallel or incremental attribute evaluation paradigm.Keywords
This publication has 61 references indexed in Scilit:
- Attribute Grammars, Applications and SystemsPublished by Springer Nature ,1991
- The Pan language-based editing system for integrated developmentACM SIGSOFT Software Engineering Notes, 1990
- Defining, analysing and implementing communication protocols using attribute grammarsFormal Aspects of Computing, 1990
- Programming pearlsCommunications of the ACM, 1986
- Compiling circular attribute grammars into PrologIBM Journal of Research and Development, 1986
- Attribute grammars and recursive program schemes IITheoretical Computer Science, 1982
- An order-algebraic definition of knuthian semanticsTheory of Computing Systems, 1979
- The method of attributes for data flow analysisActa Informatica, 1978
- Semantic evaluation from left to rightCommunications of the ACM, 1976
- On certain formal properties of grammarsInformation and Control, 1959