Writing Compilers and Interpreters: An Applied Approach by Ronald Mak
Writing Compilers and Interpreters treats the topic of compiler design as a set of practical skills rather than a body of theory. These skills are taught through a series of source program utilities - by the end of the book the reader will have written a small library of useful utilities, an interactive debugging interpreter and a working Pascal compiler in C. The similarities and differences between compilers and interpreters are clearly defined - including advantages and drawbacks.