Bootstrapping Domain-Specific Meta-Languages in Language Workbenches

Gabriël Konat, Sebastian Erdweg, Eelco Visser

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

205 Downloads (Pure)

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 languageEnglish
Title of host publicationProceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming
Subtitle of host publicationConcepts and Experiences
EditorsI. Schaefer, B. Fischer
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery (ACM)
Pages47-58
Number of pages12
ISBN (Print)978-145034446-3
DOIs
Publication statusPublished - 2016
Event15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experience - Mövenpick Hotel Amsterdam City Centre, Amsterdam, Netherlands
Duration: 31 Oct 20161 Nov 2016
Conference number: 15
http://conf.researchr.org/home/gpce-2016

Conference

Conference15th ACM SIGPLAN International Conference on Generative Programming
Abbreviated titleGPCE 2016
Country/TerritoryNetherlands
CityAmsterdam
Period31/10/161/11/16
Internet address

Keywords

  • Bootstrapping
  • Domain-specific
  • Language workbench
  • Meta-language

Fingerprint

Dive into the research topics of 'Bootstrapping Domain-Specific Meta-Languages in Language Workbenches'. Together they form a unique fingerprint.

Cite this