Results 1  10
of
26
Macro Tree Transducers, Attribute Grammars, and MSO Definable Tree Translations
 Inform. and Comput
, 1998
"... A characterization is given of the class of tree translations definable in monadic second order logic (MSO), in terms of macro tree transducers. The first main result is that the MSO definable tree translations are exactly those tree translations realized by macro tree transducers (MTTs) with reg ..."
Abstract

Cited by 46 (20 self)
 Add to MetaCart
A characterization is given of the class of tree translations definable in monadic second order logic (MSO), in terms of macro tree transducers. The first main result is that the MSO definable tree translations are exactly those tree translations realized by macro tree transducers (MTTs) with regular lookahead that are single use restricted. For this the single use restriction known from attribute grammars is generalized to MTTs. Since MTTs are closed under regular lookahead, this implies that every MSO definable tree translation can be realized by an MTT. The second main result is that the class of MSO definable tree translations can also be obtained by restricting MTTs with regular lookahead to be finite copying, i.e., to require that each input subtree is processed only a bounded number of times. The single use restriction is a rather strong, static restriction on the rules of an MTT, whereas the finite copying restriction is a more liberal, dynamic restriction on the ...
A comparison of pebble tree transducers with macro tree transducers
 Acta Informatica
, 2003
"... Abstract. The npebble tree transducer was recently proposed as a model for XML query languages. The four main results on deterministic transducers are: First, (1) the translation τ of an npebble tree transducer can be realized by a composition of n + 1 0pebble tree transducers. Next, the pebble t ..."
Abstract

Cited by 37 (10 self)
 Add to MetaCart
Abstract. The npebble tree transducer was recently proposed as a model for XML query languages. The four main results on deterministic transducers are: First, (1) the translation τ of an npebble tree transducer can be realized by a composition of n + 1 0pebble tree transducers. Next, the pebble tree transducer is compared with the macro tree transducer, a wellknown model for syntaxdirected semantics, with decidable type checking. The 0pebble tree transducer can be simulated by the macro tree transducer, which, by the first result, implies that (2) τ can be realized by an (n+1)fold composition of macro tree transducers. Conversely, every macro tree transducer can be simulated by a composition of 0pebble tree transducers. Together these simulations prove that (3) the composition closure of npebble tree transducers equals that of macro tree transducers (and that of 0pebble tree transducers). Similar results hold in the nondeterministic case. Finally, (4) the output languages of deterministic npebble tree transducers form a hierarchy with respect to the number n of pebbles. 1
Composition of functions with accumulating parameters
 Journal of Functional Programming
, 2004
"... Many functional programs with accumulating parameters are contained in the class of macro tree transducers. We present a program transformation technique that can be used to solve the efficiency problems due to creation and consumption of intermediate data structures in compositions of such function ..."
Abstract

Cited by 20 (9 self)
 Add to MetaCart
Many functional programs with accumulating parameters are contained in the class of macro tree transducers. We present a program transformation technique that can be used to solve the efficiency problems due to creation and consumption of intermediate data structures in compositions of such functions, where classical deforestation techniques fail. In order to do so, given two macro tree transducers under appropriate restrictions, we construct a single macro tree transducer that implements the composition of the two original ones. The imposed restrictions are more liberal than those in the literature on macro tree transducer composition, thus generalising previous results.
Comparison of Deforestation Techniques for Functional Programs and for Tree Transducers
 In FLOPS'99
, 1999
"... We compare transformations for the elimination of intermediate results in firstorder functional programs. We choose the well known deforestation technique of Wadler and composition techniques from the theory of tree transducers, of which the implementation of functional programs yet does not ta ..."
Abstract

Cited by 18 (5 self)
 Add to MetaCart
We compare transformations for the elimination of intermediate results in firstorder functional programs. We choose the well known deforestation technique of Wadler and composition techniques from the theory of tree transducers, of which the implementation of functional programs yet does not take advantage. We identify syntactic classes of function definitions for which both techniques deliver equally efficient results and for which one technique is more powerful than the other.
The power of extended topdown tree transducers
 SIAM J. COMPUT
, 2008
"... Unfortunately, the class of transformations computed by linear extended topdown tree transducers with regular lookahead is not closed under composition. It is shown that the class of transformations computed by certain linear bimorphisms coincides with the previously mentioned class. Moreover, it ..."
Abstract

Cited by 17 (15 self)
 Add to MetaCart
Unfortunately, the class of transformations computed by linear extended topdown tree transducers with regular lookahead is not closed under composition. It is shown that the class of transformations computed by certain linear bimorphisms coincides with the previously mentioned class. Moreover, it is demonstrated that every linear epsilonfree extended topdown tree transducer with regular lookahead can be implemented by a linear multi bottomup tree transducer. The class of transformations computed by the latter device is shown to be closed under composition, and to be included in the composition of the class of transformations computed by topdown tree transducers with itself. More precisely, it constitutes the composition closure of the class of transformations computed by nitecopying topdown tree transducers.
Macro Tree Translations of Linear Size Increase are MSO Definable
 SIAM J. Comput
