diff options
| -rw-r--r-- | parsing/g_tactic.ml4 | 15 |
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) |
