Next: 2.2 Invoking the bootstrap
Up: 2. Basic usage
Previous: 2. Basic usage
  Contents
To be able to use the bootstrap compiler, one must first install
SML/NJ (i.e., the interactive system that contains the compiler) as
well as both ML-Yacc and ML-Lex.
It is further necessary to have all ML source code for the system
available. If the basic installation did not install this source
code, then one must now fetch all source archives and unpack them.
(There is an option for the SML/NJ installer that lets it install all
source trees automatically. However, by default this feature is turned
off.)
The following list shows all required source packages. (Path names
are shown relative to the SML/NJ installation directory.)
- src/system
- This archive contains the sources for the SML
Standard Basis library as well as lots of ``glue'' code. The glue is
used for assembling a complete system from all its other parts.
Directory src/system must be the current working directory at
the time the bootstrap compiler is started.
- src/MLRISC
- This is the implementation of the MLRISC
backend (the low-level optimizer and code generator) used by SML/NJ.
- src/cm
- This source tree contains most of CM's (and CMB's)
implementation.
- src/compiler
- This is the implementation of the frontend
(parser, type checker, etc.) of the compiler as well as its high-level
optimizer (FLINT).
- src/ml-yacc
- This source tree contains the implementation
of ML-Yacc and its library ( $/ml-yacc-lib.cm).
Technically, the sources of ML-Yacc itself are not needed (provided a
working executable for ML-Yacc has been installed), but the library
sources are.
- src/smlnj-lib
- This source tree hosts several sub-trees,
each of which implements one of the libraries in the SML/NJ library
collection. For bootstrap compilation, the following sub-trees are
required:
- src/smlnj-lib/Util
- This directory holds the sources for
$/smlnj-lib.cm.
- src/smlnj-lib/PP
- This directory holds the sourcse for
$/pp-lib.cm, i.e., the pretty-printing library.
- src/smlnj-lib/HTML
- This directory holds the sources for
$/html-lib.cm, a library for handling HTML files. The need for
this library arises from the fact that $/pp-lib.cm statically
depends on it. (The compiler does not actually use any services from
this library.)
Next: 2.2 Invoking the bootstrap
Up: 2. Basic usage
Previous: 2. Basic usage
  Contents
Matthias Blume
2001-07-19