Affiliation:
1. Universiteit Utrecht, Utrecht, The Netherlands
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 paper we describe MetaBorg, a method for providing <i>concrete syntax</i> for domain abstractions to application programmers. The method consists of <i>embedding</i> domain-specific languages in a general purpose host language and <i>assimilating</i> 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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference48 articles.
1. The Java syntactic extender (JSE)
2. F. Bouma. LLBLGen Pro the n-tier generator and O/R mapper for .NET. http://www.llblgen.com.]] F. Bouma. LLBLGen Pro the n-tier generator and O/R mapper for .NET. http://www.llblgen.com.]]
3. R. Bourret. XML data binding resources. http://www.rpbourret.com/xml/XMLDataBinding.htm.]] R. Bourret. XML data binding resources. http://www.rpbourret.com/xml/XMLDataBinding.htm.]]
Cited by
65 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Pragmatic evidence of cross-language link detection: A systematic literature review;Journal of Systems and Software;2023-12
2. Gradually typing strategies;Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering;2020-11-15
3. Multi-purpose Syntax Definition with SDF3;Software Engineering and Formal Methods;2020
4. Type qualifiers as composable language extensions for code analysis and generation;Journal of Computer Languages;2019-02
5. Automatic production of end user documentation for DSLs;Computer Languages, Systems & Structures;2018-12