\chap{The sources}{sources}

This section is an overview of the sources to the compiler and all of the
associated tools.  Here is a brief description of each element of the root
source directory.  Throughout the rest of this document, we will use pathnames
that are relative to the source directory.

\begin{description}

\place{basis-library}
The basis library implementation.
\place{benchmark}
Code and tests used for benchmarking {\mlton}, {\smlnj}, and {\mosml}.
\place{bin}
Scripts for type checking the basis library, making rpms, running {\mlton}, and
running regression tests.
\place{doc}
Sources for the user guide, hacker guide, web site, announcements, README.
\place{include}
Include files needed for compiling C files generated by {\mlton}.
\place{lib}
SML library code, which is used in {\tt mlton}, {\tt mlprof}, and {\tt
benchmark}.  There are also many generally useful libraries.
\place{Makefile}
To make everything.  This is only used when building rpms.
\place{man}
Manual pages for {\tt mlton} and {\tt mlprof}.
\place{mllex}
Lexer generator, taken and slightly modified from {\smlnj}.
\place{mlprof}
Profiler.
\place{mlton}
Compiler.
\place{mlyacc}
Parser generator, taken and slightly modified from {\smlnj}.
\place{regression}
Regression tests, about 150 SML files that are used to test the compiler.
\place{runtime}
Runtime system, which includes the garbage collector and C libraries used in
the basis (including the GMP used for {\tt IntInf}).

\end{description}
