Series: Addison-Wesley series in computer science and information processing
Hardcover: 614 pages
Publisher: Addison-Wesley; 2nd edition (August 1977)
Product Dimensions: 9.3 x 6.9 x 1.3 inches
Shipping Weight: 2.2 pounds
Average Customer Review: 4.8 out of 5 stars See all reviews (9 customer reviews)
Best Sellers Rank: #252,877 in Books (See Top 100 in Books) #21 in Books > Computers & Technology > Programming > Languages & Tools > Compiler Design #42 in Books > Computers & Technology > Programming > Languages & Tools > Compilers #2173 in Books > Textbooks > Reference
The quintessential reference for anyone interested in the subject of compiler design and development. This sub-field of Computer Science forms a scientific core the theory of which is universally applicable to so many areas of our field that every professional computer scientist and software developer/programmer should be intimately familiar with the basic tenets included: lexical analysis, parsing, optimization, symbol management, space vs. time considerations, and especially BNF (notation for specifying grammars). Even if you are not a compiler developer and have no intention of becoming one, this knowledge is so fundamental to being a good software developer and intelligent user of compilers that no professional can afford not to have read this book and keep it handy as a reference.
It is really a great book, especially for self study. Unlike newer variations on the same theme that are more concerned with stuffing a book with something that makes the table of contents look attractive, this one really covers things in detail. Very well written too. Books like that re-kindle the '...love of study, a passion which derives fresh vigour from enjoyment...' as Gibbon put it. Makes you suddenly recall why you still are in this damn profession. Keep it handy--for psychological reasons, to be used in moments of Microsoft "technologies" triggered developmental distress.They used to write good books (tm)
The key to a book being 'really amazing' can often just be that it is pitched to the exact level the reader needs, and is about something he or she is really interested in. I think both of these things conspire to make me a biased reviewer of this text, but I can say that after just the first chapter I was already putting what I learned to work in an ASP program...yes, not a theoretical compiler project, etc., but a good-old website. There is so much that we do in programming that is compiler-like (and so much we do to interact with the compilers driving our languages) that having a better conceptualization and a solid vocabulary to describe what compiling is about can benefit any programmer.The writing style is direct, not boring, and is not entirely absent of a little dry wit. But it is not personal. The cover art should not lead you to think this is a 'fun' approach to the subject. It's business.Can't go wrong if you like this sort of thing. If you're a student just trying to get by somehow, well, at the price I guess you might as well give it a try. Besides, then you can throw in some comment about "the dragon book," and seem really in the know about this 'classic'.
The top researchers in the field give this (by now) legendary compiler book. Crisp and stimulating discussions of the various phases of compilers. A major disadvantage is that examples & exercises are few. While reading the stuff on LALR parsers for the first time one feels woefully lost.... serious stuff intended for careful study - not just another book for perusal.
Despite its age, this book is still quite astonishing. I have a little knowledge of llvm and gcc, and the information in this book is still seems to be as good as the day it was written. Variants of the tools mentioned still exist, and are still used for the same things. Other than mentioning languages such as FORTRAN throughout the chapters you wouldn't even know the age.There are lots of examples and problems to work through, but there aren't so many as to bore you with a single topic (this is not a math textbook). Be prepared to take your time reading this book, however, it isn't like many more modern CS books that tend to repeat themselves many times (leading to this book being compact).
Principles of Compiler Design (Addison-Wesley series in computer science and information processing) First Principles of Discrete Systems and Digital Signal Processing (Addison-Wesley Series in Electrical Engineering) Ada for Experienced Programmers (Addison-Wesley series in computer science) Apache Hadoop YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop 2 (Addison-Wesley Data & Analytics Series) Apache Hadoop YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop 2 (Addison-Wesley Data & Analytics) The Design and Implementation of the 4.4 BSD Operating System (Addison-Wesley UNIX and Open Systems Series) Introduction to Compiler Design (Undergraduate Topics in Computer Science) HACKING: Beginner's Crash Course - Essential Guide to Practical: Computer Hacking, Hacking for Beginners, & Penetration Testing (Computer Systems, Computer Programming, Computer Science Book 1) R for Everyone: Advanced Analytics and Graphics (Addison-Wesley Data & Analytics Series) Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Adobe Reader) (Addison-Wesley Signature Series (Fowler)) Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler)) Circuits, Interconnections, and Packaging for Vlsi (Addison-Wesley VLSI systems series) Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) Hadoop 2 Quick-Start Guide: Learn the Essentials of Big Data Computing in the Apache Hadoop 2 Ecosystem (Addison-Wesley Data & Analytics Series) TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) TCP/IP Illustrated, Volume 1: The Protocols (Addison-Wesley Professional Computing Series) TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition) (Addison-Wesley Professional Computing Series) TCP/IP Illustrated, Vol. 2: The Implementation (Addison-Wesley Professional Computing Series) Advanced Programming in the UNIX Environment (Addison-Wesley Professional Computing Series) The Go Programming Language (Addison-Wesley Professional Computing Series)