Programming Books C Java PHP Python Learn more Browse Programming Books

Select your rental length

Starts: Today
Ends:

Rent From: $40.63

Deliver to your Kindle or other device

Enter a promotion code
or gift card
 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Advanced Compiler Design and Implementation [Kindle Edition]

Steven Muchnick
4.3 out of 5 stars  See all reviews (19 customer reviews)

Digital List Price: $140.00 What's this?
Rent From: $40.63 or Buy Price: $112.00
Save up to: $99.37 (71%) You Save: $28.00 (20%)

  • Print ISBN-10: 1558603204
  • Print ISBN-13: 978-1558603202
  • Edition: 1
  • Length: 856 pages
  • Due to its large file size, this book may take longer to download

Formats

Amazon Price New from Used from
Kindle Edition
Rent from
$112.00
$40.63
 
Hardcover --  
Paperback --  
Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Book Description

From the Foreword by Susan L. Graham:
This book takes on the challenges of contemporary languages and
architectures, and prepares the reader for the new compiling problems that
will inevitably arise in the future.

The definitive book on advanced compiler design
This comprehensive, up-to-date work examines advanced issues in the design
and implementation of compilers for modern processors. Written for
professionals and graduate students, the book guides readers in designing
and implementing efficient structures for highly optimizing compilers for
real-world languages. Covering advanced issues in fundamental areas of
compiler design, this book discusses a wide array of possible code
optimizations, determining the relative importance of optimizations, and
selecting the most effective methods of implementation.

* Lays the foundation for understanding the major issues of advanced
compiler design

* Treats optimization in-depth

* Uses four case studies of commercial compiling suites to illustrate
different approaches to compiler structure, intermediate-code design, and
optimization—these include Sun Microsystems's compiler for SPARC, IBM's for
POWER and PowerPC, DEC's for Alpha, and Intel's for Pentium an related
processors

* Presents numerous clearly defined algorithms based on actual cases

* Introduces Informal Compiler Algorithm Notation (ICAN), a language devised
by the author to communicate algorithms effectively to people



Editorial Reviews

Amazon.com Review

Optimizing compilers, which turn human-readable programming languages into the smallest, most efficient machine code possible, are among the most complex pieces of software ever written. Building a compiler is both science and black art and demands an intimate knowledge of data structures, algorithms, high-level programming languages, and processor architectures and their instruction sets. Advanced Compiler Design and Implementation presents a comprehensive and technically up-to-date look at design of real-world compilers for CISC- and RISC-based uni-processor architectures. The author led the advanced compiler design and implementation teams for both Hewlett-Packard's PA-RISC and Sun Microsystems's SPARC processors.

From the Back Cover

From the Foreword by Susan L. Graham:
This book takes on the challenges of contemporary languages and
architectures, and prepares the reader for the new compiling problems that
will inevitably arise in the future.

The definitive book on advanced compiler design
This comprehensive, up-to-date work examines advanced issues in the design
and implementation of compilers for modern processors. Written for
professionals and graduate students, the book guides readers in designing
and implementing efficient structures for highly optimizing compilers for
real-world languages. Covering advanced issues in fundamental areas of
compiler design, this book discusses a wide array of possible code
optimizations, determining the relative importance of optimizations, and
selecting the most effective methods of implementation.

  • Lays the foundation for understanding the major issues of advanced
    compiler design

  • Treats optimization in-depth

  • Uses four case studies of commercial compiling suites to illustrate
    different approaches to compiler structure, intermediate-code design, and
    optimization-these include Sun Microsystems's compiler for SPARC, IBM's for
    POWER and PowerPC, DEC's for Alpha, and Intel's for Pentium an related
    processors

  • Presents numerous clearly defined algorithms based on actual cases

  • Introduces Informal Compiler Algorithm Notation (ICAN), a language devised
    by the author to communicate algorithms effectively to people

Product Details

  • File Size: 15341 KB
  • Print Length: 856 pages
  • Publisher: Morgan Kaufmann; 1 edition (September 17, 1997)
  • Sold by: Amazon Digital Services, Inc.
  • Language: English
  • ASIN: B003VM7GGK
  • Text-to-Speech: Enabled
  • X-Ray:
  • Lending: Not Enabled
  • Amazon Best Sellers Rank: #755,305 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?


