A compiler for a subset of Java, written in Java. Generate machine code for a stack-based, object-oriented virtual machine
This project could be modified to target a register-based machine, but was out of the scope of the class for which this was a project. To target a register based machine, primitive operations must share a fixed set of registers. To see how these registers could be assigned see my implementation of Compiler Like Resource Allocation