- let u = UriManager.uri_of_string Sys.argv.(1) in
- let o, _ = CicEnvironment.get_obj CicUniv.oblivion_ugraph u in
- let l = OCic2NCic.convert_obj u o in
+ let alluris =
+ try
+ let s = Sys.argv.(1) in
+ if s = "-alluris" then
+ begin
+ let uri_re = Str.regexp ".*\\(ind\\|var\\|con\\)$" in
+ let uris = Http_getter.getalluris () in
+ let alluris = List.filter (fun u -> Str.string_match uri_re u 0) uris in
+ let oc = open_out "alluris.txt" in
+ List.iter (fun s -> output_string oc (s^"\n")) alluris;
+ close_out oc;
+ []
+ end
+ else [s]
+ with Invalid_argument _ ->
+ let r = ref [] in
+ let ic = open_in "alluris.txt" in
+ try while true do r := input_line ic :: !r; done; []
+ with _ -> List.rev !r
+ in
+ let alluris =
+ HExtlib.filter_map
+ (fun u -> try Some (NUri.nuri_of_ouri (UriManager.uri_of_string u)) with _
+ -> None) alluris
+ in
+ prerr_endline "caching objects";
+ List.iter (fun uu ->
+(* prerr_endline ("************* INIZIO **************** " ^ NUri.string_of_uri uu); *)
+ let _,o = NCicEnvironment.get_obj uu in
+ try
+ NCicTypeChecker.typecheck_obj o;
+(* prerr_endline ("************* FINE ****************" ^ NUri.string_of_uri uu); *)
+ with
+ | NCicTypeChecker.AssertFailure s
+ | NCicTypeChecker.TypeCheckerFailure s as e ->
+(* prerr_endline ("Obj: " ^ NCicPp.ppobj o); *)
+ prerr_endline (Lazy.force s); raise e
+ | CicEnvironment.Object_not_found s ->
+ prerr_endline ("Obj not found: " ^ UriManager.string_of_uri s);
+ )
+ alluris;
+ NCicEnvironment.invalidate ();
+ Gc.compact ();
+ prerr_endline "typechecking, first with the new and then with the old kernel";
+ let prima = Unix.gettimeofday () in