How does a compiler work?

I'm interested in eventually building a compiler.
As I understand it, these are the steps involved in compiling:
Preprocessing (if relevant to the language)
Compiling (syntax, etc)
Linking (libraries)

Where might I find information on this? (I've already ordered the dragon book and plan to devote most of my summer to it)
Can anyone point me to more information on the individual processes involved in compiling?

Pre-publishing edit: I don't think I can build a compiler (so please don't accuse me of arrogance). I might not know enough to do it at this point in my programming career, but I intend to learn for the rest of my life, and eventually I'll be able to do something on this scale.
Last edited on
Topic archived. No new replies allowed.