* 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 '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