I ended up porting the recursive descent parser in the Scala compiler to OCaml … I think it was the fastest way to get a working parser from OCaml …