X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fmatita%2FmatitaTypes.ml;h=acae4c9dfe2d4d5cbd89da094823fb4c15a81d67;hb=07dde6f87105c18b28fc784b7d596a5d242e1225;hp=b26c2f677221ba96c3180e5963815f3708b6f0db;hpb=c90749c827f9c1a359cfe0a48e669952d49187c6;p=helm.git diff --git a/helm/matita/matitaTypes.ml b/helm/matita/matitaTypes.ml index b26c2f677..acae4c9df 100644 --- a/helm/matita/matitaTypes.ml +++ b/helm/matita/matitaTypes.ml @@ -23,8 +23,16 @@ * http://helm.cs.unibo.it/ *) - (** no current proof is available *) -exception No_proof +exception Not_implemented of string +let not_implemented feature = raise (Not_implemented feature) + + (** exceptions whose content should be presented to the user *) +exception Failure of string +let error s = raise (Failure s) +let warning s = prerr_endline ("MATITA WARNING: " ^ s) + +exception No_proof (** no current proof is available *) +exception No_choice (** no choice was made by the user *) class type observer = (* "observer" pattern *) @@ -49,7 +57,41 @@ class type command = method undo: unit -> unit end +class type parserr = (* "parser" is a keyword :-( *) + object + method parseTerm: char Stream.t -> DisambiguateTypes.term + method parseTactic: char Stream.t -> DisambiguateTypes.tactic + method parseTactical: char Stream.t -> DisambiguateTypes.tactical + method parseCommand: char Stream.t -> DisambiguateTypes.command + method parseScript: char Stream.t -> DisambiguateTypes.script + end + +class type disambiguator = + object + method parserr: parserr + method setParserr: parserr -> unit + + method disambiguateTerm: + context:Cic.context -> metasenv:Cic.metasenv -> + ?env:DisambiguateTypes.environment -> + char Stream.t -> + (DisambiguateTypes.environment * Cic.metasenv * Cic.term) list + method disambiguateTermAst: + context:Cic.context -> metasenv:Cic.metasenv -> + ?env:DisambiguateTypes.environment -> + DisambiguateTypes.term -> + (DisambiguateTypes.environment * Cic.metasenv * Cic.term) list + end + (** {2 shorthands} *) type namer = ProofEngineTypes.mk_fresh_name_type +type choose_uris_callback = + selection_mode:Gtk.Tags.selection_mode -> + ?title:string -> ?msg:string -> ?nonvars_button:bool -> + string list -> + string list + +type choose_interp_callback = (string * string) list list -> int list +