2003
Term rewriting with traversal functions
Publication
Publication
ACM Transactions on Software Engineering and Methodology , Volume 12 - Issue 2
Term rewriting is an appealing technique for performing program analysis and program transformation. Tree (term) traversal is frequently used but is not supported by standard term rewriting. We extend many-sorted, first-order term rewriting with traversal functions that automate tree traversal in a simple and type-safe way. Traversal functions can be bottom-up or top-down traversals and can either traverse all nodes in a tree or can stop the traversal at a certain depth as soon as a matching node is found. They can either define sort-preserving transformations or mappings to a fixed sort. We give small and somewhat larger examples of traversal functions and describe their operational semantics and implementation. An assessment of various applications and a discussion conclude the article.
Additional Metadata | |
---|---|
A.C.M. | |
ACM Transactions on Software Engineering and Methodology | |
Organisation | Software Analysis and Transformation |
Vinju, J., van den Brand, M., & Klint, P. (2003). Term rewriting with traversal functions. ACM Transactions on Software Engineering and Methodology, 12(2). |