Grune's Compiler Design is the classic text on the subject; updated to cover memory management, compiler writing in adaptive programming style and object-oriented, functional, and logic languages. This book also includes new coverage of: embedded systems; event-based, aspect-oriented and adaptive programming; just-in-time compilation; recovering grammars from legacy code; embedded systems issues; and, code generation for event-based programs. This new edition features revised pedagogy, with summaries, study hints and exercises after each section. A lab project in compiler design has been adapted for wider use, to be made available to teachers using the book. This new edition is also substantially redesigned to aid navigation; roadmaps have been adapted to a more informative design and key points are marked out prominently.