What do you think?


Modern Compiler Implementation in Java
This textbook describes all phases of a lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes thorough coverage of current techniques in code generation and register allocation, and the compilation of functional and object-oriented languages. The most accepted and successful techniques are described and illustrated with actual Java^TM® classes. The first part is suitable for a one-semester first course in compiler design. The second part; which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies; can be used for a second-semester or graduate course. This new edition includes more discussion of Java and object-oriented programming concepts such as visitor patterns plus a new Mini-Java programming project. A unique feature is the newly redesigned compiler project in Java for a subset of Java itself. The project includes both front-end and back-end phases.
501 pages, Hardcover
First published January 13, 1997
About the author
Andrew W. Appel
16 books7 followersAndrew 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.
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
Friends & Following
Create a free account to discover what your friends think of this book!
Community Reviews
Displaying 1 - 4 of 4 reviews
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!
Besides the ridiculous concept, the garish color is almost as obnoxious as FifteenJavaProgrammersUpOnYourNuts all UsingMixedCase with StupidlyLongIdentifiers and AskingIfWeCanEatLunchSomewhereThatSupportsEclipse hatehatehate!
September 16, 2017
too dated
March 4, 2013
We are using this as one of the main textbooks for the Compiler Construction at the University of Bern.
Read
July 7, 2014Reading the tiger book as I am reading some papers on compilers.
Displaying 1 - 4 of 4 reviews




