com php-src: Implement a[0] syntax from merge: Zend/zend_lang uage_parser.y
| From: | Nikita Popov | Date: | Sat, 16 Aug 2014 20:13:33 +0000 |
| Subject: | com php-src: Implement a[0] syntax from merge: Zend/zend_lang uage_parser.y | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-80874@lists.php.net to get a copy of this message | ||
Commit: ef5f3390e78247d9d6dcaf2556c2f858c37898d7
Author: Nikita Popov <nikic@php.net> Sat, 16 Aug 2014 22:13:33 +0200
Parents: 38a173916c6bd4f38eee02336e3f7e022dca4f16
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ef5f3390e78247d9d6dcaf2556c2f858c37898d7
Log:
Implement a[0] syntax from merge
Changed paths:
M Zend/zend_language_parser.y
Diff:
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index cc5f7f2..a7e75fb 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -965,10 +965,16 @@ scalar:
| T_START_HEREDOC encaps_list T_END_HEREDOC { $$.ast = $2.ast; }
| dereferencable_scalar { $$.ast = $1.ast; }
| class_name_scalar { $$.ast = $1.ast; }
- | class_constant { $$.ast = $1.ast; }
- | name { $$.ast = zend_ast_create(ZEND_AST_CONST, $1.ast); }
+ | constant { $$.ast = $1.ast; }
;
+constant:
+ name { $$.ast = zend_ast_create(ZEND_AST_CONST, $1.ast); }
+ | class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING
+ { $$.ast = zend_ast_create(ZEND_AST_CLASS_CONST, $1.ast, $3.ast); }
+ | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING
+ { $$.ast = zend_ast_create(ZEND_AST_CLASS_CONST, $1.ast, $3.ast); }
+;
possible_comma:
/* empty */
@@ -1005,6 +1011,8 @@ callable_variable:
{ $$.ast = zend_ast_create(ZEND_AST_VAR, $1.ast); }
| dereferencable '[' dim_offset ']'
{ $$.ast = zend_ast_create(ZEND_AST_DIM, $1.ast, $3.ast); }
+ | constant '[' dim_offset ']'
+ { $$.ast = zend_ast_create(ZEND_AST_DIM, $1.ast, $3.ast); }
| dereferencable '{' expr '}'
{ $$.ast = zend_ast_create(ZEND_AST_DIM, $1.ast, $3.ast); }
| dereferencable T_OBJECT_OPERATOR member_name argument_list
@@ -1161,13 +1169,6 @@ isset_variable:
expr { $$.ast = zend_ast_create(ZEND_AST_ISSET, $1.ast); }
;
-class_constant:
- class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING
- { $$.ast = zend_ast_create(ZEND_AST_CLASS_CONST, $1.ast, $3.ast); }
- | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING
- { $$.ast = zend_ast_create(ZEND_AST_CLASS_CONST, $1.ast, $3.ast); }
-;
-
class_name_scalar:
class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS
{ $$.ast = zend_ast_create(ZEND_AST_RESOLVE_CLASS_NAME, $1.ast); }