Term rewriting meets aspect-oriented programming
Autor: | Klint, P., Storm, van der, T., Vinju, J.J., Middeldorp, A., Oostrom, van, V., Raamsdonk, van, F., Vrijer, de, R.C. |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2005 |
Předmět: |
Computer science
Programming language Aspect-oriented programming Proof assistant Program transformation Specification language Term (logic) computer.software_genre Automated theorem proving Concrete syntax TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES Proof theory Programming language specification Rewriting Software_PROGRAMMINGLANGUAGES computer Debugger |
Zdroj: | Processes, Terms and Cycles: Steps on the Road to Infinity (Essays Dedicated to Jan Willem Klop on the Occasion of His 60th Birthday), 88-105 STARTPAGE=88;ENDPAGE=105;TITLE=Processes, Terms and Cycles: Steps on the Road to Infinity (Essays Dedicated to Jan Willem Klop on the Occasion of His 60th Birthday) Processes, Terms and Cycles: Steps on the Road to Infinity ISBN: 9783540309116 Processes, Terms and Cycles |
ISSN: | 0302-9743 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |