Fr. 97.00

Compiler Design - Analysis and Transformation

English · Paperback / Softback

Shipping usually within 6 to 7 weeks

Description

Read more

While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined - ideally there exist complete precise descriptions of the source and target languages. Additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available.

The book deals with the optimization phase of compilers. In this phase, programs are transformed in order to increase their efficiency. To preserve the semantics of the programs in these transformations, the compiler has to meet the associated applicability conditions. These are checked using static analysis of the programs. In this book the authors systematically describe the analysis and transformation of imperative and functional programs. In addition to a detailed description of important efficiency-improving transformations, the book offers a concise introduction to the necessary concepts and methods, namely to operational semantics, lattices, and fixed-point algorithms.

This book is intended for students of computer science. The book is supported throughout with examples, exercises and program fragments.

List of contents

Introduction.- Program Semantics.- Transformations.- Static Analysis.- Imperative Programs.- Functional Programs.- References.- Index.

Additional text

From the reviews:
“German academics … 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 authors provide a wealth of information on analysis along with specific illustrations. … 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. … Summing Up: Recommended. Upper-division undergraduates and graduate students.” (M. B. DuBois, Choice, Vol. 50 (10), June, 2013)
“The authors bring together many of the results from the last few decades in a coherent and detailed manner, and the result is an excellent resource for those wanting to understand some of the complex issues in building realistic, industrial-strength compilers. … The authors provide motivation and definitions for many of the concepts in static analysis, and illustrate these ideas through example programs that can be optimized.” (Sara Kalvala, Computing Reviews, April, 2013)
“This is a nice book on intraprocedural analysis for imperative languages, with short outings into interprocedural analysis, and analysis of functional languages. The book looks nice, reads well and provides good intuitions, and, importantly, also provides details on the transformation of programs. … It introduces the necessary preliminaries along the way as they arise … which gives the book a better flow when reading. Finally, it is also graphically very pleasing to look at.” (Juriaan Hage, Zentralblatt MATH, Vol. 1257, 2013)

Report

From the reviews:
"German academics ... 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 authors provide a wealth of information on analysis along with specific illustrations. ... 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. ... Summing Up: Recommended. Upper-division undergraduates and graduate students." (M. B. DuBois, Choice, Vol. 50 (10), June, 2013)
"The authors bring together many of the results from the last few decades in a coherent and detailed manner, and the result is an excellent resource for those wanting to understand some of the complex issues in building realistic, industrial-strength compilers. ... The authors provide motivation and definitions for many of the concepts in static analysis, and illustrate these ideas through example programs that can be optimized." (Sara Kalvala, Computing Reviews, April, 2013)
"This is a nice book on intraprocedural analysis for imperative languages, with short outings into interprocedural analysis, and analysis of functional languages. The book looks nice, reads well and provides good intuitions, and, importantly, also provides details on the transformation of programs. ... It introduces the necessary preliminaries along the way as they arise ... which gives the book a better flow when reading. Finally, it is also graphically very pleasing to look at." (Juriaan Hage, Zentralblatt MATH, Vol. 1257, 2013)

Product details

Authors Sebastian Hack, Helmut Seidl, Reinhard Wilhelm
Publisher Springer, Berlin
 
Languages English
Product format Paperback / Softback
Released 23.08.2016
 
EAN 9783662507162
ISBN 978-3-662-50716-2
No. of pages 177
Dimensions 155 mm x 10 mm x 235 mm
Weight 302 g
Illustrations XII, 177 p.
Subjects Natural sciences, medicine, IT, technology > IT, data processing > IT

B, Compiler und Übersetzer, computer science, Virtual Machines, Programming, Programming Techniques, Programming Languages, Compilers, Interpreters, Computer programming, Programming & scripting languages: general, Compilers & interpreters, Programming languages (Electronic computers), Compilers and Interpreters

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.