prerr_endline ("End: " ^ NUri.string_of_uri s));
NCicPp.set_ppterm NCicPp.trivial_pp_term;
Helm_registry.load_from "conf.xml";
- let u = UriManager.uri_of_string Sys.argv.(1) in
- let _,o = NCicEnvironment.get_obj (NUri.nuri_of_ouri u) in
- try NCicTypeChecker.typecheck_obj o
- with
- | NCicTypeChecker.AssertFailure s
- | NCicTypeChecker.TypeCheckerFailure s as e ->
- prerr_endline (Lazy.force s); raise e
- | CicEnvironment.Object_not_found s ->
- prerr_endline ("Obj not found: " ^ UriManager.string_of_uri s)
+ 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
+ List.iter (fun uu ->
+ if uu.[0] = '#' then prerr_endline "SKIP" else begin
+ prerr_endline ("************* INIZIO **************** " ^ uu);
+ let u = UriManager.uri_of_string uu in
+ let _,o = NCicEnvironment.get_obj (NUri.nuri_of_ouri u) in
+ try
+ NCicTypeChecker.typecheck_obj o;
+ prerr_endline ("************* FINE ****************" ^ 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);
+ end)
+ alluris
;;