Bootstrapping Domain-Specific Meta-Languages in Language Workbenches
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 develop recipes for conducting breaking meta-language changes in a bootstrapped language workbench. We have applied sound bootstrapping to the Spoofax language workbench and report on our experience.
Mon 31 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:10 | Generative Programming IIGPCE at Zürich 1 Chair(s): Ulrik Pagh Schultz University of Southern Denmark | ||
13:30 30mTalk | Actor Profiling in Virtual Execution Environments GPCE Andrea Rosà Università della Svizzera italiana, Lydia Y. Chen IBM Research Lab Zurich, Walter Binder University of Lugano | ||
14:00 30mTalk | Bootstrapping Domain-Specific Meta-Languages in Language Workbenches GPCE Gabriël Konat Delft University of Technology, Sebastian Erdweg Delft University of Technology, Netherlands, Eelco Visser Delft University of Technology, Netherlands Link to publication DOI Pre-print Media Attached | ||
14:30 30mTalk | Dependence-Driven Delimited CPS Transformation for JavaScript GPCE Laure Philips Software Languages Lab, Joeri De Koster Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel, Belgium, Coen De Roover Vrije Universiteit Brussel, Belgium File Attached |