1(***********************************************************************) 2(* *) 3(* HEVEA *) 4(* *) 5(* Luc Maranget, projet PARA, INRIA Rocquencourt *) 6(* *) 7(* Copyright 1998 Institut National de Recherche en Informatique et *) 8(* Automatique. Distributed only by permission. *) 9(* *) 10(***********************************************************************) 11 12exception Failed 13 14type saved 15val checkpoint : unit -> saved 16val hot_start : saved -> unit 17val pretty_macro : Lexstate.pat -> Lexstate.action -> unit 18val pretty_table : unit -> unit 19val set_saved_macros : unit -> unit 20val get_saved_macro : string -> bool 21 22val register_init : string -> (unit -> unit) -> unit 23val exec_init : string -> unit 24 25val open_group : unit -> unit 26val close_group : unit -> unit 27val get_level : unit -> int 28 29val exists : string -> bool 30val find : string -> Lexstate.pat * Lexstate.action 31val pretty_command : string -> unit 32val def : string -> Lexstate.pat -> Lexstate.action -> unit 33val global_def : string -> Lexstate.pat -> Lexstate.action -> unit 34(* Undefine a command *) 35val global_undef : string -> unit 36 37(******************) 38(* For inside use *) 39(******************) 40 41(* raises Failed if already defined *) 42val def_init : string -> (Lexing.lexbuf -> unit) -> unit 43(* raises Failed if not defined *) 44val find_fail : string -> Lexstate.pat * Lexstate.action 45 46(* 47 replace name new, 48 Send back the Some (old definition for name) or None 49 50 - if new is Some (def) 51 then def replaces the old definition, or a definition is created 52 - if new is None, then undefine the last local binding for name. 53*) 54val replace : string -> (Lexstate.pat * Lexstate.action) option -> 55 (Lexstate.pat * Lexstate.action) option 56 57(* Add tokens at the end of subst macros, created with zero args 58 if non-existing *) 59val addto : string -> string list -> unit 60 61 62val invisible : string -> bool 63 64