]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitadep.ml
merged cic_notation with matita: good luck!
[helm.git] / helm / matita / matitadep.ml
index bd05558f3dd225d26795eed55b2f888198e7cd9a..56c60aff8cc40f7885f28c07e9c11c9e3649d702 100644 (file)
@@ -35,7 +35,7 @@ let usage =
   Printf.sprintf "MatitaDep v%s\nUsage: matitadep [options] file...\nOptions:"
     BuildTimeConf.version
 
-module TA = TacticAst 
+module TA = GrafiteAst 
 module U = UriManager
 
 let deps = Hashtbl.create (Array.length Sys.argv)
@@ -78,39 +78,39 @@ let find path =
 ;;
 
 let main () =
+  Helm_registry.load_from BuildTimeConf.matita_conf;
+  CicNotation.load_notation BuildTimeConf.core_notation_script;
   let files = ref [] in
   Arg.parse arg_spec (add_l files) usage;
   List.iter (fun file -> 
     let ic = open_in file in
-    let stms =
-      try
-        CicTextualParser2.parse_statements (Stream.of_channel ic)
-      with
-        (CicTextualParser2.Parse_error _) as exc ->
-          prerr_endline ("Unable to parse: " ^ file);
-          prerr_endline (MatitaExcPp.to_string exc);
-          exit 1
-    in
-    close_in ic;
-    List.iter 
-      (function
-      | TA.Executable (_, TA.Command (_, TA.Set (_, "baseuri", uri))) ->
-          let uri = MatitaMisc.strip_trailing_slash uri in
-          baseuri := (uri, file) :: !baseuri
-      | TA.Executable (_, TA.Command 
-          (_, TA.Alias (_, TA.Ident_alias(_, uri)))) -> 
-            Hashtbl.add aliases file uri
-      | TA.Executable (_, TA.Command (_, TA.Include (_, path))) ->
-            Hashtbl.add deps file (find path)
-      | _ -> ()) 
-      stms; 
+    let istream = Stream.of_channel ic in
+    (try
+      while true do
+        match GrafiteParser.parse_statement istream with
+        | TA.Executable (_, TA.Command (_, TA.Set (_, "baseuri", uri))) ->
+            let uri = MatitaMisc.strip_trailing_slash uri in
+            baseuri := (uri, file) :: !baseuri
+        | TA.Executable (_, TA.Command 
+            (_, TA.Alias (_, TA.Ident_alias(_, uri)))) -> 
+              Hashtbl.add aliases file uri
+        | TA.Executable (_, TA.Command (_, TA.Include (_, path))) ->
+              Hashtbl.add deps file (find path)
+        | _ -> ()
+      done
+    with
+    | CicNotationParser.Parse_error _ as exn ->
+        prerr_endline ("Unable to parse: " ^ file);
+        prerr_endline (MatitaExcPp.to_string exn);
+        exit 1
+    | End_of_file -> close_in ic);
     Hashtbl.iter 
       (fun file alias -> 
         let dep = resolve alias in
         match dep with 
         | None -> ()
         | Some d -> Hashtbl.add deps file d)
-      aliases;)
+      aliases)
   !files;
   List.iter (fun file -> 
     let deps = Hashtbl.find_all deps file in
@@ -125,5 +125,6 @@ let main () =
     !files
 ;;
   
+let _ =
+  main ()
 
-let _ = main ()