aboutsummaryrefslogtreecommitdiffhomepage
path: root/parsing
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-10-08 00:10:55 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2016-10-08 00:56:12 +0200
commit9bdd8aff92829aaa7c5a45b6e4e5adfa9e8789df (patch)
tree9e335c08004f01cf4016a11f83ffa1ca07b720c1 /parsing
parentd93e8a7e7c9ae08cfedaf4a3db00ae3f9240bfe5 (diff)
Fix bug #5098: Symmetry broken in HoTT.
We defactorize the in_clause grammar entry to allow parsing of the "symmetry" tactic when it has no arguments. Beforehand, the clause_dft_concl entry accepted the empty stream, preventing the definition of symmetry as a mere identifier.
Diffstat (limited to 'parsing')
-rw-r--r--parsing/g_tactic.ml42
-rw-r--r--parsing/pcoq.ml1
-rw-r--r--parsing/pcoq.mli1
3 files changed, 3 insertions, 1 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index 199ef9fce..3152afb28 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -220,7 +220,7 @@ let warn_deprecated_eqn_syntax =
GEXTEND Gram
GLOBAL: simple_tactic constr_with_bindings quantified_hypothesis
bindings red_expr int_or_var open_constr uconstr
- simple_intropattern clause_dft_concl hypident destruction_arg;
+ simple_intropattern in_clause clause_dft_concl hypident destruction_arg;
int_or_var:
[ [ n = integer -> ArgArg n
diff --git a/parsing/pcoq.ml b/parsing/pcoq.ml
index 4e069c9e3..9e9a7e723 100644
--- a/parsing/pcoq.ml
+++ b/parsing/pcoq.ml
@@ -350,6 +350,7 @@ module Tactic =
let red_expr = make_gen_entry utactic "red_expr"
let simple_intropattern =
make_gen_entry utactic "simple_intropattern"
+ let in_clause = make_gen_entry utactic "in_clause"
let clause_dft_concl =
make_gen_entry utactic "clause"
diff --git a/parsing/pcoq.mli b/parsing/pcoq.mli
index 7f49c997f..7f6caf63f 100644
--- a/parsing/pcoq.mli
+++ b/parsing/pcoq.mli
@@ -193,6 +193,7 @@ module Tactic :
val red_expr : raw_red_expr Gram.entry
val simple_tactic : raw_tactic_expr Gram.entry
val simple_intropattern : constr_expr intro_pattern_expr located Gram.entry
+ val in_clause : Names.Id.t Loc.located Locus.clause_expr Gram.entry
val clause_dft_concl : Names.Id.t Loc.located Locus.clause_expr Gram.entry
val tactic_arg : raw_tactic_arg Gram.entry
val tactic_expr : raw_tactic_expr Gram.entry