Compiling language definitions
Top Cited Papers
- 1 July 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 24 (4) , 334-368
- https://doi.org/10.1145/567097.567099
Abstract
The ASF+SDF Meta-Environment is an interactive language development environment whose main application areas are definition and implementation of domain-specific languages, generation of program analysis and transformation tools, and production of software renovation tools. It uses conditional rewrite rules to define the dynamic semantics and other tool-oriented aspects of languages, so the effectiveness of the generated tools is critically dependent on the quality of the rewrite rule implementation. The ASF+SDF rewrite rule compiler generates C code, thus taking advantage of C's portability and the sophisticated optimization capabilities of current C compilers as well as avoiding potential abstract machine interface bottlenecks. It can handle large (10,000+ rule) language definitions and uses an efficient run-time storage scheme capable of handling large (1,000,000+ node) terms. Term storage uses maximal subterm sharing (hash-consing), which turns out to be more effective in the case of ASF+SDF than in Lisp or SML. Extensive benchmarking has shown the time and space performance of the generated code to be as good as or better than that of the best current rewrite rule and functional language compilers.Keywords
All Related Versions
This publication has 21 references indexed in Scilit:
- A slicing-based approach for locating type errorsACM Transactions on Software Engineering and Methodology, 2001
- Generation of components for software renovation factories from context-free grammarsScience of Computer Programming, 2000
- Alma-OACM Transactions on Programming Languages and Systems, 1998
- The discrete time ToolBus — A software coordination architectureScience of Computer Programming, 1998
- Within ARM's reachACM Transactions on Programming Languages and Systems, 1998
- Space efficient conservative garbage collectionACM SIGPLAN Notices, 1993
- A meta-environment for generating programming environmentsACM Transactions on Software Engineering and Methodology, 1993
- The syntax definition formalism SDF—reference manual—ACM SIGPLAN Notices, 1989
- Attribute grammars and recursive program schemes ITheoretical Computer Science, 1982
- Pattern Matching in TreesJournal of the ACM, 1982