Welcome to the companion website for the book Introduction to
Compiler Construction in a Java World by Bill Campbell, Swami Iyer,
and Bahar Akbal-Delibaş, published by CRC Press. On this website, current and prospective users of
the book can find information about its contents, get an up-to-date list
of known errors in the text, and gain access to the fully-documented
Java code for the accompanying j-- compiler.
Description of the Book
Presents a hands-on introduction to compiler construction, Java technology, and software engineering principles
Teaches how to fit code into existing projects
Describes a JVM-to-MIPS code translator, along with optimization techniques
Discusses well-known compilers from Oracle, IBM, and Microsoft
Includes end-of-chapter exercises that encourage students to write tests, re-factor code, and create new code
Provides fully documented Java code for the accompanying j-- compiler
Immersing students in Java and the Java Virtual Machine (JVM), Introduction to Compiler Construction in a Java World
enables a deep understanding of the Java programming language and its implementation. The text focuses on design,
organization, and testing, helping students learn good software engineering skills and become better programmers.
The book covers all of the standard compiler topics, including lexical analysis, parsing, abstract syntax trees,
semantic analysis, code generation, and register allocation. The authors also demonstrate how JVM code can be
translated to a register machine, specifically the MIPS architecture. In addition, they discuss recent strategies,
such as just-in-time compiling and hotspot compiling, and present an overview of leading commercial compilers. Each
chapter includes a mix of written exercises and programming projects.
By working with and extending a real, functional compiler, students develop a hands-on appreciation of how compilers work,
how to write compilers, and how the Java language behaves. They also get invaluable practice working with a non-trivial
Java program of more than 30,000 lines of code.
“… a strong contribution to the … covers most standard compiler construction techniques well, and does a good job of exposing students to actual implementation environments. … Highly recommended. Upper-division undergraduates and above.” ~ C. Vickery, Queens College of CUNY in CHOICE Magazine
“In a random, unscientific sampling of syllabi for recent compiler courses at a dozen universities in the US, I determined that many still use the iconic "dragon book" , or older textbooks from as far back as 1995. Several of the syllabi mention the more recent compiler text by Cooper and Torczon , but the older books seem to prevail. However, this new book's fresh, readable, student-friendly text and supporting software make it a serious contender for both self-study and classroom adoption.” ~ R. Roos, ACM Computing Reviews, September 10, 2013. [Full text]