Modular Tree Transducers

Abstract A new tree transducer, called a modular tree transducer, is introduced. This device specifies operations on trees and can be considered as a formalization of the concept of nested simultaneous primitive recursion on trees. Roughly speaking, a modular tree transducer is a special left-linear and non-overlapping term rewriting system of which the set of rules is partitioned into modules, each module being equipped with a non-negative integer: the number of the module. Then, a module with number i may call modules with numbers not less than i . Three properties are proved: (1) modular tree transducers compute exactly the (inductively defined) class of primitive recursive functions on trees; (2) the number of modules in modular tree transducers induces a strict hierarchy on the class of all modular tree transductions; and (3) by appropriately restricting the calling structure between modules, modular tree transducers characterize the compositions of macro tree transducers where the number of modules and the number of compositions coincide.

[1]  Alfred V. Aho,et al.  Translations on a Context-Free Grammar , 1971, Inf. Control..

[2]  Joost Engelfriet,et al.  Macro Tree Transducers , 1985, J. Comput. Syst. Sci..

[3]  J. Engelfriet,et al.  IO and OI , 1975 .

[4]  Joost Engelfriet,et al.  IO and OI. I , 1977, J. Comput. Syst. Sci..

[5]  K. Indermark Functional compiler description , 1988 .

[6]  James W. Thatcher,et al.  Generalized Sequential Machine Maps , 1970, J. Comput. Syst. Sci..

[7]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[8]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[9]  Annegret Habel,et al.  May we introduce to you: hyperedge replacement , 1986, Graph-Grammars and Their Application to Computer Science.

[10]  Annegret Habel,et al.  Some Structural Aspects of Hypergraph Languages Generated by Hyperedge Replacement , 1987, STACS.

[11]  H. E. Rose Subrecursion: Functions and Hierarchies , 1984 .

[12]  Jan Willem Klop,et al.  Term rewriting systems: a tutorial , 1987 .

[13]  Bruno Courcelle,et al.  Attribute Grammars and Recursive Program Schemes II , 1982, Theor. Comput. Sci..

[14]  Edgar T. Irons A syntax directed compiler for ALGOL 60 , 1983, CACM.

[15]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[16]  Herbert Klaeren,et al.  A Contructive Method for Abstract Algebraic Software Specification , 1984, Theor. Comput. Sci..

[17]  Dennis M. Ritchie,et al.  The complexity of loop programs , 1967, ACM National Conference.