This book provides a practical approach to compiler implementation and shows how the different language features are handled and translated in the compilation process. Unlike most books in this area, The Theory and Practice of Compiler Writing thoroughly covers programming language design and error detection, and recovery techniques in compilation, enabling readers to get a firm grasp on compiler planning and programming. Traditional topics such as lexical analysis, syntactic analysis, symbol table handling, semantic analysis, code generation and code optimization are given balanced coverage.