]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/grafite_engine/grafiteEngine.ml
Propagation of changes to grafiteAst.
[helm.git] / matita / components / grafite_engine / grafiteEngine.ml
index 6ebeb28420c7365c8779c1ee05e829da013d284e..78564d4218a35093dae14be982da3d3075b91484 100644 (file)
@@ -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,38 +48,32 @@ 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 ->
-  (('term, 'lazy_term, 'reduction, 'obj, 'ident) GrafiteAst.statement)
-  disambiguator_input ->
+(*  (('term, 'lazy_term, 'reduction, 'obj, 'ident) GrafiteAst.statement) *)
+  GrafiteAst.statement disambiguator_input ->
   GrafiteTypes.status * [`Old of UriManager.uri list | `New of NUri.uri list]
  }
 
 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) -> 
-  options -> GrafiteTypes.status -> 
-    (('term,'lazy_term,'reduction_kind,'obj,'ident) GrafiteAst.comment) disambiguator_input ->
+   (GrafiteTypes.status -> GrafiteAst.command disambiguator_input ->
+    GrafiteTypes.status * GrafiteAst.command) -> 
+  options -> GrafiteTypes.status -> GrafiteAst.comment disambiguator_input ->
    GrafiteTypes.status * [`Old of UriManager.uri list | `New of NUri.uri list]
  }
 
@@ -91,27 +82,17 @@ 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 ->
-  (('term, 'lazy_term, 'reduction, 'obj, 'ident) GrafiteAst.code) disambiguator_input ->
+  GrafiteTypes.status -> GrafiteAst.code disambiguator_input ->
   GrafiteTypes.status * [`Old of UriManager.uri list | `New of NUri.uri list]
  }
 
 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
 ;;
@@ -289,6 +270,7 @@ let eval_add_constraint status u1 u2 =
   status,`New []
 ;;
 
+(* Not used
 let eval_ng_punct (_text, _prefix_len, punct) =
   match punct with
   | GrafiteAst.Dot _ -> NTactics.dot_tac 
@@ -298,7 +280,7 @@ let eval_ng_punct (_text, _prefix_len, punct) =
   | GrafiteAst.Pos (_,l) -> NTactics.pos_tac l
   | GrafiteAst.Wildcard _ -> NTactics.wildcard_tac 
   | GrafiteAst.Merge _ -> NTactics.merge_tac 
-;;
+;; *)
 
 let eval_ng_tac tac =
  let rec aux f (text, prefix_len, tac) =
@@ -653,9 +635,8 @@ 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.Drop loc -> raise Drop
-  | GrafiteAst.Include (loc, mode, new_or_old, baseuri) ->
-     (* Old Include command is not recursive; new one is *)
+  | GrafiteAst.Include (loc, baseuri) ->
+     (* Old Include command is not recursive; new one is 
      let status =
       if new_or_old = `OldAndNew then
        let moopath_rw, moopath_r = 
@@ -671,24 +652,22 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status
         eval_from_moo.efm_go status moopath
       else
        status
-     in
+     in *)
       let status =
        NCicLibrary.Serializer.require ~baseuri:(NUri.uri_of_string baseuri)
         status in
       let status =
        GrafiteTypes.add_moo_content
-        [GrafiteAst.Include (loc,mode,`New,baseuri)] status
+        [GrafiteAst.Include (loc,baseuri)] status
       in
        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
@@ -706,8 +685,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))
 
@@ -724,21 +701,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) ->