Title :
Customizing the visualization and interaction for embedded domain-specific languages in a structured editor
Author :
Asenov, Dimitar ; Muller, Philipp
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.
Keywords :
application program interfaces; embedded systems; programming languages; visual programming; .NET code contracts API; IDE; convenient specialized notations; eDSL code; editor customization; embedded domain-specific languages; internal domain-specific language; large software projects; structured code editor; visual programming; Context; Contracts; DSL; Libraries; Prototypes; Syntactics; Visualization; editor customization; embedded domain-specific languages; human-computer interaction; programming environments; structured editors; visual programming;
Conference_Titel :
Visual Languages and Human-Centric Computing (VL/HCC), 2013 IEEE Symposium on
Conference_Location :
San Jose, CA
DOI :
10.1109/VLHCC.2013.6645255