Back end (part 2) Recall also that our Ocaml program will produce a single value of the following rule type: type file = string type actions = string list type rule = Rule of (file * rule list * actions) For example: Rule ("emacs", [ Rule ("emacs.c", [], []); Rule ("lisp.o", [ Rule ("lisp.c", [], []) ], [ "gcc -c lisp.c" ] ); Rule ("buffer.h", [] []); ], [ "gcc -o emacs emacs.c lisp.o" ] ) Which we must translate into a C program