diff options
author | Felipe Pena <felipe@php.net> | 2010-07-12 11:50:17 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-07-12 11:50:17 +0000 |
commit | e865de588162cb89211c5a057ca53a202d1d0209 (patch) | |
tree | edbc540c7ae9b696f72c0dc5c6e700476421b74f | |
parent | 811f8c32cb3bf6270450139c074af87550cdfb22 (diff) | |
download | php-git-e865de588162cb89211c5a057ca53a202d1d0209.tar.gz |
- Added parser name and prototype declaration
-rw-r--r-- | Zend/zend_compile.c | 10 | ||||
-rw-r--r-- | Zend/zend_compile.h | 4 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 2 |
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(); |