Manpage of CAMLP4
camlp4o.opt
[--] [
other-options
]
camlp4r.opt
[--] [
other-options
]
camlp4o and camlp4r are versions of camlp4 with some files already loaded (see below).
camlp4o.cma and camlp4r.cma are files to be loaded in ocaml toplevel to use the camlp4 machinery.
mkcamlp4 creates camlp4 executables with almost the same options as ocamlmktop (see below).
ocpp is an universal preprocessor, expanding quotations in any kind of text file.
camlp4o.opt and camlp4r.opt are versions of camlp4o and camlp4r compiled by the native-code compiler ocamlopt. They are faster but not extensible. And they are not available in all installations of camlp4.
The load options select parsing and printing actions recorded in OCaml object files (ending with .cmo or .cma). They must precede other options.
An optional -- may end the load options.
The others options are:
The others options can be extended by loaded object files. The provided files add the following options:
Parsing files:
pa_o.cmo: syntax of OCaml pa_op.cmo: streams and parsers pa_oop.cmo: streams and parsers (without code optimization) pa_r.cmo: revised syntax pa_rp.cmo: streams and parsers 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_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_olabl.cmo: old syntax for labels
Printing files:
pr_o.cmo: syntax of OCaml pr_op.cmo: try to rebuild streams and parsers syntax pr_r.cmo: revised syntax pr_rp.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_dump.cmo: syntax tree pr_depend.cmo: file dependencies pr_null.cmo: no output
Quotation expanders:
q_MLast.cmo: syntax tree nodes q_phony.cmo: keeping quotations for pretty printing
The command camlp4o is a shortcut for:
camlp4 pa_o.cmo pa_op.cmo pr_dump.cmo
The command camlp4r is a shortcut for:
camlp4 pa_r.cmo pa_rp.cmo pr_dump.cmo
The file camlp4o.cma can be loaded in the toplevel to start camlp4 with OCaml syntax.
The file camlp4r.cma can be loaded in the toplevel to start camlp4 with revised syntax.
mkcamlp4 creates camlp4 executables with almost the same options than ocamlmktop. The only difference is that 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":
mkcamlp4 -custom str.cmi str.cma -cclib -lstr \ -o camlp4str