My review of the following book appeared in the June, 2013 issue of CHOICE. I thought I would provide a copy on this weblog for those who do not have ready access to the above resource.
Compiler design: analysis and transformation, by Helmut Seidl, Reinhard Wilhelm, and Sebastian Hack. Springer, 2012. 177p bibl index afp ISBN 9783642175473, $69.95; ISBN 9783642175480 e-book, contact publisher for price.
German academics Seidl (Technical Univ. of Munich) and Wilhelm and Hack (both, Saarland Univ.) provide a concise, compact presentation on “methods to improve the efficiency of target programs by a compiler,” i.e., a compiler’s optimizing phase. The book is divided into three chapters: “Foundations and Intraprocedural Optimization,” “Interprocedural Optimization,” and “Optimization of Functional Programs.” Numerous algorithms are included to help the reader better understand the guiding concepts. The authors provide a wealth of information on analysis along with specific illustrations. For example, they explain that some operations (such as multiplication compared to addition) are more expensive in computer execution time. Therefore, there may be times when one wants to replace multiplication in a loop with its corresponding addition. The authors walk through many of their examples with reference to various languages (such as Java). Since this book is aimed at students, it includes exercises at the end of each chapter. However, a few worked examples/completed exercises (or a corresponding website with such information) would have been helpful. The chapter literature reviews will be useful to students wishing to learn more about a particular topic. Summing Up: Recommended for upper-division undergraduates and graduate students.