Compiling Language Definitions: The ASF+SDF Compiler
M. G. J. van den Brand, J. Heering, P. Klint, P. A. Olivier

TL;DR
The paper presents a compiler for ASF+SDF language definitions that generates efficient C code, enabling scalable and high-performance language tools and transformations.
Contribution
It introduces a C code generator for ASF+SDF rewrite rules, supporting large language definitions and optimized term storage, outperforming existing systems.
Findings
Efficient handling of large language definitions (10,000+ rules).
High-performance code comparable or superior to existing compilers.
Effective use of maximal subterm sharing (hash-consing) in ASF+SDF.
Abstract
The ASF+SDF Meta-Environment is an interactive language development environment whose main application areas are definition of domain-specific languages, generation of program analysis and transformation tools, production of software renovation tools, and general specification and prototyping. 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Logic, programming, and type systems · Embedded Systems Design Techniques
