mirror of
https://github.com/php/php-src.git
synced 2024-12-25 01:40:50 +08:00
Change the precedence of concatenation
This implements RFC https://wiki.php.net/rfc/concatenation_precedence
This commit is contained in:
parent
a3b2425f38
commit
61ee869921
@ -871,8 +871,9 @@ ZEND_API void zend_ast_apply(zend_ast *ast, zend_ast_apply_func fn) {
|
||||
* 160 left &
|
||||
* 170 non-associative == != === !==
|
||||
* 180 non-associative < <= > >= <=>
|
||||
* 185 left .
|
||||
* 190 left << >>
|
||||
* 200 left + - .
|
||||
* 200 left + -
|
||||
* 210 left * / %
|
||||
* 220 right !
|
||||
* 230 non-associative instanceof
|
||||
@ -1682,7 +1683,7 @@ simple_list:
|
||||
case ZEND_MOD: BINARY_OP(" % ", 210, 210, 211);
|
||||
case ZEND_SL: BINARY_OP(" << ", 190, 190, 191);
|
||||
case ZEND_SR: BINARY_OP(" >> ", 190, 190, 191);
|
||||
case ZEND_CONCAT: BINARY_OP(" . ", 200, 200, 201);
|
||||
case ZEND_CONCAT: BINARY_OP(" . ", 185, 185, 186);
|
||||
case ZEND_BW_OR: BINARY_OP(" | ", 140, 140, 141);
|
||||
case ZEND_BW_AND: BINARY_OP(" & ", 160, 160, 161);
|
||||
case ZEND_BW_XOR: BINARY_OP(" ^ ", 150, 150, 151);
|
||||
|
@ -69,8 +69,9 @@ static YYSIZE_T zend_yytnamerr(char*, const char*);
|
||||
%left '&'
|
||||
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP
|
||||
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
|
||||
%left '.'
|
||||
%left T_SL T_SR
|
||||
%left '+' '-' '.'
|
||||
%left '+' '-'
|
||||
%left '*' '/' '%'
|
||||
%precedence '!'
|
||||
%precedence T_INSTANCEOF
|
||||
|
Loading…
Reference in New Issue
Block a user