/usr/lib/ocaml/camlp5/eprinter.mli is in camlp5 7.01-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | (* camlp5r *)
(* eprinter.mli,v *)
(* Copyright (c) INRIA 2007-2017 *)
(** Extensible printers.
This module allows creation of printers, apply them and clear them.
It is also used by the [EXTEND_PRINTER] and [pprintf] statements,
added by the [pa_extprint.cmo] parsing kit. *)
type t 'a = 'abstract;
(** Printer type, to print values of type "'a". *)
type pr_context =
Pprintf.pr_context ==
{ ind : int; bef : string; aft : string; dang : string }
;
value make : string -> t 'a;
(** Builds a printer. The string parameter is used in error messages.
The printer is created empty and can be extended with the
[EXTEND_PRINTER] statement. *)
value apply : t 'a -> pr_context -> 'a -> string;
(** Applies a printer, returning the printed string of the parameter. *)
value apply_level : t 'a -> string -> pr_context -> 'a -> string;
(** Applies a printer at some specific level. Raises [Failure] if the
given level does not exist. *)
value clear : t 'a -> unit;
(** Clears a printer, removing all its levels and rules. *)
value print : t 'a -> unit;
(** Print printer patterns, in the order they are recorded, for
debugging purposes. *)
(**/**)
(* for system use *)
type position =
[ First
| Last
| Before of string
| After of string
| Level of string ]
;
type pr_fun 'a = Pprintf.pr_fun 'a;
type pr_rule 'a =
Extfun.t 'a (pr_fun 'a -> pr_fun 'a -> pr_context -> string)
;
value extend :
t 'a -> option position ->
list (option string * pr_rule 'a -> pr_rule 'a) -> unit;
|