Bootstrapping Domain-Specific Meta-Languages in Language Workbenches

Conference Paper (2016)
Author(s)

G.D.P. Konat (TU Delft - Programming Languages)

S.T. Erdweg (TU Delft - Programming Languages)

Eelco Visser (TU Delft - Programming Languages)

Research Group
Programming Languages
Copyright
© 2016 G.D.P. Konat, S.T. Erdweg, Eelco Visser
DOI related publication
https://doi.org/10.1145/2993236.2993242
More Info
expand_more
Publication Year
2016
Language
English
Copyright
© 2016 G.D.P. Konat, S.T. Erdweg, Eelco Visser
Research Group
Programming Languages
Pages (from-to)
47-58
ISBN (print)
978-145034446-3
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

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.