X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_parser%2FgrafiteParser.mli;h=d657e49752e2e23ac0e64dfcc2448cf6a12625a7;hb=ef300bfb0dce70eeb4a470532b474387f25ca369;hp=cb88940ffde19daea908157bc497b83acc0c4a3b;hpb=5ca23b5031f8bea8be8a60931affd9e19e389e4b;p=helm.git diff --git a/helm/software/components/grafite_parser/grafiteParser.mli b/helm/software/components/grafite_parser/grafiteParser.mli index cb88940ff..d657e4975 100644 --- a/helm/software/components/grafite_parser/grafiteParser.mli +++ b/helm/software/components/grafite_parser/grafiteParser.mli @@ -29,15 +29,30 @@ type 'a localized_option = type ast_statement = (CicNotationPt.term, CicNotationPt.term, - CicNotationPt.term GrafiteAst.reduction, CicNotationPt.obj, string) + CicNotationPt.term GrafiteAst.reduction, + CicNotationPt.term CicNotationPt.obj, string) GrafiteAst.statement -type 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 -> - LexiconEngine.status * ast_statement localized_option + (#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 -val parse_statement: Ulexing.lexbuf -> statement (** @raise End_of_file *) +(* this callback is called before every grafite statement *) +val set_grafite_callback: + (ast_statement -> unit) -> unit -val statement: statement Grammar.Entry.e +(* this callback is called before every lexicon command *) +val set_lexicon_callback: + (LexiconAst.command -> unit) -> unit +val push : unit -> unit +val pop : unit -> unit