[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_ini_parser.y zend_language_parser.y
felipe Tue, 20 Jul 2010 17:22:51 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301423 Log: - Reverted mem alloc function change - Fixed lineno on method declarations Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_ini_parser.y U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-20 15:38:17 UTC (rev 301422) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-20 17:22:51 UTC (rev 301423) @@ -6114,8 +6114,8 @@ 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 @@ break; } } - zend_lang_parseFree(pParser, _efree); + zend_lang_parseFree(pParser, free); if (EG(exit_status) == 255) { /* We got an E_PARSE */ Modified: php/php-src/branches/LEMON/Zend/zend_ini_parser.y === --- php/php-src/branches/LEMON/Zend/zend_ini_parser.y 2010-07-20 15:38:17 UTC (rev 301422) +++ php/php-src/branches/LEMON/Zend/zend_ini_parser.y 2010-07-20 17:22:51 UTC (rev 301423) @@ -219,10 +219,10 @@ 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 @@ } } - zend_ini_parseFree(pParser, _efree); + zend_ini_parseFree(pParser, free); if (ZEND_INI_PARSER_SE) { return 1; } else { Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-20 15:38:17 UTC (rev 301422) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-20 17:22:51 UTC (rev 301423) @@ -136,7 +136,6 @@ %left ELSEIF. %left ELSE. %left ENDIF. - %right STATIC ABSTRACT FINAL PRIVATE PROTECTED PUBLIC. // dummy tokens @@ -575,9 +574,16 @@ 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. trait_list ::= fully_qualified_class_name(B). { zend_do_implements_trait(B TSRMLS_CC); } @@ -609,9 +615,6 @@ 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; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_language_parser.y
felipe Mon, 19 Jul 2010 22:46:45 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301406 Log: - Fixed wrong lineno by fixing the rules Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-19 20:22:39 UTC (rev 301405) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-19 22:46:45 UTC (rev 301406) @@ -6111,7 +6111,7 @@ int zendparse(TSRMLS_D) /* {{{ */ { - int token, lineno = 0, halting = 0, old_exit_status; + int token, halting = 0, old_exit_status; void *pParser; if ((pParser = zend_lang_parseAlloc(_emalloc)) == NULL) { @@ -6121,7 +6121,6 @@ old_exit_status = EG(exit_status); EG(exit_status) = 0; - lineno = CG(zend_lineno); while (1) { znode zendlval; @@ -6132,13 +6131,12 @@ if (CG(increment_lineno)) { CG(zend_lineno)++; CG(increment_lineno) = 0; - lineno = CG(zend_lineno); } again: Z_TYPE(zendlval.u.constant) = IS_LONG; /* Call the scanner */ - token = lex_scan(zendlval.u.constant, lineno TSRMLS_CC); + token = lex_scan(zendlval.u.constant, CG(zend_lineno) TSRMLS_CC); switch (token) { case T_COMMENT: @@ -6167,7 +6165,6 @@ break; } zend_lang_parse(pParser, token, zendlval TSRMLS_CC); - CG(zend_lineno) = lineno; if (token == 0 || EG(exit_status) == 255) { break; Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-19 20:22:39 UTC (rev 301405) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-19 22:46:45 UTC (rev 301406) @@ -79,6 +79,10 @@ %type new_ii {znode_array} %type foreach_i {znode_array} %type foreach_ii {znode_array} +%type foreach_i_ns {znode_array} +%type foreach_ii_ns {znode_array} +%type foreach2_i_ns {znode_array} +%type foreach2_ii_ns {znode_array} %type foreach2_i {znode_array} %type foreach2_ii {znode_array} %type bool_or_expr_i {znode_array} @@ -91,14 +95,18 @@ %type closure_ii {znode_array} %type try_catch_iv {znode_array} %type try_catch_iii {znode_array} +%type try_catch_iv_ns {znode_array} +%type try_catch_iii_ns {znode_array} %type isset_variables_i {znode_array} %type unticked_class_declaration_statement_i {znode_array} %type unticked_class_declaration_statement_ii {znode_array} %type while_cond {znode_array} +%type while_cond_ns {znode_array} %type do_statement {znode_array} +%type do_statement_ns {znode_array} %type for_cont {znode_array} +%type for_cont_ns {znode_array} - /* Precedences */ %left INCLUDE INCLUDE_ONCE EVAL REQUIRE REQUIRE_ONCE. %left COMMA. @@ -147,18 +155,21 @@ namespace_name(A) ::= STRING(B). { A = B; } namespace_name(A) ::= namespace_name(B) NS_SEPARATOR STRING(C). { zend_do_build_namespace_name(A, B, C TSRMLS_CC); } -namespace_start ::= NAMESPACE. { zend_do_begin_namespace(NULL, 1 TSRMLS_CC); } +namespace_start_i ::= NAMESPACE. { zend_do_begin_namespace(NULL, 1 TSRMLS_CC); } +namespace_start ::= namespace_start_i LBRACE. -namespace_start2 ::= NAMESPACE namespace_name(B). { zend_do_begin_namespace(B, 1 TSRMLS_CC); } +namespace_start2_i ::= NAMESPACE namespace_name(B). { zend_do_begin_namespace(B, 1 TSRMLS_CC); } +namespace_start2 ::= namespace_start2_i LBRACE. -top_statement ::= SEMICOLON. { ZEND_DO_TICKS(); } -top_statement ::= statement. { ZEND_VERIFY_NS(); } +namespace_start3 ::= NAMESPACE namespace_name(B). { zend_do_begin_namespace(B, 0 TSRMLS_CC); } + +top_statement ::= statement_ns. top_statement ::= function_declaration_statement.{ ZEND_VERIFY_NS(); zend_do_early_binding(TSRMLS_C); } -top_statement ::= class_declaration_statement. { ZEND_VERIFY_NS(); zend_do_early_binding(TSRMLS_C); } +top_statement ::= class_declaration_statement_ns. top_statement ::= HALT_COMPILER LPAREN RPAREN SEMICOLON. { zend_do_halt_compiler_register(TSRMLS_C); } -top_statement ::= NAMESPACE namespace_name(B) SEMICOLON. { zend_do_begin_namespace(B, 0 TSRMLS_CC); } -top_statement ::= namespace_start2 LBRACE top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } -top_statement ::= namespace_start LBRACE top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } +top_statement ::= namespace_start3 SEMICOLON. +top_statement ::= namespace_start2 top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } +top_statement ::= namespace_start top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } top_statement ::= USE use_declarations SEMICOLON.{ ZEND_VERIFY_NS(); } top_statement ::= constant_declaration SEMICOLON.{ ZEND_VERIFY_NS(); } @@ -189,8 +200,9 @@
[PHP-CVS] svn: /php/php-src/branches/LEMON/ Zend/zend_compile.c Zend/zend_compile.h Zend/zend_ini_parser.y lempar.c
felipe Thu, 15 Jul 2010 17:57:22 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301296 Log: - Lets use the _emalloc, _efree functions Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_compile.h U php/php-src/branches/LEMON/Zend/zend_ini_parser.y U php/php-src/branches/LEMON/lempar.c Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-15 17:48:38 UTC (rev 301295) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-15 17:57:22 UTC (rev 301296) @@ -6114,8 +6114,8 @@ int token, lineno = 0, halting = 0, old_exit_status; void *pParser; - if ((pParser = zend_lang_parseAlloc(malloc)) == NULL) { - zend_lang_parseFree(pParser, free); + if ((pParser = zend_lang_parseAlloc(_emalloc)) == NULL) { + zend_lang_parseFree(pParser, _efree); return 1; } @@ -6177,7 +6177,7 @@ break; } } - zend_lang_parseFree(pParser, free); + zend_lang_parseFree(pParser, _efree); if (EG(exit_status) == 255) { /* We got an E_PARSE */ Modified: php/php-src/branches/LEMON/Zend/zend_compile.h === --- php/php-src/branches/LEMON/Zend/zend_compile.h 2010-07-15 17:48:38 UTC (rev 301295) +++ php/php-src/branches/LEMON/Zend/zend_compile.h 2010-07-15 17:57:22 UTC (rev 301296) @@ -664,8 +664,8 @@ /* 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_parseAlloc(void *(*mallocProc)(size_t ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)); +void zend_lang_parseFree(void *p, void (*freeProc)(void* ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)); void zend_lang_parse(void *yyp, int yymajor, znode yyminor TSRMLS_DC); int zend_add_literal(zend_op_array *op_array, const zval *zv); Modified: php/php-src/branches/LEMON/Zend/zend_ini_parser.y === --- php/php-src/branches/LEMON/Zend/zend_ini_parser.y 2010-07-15 17:48:38 UTC (rev 301295) +++ php/php-src/branches/LEMON/Zend/zend_ini_parser.y 2010-07-15 17:57:22 UTC (rev 301296) @@ -39,8 +39,8 @@ #define ZEND_INI_PARSER_SE (CG(ini_parser_param))-syntax_error int ini_parse(TSRMLS_D); -void *zend_ini_parseAlloc(void *(*mallocProc)(size_t)); -void zend_ini_parseFree(void *p, void (*freeProc)(void*)); +void *zend_ini_parseAlloc(void *(*mallocProc)(size_t ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)); +void zend_ini_parseFree(void *p, void (*freeProc)(void* ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)); void zend_ini_parse(void *yyp, int yymajor, zval yyminor TSRMLS_DC); /* {{{ zend_ini_do_op() @@ -219,10 +219,10 @@ int ini_parse(TSRMLS_D) /* {{{ */ { int token; - void *pParser = zend_ini_parseAlloc(malloc); + void *pParser = zend_ini_parseAlloc(_emalloc); if (pParser == NULL) { - zend_ini_parseFree(pParser, free); + zend_ini_parseFree(pParser, _efree); return 1; } @@ -236,7 +236,7 @@ } } - zend_ini_parseFree(pParser, free); + zend_ini_parseFree(pParser, _efree); if (ZEND_INI_PARSER_SE) { return 1; } else { Modified: php/php-src/branches/LEMON/lempar.c === --- php/php-src/branches/LEMON/lempar.c 2010-07-15 17:48:38 UTC (rev 301295) +++ php/php-src/branches/LEMON/lempar.c 2010-07-15 17:57:22 UTC (rev 301296) @@ -266,9 +266,9 @@ ** A pointer to a parser. This pointer is used in subsequent calls ** to Parse and ParseFree. */ -void *ParseAlloc(void *(*mallocProc)(size_t)){ +void *ParseAlloc(void *(*mallocProc)(size_t ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)){ yyParser *pParser; - pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) ); + pParser = (yyParser*)(*mallocProc)( ((size_t)sizeof(yyParser)) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC); if( pParser ){ pParser-yyidx = -1; #ifdef YYTRACKMAXSTACKDEPTH @@ -351,7 +351,7 @@ */ void ParseFree( void *p,/* The parser to be deleted */ - void (*freeProc)(void*) /* Function used to reclaim memory */ + void (*freeProc)(void* ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) /* Function used to reclaim memory */ ){ yyParser *pParser = (yyParser*)p; if( pParser==0 ) return; @@ -359,7 +359,7 @@ #if YYSTACKDEPTH=0 free(pParser-yystack); #endif - (*freeProc)((void*)pParser); + (*freeProc)((void*)pParser ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC); } /* -- PHP CVS Mailing List (http://www.php.net/)
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_language_parser.y
felipe Wed, 14 Jul 2010 02:21:38 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301255 Log: - Disable error recovery Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-14 00:57:24 UTC (rev 301254) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-14 02:21:38 UTC (rev 301255) @@ -6167,24 +6167,22 @@ zend_lang_parse(pParser, token, zendlval TSRMLS_CC); CG(zend_lineno) = lineno; - if (token == 0) { + if (token == 0 || EG(exit_status) == 255) { break; - } else if (EG(exit_status) == 255 || (halting == 1 token == T_SEMICOLON)) { - /* Handles E_PARSE and __HALT_COMPILER(); */ + } else if (halting == 1 token == T_SEMICOLON){ + /* Handles __HALT_COMPILER(); */ zend_lang_parse(pParser, 0, zendlval TSRMLS_CC); - if (EG(exit_status) == 255) { - goto end_parse; - } break; } } -end_parse: zend_lang_parseFree(pParser, free); + if (EG(exit_status) == 255) { /* We got an E_PARSE */ return 1; } EG(exit_status) = old_exit_status; + return 0; } /* }}} */ Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-14 00:57:24 UTC (rev 301254) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-14 02:21:38 UTC (rev 301255) @@ -30,6 +30,7 @@ #include zend_API.h #include zend_constants.h +#define YYNOERRORRECOVERY #define NDEBUG } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_compile.h zend_language_parser.y
felipe Mon, 12 Jul 2010 11:50:17 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301182 Log: - Added parser name and prototype declaration Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_compile.h U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-12 10:41:23 UTC (rev 301181) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-12 11:50:17 UTC (rev 301182) @@ -6112,8 +6112,8 @@ 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 @@ 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; } Modified: php/php-src/branches/LEMON/Zend/zend_compile.h === --- php/php-src/branches/LEMON/Zend/zend_compile.h 2010-07-12 10:41:23 UTC (rev 301181) +++ php/php-src/branches/LEMON/Zend/zend_compile.h 2010-07-12 11:50:17 UTC (rev 301182) @@ -662,7 +662,11 @@ 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); Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-12 10:41:23 UTC (rev 301181) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-12 11:50:17 UTC (rev 301182) @@ -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(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/ Zend/zend_compile.c Zend/zend_compile.h Zend/zend_highlight.c Zend/zend_indent.c Zend/zend_language_scanner.c Zend/zend_language_scanner.l Zend/zend_languag
felipe Mon, 12 Jul 2010 18:48:09 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301212 Log: - Fixed line number on error messages Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_compile.h U php/php-src/branches/LEMON/Zend/zend_highlight.c U php/php-src/branches/LEMON/Zend/zend_indent.c U php/php-src/branches/LEMON/Zend/zend_language_scanner.c U php/php-src/branches/LEMON/Zend/zend_language_scanner.l U php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h U php/php-src/branches/LEMON/ext/tokenizer/tokenizer.c Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-12 17:56:05 UTC (rev 301211) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-12 18:48:09 UTC (rev 301212) @@ -6109,13 +6109,15 @@ int zendparse(TSRMLS_D) /* {{{ */ { - int token, halting = 0; + int token, lineno = 0, halting = 0; void *pParser; if ((pParser = zend_lang_parseAlloc(malloc)) == NULL) { zend_lang_parseFree(pParser, free); return 1; } + + lineno = CG(zend_lineno); while (1) { znode zendlval; @@ -6126,12 +6128,13 @@ if (CG(increment_lineno)) { CG(zend_lineno)++; CG(increment_lineno) = 0; - } + lineno = CG(zend_lineno); + } again: Z_TYPE(zendlval.u.constant) = IS_LONG; /* Call the scanner */ - token = lex_scan(zendlval.u.constant TSRMLS_CC); + token = lex_scan(zendlval.u.constant, lineno TSRMLS_CC); switch (token) { case T_COMMENT: @@ -6160,6 +6163,7 @@ break; } zend_lang_parse(pParser, token, zendlval TSRMLS_CC); + CG(zend_lineno) = lineno; if (token == 0) { break; } else if (halting == 1 token == T_SEMICOLON) { Modified: php/php-src/branches/LEMON/Zend/zend_compile.h === --- php/php-src/branches/LEMON/Zend/zend_compile.h 2010-07-12 17:56:05 UTC (rev 301211) +++ php/php-src/branches/LEMON/Zend/zend_compile.h 2010-07-12 18:48:09 UTC (rev 301212) @@ -380,7 +380,7 @@ extern ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC); extern ZEND_API zend_op_array *(*zend_compile_string)(zval *source_string, char *filename TSRMLS_DC); -ZEND_API int lex_scan(zval *zendlval TSRMLS_DC); +ZEND_API int lex_scan(zval *zendlval, int *lineno TSRMLS_DC); void startup_scanner(TSRMLS_D); void shutdown_scanner(TSRMLS_D); Modified: php/php-src/branches/LEMON/Zend/zend_highlight.c === --- php/php-src/branches/LEMON/Zend/zend_highlight.c 2010-07-12 17:56:05 UTC (rev 301211) +++ php/php-src/branches/LEMON/Zend/zend_highlight.c 2010-07-12 18:48:09 UTC (rev 301212) @@ -90,7 +90,7 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC) { zval token; - int token_type; + int token_type, lineno = 0; char *last_color = syntax_highlighter_ini-highlight_html; char *next_color; @@ -98,7 +98,7 @@ zend_printf(span style=\color: %s\\n, last_color); /* highlight stuff coming back from zendlex() */ token.type = 0; - while ((token_type=lex_scan(token TSRMLS_CC))) { + while ((token_type=lex_scan(token, lineno TSRMLS_CC))) { switch (token_type) { case T_INLINE_HTML: next_color = syntax_highlighter_ini-highlight_html; @@ -174,11 +174,11 @@ ZEND_API void zend_strip(TSRMLS_D) { zval token; - int token_type; + int token_type, lineno = 0; int prev_space = 0; token.type = 0; - while ((token_type=lex_scan(token TSRMLS_CC))) { + while ((token_type=lex_scan(token, lineno TSRMLS_CC))) { switch (token_type) { case T_WHITESPACE: if (!prev_space) { @@ -195,7 +195,7 @@ zend_write(LANG_SCNG(yy_text), LANG_SCNG(yy_leng)); efree(token.value.str.val); /* read the following character, either newline or ; */ -if (lex_scan(token TSRMLS_CC) != T_WHITESPACE) { +if (lex_scan(token, lineno TSRMLS_CC) != T_WHITESPACE) { zend_write(LANG_SCNG(yy_text), LANG_SCNG(yy_leng)); } zend_write(\n, sizeof(\n) - 1); Modified: php/php-src/branches/LEMON/Zend/zend_indent.c === --- php/php-src/branches/LEMON/Zend/zend_indent.c 2010-07-12 17:56:05 UTC (rev 301211) +++ php/php-src/branches/LEMON/Zend/zend_indent.c 2010-07-12 18:48:09 UTC (rev 301212) @@ -52,7 +52,7 @@ zval token; int token_type; int in_string=0; - int nest_level=0; + int nest_level=0, lineno = 0; int emit_whitespace[256]; int i; TSRMLS_FETCH(); @@ -61,7 +61,7 @@ /* highlight stuff coming back from zendlex() */ token.type = 0; - while ((token_type=lex_scan(token TSRMLS_CC))) { + while ((token_type=lex_scan(token, lineno TSRMLS_CC))) { switch (token_type) { case T_INLINE_HTML:
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_language_parser.y zend_language_scanner_defs.h
felipe Mon, 12 Jul 2010 20:11:35 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301215 Log: - Fixed SIGSEGV when E_PARSE occurred in zend_eval_stringl Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_language_parser.y U php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-12 19:14:26 UTC (rev 301214) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-12 20:11:35 UTC (rev 301215) @@ -6109,7 +6109,7 @@ int zendparse(TSRMLS_D) /* {{{ */ { - int token, lineno = 0, halting = 0; + int token, lineno = 0, halting = 0, old_exit_status; void *pParser; if ((pParser = zend_lang_parseAlloc(malloc)) == NULL) { @@ -6117,6 +6117,8 @@ return 1; } + old_exit_status = EG(exit_status); + EG(exit_status) = 0; lineno = CG(zend_lineno); while (1) { @@ -6164,15 +6166,25 @@ } zend_lang_parse(pParser, token, zendlval TSRMLS_CC); CG(zend_lineno) = lineno; + if (token == 0) { break; - } else if (halting == 1 token == T_SEMICOLON) { + } else if (EG(exit_status) == 255 || (halting == 1 token == T_SEMICOLON)) { + /* Handles E_PARSE and __HALT_COMPILER(); */ zend_lang_parse(pParser, 0, zendlval TSRMLS_CC); + if (EG(exit_status) == 255) { + goto end_parse; + } break; } } +end_parse: zend_lang_parseFree(pParser, free); - + if (EG(exit_status) == 255) { + /* We got an E_PARSE */ + return 1; + } + EG(exit_status) = old_exit_status; return 0; } /* }}} */ Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-12 19:14:26 UTC (rev 301214) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-12 20:11:35 UTC (rev 301215) @@ -37,7 +37,6 @@ %syntax_error { zend_error(E_PARSE, syntax error, unexpected '%.*s', LANG_SCNG(yy_leng), LANG_SCNG(yy_text)); -zend_bailout(); } %stack_overflow { Modified: php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h === --- php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h 2010-07-12 19:14:26 UTC (rev 301214) +++ php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h 2010-07-12 20:11:35 UTC (rev 301215) @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Mon Jul 12 14:03:13 2010 */ +/* Generated by re2c 0.13.5 on Mon Jul 12 16:24:11 2010 */ #line 3 Zend/zend_language_scanner_defs.h enum YYCONDTYPE { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c
felipe Sun, 11 Jul 2010 22:00:50 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301169 Log: - Woops, debug stuff :) Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-11 21:53:17 UTC (rev 301168) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-11 22:00:50 UTC (rev 301169) @@ -6116,7 +6116,7 @@ ParseFree(pParser, free); return 1; } -//ParseTrace(stderr, LEMON ); + while (1) { znode zendlval; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_language_parser.y
felipe Sat, 10 Jul 2010 16:57:50 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301154 Log: - Workaround for YYACCEPT on __halt_compiler() Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-10 15:49:15 UTC (rev 301153) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-10 16:57:50 UTC (rev 301154) @@ -6103,7 +6103,7 @@ int zendparse(TSRMLS_D) /* {{{ */ { - int token; + int token, halting = 0; void *pParser; if ((pParser = ParseAlloc(malloc)) == NULL) { @@ -6133,6 +6133,9 @@ case T_OPEN_TAG: case T_WHITESPACE: goto again; + case T_HALT_COMPILER: + halting = 1; + break; case T_END_HEREDOC: efree(Z_STRVAL(zendlval.u.constant)); break; @@ -6153,6 +6156,9 @@ Parse(pParser, token, zendlval TSRMLS_CC); if (token == 0) { break; + } else if (halting == 1 token == T_SEMICOLON) { + Parse(pParser, 0, zendlval TSRMLS_CC); + break; } } ParseFree(pParser, free); Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-10 15:49:15 UTC (rev 301153) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-10 16:57:50 UTC (rev 301154) @@ -186,7 +186,7 @@ top_statement ::= statement. { zend_verify_namespace(TSRMLS_C); } top_statement ::= function_declaration_statement. { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); } top_statement ::= class_declaration_statement. { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); } -top_statement ::= HALT_COMPILER LPAREN RPAREN SEMICOLON. { zend_do_halt_compiler_register(TSRMLS_C); /* YYACCEPT; */ } +top_statement ::= HALT_COMPILER LPAREN RPAREN SEMICOLON. { zend_do_halt_compiler_register(TSRMLS_C); } top_statement ::= NAMESPACE namespace_name(B) SEMICOLON. { zend_do_begin_namespace(B, 0 TSRMLS_CC); } top_statement ::= NAMESPACE namespace_name(B) LBRACE. { zend_do_begin_namespace(B, 1 TSRMLS_CC); } top_statement ::= top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_language_parser.y zend_language_scanner.c zend_language_scanner_defs.h
felipe Sat, 10 Jul 2010 20:16:15 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301156 Log: - Fix the static_scalar rule Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_language_parser.y U php/php-src/branches/LEMON/Zend/zend_language_scanner.c U php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-10 17:11:10 UTC (rev 301155) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-10 20:16:15 UTC (rev 301156) @@ -6163,11 +6163,6 @@ } ParseFree(pParser, free); - /* We got a parse error occured */ - if (EG(exit_status) == 255) { - return 1; - } - return 0; } /* }}} */ Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-10 17:11:10 UTC (rev 301155) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-10 20:16:15 UTC (rev 301156) @@ -1370,7 +1370,7 @@ static_scalar(A) ::= NAMESPACE NS_SEPARATOR namespace_name(B). { A.op_type = IS_CONST; ZVAL_EMPTY_STRING(A.u.constant); zend_do_build_namespace_name(A, A, B TSRMLS_CC); B = A; zend_do_fetch_constant(A, NULL, B, ZEND_CT, 0 TSRMLS_CC); } static_scalar(A) ::= NS_SEPARATOR namespace_name(B). { char *tmp = estrndup(Z_STRVAL(B.u.constant), Z_STRLEN(B.u.constant)+1); memcpy((tmp[1]), Z_STRVAL(B.u.constant), Z_STRLEN(B.u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL(B.u.constant)); Z_STRVAL(B.u.constant) = tmp; ++Z_STRLEN(B.u.constant); zend_do_fetch_constant(A, NULL, B, ZEND_CT, 0 TSRMLS_CC); } static_scalar(A) ::= PLUS(B) static_scalar(C). { ZVAL_LONG(B.u.constant, 0); add_function(C.u.constant, B.u.constant, C.u.constant TSRMLS_CC); A = C; } -static_scalar(A) ::= MINUS(B) static_scalar(C). { ZVAL_LONG(C.u.constant, 0); sub_function(C.u.constant, B.u.constant, C.u.constant TSRMLS_CC); A = C; } +static_scalar(A) ::= MINUS(B) static_scalar(C). { ZVAL_LONG(B.u.constant, 0); sub_function(C.u.constant, B.u.constant, C.u.constant TSRMLS_CC); A = C; } static_scalar(A) ::= ARRAY LPAREN static_array_pair_list(B) RPAREN. { A = B; Z_TYPE(A.u.constant) = IS_CONSTANT_ARRAY; } static_scalar(A) ::= static_class_constant(B). { A = B; } Modified: php/php-src/branches/LEMON/Zend/zend_language_scanner.c === --- php/php-src/branches/LEMON/Zend/zend_language_scanner.c 2010-07-10 17:11:10 UTC (rev 301155) +++ php/php-src/branches/LEMON/Zend/zend_language_scanner.c 2010-07-10 20:16:15 UTC (rev 301156) @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Fri Jul 9 21:47:41 2010 */ +/* Generated by re2c 0.13.5 on Sat Jul 10 16:00:37 2010 */ #line 1 Zend/zend_language_scanner.l /* +--+ Modified: php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h === --- php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h 2010-07-10 17:11:10 UTC (rev 301155) +++ php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h 2010-07-10 20:16:15 UTC (rev 301156) @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Fri Jul 9 21:47:41 2010 */ +/* Generated by re2c 0.13.5 on Sat Jul 10 16:00:37 2010 */ #line 3 Zend/zend_language_scanner_defs.h enum YYCONDTYPE { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c
felipe Fri, 09 Jul 2010 14:43:23 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301134 Log: - WS Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-09 14:26:08 UTC (rev 301133) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-09 14:43:23 UTC (rev 301134) @@ -6103,63 +6103,63 @@ int zendparse(TSRMLS_D) /* {{{ */ { - int token; - void *pParser; + int token; + void *pParser; - if ((pParser = ParseAlloc(malloc)) == NULL) { - ParseFree(pParser, free); - return 1; - } + if ((pParser = ParseAlloc(malloc)) == NULL) { + ParseFree(pParser, free); + return 1; + } - while (1) { - znode zendlval; + while (1) { + znode zendlval; - zendlval.op_type = IS_CONST; - INIT_PZVAL(zendlval.u.constant); + zendlval.op_type = IS_CONST; + INIT_PZVAL(zendlval.u.constant); again: - Z_TYPE(zendlval.u.constant) = IS_LONG; - - if (CG(increment_lineno)) { - CG(zend_lineno)++; - CG(increment_lineno) = 0; - } - - /* Call the scanner */ - token = lex_scan(zendlval.u.constant TSRMLS_CC); + Z_TYPE(zendlval.u.constant) = IS_LONG; - switch (token) { - case T_COMMENT: - case T_DOC_COMMENT: - case T_OPEN_TAG: - case T_WHITESPACE: - goto again; - case T_END_HEREDOC: - efree(Z_STRVAL(zendlval.u.constant)); - case T_OPEN_TAG_WITH_ECHO: - token = T_ECHO; - case T_CLOSE_TAG: - if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1] != '') { - CG(increment_lineno) = 1; - } - if (CG(has_bracketed_namespaces) !CG(in_namespace)) { - break; - } - default: - Parse(pParser, token, zendlval TSRMLS_CC); - break; - } - if (token == 0) { - break; - } - } - ParseFree(pParser, free); - - /* We got a parse error occured */ - if (EG(exit_status) == 255) { - return 1; - } - - return 0; + if (CG(increment_lineno)) { + CG(zend_lineno)++; + CG(increment_lineno) = 0; + } + + /* Call the scanner */ + token = lex_scan(zendlval.u.constant TSRMLS_CC); + + switch (token) { + case T_COMMENT: + case T_DOC_COMMENT: + case T_OPEN_TAG: + case T_WHITESPACE: + goto again; + case T_END_HEREDOC: + efree(Z_STRVAL(zendlval.u.constant)); + case T_OPEN_TAG_WITH_ECHO: + token = T_ECHO; + case T_CLOSE_TAG: + if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1] != '') { + CG(increment_lineno) = 1; + } + if (CG(has_bracketed_namespaces) !CG(in_namespace)) { + break; + } + default: + Parse(pParser, token, zendlval TSRMLS_CC); + break; + } + if (token == 0) { + break; + } + } + ParseFree(pParser, free); + + /* We got a parse error occured */ + if (EG(exit_status) == 255) { + return 1; + } + + return 0; } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c
felipe Fri, 09 Jul 2010 15:25:08 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301135 Log: - Fix switch and Parse call Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-09 14:43:23 UTC (rev 301134) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-09 15:25:08 UTC (rev 301135) @@ -6135,8 +6135,10 @@ goto again; case T_END_HEREDOC: efree(Z_STRVAL(zendlval.u.constant)); + break; case T_OPEN_TAG_WITH_ECHO: token = T_ECHO; + break; case T_CLOSE_TAG: if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1] != '') { CG(increment_lineno) = 1; @@ -6145,9 +6147,9 @@ break; } default: - Parse(pParser, token, zendlval TSRMLS_CC); break; } + Parse(pParser, token, zendlval TSRMLS_CC); if (token == 0) { break; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/LEMON/Zend/ zend_compile.c zend_language_parser.y zend_language_scanner.c zend_language_scanner.l zend_language_scanner_defs.h
felipe Fri, 09 Jul 2010 16:26:46 + Revision: http://svn.php.net/viewvc?view=revisionrevision=301138 Log: - Fixed $var[0] interpolation and close tag Changed paths: U php/php-src/branches/LEMON/Zend/zend_compile.c U php/php-src/branches/LEMON/Zend/zend_language_parser.y U php/php-src/branches/LEMON/Zend/zend_language_scanner.c U php/php-src/branches/LEMON/Zend/zend_language_scanner.l U php/php-src/branches/LEMON/Zend/zend_language_scanner_defs.h Modified: php/php-src/branches/LEMON/Zend/zend_compile.c === --- php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-09 16:02:41 UTC (rev 301137) +++ php/php-src/branches/LEMON/Zend/zend_compile.c 2010-07-09 16:26:46 UTC (rev 301138) @@ -6146,6 +6146,7 @@ if (CG(has_bracketed_namespaces) !CG(in_namespace)) { break; } +token = T_SEMICOLON; default: break; } Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y === --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-09 16:02:41 UTC (rev 301137) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-09 16:26:46 UTC (rev 301138) @@ -1084,6 +1084,8 @@ expr_without_variable(A) ::= expr(B) MULT expr(C). { zend_do_binary_op(ZEND_MUL, A, B, C TSRMLS_CC); } expr_without_variable(A) ::= expr(B) DIV expr(C). { zend_do_binary_op(ZEND_DIV, A, B, C TSRMLS_CC); } expr_without_variable(A) ::= expr(B) MOD expr(C). { zend_do_binary_op(ZEND_MOD, A, B, C TSRMLS_CC); } +//expr_without_variable(A) ::= PLUS(B) expr(C). [INC] { ZVAL_LONG(B.u.constant, 0); if (C.op_type == IS_CONST) { add_function(C.u.constant, B.u.constant, C.u.constant TSRMLS_CC); A = C; } else { B.op_type = IS_CONST; INIT_PZVAL(B.u.constant); zend_do_binary_op(ZEND_ADD, A, B, C TSRMLS_CC); } } +//expr_without_variable(A) ::= MINUS(B) expr(C). [INC] { ZVAL_LONG(B.u.constant, 0); if (C.op_type == IS_CONST) { sub_function(C.u.constant, B.u.constant, C.u.constant TSRMLS_CC); A = C; } else { B.op_type = IS_CONST; INIT_PZVAL(B.u.constant); zend_do_binary_op(ZEND_SUB, A, B, C TSRMLS_CC); } } expr_without_variable(A) ::= BOOL_NOT expr(B). { zend_do_unary_op(ZEND_BOOL_NOT, A, B TSRMLS_CC); } expr_without_variable(A) ::= BW_NOT expr(B). { zend_do_unary_op(ZEND_BW_NOT, A, B TSRMLS_CC); } expr_without_variable(A) ::= expr(B) IS_IDENTICAL expr(C). { zend_do_binary_op(ZEND_IS_IDENTICAL, A, B, C TSRMLS_CC); } Modified: php/php-src/branches/LEMON/Zend/zend_language_scanner.c === --- php/php-src/branches/LEMON/Zend/zend_language_scanner.c 2010-07-09 16:02:41 UTC (rev 301137) +++ php/php-src/branches/LEMON/Zend/zend_language_scanner.c 2010-07-09 16:26:46 UTC (rev 301138) @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Fri Jul 9 12:20:45 2010 */ +/* Generated by re2c 0.13.5 on Fri Jul 9 13:08:43 2010 */ #line 1 Zend/zend_language_scanner.l /* +--+ @@ -1432,7 +1432,7 @@ yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2194 Zend/zend_language_scanner.l +#line 2198 Zend/zend_language_scanner.l { if (YYCURSOR YYLIMIT) { return 0; @@ -1484,7 +1484,7 @@ ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2138 Zend/zend_language_scanner.l +#line 2142 Zend/zend_language_scanner.l { BEGIN(ST_IN_SCRIPTING); return T_BACKQUOTE; @@ -1499,7 +1499,7 @@ ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2125 Zend/zend_language_scanner.l +#line 2129 Zend/zend_language_scanner.l { zendlval-value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1655,7 +1655,7 @@ yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2144 Zend/zend_language_scanner.l +#line 2148 Zend/zend_language_scanner.l { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1715,7 +1715,7 @@ ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 Zend/zend_language_scanner.l +#line 2137 Zend/zend_language_scanner.l { BEGIN(ST_IN_SCRIPTING); return T_QUOTE; @@ -1730,7 +1730,7 @@ ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2125 Zend/zend_language_scanner.l +#line 2129 Zend/zend_language_scanner.l { zendlval-value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1829,7 +1829,7 @@ ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2112 Zend/zend_language_scanner.l +#line 2116 Zend/zend_language_scanner.l { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -1903,7 +1903,7 @@ yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line