Results 1 - 10
of
16
A comparison of pebble tree transducers with macro tree transducers
- Acta Informatica
, 2003
"... Abstract. The n-pebble 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 n-pebble tree transducer can be realized by a composition of n + 1 0-pebble tree transducers. Next, the pebble t ..."
Abstract
-
Cited by 33 (8 self)
- Add to MetaCart
Abstract. The n-pebble 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 n-pebble tree transducer can be realized by a composition of n + 1 0-pebble tree transducers. Next, the pebble tree transducer is compared with the macro tree transducer, a well-known model for syntax-directed semantics, with decidable type checking. The 0-pebble 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 0-pebble tree transducers. Together these simulations prove that (3) the composition closure of n-pebble tree transducers equals that of macro tree transducers (and that of 0-pebble tree transducers). Similar results hold in the nondeterministic case. Finally, (4) the output languages of deterministic n-pebble 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 29 (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 well-known formalisms for the specication and computation of tree transductions are compared: the mso graph transducer and the attributed tree transducer with look-ahead, respectively. The mso graph transducer, restricted to trees, uses monadic second order logic to dene the output tree in ..."
Abstract
-
Cited by 22 (7 self)
- Add to MetaCart
. Two well-known formalisms for the specication and computation of tree transductions are compared: the mso graph transducer and the attributed tree transducer with look-ahead, 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 look-ahead 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 look-ahead 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 first-order 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 17 (5 self)
- Add to MetaCart
We compare transformations for the elimination of intermediate results in first-order 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 non-copying and the second one is weakly single-use. Thus, we obtain the characterization MAC_nc;MAC_wsu=MAC, which generalizes a previous result. We also develop two post-processing 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 non-copying 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 Bottom-Up and Top-Down Tree-to-Graph Transducers
- J. COMPUT. SYST. SCI
, 1996
"... We introduce the bottom-up tree-to-graph transducer, which is very similar to the usual (total deterministic) bottom-up 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 bottom-up tree-to-graph transducer, which is very similar to the usual (total deterministic) bottom-up 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 tree-to-graph transducer is said to be tree-generating and naturally defines a tree-to-tree translation. We prove that bottom-up tree-to-graph transducers define the same tree-to-tree translations as the previously introduced top-down tree-to-graph transducers. This is in contrast with the well-known incomparability of the usual bottom-up and top-down tree transducers.
Composing Stack-Attributed Tree Transducers
, 2004
"... This paper presents a composition method for stack-attributed tree transducers. Stackattributed tree transducers extend attributed tree transducers with a pushdown stack device for attribute values. Stack-attributed 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 stack-attributed tree transducers. Stackattributed tree transducers extend attributed tree transducers with a pushdown stack device for attribute values. Stack-attributed 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 stack-attributed 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.

