aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--parsing/g_tactic.ml415
1 files changed, 9 insertions, 6 deletions
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index 5a5c07185c..5c0996c944 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -270,7 +270,7 @@ GEXTEND Gram
[ [ c = smart_global; nl = occs -> (nl,c) ] ]
;
intropatterns:
- [ [ l = LIST0 simple_intropattern -> l ]]
+ [ [ l = LIST0 nonsimple_intropattern -> l ]]
;
disjunctive_intropattern:
[ [ "["; tc = LIST1 intropatterns SEP "|"; "]" -> !@loc,IntroOrAndPattern tc
@@ -291,15 +291,18 @@ GEXTEND Gram
[ [ prefix = pattern_ident -> !@loc, IntroFresh prefix
| "?" -> !@loc, IntroAnonymous
| id = ident -> !@loc, IntroIdentifier id
+ | "_" -> !@loc, IntroWildcard
+ | "->" -> !@loc, IntroRewrite true
+ | "<-" -> !@loc, IntroRewrite false ] ]
+ ;
+ nonsimple_intropattern:
+ [ [ l = simple_intropattern -> l
| "*" -> !@loc, IntroForthcoming true
- | "**" -> !@loc, IntroForthcoming false ] ]
+ | "**" -> !@loc, IntroForthcoming false ]]
;
simple_intropattern:
[ [ pat = disjunctive_intropattern -> pat
- | pat = naming_intropattern -> pat
- | "_" -> !@loc, IntroWildcard
- | "->" -> !@loc, IntroRewrite true
- | "<-" -> !@loc, IntroRewrite false ] ]
+ | pat = naming_intropattern -> pat ] ]
;
simple_binding:
[ [ "("; id = ident; ":="; c = lconstr; ")" -> (!@loc, NamedHyp id, c)