Language boxes: bending the host language with modular language changes

  • Authors:
  • Lukas Renggli;Marcus Denker;Oscar Nierstrasz

  • Affiliations:
  • Software Composition Group, University of Bern, Switzerland;PLEIAD, University of Chile, Santiago, Chile;Software Composition Group, University of Bern, Switzerland

  • Venue:
  • SLE'09 Proceedings of the Second international conference on Software Language Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

As domain-specific modeling begins to attract widespread acceptance, pressure is increasing for the development of new domain-specific languages. Unfortunately these DSLs typically conflict with the grammar of the host language, making it difficult to compose hybrid code except at the level of strings; few mechanisms (if any) exist to control the scope of usage of multiple DSLs; and, most seriously, existing host language tools are typically unaware of the DSL extensions, thus hampering the development process. Language boxes address these issues by offering a simple, modular mechanism to encapsulate (i) compositional changes to the host language, (ii) transformations to address various concerns such as compilation and syntax highlighting, and (iii) scoping rules to control visibility of fine-grained language extensions. We describe the design and implementation of language boxes, and show with the help of several examples how modular extensions can be introduced to a host language and environment.