Compiling language definitions: the ASF+SDF compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Forwarding in Attribute Grammars for Modular Language Design
CC '02 Proceedings of the 11th International Conference on Compiler Construction
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Stratego/XT 0.17. A language and toolset for program transformation
Science of Computer Programming
Code Generation by Model Transformation
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
WebDSL: A Case Study in Domain-Specific Language Engineering
Generative and Transformational Techniques in Software Engineering II
On the Use of Higher-Order Model Transformations
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Eating our own dog food: DSLs for generative and transformational engineering
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Hi-index | 0.00 |
Transformations play an important role in grammar-based applications such as program generation. In this domain, the use of the concrete syntax technology is particularly beneficial as it substantially simplifies the development and maintenance of the transformations. Further benefits could be achieved by the use of higher-order transformations to generate program transformations. However, both technologies cannot be combined easily because of the difficulties in merging the different object, meta, and meta-meta languages. Here we propose an approach to higher-order transformations with nested concrete syntax. We use Stratego as meta-meta language and allow the embedding of arbitrary object languages into arbitrary meta languages. We describe the implementation of the approach and give two examples for its application, the embedding of Stratego in itself to generate WebDSL program transformations, and the use of Stratego to generate Prolog-clauses with embedded object syntax.