@@ -185,60 +185,60 @@ static YYSIZE_T zend_yytnamerr(char*, const char*);
185185%token <ident> T_NS_C " '__NAMESPACE__'"
186186
187187%token END 0 " end of file"
188- %token T_ATTRIBUTE " '#['"
189- %token T_PLUS_EQUAL " '+='"
190- %token T_MINUS_EQUAL " '-='"
191- %token T_MUL_EQUAL " '*='"
192- %token T_DIV_EQUAL " '/='"
193- %token T_CONCAT_EQUAL " '.='"
194- %token T_MOD_EQUAL " '%='"
195- %token T_AND_EQUAL " '&='"
196- %token T_OR_EQUAL " '|='"
197- %token T_XOR_EQUAL " '^='"
198- %token T_SL_EQUAL " '<<='"
199- %token T_SR_EQUAL " '>>='"
200- %token T_COALESCE_EQUAL " '??='"
201- %token T_BOOLEAN_OR " '||'"
202- %token T_BOOLEAN_AND " '&&'"
203- %token T_IS_EQUAL " '=='"
204- %token T_IS_NOT_EQUAL " '!='"
205- %token T_IS_IDENTICAL " '==='"
206- %token T_IS_NOT_IDENTICAL " '!=='"
207- %token T_IS_SMALLER_OR_EQUAL " '<='"
208- %token T_IS_GREATER_OR_EQUAL " '>='"
209- %token T_SPACESHIP " '<=>'"
210- %token T_SL " '<<'"
211- %token T_SR " '>>'"
212- %token T_INC " '++'"
213- %token T_DEC " '--'"
214- %token T_INT_CAST " '(int)'"
215- %token T_DOUBLE_CAST " '(float)'"
216- %token T_STRING_CAST " '(string)'"
217- %token T_ARRAY_CAST " '(array)'"
218- %token T_OBJECT_CAST " '(object)'"
219- %token T_BOOL_CAST " '(bool)'"
220- %token T_UNSET_CAST " '(unset)'"
221- %token T_VOID_CAST " '(void)'"
222- %token T_OBJECT_OPERATOR " '->'"
188+ %token T_ATTRIBUTE " '#['"
189+ %token T_PLUS_EQUAL " '+='"
190+ %token T_MINUS_EQUAL " '-='"
191+ %token T_MUL_EQUAL " '*='"
192+ %token T_DIV_EQUAL " '/='"
193+ %token T_CONCAT_EQUAL " '.='"
194+ %token T_MOD_EQUAL " '%='"
195+ %token T_AND_EQUAL " '&='"
196+ %token T_OR_EQUAL " '|='"
197+ %token T_XOR_EQUAL " '^='"
198+ %token T_SL_EQUAL " '<<='"
199+ %token T_SR_EQUAL " '>>='"
200+ %token T_COALESCE_EQUAL " '??='"
201+ %token T_BOOLEAN_OR " '||'"
202+ %token T_BOOLEAN_AND " '&&'"
203+ %token T_IS_EQUAL " '=='"
204+ %token T_IS_NOT_EQUAL " '!='"
205+ %token T_IS_IDENTICAL " '==='"
206+ %token T_IS_NOT_IDENTICAL " '!=='"
207+ %token T_IS_SMALLER_OR_EQUAL " '<='"
208+ %token T_IS_GREATER_OR_EQUAL " '>='"
209+ %token T_SPACESHIP " '<=>'"
210+ %token T_SL " '<<'"
211+ %token T_SR " '>>'"
212+ %token T_INC " '++'"
213+ %token T_DEC " '--'"
214+ %token T_INT_CAST " '(int)'"
215+ %token T_DOUBLE_CAST " '(float)'"
216+ %token T_STRING_CAST " '(string)'"
217+ %token T_ARRAY_CAST " '(array)'"
218+ %token T_OBJECT_CAST " '(object)'"
219+ %token T_BOOL_CAST " '(bool)'"
220+ %token T_UNSET_CAST " '(unset)'"
221+ %token T_VOID_CAST " '(void)'"
222+ %token T_OBJECT_OPERATOR " '->'"
223223%token T_NULLSAFE_OBJECT_OPERATOR " '?->'"
224- %token T_DOUBLE_ARROW " '=>'"
225- %token T_COMMENT " comment"
226- %token T_DOC_COMMENT " doc comment"
227- %token T_OPEN_TAG " open tag"
228- %token T_OPEN_TAG_WITH_ECHO " '<?='"
229- %token T_CLOSE_TAG " '?>'"
230- %token T_WHITESPACE " whitespace"
231- %token T_START_HEREDOC " heredoc start"
232- %token T_END_HEREDOC " heredoc end"
224+ %token T_DOUBLE_ARROW " '=>'"
225+ %token T_COMMENT " comment"
226+ %token T_DOC_COMMENT " doc comment"
227+ %token T_OPEN_TAG " open tag"
228+ %token T_OPEN_TAG_WITH_ECHO " '<?='"
229+ %token T_CLOSE_TAG " '?>'"
230+ %token T_WHITESPACE " whitespace"
231+ %token T_START_HEREDOC " heredoc start"
232+ %token T_END_HEREDOC " heredoc end"
233233%token T_DOLLAR_OPEN_CURLY_BRACES " '${'"
234- %token T_CURLY_OPEN " '{$'"
235- %token T_PAAMAYIM_NEKUDOTAYIM " '::'"
236- %token T_NS_SEPARATOR " '\\'"
237- %token T_ELLIPSIS " '...'"
238- %token T_COALESCE " '??'"
239- %token T_POW " '**'"
240- %token T_POW_EQUAL " '**='"
241- %token T_PIPE " '|>'"
234+ %token T_CURLY_OPEN " '{$'"
235+ %token T_DOUBLE_COLON " '::'"
236+ %token T_NS_SEPARATOR " '\\'"
237+ %token T_ELLIPSIS " '...'"
238+ %token T_COALESCE " '??'"
239+ %token T_POW " '**'"
240+ %token T_POW_EQUAL " '**='"
241+ %token T_PIPE " '|>'"
242242/* We need to split the & token in two to avoid a shift/reduce conflict. For T1&$v and T1&T2,
243243 * with only one token lookahead, bison does not know whether to reduce T1 as a complete type,
244244 * or shift to continue parsing an intersection type. */
@@ -1064,7 +1064,7 @@ trait_method_reference:
10641064;
10651065
10661066absolute_trait_method_reference :
1067- class_name T_PAAMAYIM_NEKUDOTAYIM identifier
1067+ class_name T_DOUBLE_COLON identifier
10681068 { $$ = zend_ast_create(ZEND_AST_METHOD_REFERENCE, $1 , $3 ); }
10691069;
10701070
@@ -1455,9 +1455,9 @@ function_call:
14551455 if (zend_lex_tstring(&zv, $1 ) == FAILURE) { YYABORT ; }
14561456 $$ = zend_ast_create(ZEND_AST_CALL, zend_ast_create_zval(&zv), $2 );
14571457 }
1458- | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
1458+ | class_name T_DOUBLE_COLON member_name argument_list
14591459 { $$ = zend_ast_create(ZEND_AST_STATIC_CALL, $1 , $3 , $4 ); }
1460- | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
1460+ | variable_class_name T_DOUBLE_COLON member_name argument_list
14611461 { $$ = zend_ast_create(ZEND_AST_STATIC_CALL, $1 , $3 , $4 ); }
14621462 | callable_expr { $<num>$ = CG(zend_lineno); } argument_list {
14631463 $$ = zend_ast_create(ZEND_AST_CALL, $1 , $3 );
@@ -1519,19 +1519,19 @@ constant:
15191519 | T_TRAIT_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_TRAIT_C); }
15201520 | T_METHOD_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_METHOD_C); }
15211521 | T_FUNC_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FUNC_C); }
1522- | T_PROPERTY_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_PROPERTY_C); }
1522+ | T_PROPERTY_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_PROPERTY_C); }
15231523 | T_NS_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_NS_C); }
15241524 | T_CLASS_C { $$ = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_CLASS_C); }
15251525;
15261526
15271527class_constant :
1528- class_name T_PAAMAYIM_NEKUDOTAYIM identifier
1528+ class_name T_DOUBLE_COLON identifier
15291529 { $$ = zend_ast_create_class_const_or_name($1 , $3 ); }
1530- | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier
1530+ | variable_class_name T_DOUBLE_COLON identifier
15311531 { $$ = zend_ast_create_class_const_or_name($1 , $3 ); }
1532- | class_name T_PAAMAYIM_NEKUDOTAYIM ' {' expr ' }'
1532+ | class_name T_DOUBLE_COLON ' {' expr ' }'
15331533 { $$ = zend_ast_create(ZEND_AST_CLASS_CONST, $1 , $4 ); }
1534- | variable_class_name T_PAAMAYIM_NEKUDOTAYIM ' {' expr ' }'
1534+ | variable_class_name T_DOUBLE_COLON ' {' expr ' }'
15351535 { $$ = zend_ast_create(ZEND_AST_CLASS_CONST, $1 , $4 ); }
15361536;
15371537
@@ -1597,9 +1597,9 @@ simple_variable:
15971597;
15981598
15991599static_member :
1600- class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable
1600+ class_name T_DOUBLE_COLON simple_variable
16011601 { $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1 , $3 ); }
1602- | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable
1602+ | variable_class_name T_DOUBLE_COLON simple_variable
16031603 { $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1 , $3 ); }
16041604;
16051605
@@ -1612,9 +1612,9 @@ new_variable:
16121612 { $$ = zend_ast_create(ZEND_AST_PROP, $1 , $3 ); }
16131613 | new_variable T_NULLSAFE_OBJECT_OPERATOR property_name
16141614 { $$ = zend_ast_create(ZEND_AST_NULLSAFE_PROP, $1 , $3 ); }
1615- | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable
1615+ | class_name T_DOUBLE_COLON simple_variable
16161616 { $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1 , $3 ); }
1617- | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable
1617+ | new_variable T_DOUBLE_COLON simple_variable
16181618 { $$ = zend_ast_create(ZEND_AST_STATIC_PROP, $1 , $3 ); }
16191619;
16201620
0 commit comments