• DocumentCode
    1892963
  • Title

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

  • Author

    Asenov, Dimitar ; Muller, Philipp

  • fYear
    2013
  • fDate
    15-19 Sept. 2013
  • Firstpage
    127
  • Lastpage
    130
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Visual Languages and Human-Centric Computing (VL/HCC), 2013 IEEE Symposium on
  • Conference_Location
    San Jose, CA
  • ISSN
    1943-6092
  • Type

    conf

  • DOI
    10.1109/VLHCC.2013.6645255
  • Filename
    6645255