--- embedaddon/php/Zend/zend_language_parser.y 2012/05/29 12:34:36 1.1.1.2 +++ embedaddon/php/Zend/zend_language_parser.y 2013/07/22 01:32:16 1.1.1.3 @@ -3,7 +3,7 @@ +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ - | Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) | + | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_parser.y,v 1.1.1.2 2012/05/29 12:34:36 misho Exp $ */ +/* $Id: zend_language_parser.y,v 1.1.1.3 2013/07/22 01:32:16 misho Exp $ */ /* * LALR shift/reduce conflicts and how they are resolved: @@ -375,13 +375,13 @@ unticked_class_declaration_statement: implements_list '{' class_statement_list - '}' { zend_do_end_class_declaration(&$1, &$2 TSRMLS_CC); } + '}' { zend_do_end_class_declaration(&$1, &$3 TSRMLS_CC); } | interface_entry T_STRING { zend_do_begin_class_declaration(&$1, &$2, NULL TSRMLS_CC); } interface_extends_list '{' class_statement_list - '}' { zend_do_end_class_declaration(&$1, &$2 TSRMLS_CC); } + '}' { zend_do_end_class_declaration(&$1, NULL TSRMLS_CC); } ; @@ -585,8 +585,8 @@ trait_use_statement: ; trait_list: - fully_qualified_class_name { zend_do_implements_trait(&$1 TSRMLS_CC); } - | trait_list ',' fully_qualified_class_name { zend_do_implements_trait(&$3 TSRMLS_CC); } + fully_qualified_class_name { zend_do_use_trait(&$1 TSRMLS_CC); } + | trait_list ',' fully_qualified_class_name { zend_do_use_trait(&$3 TSRMLS_CC); } ; trait_adaptations: @@ -605,12 +605,12 @@ non_empty_trait_adaptation_list: ; trait_adaptation_statement: - trait_precedence ';' { zend_add_trait_precedence(&$1 TSRMLS_CC); } - | trait_alias ';' { zend_add_trait_alias(&$1 TSRMLS_CC); } + trait_precedence ';' + | trait_alias ';' ; trait_precedence: - trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { zend_prepare_trait_precedence(&$$, &$1, &$3 TSRMLS_CC); } + trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { zend_add_trait_precedence(&$1, &$3 TSRMLS_CC); } ; trait_reference_list: @@ -628,8 +628,8 @@ trait_method_reference_fully_qualified: ; trait_alias: - trait_method_reference T_AS trait_modifiers T_STRING { zend_prepare_trait_alias(&$$, &$1, &$3, &$4 TSRMLS_CC); } - | trait_method_reference T_AS member_modifier { zend_prepare_trait_alias(&$$, &$1, &$3, NULL TSRMLS_CC); } + trait_method_reference T_AS trait_modifiers T_STRING { zend_add_trait_alias(&$1, &$3, &$4 TSRMLS_CC); } + | trait_method_reference T_AS member_modifier { zend_add_trait_alias(&$1, &$3, NULL TSRMLS_CC); } ; trait_modifiers: @@ -1191,7 +1191,7 @@ static YYSIZE_T zend_yytnamerr(char *yyres, const char if (LANG_SCNG(yy_text)[0] == 0 && LANG_SCNG(yy_leng) == 1 && - memcmp(yystr, ZEND_STRL("\"end of file\"")) == 0) { + memcmp(yystr, "\"end of file\"", sizeof("\"end of file\"") - 1) == 0) { yystpcpy(yyres, "end of file"); return sizeof("end of file")-1; }