The EDSL's Struggle for Their Sources

Embedded Domain Specific Languages make language design and implementation easier, because lexical and syntactical analysis and part of the semantic checks can be completed by the compiler of the host language. On the other hand, by the nature of embedding, EDSL compilers have to work with a syntax...

Full description

Saved in:
Bibliographic Details
Published inCentral European Functional Programming School Vol. 8606; pp. 300 - 335
Main Authors Dévai, Gergely, Leskó, Dániel, Tejfel, Máté
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 01.01.2015
Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Embedded Domain Specific Languages make language design and implementation easier, because lexical and syntactical analysis and part of the semantic checks can be completed by the compiler of the host language. On the other hand, by the nature of embedding, EDSL compilers have to work with a syntax tree that stores no information about the source file processed and the location of the program entities within the source file. This makes it hard to produce user-friendly error messages and connect the generated target code with the source code for debugging and profiling purposes. This lecture note presents this problem in detail and shows possible solutions. The first, lightweight solution uses macro preprocessing. The second one is based on syntax tree transformations to add missing source-related information. This is more powerful, but also more heavyweight. The last technique avoids the problem by turning the embedded language implementation to a standalone one (with own parser) after the experimental phase of the language development process: It turns out that most of the embedded implementation can be reused in the standalone one.
Bibliography:Supported by EITKIC 12-1-2012-0001.
ISBN:3319159399
9783319159393
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-319-15940-9_7