Concrete Syntax For Objects
Stc
ComputingScienceColloquium
Date: Jun 03
Time: 11:00
Room: CGN C004
Title: Concrete Syntax For Objects --- Domain-Specific Language Embedding and Assimilation without Restrictions (slides in pdf)
Abstract
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 talk we will present
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.