2 ===================================================================
3 retrieving revision 6.33
4 diff -c -r6.33 ast2pt.ml
5 *** main/ast2pt.ml 16 Mar 2011 16:52:42 -0000 6.33
6 --- main/ast2pt.ml 17 Mar 2011 16:55:32 -0000
13 + value label_of_patt =
16 + | PaTyc _ (PaLid _ s) _ -> uv s
17 + | p -> error (MLast.loc_of_patt p) "label_of_patt; case not impl" ]
22 [ ExAcc loc x <:expr< val >> ->
25 [ [(PaLab ploc lppo, w, e)] ->
27 (fun (p, po) e -> do {
30 ! [ PaLid _ lab -> uv lab
31 ! | PaTyc _ (PaLid _ lab) _ -> uv lab
32 ! | _ -> error loc "not impl label for that patt 1" ]
38 [ [(PaLab ploc lppo, w, e)] ->
40 (fun (p, po) e -> do {
41 ! let lab = label_of_patt p in
47 | None -> mkexp loc (newtype (uv s) (expr e)) ]
48 | None -> error loc "(type ..) not in this ocaml version" ]
49 | [(PaOlb loc p eo, w, e)] ->
52 ! [ PaLid _ lab -> uv lab
53 ! | PaTyc _ (PaLid _ lab) _ -> uv lab
54 ! | _ -> error loc "not impl label for that patt 2" ]
58 [ Some (ExOlb _ p eo) -> (p, eo)
60 | None -> mkexp loc (newtype (uv s) (expr e)) ]
61 | None -> error loc "(type ..) not in this ocaml version" ]
62 | [(PaOlb loc p eo, w, e)] ->
63 ! let lab = label_of_patt p in
66 [ Some (ExOlb _ p eo) -> (p, eo)
75 ! | p -> error loc "label not implemented in that case 2" ]
84 ! let lab = label_of_patt p in
90 | CeFun loc (PaOlb _ p eo) ce ->
91 match ocaml_pcl_fun with
96 ! | p -> error loc "label not implemented in that case 4" ]
100 [ Some (ExOlb _ p eo) -> (p, eo)
102 | CeFun loc (PaOlb _ p eo) ce ->
103 match ocaml_pcl_fun with
105 ! let lab = label_of_patt p in
108 [ Some (ExOlb _ p eo) -> (p, eo)
109 Index: ocaml_src/main/ast2pt.ml
110 ===================================================================
111 retrieving revision 6.33
112 diff -c -r6.33 ast2pt.ml
113 *** ocaml_src/main/ast2pt.ml 16 Mar 2011 16:52:42 -0000 6.33
114 --- ocaml_src/main/ast2pt.ml 17 Mar 2011 16:56:42 -0000
121 + let label_of_patt =
123 + PaLid (_, s) -> uv s
124 + | PaTyc (_, PaLid (_, s), _) -> uv s
125 + | p -> error (MLast.loc_of_patt p) "label_of_patt; case not impl"
130 ExAcc (loc, x, MLast.ExLid (_, "val")) ->
133 [PaLab (ploc, lppo), w, e] ->
138 ! PaLid (_, lab) -> uv lab
139 ! | PaTyc (_, PaLid (_, lab), _) -> uv lab
140 ! | _ -> error loc "not impl label for that patt 1"
146 [PaLab (ploc, lppo), w, e] ->
149 ! let lab = label_of_patt p in
155 | None -> error loc "(type ..) not in this ocaml version"
157 | [PaOlb (loc, p, eo), w, e] ->
160 ! PaLid (_, lab) -> uv lab
161 ! | PaTyc (_, PaLid (_, lab), _) -> uv lab
162 ! | _ -> error loc "not impl label for that patt 2"
166 Some (ExOlb (_, p, eo)) -> p, eo
168 | None -> error loc "(type ..) not in this ocaml version"
170 | [PaOlb (loc, p, eo), w, e] ->
171 ! let lab = label_of_patt p in
174 Some (ExOlb (_, p, eo)) -> p, eo
178 begin match uv lppo with
182 ! PaLid (_, s) -> uv s
183 ! | p -> error loc "label not implemented in that case 2"
190 begin match uv lppo with
192 ! let lab = label_of_patt p in
198 | CeFun (loc, PaOlb (_, p, eo), ce) ->
199 begin match ocaml_pcl_fun with
203 ! PaLid (_, s) -> uv s
204 ! | p -> error loc "label not implemented in that case 4"
208 Some (ExOlb (_, p, eo)) -> p, eo
210 | CeFun (loc, PaOlb (_, p, eo), ce) ->
211 begin match ocaml_pcl_fun with
213 ! let lab = label_of_patt p in
216 Some (ExOlb (_, p, eo)) -> p, eo