X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fcomponents%2Fgrafite_parser%2FgrafiteParser.mli;h=e2a156aeab057506fe476c97798bbdc601059f10;hb=HEAD;hp=98942e6850bc6e39020f14b07a2f35673125a68c;hpb=560db5569f54fba5bded568699a33947f88df3ba;p=helm.git diff --git a/matita/components/grafite_parser/grafiteParser.mli b/matita/components/grafite_parser/grafiteParser.mli index 98942e685..e2a156aea 100644 --- a/matita/components/grafite_parser/grafiteParser.mli +++ b/matita/components/grafite_parser/grafiteParser.mli @@ -23,32 +23,31 @@ * 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