diff options
Diffstat (limited to 'Zend/zend_language_parser.y')
-rw-r--r-- | Zend/zend_language_parser.y | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 7acec68b47..340bb1b7b5 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -76,7 +76,7 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); %left '^' %left '&' %nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL -%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL +%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL T_SPACESHIP %left T_SL T_SR %left '+' '-' '.' %left '*' '/' '%' @@ -131,6 +131,7 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); %token T_IS_NOT_IDENTICAL "!== (T_IS_NOT_IDENTICAL)" %token T_IS_SMALLER_OR_EQUAL "<= (T_IS_SMALLER_OR_EQUAL)" %token T_IS_GREATER_OR_EQUAL ">= (T_IS_GREATER_OR_EQUAL)" +%token T_SPACESHIP "<=> (T_SPACESHIP)" %token T_SL "<< (T_SL)" %token T_SR ">> (T_SR)" %token T_INSTANCEOF "instanceof (T_INSTANCEOF)" @@ -848,6 +849,8 @@ expr_without_variable: { $$ = zend_ast_create(ZEND_AST_GREATER, $1, $3); } | expr T_IS_GREATER_OR_EQUAL expr { $$ = zend_ast_create(ZEND_AST_GREATER_EQUAL, $1, $3); } + | expr T_SPACESHIP expr + { $$ = zend_ast_create_binary_op(ZEND_SPACESHIP, $1, $3); } | expr T_INSTANCEOF class_name_reference { $$ = zend_ast_create(ZEND_AST_INSTANCEOF, $1, $3); } | '(' expr ')' { $$ = $2; } |