Jump to ratings and reviews
Rate this book

Modern Compiler Implementation in Java: Basic Techniques

Rate this book
This textbook explains all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-colouring register allocation with coalescing, and runtime systems. It covers current techniques in code generation and register allocation, as well as functional and object-oriented languages, which are missing from most books on the topic. The author illustrates the most accepted and successful techniques in a concise way, rather than as an exhaustive catalogue of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual Java classes. A unique feature of the book is a well designed compiler implementation project in Java, including front-end and 'high-tech' back-end phases, so that students can build a complete working compiler in one semester. The textbook is meant for use in a one-semester first course for undergraduates in compiler design. Accompanying support software is available.

408 pages, Paperback

First published January 13, 1997

15 people are currently reading
138 people want to read

About the author

Andrew W. Appel

16 books7 followers
Andrew W. Appel, Ph.D. (Computer Science, Carnegie Mellon University, 1985; A.B., Princeton University, 1981) is the Eugene Higgins Professor of Computer Science at Princeton University, where he has been on the faculty since 1986. He served as department chair from 2009 to 2015. His research is in software verification, computer security, programming languages and compilers, and technology policy.

He has been editor-in-chief of ACM Transactions on Programming Languages and Systems and is a fellow of the ACM (Association for Computing Machinery). He has worked on fast N-body algorithms (1980s), Standard ML of New Jersey (1990s), Foundational Proof-Carrying Code (2000s), and the Verified Software Toolchain (2010s). He is the author of several scientific papers on voting machines and election technology, served as an expert witness on two voting-related court cases in New Jersey, and has taught a course at Princeton on election machinery.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
16 (19%)
4 stars
30 (36%)
3 stars
24 (28%)
2 stars
9 (10%)
1 star
4 (4%)
Displaying 1 - 4 of 4 reviews
Profile Image for Nick Black.
Author 2 books897 followers
March 23, 2008
As no compiler written in Java would be worth using, I'm rather mystified as to the purpose of this book. Perhaps Appel let a retarded nephew of Bill Joy into his research group; I don't know, and I don't care to know.

Besides the ridiculous concept, the garish color is almost as obnoxious as FifteenJavaProgrammersUpOnYourNuts all UsingMixedCase with StupidlyLongIdentifiers and AskingIfWeCanEatLunchSomewhereThatSupportsEclipse hatehatehate!
Profile Image for Mircea Lungu.
45 reviews6 followers
June 23, 2013
We are using this as one of the main textbooks for the Compiler Construction at the University of Bern.
Profile Image for Zhi Han.
74 reviews13 followers
Read
July 7, 2014
Reading the tiger book as I am reading some papers on compilers.
Displaying 1 - 4 of 4 reviews

Can't find what you're looking for?

Get help and learn more about the design.