X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaTypes.ml;h=bfdb99904a05a7ba88c4d5dbef44e9fb49eeb151;hb=cc465115cdeea9819f43a5ad219b07c4f928c43a;hp=b26c2f677221ba96c3180e5963815f3708b6f0db;hpb=b5d69130dd83587b5fb9cbb39251aaa8df8c456e;p=helm.git diff --git a/helm/matita/matitaTypes.ml b/helm/matita/matitaTypes.ml index b26c2f677..bfdb99904 100644 --- a/helm/matita/matitaTypes.ml +++ b/helm/matita/matitaTypes.ml @@ -23,8 +23,15 @@ * 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 *) class type observer = (* "observer" pattern *) @@ -49,7 +56,47 @@ 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 env: DisambiguateTypes.environment + method setEnv: DisambiguateTypes.environment -> unit + + (* TODO Zack: as long as matita doesn't support MDI inteface, + * disambiguateTerm will return a single term *) + (** @param env defaults to self#env *) + method disambiguateTerm: + ?context:Cic.context -> ?metasenv:Cic.metasenv -> + ?env:DisambiguateTypes.environment -> + char Stream.t -> + (DisambiguateTypes.environment * Cic.metasenv * Cic.term) + method disambiguateTermAst: + ?context:Cic.context -> ?metasenv:Cic.metasenv -> + ?env:DisambiguateTypes.environment -> + DisambiguateTypes.term -> + (DisambiguateTypes.environment * Cic.metasenv * Cic.term) + 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 +