summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2010-07-12 11:50:17 +0000
committerFelipe Pena <felipe@php.net>2010-07-12 11:50:17 +0000
commite865de588162cb89211c5a057ca53a202d1d0209 (patch)
treeedbc540c7ae9b696f72c0dc5c6e700476421b74f
parent811f8c32cb3bf6270450139c074af87550cdfb22 (diff)
downloadphp-git-e865de588162cb89211c5a057ca53a202d1d0209.tar.gz
- Added parser name and prototype declaration
-rw-r--r--Zend/zend_compile.c10
-rw-r--r--Zend/zend_compile.h4
-rw-r--r--Zend/zend_language_parser.y2
3 files changed, 11 insertions, 5 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 9f0439273e..a9a1b6ae9e 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -6112,8 +6112,8 @@ int zendparse(TSRMLS_D) /* {{{ */
int token, halting = 0;
void *pParser;
- if ((pParser = ParseAlloc(malloc)) == NULL) {
- ParseFree(pParser, free);
+ if ((pParser = zend_lang_parseAlloc(malloc)) == NULL) {
+ zend_lang_parseFree(pParser, free);
return 1;
}
@@ -6159,15 +6159,15 @@ again:
default:
break;
}
- Parse(pParser, token, zendlval TSRMLS_CC);
+ zend_lang_parse(pParser, token, zendlval TSRMLS_CC);
if (token == 0) {
break;
} else if (halting == 1 && token == T_SEMICOLON) {
- Parse(pParser, 0, zendlval TSRMLS_CC);
+ zend_lang_parse(pParser, 0, zendlval TSRMLS_CC);
break;
}
}
- ParseFree(pParser, free);
+ zend_lang_parseFree(pParser, free);
return 0;
}
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 5a478263f2..2e25ba819b 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -662,7 +662,11 @@ ZEND_API zend_bool zend_is_auto_global(const char *name, uint name_len TSRMLS_DC
ZEND_API int zend_auto_global_disable_jit(const char *varname, zend_uint varname_length TSRMLS_DC);
ZEND_API size_t zend_dirname(char *path, size_t len);
+/* Parser */
int zendparse(TSRMLS_D);
+void *zend_lang_parseAlloc(void *(*mallocProc)(size_t));
+void zend_lang_parseFree(void *p, void (*freeProc)(void*));
+void zend_lang_parse(void *yyp, int yymajor, znode yyminor TSRMLS_DC);
int zend_add_literal(zend_op_array *op_array, const zval *zv);
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index f34cfb7b45..823b9b9874 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -31,6 +31,8 @@
#include "zend_constants.h"
}
+%name zend_lang_parse
+
%syntax_error {
zend_error(E_PARSE, "syntax error, unexpected '%.*s'", LANG_SCNG(yy_leng), LANG_SCNG(yy_text));
zend_bailout();