Streaming Tree Transducers

  • Rajeev Alur
  • Loris D’Antoni
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7392)


Theory of tree transducers provides a foundation for understanding expressiveness and complexity of analysis problems for specification languages for transforming hierarchically structured data such as XML documents. We introduce streaming tree transducers as an analyzable, executable, and expressive model for transforming unranked ordered trees (and hedges) in a single pass. Given a linear encoding of the input tree, the transducer makes a single left-to-right pass through the input, and computes the output using a finite-state control, a visibly pushdown stack, and a finite number of variables that store output chunks that can be combined using the operations of string-concatenation and tree-insertion. We prove that the expressiveness of the model coincides with transductions definable using monadic second-order logic (MSO). We establish complexity upper bounds of ExpTime for type-checking and NExpTime for checking functional equivalence for our model. We consider variations of the basic model when inputs/outputs are restricted to strings and ranked trees, and in particular, present the model of bottom-up ranked-tree transducers, which is the first known MSO-equivalent transducer model that processes trees in a bottom-up manner.


Binary Tree Regular Language Input Tree Input Word Type Check 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Comon, H., Dauchet, M., Gilleron, R., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications. Draft (2002),
  2. 2.
    Courcelle, B.: Monadic second-order definable graph transductions: A survey. Theor. Comput. Sci. 126(1), 53–75 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Engelfriet, J., Maneth, S.: Macro tree transducers, attribute grammars, and MSO definable tree translations. Information and Computation 154, 34–91 (1999)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Engelfriet, J., Vogler, H.: Macro tree transducers. J. Comput. System Sci. 31, 71–146 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Milo, T., Suciu, D., Vianu, V.: Typechecking for XML transformers. In: Proceedings of the 19th ACM Symposium on PODS, pp. 11–22 (2000)Google Scholar
  6. 6.
    Hosoya, H., Pierce, B.C.: XDuce: A statically typed XML processing language. ACM Trans. Internet Techn. 3(2), 117–148 (2003)CrossRefGoogle Scholar
  7. 7.
    Martens, W., Neven, F.: On the complexity of typechecking top-down XML transformations. Theor. Comput. Sci. 336(1), 153–180 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Hosoya, H.: Foundations of XML Processing: The Tree-Automata Approach. Cambridge University Press (2011)Google Scholar
  9. 9.
    Segoufin, L., Vianu, V.: Validating streaming XML documents. In: Proceedings of the 21st ACM Symposium on PODS, pp. 53–64 (2002)Google Scholar
  10. 10.
    Neven, F., Schwentick, T.: Query automata over finite trees. Theor. Comput. Sci. 275(1-2), 633–674 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Madhusudan, P., Viswanathan, M.: Query Automata for Nested Words. In: Královič, R., Niwiński, D. (eds.) MFCS 2009. LNCS, vol. 5734, pp. 561–573. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Alur, R., Madhusudan, P.: Adding nesting structure to words. Journal of the ACM 56(3) (2009)Google Scholar
  13. 13.
    Alur, R., Cerný, P.: Expressiveness of streaming string transducers. In: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science. LIPIcs, vol. 8, pp. 1–12 (2010)Google Scholar
  14. 14.
    Alur, R., Cerný, P.: Streaming transducers for algorithmic verification of single-pass list-processing programs. In: Proceedings of 38th ACM Symposium on POPL, pp. 599–610 (2011)Google Scholar
  15. 15.
    Engelfriet, J., Maneth, S.: The equivalence problem for deterministic MSO tree transducers is decidable. Inf. Process. Lett. 100(5), 206–212 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Seidl, H., Schwentick, T., Muscholl, A., Habermehl, P.: Counting in Trees for Free. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 1136–1149. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Esparza, J.: Petri nets, commutative context-free grammars, and basic parallel processes. Fundam. Inform. 31(1), 13–25 (1997)MathSciNetzbMATHGoogle Scholar
  18. 18.
    Engelfriet, J., Hoogeboom, H.: MSO definable string transductions and two-way finite-state transducers. ACM Trans. Comput. Log. 2(2), 216–254 (2001)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Rajeev Alur
    • 1
  • Loris D’Antoni
    • 1
  1. 1.University of PennsylvaniaUSA

Personalised recommendations