| SYMBOL "<" -> `RightToLeft ]
];
int: [ [ num = NUMBER -> int_of_string num ] ];
+ intros_names: [
+ [ idents = OPT ident_list0 ->
+ match idents with None -> [] | Some idents -> idents
+ ]
+ ];
intros_spec: [
[ OPT [ IDENT "names" ];
num = OPT [ num = int -> num ];
- idents = OPT ident_list0 ->
- let idents = match idents with None -> [] | Some idents -> idents in
+ idents = intros_names ->
num, idents
]
];
GrafiteAst.Assumption loc
| IDENT "auto"; params = auto_params ->
GrafiteAst.Auto (loc,params)
+ | IDENT "cases"; what = tactic_term;
+ (num, idents) = intros_spec ->
+ GrafiteAst.Cases (loc, what, idents)
| IDENT "clear"; ids = LIST1 IDENT ->
GrafiteAst.Clear (loc, ids)
| IDENT "clearbody"; id = IDENT ->