This 700-page tome is split into two distinct parts. The first deals with the various stages of compiler design from a generic viewpoint and the second contains chapters on the specific issues involved in creating compilers for various types of language.
The first part follows the design of a compiler through the various stages, starting with lexical analysis and parsing and moving on through dealing with the internal representation of a program to the issues of code generation and optimisation.
The second part deals with issues specific to imperative and OO programs, functional programs, logic programs and parallel or distributed programs.
On the whole I have no major complaints about the book. The example code is generally not too bad - it is not perfect C but then this is not a book about teaching C or any other language. In fact the approach taken to the subject tends towards the theoretical rather than to practical examples - the book very much has the air of a computer science textbook and this is probably responsible for the generally dry style of writing used.
This is certainly not a book for everyone but it is a book that should be considered if you have a need for a detailed work on compiler design.