Advertisement

OASIS: An optimizing action-based compiler generator

  • Peter Ørbæk
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 786)

Abstract

Action Semantics is a new and interesting foundation for semantics based compiler generation. In this paper we present several analyses of actions, and apply them in a compiler generator capable of generating efficient, optimizing compilers for procedural and functional languages with higher order recursive functions. The automatically generated compilers produce code that is comparable with code produced by handwritten compilers.

References

  1. 1.
    A. Bondorf. Automatic Autoprojection of Higher Order Recursive Equations. In N. Jones, editor, Proceedings of the 3rd European Symposium on Programming (ESOP 90), volume 432 of LNCS, pages 70–87, Copenhagen, May 1990. Springer-Verlag.Google Scholar
  2. 2.
    A. Bondorf and J. Palsberg. Compiling Actions by Partial Evaluation. In Proceedings of Conference on Functional Programming Languages and Computer Architecture (FPCA '93), 1993.Google Scholar
  3. 3.
    D. F. Brown, H. Moura, and D. A. Watt. Actress: an Action Semantics Directed Compiler Generator. In Proceedings of the 1992 Workshop on Compiler Construction, Paderborn, Germany, volume 641 of LNCS. Springer-Verlag, 1992.Google Scholar
  4. 4.
    W. Clinger and J. R. (editors). Revised4 Report on the Algorithmic Language Scheme. Technical report, MIT, 1991.Google Scholar
  5. 5.
    P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Conference Proceedings of the Fourth ACM Symposium on Principles of Programming Languages, pages 238–252, Los Angeles, January 1977.Google Scholar
  6. 6.
    K.-G. Doh and D. A. Schmidt. Extraction of Strong Typing Laws from Action Semantics Definitions. In B. Krieg-Brückner, editor, Proceedings of the 4th European Symposium on Programming (ESOP 92), volume 582 of LNCS, pages 151–166, Rennes, February 1992. Springer-Verlag.Google Scholar
  7. 7.
    S. Even and D. A. Schmidt. Type Inference for Action Semantics. In N. Jones, editor, Proceedings of the 3rd European Symposium on Programming (ESOP 90), volume 432 of LNCS, pages 118–133, Copenhagen, May 1990. Springer-Verlag.Google Scholar
  8. 8.
    C. W. Fraser, D. R. Hanson, and T. A. Proebsting. Engineering a Simple, Efficient Code Generator Generator. Technical report, AT&T Bell Labs, 1992.Google Scholar
  9. 9.
    R. Kelsey and P. Hudak. Realistic Compilation by Program Transformation. In Proceedings of the 16'th ACM Symposium on Principles of Programming Languages, pages 281–292, January 1989.Google Scholar
  10. 10.
    B. W. Kernighan and D. M. Richie. The C Programming Language. Prentice-Hall, 1978.Google Scholar
  11. 11.
    P. Klint. A meta-environment for generating programming environments. In J. A. Bergstra and L. M. G. Feijs, editors, Algebraic Methods II: Theory, Tools and Applications, volume 490 of LNCS, pages 105–124, Mierlo, September 1989. Springer-Verlag.Google Scholar
  12. 12.
    P. Lee and U. F. Pleban. A Realistic Compiler Generator on High-Level Semantics. In Proceedings of the 14th ACM Symposium on Principles of Programming Languages, pages 284–295, 1987.Google Scholar
  13. 13.
    P. Lee and U. F. Pleban. An Automatically Generated, Realistic Compiler for an Imperative Programming Language. In Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation, pages 222–232, June 1988.Google Scholar
  14. 14.
    C. McConnel. Tree-Based Code Optimization. PhD thesis, University of Illinois Urbana Champaign, March 1992. Draft.Google Scholar
  15. 15.
    C. McConnel and R. E. Johnson. Using SSA Form in a Code Optimizer. Technical report, UIUC, 1991.Google Scholar
  16. 16.
    C. McConnel, J. D. Roberts, and C. B. Schoening. The RTL System. Technical report, UIUC, October 1990.Google Scholar
  17. 17.
    P. D. Mosses. Action Semantics. Cambridge University Press, 1992. Number 26 in the Cambridge Tracts in Theoretical Computer Science series.Google Scholar
  18. 18.
    P. Ørbæk. Analysis and Optimization of Actions. M.Sc. dissertation, Computer Science Department, Aarhus University, Denmark, September 1993.Google Scholar
  19. 19.
    J. Palsberg. A Provably Correct Compiler Generator. In B. Krieg-Brückner, editor, Proceedings of the 4th European Symposium on Programming (ESOP 92), volume 582 of LNCS, pages 418–434, Rennes, February 1992. Springer-Verlag.Google Scholar
  20. 20.
    J. Palsberg. Provably Correct Compiler Generation. PhD thesis, Computer Science Department at Aarhus University, January 1992.Google Scholar
  21. 21.
    B. Stroustrup and M. A. Ellis. The Annotated C++ Reference Manual. Addison-Wesley, 1990.Google Scholar
  22. 22.
    J.-P. Talpin and P. Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2(3):245–271, July 1992.Google Scholar
  23. 23.
    T. Tammet. Hobbit: A Scheme to C compiler. Unpublished, (available by ftp from nexus.yorku.ca: /pub/scheme), 1993.Google Scholar
  24. 24.
    L. Wall and R. L. Schwartz. Programming Perl. O'Reilly and Associates, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Peter Ørbæk
    • 1
  1. 1.Computer Science DepartmentAarhus UniversityAarhus CDenmark

Personalised recommendations