exception NoInclusionPerformed of string (* full path *)
-type statement =
+type 'status statement =
?never_include:bool ->
(* do not call LexiconEngine to do includes, always raise NoInclusionPerformed *)
include_paths:string list ->
- LexiconEngine.status ->
- LexiconEngine.status * ast_statement localized_option
+ (#LexiconEngine.status as 'status) ->
+ 'status * ast_statement localized_option
-val parse_statement: Ulexing.lexbuf -> statement (** @raise End_of_file *)
+val parse_statement: Ulexing.lexbuf -> #LexiconEngine.status statement (** @raise End_of_file *)
-val statement: unit -> statement Grammar.Entry.e
+val statement: unit -> #LexiconEngine.status statement Grammar.Entry.e
(* this callback is called before every grafite statement *)
val set_grafite_callback:
- (LexiconEngine.status -> ast_statement -> unit) -> unit
+ (ast_statement -> unit) -> unit
(* this callback is called before every lexicon command *)
val set_lexicon_callback:
- (LexiconEngine.status -> LexiconAst.command -> unit) -> unit
+ (LexiconAst.command -> unit) -> unit
val push : unit -> unit
val pop : unit -> unit