Path to this page:
./
lang/camlp5,
Preprocessor-pretty-printer for ocaml
Branch: CURRENT,
Version: 8.03.01nb2,
Package name: camlp5-8.03.01nb2,
Maintainer: tonioCamlp5 is a preprocessor and pretty-printer for OCaml programs. It also
provides parsing and printing tools.
As a preprocessor, it allows to:
- extend the syntax of OCaml,
- redefine the whole syntax of the language.
As a pretty printer, it allows to:
- display OCaml programs in an elegant way,
- convert from one syntax to another,
- check the results of syntax extensions.
Camlp5 also provides some parsing and pretty printing tools:
- extensible grammars
- extensible printers
- stream parsers and lexers
- pretty print module
It works as a shell command and can also be used in the OCaml toplevel.
Required to run:[
lang/ocaml]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 1277.434 KB
Version history: (Expand)
- (2026-03-01) Updated to version: camlp5-8.03.01nb2
- (2026-02-17) Updated to version: camlp5-8.03.01nb1
- (2025-07-15) Package has been reborn
- (2025-07-15) Package deleted from pkgsrc
- (2025-02-01) Updated to version: camlp5-8.03.01
- (2022-11-17) Updated to version: camlp5-8.00.03nb1
CVS history: (Expand)
2026-03-01 13:38:42 by Greg Troxel | Files touched by this commit (218) |  |
Log message:
*: revbump for lang/ocaml micro (security) update
|
| 2026-02-17 14:39:16 by Thomas Klausner | Files touched by this commit (200) |
Log message:
*: recursive bump for ocaml-dune becoming a build dependency
|
2025-02-01 09:40:04 by Thomas Klausner | Files touched by this commit (3) |  |
Log message:
camlp5: update to 8.03.01.
Camlp5 Version 8.03.01:
--------------------
* [01 Oct 2024] update for Ocaml 5.3.0
* also merged minimal support for Windows (thank you @tobil4sk !)
Camlp5 Version 8.03.00:
--------------------
* [25 Apr 2024] update for Ocaml 5.2.0
Only really salient change (other than supporting new ocaml syntax)
is that the former Camlp5 revised-syntax "raw-identifier" syntax is
now removed in favor of the new Ocaml 5.2.0 raw-identifier syntax.
This should affect almost literally nobody, but just in case, the
old syntax was (e.g.) "\begin" and the new 5.2.0 syntax is \
"\#begin".
I highly doubt that anybody used the old syntax, since it was
undocumented and only available in revised mode, but hey, just in
case, letting you know I removed it.
BUT BUT BUT NOTE WELL this has impact on packages that use camlp5
internals, b/c some of the internal interfaces have changed. Specifically:
(1) if you use "camlp5 pa_r.cmo .... pr_o.cmo" to invoke the preprocessor
rather than
"not-ocamlfind preprocess -syntax camlp5r -package \
camlp5.pa_r,....,camlp5.pr_o"
you will need to add "o_keywords.cmo" before "pr_o.cmo" \
(this is
required by the need to print keywords for each syntax as escaped
raw identifiers. Since each syntax has a slightly different set of
keywords, the printer needs to be parameterized by the
keyword-table.
NOTE WELL that you are supplying the same "-syntax" and \
"-package"
args that you would if you were using
"ocamlfind ocamlc ....."
Basically, you take that second line and remove the ocamlc-specific
args (like -linkpkg, -linkall, -for-pkg, -c, etc).
(2) Similarly, if you use the Camlp5 lexer in your package, there is
a new field, "kwds", which is initialized to the keyword hashtable,
viz.
let kwd_table = Hashtbl.create 301 in
let glex =
{Plexing.tok_func = func ctx kwd_table glexr;
tok_using = using_token ctx kwd_table;
tok_removing = removing_token kwd_table;
tok_match = tok_match; tok_text = text; tok_comm = None ; kwds = kwd_table }
note the "kwds = kwd_table".
Camlp5 Version 8.02.01:
--------------------
* [04 Sep 2023] switch test code from pcre to pcre2
* [01 Sep 2023] switch from pcre to ocaml-re, add readthedocs config-file
Camlp5 Version 8.02.00:
--------------------
* [22 Jul 2023] update for OCaml 5.1.0
Camlp5 Version 8.00.06:
--------------------
* [31 Mar 2023] bugfixes, most notably improvements in quasi-quotation support
* switch to camlp5-buildscripts (away from Perl scripts)
* change install procedure for grammars so that installing more than
one grammar will cause an error
* minor parsing errors in official OCaml grammar (pa_o)
* continue factoring apart q_ast.ml and q_ast_base.ml so only the latter is \
needed for
quotations over other AST types.
Camlp5 Version 8.00.05:
--------------------
* [07 Feb 2023] switch from perl buildscripts to camlp5-buildscripts
Camlp5 Version 8.00.04:
--------------------
* [02 Dec 2022] (exceedingly modest) updates to support OCaml 5.0.0~beta2:
basically just changes to Makefile and opam
|
| 2025-02-01 09:34:46 by Thomas Klausner | Files touched by this commit (1) |
Log message:
camlp5: unlimit stacksize
Fixes the build for me on NetBSD-10.99.12/x86_64
|
| 2022-11-17 11:21:15 by Jaap Boender | Files touched by this commit (1) |
Log message:
Fixed interpreter problem with perl script in lang/camlp5
|
| 2022-11-11 11:33:00 by Jaap Boender | Files touched by this commit (4) |
Log message:
Updated textproc/camlp5 to the latest version, 8.00.03.
This includes several changes, including breaking ones; for full details,
see the changelog in the distribution.
This release adds support for the newest OCaml versions up to 4.14.0.
|
| 2022-06-03 10:10:56 by Thomas Klausner | Files touched by this commit (1) |
Log message:
camlp5: mark as BROKEN, does not support ocaml 4.14
|
2022-05-24 20:51:57 by Jaap Boender | Files touched by this commit (118) |  |
Log message:
Recursive revbump associated with update of ocaml.
Also change of mk/ocaml.mk to lang/ocaml/ocaml.mk.
|