|
@@ -622,12 +622,12 @@ and expr_next e1 = parser
|
|
|
|
|
|
and parse_switch_cases eswitch cases = parser
|
|
and parse_switch_cases eswitch cases = parser
|
|
| [< '(Kwd Default,p1); '(DblDot,_); s >] ->
|
|
| [< '(Kwd Default,p1); '(DblDot,_); s >] ->
|
|
- let b = (try block1 s with Display e -> display (ESwitch (eswitch,cases,Some e),p1)) in
|
|
|
|
|
|
+ let b = EBlock (try block [] s with Display e -> display (ESwitch (eswitch,cases,Some e),p1)) in
|
|
let l , def = parse_switch_cases eswitch cases s in
|
|
let l , def = parse_switch_cases eswitch cases s in
|
|
(match def with None -> () | Some (e,p) -> error Duplicate_default p);
|
|
(match def with None -> () | Some (e,p) -> error Duplicate_default p);
|
|
l , Some (b,p1)
|
|
l , Some (b,p1)
|
|
| [< '(Kwd Case,p1); el = psep Comma expr; '(DblDot,_); s >] ->
|
|
| [< '(Kwd Case,p1); el = psep Comma expr; '(DblDot,_); s >] ->
|
|
- let b = (try block1 s with Display e -> display (ESwitch (eswitch,List.rev ((el,e) :: cases),None),p1)) in
|
|
|
|
|
|
+ let b = EBlock (try block [] s with Display e -> display (ESwitch (eswitch,List.rev ((el,e) :: cases),None),p1)) in
|
|
parse_switch_cases eswitch ((el,(b,p1)) :: cases) s
|
|
parse_switch_cases eswitch ((el,(b,p1)) :: cases) s
|
|
| [< >] ->
|
|
| [< >] ->
|
|
List.rev cases , None
|
|
List.rev cases , None
|