Skip to main content

Supercompilation: Techniques and results

  • Invited Talk
  • Conference paper
  • First Online:
Perspectives of System Informatics (PSI 1996)

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

Abstract

Program transformation by supercompilation is summarized. The current state of work on supercompilation is illustrated by several examples of successful transformation. In the process of work it became clear that many different supercompilers can be written by using various techniques in their basic modules. A formal language to describe these techniques is needed. An outline of such a language, SCPL, for the top level of control in a supercompiler is given.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S.M. Abramov. Metavychisleniya i ikh Prilozhenija (Metacomputation and its Applications, in Russian) Nauka, Moscow, 1995.

    Google Scholar 

  2. M.A. Bulyonkov. Polyvariant mixed computation for analyzer programs, Acta Informatica, 21, pp. 473–84, 1984.

    Google Scholar 

  3. A.P. Ershov. On the essence of compilation, Programmirovanie (5):21–39, 1977 (in Russian). See translation in: E.J.Neuhold, ed., Formal description of Programming Concepts pp 391–420, North-Holland, 1978.

    Google Scholar 

  4. A.P. Ershov. Mixed computation in the class of recursive program schemata, Acta Cybernetica, 4(1), pp. 19–23, 1078

    Google Scholar 

  5. A.P. Ershov. Mixed computation: potential applications and problems for study, Theoretical Computer Science, 18, pp. 41–67, 1982

    Google Scholar 

  6. A.P.Ershov. Opening Key-note Speech, in: D.Bjørner, A.P.Ershov and N.D.Jones, ed. Partial Evaluation and Mixed Computation, North-Holland, pp.225–282, 1988.

    Google Scholar 

  7. Y. Futamura. Partial evaluation of computation process — an approach to compiler compiler. Systems, Computers, Controls, 2, 5, pp. 45–50, 1971

    Google Scholar 

  8. Y.Futamura and K.Nogi. Generalized Partial Evaluation, in: D.Bjørner, A.P.Ershov, N.D.Jones (eds), Partial Evaluation and Mixed Computation, Proceedings of the IFIP TC2 Workshop, pp.133–151, North-Holland Publishing Co., 1988.

    Google Scholar 

  9. R.Glück and A.V.Klimov. Occam's razor in metacomputation: the notion of a perfect process tree, in: P.Cousot, M.Falaschi, G.Filè, and Rauzy, ed. Static Analysis, LNCS vol.724, pp.112–123, Springer 1993.

    Google Scholar 

  10. N.D. Jones, P. Sestoft and H. Sondergaard. An Experiment in Partial Evaluation: The Generation of a Compiler Generator. In: Jouannaud J.-P. (Ed.) Rewriting Techniques and Applications, Dijon, France, LNCS 202, pp. 124–140, Springer, 1985.

    Google Scholar 

  11. D.E. Knuth, J.H. Morris, V.R. Pratt, Fast Pattern Matching in Strings, SIAM Journal of Computer, 6(2) pp. 323–350, 1977.

    Google Scholar 

  12. A.P.Nemytykh, V.A.Pinchuk and V.F.Turchin. A Self-Applicable Supercompiler, in: Proc. International Seminar on Partial Evaluation at Dagstuhl, February 1996, Lecture Notes in Computer Science, Springer 1996 (to appear).

    Google Scholar 

  13. M.H.Sørensen, R.Glück and N.D.Jones, A positive supercompiler, Journal of Functional Programming,...

    Google Scholar 

  14. V.F.Turchin. Equivalent transformations of recursive functions defined in Refal (in Russian), in: Teoriya Yazykov I Metody Postroeniya Sistem Programmirovaniya (Proceedings of the Symposium), Kiev-Alushta (USSR), pp.31–42, 1972.

    Google Scholar 

  15. V.F. Turchin et al. Bazisnyi Refal i yego realizatsiya na vychislitel'nykh mashinakh, (Basic Refal and its implementation on computers, in Russian), GOSSTROY SSSR, TsnIPIASS, Moscow, 1977.

    Google Scholar 

  16. V.F.Turchin. The Language Refal, the Theory of Compilation and Metasystem Analysis, Courant Computer Science Report #20, New York University, 1980.

    Google Scholar 

  17. V.F. Turchin, R.M. Nirenberg and D.V. Turchin. Experiments with a supercompiler. In: ACM Symposium on Lisp and Functional Programming, ACM, New York, pp. 47–55, 1982.

    Google Scholar 

  18. V.F. Turchin. The concept of a supercompiler, ACM Transactions on Programming Languages and Systems, 8, pp. 292–325, 1986.

    Google Scholar 

  19. V.F.Turchin. Refal-5, Programming Guide and Reference Manual, New England Publishing Co., 1989.

    Google Scholar 

  20. V.F.Turchin and A.P.Nemytykh. Metavariables: Their implementation and use in Program Transformation, CCNY Technical Report CSc TR-95-012, 1995.

    Google Scholar 

  21. V.F.Turchin and A.P.Nemytykh, A. A Self-applicable Supercompiler CCNY Technical Report CSc TR-95-010, 1995.

    Google Scholar 

  22. V.F.Turchin. Metacomputation: Metasystem Transitions plus Supercompilation, Proc. International Seminar on Partial Evaluation at Dagstuhl, February 1996, Lecture Notes in Computer Science, Springer 1996 (to appear).

    Google Scholar 

  23. P.Wadler. Deforestation: transforming programs to eliminate trees, in: H.Ganziger (ed.) ESOP'88, Lecture Notes in Computer Science, vol.300, pp.344–358, Springer, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dines Bjørner Manfred Broy Igor V. Pottosin

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Turchin, V.F. (1996). Supercompilation: Techniques and results. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Perspectives of System Informatics. PSI 1996. Lecture Notes in Computer Science, vol 1181. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62064-8_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-62064-8_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62064-8

  • Online ISBN: 978-3-540-49637-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics