]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaExcPp.ml
ocaml 3.09 transition
[helm.git] / helm / matita / matitaExcPp.ml
index f141b129a73b686448c694a334af057e8d5f7de6..3ad6da153095dac5c56a026a084e1aabb147342c 100644 (file)
@@ -40,5 +40,33 @@ let to_string =
   | Unix.Unix_error (code, api, param) ->
       let err = Unix.error_message code in
       "Unix Error (" ^ api ^ "): " ^ err
+  | MatitaMoo.Corrupt_moo fname ->
+      sprintf ".moo file '%s' is corrupt (shorter than expected)" fname
+  | MatitaMoo.Checksum_failure fname ->
+      sprintf "checksum failed for .moo file '%s', please recompile it'" fname
+  | MatitaMoo.Version_mismatch fname ->
+      sprintf
+        (".moo file '%s' has been compiled by a different version of matita, "
+        ^^ "please recompile it")
+        fname
+  | ProofEngineTypes.Fail msg -> "Tactic error: " ^ Lazy.force msg
+  | Continuationals.Error s -> "Tactical error: " ^ Lazy.force s
+  | CicTypeChecker.TypeCheckerFailure msg ->
+     "Type checking error: " ^ Lazy.force msg
+  | CicTypeChecker.AssertFailure msg ->
+     "Type checking assertion failed: " ^ Lazy.force msg
+  | MatitaDisambiguator.DisambiguationError errorll ->
+     let rec aux n =
+      function
+         [] -> ""
+       | phase::tl ->
+          aux (n+1) tl ^
+           "***** Errors obtained during phase " ^ string_of_int n ^": *****\n"^
+            String.concat "\n\n"
+             (List.map (fun msg -> "*Error: " ^ Lazy.force msg) phase) ^
+            "\n\n\n"
+     in
+      "********** DISAMBIGUATION ERRORS: **********\n" ^
+       aux 1 errorll
   | exn -> "Uncaught exception: " ^ Printexc.to_string exn