]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ocaml/ocaml/contrib/camlp4/examples/gen_match_case.ml
Update
[l4.git] / l4 / pkg / ocaml / ocaml / contrib / camlp4 / examples / gen_match_case.ml
1 open Camlp4.PreCast;;
2
3 let gen patts exprs =
4   let cases =
5     List.fold_right2 begin fun patt expr acc ->
6       let _loc = Loc.merge (Ast.loc_of_patt patt) (Ast.loc_of_expr expr) in
7       <:match_case< $patt$ -> $expr$ | $acc$ >>
8     end patts exprs <:match_case@here<>>
9   in
10   let _loc = Ast.loc_of_match_case cases in
11   <:expr< function $cases$ >>
12 ;;