summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y8
1 files changed, 6 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index d77e04d381..6dbb364c55 100644
--- a/parse.y
+++ b/parse.y
@@ -1203,14 +1203,18 @@ primary : literal
$$ = NEW_UNTIL(cond($3), $6, 1);
fixpos($$, $3);
}
- | kCASE compstmt
+ | kCASE expr opt_terms
case_body
kEND
{
value_expr($2);
- $$ = NEW_CASE($2, $3);
+ $$ = NEW_CASE($2, $4);
fixpos($$, $2);
}
+ | kCASE opt_terms case_body kEND
+ {
+ $$ = $3;
+ }
| kFOR block_var kIN {COND_PUSH;} expr do {COND_POP;}
compstmt
kEND