camlp4 -- Objective Caml Preprocessor
http://caml.inria.fr/
Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
tools for syntax (grammars) and the ability to modify the concrete syntax
of the language (quotations, syntax extensions).
Camlp4 can parse normal Ocaml concrete syntax or any other user-definable
syntax. As an example, an alternative syntax is provided, named revised,
because it tries to fix some small problems of the normal syntax.
Camlp4 can pretty print the normal Ocaml concrete syntax or the revised
one. It is therefore always possible to have a version of your sources
compilable by the compiler Objective Caml without preprocessing.