Deriving Fluent Internal Domain-Specific Languages from Grammars
A prime decision of engineering domain-specific languages (DSLs) is whether to implement these shaped as external DSLs or internal DSLs. Agile language engineering benefits from easily switching between shapes to provide rapidly developed prototypes to the customer before settling on a specific syntax, but this switching rarely is feasible due to the effort of re-implementing language tooling for both shapes. Current research in software language engineering focuses either on internal DSLs or external DSLs, whereas deriving internal DSLs and external DSLs from a common syntax description can support agile language engineering. Therefore, we conceived a method to automatically derive an easily customizable, internal DSL from a grammar. The internal DSL operates on the same abstract syntax representation as the external DSL, as both are derived from the same grammar. This supports reusing tooling (such as model checkers or code generators) between both shapes. We realized our concept with the MontiCore language workbench and Groovy as host language for internal DSLs. This concept is applicable to a wide range of grammar-based language definition formalisms and can facilitate agile language engineering.
Tue 6 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
15:30 - 17:30 | Grammars & Metamodelling / WorkbenchesSLE 2018 at Studio 1 Chair(s): Juan de Lara Universidad Autónoma de Madrid | ||
15:30 30mTalk | Deriving Fluent Internal Domain-Specific Languages from Grammars SLE 2018 Arvid Butting Software Engineering RWTH Aachen University, Manuela Dalibor Software Engineering, RWTH Aachen University, Gerrit Leonhardt Software Engineering, RWTH Aachen University, Bernhard Rumpe RWTH Aachen University, Andreas Wortmann RWTH Aachen University | ||
16:00 20mTalk | Fostering Metamodels and Grammars Within a Dedicated Environment for HPC: The NabLab Environment (Tool Demo)Tool Demo SLE 2018 Benoît Lelandais CEA/DAM/DIF, France, Marie-Pierre Oudot CEA/DAM/DIF, France, Benoit Combemale University of Rennes 1 | ||
16:20 20mTalk | Migrating Custom DSL Implementations to a Language Workbench (Tool Demo) Tool Demo SLE 2018 Jasper Denkers TU Delft, Louis van Gool Océ Technologies B.V., Eelco Visser Delft University of Technology Link to publication DOI | ||
16:40 20mTalk | Bacatá: A Language Parametric Notebook Generator (Tool Demo)Tool Demo SLE 2018 Mauricio Verano Merino Technische Universiteit Eindhoven, Jurgen Vinju Centrum Wiskunde & Informatica / Technische Universiteit Eindhoven / SWAT.engineering BV, Tijs van der Storm CWI & University of Groningen | ||
17:00 20mTalk | Shape-Diverse DSLs: Languages without Borders (Vision Paper)Vision / New Idea SLE 2018 Fabien Coulon University of Toulouse / Obeo, Thomas Degueule Centrum Wiskunde & Informatica, Tijs van der Storm CWI & University of Groningen, Benoit Combemale University of Rennes 1 Pre-print |