aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorherbelin2005-12-17 21:13:48 +0000
committerherbelin2005-12-17 21:13:48 +0000
commitae6c95a3755fc3a9434bcc9fdd81b7c69baa8280 (patch)
tree695244819d00b4816223e572c7867ca21efa9758 /toplevel
parentcea2061080d540c0507192eca1887ea4b502680d (diff)
Création d'un type d'erreur RecursionSchemeError distinct de InductiveError et suite correction bug #1028
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@7660 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/cerrors.ml2
-rw-r--r--toplevel/himsg.ml8
-rw-r--r--toplevel/himsg.mli2
3 files changed, 10 insertions, 2 deletions
diff --git a/toplevel/cerrors.ml b/toplevel/cerrors.ml
index 913f1250de..8a44877279 100644
--- a/toplevel/cerrors.ml
+++ b/toplevel/cerrors.ml
@@ -76,6 +76,8 @@ let rec explain_exn_default = function
hov 0 (str "Error:" ++ spc () ++ Himsg.explain_pretype_error ctx te)
| InductiveError e ->
hov 0 (str "Error:" ++ spc () ++ Himsg.explain_inductive_error e)
+ | RecursionSchemeError e ->
+ hov 0 (str "Error:" ++ spc () ++ Himsg.explain_recursion_scheme_error e)
| Cases.PatternMatchingError (env,e) ->
hov 0
(str "Error:" ++ spc () ++ Himsg.explain_pattern_matching_error env e)
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml
index 55201ea43d..40fae1e8fd 100644
--- a/toplevel/himsg.ml
+++ b/toplevel/himsg.ml
@@ -586,8 +586,9 @@ let error_bad_induction dep indid kind =
let error_not_mutual_in_scheme () =
str "Induction schemes are concerned only with distinct mutually inductive types"
+(* Inductive constructions errors *)
+
let explain_inductive_error = function
- (* These are errors related to inductive constructions *)
| NonPos (env,c,v) -> error_non_strictly_positive env c v
| NotEnoughArgs (env,c,v) -> error_ill_formed_inductive env c v
| NotConstructor (env,c,v) -> error_ill_formed_constructor env c v
@@ -597,7 +598,10 @@ let explain_inductive_error = function
| SameNamesOverlap idl -> error_same_names_overlap idl
| NotAnArity id -> error_not_an_arity id
| BadEntry -> error_bad_entry ()
- (* These are errors related to recursors *)
+
+(* Recursion schemes errors *)
+
+let explain_recursion_scheme_error = function
| NotAllowedCaseAnalysis (dep,k,i) ->
error_not_allowed_case_analysis dep k i
| BadInduction (dep,indid,kind) -> error_bad_induction dep indid kind
diff --git a/toplevel/himsg.mli b/toplevel/himsg.mli
index 1c389b9c26..2625243dc9 100644
--- a/toplevel/himsg.mli
+++ b/toplevel/himsg.mli
@@ -27,6 +27,8 @@ val explain_pretype_error : env -> pretype_error -> std_ppcmds
val explain_inductive_error : inductive_error -> std_ppcmds
+val explain_recursion_scheme_error : recursion_scheme_error -> std_ppcmds
+
val explain_refiner_error : refiner_error -> std_ppcmds
val explain_pattern_matching_error :