
Preface
Why Another Compiler Text?
There are lots of compiler texts out there. Some of them are very good. Some of them use
Java as the programming language in which the compiler is written. But we have yet to
find a compiler text that uses Java everywhere.
Our text is based on examples that make full use of Java:
• Like some other texts, the implementation language is Java. And, our implementation
uses Java’s object orientation. For example, polymorphism is used in implementing the
analyze() and codegen() methods for different types of nodes in the abstract syntax
tree (AST). The lexical analyzer (the token scanner), the parser, and a back-end code
emitter ...