Abstract
It is common practice to bootstrap compilers of programming languages. By using the compiled language to implement the compiler, compiler developers can code in their own high-level language and gain a large-scale test case. In this paper, we investigate bootstrapping of compiler-compilers as they occur in language workbenches. Language workbenches support the development of compilers through the application of multiple collaborating domain-specific meta-languages for defining a language’s syntax, analysis, code generation, and editor support. We analyze the bootstrapping problem of language workbenches in detail, propose a method for sound bootstrapping based on fixpoint compilation, and show how to conduct breaking meta-language changes in a bootstrapped language workbench. We have applied sound bootstrapping to the Spoofax language workbench and report on our experience.
Original language | English |
---|---|
Title of host publication | Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming |
Subtitle of host publication | Concepts and Experiences |
Editors | I. Schaefer, B. Fischer |
Place of Publication | New York, NY |
Publisher | Association for Computing Machinery (ACM) |
Pages | 47-58 |
Number of pages | 12 |
ISBN (Print) | 978-145034446-3 |
DOIs | |
Publication status | Published - 2016 |
Event | 15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experience - Mövenpick Hotel Amsterdam City Centre, Amsterdam, Netherlands Duration: 31 Oct 2016 → 1 Nov 2016 Conference number: 15 http://conf.researchr.org/home/gpce-2016 |
Conference
Conference | 15th ACM SIGPLAN International Conference on Generative Programming |
---|---|
Abbreviated title | GPCE 2016 |
Country/Territory | Netherlands |
City | Amsterdam |
Period | 31/10/16 → 1/11/16 |
Internet address |
Keywords
- Bootstrapping
- Domain-specific
- Language workbench
- Meta-language