Next: Interface
Up: A New Compiler for
Previous: A New Compiler for
There are a number of reasons for rewriting the compiler:
- The original compiler works reasonably well, but it is not
documented and is becoming increasingly hard to maintain and extend.
- While the new compiler does not yet use type information, its
design should allow the use of type information to be incorporated
fairly easily. This will be important for the generation of C or
Java code.
- The dependence on the Lisp source language has been pretty much
limited to the conversion module. This should allow the core of the
compiler to be used with other source languages.
- The new compiler does more consistency checking and issues more
warning of possible errors.
- The dependence on the byte code engine has been limited almost
entirely to the code generation module. This should allow the core
of the compiler to be used for targeting other runtime systems.
The last point is the most important: This is the first step in
redesigning the runtime system to allow it to work with either a
native engine or a Java runtime system.
Luke Tierney
1998-10-07