Front end (part 6) Now we have a parser which constructs an AST for an Ocaml function corresponding to an item in a Makefile (an assignment or a rule). We are going to replace the core Ocaml grammar with a grammar that reads a sequence of Makefile items, builds Ocaml functions, and emits an AST containing the sequence of functions and a single call into our backend with the result of those functions. We are then going to plug this grammar into camlp4 and ocamlc, and we'll be done the front end. The AST node Pcaml.implem is the root of the Ocaml grammar. It represents a single compilation unit in Ocaml terminology. It is what we need to make, to feed to ocamlc.