The compiler is written in Bruno Haible's CLisp, an implementation of Lisp for OS/2. There's nothing special about this: any decent symbolic language would have done, and CLisp just happened to be freely available out of the restricted choice existing for OS/2. In particular, one could use Object Rexx, though this would mean switching from the mainly functional programming style which I prefer in compiler-writing to a more object-oriented one.
There are three phases: