diff options
author | Zeev Suraski <zeev@php.net> | 1999-07-24 11:24:19 +0000 |
---|---|---|
committer | Zeev Suraski <zeev@php.net> | 1999-07-24 11:24:19 +0000 |
commit | 1b6fae101a3903f57e9b990c15a890b24497b131 (patch) | |
tree | f17f19a256c330013872beb6cafca332b29ee434 /Zend/zend-parser.y | |
parent | b0c60bd249bb684e211ce58253a35a8598ee7ffc (diff) | |
download | php-git-1b6fae101a3903f57e9b990c15a890b24497b131.tar.gz |
Thoroughly fix the SWITCH problem. No RETURN handling yet.
Diffstat (limited to 'Zend/zend-parser.y')
-rw-r--r-- | Zend/zend-parser.y | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y index 56263f4847..f0c853d2af 100644 --- a/Zend/zend-parser.y +++ b/Zend/zend-parser.y @@ -161,11 +161,11 @@ statement: | T_FOR '(' for_expr - ';' { do_free(&$3, 0 CLS_CC); $4.u.opline_num = get_next_op_number(CG(active_op_array)); } + ';' { do_free(&$3 CLS_CC); $4.u.opline_num = get_next_op_number(CG(active_op_array)); } for_expr ';' { do_for_cond(&$6, &$7 CLS_CC); } for_expr - ')' { do_free(&$9, 0 CLS_CC); do_for_before_statement(&$4, &$7 CLS_CC); } + ')' { do_free(&$9 CLS_CC); do_for_before_statement(&$4, &$7 CLS_CC); } for_statement { do_for_end(&$7 CLS_CC); } | T_SWITCH '(' expr ')' { do_switch_cond(&$3 CLS_CC); } switch_case_list { do_switch_end(&$6 CLS_CC); } | T_BREAK ';' { do_brk_cont(ZEND_BRK, NULL CLS_CC); } @@ -178,7 +178,7 @@ statement: | T_STATIC static_var_list | T_ECHO echo_expr_list ';' | T_INLINE_HTML { do_echo(&$1 CLS_CC); } - | expr ';' { do_free(&$1, 0 CLS_CC); } + | expr ';' { do_free(&$1 CLS_CC); } | T_REQUIRE expr ';' { if ($2.op_type==IS_CONST && $2.u.constant.type==IS_STRING) { require_filename($2.u.constant.value.str.val CLS_CC); zval_dtor(&$2.u.constant); } else { do_include_or_eval(ZEND_INCLUDE, &$$, &$2 CLS_CC); } } | T_UNSET '(' r_cvar ')' ';' { do_unset(&$3 CLS_CC); } | T_FOREACH '(' expr T_AS { do_foreach_begin(&$1, &$3, &$2, &$4 CLS_CC); } w_cvar foreach_optional_arg ')' { do_foreach_cont(&$6, &$7, &$4 CLS_CC); } foreach_statement { do_foreach_end(&$1, &$2 CLS_CC); } @@ -358,7 +358,7 @@ echo_expr_list: for_expr: /* empty */ { $$.op_type = IS_CONST; $$.u.constant.type = IS_BOOL; $$.u.constant.value.lval = 1; } - | for_expr ',' { do_free(&$1, 0 CLS_CC); } expr { $$ = $4; } + | for_expr ',' { do_free(&$1 CLS_CC); } expr { $$ = $4; } | expr { $$ = $1; } ; |