summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2010-07-20 17:22:51 +0000
committerFelipe Pena <felipe@php.net>2010-07-20 17:22:51 +0000
commit4445503ae0d9348de3fc16a64ae57bbc0c29fd56 (patch)
treeb8d59e77bb81faad8c58deb31c34828612a243b6
parent53293a6538917cc0b403e0b4224d7f58e825ca47 (diff)
downloadphp-git-experimental/lemon.tar.gz
- Reverted mem alloc function changeexperimental/lemon
- Fixed lineno on method declarations
-rw-r--r--Zend/zend_compile.c6
-rw-r--r--Zend/zend_ini_parser.y6
-rw-r--r--Zend/zend_language_parser.y13
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; }