A Chrestomathy of DSL Implementations

Status
Published in the proceedings of SLE 2017

Authors
Simon Schauss, Ralf Lämmel, Johannes Härtel, Marcel Heinz, Kevin Klein, Lukas Härtel, Thorsten Berger

Abstract
Selecting and properly using approaches for DSL implementation can be challenging, given their variety and complexity. To support developers, we present the software chrestomathy MetaLib, a well-organized and well-documented collection of DSL implementations useful for learning. We focus on basic metaprogramming techniques for implementing DSL syntax and semantics. The DSL implementations are organized and enhanced by feature modeling, semantic annotation, and model-based documentation. The chrestomathy enables side-by-side exploration of different implementation approaches for DSLs. Source code, feature model, feature configurations, semantic annotations, and documentation are publicly available online, explorable through a web application, and maintained by a collaborative process.

Keywords
DSL implementation. Metaprogramming. Software chrestomathy. Learning. MetaLib. Feature modeling. Model-based documentation.

Downloads and links

Bibtex entry
@article{metalib,
  author    = {Simon Schauss, Ralf L\"ammel, Johannes H\"artel, Marcel Heinz, Kevin
  Klein, Lukas H\"artel, Thorsten Berger},
  title     = "{A Chrestomathy of DSL Implementations}",
  booktitle = "{Proc.\ SLE 2017}",
  publisher = "ACM",
  year      = {2017},
  note      = "12 pages"
}