]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_parser/grafiteParser.mli
removed useless universes
[helm.git] / helm / software / components / grafite_parser / grafiteParser.mli
index cb88940ffde19daea908157bc497b83acc0c4a3b..d657e49752e2e23ac0e64dfcc2448cf6a12625a7 100644 (file)
@@ -29,15 +29,30 @@ type 'a localized_option =
 
 type ast_statement =
   (CicNotationPt.term, CicNotationPt.term,
-   CicNotationPt.term GrafiteAst.reduction, CicNotationPt.obj, string)
+   CicNotationPt.term GrafiteAst.reduction, 
+   CicNotationPt.term CicNotationPt.obj, string)
     GrafiteAst.statement
 
-type statement =
+exception NoInclusionPerformed of string (* full path *)
+
+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 -> #LexiconEngine.status statement  (** @raise End_of_file *)
+
+val statement: unit -> #LexiconEngine.status statement Grammar.Entry.e
 
-val parse_statement: Ulexing.lexbuf -> statement  (** @raise End_of_file *)
+(* this callback is called before every grafite statement *)
+val set_grafite_callback:
+   (ast_statement -> unit) -> unit 
 
-val statement: statement Grammar.Entry.e
+(* this callback is called before every lexicon command *)
+val set_lexicon_callback:
+   (LexiconAst.command -> unit) -> unit 
 
+val push : unit -> unit
+val pop : unit -> unit