I would recommend Appel's Modern Compiler Implementation series. It is good starting place for building up compiler fundamentals and progressively implementing a reasonable compiler for a reasonably rich language without getting bogged down from too many idiosyncrasies.