]> 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 451c17c68aa99b8e02d6e8b281aa2238f7aebe26..e2a156aeab057506fe476c97798bbdc601059f10 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
-type 'a localized_option =
-   LSome of 'a
- | LNone of GrafiteAst.loc
-
-type ast_statement = GrafiteAst.statement
-
 type db 
 
 class type g_status =
@@ -37,15 +31,15 @@ class type g_status =
   method parser_db: db
  end
 
-class status :
+class virtual status :
  object('self)
+  inherit g_status
   inherit CicNotationParser.status
-  method parser_db : db
   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 ->
+val extend : (#status as 'status) ->
            CicNotationParser.checked_l1_pattern ->
            (NotationEnv.t -> NotationPt.location -> NotationPt.term) -> 'status
 
@@ -53,7 +47,7 @@ val extend : #status as '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