this is a compiler (from high-level language to x86 asm code) written in OCaml