z-logo
open-access-imgOpen Access
From DSL specification to interactive computer programming environment
Author(s) -
Pierre Jeanjean,
Benoît Combemale,
Olivier Barais
Publication year - 2019
Publication title -
hal (le centre pour la communication scientifique directe)
Language(s) - English
Resource type - Conference proceedings
ISBN - 978-1-4503-6981-7
DOI - 10.1145/3357766.3359540
Subject(s) - computer science , programming language , digital subscriber line , domain specific language , syntax , interpreter , semantics (computer science) , set (abstract data type) , model transformation , abstract syntax , metaprogramming , domain (mathematical analysis) , program transformation , complement (music) , abstract syntax tree , programming language specification , parsing , programming paradigm , artificial intelligence , programming domain , inductive programming , telecommunications , mathematical analysis , biochemistry , chemistry , consistency (knowledge bases) , mathematics , complementation , phenotype , gene
The adoption of Domain-Specific Languages (DSLs) relies on the capacity of language workbenches to automate the development of advanced and customized environments. While DSLs are usually well tailored for the main scenarios, the cost of developing mature tools prevents the ability to develop additional capabilities for alternative scenarios targeting specific tasks (e.g., API testing) or stakeholders (e.g., education). In this paper, we propose an approach to automatically generate interactive computer programming environments from existing specifications of textual interpreted DSLs. The approach provides abstractions to complement the DSL specification, and combines static analysis and language transformations to automate the transformation of the language syntax, the execution state and the execution semantics. We evaluate the approach over a representative set of DSLs, and demonstrate the ability to automatically transform a textual syntax to load partial programs limited to a single statement, and to derive a Read-Eval-Print-Loop (REPL) from the specification of a language interpreter.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom