|
Overview
The Gardens Point Modula (GPM) compilers are an ongoing research focus of the
Programming Languages and Systems Group in the
Faculty of Information Technology at
the Queensland University of Technology in Brisbane.
The GPM compiler family began as a project to make the language Modula-2 available
in a consistent implementation on contemporary machines. It has become a flexible
platform for research in compiler technology and associated areas.
The compiler front-ends are based on the creation of an abstract syntax tree
representation of the compilation unit, and all imported objects. This technology
is fast but rather memory hungry. You can expect compilation speeds of about
36000 lines per minute on a slow 486 machine.
The compiler back-ends, the code generators, read an intermediate representation
called DCode, which is similar in general form to the U-Code representation.
U-Code and DCode are instruction sets for abstract stack machines, and are implemented
by a "shadow stack" automaton within the compiler back-end, which transforms
the codes into the native instructions of the target machine.
If you are using the GPM compiler, you may use the gpcp
email alias for sending any bug reports or specific gpm or gpcp questions:
gpcp@qut.edu.au. You might also find the GPCP Yahoo
news group useful http://groups.yahoo.com/group/GPCP/.
Downloads
The following versions of the GPM compiler are available for download.
- Linux (a.out)
- Linux (elf)
- Linux (Redhat 6)
- Linux (Redhat 7)
- Cygwin
- FreeBSD
- Sparc
- gpm-clr (whidbey)
- gpm-clr (everett)
The following manuals are available for download. The complete documentation
set is available here. As well you can down load Postscript manuals separately.
- Set of Manuals for GPM (PS / PDF)
- User's Guide to GPM (PS / PDF)
- GPM Library Definitions Reference Manual (PS / PDF)
- GPM Language Reference Manual (PS / PDF)
- Release Notes for GPM-CLR (PDF)
This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|