Skip to main content

Benefits of Tree Transducers for Optimizing Functional Programs

  • Conference paper
Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1530))

Abstract

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 these pieces can be composed to an attributed tree transducer using a composition result for attribute grammars. The same construction can be used to compose the attributed tree transducers, which represent the initial function definitions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Correnson, L., Duris, E., Parigot, D., Roussel, G.: Symbolic composition. Technical Report 3348, INRIA, France (1998)

    Google Scholar 

  2. Courcelle, B., Franchi-Zannettacci, P.: Attribute grammars and recursive program schemes. Theoret. Comput. Sci. 17, 163–191, 235–257 (1982)

    Article  MathSciNet  Google Scholar 

  3. Duris, E., Parigot, D., Roussel, G., Jourdan, M.: Attribute grammars and folds: generic control operators. Technical Report 2957, INRIA, France (1996)

    Google Scholar 

  4. Engelfriet, J.: Some open questions and recent results on tree transducers and tree languages. In: Book, R.V. (ed.) Formal language theory; perspectives and open problems, pp. 241–286. Academic Press, New York (1980)

    Google Scholar 

  5. Engelfriet, J.: Tree transducers and syntax directed semantics. Technical Report Memorandum 363, Technische Hogeschool Twente (1981)

    Google Scholar 

  6. Engelfriet, J., Vogler, H.: Macro tree transducers. J. Comp. Syst. Sci. 31, 71–145 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  7. Fülöp, Z.: On attributed tree transducers. Acta Cybernetica 5, 261–279 (1981)

    MATH  Google Scholar 

  8. Ganzinger, H.: Increasing modularity and language-independency in automatically generated compilers. Science of Computer Programming 3, 223–278 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  9. Ganzinger, H., Giegerich, R.: Attribute coupled grammars. Symposium on Compiler Construction. In: SIGPLAN Notices, vol. 19(6), pp. 157–170 (1984)

    Google Scholar 

  10. Giegerich, R.: Composition and evaluation of attribute coupled grammars. Acta Informatica 25, 355–423 (1988)

    Article  MathSciNet  Google Scholar 

  11. Johnsson, T.: Attribute grammars as a functional programming paradigm. In: Kahn, G. (ed.) FPCA 1987. LNCS, vol. 274, pp. 154–173. Springer, Heidelberg (1987)

    Google Scholar 

  12. Knuth, D.E.: Semantics of context–free languages. Math. Syst. Th. 2, 127–145 (1968) Corrections in Math. Syst. Th.  5, 95–96 (1971)

    Google Scholar 

  13. Kühnemann, A.: Berechnungsstärken von Teilklassen primitiv-rekursiver Programmschemata. PhD thesis, Technical Univ. of Dresden, Shaker Verlag (1997)

    Google Scholar 

  14. Kühnemann, A., Vogler, H.: Synthesized and inherited functions - a new computational model for syntax-directed semantics. Acta Informatica 31, 431–477 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  15. Rounds, W.C.: Mappings and grammars on trees. Math. Syst.Th. 4, 257–287 (1970)

    Article  MATH  MathSciNet  Google Scholar 

  16. Seidl, H., Sørensen, M.H.: Constraints to stop higher-order deforestation. In: POPL 1997, Paris, pp. 400–413. ACM Press, New York (1997)

    Chapter  Google Scholar 

  17. Thatcher, J.W.: Generalized2 sequential machine maps. J. Comp. Syst. Sci. 4, 339–367 (1970)

    Article  MATH  MathSciNet  Google Scholar 

  18. Wadler, P.: Deforestation: Transforming programs to eliminate trees. Theor. Comp. Sci. 73, 231–248 (1990)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kühnemann, A. (1998). Benefits of Tree Transducers for Optimizing Functional Programs. In: Arvind, V., Ramanujam, S. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1998. Lecture Notes in Computer Science, vol 1530. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-49382-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-49382-2_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65384-4

  • Online ISBN: 978-3-540-49382-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics