Thanks to a post by John Rappe on the
firstname.lastname@example.org list for the tip - Nicholas Wirth's "Compiler Construction" book is available for free here (600 KB, PDF). It's taken from his lecture notes and discusses writing an Oberon compiler. You can also get a print version from Amazon.
Since I've been working on Generating Parsers With JavaCC, I'm mostly interested in the first couple sections in the book where he covers lexical analysis and parsing. What I've read so far has been (as you would expect) very concise and informative. It's great stuff from a true language guru.