Building program optimizers with rewriting strategies
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Software—Practice & Experience
Visitor combination and traversal control
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design Patterns: Abstraction and Reuse of Object-Oriented Design
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
A pattern matching compiler for multiple target languages
CC'03 Proceedings of the 12th international conference on Compiler construction
Tom: piggybacking rewriting on java
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
A characterization of alternating log time by first order functional programs
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
A Haskell Hosted DSL for Writing Transformation Systems
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Program and aspect metrics for MATLAB
ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IV
Bridging the chasm between MDE and the world of compilation
Software and Systems Modeling (SoSyM)
Model transformations with Tom
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Programming errors in traversal programs over structured data
Science of Computer Programming
Hi-index | 0.00 |
In any language designed to express transformations, the notion of rewrite rule is a key feature. Its conciseness as well as its strong theoretical foundations are essential. The notion of strategy is complementary: this describes how rules are applied. In this paper, we show how a high-level strategy language can be implemented in a Java setting. We present the integration of the visitor combinator design pattern into Tom. This corresponds to an interpreter for strategy expressions. To be more efficient, we present a compilation method based on bytecode specialization. This low-level transformation is expressed in Tom itself, using rules and strategies.