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.
Preview
Unable to display preview. Download preview PDF.
References
U Ammann. Pascal, the Language and its Implementation, Chapter Code Generation for a Pascal Compiler. John Wiley and Sons, 1981.
Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, 1996.
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.
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.
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.
Diane Corney. The Luna language report. http://www.fit.qut.edu.au/∼corney/luna.ps. Language report for the Luna language.
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.
E W Dijkstra. Algol 60 translation. Supplement ALGOL Bulletin, Volume 10, 1960.
C W Fraser and D R Hanson. A Retargetable C Compiler: Design and Implementation. Benjamin Cummings, 1995.
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.
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.
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.
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.
K John Gough. Bottom-up tree rewriting tool MBURG. SIGPLAN Notices, Volume 31, Number 1, 1996.
K John Gough and Jeffrey Ledermann. Register allocation in the Gardens Point compilers. In Proceedings ACSC18, Adelaide, Australia. Australian Computer Science Society, 1995.
K John Gough and Jeffrey Ledermann. Optimal code-selection using MBURG. In Proceedings ACSC20, Sydney, Australia. Australian Computer Science Society, 1997.
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.
ISO SC22/WG13. Modula-2-International Standard: IS 10154. British Standards Institution, June 1996.
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.
Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. Addison-Wesley, 1996.
Steven Omohundro. The Sather programming language. Technical report, ICSI, Berkley, California, 1994.
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.
Clemens Szyperski. Gardens Project home page. http://www.fit.qut.edu.au/-∼szypersk/Gardens. Includes an index to other Gardens related documents.
Pat Terry. Programming Language Translation: A Practical Approach. Addison-Wesley, 1985.
Niklaus Wirth. The design of the Pascal compiler. Software: Practice and Experience, Volume 4, pages 309–333, 1971.
Author information
Authors and Affiliations
Editor information
Rights 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