]> 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 4e4b035abdca243abfd2d2f9baf5305ca4e0b1f6..e2a156aeab057506fe476c97798bbdc601059f10 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
-type 'a localized_option =
-   LSome of 'a
- | LNone of GrafiteAst.loc
-
-type ast_statement = GrafiteAst.statement
-
-exception NoInclusionPerformed of string (* full path *)
-
 type db 
 
 class type g_status =
  object
-  inherit LexiconEngine.g_status
+  inherit CicNotationParser.g_status
   method parser_db: db
  end
 
-class status :
+class virtual status :
  object('self)
-  inherit LexiconEngine.status
-  method parser_db : db
+  inherit g_status
+  inherit CicNotationParser.status
   method set_parser_db : db -> 'self
-  method set_parser_status : 'status. #g_status as 'status -> '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 *)
-val parse_statement: 
-  #status ->
-  Ulexing.lexbuf -> 
-    ast_statement localized_option
+type parsable
+val parsable_statement: #status -> Ulexing.lexbuf -> parsable
+val parse_statement: #status -> parsable -> GrafiteAst.statement
+val strm_of_parsable: parsable -> Ulexing.lexbuf