LLVM. It is a ridiculously well written and well documented codebase. The transformation/optimization framework is remarkable and surprisingly approachable. The compiler intermediate representation is easy to work with both in the emitted bitcode files and in llvm's internal data structures. I find it a joy to work with.
Its also cool due to all of the other great technologies that are taking advantage of it (Mono, Parrot, Adobe CS4, Apple)
I think once llvm and clang become mature enough, the FOSS community will completely supplant gcc with this technology.
Its also cool due to all of the other great technologies that are taking advantage of it (Mono, Parrot, Adobe CS4, Apple)
I think once llvm and clang become mature enough, the FOSS community will completely supplant gcc with this technology.