ing an interpreter. The
compiler we construct accepts a large subset of the Scheme 
programming language and produces assembly code for the Intel-x86
architecture... The
development of the compiler is broken into many small 
incremental steps. Every step yields a fully working compiler for a 
progressively expanding subset of Scheme. Every compiler step produces
real assembly code that can be assembled then executed directly
by the hardware. ...</p>

<p>Compiler construction is not as complex as it is commo