Results 1  10
of
17
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
Benefits of Tree Transducers for Optimizing Functional Programs
 In FST & TCS'98, Chennai, India, Proceedings, volume 1530 of LNCS
, 1998
"... We present a technique to prevent the construction of intermediate data structures in functional programs, which is based on results from the theory of tree transducers. We first decompose function definitions, which correspond to macro tree transducers, into smaller pieces. Under certain restrictio ..."
Abstract

Cited by 31 (6 self)
 Add to MetaCart
We present a technique to prevent the construction of intermediate data structures in functional programs, which is based on results from the theory of tree transducers. We first decompose function definitions, which correspond to macro tree transducers, into smaller pieces. Under certain restrictions...
A Comparison of Tree Transductions defined by Monadic Second Order Logic and by Attribute Grammars
, 1998
"... . Two wellknown formalisms for the specication and computation of tree transductions are compared: the mso graph transducer and the attributed tree transducer with lookahead, respectively. The mso graph transducer, restricted to trees, uses monadic second order logic to dene the output tree in ..."
Abstract

Cited by 25 (8 self)
 Add to MetaCart
. Two wellknown formalisms for the specication and computation of tree transductions are compared: the mso graph transducer and the attributed tree transducer with lookahead, respectively. The mso graph transducer, restricted to trees, uses monadic second order logic to dene the output tree in terms of the input tree. The attributed tree transducer is an attribute grammar in which all attributes are trees; it is preceded by a lookahead phase in which all attributes have nitely many values. The main result is that these formalisms are equivalent, i.e., that the attributed tree transducer with lookahead is an appropriate implementation model for the tree transductions that are speciable in mso logic. This result holds for mso graph transducers that produce trees with shared subtrees. If no sharing is allowed, the attributed tree transducer satises the single use restriction. 1 Introduction Formulas of monadic second order (mso) logic can be used to express properti...
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.
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.
A Pumping Lemma for Output Languages of Macro Tree Transducers
"... The concept of macro tree transducer is a formal model for studying properties of syntax directed translations and of functional languages which are based on primitive recursion. In this paper, for output languages of producing and nondeleting macro tree transducers, we introduce and prove a pumpi ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
The concept of macro tree transducer is a formal model for studying properties of syntax directed translations and of functional languages which are based on primitive recursion. In this paper, for output languages of producing and nondeleting macro tree transducers, we introduce and prove a pumping lemma. We apply this pumping lemma to gain two results: (1) there is no producing and nondeleting macro tree transducer which computes the set of all monadic trees with double exponential height as output and (2) there are hierarchies of producing and nondeleting macro tree transducers with respect to their number of functions. 1 Introduction Pumping lemmata are useful tools to prove that a given language L is not an element of a class L of formal languages, where L usually is defined by a class of grammars or translation schemes. Pumping lemmata have been investigated for different kinds of languages, for example string languages, tree languages, and graph languages. In this introduct...
The Equivalence of BottomUp and TopDown TreetoGraph Transducers
 J. COMPUT. SYST. SCI
, 1996
"... We introduce the bottomup treetograph transducer, which is very similar to the usual (total deterministic) bottomup tree transducer except that it translates trees into hypergraphs rather than trees, using hypergraph substitution instead of tree substitution. If every output hypergraph of the tr ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
We introduce the bottomup treetograph transducer, which is very similar to the usual (total deterministic) bottomup tree transducer except that it translates trees into hypergraphs rather than trees, using hypergraph substitution instead of tree substitution. If every output hypergraph of the transducer is a jungle, i.e., a hypergraph that can be unfolded into a tree, then the treetograph transducer is said to be treegenerating and naturally defines a treetotree translation. We prove that bottomup treetograph transducers define the same treetotree translations as the previously introduced topdown treetograph transducers. This is in contrast with the wellknown incomparability of the usual bottomup and topdown tree transducers.
Composing StackAttributed Tree Transducers
, 2004
"... This paper presents a composition method for stackattributed tree transducers. Stackattributed tree transducers extend attributed tree transducers with a pushdown stack device for attribute values. Stackattributed tree transducers are more powerful than attributed tree transducers due to the stack ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
This paper presents a composition method for stackattributed tree transducers. Stackattributed tree transducers extend attributed tree transducers with a pushdown stack device for attribute values. Stackattributed tree transducers are more powerful than attributed tree transducers due to the stack mechanism. We extend the existing composition method for attributed tree transducers to the composition method for stackattributed tree transducers. The composition method is proved to be correct and to enjoy a closure property.
Tree Transducer Composition as Deforestation Method for Functional Programs
, 2001
"... We demonstrate that composition techniques for tree transducers are suitable to eliminate intermediate results in functional programs. We consider two composition techniques, which view special functional programs as (restricted) macro tree transducers: The first uses composition techniques for macr ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
We demonstrate that composition techniques for tree transducers are suitable to eliminate intermediate results in functional programs. We consider two composition techniques, which view special functional programs as (restricted) macro tree transducers: The first uses composition techniques for macro tree transducers directly. The second is indirect in that it (i) translates macro tree transducers into attributed tree transducers, (ii) uses a composition technique for attributed tree transducers, and (iii) translates the composition result back into a macro tree transducer. We informally compare these techniques with the deforestation technique of Wadler. In particular we show that the composition techniques eliminate intermediate results for certain kinds of function definitions, for which classical deforestation fails.