Tree Transducers and Tree Compressions [chapter]

Sebastian Maneth, Giorgio Busatto
2004 Lecture Notes in Computer Science  
A tree can be compressed into a DAG by sharing common subtrees. The resulting DAG is at most exponentially smaller than the original tree. Consider an attribute grammar that generates trees as output. It is well known that, given an input tree s, a DAG representation of the corresponding output tree can be computed in time linear in the size of s. A more powerful way of tree compression is to allow the sharing of tree patterns, i.e., internal parts of the tree. The resulting "sharing graph" is
more » ... t most double-exponentially smaller than the original tree. Consider a macro tree transducer and an input tree s. The main result is that a sharing graph representation of the corresponding output tree can be computed in time linear in the size of s. A similar result holds for macro forest transducers which translate unranked forests, i.e., natural representations of XML documents.
doi:10.1007/978-3-540-24727-2_26 fatcat:7tzr7rrdyjf5lny7i2pdzilyqq