Back in when it was CS 321, the course used bison and ocaml to build a smaller ML language, which helped in understanding ocaml itself!