Re: New compiler book: Modern Compiler Design

Dick Grune <dick@cs.vu.nl>
17 May 2000 11:48:40 -0400

          From comp.compilers

Related articles
New compiler book: Modern Compiler Design bill@megahits.com (Bill A.) (2000-05-12)
Re: New compiler book: Modern Compiler Design dick@cs.vu.nl (Dick Grune) (2000-05-17)
Re: New compiler book: Modern Compiler Design adrian@dcs.rhbnc.ac.uk (2000-05-18)
| List of all articles for this month |

From: Dick Grune <dick@cs.vu.nl>
Newsgroups: comp.compilers
Date: 17 May 2000 11:48:40 -0400
Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
Keywords: books

> Hi. Amazon just informed me that the following book has been released:


> Modern Compiler Design
> by Dick Grune, et al


> Publication date: May 11, 2000
> Publisher: John Wiley & Sons
> Binding:Paperback
> Subjects: Compilers (Computer Science); Object-Oriented Programming;
> Technology & Industrial Arts


> Has anyone seen it yet and can comment on what it covers and how well it


> [Maybe the author can describe the book for us, he's posted here
> in the past. -John]


Thank you for the invitation! We've made the following write-up;
sorry for the somewhat slow reaction - been busy writing a book:-)


As to the May 11 publication date, it's kind of a surprise to us. We
hope to send the finished product to John Wiley in the first week of
June, but we have little idea yet of what that implies in terms of
being available in bookshops.


Regards,


Dick Grune | email: dick@cs.vu.nl
Vrije Universiteit | ftp://ftp.cs.vu.nl/pub/dick
de Boelelaan 1081 | http://www.cs.vu.nl/~dick
1081 HV Amsterdam, the Netherlands | tel: +31 20 444 7744
[You're lucky -- Wiley sat on one of my manuscripts for a year before
turning it into a book. -John]


================================================================


Modern Compiler Design
Dick Grune, Henri Bal, Ceriel Jacobs and Koen Langendoen
John Wiley, 2000, pp. ~ 780


Description by the authors


The 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
chapter, 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.


The Table Of Contents and the Preface are available in PostScript and
pdf format in ftp://ftp.cs.vu.nl/pub/dick/ModernCompilerDesign . An
ftp site will have to do for the moment; a more elaborate Web page
will be available.


We have tried hard to write the book in an intuitively appealing
style, emphasizing the reasoning behind, and the mechanics of, the
algorithms, over rigorous formulation and formal correctness. In our
experience, rigorous formulation in a book covers only 1 case, and it
is rarely exactly the one you need. Showing the student how to design
their own has much wider applicability.


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:


1. It recognizes lexical analysis, LR parsing and BURS code
generation as instances of bottom-up pattern matching and explains
them uniformly using dotted items, thus unifying three important
techniques in compiler design, and allowing the students to extend
them to fit their needs.


2. A recurrent theme is `precomputation': first a simple,
understandable, and obviously correct technique is designed, then all
computation that can be done at compiler generation time is performed
there. This leads naturally from interpretive lexical analysis to
FSAs and allows us to view generated code as an instantiation of an
interpreter, thus introducing connections with partial evaluation.


3. It emphasizes closure algorithms wherever possible, thus unifying
many seemingly different algorithms.


4. It places compiler construction in a wider frame of file and data
conversion, thus enabling the student to see applicability in other
programming domains.


<Chest-thumping mode on>
The book brings the compiler techniques of the 20-th century into the 21-st.
<Chest-thumping mode off>



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.