A survey of metaprogramming languages

Y Lilis, A Savidis - ACM Computing Surveys (CSUR), 2019 - dl.acm.org
Metaprogramming is the process of writing computer programs that treat programs as data,
enabling them to analyze or transform existing programs or generate new ones. While the …

The jastadd extensible java compiler

T Ekman, G Hedin - Proceedings of the 22nd annual ACM SIGPLAN …, 2007 - dl.acm.org
The JastAdd Extensible Java Compiler is a high quality Java compiler that is easy to extend
in order to build static analysis tools for Java, and to extend Java with new language …

Languages as libraries

S Tobin-Hochstadt, V St-Amour, R Culpepper… - Proceedings of the …, 2011 - dl.acm.org
Programming language design benefits from constructs for extending the syntax and
semantics of a host language. While C's string-based macros empower programmers to …

SugarJ: Library-based syntactic language extensibility

S Erdweg, T Rendel, C Kästner… - Proceedings of the 2011 …, 2011 - dl.acm.org
Existing approaches to extend a programming language with syntactic sugar often leave a
bitter taste, because they cannot be used with the same ease as the main extension …

Language and IDE Modularization and Composition with MPS

M Voelter - International Summer School on Generative and …, 2011 - Springer
Modularization and composition of languages and their IDEs is an important building block
for working efficiently with domain-specific languages. Traditionally this has been a …

Language composition untangled

S Erdweg, PG Giarrusso, T Rendel - Proceedings of the Twelfth …, 2012 - dl.acm.org
In language-oriented programming and modeling, software developers are largely
concerned with the definition of domain-specific languages (DSLs) and their composition …

Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions

M Bravenboer, E Visser - Proceedings of the 19th annual ACM SIGPLAN …, 2004 - dl.acm.org
Application programmer's interfaces give access to domain knowledge encapsulated in
class libraries without providing the appropriate notation for expressing domain composition …

Domain specific language implementation via compile-time meta-programming

L Tratt - ACM Transactions on Programming Languages and …, 2008 - dl.acm.org
Domain specific languages (DSLs) are mini-languages that are increasingly seen as being
a valuable tool for software developers and non-developers alike. DSLs must currently be …

Lightweight multi-language syntax transformation with parser parser combinators

R Van Tonder, C Le Goues - Proceedings of the 40th ACM SIGPLAN …, 2019 - dl.acm.org
Automatically transforming programs is hard, yet critical for automated program refactoring,
rewriting, and repair. Multi-language syntax transformation is especially hard due to …

An object-oriented approach to language compositions for software language engineering

M Mernik - Journal of Systems and Software, 2013 - Elsevier
In this paper, it is shown that inheritance, a core concept from object-oriented programming,
is a possible solution for realizing composition of computer languages. Language …