Affiliation:
1. Centrum voor Wiskunde en Informatica, Amsterdam, The Netherlands
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Reference41 articles.
1. Bergstra J. A. Heering J. and Klint P. Eds. 1989. Algebraic specification. ACM Press/Addison-Wesley.]] Bergstra J. A. Heering J. and Klint P. Eds. 1989. Algebraic specification. ACM Press/Addison-Wesley.]]
2. TXL: A rapid prototyping system for programming language dialects
Cited by
35 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. One-Pass Reductions;Acta Cybernetica;2016
2. Scrap your boilerplate with object algebras;ACM SIGPLAN Notices;2015-12-18
3. Modular language implementation in Rascal – experience report;Science of Computer Programming;2015-12
4. Scrap your boilerplate with object algebras;Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications;2015-10-23
5. Modular specification and dynamic enforcement of syntactic language constraints when generating code;Proceedings of the 13th international conference on Modularity;2014-04-22