Customer Reviews

Most Helpful Customer Reviews
37 of 39 people found the following review helpful
5.0 out of 5 stars The definitive compiler book for the 1990s September 23, 1998
Format:Hardcover
This book is the comprehensive text for anyone working on an optimizing compiler for uniprocessor systems. It gives good detail on all major approaches and is up-to-date on important techniques like SSA form and partial redundancy information. As someone working directly in the field, it's saved me the effort of hunting up original research papers in many areas. One drawback for this book as a practical tool: the pseudocode used to illustrate examples is often pretty far from being suitable for real implementations.
A warning: this is not an introductory book, and people who want to learn about the basics of building a compiler should look elsewhere; perhaps Andrew Appel's ``Modern Compilers'' series. Muchnick's book is for people who want to write compilers which generate high-performance code.
Comment | 
Was this review helpful to you?
33 of 35 people found the following review helpful
5.0 out of 5 stars A great book on advanced compiler design April 13, 2003
Format:Hardcover
I have been working on language processors, interpreters and
compilers for almost twenty years. I try to order all the books
that have something unique to say about compiler design and
implementation. This is one of the best books I have seen on
advanced compiler design. I have owned it since it was first
published. Going back and rereading it I am reminded of what
and excellent book it is, which is what motivated this review.
Advanced compiler design deals with various forms of optimization,
including local, global and loop optimization. This is a complex
topic with thirty years of research behind it (it is interesting
to note that the late Gary Kildall, of CP/M fame, did some early
work on optiimization in the early 1970s). No single book can
provide complete coverage of all optimization issues. However,
this book, along with Allen and Kennedy's equally excellent
"Optimizing Compilers for Modern Architectures" covers almost
everything you need to know.
One of the problems with the academic literature on compiler
optimization is that it can be unnecessarily obscure. Muchnick
writes clearly, with the implementer in mind. He provides a
wide range of techniques, allowing the implementer to choose
the correct one for a given compiler. This approach is both
useful and necessary: there is no single method for building
a compiler, given the range of languages and design objectives.
Muchnick covers everything you need to know about local and
global scalar optimization, including scalar optimization in
loops and optimization for modern processor architecture.
The only thing missing is an indepth coverage of loop dependence
and optimization techniques, which is provided by Allen and
Kennedy.
If you are working on the design, implementation or extension of
a modern compiler, this book should be part of your library.
Comment | 
Was this review helpful to you?
14 of 14 people found the following review helpful
3.0 out of 5 stars Good, but flawed December 1, 2007
Format:Hardcover
This is a very good intermediate/advanced text for codegen & optimization.

Having spent nearly 15 years working on compiler development, with most of it spent on codegen & optimization in compiler backends, I was very happy to see this book published ten years ago when I was relatively new to the field and hungry for more information.

The good: Coverage of many important topics, and a better discussion of the phase ordering issues than I've seen in other texts.

The bad: The writing style is okay, but not great. Little insight is typically given for the problems discussed. A very annoying aspect of the book is that the author sometimes goes into great detail about one technique, and then later mentions another (often superior, IMO) way to solve the problem at hand, without going into much detail. As a working compiler writer, I would have preferred it be the other way around.

The very very bad: The ICAN notation used throughout the book is verbose, unintuitive, and ultimately takes away from the presentation. Compare the complicated detail-filled ICAN listings in this book to the simple, elegant algorithms in the Dragon Book or Cooper/Torczon's text.
Comment | 
Was this review helpful to you?
20 of 23 people found the following review helpful
5.0 out of 5 stars So you want to be a compiler writer? July 25, 2001
Format:Hardcover
This the next step after the dragon book (Compilers by Aho, et al). The algorithms contained in this book are a FANTASTIC reference for the compiler professional and i've used them on the job many times. Instuction Scheduling chapter in particular was comprehensive and useful. Covers all the important topics in a practical manner. The key word in the title is "implementation". If you are sitting down to write a compiler, this should be sitting next to you.
Comment | 
Was this review helpful to you?
10 of 10 people found the following review helpful
5.0 out of 5 stars Great starting point for compiler development March 3, 2007
Format:Hardcover
Compiler development is more of a craft than a science, although there's plenty of science involved. It involves huge numbers of tradeoffs in features, optimizations, and use of the underlying processor. But, as long as people keep coming up with new computing platforms (and not just instruction set processors), new languages, and new performance demands there will always be need for new compiler developers. If you can't apprentice yourself to masters of the craft, or even if you can, this book is a great introduction 2000-era compiler development.

