MiniJava compiler in four steps