• Cite Icon209
  • https://doi.org/10.1145/1028976.1029007Copy DOI Icon

Concrete syntax for objects

  • Oct 1, 2004
  • Martin Bravenboer +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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 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.

Similar Papers
  • Research Article
  • Citations1

Reactive Programming without Functions

  • Feb 15, 2024
  • The Art, Science, and Engineering of Programming
  • Bjarno Oeyen +2
  • Conference Article
  • Citations7

The heart of object-oriented concurrent programming

  • Jan 01, 1988
  • J Lim +1
  • Research Article

Owning Data: Semantic Control as Inaccess to Information

  • Mar 20, 2026
  • FIU Law Review
  • Zvikomborero Chadambuka
  • Conference Article

Some misconceptions frequently detected in students of compiler construction courses

  • Nov 01, 2019
  • Jose Luis Sierra
  • Conference Article

Data-centric metaprogramming in object-oriented languages

  • Jul 04, 2015
  • Vlad Ureche
  • Research Article
  • Citations20

Rosette: An object-oriented concurrent systems architecture

  • Sep 26, 1988
  • ACM SIGPLAN Notices
  • C Tomlinson +5
  • Book Chapter
  • Citations6

A Shallow Embedded Type Safe Extendable DSL for the Arduino

  • Jan 01, 2016
  • Pieter Koopman +1
  • Book Chapter
  • Citations44

Embedding Languages without Breaking Tools

  • Jan 01, 2010
  • Lukas Renggli +2
  • Book Chapter

Object-Oriented Programming in Computer Science

  • Jan 01, 2019
  • Rahime Yılmaz +3
  • Conference Article
  • Citations1

On the design of a functional programming framework

  • Oct 14, 1996
  • Z Budimac +2
  • Book Chapter
  • Citations1

Inheritance in Programming Languages

  • Jan 01, 2009
  • Krishnaprasad Thirunarayan
  • Book Chapter
  • Citations10

Applying Instance Visualisation and Conceptual Schema Mapping for Geodata Harmonisation

  • Jan 01, 2009
  • Thorsten Reitz +1
  • Book Chapter
  • Citations28

From Generalization of Syntactic Parse Trees to Conceptual Graphs

  • Jan 01, 2010
  • Boris A Galitsky +3
  • Book Chapter

BinderAnn: Automated Reification of Source Annotations for Monadic EDSLs

  • Jan 01, 2020
  • Agustín Mista +1
  • Conference Article

Traceability and evidence of correctness of EDSL abstractions

  • Jan 21, 2013
  • Martin Sulzmann +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.