mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Split class_constant from constant production
This commit is contained in:
parent
24e365f9e2
commit
cf5689e961
1 changed files with 9 additions and 3 deletions
|
@ -241,7 +241,7 @@ static YYSIZE_T zend_yytnamerr(char*, const char*);
|
|||
%type <ast> new_expr anonymous_class class_name class_name_reference simple_variable
|
||||
%type <ast> internal_functions_in_yacc
|
||||
%type <ast> exit_expr scalar backticks_expr lexical_var function_call member_name property_name
|
||||
%type <ast> variable_class_name dereferencable_scalar constant dereferencable
|
||||
%type <ast> variable_class_name dereferencable_scalar constant class_constant dereferencable
|
||||
%type <ast> callable_expr callable_variable static_member new_variable
|
||||
%type <ast> encaps_var encaps_var_offset isset_variables
|
||||
%type <ast> top_statement_list use_declarations const_list inner_statement_list if_stmt
|
||||
|
@ -1122,11 +1122,15 @@ scalar:
|
|||
| T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = $2; }
|
||||
| dereferencable_scalar { $$ = $1; }
|
||||
| constant { $$ = $1; }
|
||||
| class_constant { $$ = $1; }
|
||||
;
|
||||
|
||||
constant:
|
||||
name { $$ = zend_ast_create(ZEND_AST_CONST, $1); }
|
||||
| class_name T_PAAMAYIM_NEKUDOTAYIM identifier
|
||||
;
|
||||
|
||||
class_constant:
|
||||
class_name T_PAAMAYIM_NEKUDOTAYIM identifier
|
||||
{ $$ = zend_ast_create_class_const_or_name($1, $3); }
|
||||
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier
|
||||
{ $$ = zend_ast_create_class_const_or_name($1, $3); }
|
||||
|
@ -1160,6 +1164,8 @@ callable_variable:
|
|||
{ $$ = zend_ast_create(ZEND_AST_DIM, $1, $3); }
|
||||
| constant '[' optional_expr ']'
|
||||
{ $$ = zend_ast_create(ZEND_AST_DIM, $1, $3); }
|
||||
| class_constant '[' optional_expr ']'
|
||||
{ $$ = zend_ast_create(ZEND_AST_DIM, $1, $3); }
|
||||
| dereferencable '{' expr '}'
|
||||
{ $$ = zend_ast_create_ex(ZEND_AST_DIM, ZEND_DIM_ALTERNATIVE_SYNTAX, $1, $3); }
|
||||
| dereferencable T_OBJECT_OPERATOR property_name argument_list
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue