Not a book, but a technical paper and an enormously fun learning experience if you want to know more about compilers (and metacompilers)... This website walks you through building a completely self-contained compiler system that can compile itself and other languages:
Tutorial: Metacompilers Part 1
This is all based on an amazing little 10-page technical paper:
Val Schorre META II: A Syntax-Oriented Compiler Writing Language
from honest-to-god 1964. I learned how to build compilers from this back in 1970. There's a mind-blowing moment when you finally grok how the compiler can regenerate itself....
I know the website author from my college days, but I have nothing to do with the website.