Muchnik does a clear, thorough job of laying out the basics, starting with the intermediate representation used. (If you get that wrong, nothing else is going to work.) He then moves on to the basics of symbol table structure - an issue that can get immensely complicated in systems like Microsoft's CLR. He also discusses run time support briefly. Although that discussion is good as far as it goes, it skips past a lot of the complexities of dynamic loading, debug symbol tables, simulation support, and related issues. They aren't strictly part of the compiled, executable code, but responsibilities of the compiler developer nonetheless. Next comes a brief description of code generation, crucial in normal environments but tangential to my own needs.

That's just the first quarter of the book, though. The rest is the real meat of the topic: code analysis and optimization techniques, over 600 pages of discussion. It's way too much to summarize here, but even that just an introduction to a huge technology. Still, you have to start somewhere.

By this point, you may be asking "But what about tokens, lexemes, and grammars? Isn't that what compilers do?" Well, yes, but it's done. Tool developers have made lexical analysis a commodity.
Read more ›
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Where can I find the answers of the exercises in the book?
I love this book, and I want to do the exercises in the book.
Where can I find the answers of the exercises in the book?
Thanks!
Published 13 months ago by baoshan
3.0 out of 5 stars recommended with reservations
I bought this book to help with a compiler I'm writing for personal use. I've had introductory compiler courses, and I was looking for a text to expand my knowledge. Read more
Published on June 28, 2009 by M. Sieweke
5.0 out of 5 stars Bible of compiler data-flow analysis
It's the bible of compiler data-flow analysis. The author had the experience of building an industrial strength compiler. Read more
Published on September 12, 2007 by Z. Guo
2.0 out of 5 stars Confusing at best
I've seen chapter 14 of this book referenced (by a university professor giving suggestion to his students, not by a random guy) as:

"Another conventional approach to... Read more
Published on August 17, 2006 by Paolo
1.0 out of 5 stars Good for seasoned compiler writers, bad for CS students
Ok, let's be fair. This book provides a broad coverage of useful optimizations and it will be useful in case you work writing compilers AND have some experience. Read more
Published on December 13, 2004 by Southern Light
5.0 out of 5 stars Excellent
Advances in compiler design do not get much press these days. The reasons for this are unclear, but no doubt the perception that compilers need no further improvement has something... Read more
Published on October 13, 2003 by Dr. Lee D. Carlson
5.0 out of 5 stars Excellent coverage
I would suggest to the average reader to first
get "Programming Language Pragmatics" by michael l. scott
and coming to this book. Read more
Published on August 15, 2003 by Raymond Tay
5.0 out of 5 stars Great Back-end Book
The book does its job and does it well. But, it's only fair to warn that the book concentrates on code generation, optimization, instruction scheduling, etc. Read more
Published on August 2, 2003 by H. Singh
5.0 out of 5 stars Great Book; read the earlier chapters twice to appreciate
This is, without doubt, an excellent book to understand the structure and the concepts involved in an optimising compiler. Read more
Published on February 25, 2003 by Somasundaram Meiyappan
5.0 out of 5 stars A Very Good Starting Point Into Compiler Theory from 1997
My employer owns the book. It is a constant on my shelf. The dragon book is great but there are concepts I did not understand in the classic dragon book until the Muchnick book... Read more
Published on April 2, 2002
Search Customer Reviews
Search these reviews only

More About the Author

Discover books, learn about writers, read author blogs, and more.

What Other Items Do Customers Buy After Viewing This Item?



Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Look for Similar Items by Category