Program |
 |
|
|
Find in Program |
 |
|
|
Page |
 |
|
|
Basket |
 |
|
view, help
"Concrete Syntax for Objects: Domain-Specific Language Embedding and Assimilation without Restrictions"
|
|
|
|
Concrete Syntax for Objects: Domain-Specific Language Embedding and Assimilation without Restrictions
Ballroom A-B Thursday, 11:00, 30 minutes 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Martin Bravenboer, Universiteit Utrecht Eelco Visser, Universiteit Utrecht
Application programmer's interfaces give access to domain knowledge
encapsulated in class libraries without providing the appropriate
notation for expressing domain composition. Since object-oriented
languages are designed for extensibility and reuse, the language
constructs are often sufficient for expressing domain abstractions at
the semantic level. However, they do not provide the right
abstractions at the syntactic level. In this paper we describe
MetaBorg, a method for providing concrete syntax for domain
abstractions to application programmers. The method consists of
embedding domain-specific languages in a general purpose host
language and assimilating the embedded domain code into the
surrounding host code. Instead of extending the implementation of the
host language, the assimilation phase implements domain abstractions
in terms of existing APIs leaving the host language
undisturbed. Indeed, MetaBorg can be considered a method for promoting
APIs to the language level. The method is supported by proven and
available technology, i.e., the syntax definition formalism SDF and
the program transformation language and toolset Stratego/XT. We
illustrate the method with applications in three domains: code
generation, XML generation, and user-interface construction.
|