Skip to main content

Multi-language, multi-target compiler development: Evolution of the Gardens Point compiler project

  • Invited Talks
  • Conference paper
  • First Online:
Modular Programming Languages (JMLC 1997)

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

Included in the following conference series:

Abstract

The Gardens Point project started in 1987 as an attempt to make Modula-2 available on a variety of 32-bit Unix platforms. Since that time, it has evolved into a flexible platform for research into compiler construction and language implementation. Gardens point compilers are available on about a dozen platforms, and are mostly freeware.

Currently, the gardens point infrastructure is used for a variety of research projects in areas such as code selection, global optimization, register allocation, and exception handling. There are also a variety of language research issues which are being pursued by the group.

This paper sets out a brief history of the project, and describes the insights which have come from the implementation of a variety of languages on most of the major current computer architectures.

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. U Ammann. Pascal, the Language and its Implementation, Chapter Code Generation for a Pascal Compiler. John Wiley and Sons, 1981.

    Google Scholar 

  2. Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, 1996.

    Google Scholar 

  3. Marc M. Brandis and Hanspeter Mössenböck. Single-pass generation of static single assignment form for structured languages. ACM Transactions on Programming Languages and Systems, Volume 16, Number 6, pages 1684–1698, 1994.

    Google Scholar 

  4. P Briggs, K D Cooper, K Kennedy and L Torczon. Coloring heuristics for register allocation. In Proc. ACM SIGPLAN'89 Confr. Programming Language Design and Implementation, Volume 26 of SIGPLAN Notices. ACM, 1989.

    Google Scholar 

  5. G J Chaitin. Register allocation and spilling via graph coloring. In Proc. ACM SIGPLAN'82 Symposium on Compiler Construction, Volume 19 of SIGPLAN Notices, 1989.

    Google Scholar 

  6. Diane Corney. The Luna language report. http://www.fit.qut.edu.au/∼corney/luna.ps. Language report for the Luna language.

    Google Scholar 

  7. Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman and F.Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, Volume 13, Number 4, pages 451–490, 1991.

    Google Scholar 

  8. E W Dijkstra. Algol 60 translation. Supplement ALGOL Bulletin, Volume 10, 1960.

    Google Scholar 

  9. C W Fraser and D R Hanson. A Retargetable C Compiler: Design and Implementation. Benjamin Cummings, 1995.

    Google Scholar 

  10. K J Gough, C Cifuentes, D Corney, J Hynd and P Kolb. An experiment in mixed compilation/interpretation. In Proceedings of ACSC-14, Hobart, Australia, 1992. Australian Computer Society.

    Google Scholar 

  11. K John Gough. Bottom up tree rewriting with MBURG: the mburg reference manual. ftp://ftp.fit.qut.edu.au/in directory/pub/coco. Reference manual for version 0.8 of MBURG. Complete source code is available at the same URL.

    Google Scholar 

  12. K John Gough. The DCode intermediate program representation: Reference manual and report. ftp://ftp.fit.qut.edu.au in file/pub/papers/jmlc2.ps.Z. Online document specifying the intermediate form used by the gardens point compilers.

    Google Scholar 

  13. K John Gough. A new type-constructor for modular languages. ftp://ftp.fit.qut.edu.au/in file/pub/papers/jmlc2.ps.Z. Technical report on extensible arrays.

    Google Scholar 

  14. K John Gough. Bottom-up tree rewriting tool MBURG. SIGPLAN Notices, Volume 31, Number 1, 1996.

    Google Scholar 

  15. K John Gough and Jeffrey Ledermann. Register allocation in the Gardens Point compilers. In Proceedings ACSC18, Adelaide, Australia. Australian Computer Science Society, 1995.

    Google Scholar 

  16. K John Gough and Jeffrey Ledermann. Optimal code-selection using MBURG. In Proceedings ACSC20, Sydney, Australia. Australian Computer Science Society, 1997.

    Google Scholar 

  17. R W Gray, W P Heuring, S P Levi, A M Sloane and W Waite. Eli: a complete, flexible compiler construction system. Communications of the A CM, Volume 35, pages 121–131, Feb 1992.

    Google Scholar 

  18. ISO SC22/WG13. Modula-2-International Standard: IS 10154. British Standards Institution, June 1996.

    Google Scholar 

  19. J Lederman, K J Gough, J Hynd and P Sinfield. The port of GPM to the ALPHA architecture. Technical report, Distributed Systems Technology Centre, Brisbane, Australia, 1994.

    Google Scholar 

  20. Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. Addison-Wesley, 1996.

    Google Scholar 

  21. Steven Omohundro. The Sather programming language. Technical report, ICSI, Berkley, California, 1994.

    Google Scholar 

  22. D R Perkins and R L Sites. Machine indepedent Pascal code optimization. In Proc. ACM SIGPLAN'79 Confr. Programming Language Design and Implementation, Volume 14 of SIGPLAN Notices, pages 201–207, 1979.

    Google Scholar 

  23. Clemens Szyperski. Gardens Project home page. http://www.fit.qut.edu.au/-∼szypersk/Gardens. Includes an index to other Gardens related documents.

    Google Scholar 

  24. Pat Terry. Programming Language Translation: A Practical Approach. Addison-Wesley, 1985.

    Google Scholar 

  25. Niklaus Wirth. The design of the Pascal compiler. Software: Practice and Experience, Volume 4, pages 309–333, 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hanspeter Mössenböck

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gough, K.J. (1997). Multi-language, multi-target compiler development: Evolution of the Gardens Point compiler project. In: Mössenböck, H. (eds) Modular Programming Languages. JMLC 1997. Lecture Notes in Computer Science, vol 1204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62599-2_28

Download citation

  • DOI: https://doi.org/10.1007/3-540-62599-2_28

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62599-5

  • Online ISBN: 978-3-540-68328-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics