Computing the Cost of Typechecking of Composition of Macro Tree Transducers

Macro tree transducers are a classical formal model for structural-recursive tree transformation with accumulative parameters. They have recently been applied to model XML transformations and queries. Typechecking a tree transformation means checking whether all valid input trees are transformed into valid output trees, for the given regular tree languages of input and output trees. Typechecking macro tree transducers is generally based on inverse type inference, because of the advantageous property that inverse transformations effectively preserve regular tree languages. It is known that the time complexity of typechecking an n-fold composition of macro tree transducers is non-elementary. The cost of typechecking can be reduced if transducers in the composition have special properties, such as being deterministic or total, or having no accumulative parameters. In this paper, the impact of such properties on the cost of typechecking is investigated. Reductions in cost are achieved by applying composition and decomposition constructions to tree transducers. Even though these constructions are well-known, they have not yet been analyzed with respect to the precise sizes of the transducers involved. The results can directly be applied to typechecking XML transformations, because type formalisms for XML are captured by regular tree languages.

[1]  Zoltán Fülöp,et al.  Syntax-Directed Semantics: Formal Models Based on Tree Transducers , 2011 .

[2]  Helmut Seidl,et al.  Macro forest transducers , 2004, Inf. Process. Lett..

[3]  Dan Suciu,et al.  Typechecking for XML transformers , 2000, PODS '00.

[4]  Robert Giegerich,et al.  Attribute coupled grammars , 1984, SIGPLAN '84.

[5]  J. Engelfriet Top-down tree transducers with regular look-ahead , 1975 .

[6]  Akihiko Tozawa Towards static type checking for XSLT , 2001, DocEng '01.

[7]  Brenda S. Baker,et al.  Composition of Top-Down and Bottom-Up Tree Transductions , 1979, Inf. Control..

[8]  Dan Suciu The XML typechecking problem , 2002, SGMD.

[9]  Alain Frisch,et al.  Towards Practical Typechecking for Macro Tree Transducers , 2007, DBPL.

[10]  Helmut Seidl,et al.  XML type checking with macro tree transducers , 2005, PODS.

[11]  William C. Rounds,et al.  Mappings and grammars on trees , 1970, Mathematical systems theory.

[12]  Joost Engelfriet,et al.  Bottom-up and top-down tree transformations— a comparison , 1975, Mathematical systems theory.

[13]  Sebastian Maneth,et al.  XML Type Checking for Macro Tree Transducers with Holes , 2008, PLAN-X.

[14]  Michael J. Fischer,et al.  Grammars with Macro-Like Productions , 1968, SWAT.

[15]  Joost Engelfriet,et al.  A comparison of pebble tree transducers with macro tree transducers , 2003, Acta Informatica.

[16]  Armin Kühnemann Berechnungsstärken von Teilklassen primitiv-rekursiver Programmschemata , 1997 .

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

[18]  Robert Giegerich,et al.  Composition and evaluation of attribute coupled grammars , 1988, Acta Informatica.

[19]  Armin Kühnemann,et al.  Composition of functions with accumulating parameters , 2004, Journal of Functional Programming.

[20]  Joost Engelfriet,et al.  The time complexity of typechecking tree-walking tree transducers , 2009, Acta Informatica.

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