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
Building an Optimizing Compiler

Building an Optimizing Compiler

List Price: $62.95
Your Price:
Product Info Reviews

<< 1 >>

Rating: 5 stars
Summary: a code-free approach to *optimizing* compilers
Review: Most students who have taken a semester course in compiler would agree that a semester is too short even for just building a compiler, not to include the time used to learn the basics like parsing. This book is a good start at where your course left off. It covers many interesting and modern topics on building an _optimizing_ compiler, a compiler that generates compact and speedy code.

As a comparison to the Muchnick one, this book is slightly less advanced but contains sufficient details to start one in this field. This book also excels in its clear and informative explanations.

An interesting feature of this book (and also Muchnick) is that no concrete code/implementation is included. The focus is on the concepts of building an optimizing compiler and the theory behind code optimization, not exactly on how to build one (from scratch) using whatever programming language. The reader must come up with the implementation side of the story if she wants to apply the techniques to her own compiler.

As a final note, this is not an introductory book on compilers. If you want one, go find the classic Dragon book (by Aho, Sethi, Ullman) or the newly written work by Appel.

Rating: 5 stars
Summary: Excelent complete overview of an optimizing compiler
Review: This book just has it all. As the title suggests, this book is all about compiler optimizations. Don't expect to find anything about lexical analysis or parsing here, but that is exactly why I like this book so much. It is aimed at people who are familiar with the basic structure of a compiler and with data structures and algorithms.

The book describes the various phases the intermediate language of a compiler goes through before the final assembly or object file is written. It discusses such things as SSA form, lazy code motion and its application to load and store motion, scheduling, register allocation, etc. Important concepts, including (but not limited to) correctness, dominance, control dependence, and availability, are discussed and explained in detail. Algorithms and data flow equations are given with a proof and a clear explantaion. But this is not an algorithms cook book like Muchnick, the best part of this book is the synthesis of all the algorithms and ideas.

There are only 3 drawbacks of this book. First of all, Morgan assumes that the target is a RISCy machine with a reasonably orthogonal register and instruction set. Second, the framework he presents is sometimes a bit unconventional. For example, his discussion about register allocation presents Chow&Hennesey priority bases graph coloring, but it forgets to give a proper comment on Chaitin/Briggs style coloring. Finally, the book exclusively describes intraprocedural optimizations.

That said, the basic ideas presented in the book will give you enough references and back ground to understand the differences between Morgan's approach and other approaches to building optimizing compilers.


<< 1 >>

© 2004, ReviewFocus or its affiliates