Metacasanova: An Optimized Meta-compiler for Domain-Specific Languages
Domain-Specific Languages (DSL’s) offer language-level abstractions that General-purpose languages do not offer, thereby speeding up the implementation of the solution of problems within a specific domain. Developers have the choice of developing a DSL by building an interpreter/compiler for it, which is a hard and time-consuming task, or embedding it in a host language, thus speeding up the development process but losing several advantages that having a dedicated compiler might bring. In this work we present a meta-compiler called Metacasanova, whose meta-language is based on operational semantics. We then propose a language extension with functors and modules that allows to embed the type system of a language definition inside the meta-type system of Metacasanova and improves the performance of manipulating data structures at run-time. Our result shows that Metacasanova drastically reduces the code lines required to develop a compiler, and that the running time of the Meta-program is improved by embedding the host Language type system in the meta-type system with the use of functors in the meta-language.
Tue 24 Oct
15:30 - 17:00: SLE - GPL/DSL implementation at Regency B Chair(s): Eric Van WykUniversity of Minnesota, USA | ||||||||||||||||||||||||||||||||||||||||||
15:30 - 15:55 Talk | DOI File Attached | |||||||||||||||||||||||||||||||||||||||||
15:55 - 16:20 Talk | Francesco Di GiacomoUniversità Ca' Foscari, Mohamed AbbadiHogeschool Rotterdam, Agostino CortesiUniversità Ca' Foscari Venezia, Pieter SpronckTilburg University, Giuseppe MaggioreHogeschool Rotterdam DOI | |||||||||||||||||||||||||||||||||||||||||
16:20 - 16:45 Talk | DOI | |||||||||||||||||||||||||||||||||||||||||
16:45 - 17:10 Talk | Vadim ZaytsevRaincode Labs, Belgium | |||||||||||||||||||||||||||||||||||||||||
17:10 - 17:20 Talk | Rui PereiraHASLab/INESC TEC & Universidade do Minho, Marco CoutoHASLab/INESC TEC & Universidade do Minho, Francisco RibeiroHASLab/INESC TEC & Universidade do Minho, Rui RuaHASLab/INESC TEC & Universidade do Minho, Jácome CunhaNOVA-LINCS - Universidade Nova de Lisboa, João Paulo FernandesRelease/LISP, CISUC, João SaraivaUniversity of Minho, Portugal DOI Media Attached |