A compiler for MiniJava