The "Dragon Book" is pretty solid and a widely accepted resource:
http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniqu...
It used to be good, but it is not any longer thought of that way.
And I agree with your basic point that building one is the only to gain true understanding.