]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaScript.ml
ported to new syntactic requirement about terms being surrounded by parens
[helm.git] / helm / matita / matitaScript.ml
index 8ef5146ca8d72689f65646d67e40ab02748fe5b6..dcb0baebf155699fd7fbddc02e4c7b8110fc717b 100644 (file)
@@ -110,16 +110,15 @@ let eval_with_engine guistuff status user_goal parsed_text st =
     match ex with
       | TA.Command (_, TA.Alias _)
       | TA.Command (_, TA.Include _)
-      | TA.Command (_, TA.Interpretation _) ->
-          DisambiguateTypes.Environment.empty
+      | TA.Command (_, TA.Interpretation _) -> []
       | _ -> MatitaSync.alias_diff ~from:status new_status
   in
   (* we remove the defined object since we consider them "automatic aliases" *)
   let initial_space,status,new_status_and_text_list_rev = 
     let module DTE = DisambiguateTypes.Environment in
     let module UM = UriManager in
-    DTE.fold_flatten (
-      fun k ((v,_) as value) (initial_space,status,acc) -> 
+    List.fold_left (
+      fun (initial_space,status,acc) (k,((v,_) as value)) -> 
         let b = 
           try
             let v = UM.strip_xpointer (UM.uri_of_string v) in
@@ -133,12 +132,14 @@ let eval_with_engine guistuff status user_goal parsed_text st =
           let initial_space =
            if initial_space = "" then "\n" else initial_space in
             initial_space ^
-             DisambiguatePp.pp_environment(DTE.cons k value DTE.empty) in
+             DisambiguatePp.pp_environment
+              (DisambiguateTypes.Environment.add k value
+                DisambiguateTypes.Environment.empty) in
          let new_status =
-          {status with aliases = DTE.cons k value status.aliases}
+          MatitaSync.set_proof_aliases status [k,value]
          in
           "\n",new_status,((new_status, new_text)::acc)
-    ) new_aliases (initial_space,status,[]) in
+    ) (initial_space,status,[]) new_aliases in
   let parsed_text = initial_space ^ parsed_text in
   let res =
    List.rev new_status_and_text_list_rev @ new_status_and_text_list' @
@@ -179,7 +180,7 @@ let eval_with_engine guistuff status user_goal parsed_text st =
         let title = "Unable to include " ^ what in
         let message = 
          what ^ " is <b>not</b> handled by a development.\n" ^
-         "All dependencies are authomatically solved for a development.\n\n" ^
+         "All dependencies are automatically solved for a development.\n\n" ^
          "<i>Do you want to set up a development?</i>"
         in
         (match guistuff.ask_confirmation ~title ~message with
@@ -206,8 +207,9 @@ let disambiguate term status =
   let dbd = MatitaDb.instance () in
   let metasenv = MatitaMisc.get_proof_metasenv status in
   let context = MatitaMisc.get_proof_context status in
-  let aliases = MatitaMisc.get_proof_aliases status in
-  let interps = MD.disambiguate_term dbd context metasenv aliases term in
+  let interps =
+   MD.disambiguate_term ~dbd ~context ~metasenv ~aliases:status.aliases
+    ~universe:(Some status.multi_aliases) term in
   match interps with 
   | [_,_,x,_], _ -> x
   | _ -> assert false
@@ -230,7 +232,7 @@ let eval_macro guistuff status unparsed_text parsed_text script mac =
       let l =  MQ.match_term ~dbd term in
       let query_url =
         MatitaMisc.strip_suffix ~suffix:"."
-          (MatitaMisc.trim_blanks unparsed_text)
+          (HExtlib.trim_blanks unparsed_text)
       in
       let entry = `Whelp (query_url, l) in
       guistuff.mathviewer#show_uri_list ~reuse:true ~entry l;
@@ -294,10 +296,9 @@ let eval_macro guistuff status unparsed_text parsed_text script mac =
   | TA.Check (_,term) ->
       let metasenv = MatitaMisc.get_proof_metasenv status in
       let context = MatitaMisc.get_proof_context status in
-      let aliases = MatitaMisc.get_proof_aliases status in
       let interps = 
-        MatitaDisambiguator.disambiguate_term 
-          dbd context metasenv aliases term 
+        MatitaDisambiguator.disambiguate_term ~dbd ~context ~metasenv
+         ~aliases:status.aliases ~universe:(Some status.multi_aliases) term
       in
       let _, metasenv , term, ugraph =
         match interps with 
@@ -369,7 +370,7 @@ let rec eval_statement baseoffset parsedlen error_tag (buffer : GText.buffer)
   if Pcre.pmatch ~rex:only_dust_RE unparsed_text then raise Margin;
   let st =
    try
-    GrafiteParser.parse_statement (Stream.of_string unparsed_text)
+    GrafiteParser.parse_statement (Ulexing.from_utf8_string unparsed_text)
    with
     CicNotationParser.Parse_error (floc,err) as exc ->
      let (x, y) = CicNotationPt.loc_of_floc floc in
@@ -582,7 +583,7 @@ object (self)
     List.iter (fun o -> o status) observers
 
   method loadFromFile f =
-    buffer#set_text (MatitaMisc.input_file f);
+    buffer#set_text (HExtlib.input_file f);
     self#reset_buffer;
     buffer#set_modified false
     
@@ -628,7 +629,7 @@ object (self)
     buffer#set_modified false
   
   method template () =
-    let template = MatitaMisc.input_file BuildTimeConf.script_template in 
+    let template = HExtlib.input_file BuildTimeConf.script_template in 
     buffer#insert ~iter:(buffer#get_iter `START) template;
     guistuff.filenamedata <- 
       (None,MatitamakeLib.development_for_dir (Unix.getcwd ()));
@@ -730,7 +731,7 @@ object (self)
     let s = self#getFuture in
     let rec is_there_and_executable s = 
       if Pcre.pmatch ~rex:only_dust_RE s then raise Margin;
-      let st = GrafiteParser.parse_statement (Stream.of_string s) in
+      let st = GrafiteParser.parse_statement (Ulexing.from_utf8_string s) in
       match st with
       | GrafiteAst.Comment (loc,_)-> 
           let parsed_text_length = snd (CicNotationPt.loc_of_floc loc) in