diff options
Diffstat (limited to 'parsing')
| -rw-r--r-- | parsing/g_ltac.ml4 | 1 | ||||
| -rw-r--r-- | parsing/g_tactic.ml4 | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/parsing/g_ltac.ml4 b/parsing/g_ltac.ml4 index c541b5a7e7..f7a538720d 100644 --- a/parsing/g_ltac.ml4 +++ b/parsing/g_ltac.ml4 @@ -152,6 +152,7 @@ GEXTEND Gram tactic_atom: [ [ id = METAIDENT -> MetaIdArg (loc,true,id) | n = integer -> Integer n + | r = reference -> Reference r | "()" -> TacVoid ] ] ; match_key: diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4 index 7803cd0760..d59a46d125 100644 --- a/parsing/g_tactic.ml4 +++ b/parsing/g_tactic.ml4 @@ -244,6 +244,9 @@ GEXTEND Gram ExplicitBindings bl | bl = LIST1 constr -> ImplicitBindings bl ] ] ; + opt_bindings: + [ [ bl = bindings -> bl | -> NoBindings ] ] + ; constr_with_bindings: [ [ c = constr; l = with_bindings -> (c, l) ] ] ; @@ -527,10 +530,8 @@ GEXTEND Gram | IDENT "eright"; bl = with_bindings -> TacRight (true,bl) | IDENT "split"; bl = with_bindings -> TacSplit (false,false,bl) | IDENT "esplit"; bl = with_bindings -> TacSplit (true,false,bl) - | "exists"; bl = bindings -> TacSplit (false,true,bl) - | "eexists"; bl = bindings -> TacSplit (true,true,bl) - | "exists" (* meaningless? *) -> TacSplit (false,true,NoBindings) - | "eexists" -> TacSplit (true,true,NoBindings) + | "exists"; bl = opt_bindings -> TacSplit (false,true,bl) + | IDENT "eexists"; bl = opt_bindings -> TacSplit (true,true,bl) | IDENT "constructor"; n = num_or_meta; l = with_bindings -> TacConstructor (false,n,l) | IDENT "econstructor"; n = num_or_meta; l = with_bindings -> |
