Powered by SourceForge   Home | About | Partners | Contact Us

Building the compilers

The XL distribution contains two top-level directories:

Building the XL2 compiler

To build the XL2 compiler, go to the xl2 directory and type make:

% cd xl2
% make

This will perform a compiler bootstrap. In other words, several compilers will be built successively:

  1. A bootstrap compiler called xl, written in C++, and compiling a simplified version of XL2
  2. A bootstrap compiler called bxl, written in simplified XL and compiled with xl, and implementing a slightly less simplified version of XL.
  3. Several bootstrap compilers for sanity checking, where bxl compiles itself several times, resulting in compilers called bbxl, bbbxl, ...
  4. A native compiler called nxl, compiled with bxl, written in bootstrap-level XL, and implementing the full XL2 semantics.
  5. Several native bootstrap compilers built for sanity checking, resulting in compilers called nnxl, nnnxl.

The bootstrapping process is not perfect, because it proved difficult to keep the language compiled by nxl compatible with the simplified idiom accepted by bxl. As a result, nxl can only compile itself with the -bootstrap option, which make it accept a very sloppy variant of XL2.

Building the XLR compiler

To build the XLR compiler, go to the xlr directory and type make:

% cd xlr
% make
% make test

The XLR language is still under active development and may change rapidly.