Good introductory book on programming language design, if a bit dated. It tends to focus a lot on procedural and block-structured languages as opposed to OO, functional, or LogicProgramming - and no heed is paid at all to things like SQL or ConstraintProgramming. One explanation is that this is a pedagogical device to introduce basic concepts such as looping, selection, etc... concepts which apply to most languages but are easier explained with procedural ones.
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.