compiler from Abdulaziz Ghuloum's An Incremental Approach to Compiler Construction
Clojure C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


This is the Lisp compiler from the oft-recommended "An Incremental
Approach to Compiler Construction". In some cases, the code closer
resembles the sister document "Compilers: Backend to Frontend and Back
to Front Again".

It emits x86 assembly that can be assembled with gcc on 32-bit
GNU/Linux; see the `compile-and-run` function for details. I used
Vagrant for easy access to a 32-bit Ubuntu box since the output of
`gcc -S` on Snow Leopard was pretty complicated compared to what the
paper starts with.