EnglishFrenchSpanish

Ad


OnWorks favicon

camlp5 - Online in the Cloud

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

This is the command camlp5 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

PROGRAM:

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.

Use camlp5 online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    rEFInd
    rEFInd
    rEFInd is a fork of the rEFIt boot
    manager. Like rEFIt, rEFInd can
    auto-detect your installed EFI boot
    loaders and it presents a pretty GUI
    menu of boot option...
    Download rEFInd
  • 2
    ExpressLuke GSI
    ExpressLuke GSI
    This SourceForge download page was to
    grant users to download my source built
    GSIs, based upon phhusson's great
    work. I build both Android Pie and
    Android 1...
    Download ExpressLuke GSI
  • 3
    PyQt
    PyQt
    PyQt is the Python bindings for
    Digia's Qt cross-platform
    application development framework. It
    supports Python v2 and v3 and Qt v4 and
    Qt v5. PyQt is avail...
    Download PyQt
  • 4
    VoIP monitor
    VoIP monitor
    VoIPmonitor is open source network
    packet sniffer with commercial frontend
    for SIP SKINNY MGCP RTP and RTCP VoIP
    protocols running on linux. VoIPmonitor
    is des...
    Download VoIP monitor
  • 5
    garlic3
    garlic3
    Gambas3* coding tools and examples for
    use in SMB or other organizations that
    make internal programs. E.g. from
    database fields to class sourcecode with
    DbInfo...
    Download garlic3
  • 6
    Sardi
    Sardi
    Sardi is a complete restyling and
    optimisation of svg code. 6 choices for
    your applications and 10 kind of folders
    to use in your file manager. The sardi
    icons...
    Download Sardi
  • 7
    LMMS Digital Audio Workstation
    LMMS Digital Audio Workstation
    LMMS is a free cross-platform software
    which allows you to produce music with
    your computer. If you like this project
    consider getting involved in the project
    h...
    Download LMMS Digital Audio Workstation
  • More »

Linux commands

Ad