]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/grafite_parser/grafiteParser.mli
Use of standard OCaml syntax
[helm.git] / matita / components / grafite_parser / grafiteParser.mli
index 2dc83319497c54e904e91b3fddf1667afe624743..e2a156aeab057506fe476c97798bbdc601059f10 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
-type 'a localized_option =
-   LSome of 'a
- | LNone of GrafiteAst.loc
-
-type ast_statement =
-  (NotationPt.term, NotationPt.term,
-   NotationPt.term GrafiteAst.reduction, 
-   NotationPt.term NotationPt.obj, string)
-    GrafiteAst.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 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
-
-(* this callback is called before every grafite statement *)
-val set_grafite_callback:
-   (ast_statement -> unit) -> unit 
-
-(* this callback is called before every lexicon command *)
-val set_lexicon_callback:
-   (LexiconAst.command -> unit) -> unit 
-
-val push : unit -> unit
-val pop : unit -> unit
+type db 
+
+class type g_status =
+ object
+  inherit CicNotationParser.g_status
+  method parser_db: db
+ end
+
+class virtual status :
+ object('self)
+  inherit g_status
+  inherit CicNotationParser.status
+  method set_parser_db : db -> 'self
+  method set_parser_status : 'status. (#g_status as 'status) -> 'self
+ end
+
+val extend : (#status as 'status) ->
+           CicNotationParser.checked_l1_pattern ->
+           (NotationEnv.t -> NotationPt.location -> NotationPt.term) -> 'status
+
+
+ (* never_include: do not call LexiconEngine to do includes, 
+  * always raise NoInclusionPerformed *) 
+(** @raise End_of_file *)
+type parsable
+val parsable_statement: #status -> Ulexing.lexbuf -> parsable
+val parse_statement: #status -> parsable -> GrafiteAst.statement
+val strm_of_parsable: parsable -> Ulexing.lexbuf