References
Books
-
Modern Compiler Implementation in Java.
(The tiger Book.)
Note that the author has a number of versions of the book (for ML, Java, and C) and multiple editions. We will use the Java (second version) in this course. - Engineering a compiler. (The ark book.)
- Compiler: principals, techniques, and tools (2nd). (The dragon book.)
- Modern compiler implementation. (The whale book.)
- Introduction to Register allocation.
Java Resources
- The Java Language Specification.
- The Java Virtual Machine Specification.
- The Java API Specification.
-
Java Tutorials.
Note that the above tutorial only covers Java 8, but not the latest Java 22 as we used in this course. Nevertheless, it is still a good starting point to learn Java.
Software and Tools
-
Open JDK.
We will use Java 22 in this course. -
Oracle Java Development Kit (JDK).
Proprietary software, so use with caution. -
IntelliJ.
A popular IDE designed in Java, for Java. -
VS code.
Support Java via plugins.