CDN$ 161.68
  • List Price: CDN$ 180.90
  • You Save: CDN$ 19.22 (11%)
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.ca.
Gift-wrap available.
Quantity:1
Compilers: Principles, Te... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Compilers: Principles, Techniques, and Tools (2nd Edition) Hardcover – Aug 31 2006


See all 4 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
Hardcover
"Please retry"
CDN$ 161.68
CDN$ 114.48 CDN$ 69.99

Best Books of 2014
Unruly Places is our #1 pick for 2014. See all

Frequently Bought Together

Compilers: Principles, Techniques, and Tools (2nd Edition) + Structure and Interpretation of Computer Programs
Price For Both: CDN$ 216.88


Customers Who Bought This Item Also Bought


Product Details

  • Hardcover: 1000 pages
  • Publisher: Prentice Hall; 2 edition (Aug. 31 2006)
  • Language: English
  • ISBN-10: 0321486811
  • ISBN-13: 978-0321486813
  • Product Dimensions: 16.8 x 3.8 x 23.6 cm
  • Shipping Weight: 1.2 Kg
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (48 customer reviews)
  • Amazon Bestsellers Rank: #48,698 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

From the Back Cover

This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published.  The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development. Computer scientists, developers, and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.

About the Author

Alfred V. Aho is Lawrence Gussman Professor of Computer Science at Columbia University. Professor Aho has won several awards including the Great Teacher Award for 2003 from the Society of Columbia Graduates and the IEEE John von Neumann Medal.  He is a member of the National Academy of Engineering and a fellow of the ACM and IEEE.

 

Monica S. Lam is a Professor of Computer Science at Stanford University, was the Chief Scientist at Tensilica and the founding CEO of moka5. She led the SUIF project which produced one of the most popular research compilers, and pioneered numerous compiler techniques used in industry.

 

Ravi Sethi launched the research organization in Avaya and is president of Avaya Labs.  Previously, he was a senior vice president at Bell Labs in Murray Hill and chief technical officer for communications software at Lucent Technologies. He has held teaching positions at the Pennsylvania State University and the University of Arizona, and has taught at Princeton University and Rutgers.  He is a fellow of the ACM.

 

Jeffrey Ullman is CEO of Gradiance and a Stanford W. Ascherman Professor of Computer Science at Stanford University. His research interests include database theory, database integration, data mining, and education using the information infrastructure.  He is a member of the National Academy of Engineering, a fellow of the ACM, and winner of the Karlstrom Award and Knuth Prize.

 


Inside This Book (Learn More)
Browse and search another edition of this book.
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.0 out of 5 stars

Most helpful customer reviews

