If you want to look at a real-world compiler, check out the Go suite of "gc" compilers, which are mostly written by Ken Thompson. The source for the Go ARM compiler is at http://golang.org/src/cmd/5g/, or you you can browse the entire Go source tree at http://code.google.com/p/go/source/browse.
The Go compilers are very fast. For most of the code I've developed (several hundred lines per package) I rarely have to wait more than 0.1 seconds to compile and link on my 2.4GHz i5.
The Go compilers are very fast. For most of the code I've developed (several hundred lines per package) I rarely have to wait more than 0.1 seconds to compile and link on my 2.4GHz i5.