Designing Syntax Embeddings and Assimilations for Language Libraries

More Info
expand_more

Abstract

Preprint of paper published in: Models in Software Engineering, Lecture Notes in Computer Science 5002, 2008; doi:10.1007/978-3-540-69073-3_5 Language libraries extend regular libraries with domain-specific notation. More precisely, a language library is a combination of a domain-specific language embedded in the general-purpose host language, a regular library implementing the underlying functionality, and an assimilation transformation that maps embedded DSL fragments to host language code. While the basic architecture for realizing language libraries is the same for all applications, there are many design choices to be made in the design of a particular combination of library, guest language syntax, host language, and assimilation. In this paper, we give an overview of the design space for syntax embeddings and assimilations for the realization of language libraries.