Provided by: camlp5_7.11-1build1_amd64 bug

NAME

       camlp5 - Pre-Precessor-Pretty-Printer for ocaml
       mkcamlp5 - Create custom camlp5
       mkcamlp5.opt - Create custom camlp5 (native code)
       ocpp5 - Universal preprocessor

SYNOPSIS

       camlp5 [ load-options ] [--] [ other-options ]
       camlp5o [ load-options ] [--] [ other-options ]
       camlp5r [ load-options ] [--] [ other-options ]
       camlp5sch [ load-options ] [--] [ other-options ]
       camlp5o.cma
       camlp5r.cma
       camlp5sch.cma
       mkcamlp5
       mkcamlp5.opt
       ocpp5 [ load-options ] file

       camlp5o.opt [--] [ other-options ]
       camlp5r.opt [--] [ other-options ]

DESCRIPTION

       camlp5  is  a  Pre-Processor-Pretty-Printer  for OCaml, parsing a source file and printing some result on
       standard output.

       camlp5o, camlp5r and camlp5sch are versions of camlp5 with some files already loaded (see further).

       camlp5o.cma, camlp5r.cma and camlp5sch.cma are files to be loaded in ocaml toplevel  to  use  the  camlp5
       machinery

       mkcamlp5  and  mkcamlp5.opt  creates camlp5 executables with almost the same options than ocamlmktop. See
       further.

       ocpp5 is an universal preprocessor, treating any kind of source file, generating the same text  with  the
       possible quotations expanded.

       camlp5o.opt  and  camlp5r.opt  are  versions  of camlp5o and camlp5r compiled by the native-code compiler
       ocamlopt. They are faster but not extensible. And they are not available in all installations of camlp5.

LOAD OPTIONS

       The load options select parsing and printing actions recorded in OCaml object files (ending with .cmo  or
       .cma). Several usage of these options are authorized. They must precede the other options.

       An optional -- may end the load options.

       -I directory
              Add  directory  in  the search path for files loaded. Unless the option -nolib is used, the camlp5
              library directory is appended to the path. Warning: there is no automatic search  in  the  current
              directory: add "-I ." for this.

       -where Print camlp5 library directory name and exit.

       -nolib No automatic search for objects files in camlp5 library directory.

       object-file
              The file is loaded in camlp5 core.

OTHER OPTIONS

       The others options are:

       file   Treat file as an interface file if it ends with .mli and as an implementation file if it ends with
              .ml.

       -intf file
              Treat file as an interface file, whatever its extension.

       -impl file
              Treat file as an implementation file, whatever its extension.

       -unsafe
              Generate unsafe accesses to arrays and strings.

       -noassert
              Do not compile assertion checks.

       -verbose
              More verbose in parsing errors.

       -QD file
              Dump in file in case of syntax error in the result of a quotation expansion.

       -o out-file
              Print the result on out-file instead of standard output. File is  opened  with  open_out_bin  (see
              OCaml library Pervasives).

       -v     Print the version number and exit.

       -help  Print the available options and exit. This print includes the options possibly added by the loaded
              object files.

       The others options can be extended by loaded object files. The provided files add the following options:

       -l line-length
              Added by pr_o.cmo and pr_r.cmo: set the line length (default 78).

       -sep string
              Added by pr_o.cmo and pr_r.cmo: print this string between phrases instead of comments.

       -no_ss Added by pr_o.cmo: do not print double semicolons

       -D ident
              Added by pa_macro.cmo: define the ident.

       -U ident
              Added by pa_macro.cmo: undefine the ident.

PROVIDED FILES

       These files are installed in the directory /usr/lib/ocaml/camlp5.

       Parsing files:
           pa_r.cmo: revised syntax
           pa_rp.cmo: streams and parsers
           pa_lexer.cmo: lexers
           pa_o.cmo: normal syntax
           pa_op.cmo: streams and parsers
           pa_oop.cmo: streams and parsers (without code optimization)
           pa_scheme.cmo: scheme syntax
           pa_extend.cmo: syntax extension for grammars
           pa_extfold.cmo: extension of pa_extend with FOLD0 and FOLD1
           pa_extfun.cmo: syntax extension for extensible functions
           pa_extprint.cmo: syntax extensions for extensible printers
           pa_pprintf.cmo: syntax extension for pprintf statement
           pa_fstream.cmo: syntax extension for functional streams
           pa_macro.cmo: add macros (ifdef, define) like in C
           pa_lefteval.cmo: left-to-right evaluation of parameters
           pa_pragma.cmo: directive #pragma

       Printing files:
           pr_r.cmo: revised syntax without objects and labels
           pr_ro.cmo: revised syntax for objects and labels
           pr_rp.cmo: try to rebuild streams and parsers syntax
           pr_o.cmo: normal syntax
           pr_op.cmo: try to rebuild streams and parsers syntax
           pr_scheme.cmo: Scheme syntax
           pr_schemep.cmo: try to rebuild streams and parsers syntax
           pr_extend.cmo: try to rebuild EXTEND statements
           pr_extfun.cmo: try to rebuild extfun statements
           pr_extprint.cmo: try to rebuild EXTEND_PRINTER statements
           pr_dump.cmo: dump syntax tree for ocaml compiler
           pr_depend.cmo: file dependencies
           pr_null.cmo: no output

       Quotation expanders:
           q_MLast.cmo: syntax tree nodes (in revised syntax)
           q_ast.cmo: syntax tree nodes in user full syntax
           q_phony.cmo: keeping quotations for pretty printing

       The command camlp5o is a shortcut for:
           camlp5 pa_o.cmo pa_op.cmo pr_dump.cmo

       The command camlp5r is a shortcut for:
           camlp5 pa_r.cmo pa_rp.cmo pr_dump.cmo

       The command camlp5sch is a shortcut for:
           camlp5 pa_scheme.cmo pr_dump.cmo

       The file camlp5o.cma can be loaded in the toplevel to start camlp5 with OCaml syntax.

       The file camlp5r.cma can be loaded in the toplevel to start camlp5 with revised syntax.

       The file camlp5sch.cma can be loaded in the toplevel to start camlp5 with Scheme syntax.

MKCAMLP5

       mkcamlp5 and mkcamlp5.opt creates camlp5 executables with almost the same options  than  ocamlmktop.  The
       version mkcamlp5.opt can create native code executables, faster but not extensible.

       For  mkcamlp5, the interfaces to be visible must be explicitly added in the command line as ".cmi" files.
       For example, how to add the the OCaml module "str":
           mkcamlp5 -custom str.cmi str.cma -cclib -lstr -o camlp5str

ENVIRONMENT VARIABLE

       The following environment variable is also consulted:

       CAMLP5PARAM
              Set the grammars parsing algorithm parameters.  This variable must  be  a  sequence  of  parameter
              specifications.   A  parameter  specification is a letter optionally followed by an = and a value.
              There are four possible parameters:

       b (backtrack)
              Set the backtrack algorithm as default.

       t (trace)
              Trace symbols (terminals and non-terminals) while parsing with backtracking.

       y (trace-stalling)
              In backtracking, trace the advance in the  input  stream  (number  of  unfrozen  tokens)  and  the
              possible stalling (number of tokens tests).

       l (maximum-stalling)
              Set the maximum stalling value.

FILES

       Library directory of camlp5 in the present installation:
       /usr/lib/ocaml/camlp5

SEE ALSO

       Camlp5 - Reference Manual
       ocamlc(1), ocaml(1), ocamlmktop(1).

AUTHOR

       Daniel de Rauglaudre, INRIA Rocquencourt.