Authors:
(view affiliations)
- Dick Grune,
- Kees van Reeuwijk,
- Henri E. Bal,
- Ceriel J.H. Jacobs,
- Koen Langendoen
Accessibility: everything is explained from basic principles without being simplistic
Scope: compilation for all paradigms, imperative, object-oriented, functional, logic, and distributed/parallel
Integrated and up-to-date treatment of lexical analysis, LALR and GLR parsing
Legacy code: grammar recovery, disassembly, decompilation
Embedded systems: code size reduction, code compression, power reduction
Includes useful summaries of the salient points at the end of each chapter.
Table of contents (14 chapters)
-
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 1-51
-
From Program Text to Abstract Syntax Tree
-
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 55-114
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 115-206
-
Annotating the Abstract Syntax Tree
-
Front Matter
Pages 207-207
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 209-259
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 261-296
-
Processing the Intermediate Code
-
Front Matter
Pages 297-297
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 299-312
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 313-362
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 363-384
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 385-459
-
Memory Management
-
Front Matter
Pages 461-461
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 463-507
-
From Abstract Syntax Tree to Intermediate Code
-
Front Matter
Pages 509-509
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 511-616
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 617-675
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 677-736
-
- Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H. Jacobs, Koen Langendoen
Pages 737-781
About this book
"Modern Compiler Design" makes the topic of compiler design more accessible by focusing on principles and techniques of wide application. By carefully distinguishing between the essential (material that has a high chance of being useful) and the incidental (material that will be of benefit only in exceptional cases) much useful information was packed in this comprehensive volume. The student who has finished this book can expect to understand the workings of and add to a language processor for each of the modern paradigms, and be able to read the literature on how to proceed. The first provides a firm basis, the second potential for growth.
Keywords
- Assemblers
- Attribute Grammars
- Code Generation
- Compilers
- Embedded Systems
- Functional Programming
- Interpreters
- Legacy Code
- Lexical Analysis
- Linkers
- Loaders
- Logic Programming
- Memory Management
- Optimization
- Parallel/Distributed Programming
- Parsing
Reviews
From the reviews of the second edition:
“This large, updated new edition … provides excellent coverage of the design segment. The writing is clear and accessible; the material is well organized and complete; the references are extensive (over 300) and the student exercises are well conceived … . the essence of the book is the middle ground between the two: how compilers are structured and how the substructures of a compiler relate to one another. Summing Up: Recommended. Computer science collections, upper-division undergraduates and above.” (C. Vickery, Choice, Vol. 50 (6), February, 2013)