A compiler for the MiniJava language