Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Modern Compiler Implementation in Java

Modern Compiler Implementation in Java

List Price: $65.00
Your Price: $50.70
Product Info Reviews

<< 1 2 3 >>

Rating: 1 stars
Summary: An absolute waste of paper
Review: Andrew Appel's textbook (Modern Compiler implementation in Java) has been prescribed as a Course Textbook. Given a choice, I strongly recommend to take it from the library or any place where you can get it for free for one semester/quarter. This book is not worth the money and is an absolute waste. Not only does it not teach you anything about compilers, but if you already know something, then it serves to confuse you.

The author has tried to explain things using an example and "steps" through the process of writing a compiler. So in that sense, if you are just looking to write a compiler and be done with it whether you understand it or not, then this book might be considered OK, though not good in any sense.

No theory about compilers is explained and the author seems to be talking to himself throughout the text.

Rating: 4 stars
Summary: Wonderful content marred by confusing samples and typography
Review: As many others have noted, the "Dragon Book" by Aho, Sethi, and Ullman feels outdated today. The early chapters on regular expressions and grammars are still top-notch, but the latter chapters on register allocation and optimization are in desperate need of updating.

Appel's book was a wonderful update on the state of the compiler world, with RISC and garbage-collection issues brought to the fore -- while still discussing aspects of the still important CISC processors out there. Its chapters on Static Single Assignment form (SSA) and register allocation were clear and the pseudo-code included in the text was sufficient to get me past a stage on a personal project where I'd been stuck for quite some time.

The early chapters on lexical analysis and parsing are on the skimpy side, but rightfully so since these areas are mature (and the avid reader can always read "Dragon Book" if necessary). The progression through abstract syntax to register allocation leads the reader into what eventually becomes the final compiler output. The introduction of functional languages was of theoretical interest, while the chapters on polymorphism and loop optimisations were filled with interesting tidbits.

Unfortunately, the code examples can sometimes be very confusing. Appel uses many similarly named namespaces and classes, and his justifications for doing so felt weak. This confusion was worsened by several editing mistakes and missing diagrams. I also wish the typography had been more consistent; sometimes, code examples are in monospaced "computer" font while sometimes they are in bold serifed font, adding to the confusion.

Nevertheless, this is one of my favorite compiler books. I've been using it so intensively in my project that I've almost broken the spine of the book -- and may need to purchase another copy for archiving.

Rating: 4 stars
Summary: Good book... but watch out for errors!
Review: Concise introduction to compile design. There are around 50 errors in this 500-page work. So be sure to check the errata list.

Rating: 1 stars
Summary: Poorly constructed, and teeming with errors.
Review: Considering the nature of the text, I find it most peculiar that Mr Appel doesn't own a java compiler. For if he did he surely would have found, and corrected, the teeming mass of errors that is his example java code throughout the book. After paying an exorbitant price in excess of NZ$100 for such a sadly dissapointing text, I can only recommend that Mr Appel check his example code with increased vigour in the future.

Rating: 1 stars
Summary: Need definition of "confusing" ?
Review: Designing and implementing a reasonable compiler is a fairly masochistic activity. But this book makes it much worse. Poorly written, awfully confusing this book presents a spaghetti of java classes without even a slightest attempt to clarify the concepts or create any general understanding of the subject.

While painfully struggling through this mess I was under the impression that the author was writing it on the side of napkins during lunch. And never reread what he wrote.

To make it even worse the book is full of errors, and bugs in code examples. Publishing this mess is a disrespect to readers (and students who might be so unlucky as to have this for a course textbook) I do not know if there is anything better available, but this is unacceptable.

Rating: 3 stars
Summary: A reasonable undergraduate compilers text
Review: I find this to be one of the better choices currently available as a textbook for an undergraduate compilers course. As it promises, it presents a modern view of compiler construction, and many difficult new techniques are covered fairly clearly. The book is particularly appealing because it provides a fairly explicit cookbook for how to construct a compiler from start to finish, and the different parts of the book fit together much better than in, say, the Dragon Book. It also contains good material on implementing more advanced language features.

The book has a number of weaknesses that have been touched on by other reviewers. The number of errors in the text is larger than it should be. The explanations of certain topics are weak: LR parsing and dataflow equations come to mind. In general, topics are covered in only slightly more depth than a class lecture on the topic would reach. This makes the book less useful as a reference after the course ends.

Rating: 4 stars
Summary: It's the only *modern* compiler textbook out there
Review: I have taught a graduate compiler class out of this text, and that worked out very well. But I would not recommend this text for an introductory undergraduate compiler course without an automata theory and programming languages prerequisite.

Students loved the sophisticated compiler design built up in the text, but suffered through overly concise and sometimes incomplete explanations (I think many of the "errors" reported are really omitted details). Much of that can be made up for in lectures, but it makes the text hard going on its own.

