Implements the tiger programming language in OCaml