Crafting a Compiler is a practical yet thorough treatment of compiler construction. It is ideal for undergraduate courses in Compilers or for software engineers, systems analysts, and software architects. Crafting a Compiler is an undergraduate-level text that presents a practical approach to compiler construction with thorough coverage of the material and examples that clearly illustrate the concepts in the book. Unlike other texts on the market, Fischer/Cytron/LeBlanc uses object-oriented design patterns and incorporates an algorithmic exposition with modern software practices. The text and its package of accompanying resources allow any instructor to teach a thorough and compelling course in compiler construction in a single semester. It is an ideal reference and tutorial for students, software engineers, systems analysts, and software architects.
We used this book back in my first compilers class, as a wee undergraduate with more exuberance than good sense. It's, frankly, pretty terrible, especially compared with the other compiler texts other there (it's closest to Aho-Ullman in its coverage). I saw it in the Engineers Bookstore used the other day, and might go pick it up just for sentimental reasons. Man, I sure did put in a terrible performance in this class (made it up in graduate parallelizing compilers this last semester, though). So much time and space wasted in those early undergraduate years, sigh!
Do not buy this book. I am sure that there are plenty alternatives to it. Although it gets the job done, i found it pretty unpleasant to read, partially due to the weird algorithmic notation used throughout the book.