Main Software Blog Other

Cppo: the C preprocessor for OCaml [difficulty = 1 camel]


Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.

The main purpose of cppo is to provide a lightweight tool for simple macro substitution (#define) and file inclusion (#include) for the occasional case when this is useful in OCaml. Processing specific sections of files by calling external programs is also possible via #ext directives.

The implementation of cppo relies on the standard library of OCaml and on the standard parsing tools Ocamllex and Ocamlyacc, which contribute to the robustness of cppo across OCaml versions.


This software was written by Martin Jambon. It is distributed under a BSD license. Download it here.

The development version of Cppo is hosted on GitHub.


Cppo manual (text).