summaryrefslogtreecommitdiff
path: root/src/rewrites.mli
diff options
context:
space:
mode:
authorBrian Campbell2018-07-23 16:14:12 +0100
committerBrian Campbell2018-07-23 16:15:53 +0100
commitf3ef82fee78d40c628d319dab4cc35a41c638e8e (patch)
tree94a4ac32a05c69f0ef9a69d99e6207e9777f9e68 /src/rewrites.mli
parent4c25326519d00bc781d6ee33ca507d1d525af686 (diff)
Coq: make all pattern matches in the output exhaustive
Uses previous stage to deal with (e.g.) guards. New option -dcoq_warn_nonex tells you where all of the extra default cases were added.
Diffstat (limited to 'src/rewrites.mli')
-rw-r--r--src/rewrites.mli7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rewrites.mli b/src/rewrites.mli
index 70cb75af..7d6bc0b2 100644
--- a/src/rewrites.mli
+++ b/src/rewrites.mli
@@ -66,6 +66,13 @@ val rewrite_defs_interpreter : (string * (tannot defs -> tannot defs)) list
(* Perform rewrites to exclude AST nodes not supported for lem out*)
val rewrite_defs_lem : (string * (tannot defs -> tannot defs)) list
+(* Perform rewrites to exclude AST nodes not supported for coq out*)
+val rewrite_defs_coq : (string * (tannot defs -> tannot defs)) list
+
+(* Warn about matches where we add a default case for Coq because they're not
+ exhaustive *)
+val opt_coq_warn_nonexhaustive : bool ref
+
(* Perform rewrites to exclude AST nodes not supported for C compilation *)
val rewrite_defs_c : (string * (tannot defs -> tannot defs)) list