return_term loc (CicAst.LetRec (ind_kind, defs, body))
| outtyp = OPT [ PAREN "["; typ = term; PAREN "]" -> typ ];
"match"; t = term;
- SYMBOL ":"; indty = IDENT;
+ indty_ident = OPT [ SYMBOL ":"; id = IDENT -> id ];
"with";
PAREN "[";
patterns = LIST0 [
] SEP SYMBOL "|";
PAREN "]" ->
return_term loc
- (CicAst.Case (t, indty, outtyp, patterns))
+ (CicAst.Case (t, indty_ident, outtyp, patterns))
| PAREN "("; t = term; PAREN ")" -> return_term loc t
]
];