Title
Language extension and composition with language workbenches
Abstract
Domain-specific languages (DSLs) provide high expressive power focused on a particular problem domain. They provide linguistic abstractions and specialized syntax specifically designed for a domain, allowing developers to avoid boilerplate code and low-level implementation details. Language workbenches are tools that integrate all aspects of the definition of domain-specific or general-purpose software languages and the creation of a programming environment from such a definition. To count as a language workbench, a tool needs to satisfy basic requirements for the integrated definition of syntax, semantics, and editor services, and preferably also support language extension and composition. Within these requirements there is ample room for variation in the design of a language workbench. In this tutorial, we give an introduction to the state of the art in textual DSLs and language workbenches. We discuss the main requirements and variation points in the design of language workbenches, and describe two points in the design space using two state-of-the-art language workbenches. Spoofax is an example of a parser-based language workbench, while MPS represents language workbenches based on projectional editors.
Year
DOI
Venue
2010
10.1145/1869542.1869623
SPLASH/OOPSLA Companion
Keywords
DocType
Citations 
specialized syntax,particular problem domain,integrated definition,parser-based language workbench,language extension,design space,language workbench,state-of-the-art language workbench,domain-specific language,general-purpose software language,mps,domain specific language,satisfiability,expressive power,eclipse,parsing
Conference
17
PageRank 
References 
Authors
1.01
4
2
Name
Order
Citations
PageRank
Markus Völter138636.01
Eelco Visser21683123.27