-Index: main/ast2pt.ml
-===================================================================
-retrieving revision 6.33
-diff -c -r6.33 ast2pt.ml
-*** main/ast2pt.ml 16 Mar 2011 16:52:42 -0000 6.33
---- main/ast2pt.ml 17 Mar 2011 16:55:32 -0000
-***************
-*** 725,730 ****
---- 725,737 ----
- | t -> t ]
- ;
-
-+ value label_of_patt =
-+ fun
-+ [ PaLid _ s -> uv s
-+ | PaTyc _ (PaLid _ s) _ -> uv s
-+ | p -> error (MLast.loc_of_patt p) "label_of_patt; case not impl" ]
-+ ;
-+
- value rec expr =
- fun
- [ ExAcc loc x <:expr< val >> ->
-***************
-*** 856,867 ****
- [ [(PaLab ploc lppo, w, e)] ->
- List.fold_right
- (fun (p, po) e -> do {
-! let lab =
-! match p with
-! [ PaLid _ lab -> uv lab
-! | PaTyc _ (PaLid _ lab) _ -> uv lab
-! | _ -> error loc "not impl label for that patt 1" ]
-! in
- let p =
- match uv po with
- [ Some p -> p
---- 863,869 ----
- [ [(PaLab ploc lppo, w, e)] ->
- List.fold_right
- (fun (p, po) e -> do {
-! let lab = label_of_patt p in
- let p =
- match uv po with
- [ Some p -> p
-***************
-*** 878,889 ****
- | None -> mkexp loc (newtype (uv s) (expr e)) ]
- | None -> error loc "(type ..) not in this ocaml version" ]
- | [(PaOlb loc p eo, w, e)] ->
-! let lab =
-! match p with
-! [ PaLid _ lab -> uv lab
-! | PaTyc _ (PaLid _ lab) _ -> uv lab
-! | _ -> error loc "not impl label for that patt 2" ]
-! in
- let (p, eo) =
- match uv eo with
- [ Some (ExOlb _ p eo) -> (p, eo)
---- 880,886 ----
- | None -> mkexp loc (newtype (uv s) (expr e)) ]
- | None -> error loc "(type ..) not in this ocaml version" ]
- | [(PaOlb loc p eo, w, e)] ->
-! let lab = label_of_patt p in
- let (p, eo) =
- match uv eo with
- [ Some (ExOlb _ p eo) -> (p, eo)
-***************
-*** 1326,1336 ****
- [ Some pcl_fun ->
- match uv lppo with
- [ [(p, po)] -> do {
-! let lab =
-! match p with
-! [ PaLid _ s -> uv s
-! | p -> error loc "label not implemented in that case 2" ]
-! in
- let p =
- match uv po with
- [ Some p -> p
---- 1323,1329 ----
- [ Some pcl_fun ->
- match uv lppo with
- [ [(p, po)] -> do {
-! let lab = label_of_patt p in
- let p =
- match uv po with
- [ Some p -> p
-***************
-*** 1343,1353 ****
- | CeFun loc (PaOlb _ p eo) ce ->
- match ocaml_pcl_fun with
- [ Some pcl_fun ->
-! let lab =
-! match p with
-! [ PaLid _ s -> uv s
-! | p -> error loc "label not implemented in that case 4" ]
-! in
- let (p, eo) =
- match uv eo with
- [ Some (ExOlb _ p eo) -> (p, eo)
---- 1336,1342 ----
- | CeFun loc (PaOlb _ p eo) ce ->
- match ocaml_pcl_fun with
- [ Some pcl_fun ->
-! let lab = label_of_patt p in
- let (p, eo) =
- match uv eo with
- [ Some (ExOlb _ p eo) -> (p, eo)
-Index: ocaml_src/main/ast2pt.ml
-===================================================================
-retrieving revision 6.33
-diff -c -r6.33 ast2pt.ml
-*** ocaml_src/main/ast2pt.ml 16 Mar 2011 16:52:42 -0000 6.33
---- ocaml_src/main/ast2pt.ml 17 Mar 2011 16:56:42 -0000
-***************
-*** 881,886 ****
---- 881,893 ----
- loop
- ;;
-
-+ let label_of_patt =
-+ function
-+ PaLid (_, s) -> uv s
-+ | PaTyc (_, PaLid (_, s), _) -> uv s
-+ | p -> error (MLast.loc_of_patt p) "label_of_patt; case not impl"
-+ ;;
-+
- let rec expr =
- function
- ExAcc (loc, x, MLast.ExLid (_, "val")) ->
-***************
-*** 1015,1026 ****
- [PaLab (ploc, lppo), w, e] ->
- List.fold_right
- (fun (p, po) e ->
-! let lab =
-! match p with
-! PaLid (_, lab) -> uv lab
-! | PaTyc (_, PaLid (_, lab), _) -> uv lab
-! | _ -> error loc "not impl label for that patt 1"
-! in
- let p =
- match uv po with
- Some p -> p
---- 1022,1028 ----
- [PaLab (ploc, lppo), w, e] ->
- List.fold_right
- (fun (p, po) e ->
-! let lab = label_of_patt p in
- let p =
- match uv po with
- Some p -> p
-***************
-*** 1038,1049 ****
- | None -> error loc "(type ..) not in this ocaml version"
- end
- | [PaOlb (loc, p, eo), w, e] ->
-! let lab =
-! match p with
-! PaLid (_, lab) -> uv lab
-! | PaTyc (_, PaLid (_, lab), _) -> uv lab
-! | _ -> error loc "not impl label for that patt 2"
-! in
- let (p, eo) =
- match uv eo with
- Some (ExOlb (_, p, eo)) -> p, eo
---- 1040,1046 ----
- | None -> error loc "(type ..) not in this ocaml version"
- end
- | [PaOlb (loc, p, eo), w, e] ->
-! let lab = label_of_patt p in
- let (p, eo) =
- match uv eo with
- Some (ExOlb (_, p, eo)) -> p, eo
-***************
-*** 1522,1532 ****
- Some pcl_fun ->
- begin match uv lppo with
- [p, po] ->
-! let lab =
-! match p with
-! PaLid (_, s) -> uv s
-! | p -> error loc "label not implemented in that case 2"
-! in
- let p =
- match uv po with
- Some p -> p
---- 1519,1525 ----
- Some pcl_fun ->
- begin match uv lppo with
- [p, po] ->
-! let lab = label_of_patt p in
- let p =
- match uv po with
- Some p -> p
-***************
-*** 1540,1550 ****
- | CeFun (loc, PaOlb (_, p, eo), ce) ->
- begin match ocaml_pcl_fun with
- Some pcl_fun ->
-! let lab =
-! match p with
-! PaLid (_, s) -> uv s
-! | p -> error loc "label not implemented in that case 4"
-! in
- let (p, eo) =
- match uv eo with
- Some (ExOlb (_, p, eo)) -> p, eo
---- 1533,1539 ----
- | CeFun (loc, PaOlb (_, p, eo), ce) ->
- begin match ocaml_pcl_fun with
- Some pcl_fun ->
-! let lab = label_of_patt p in
- let (p, eo) =
- match uv eo with
- Some (ExOlb (_, p, eo)) -> p, eo