Man page - cppo(1)

Packages contains this manual

    Package:  cppo
    apt-get install cppo
    Manuals in package:
    Documentations in package:

Manual

CPPO

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SEE ALSO
AUTHOR

NAME

cppo - lightweight cpp-like preprocessor for OCaml

SYNOPSIS

cppo [ Options... ] files ...

DESCRIPTION

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 /usr/share/doc/cppo/README.gz .

OPTIONS

-D IDENT

define IDENT

-U IDENT

undefine IDENT

-I DIR

add DIR to the search path for included files

-o FILE

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 default.

-n

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

-version

print version and exit

-x NAME:CMD_TEMPLATE

Define a custom preprocessor target section starting with:

#ext "NAME"

and ending with:

#endext

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 , CPPO_LAST_LINE .

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

-help | --help

Display options and exit

SEE ALSO

the cppo web page, http://mjambon.com/cppo.html
the text manual in /usr/share/doc/cppo/README.gz

AUTHOR

This manual page was written by Sylvain Le Gall <gildor@debian.org> and Hendrik Tews <hendrik@askra.de>, specifically for the Debian project (and may be used by others).