TU Darmstadt / ULB / TUbiblio

Incremental concrete syntax for embedded languages with support for separate compilation

Dinkelaker, Tom ; Eichberg, Michael ; Mezini, Mira (2012)
Incremental concrete syntax for embedded languages with support for separate compilation.
In: Science of Computer Programming
Buchkapitel, Bibliographie

Kurzbeschreibung (Abstract)

Embedded domain-specific languages (EDSLs) are known to improve the productivity of developers. However, for many domains no DSL implementation is available and two important reasons for this are: First, the effort to implement EDSLs that provide the domain’s established syntax (called concrete syntax) is very high. Second, the EDSL and its underlying general-purpose programming language (GPL) are typically tightly integrated. This hampers reusability across different GPLs. Besides these implementation issues, the productivity gains of using EDSLs are also limited by the lack of explicit tool support for EDSL users—such as syntax highlighting or code analyses.

In this paper, we present an approach that significantly reduces the necessary effort to implement embedded DSLs with concrete syntax. The idea is to use island grammars to specify the EDSL’s concrete syntax. This enables the developer to implement the embedded DSL as a library and to incrementally specify the concrete syntax using meta-data. Only those parts of the EDSL’s grammar need to be specified that deviate from the grammar of the GPL. By analyzing an EDSL’s implementation using reflection, it is possible to provide tool support for EDSLs without having the developer implement it explicitly, such as syntax highlighting. An evaluation demonstrates the feasibility of our approach by embedding a real-world DSL into a GPL.

Typ des Eintrags: Buchkapitel
Erschienen: 2012
Autor(en): Dinkelaker, Tom ; Eichberg, Michael ; Mezini, Mira
Art des Eintrags: Bibliographie
Titel: Incremental concrete syntax for embedded languages with support for separate compilation
Sprache: Englisch
Publikationsjahr: Dezember 2012
Verlag: Elsevier
Titel der Zeitschrift, Zeitung oder Schriftenreihe: Science of Computer Programming
(Heft-)Nummer: 0
Buchtitel: Science of Computer Programming
URL / URN: http://www.sciencedirect.com/science/article/pii/S0167642312...
Kurzbeschreibung (Abstract):

Embedded domain-specific languages (EDSLs) are known to improve the productivity of developers. However, for many domains no DSL implementation is available and two important reasons for this are: First, the effort to implement EDSLs that provide the domain’s established syntax (called concrete syntax) is very high. Second, the EDSL and its underlying general-purpose programming language (GPL) are typically tightly integrated. This hampers reusability across different GPLs. Besides these implementation issues, the productivity gains of using EDSLs are also limited by the lack of explicit tool support for EDSL users—such as syntax highlighting or code analyses.

In this paper, we present an approach that significantly reduces the necessary effort to implement embedded DSLs with concrete syntax. The idea is to use island grammars to specify the EDSL’s concrete syntax. This enables the developer to implement the embedded DSL as a library and to incrementally specify the concrete syntax using meta-data. Only those parts of the EDSL’s grammar need to be specified that deviate from the grammar of the GPL. By analyzing an EDSL’s implementation using reflection, it is possible to provide tool support for EDSLs without having the developer implement it explicitly, such as syntax highlighting. An evaluation demonstrates the feasibility of our approach by embedding a real-world DSL into a GPL.

Freie Schlagworte: Generic pre-processor
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
Hinterlegungsdatum: 28 Feb 2013 10:18
Letzte Änderung: 05 Mär 2013 10:06
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen