summaryrefslogtreecommitdiff
path: root/Zend/zend-parser.y
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-08-19 15:15:34 +0000
committerAndi Gutmans <andi@php.net>1999-08-19 15:15:34 +0000
commite5fbf4414a1026aa14543eb64634c223e0431969 (patch)
tree5bb515078d2509fec50ec6b54d55b3b1c1cae4f8 /Zend/zend-parser.y
parent4747a40964c860f8f8e10d81faaea283d6ade5d4 (diff)
downloadphp-git-e5fbf4414a1026aa14543eb64634c223e0431969.tar.gz
- Make sure expr_list and echo_list are either empty or comma seperated
expressions
Diffstat (limited to 'Zend/zend-parser.y')
-rw-r--r--Zend/zend-parser.y9
1 files changed, 6 insertions, 3 deletions
diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y
index 5b9bb2a60d..b37ddeebf2 100644
--- a/Zend/zend-parser.y
+++ b/Zend/zend-parser.y
@@ -348,9 +348,8 @@ class_variable_decleration:
| T_VARIABLE '=' static_scalar { do_declare_property(&$1, &$3 CLS_CC); }
;
-
+
echo_expr_list:
- /* empty */
| echo_expr_list ',' expr { do_echo(&$3 CLS_CC); }
| expr { do_echo(&$1 CLS_CC); }
;
@@ -358,7 +357,11 @@ 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 CLS_CC); } expr { $$ = $4; }
+ | non_empty_for_expr { $$ = $1; }
+;
+
+non_empty_for_expr:
+ non_empty_for_expr ',' { do_free(&$1 CLS_CC); } expr { $$ = $4; }
| expr { $$ = $1; }
;