So why is this an important text to consider? The Dragon book is out of date on compiler optimization, and good optimization books (I like Morgan best, Muchnick second) really can not serve as "big picture" compiler texts -- they are good reference books. Optimization is where it's at these days, and this is the only textbook that easily builds to that level.

Don't be fooled by the Java edition. The compiler design reflects the ML/Haskell school of data abstraction, and will seem odd to Java programmers. But that's a good experience in itself.

Rating: 1 stars
Summary: ALL HOPE ABANDON, YE WHO ENTER HERE.
Review: I held the accursed object with both hands and examined it closely. It felt small and weak There was a change after I finished the exam. Suddenly what had once seemed an insurmountable obstacle had been reduced to a collection of molecules. Something small and without worth, a mere shadow of the former imposition. Yes, I held a mere object in my hands. Something, which would no longer hold, power over me. I was suddenly struck by a tremendous urge to exert my power over it. I envisioned myself beating the book against tress and concrete benches, hurling it baseball-pitch style at brick walls, hitting it with a ten-pound sledge at full tilt, drop-kicking it off of high buildings, tearing it cover-from-cover with my bare hands.
But most importantly, most eerily satisfying, were the visions of setting the terrible book on its side, allowing the pages to ruffle gently under the cover,-and igniting a book of matches underneath the pages. I longed to see it burn. I wanted to, through my own volition and physical power, reduce it. O book most foul, into the optimally entropic form, then relieve my bladder onto its smoldering ashes. I could think of nothing more satisfying.

I'm not entirely sure why I didn't, just then and there, outside the Wetherill Laboratory of Chemistry, satisfy my urges and just destroy the beast. Perhaps I'm not entirely certain that my travail with 'modern compiler imple- mentation in Java" is over. I won't be certain of that until I stand with a report card in hand. But the blind rage continues.

It sits on my shelf until then, forever staring at me with a bright red cover and insulting lower-case sans- serif typeface, the author's name 'Appel" an invocation of the original sin which lies within. Every time I see it there, I have feelings of hatred, angst, depression, and bitterness. I feel the bile rise in my throat and the heartburn of a dozen sleepless nights staring into its murky depths at the merest glance. The angrily pacing tiger on the front cover stands as a warning to all who would journey within of the dangers which await. Inside the front cover, scrawled in all capital letters in indelible black marker by a shaky hand, lie the words "ALL HOPE ABANDON, YE WHO ENTER HERE."

Apparently, the student who possessed it before me shares my enmity. It is truly a foul thing, an ancient, unknowable evil. By all rights and privileges, it should be written in virgin blood on human skin and bound with the tortured souls of those who dared to face it and lost. I know what must be done. It must be struck from the universe. It must be, for the good of all mankind, rendered forevermore unreadable, so it may not torment the others who, unprepared as I was four months ago, would even briefly consider themselves strong enough to face what lies within. Fools! None may face the tiger and win! Those who survive the course are never again the same person as before the course. Those who live to tell of their encounter with the book rarely talk about it, and do so in hushed tones, fearful of its horrid consequences. I cannot abide this world with the nowledge that it still exists.

Take thy interference graph from out my heart, and take thy intermediate representation from off my bookshelf.

TAKE THY INTERFERENCE GRAPH FROM OUT MY HEART, AND TAKE THY INTERMEDIATE REPRESENTATION FROM OFF MY BOOKSHELF.

quath the Tiger, 'Only if you passed.'

Patrick Fitzgerald, Senior, School of Science, Purdue University

Rating: 5 stars
Summary: Great Reference!
Review: I helped debug this book in Appel's Compilers Class at Princeton University, and I strongly recommend it. Appel has scoured the literature to summarize every compiler trick out there, presenting the algorithms concisely and clearly. If you've ever tried to read a compiler paper directly, mathematical notation and all, you'll appreciate this! This book may not replace the infamous "dragon book" -- but it's a whole lot easier to code from.

Rating: 5 stars
Summary: Finally, a compiler book that makes sense to me.
Review: I love the chapter layout and the explanations of compiler concepts contained in this book. The language is a bit dry and somewhat mathematical at times. It may not be a perfect fit for every one. However, it was just what I needed to help me understand graph coloring and flow analysis. I like that he uses pseudo-code adaptable to many different languages in different places in the book. Originally, I bought this book strictly for its explanations of register allocation and liveness analysis. Those chapters were good, but flipping through, I can see that the remaining chapters may clear up other questions I may have as I become a more advanced compiler writer.

Overall, I am glad I bought this book. I own several rather academic books on compilers as well as some more practical books such as Writing Compilers and Interpreters by Ronald Mak and A Targetable C Compiler: Design and Implementation by Fraser/Hanson. Each has its strengths and weaknesses. Overall, I like this Appel book for its good examples of difficult to understand concepts.


<< 1 2 3 >>

© 2004, ReviewFocus or its affiliates