Conditional rewrite rules: Confluence and termination
Journal of Computer and System Sciences
Term-rewriting systems with rule priorities
Theoretical Computer Science - Second Conference on Rewriting Techniques and Applications, Bordeaux, May 1987
A meta-environment for generating programming environments
ACM Transactions on Software Engineering and Methodology (TOSEM)
Journal of Symbolic Computation - Special issue on automatic programming
ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Descendants and origins in term rewriting
Information and Computation - Special issue on RTA-98
Semantics of programming languages: a tool-oriented approach
ACM SIGPLAN Notices
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
External Rewriting for Skeptical Proof Assistants
Journal of Automated Reasoning
Maude: specification and programming in rewriting logic
Theoretical Computer Science - Rewriting logic and its applications
Aspect Weaving with Graph Rewriting
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Fowards a Generic Framework for AOP
ECOOP '98 Workshop ion on Object-Oriented Technology
The ASF+SDF Meta-environment: A Component-Based Language Development Environment
CC '01 Proceedings of the 10th International Conference on Compiler Construction
AspectS - Aspect-Oriented Programming with Squeak
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Term rewriting with traversal functions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Journal of Functional Programming
A technique for constructing aspect weavers using a program transformation engine
Proceedings of the 3rd international conference on Aspect-oriented software development
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
What does aspect-oriented programming mean to Cobol?
Proceedings of the 4th international conference on Aspect-oriented software development
Weaving a debugging aspect into domain-specific language grammars
Proceedings of the 2005 ACM symposium on Applied computing
Confluence of aspects for sequence diagrams
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
We explore the connection between term rewriting systems (TRS) and aspect-oriented programming (AOP). Term rewriting is a paradigm that is used in fields such as program transformation and theorem proving. AOP is a method for decomposing software, complementary to the usual separation into programs, classes, functions, etc. An aspect represents code that is scattered across the components of an otherwise orderly decomposed system. Using AOP, such code can be modularized into aspects and then automatically weaved into a system. Aspect weavers are available for only a handful of languages. Term rewriting can offer a method for the rapid prototyping of weavers for more languages. We explore this claim by presenting a simple weaver implemented as a TRS. We also observe that TRS can benefit from AOP. For example, their flexibility can be enhanced by factoring out hardwired code for tracing and logging rewrite rules. We explore methods for enhancing TRS with aspects and present one application: automatically connecting an interactive debugger to a language specification.