]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_parser/grafiteParser.mli
- Procedural convertible rewrites in the conclusion are now detected and replaced...
[helm.git] / helm / software / components / grafite_parser / grafiteParser.mli
index 6d941d5db4286fce0156b700927592bdcfaf58a7..1413e93fd97409b96518496a0fcf993d61007fe7 100644 (file)
@@ -33,12 +33,26 @@ type ast_statement =
    CicNotationPt.term CicNotationPt.obj, string)
     GrafiteAst.statement
 
+exception NoInclusionPerformed of string (* full path *)
+
 type 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
 
 val parse_statement: Ulexing.lexbuf -> statement  (** @raise End_of_file *)
 
-val statement: statement Grammar.Entry.e
+val statement: unit -> statement Grammar.Entry.e
+
+(* this callback is called before every grafite statement *)
+val set_grafite_callback:
+   (LexiconEngine.status -> ast_statement -> unit) -> unit 
+
+(* this callback is called before every lexicon command *)
+val set_lexicon_callback:
+   (LexiconEngine.status -> LexiconAst.command -> unit) -> unit 
 
+val push : unit -> unit
+val pop : unit -> unit