3 of 3 people found the following review helpful By Amazon Customer on Oct. 9 2003
Format: Hardcover
What can you say about a book that has 41+ reviews, and all with close to perfect marks?
I bought this book not as it required so by almost any and all classes that teach about compiler design, but because I was interested in compilers and didn't have a chance to take class as part of my degree. It's a great book. Explains things well, and there are enough supporting material on the web that you can do a self paste study on your own and still get a lot out of this book.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Hardcover
If you find yourself struggling with this book, it is probably
not your fault. The book is not well written or well organized.
The chapters don't build on each other, so you might as well
dip into it wherever your fancy strikes. The chapters are
simply piles of information: there is no synthesis. The
reader has do all the work of putting it together.
Just a small, irritating example of what the book is
missing: the authors mention "context-free grammars"
over and over from the very start, but if you want to
find out what the term signifies, you need to hunt with
the help of the index until you come upon a poor explanation
somewhere in the middle of the book. And context grammars
are never explained at all, even though they are mentioned.
The reader is left with the impression that she or he should
somehow know already what these grammars are (in fact,
grammars are not explained, either!).
A lot has been learned about compilers since this book was
written, so it's time to retire this chestnut
and start anew.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Hardcover
You can hardly search the internet for compiler books without seeing the "Dragon Book" rear its head. Intrigued by its reputation as the authority (not to mention being very hard to read,) I had to buy it.
This book is very theoretical! That may be good or bad, depending on how used you are to handling theory. It is well organized. The authors break the compiler into front end and back end, and then further into symbol table, lexer, parser, semantics, intermediate code generation, code generation, and code optimization. There are chapters dedicated to each.
I didn't read the whole book (so I'm still a mere mortal,) only the recommended introductory sections followed by some browsing. This was out of personal interest - not for a class. By the time I was through chapter 7 or so, I sat down and started planning a [cheesy] Pascal compiler (they give the grammar as a project.) I'm not done yet - heh - but I haven't been frustrated by anything the book hasn't covered yet. Therefore, I can testify that this book has really guided me well.
However, like I said, if you space out in the presence of pure crystalline theory, then this book is not for you. Usually the first 3 sections of a chapter are 100% theory, then the "how to" section, followed by advanced theory. It may help if you have taken some courses in abstract algebras - I'm not kidding! Also, a (the) major flaw this book has is the mysteriously missing pages of code. There is no complete compiler (of anything significant) to study (which is why it gets 4 instead of 5 stars.) The only thing close is a 5 page infix to postfix translator written in archaic C. This book gives you the tools, not the answers. Be warned.
Still, I recommend it to the dauntless and couragous... dragon slayers. [Hack-snort]
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
By A Customer on July 6 2002
Format: Hardcover
the biggest problem with this book is that it's very disorganized. i guess one reason might be that each of the 3 authors are so full of themselves that each one speak their own voice. the result is that you will see EVERY topic to be repeated 3 times in the book, and none of them really get clarified.
for a university student, this book may serve OK as a reference book, since you will mostly use the instructor's class notes anyway. what reference you use doesn't really matter.
for a self-learner, this book is really a terrible read. i recommend you get another book such as Thomas Pittman's <the art of compiler design>, or as of 2004, Cooper and Torczon's <engineering a compiler>.
to me, a book with more than 400 pages tends to be badly written. a book is thick mostly because the author(s) doesn't have time to make it thinner. though in this case, the authors have had about 20 years to revise the book. why didn't they do that?
compiler design is relatively easy to understand compared with other topics like numerical analysis. one needs only a high-school student's algebra and logic knowledge to understand what's going on, if the topic is carefully explained. the authors of this book pretend it's some esoteric high art (hinted by the ridiculous dragon-slaying cover art). confused by the disorganized explanation, you might as well buy that.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Hardcover
Once again, I want to point out the title of the book: "Principles, Techniques and Tools".
I think there are two kinds of compilers books available today: "Principles and Theory centered" ones and "Modern Compilers design and implementation" ones.
One might wonder what's the difference between the two.
The former kind is more suited for a course on theoretical aspects that lay the foundation of compiler construction. DFAs, NFAs and Regular expression along with relations and equivalence between the them; FSAs minimizations; grammars and Push-down FSAs in details, ambiguities and and how to cope with them; and so on.
This is what I mean for "theoretical aspects". And these topics are covered in great details in this book. Almost the same details they (the authors) placed on writing a more specific book as "Introduction to Automata Theory ...".
Same situation applies to principles on more application- oriented topics. Take the example of LR parsing. You can face the topic from a more theoretical side, dealing with details on bottom up parsing (still, it implies an in-depth knowledge of grammars theory), handles and (viable) prefixes, SLR or canonical LR or LALR parsers and techniques for the relative tables construction by hands (and for this, add a detailed and solid knowledge of Push-down FSAs along with grammars). By hands, at least, if principles are what matter in your course.
If you expect to find these topics (with this depth) in a book of the other kind, you might get mislead. As I did when I still had not clear this distinction, before I took the course.
The latter kind of books is more suited for a more pragmatic course.
Read more ›
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most recent customer reviews



Feedback