%This is the header file for the release documentation for
%gardens point oberon 
%version of Oct 1993

%\documentstyle[bezier,11pt]{report}
\documentstyle[11pt]{report}
\pagestyle{headings}
\textwidth=15.5cm
\textheight=22cm
\oddsidemargin=0cm
\topmargin=0cm
%

%%%%%%%%%%%%%%%%%
%\input{psfonts}
%%%%%%%%%%%%%%%%%

\title{GARDENS POINT OBERON\\
RELEASE NOTES}
\author{Native Code Linux Version\thanks{
Copyright \copyright 1994,1995 QUT Office of Commercial Services}}
\date{April 1995}

\newcommand{\gpo}{{\bf gpo}}
\newcommand{\GPO}{{\bf gardens point oberon }}


\begin{document}

    \maketitle

    \tableofcontents

%
% CHAPTER
%

\chapter{Overview}
\GPO is a new implementation of Oberon-2.  This first implementation is for 
DECstations {\em mips} machines, with implementations for the i386, Alpha 
and others becoming available in the near future.  
These notes contain information about the first release of the 
Oberon-2 compiler \gpo \footnote{\ These
notes are copyright \copyright 1993, 1995 Office of Commercial Services,
Queensland University of Technology. Permission is given for users to
copy portions of this manual for the convenience of users of the 
{\bf gardens point oberon} compiler system, as described in the
license agreement. All other reproduction of
the material in these notes requires the written permission of the 
copyright holder}.
The \gpo\ compiler implements the language Oberon-2 as specified in
``The Programming Language Oberon-2'' by H. M\"ossenb\"ock and N. Wirth.

\section{Implementation technology}
The compiler has a front-end which is based on the creation of an abstract
syntax tree representation of the current compilation unit, and all imported
objects.  This front-end produces an intermediate representation called
{\bf DCode}.  It is similar in general form to the {\bf UCode} 
representation. UCode and DCode are instruction
sets for {\em abstract stack machines}, and are implemented by
a {\bf shadow stack automaton} within the compiler back-end,
which transforms the codes into the native intructions of the 
target machine.  Details about D-Code are available in the document
``The DCode Intermediate Program Representation Reference Manual and
Report'' which is available via anonymous ftp from ftp.fit.qut.edu.au:/pub/papers.

\chapter{Program Files in the Release}
The software consists of two groups of files, the program files and the
files for library modules.  

\section{ProgramFiles} 
The program files supplied with this release include those for the compiler, 
the load-builder and various utilities.  
\begin{itemize}
\item the compiler itself consists of two files {\em gpo} and {\em gpo2} 
\item the load-builder is three files, {\em build} and {\em o2build2} and 
      the profiling load-builder {\em bldprf}
\item the ``make'' facility tool consists of a number of files: {\em gpomake, 
      gposcript, gpodecider} and {\em gpographbuild}
\item the module browser is the single program file {\em browse}
\end{itemize}

\section{Libraries}
This release of \gpo\ includes a number of library modules.  Some are
Oberon-2 libraries and others are interfaces to the Modula-2 libraries
distributed with the gardens point modula compiler.  The implementations
of the modula libraries are included with this release of \gpo.  The
full list of distributed libraries is in the {\em Library Definitions 
Reference Manual}.

For each library module a symbol file {\em .sym} and an object file
{\em .o} are supplied.  The symbol files should be accessible along
the path defined by the environment variable O2SYM, while the 
object files should be accessible along the path defined by the environment
variable O2LIB.  More information about these and any other
environment variables used by \gpo\ can be found in the chapter 
{\em The Compiler Environment} in the {\em Technical Reference} part of
the {\em User Guide Reference Manual}. 

The error message file {\em o2errlst.dat} and the target machine configuration
file {\em gp2d.cfg}, also need to be available on the O2SYM path.

The runtime system files {\em gprts.o, gports.o, o2memory.o} need to be
available on the O2LIB path.
 
\end{document}
