X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fgrafite_engine%2FgrafiteEngine.ml;h=b4a20c20259347bca72f16a95505fe989967664a;hb=729e08f5fb86b3ffee460fda4577b024ab5888aa;hp=d428bad22a985b6ebed8d8f690f6fc31c516b8a6;hpb=b8dac1f8f6b664b78e58c152cd3960e121713f5d;p=helm.git diff --git a/matita/components/grafite_engine/grafiteEngine.ml b/matita/components/grafite_engine/grafiteEngine.ml index d428bad22..b4a20c202 100644 --- a/matita/components/grafite_engine/grafiteEngine.ml +++ b/matita/components/grafite_engine/grafiteEngine.ml @@ -28,9 +28,6 @@ exception Drop (* mo file name, ma file name *) exception IncludedFileNotCompiled of string * string -exception Macro of - GrafiteAst.loc * - (Cic.context -> GrafiteTypes.status * (Cic.term,Cic.lazy_term) GrafiteAst.macro) exception NMacro of GrafiteAst.loc * GrafiteAst.nmacro type 'a disambiguator_input = string * int * 'a @@ -51,13 +48,8 @@ type eval_ast = disambiguate_command: (GrafiteTypes.status -> - (('term,'obj) GrafiteAst.command) disambiguator_input -> - GrafiteTypes.status * (Cic.term,Cic.obj) GrafiteAst.command) -> - - disambiguate_macro: - (GrafiteTypes.status -> - (('term,'lazy_term) GrafiteAst.macro) disambiguator_input -> - Cic.context -> GrafiteTypes.status * (Cic.term,Cic.lazy_term) GrafiteAst.macro) -> + (GrafiteAst.command) disambiguator_input -> + GrafiteTypes.status * GrafiteAst.command) -> ?do_heavy_checks:bool -> GrafiteTypes.status -> @@ -69,18 +61,18 @@ type eval_ast = type 'a eval_command = {ec_go: 'term 'obj. disambiguate_command: - (GrafiteTypes.status -> (('term,'obj) GrafiteAst.command) disambiguator_input -> - GrafiteTypes.status * (Cic.term,Cic.obj) GrafiteAst.command) -> + (GrafiteTypes.status -> GrafiteAst.command disambiguator_input -> + GrafiteTypes.status * GrafiteAst.command) -> options -> GrafiteTypes.status -> - (('term,'obj) GrafiteAst.command) disambiguator_input -> + GrafiteAst.command disambiguator_input -> GrafiteTypes.status * [`Old of UriManager.uri list | `New of NUri.uri list] } type 'a eval_comment = {ecm_go: 'term 'lazy_term 'reduction_kind 'obj 'ident. disambiguate_command: - (GrafiteTypes.status -> (('term,'obj) GrafiteAst.command) disambiguator_input -> - GrafiteTypes.status * (Cic.term,Cic.obj) GrafiteAst.command) -> + (GrafiteTypes.status -> GrafiteAst.command disambiguator_input -> + GrafiteTypes.status * GrafiteAst.command) -> options -> GrafiteTypes.status -> (('term,'lazy_term,'reduction_kind,'obj,'ident) GrafiteAst.comment) disambiguator_input -> GrafiteTypes.status * [`Old of UriManager.uri list | `New of NUri.uri list] @@ -91,13 +83,8 @@ type 'a eval_executable = disambiguate_command: (GrafiteTypes.status -> - (('term,'obj) GrafiteAst.command) disambiguator_input -> - GrafiteTypes.status * (Cic.term,Cic.obj) GrafiteAst.command) -> - - disambiguate_macro: - (GrafiteTypes.status -> - (('term,'lazy_term) GrafiteAst.macro) disambiguator_input -> - Cic.context -> GrafiteTypes.status * (Cic.term,Cic.lazy_term) GrafiteAst.macro) -> + GrafiteAst.command disambiguator_input -> + GrafiteTypes.status * GrafiteAst.command) -> options -> GrafiteTypes.status -> @@ -108,10 +95,6 @@ type 'a eval_executable = type 'a eval_from_moo = { efm_go: GrafiteTypes.status -> string -> GrafiteTypes.status } -let coercion_moo_statement_of (uri,arity, saturations,_) = - GrafiteAst.Coercion - (HExtlib.dummy_floc, CicUtil.term_of_uri uri, false, arity, saturations) - let basic_eval_unification_hint (t,n) status = NCicUnifHint.add_user_provided_hint status t n ;; @@ -653,9 +636,6 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status let status,cmd = disambiguate_command status (text,prefix_len,cmd) in let status,uris = match cmd with - | GrafiteAst.Default (loc, what, uris) as cmd -> - LibraryObjects.set_default what uris; - GrafiteTypes.add_moo_content [cmd] status,`New [] | GrafiteAst.Drop loc -> raise Drop | GrafiteAst.Include (loc, mode, new_or_old, baseuri) -> (* Old Include command is not recursive; new one is *) @@ -685,13 +665,11 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status status,`New [] | GrafiteAst.Print (_,_) -> status,`New [] | GrafiteAst.Set (loc, name, value) -> status, `New [] -(* GrafiteTypes.set_option status name value,[] *) - | GrafiteAst.Obj (loc,obj) -> (* MATITA 1.0 *) assert false in status,uris } and eval_executable = {ee_go = fun ~disambiguate_command -~disambiguate_macro opts status (text,prefix_len,ex) -> + opts status (text,prefix_len,ex) -> match ex with | GrafiteAst.NTactic (_(*loc*), tacl) -> if status#ng_mode <> `ProofMode then @@ -709,8 +687,6 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status eval_command.ec_go ~disambiguate_command opts status (text,prefix_len,cmd) | GrafiteAst.NCommand (_, cmd) -> eval_ncommand opts status (text,prefix_len,cmd) - | GrafiteAst.Macro (loc, macro) -> - raise (Macro (loc,disambiguate_macro status (text,prefix_len,macro))) | GrafiteAst.NMacro (loc, macro) -> raise (NMacro (loc,macro)) @@ -727,21 +703,20 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status let status,lemmas = eval_ast.ea_go ~disambiguate_command:(fun status (_,_,cmd) -> status,cmd) - ~disambiguate_macro:(fun _ _ -> assert false) status ast in assert (lemmas=`New []); status) status moo } and eval_ast = {ea_go = fun ~disambiguate_command -~disambiguate_macro ?(do_heavy_checks=false) status +?(do_heavy_checks=false) status (text,prefix_len,st) -> let opts = { do_heavy_checks = do_heavy_checks ; } in match st with | GrafiteAst.Executable (_,ex) -> eval_executable.ee_go ~disambiguate_command - ~disambiguate_macro opts status (text,prefix_len,ex) + opts status (text,prefix_len,ex) | GrafiteAst.Comment (_,c) -> eval_comment.ecm_go ~disambiguate_command opts status (text,prefix_len,c) } and eval_comment = { ecm_go = fun ~disambiguate_command opts status (text,prefix_len,c) ->