% This file is part of Oaklisp.
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% The GNU GPL is available at http://www.gnu.org/licenses/gpl.html
% or from the Free Software Foundation, 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA


\chapter{The Compiler}

\subsection{File Types}

There are a number of different kinds of object files, distinguished
by extension.

\begin{center}
\begin{tabular}{l|l}
\emph{extension} & \multicolumn{1}{c}\emph{file type} \\\hline
\tt .oak  & Oaklisp source file \\
\tt .omac & Macroexpanded Oaklisp source file \\
\tt .ou   & Assembly file, not peephole optimized \\
\tt .oc   & Assembly file, peephole optimized \\
\tt .oa   & Assembled object file
\end{tabular}
\end{center}

\gv{compiler-from-extension}
\doc{The extension of the input files the compiler will read.
Default \df{".oak"}.  This variable is in the compiler locale.}

\gv{compiler-to-extension}
\doc{The extension the the output files the compiler will produce.
Default \df{".oa"}.  This variable is in the compiler locale.}

\gv{compiler-noisiness}
\doc{The amount of noise the compiler should produce; zero for none, 1
for a little, and 2 for a lot.  Default value is 1, but the
\df{oakliszt} batch file compiler sets it to zero.  This variable is
in the compiler locale.}


\subsection{Object File Formats}


\subsection{Compiler Internals}

Some compiler internals documentation.  Very sketchy, just enough to
give people a vague idea of what the internal program representation
is and what the various passes are for.
