I found the Dragon book much too hard to read with too much focus on language theory that is not really required to write a compiler in practice.
I would add the Oberon book which contains the full source of an amazingly fast and simple Oberon compiler Project Oberon.