]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaExcPp.ml
Disambiguation errors are no longer thrown away. They are now collected
[helm.git] / helm / matita / matitaExcPp.ml
index f141b129a73b686448c694a334af057e8d5f7de6..a5a2f4d86a73a44772addd8852296e77aab03741 100644 (file)
@@ -40,5 +40,31 @@ 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" (List.map Lazy.force phase) ^ "\n" ^ "\n"
+     in
+      "DISAMBIGUATION ERROR:\n" ^
+       aux 1 errorll
   | exn -> "Uncaught exception: " ^ Printexc.to_string exn