, 2001
"... Abstract. The first main result is that if a macro tree translation is of linear size increase, i.e., if the size of every output tree is linearly bounded by the size of the corresponding input tree, then the translation is MSO definable (i.e., definable in monadic secondorder logic). This gives a ..."
Abstract

Cited by 16 (6 self)
 Add to MetaCart
Abstract. The first main result is that if a macro tree translation is of linear size increase, i.e., if the size of every output tree is linearly bounded by the size of the corresponding input tree, then the translation is MSO definable (i.e., definable in monadic secondorder logic). This gives a new characterization of the MSO definable tree translations in terms of macro tree transducers: they are exactly the macro tree translations of linear size increase. The second main result is that given a macro tree transducer, it can be decided whether or not its translation is MSO definable, and if it is then an equivalent MSO transducer can be constructed. Similar results hold for attribute grammars, which define a subclass of the macro tree translations.
Using Circular Programs to Deforest in Accumulating Parameters
, 2002
"... Functional languages allow a modular programming style by function composition, which however can lead to inefficient runtime behavior due to production and consumption of intermediate results. We present a new mechanizable transformation technique for removing intermediate data structures in the co ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
Functional languages allow a modular programming style by function composition, which however can lead to inefficient runtime behavior due to production and consumption of intermediate results. We present a new mechanizable transformation technique for removing intermediate data structures in the composition of two functions from a class of recursive functions with accumulating parameters, for which classical deforestation techniques fail. In order to avoid multiple traversals of the input data structure, the composition algorithm produces circular programs that make essential use of lazy evaluation and local recursion. The resulting programs are simplified using a postprocessing phase presented in the paper.
Relating Accumulative and NonAccumulative Functional Programs
 In Rewriting Techniques and Applications, Proceedings, volume 2051 of LNCS
, 2001
"... We study the problem to transform functional programs, which intensively use append functions (like inefficient list reversal), into programs, which use accumulating parameters instead (like efficient list reversal). We give an (automatic) transformation algorithm for our problem and identify a clas ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
We study the problem to transform functional programs, which intensively use append functions (like inefficient list reversal), into programs, which use accumulating parameters instead (like efficient list reversal). We give an (automatic) transformation algorithm for our problem and identify a class of functional programs, namely restricted 2modular tree transducers, to which it can be applied. Moreover, since we get macro tree transducers as transformation result and since we also give the inverse transformation algorithm, we have a new characterization for the class of functions induced by macro tree transducers.
The Complexity of Compositions of Deterministic Tree Transducers
 Proceedings of the 22nd Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2002), volume 2556 of LNCS
, 2002
"... Macro tree transducers can simulate most models of tree transducers (e.g., topdown and bottomup tree transducers, attribute grammars, and pebble tree transducers which, in turn, can simulate all known models of XML transformers). The string languages generated by compositions of macro tree transdu ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
Macro tree transducers can simulate most models of tree transducers (e.g., topdown and bottomup tree transducers, attribute grammars, and pebble tree transducers which, in turn, can simulate all known models of XML transformers). The string languages generated by compositions of macro tree transducers (obtained by reading the leaves of the output trees) form a large class which contains, e.g., the IO hierarchy and the EDT0L control hierarchy. Consider an arbitrary composition of (deterministic) macro tree transducers. How dicffiult is it, for a given input tree s, to compute the translation t = (s)? It is shown that this problem can be solved (on a RAM) in time linear in the sum of the sizes of s and t. Moreover, the problem to determine, for a given t of size n, whether or not there is an input tree s such that t = (s) is in DSPACE(n); this means that output languages of compositions of macro tree transducers are deterministic contextsensitive. The involved technique of compressing intermediate results of the composition, also gives a new proof of the fact that the finiteness problem for 's range is decidable.
Composition of restricted Macro Tree Transducers
, 2001
"... A special class of functional programs can be modelled by Macro Tree Transducers. We present a technique that can be used to solve the efficiency problems due to creation and consumption of intermediate results in such functional programs, by constructing for two given Macro Tree Transducers, with a ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
A special class of functional programs can be modelled by Macro Tree Transducers. We present a technique that can be used to solve the efficiency problems due to creation and consumption of intermediate results in such functional programs, by constructing for two given Macro Tree Transducers, with appropriate restrictions, a single Macro Tree Transducer that implements the composition of the two original ones. We show that this is possible, if the first Macro Tree Transducer is noncopying and the second one is weakly singleuse. Thus, we obtain the characterization MAC_nc;MAC_wsu=MAC, which generalizes a previous result. We also develop two postprocessing constructions that can be used for optimizing the Macro Tree Transducer obtained from the composition construction, by eliminating superfluous context parameters and superfluous traversals through the input tree. Further, we present two interesting applications of the above characterization to problems about noncopying Macro Tree Transducers.