let let_defs = Grammar.Entry.create level2_ast_grammar "let_defs"
let level2_meta = Grammar.Entry.create level2_meta_grammar "level2_meta"
-let return_term loc term = ()
-
let int_of_string s =
try
Pervasives.int_of_string s
| m = META; s = meta_substs ->
return_term loc (Ast.Meta (int_of_string m, s))
| s = sort -> return_term loc (Ast.Sort s)
- | outtyp = OPT [ SYMBOL "["; ty = term; SYMBOL "]" -> ty ];
- "match"; t = term;
+ | "match"; t = term;
indty_ident = OPT [ "in"; id = IDENT -> id, None ];
+ outtyp = OPT [ "return"; ty = term -> ty ];
"with"; SYMBOL "[";
patterns = LIST0 [
lhs = match_pattern; SYMBOL <:unicode<Rightarrow>> (* ⇒ *);