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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom