Customizing the visualization and interaction for embedded domain-specific languages in a structured editor

Abstract

Large software projects are often based on libraries that provide abstractions for a particular domain such as writing database queries, staging, or constraint solving. The API provided by such a library can be considered a domain-specific language within the implementation language of the library, a so-called internal or embedded domain-specific language (eDSL). Embedding a DSL leverages the tool infrastructure of the host language, but also restricts the syntax and IDE support to that of the host language. This restriction prevents programmers from using convenient specialized notations and, thus, has a negative effect on their productivity. To address this problem, we outline concepts for a structured code editor that enable developers of eDSLs to customize how eDSL code is rendered and what interactions are available. We demonstrate the benefits of our approach by customizing a structured editor for the .NET Code Contracts API. Our prototype shows in particular that we can customize many aspects of visualization and interaction with little effort.

DOI: 10.1109/VLHCC.2013.6645255

Extracted Key Phrases

4 Figures and Tables

Cite this paper

@article{Asenov2013CustomizingTV, title={Customizing the visualization and interaction for embedded domain-specific languages in a structured editor}, author={Dimitar Asenov and Peter M{\"{u}ller}, journal={2013 IEEE Symposium on Visual Languages and Human Centric Computing}, year={2013}, pages={127-130} }