com php-src: Implement a[0] syntax from merge: Zend/zend_lang uage_parser.y

From: 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); }

« previous php.cvs (#80874) next »