OnWorks favicon

cppo - Online in the Cloud

Run cppo in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command cppo that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



cppo - lightweight cpp-like preprocessor for OCaml


cppo [Options...] files...


cppo is the equivalent of the C preprocessor for OCaml. It permits the definition and
expansion of simple (in comparison with camlp4) macros and file inclusion. cppo supports
functional macros, conditionals, boolean and arithmetic expressions, stringification, and
calling different, external preprocessors. For a precise description of the features, see


define IDENT

undefine IDENT

-I DIR add DIR to the search path for included files

write output to FILE

-q Identify and preserve camlp4 quotations

-s Output line directives pointing to the exact source location of each token,
including those coming from the body of macro definitions. This behavior is off by

-n Do not output any line directive other than those found in the input (overrides

print version and exit

Define a custom preprocessor target section starting with:

#ext "NAME"

and ending with:


NAME must be a lowercase identifier of the form [a-z][A-Za-z0-9_]*

CMD_TEMPLATE is a command template supporting the following special sequences:

%F file name (unescaped; beware of potential scripting attacks)

%B number of the first line

%E number of the last line

%% a single percent sign

The filename, the first line number and the last line number are available to the
external preprocessor via the environment variables CPPO_FILE, CPPO_FIRST_LINE,

The command is expected to read from stdin and to write to stdout.

-help | --help
Display options and exit

Use cppo online using onworks.net services