![]() |
||||||||||||||||||||||||
Modern Compiler DesignDick Grune, Henri E. Bal, Ceriel J.H. Jacobs, and Koen G. Langendoen,VU University Amsterdam, Amsterdam, The NetherlandsJohn Wiley & Sons, Ltd., pp. 736 + xviii, 2000; ISBN 0 471 97697 0 French translation, titled Compilateurs, published by Dunod, pp. 774 + xxi, 2002; ISBN 2 10 005887 8. Spanish translation, titled Diseño de compiladores modernos, published by McGraw-Hill, pp. 752+, 2007; ISBN 8 44 815656 0. Brazilian/Portugese translation, titled 'Projeto Moderno De Compiladores - Implementaçao E Aplicaçoes', published by Campus, pp. 752, ISBN 8 53 520876 3. DescriptionThe book is intended for students who have at least used a compiler and have given some thought to the notion of compilation. It is not an introductory course (although it explains almost everything from basics). The book consists conceptually of two parts. The first part covers the general compilation process, and contains three chapters based on the analysis/processing/synthesis paradigm: text analysis, context handling and code generation. The second part consists of four chapters, covering the paradigm-specific problems of imperative and object-oriented, functional, logic and parallel and distributed programs. The two parts are separated by a chapter on memory management/garbage collection. We, the authors, have tried hard to write the book in an intuitively appealing style, concentrating on the reasoning behind and the mechanics of the algorithms rather than emphasizing rigorous formulation and formal correctness proofs. Although the book covers most of the traditional techniques, it makes a number of strong philosophical and perhaps controversial statements, for which we think the time has come:
The top level structure of the book is:
For more information, see the Preface (in PostScript or or in PDF), the Table of Contents (in PostScript or or in PDF), and the Index (in Postscript or or in PDF). Course MaterialAll figures and tables in the book are available for the preparation of overhead sheets or slides, to be used in the classroom or otherwise. There are two versions, one with one diagram per page (561 pages) (in PostScript or in PDF), and one with several diagrams per page (245 pages) (in PostScript or in PDF). More answers to exercises (in PostScript or in PDF) than provided in the book are also available. The code of the examples in the book, runnable under UNIX + look-alikes and MSDOS, can be downloaded by clicking here for a tar version or here for a zip version. Click here to obtain an errata sheet. PurchasingVisit the US Amazon.com page, the European Amazon.com page, the German Amazon.com page, or your bookshop. There is a French translation, titled Compilateurs, published by Dunod, ISBN 2-10-005887-8. About the authorsDick Grune teaches principles of programming languages and compiler construction. He was involved in constructing Algol 68 compilers in the 1970s and participated in the Amsterdam Compiler Kit in the 1980s. He is co-author of two other books: Programming Language Essentials and Parsing Techniques - A Practical Guide . Henri Bal presently heads the Orca group, doing research on parallel and distributed programming. He has more than 20 years of experience in compiler construction and is a recipient of the prestigious "Pionier" Award of NWO (Dutch Organization for Scientific Research). He is the author of more than 60 articles and (co-)author of two other books: Programming Language Essentials and Programming Distributed Systems . Ceriel Jacobs has been working in compiler construction on a full-time basis since the beginning of the 1980s. In the 1980s he was in charge of the Amsterdam Compiler Kit, he wrote the compiler for the Orca parallel programming system, and is now involved in the Manta project, which includes a native Java compiler. He is also coauthor of the book Parsing Techniques - A Practical Guide . Koen Langendoen has been working in compiler construction since around 1985, and is specialized in code generation. He has written compiler backends and runtime support systems for imperative languages (the Amsterdam Compiler Kit), functional languages (the FAST/FCG compiler) and parallel languages (the Orca compiler).
Modern Compiler Design / Dick Grune /
dick@cs.vu.nl
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||