This exciting new book combines a detailed study of modern theories of compilerdesign with a complete description (with source code)of a working compiler for a small language.The book reflects the authors conviction that practical aspects of compiler design cannot be understood without a grasp of theory,and that theory cannot be truly comprehended by undergraduate students without seeing it put into actual practice.Unifying the texts discussion of concepts is a complete working compiler written in C and developed using the techniques discussed in each chapter.Extensive exercise sets at the end of each chapter focus students attention on specific programming problems.