

Desertcart purchases this item on your behalf and handles shipping, customs, and support to Cayman Islands.
*Textbook and Academic Authors Association (TAA) Textbook Excellence Award Winner, 2024* Engineering a Compiler, Third Edition covers the latest developments in compiler technology, with new chapters focusing on semantic elaboration (the problems that arise in generating code from the ad-hoc syntax-directed translation schemes in a generated parser), on runtime support for naming and addressability, and on code shape for expressions, assignments and control-structures. Leading educators and researchers, Keith Cooper and Linda Torczon, have revised this popular text with a fresh approach to learning important techniques for constructing a modern compiler, combining basic principles with pragmatic insights from their own experience building state-of-the-art compilers. Presents in-depth treatments of algorithms and techniques used in the front end of a modern compiler Pays particular attention to code optimization and code generation, both primary areas of recent research and development Focuses on how compilers (and interpreters) implement abstraction, tying the underlying knowledge to students’ own experience and to the languages in which they have been taught to program Covers bottom-up methods of register allocation at the local scope Review: Great College Textbook; but, Does it teach how to actually make a compiler? Not really. - One of the best books I've read on compilers. One of my favorite things is the end chapter notes where they refer to prior work to know who did what in the past. I looked up a lot of that for more information. It covers a lot of stuff. Its writing is easy to understand. The pseudocode they use is fairly easy to understand. My only criticism is it's still a college textbook. And, in my experience, those never actually say how to do what it is I'm hoping to learn how to do. They get close, but never really say it or show it. This book covers all the theory and methods in considerable depth, all while not actually teaching you how to make a compiler. Review: Great delivery times and great book :) - Great book, arrived super fast and it’s a book I used in college but I had the online version so I wanted to get the physical one and it’s amazing !
| Best Sellers Rank | #113,307 in Books ( See Top 100 in Books ) #2 in Computer Performance Optimization #4 in Compiler Design #5 in Software Programming Compilers |
| Customer Reviews | 4.5 out of 5 stars 40 Reviews |
E**I
Great College Textbook; but, Does it teach how to actually make a compiler? Not really.
One of the best books I've read on compilers. One of my favorite things is the end chapter notes where they refer to prior work to know who did what in the past. I looked up a lot of that for more information. It covers a lot of stuff. Its writing is easy to understand. The pseudocode they use is fairly easy to understand. My only criticism is it's still a college textbook. And, in my experience, those never actually say how to do what it is I'm hoping to learn how to do. They get close, but never really say it or show it. This book covers all the theory and methods in considerable depth, all while not actually teaching you how to make a compiler.
I**A
Great delivery times and great book :)
Great book, arrived super fast and it’s a book I used in college but I had the online version so I wanted to get the physical one and it’s amazing !
E**S
This book is the best, most up-to-date discussion of compiler technology available today.
I have been using the second edition for years. The new third edition accounts for LLVM code generation tools, including the static single assignment (SSA) form, which greatly simplifies code generator target new targets.
Y**U
Best one after the Dragon Book. But Not Recommended to beginers
I don't have much computer science background except for C/C++ programming. I bought this book for self-learning. I chose this book because 1) It's up-to-date compared with the dragon book. 2) It is in a textbook form. 3) I surveyed all the books after the Dragon Book and it seems to be the best one with a wide coverage and up-to-date technology. However, I was disappointed with some reading. My major complaint is that the book is supposed to be a textbook. But it is difficult to follow. 1) Some concepts are defined on the sidebar of the pages. The main text used them directly. It breaks the reading flow. Maybe I am old-fashioned. I would like to establish the concepts first and then see how they are used. Sidebar definitions look nice. But it is not easy to follow. 2) The authors like to explain things in a top-down way. They seem to be afraid of readers losing the big picture. However, they spend too many pages on high-level descriptions. For example, when explaining LR(1) parser, which is more difficult to understand than the LL(1) one. The authors use many pages to explain the general framework and abstract structure of the general LR(k) parser. If you knew how a bottom-up parser worked before, you are probably OK. For a beginner, you will know nothing after reading many pages. Another example is the chapter on IR, the whole chapter is very high-level. Again, if you don't have a certain level of understanding on IR, you won't get much by reading the entire chapter. When I feel frustrated, I go back to the dragon book. I do feel the Dragon Book explains things much better. But the reality is you can't have one book with up-to-date technology and the dragon-book level clarity. My suggestion is to use this book as a reference instead of a textbook.
S**E
very good quality
perfect
M**E
Seller went above and beyond
Good technical resource. Highly recommend the seller.
J**O
Ok as a reference
Engineering a Compiler is not bad. I use it as a reference once in a while. The problem is that it's just worse all around than some other books on the topic. Newcomers to the field of compilers would do much better to read Bob Nystrom's Crafting Interpreters, which is free online or $45 in print, and is written in a tutorial style that is much more engaging to read than a traditional textbook. More advanced readers would probably prefer the venerable dragon book, which covers almost all the same topics as Engineering a Compiler, often in more detail and at a better pace. You can still learn quite a lot about compilers from this book, and others might prefer this to the dragon book, which has a bit of a reputation for being difficult. But on the other hand, this is an $80 textbook that feels like a worse version of the dragon book, despite coming out 16 years later. I wouldn't recommend it for most people.
A**E
Großartiges Buch, Kindle-Version Schrott
Das Buch an sich ist großartig. Die Kindle-Version ist aber einfach technisch kaputt. Viele math.. Symbole werden als Bild im Fließtext eingebunden und sind viel zu groß in Bezug auf die normale Schriftart. Dadurch ist es kaum zu gebrauchen. Bei dem Preis absolut undenkbar!
N**T
A l'arrivé ce n'est plus un article "neuf" !
Vu le prix de l'article il aurait mérité un bon emballage !! .... donc arrivé dans un état pas très "neuf" avec des marques en raison surement d'un emballage très léger et qui est arrivé déchiré.... Obligé de le garder car c'est pour offrir et pas possible d'attendre pour en recevoir un nouveau (qui en plus sera surement aussi mal emballé).
E**.
Great detailed explanations with mathematical background of the things... Excellent !
If you know Formal Language Theory, Automata Theory, and Set Theory, this book is really great to understand the details of what is going on under the hood of a compiler. Really recommend it !
T**.
A lesser version of the "Dragon Book"
I'm somewhat disappointed by this book, although it's not a bad reference overall. The text is mostly fine and quite thorough, with a very similar approach to the "Dragon Book" while being sometimes more up-to-date (full reference of the Dragon Book at the end). However, many sections are less detailed and painful to read. For example, the RE/NFA/DFA scanners seem to miss some steps and a proper presentation. The transformation from RE to NFA starts with a block of theory in which some terms have not been introduced - the reader has to fetch them further in the book and look at later examples to make sense of what the authors meant. Or the top-down and bottom-up parsing sections, which are essential parts of understanding how compilers work, are too summarized and not very clear in comparison to the Dragon Book either. There too, the authors tend to be entrenched in their abstract narrative, sometimes being even inconsistent in their notation, instead of clarifying what they mean with a simple example. I'm surprised that modern tools are not better represented since they are a great help when developing a compiler (Lex, Yacc, ANTLR, LLVM, ...). It's always a good idea to mix theory and practice, and help the reader understand how it is applied with existing tools. After all, most of them won't be making a new compiler from scratch, they will be using existing tools. There seems to be font issues as well, because some variable letters appear in a completely different format in the equations and the related text, which may be confusing sometimes. I know that this problem occurs sometimes in the publishing process when different software tools are used - authors of a couple of other books have reported that to me in the past. But this is the third edition, such issues should have been identified for a long time. More frustrating is the lack of solution to the exercises. The book claims in the preface that the solutions, along with other resources, were available on the website. I typed the long URL to get there, but there was nothing available. After a few exchanges with a support who was obviously unwilling to help in any way, it appears that this promised "additional material" is only available to professors, after giving personal details on a specific portal (you still have to go through the support to get there, and get an approval after submitting your personal details). It's not entirely legal and I was relying on the solutions to help with the learning curve, so I feel cheated. Just keep in mind that it's simply not available to anyone - I'm not even sure that it's free to teachers who qualify. Similarly to other reports, the first book I received was in bad condition, its cover had clearly suffered during the shipping or when it was stored by Amazon. Also, the printing process doesn't seem very good since there are ink stains and artefacts on many pages. Fortunately, the 2nd book I received after returning the first was in a better shape, and had fewer of those stains. Physically overall, it is easy to handle and while the sheets are curiously uneven on the fore edge, the assembly seems robust and not likely to fall apart after the first reading. I like the notes in the margin, but why not use them to add definitions and acronyms (that I had to search multiple times)? The very succinct index didn't help much either. For some of the terms, I finally looked into the Dragon book. Considering the steep price of this book, I'm removing a few stars for all those problems. If the solutions were freely available (or better - in the book itself), if the book had a good index, and no font issues, I would have given it 3 stars. Buy this book only if you can't get a copy of Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman.
G**S
Please consider using better packaging
It is in my opinion the best textbook for the subject however it can be improve by providing more practical knowledge for example how to write a grammar or how to use popular tools like flex/bison, ANTLR. It can also provide some software design principles about how a compiler is made I don't count how many times i recieved a book in a NOT "new" condition from Amazon. The packaging is very thin and the books come in not acceptable condition. Perchaps they don't even care.
Trustpilot
5 days ago
4 days ago