diff options
author | Felipe Pena <felipe@php.net> | 2010-07-20 17:22:51 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-07-20 17:22:51 +0000 |
commit | 4445503ae0d9348de3fc16a64ae57bbc0c29fd56 (patch) | |
tree | b8d59e77bb81faad8c58deb31c34828612a243b6 | |
parent | 53293a6538917cc0b403e0b4224d7f58e825ca47 (diff) | |
download | php-git-4445503ae0d9348de3fc16a64ae57bbc0c29fd56.tar.gz |
- Reverted mem alloc function changeexperimental/lemon
- Fixed lineno on method declarations
-rw-r--r-- | Zend/zend_compile.c | 6 | ||||
-rw-r--r-- | Zend/zend_ini_parser.y | 6 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 13 |
3 files changed, 14 insertions, 11 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index b1a376e9b1..bcb957bc30 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -6114,8 +6114,8 @@ int zendparse(TSRMLS_D) /* {{{ */ int token, halting = 0, old_exit_status; void *pParser; - if ((pParser = zend_lang_parseAlloc(_emalloc)) == NULL) { - zend_lang_parseFree(pParser, _efree); + if ((pParser = zend_lang_parseAlloc(malloc)) == NULL) { + zend_lang_parseFree(pParser, free); return 1; } @@ -6174,7 +6174,7 @@ again: break; } } - zend_lang_parseFree(pParser, _efree); + zend_lang_parseFree(pParser, free); if (EG(exit_status) == 255) { /* We got an E_PARSE */ diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index 5bbc640d4c..0ccf374df0 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -219,10 +219,10 @@ ZEND_API int zend_parse_ini_string(char *str, zend_bool unbuffered_errors, int s int ini_parse(TSRMLS_D) /* {{{ */ { int token; - void *pParser = zend_ini_parseAlloc(_emalloc); + void *pParser = zend_ini_parseAlloc(malloc); if (pParser == NULL) { - zend_ini_parseFree(pParser, _efree); + zend_ini_parseFree(pParser, free); return 1; } @@ -236,7 +236,7 @@ int ini_parse(TSRMLS_D) /* {{{ */ } } - zend_ini_parseFree(pParser, _efree); + zend_ini_parseFree(pParser, free); if (ZEND_INI_PARSER_SE) { return 1; } else { diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index fb826c0d19..b39ef74cac 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -136,7 +136,6 @@ %left ELSEIF. %left ELSE. %left ENDIF. - %right STATIC ABSTRACT FINAL PRIVATE PROTECTED PUBLIC. // dummy tokens @@ -575,8 +574,15 @@ class_statement_ii(A) ::= method_modifiers(B) function(C) is_reference(D) STRING class_statement ::= class_statement_i class_variables SEMICOLON. class_statement ::= class_constants SEMICOLON. class_statement ::= trait_use_statement. -class_statement ::= class_statement_ii(B) LPAREN parameters RPAREN method_body(C). { zend_do_abstract_method(&B[2], &B[0], &C TSRMLS_CC); zend_do_end_function_declaration(&B[1] TSRMLS_CC); } +method_body_i(A) ::= LPAREN parameters RPAREN(C) LBRACE inner_statement_list. { A = C; } + +method_body ::= class_statement_ii(B) method_body_i(C). { Z_LVAL(C.u.constant) = 0; zend_do_abstract_method(&B[2], &B[0], &C TSRMLS_CC); zend_do_end_function_declaration(&B[1] TSRMLS_CC); } + +method_body_abstract ::= class_statement_ii(B) LPAREN parameters RPAREN(C). { Z_LVAL(C.u.constant) = ZEND_ACC_ABSTRACT; zend_do_abstract_method(&B[2], &B[0], &C TSRMLS_CC); zend_do_end_function_declaration(&B[1] TSRMLS_CC); } + +class_statement ::= method_body_abstract SEMICOLON. +class_statement ::= method_body RBRACE. trait_use_statement ::= USE trait_list trait_adaptations. @@ -609,9 +615,6 @@ trait_alias(A) ::= trait_method_reference(B) AS member_modifier(C). { trait_modifiers(A) ::= . { Z_LVAL(A.u.constant) = 0x0; } /* No change of methods visibility */ trait_modifiers(A) ::= member_modifier(B). { A = B; } /* REM: Keep in mind, there are not only visibility modifiers */ -method_body(A) ::= SEMICOLON. { Z_LVAL(A.u.constant) = ZEND_ACC_ABSTRACT; } -method_body(A) ::= LBRACE inner_statement_list RBRACE. { Z_LVAL(A.u.constant) = 0; } - variable_modifiers(A) ::= member_modifiers_list(B). { A = B; } variable_modifiers(A) ::= VAR. { Z_LVAL(A.u.constant) = ZEND_ACC_PUBLIC; } |