An Ocaml compiler for a Java sublanguage