Also covers a lot of compiler construction issues - parsing and scanning, semantic analysis, code generation, and optimization.
Based on the moderately detailed overview at Amazon, this looks like a book that thoroughly covers all the basics, and its first edition was 2000. How can a "classic", as some called it, covering the basics, have become "a bit dated" in 4 years? Have there been breakthroughs in implementing loops recently that I overlooked???
Simply that the book focuses on the procedural - which, for a discussion of loops, is fine. I like the book very much and consider it a fine introduction. Perhaps I'm being too picky here... Of course, students of programming language design would do well to augment this book (or any introductory work) with others that cover specific topics in greater depth.