File: misc.mli

package info (click to toggle)
hevea 2.36-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,780 kB
  • sloc: ml: 19,453; sh: 503; makefile: 311; ansic: 132
file content (73 lines) | stat: -rw-r--r-- 2,700 bytes parent folder | download | duplicates (2)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
(***********************************************************************)
(*                                                                     *)
(*                          HEVEA                                      *)
(*                                                                     *)
(*  Luc Maranget, projet PARA, INRIA Rocquencourt                      *)
(*                                                                     *)
(*  Copyright 1998 Institut National de Recherche en Informatique et   *)
(*  Automatique.  Distributed only by permission.                      *)
(*                                                                     *)
(***********************************************************************)

(***************)
(* Some errors *)
(***************)
exception Fatal of string      (* A bug *)
exception NoSupport of string  (* A feature *)
exception Purposly of string   (* Explicit failure: \@heveafail command *)
exception ScanError of string  (* Error while reading input *)
exception UserError of string  (* Users should correct their code *)
exception Close of string      (* Specific user error: env nesting *)

(*******************)
(* Some non-errors *)
(*******************)
exception EndInput    (* Stop reading that file *)
exception EndDocument (* Document is over *)
exception EndOfLispComment of int (* QNC *)
exception CannotPut   (* Cannot ouput Unicode char (text mode) *)

val verbose : int ref
val readverb : int ref
val displayverb : bool ref
val silent : bool ref
val column_to_command : string -> string
val warning : string -> unit
val print_verb : int -> string -> unit
val message : string -> unit
val fatal : string -> 'a
val not_supported : string -> 'a

(* Copying hash tables, not very nice at present *)

val copy_hashtbl : (string, 'a) Hashtbl.t -> (string, 'a) Hashtbl.t -> unit
val copy_int_hashtbl : (int, 'a) Hashtbl.t -> (int, 'a) Hashtbl.t -> unit


val start_env : string -> string
val end_env : string -> string

type limits = Limits | NoLimits | IntLimits

val set_image_opt : string -> unit
val get_image_opt : unit -> string
val dump_index : bool ref

type saved
val checkpoint : unit -> saved
val hot_start : saved -> unit

(* Some kind of abstract buffer used by unicode in translator *)
val next_of_string : string -> (unit -> int)

(* two digit hexa -> int *)
val hexa_code : char -> char  -> int

(* Some string utilities (backward compatibility) *)
val string_map : (char -> char) -> string -> string

(* Eat trailing space and one newline *)
val chop_trailing_spaces : string -> string

(* Useful module signature, output of functors called for initialisation *)
module type Rien = sig val rien : unit end