From bcd9099b28c0617e4e3a3a643af3051f011444a9 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 25 Mar 2009 15:23:58 +0000 Subject: [PATCH] Fixed bug #47038 (Memory leak in include) --- NEWS | 1 + Zend/zend_globals.h | 2 - Zend/zend_language_scanner.c | 790 +++++++++++++++--------------- Zend/zend_language_scanner.l | 20 +- Zend/zend_language_scanner_defs.h | 2 +- ext/tokenizer/tokenizer.c | 5 +- 6 files changed, 400 insertions(+), 420 deletions(-) diff --git a/NEWS b/NEWS index 889b18b721..63b2353e99 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 200?, PHP 5.3.0 RC 2 - Fixed bug #47699 (autoload and late static binding). (Dmitry) +- Fixed bug #47038 (Memory leak in include). (Dmitry) - Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (matteo at beccati dot com) - Fixed bug #42362 - (HTTP status codes 204 and 304 should not be gzipped). diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 546a392fde..287a7d2074 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -292,8 +292,6 @@ struct _zend_php_scanner_globals { int yy_state; zend_stack state_stack; - zend_llist used_state_stacks; - #ifdef ZEND_MULTIBYTE /* original (unfiltered) script */ unsigned char *script_org; diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index f8895a8deb..b8635084b3 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Fri Mar 13 00:13:18 2009 */ +/* Generated by re2c 0.13.5 on Wed Mar 25 18:23:22 2009 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -145,9 +145,7 @@ void startup_scanner(TSRMLS_D) CG(heredoc_len) = 0; CG(doc_comment) = NULL; CG(doc_comment_len) = 0; - zend_llist_init(&SCNG(used_state_stacks), sizeof(zend_stack), (llist_dtor_func_t) zend_stack_destroy, 0); zend_stack_init(&SCNG(state_stack)); - zend_llist_add_element(&SCNG(used_state_stacks), &SCNG(state_stack)); } void shutdown_scanner(TSRMLS_D) @@ -156,15 +154,10 @@ void shutdown_scanner(TSRMLS_D) efree(CG(heredoc)); CG(heredoc_len)=0; } - zend_llist_destroy(&SCNG(used_state_stacks)); + zend_stack_destroy(&SCNG(state_stack)); RESET_DOC_COMMENT(); } -static int compare_stacks(zend_stack *stack1, zend_stack *stack2) -{ - return (stack1 == stack2); -} - ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) { lex_state->yy_leng = SCNG(yy_leng); @@ -176,7 +169,6 @@ ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) lex_state->state_stack = SCNG(state_stack); zend_stack_init(&SCNG(state_stack)); - zend_llist_add_element(&SCNG(used_state_stacks), &SCNG(state_stack)); lex_state->in = SCNG(yy_in); lex_state->yy_state = YYSTATE; @@ -204,7 +196,7 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) SCNG(yy_marker) = lex_state->yy_marker; SCNG(yy_limit) = lex_state->yy_limit; - zend_llist_del_element(&SCNG(used_state_stacks), &SCNG(state_stack), (int (*)(void *, void *)) compare_stacks); + zend_stack_destroy(&SCNG(state_stack)); SCNG(state_stack) = lex_state->state_stack; SCNG(yy_in) = lex_state->in; @@ -363,9 +355,7 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR retval = NULL; } } - if (compilation_successful) { - zend_restore_lexical_state(&original_lex_state TSRMLS_CC); - } + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return retval; } @@ -528,8 +518,8 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) zend_release_labels(TSRMLS_C); retval = op_array; } - zend_restore_lexical_state(&original_lex_state TSRMLS_CC); } + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); zval_dtor(&tmp); CG(in_compilation) = original_in_compilation; return retval; @@ -549,6 +539,7 @@ int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlight zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) { zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC); + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return FAILURE; } zend_highlight(syntax_highlighter_ini TSRMLS_CC); @@ -576,6 +567,7 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ zval_copy_ctor(str); zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) { + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return FAILURE; } BEGIN(INITIAL); @@ -836,7 +828,7 @@ restart: yymore_restart: -#line 840 "Zend/zend_language_scanner.c" +#line 832 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -938,9 +930,9 @@ yy2: ++YYCURSOR; YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 944 "Zend/zend_language_scanner.c" +#line 936 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yyaccept = 0; @@ -958,7 +950,7 @@ yy4: yy5: YYDEBUG(5, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1611 "Zend/zend_language_scanner.l" +#line 1603 "Zend/zend_language_scanner.l" { inline_char_handler: @@ -1004,7 +996,7 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1008 "Zend/zend_language_scanner.c" +#line 1000 "Zend/zend_language_scanner.c" yy6: YYDEBUG(6, *YYCURSOR); yych = *++YYCURSOR; @@ -1022,7 +1014,7 @@ yy7: yy8: YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1599 "Zend/zend_language_scanner.l" +#line 1591 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1034,14 +1026,14 @@ yy8: goto inline_char_handler; } } -#line 1038 "Zend/zend_language_scanner.c" +#line 1030 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy45; YYDEBUG(10, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1576 "Zend/zend_language_scanner.l" +#line 1568 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1053,7 +1045,7 @@ yy9: goto inline_char_handler; } } -#line 1057 "Zend/zend_language_scanner.c" +#line 1049 "Zend/zend_language_scanner.c" yy11: YYDEBUG(11, *YYCURSOR); yych = *++YYCURSOR; @@ -1239,7 +1231,7 @@ yy37: ++YYCURSOR; YYDEBUG(40, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1540 "Zend/zend_language_scanner.l" +#line 1532 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1248,7 +1240,7 @@ yy37: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1252 "Zend/zend_language_scanner.c" +#line 1244 "Zend/zend_language_scanner.c" yy41: YYDEBUG(41, *YYCURSOR); yych = *++YYCURSOR; @@ -1275,7 +1267,7 @@ yy45: ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1550 "Zend/zend_language_scanner.l" +#line 1542 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1287,13 +1279,13 @@ yy45: goto inline_char_handler; } } -#line 1291 "Zend/zend_language_scanner.c" +#line 1283 "Zend/zend_language_scanner.c" yy47: YYDEBUG(47, *YYCURSOR); ++YYCURSOR; YYDEBUG(48, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1563 "Zend/zend_language_scanner.l" +#line 1555 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1305,7 +1297,7 @@ yy47: goto inline_char_handler; } } -#line 1309 "Zend/zend_language_scanner.c" +#line 1301 "Zend/zend_language_scanner.c" yy49: YYDEBUG(49, *YYCURSOR); yych = *++YYCURSOR; @@ -1332,7 +1324,7 @@ yy52: yy53: YYDEBUG(53, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1589 "Zend/zend_language_scanner.l" +#line 1581 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1341,7 +1333,7 @@ yy53: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1345 "Zend/zend_language_scanner.c" +#line 1337 "Zend/zend_language_scanner.c" yy54: YYDEBUG(54, *YYCURSOR); ++YYCURSOR; @@ -1412,12 +1404,12 @@ yyc_ST_BACKQUOTE: yy58: YYDEBUG(58, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2021 "Zend/zend_language_scanner.l" +#line 2013 "Zend/zend_language_scanner.l" { zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1421 "Zend/zend_language_scanner.c" +#line 1413 "Zend/zend_language_scanner.c" yy59: YYDEBUG(59, *YYCURSOR); yych = *++YYCURSOR; @@ -1455,13 +1447,13 @@ yy60: yy61: YYDEBUG(61, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1996 "Zend/zend_language_scanner.l" +#line 1988 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_CURLY_OPEN; } -#line 1465 "Zend/zend_language_scanner.c" +#line 1457 "Zend/zend_language_scanner.c" yy62: YYDEBUG(62, *YYCURSOR); yyaccept = 0; @@ -1504,12 +1496,12 @@ yy66: ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2099 "Zend/zend_language_scanner.l" +#line 2091 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1513 "Zend/zend_language_scanner.c" +#line 1505 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); ++YYCURSOR; @@ -1582,13 +1574,13 @@ yy71: yy73: YYDEBUG(73, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2026 "Zend/zend_language_scanner.l" +#line 2018 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1592 "Zend/zend_language_scanner.c" +#line 1584 "Zend/zend_language_scanner.c" yy74: YYDEBUG(74, *YYCURSOR); yych = *++YYCURSOR; @@ -1622,24 +1614,24 @@ yy77: yy79: YYDEBUG(79, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1671 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1632 "Zend/zend_language_scanner.c" +#line 1624 "Zend/zend_language_scanner.c" yy80: YYDEBUG(80, *YYCURSOR); ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1325 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1643 "Zend/zend_language_scanner.c" +#line 1635 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -1650,7 +1642,7 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1671 "Zend/zend_language_scanner.l" +#line 1663 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1658,7 +1650,7 @@ yy83: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1662 "Zend/zend_language_scanner.c" +#line 1654 "Zend/zend_language_scanner.c" yy85: YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; @@ -1676,7 +1668,7 @@ yy86: ++YYCURSOR; YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" +#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1684,7 +1676,7 @@ yy86: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1688 "Zend/zend_language_scanner.c" +#line 1680 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_COMMENT: @@ -1737,12 +1729,12 @@ yy90: } YYDEBUG(91, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1765 "Zend/zend_language_scanner.l" +#line 1757 "Zend/zend_language_scanner.l" { zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno)); return 0; } -#line 1746 "Zend/zend_language_scanner.c" +#line 1738 "Zend/zend_language_scanner.c" yy92: YYDEBUG(92, *YYCURSOR); ++YYCURSOR; @@ -1754,34 +1746,34 @@ yy92: } YYDEBUG(94, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1776 "Zend/zend_language_scanner.l" +#line 1768 "Zend/zend_language_scanner.l" { yymore(); } -#line 1762 "Zend/zend_language_scanner.c" +#line 1754 "Zend/zend_language_scanner.c" yy95: YYDEBUG(95, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy97; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1794 "Zend/zend_language_scanner.l" +#line 1786 "Zend/zend_language_scanner.l" { yymore(); } -#line 1773 "Zend/zend_language_scanner.c" +#line 1765 "Zend/zend_language_scanner.c" yy97: YYDEBUG(97, *YYCURSOR); ++YYCURSOR; YYDEBUG(98, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1788 "Zend/zend_language_scanner.l" +#line 1780 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); BEGIN(ST_IN_SCRIPTING); return T_COMMENT; } -#line 1785 "Zend/zend_language_scanner.c" +#line 1777 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOC_COMMENT: @@ -1834,12 +1826,12 @@ yy101: } YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1765 "Zend/zend_language_scanner.l" +#line 1757 "Zend/zend_language_scanner.l" { zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno)); return 0; } -#line 1843 "Zend/zend_language_scanner.c" +#line 1835 "Zend/zend_language_scanner.c" yy103: YYDEBUG(103, *YYCURSOR); ++YYCURSOR; @@ -1851,28 +1843,28 @@ yy103: } YYDEBUG(105, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1776 "Zend/zend_language_scanner.l" +#line 1768 "Zend/zend_language_scanner.l" { yymore(); } -#line 1859 "Zend/zend_language_scanner.c" +#line 1851 "Zend/zend_language_scanner.c" yy106: YYDEBUG(106, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy108; YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1794 "Zend/zend_language_scanner.l" +#line 1786 "Zend/zend_language_scanner.l" { yymore(); } -#line 1870 "Zend/zend_language_scanner.c" +#line 1862 "Zend/zend_language_scanner.c" yy108: YYDEBUG(108, *YYCURSOR); ++YYCURSOR; YYDEBUG(109, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1780 "Zend/zend_language_scanner.l" +#line 1772 "Zend/zend_language_scanner.l" { CG(doc_comment) = estrndup(yytext, yyleng); CG(doc_comment_len) = yyleng; @@ -1880,7 +1872,7 @@ yy108: BEGIN(ST_IN_SCRIPTING); return T_DOC_COMMENT; } -#line 1884 "Zend/zend_language_scanner.c" +#line 1876 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1946,12 +1938,12 @@ yyc_ST_DOUBLE_QUOTES: yy113: YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2003 "Zend/zend_language_scanner.l" +#line 1995 "Zend/zend_language_scanner.l" { zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1955 "Zend/zend_language_scanner.c" +#line 1947 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; @@ -1990,13 +1982,13 @@ yy115: yy116: YYDEBUG(116, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1996 "Zend/zend_language_scanner.l" +#line 1988 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_CURLY_OPEN; } -#line 2000 "Zend/zend_language_scanner.c" +#line 1992 "Zend/zend_language_scanner.c" yy117: YYDEBUG(117, *YYCURSOR); yyaccept = 0; @@ -2038,12 +2030,12 @@ yy121: ++YYCURSOR; YYDEBUG(122, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2093 "Zend/zend_language_scanner.l" +#line 2085 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 2047 "Zend/zend_language_scanner.c" +#line 2039 "Zend/zend_language_scanner.c" yy123: YYDEBUG(123, *YYCURSOR); ++YYCURSOR; @@ -2119,13 +2111,13 @@ yy126: yy128: YYDEBUG(128, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2014 "Zend/zend_language_scanner.l" +#line 2006 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 2129 "Zend/zend_language_scanner.c" +#line 2121 "Zend/zend_language_scanner.c" yy129: YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; @@ -2159,24 +2151,24 @@ yy132: yy134: YYDEBUG(134, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1671 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2169 "Zend/zend_language_scanner.c" +#line 2161 "Zend/zend_language_scanner.c" yy135: YYDEBUG(135, *YYCURSOR); ++YYCURSOR; YYDEBUG(136, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1325 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2180 "Zend/zend_language_scanner.c" +#line 2172 "Zend/zend_language_scanner.c" yy137: YYDEBUG(137, *YYCURSOR); yych = *++YYCURSOR; @@ -2187,7 +2179,7 @@ yy138: ++YYCURSOR; YYDEBUG(139, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1671 "Zend/zend_language_scanner.l" +#line 1663 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2195,7 +2187,7 @@ yy138: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2199 "Zend/zend_language_scanner.c" +#line 2191 "Zend/zend_language_scanner.c" yy140: YYDEBUG(140, *YYCURSOR); yych = *++YYCURSOR; @@ -2213,7 +2205,7 @@ yy141: ++YYCURSOR; YYDEBUG(142, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" +#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2221,7 +2213,7 @@ yy141: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2225 "Zend/zend_language_scanner.c" +#line 2217 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -2233,15 +2225,15 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 2239 "Zend/zend_language_scanner.c" +#line 2231 "Zend/zend_language_scanner.c" yy147: YYDEBUG(147, *YYCURSOR); ++YYCURSOR; YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1982 "Zend/zend_language_scanner.l" +#line 1974 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -2253,7 +2245,7 @@ yy147: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 2257 "Zend/zend_language_scanner.c" +#line 2249 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -2323,12 +2315,12 @@ yyc_ST_HEREDOC: yy151: YYDEBUG(151, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2040 "Zend/zend_language_scanner.l" +#line 2032 "Zend/zend_language_scanner.l" { zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 2332 "Zend/zend_language_scanner.c" +#line 2324 "Zend/zend_language_scanner.c" yy152: YYDEBUG(152, *YYCURSOR); yyaccept = 0; @@ -2379,13 +2371,13 @@ yy154: yy155: YYDEBUG(155, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1996 "Zend/zend_language_scanner.l" +#line 1988 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_CURLY_OPEN; } -#line 2389 "Zend/zend_language_scanner.c" +#line 2381 "Zend/zend_language_scanner.c" yy156: YYDEBUG(156, *YYCURSOR); yyaccept = 0; @@ -2636,13 +2628,13 @@ yy172: yy174: YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2045 "Zend/zend_language_scanner.l" +#line 2037 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 2646 "Zend/zend_language_scanner.c" +#line 2638 "Zend/zend_language_scanner.c" yy175: YYDEBUG(175, *YYCURSOR); yyaccept = 2; @@ -2741,7 +2733,7 @@ yy181: ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1945 "Zend/zend_language_scanner.l" +#line 1937 "Zend/zend_language_scanner.l" { char *end = yytext + yyleng - 1; @@ -2778,7 +2770,7 @@ yy181: yymore(); } } -#line 2782 "Zend/zend_language_scanner.c" +#line 2774 "Zend/zend_language_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); yyaccept = 2; @@ -3038,24 +3030,24 @@ yy202: yy204: YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1671 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3048 "Zend/zend_language_scanner.c" +#line 3040 "Zend/zend_language_scanner.c" yy205: YYDEBUG(205, *YYCURSOR); ++YYCURSOR; YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1325 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 3059 "Zend/zend_language_scanner.c" +#line 3051 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); yych = *++YYCURSOR; @@ -3066,7 +3058,7 @@ yy208: ++YYCURSOR; YYDEBUG(209, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1671 "Zend/zend_language_scanner.l" +#line 1663 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -3074,7 +3066,7 @@ yy208: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3078 "Zend/zend_language_scanner.c" +#line 3070 "Zend/zend_language_scanner.c" yy210: YYDEBUG(210, *YYCURSOR); yych = *++YYCURSOR; @@ -3092,7 +3084,7 @@ yy211: ++YYCURSOR; YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" +#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -3100,7 +3092,7 @@ yy211: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3104 "Zend/zend_language_scanner.c" +#line 3096 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -3298,9 +3290,9 @@ yy215: ++YYCURSOR; YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 3304 "Zend/zend_language_scanner.c" +#line 3296 "Zend/zend_language_scanner.c" yy217: YYDEBUG(217, *YYCURSOR); ++YYCURSOR; @@ -3323,13 +3315,13 @@ yy217: yy218: YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1703 "Zend/zend_language_scanner.l" +#line 1695 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 3333 "Zend/zend_language_scanner.c" +#line 3325 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); yych = *++YYCURSOR; @@ -3576,11 +3568,11 @@ yy231: yy232: YYDEBUG(232, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1322 "Zend/zend_language_scanner.l" +#line 1314 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 3584 "Zend/zend_language_scanner.c" +#line 3576 "Zend/zend_language_scanner.c" yy233: YYDEBUG(233, *YYCURSOR); ++YYCURSOR; @@ -3589,7 +3581,7 @@ yy233: yy234: YYDEBUG(234, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1057 "Zend/zend_language_scanner.l" +#line 1049 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -3597,7 +3589,7 @@ yy234: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 3601 "Zend/zend_language_scanner.c" +#line 3593 "Zend/zend_language_scanner.c" yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; @@ -3608,11 +3600,11 @@ yy236: ++YYCURSOR; YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1086 "Zend/zend_language_scanner.l" +#line 1078 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 3616 "Zend/zend_language_scanner.c" +#line 3608 "Zend/zend_language_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; @@ -3840,18 +3832,18 @@ yy261: ++YYCURSOR; YYDEBUG(262, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1327 "Zend/zend_language_scanner.l" +#line 1319 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 3849 "Zend/zend_language_scanner.c" +#line 3841 "Zend/zend_language_scanner.c" yy263: YYDEBUG(263, *YYCURSOR); ++YYCURSOR; YYDEBUG(264, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1339 "Zend/zend_language_scanner.l" +#line 1331 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -3859,7 +3851,7 @@ yy263: } return '}'; } -#line 3863 "Zend/zend_language_scanner.c" +#line 3855 "Zend/zend_language_scanner.c" yy265: YYDEBUG(265, *YYCURSOR); yyaccept = 2; @@ -3882,7 +3874,7 @@ yy265: yy266: YYDEBUG(266, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1365 "Zend/zend_language_scanner.l" +#line 1357 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); @@ -3903,7 +3895,7 @@ yy266: zendlval->type = IS_LONG; return T_LNUMBER; } -#line 3907 "Zend/zend_language_scanner.c" +#line 3899 "Zend/zend_language_scanner.c" yy267: YYDEBUG(267, *YYCURSOR); yyaccept = 2; @@ -3931,12 +3923,12 @@ yy269: yy270: YYDEBUG(270, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1710 "Zend/zend_language_scanner.l" +#line 1702 "Zend/zend_language_scanner.l" { BEGIN(ST_ONE_LINE_COMMENT); yymore(); } -#line 3940 "Zend/zend_language_scanner.c" +#line 3932 "Zend/zend_language_scanner.c" yy271: YYDEBUG(271, *YYCURSOR); yyaccept = 3; @@ -3945,12 +3937,12 @@ yy271: yy272: YYDEBUG(272, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 3954 "Zend/zend_language_scanner.c" +#line 3946 "Zend/zend_language_scanner.c" yy273: YYDEBUG(273, *YYCURSOR); yyaccept = 4; @@ -3959,23 +3951,23 @@ yy273: yy274: YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2106 "Zend/zend_language_scanner.l" +#line 2098 "Zend/zend_language_scanner.l" { zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 3968 "Zend/zend_language_scanner.c" +#line 3960 "Zend/zend_language_scanner.c" yy275: YYDEBUG(275, *YYCURSOR); ++YYCURSOR; YYDEBUG(276, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1933 "Zend/zend_language_scanner.l" +#line 1925 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3979 "Zend/zend_language_scanner.c" +#line 3971 "Zend/zend_language_scanner.c" yy277: YYDEBUG(277, *YYCURSOR); yych = *++YYCURSOR; @@ -4033,7 +4025,7 @@ yy282: ++YYCURSOR; YYDEBUG(283, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1831 "Zend/zend_language_scanner.l" +#line 1823 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -4083,7 +4075,7 @@ yy282: #endif /* ZEND_MULTIBYTE */ return T_CONSTANT_ENCAPSED_STRING; } -#line 4087 "Zend/zend_language_scanner.c" +#line 4079 "Zend/zend_language_scanner.c" yy284: YYDEBUG(284, *YYCURSOR); ++YYCURSOR; @@ -4149,14 +4141,14 @@ yy291: ++YYCURSOR; YYDEBUG(292, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1823 "Zend/zend_language_scanner.l" +#line 1815 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC); return T_CONSTANT_ENCAPSED_STRING; } -#line 4160 "Zend/zend_language_scanner.c" +#line 4152 "Zend/zend_language_scanner.c" yy293: YYDEBUG(293, *YYCURSOR); ++YYCURSOR; @@ -4190,13 +4182,13 @@ yy296: yy298: YYDEBUG(298, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1426 "Zend/zend_language_scanner.l" +#line 1418 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } -#line 4200 "Zend/zend_language_scanner.c" +#line 4192 "Zend/zend_language_scanner.c" yy299: YYDEBUG(299, *YYCURSOR); yyaccept = 2; @@ -4258,7 +4250,7 @@ yy306: } YYDEBUG(308, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1386 "Zend/zend_language_scanner.l" +#line 1378 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -4279,7 +4271,7 @@ yy306: return T_DNUMBER; } } -#line 4283 "Zend/zend_language_scanner.c" +#line 4275 "Zend/zend_language_scanner.c" yy309: YYDEBUG(309, *YYCURSOR); ++YYCURSOR; @@ -4288,7 +4280,7 @@ yy309: yy310: YYDEBUG(310, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1798 "Zend/zend_language_scanner.l" +#line 1790 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -4296,7 +4288,7 @@ yy310: BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 4300 "Zend/zend_language_scanner.c" +#line 4292 "Zend/zend_language_scanner.c" yy311: YYDEBUG(311, *YYCURSOR); yych = *++YYCURSOR; @@ -4330,13 +4322,13 @@ yy313: yy315: YYDEBUG(315, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1671 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 4340 "Zend/zend_language_scanner.c" +#line 4332 "Zend/zend_language_scanner.c" yy316: YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; @@ -4350,11 +4342,11 @@ yy317: } YYDEBUG(318, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1310 "Zend/zend_language_scanner.l" +#line 1302 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 4358 "Zend/zend_language_scanner.c" +#line 4350 "Zend/zend_language_scanner.c" yy319: YYDEBUG(319, *YYCURSOR); ++YYCURSOR; @@ -4363,61 +4355,61 @@ yy319: } YYDEBUG(320, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1302 "Zend/zend_language_scanner.l" +#line 1294 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 4371 "Zend/zend_language_scanner.c" +#line 4363 "Zend/zend_language_scanner.c" yy321: YYDEBUG(321, *YYCURSOR); ++YYCURSOR; YYDEBUG(322, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1290 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 4381 "Zend/zend_language_scanner.c" +#line 4373 "Zend/zend_language_scanner.c" yy323: YYDEBUG(323, *YYCURSOR); ++YYCURSOR; YYDEBUG(324, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1294 "Zend/zend_language_scanner.l" +#line 1286 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 4391 "Zend/zend_language_scanner.c" +#line 4383 "Zend/zend_language_scanner.c" yy325: YYDEBUG(325, *YYCURSOR); ++YYCURSOR; YYDEBUG(326, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1286 "Zend/zend_language_scanner.l" +#line 1278 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 4401 "Zend/zend_language_scanner.c" +#line 4393 "Zend/zend_language_scanner.c" yy327: YYDEBUG(327, *YYCURSOR); ++YYCURSOR; YYDEBUG(328, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1298 "Zend/zend_language_scanner.l" +#line 1290 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 4411 "Zend/zend_language_scanner.c" +#line 4403 "Zend/zend_language_scanner.c" yy329: YYDEBUG(329, *YYCURSOR); ++YYCURSOR; YYDEBUG(330, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1282 "Zend/zend_language_scanner.l" +#line 1274 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 4421 "Zend/zend_language_scanner.c" +#line 4413 "Zend/zend_language_scanner.c" yy331: YYDEBUG(331, *YYCURSOR); ++YYCURSOR; @@ -4426,7 +4418,7 @@ yy331: yy332: YYDEBUG(332, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1807 "Zend/zend_language_scanner.l" +#line 1799 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -4439,17 +4431,17 @@ yy332: return yytext[0]; } } -#line 4443 "Zend/zend_language_scanner.c" +#line 4435 "Zend/zend_language_scanner.c" yy333: YYDEBUG(333, *YYCURSOR); ++YYCURSOR; YYDEBUG(334, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1270 "Zend/zend_language_scanner.l" +#line 1262 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 4453 "Zend/zend_language_scanner.c" +#line 4445 "Zend/zend_language_scanner.c" yy335: YYDEBUG(335, *YYCURSOR); yych = *++YYCURSOR; @@ -4480,11 +4472,11 @@ yy339: ++YYCURSOR; YYDEBUG(340, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1266 "Zend/zend_language_scanner.l" +#line 1258 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 4488 "Zend/zend_language_scanner.c" +#line 4480 "Zend/zend_language_scanner.c" yy341: YYDEBUG(341, *YYCURSOR); yyaccept = 6; @@ -4493,12 +4485,12 @@ yy341: yy342: YYDEBUG(342, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1770 "Zend/zend_language_scanner.l" +#line 1762 "Zend/zend_language_scanner.l" { BEGIN(ST_COMMENT); yymore(); } -#line 4502 "Zend/zend_language_scanner.c" +#line 4494 "Zend/zend_language_scanner.c" yy343: YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; @@ -4508,11 +4500,11 @@ yy344: ++YYCURSOR; YYDEBUG(345, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1262 "Zend/zend_language_scanner.l" +#line 1254 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 4516 "Zend/zend_language_scanner.c" +#line 4508 "Zend/zend_language_scanner.c" yy346: YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; @@ -4531,54 +4523,54 @@ yy347: } YYDEBUG(349, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1759 "Zend/zend_language_scanner.l" +#line 1751 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); BEGIN(ST_DOC_COMMENT); yymore(); } -#line 4541 "Zend/zend_language_scanner.c" +#line 4533 "Zend/zend_language_scanner.c" yy350: YYDEBUG(350, *YYCURSOR); ++YYCURSOR; YYDEBUG(351, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1258 "Zend/zend_language_scanner.l" +#line 1250 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 4551 "Zend/zend_language_scanner.c" +#line 4543 "Zend/zend_language_scanner.c" yy352: YYDEBUG(352, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy356; YYDEBUG(353, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1318 "Zend/zend_language_scanner.l" +#line 1310 "Zend/zend_language_scanner.l" { return T_SR; } -#line 4562 "Zend/zend_language_scanner.c" +#line 4554 "Zend/zend_language_scanner.c" yy354: YYDEBUG(354, *YYCURSOR); ++YYCURSOR; YYDEBUG(355, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1246 "Zend/zend_language_scanner.l" +#line 1238 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 4572 "Zend/zend_language_scanner.c" +#line 4564 "Zend/zend_language_scanner.c" yy356: YYDEBUG(356, *YYCURSOR); ++YYCURSOR; YYDEBUG(357, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1278 "Zend/zend_language_scanner.l" +#line 1270 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 4582 "Zend/zend_language_scanner.c" +#line 4574 "Zend/zend_language_scanner.c" yy358: YYDEBUG(358, *YYCURSOR); yyaccept = 7; @@ -4589,11 +4581,11 @@ yy358: yy359: YYDEBUG(359, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1314 "Zend/zend_language_scanner.l" +#line 1306 "Zend/zend_language_scanner.l" { return T_SL; } -#line 4597 "Zend/zend_language_scanner.c" +#line 4589 "Zend/zend_language_scanner.c" yy360: YYDEBUG(360, *YYCURSOR); yych = *++YYCURSOR; @@ -4605,22 +4597,22 @@ yy361: ++YYCURSOR; YYDEBUG(362, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1242 "Zend/zend_language_scanner.l" +#line 1234 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 4613 "Zend/zend_language_scanner.c" +#line 4605 "Zend/zend_language_scanner.c" yy363: YYDEBUG(363, *YYCURSOR); ++YYCURSOR; yy364: YYDEBUG(364, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1238 "Zend/zend_language_scanner.l" +#line 1230 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 4624 "Zend/zend_language_scanner.c" +#line 4616 "Zend/zend_language_scanner.c" yy365: YYDEBUG(365, *YYCURSOR); yych = *++YYCURSOR; @@ -4671,11 +4663,11 @@ yy372: ++YYCURSOR; YYDEBUG(373, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1274 "Zend/zend_language_scanner.l" +#line 1266 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 4679 "Zend/zend_language_scanner.c" +#line 4671 "Zend/zend_language_scanner.c" yy374: YYDEBUG(374, *YYCURSOR); ++YYCURSOR; @@ -4780,7 +4772,7 @@ yy383: yy384: YYDEBUG(384, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1888 "Zend/zend_language_scanner.l" +#line 1880 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -4824,7 +4816,7 @@ yy384: return T_START_HEREDOC; } -#line 4828 "Zend/zend_language_scanner.c" +#line 4820 "Zend/zend_language_scanner.c" yy385: YYDEBUG(385, *YYCURSOR); yych = *++YYCURSOR; @@ -4864,31 +4856,31 @@ yy388: ++YYCURSOR; YYDEBUG(390, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1230 "Zend/zend_language_scanner.l" +#line 1222 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 4872 "Zend/zend_language_scanner.c" +#line 4864 "Zend/zend_language_scanner.c" yy391: YYDEBUG(391, *YYCURSOR); ++YYCURSOR; YYDEBUG(392, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1250 "Zend/zend_language_scanner.l" +#line 1242 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 4882 "Zend/zend_language_scanner.c" +#line 4874 "Zend/zend_language_scanner.c" yy393: YYDEBUG(393, *YYCURSOR); ++YYCURSOR; YYDEBUG(394, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1218 "Zend/zend_language_scanner.l" +#line 1210 "Zend/zend_language_scanner.l" { return T_INC; } -#line 4892 "Zend/zend_language_scanner.c" +#line 4884 "Zend/zend_language_scanner.c" yy395: YYDEBUG(395, *YYCURSOR); yych = *++YYCURSOR; @@ -4907,42 +4899,42 @@ yy397: } YYDEBUG(398, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1210 "Zend/zend_language_scanner.l" +#line 1202 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 4915 "Zend/zend_language_scanner.c" +#line 4907 "Zend/zend_language_scanner.c" yy399: YYDEBUG(399, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy403; YYDEBUG(400, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1234 "Zend/zend_language_scanner.l" +#line 1226 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 4926 "Zend/zend_language_scanner.c" +#line 4918 "Zend/zend_language_scanner.c" yy401: YYDEBUG(401, *YYCURSOR); ++YYCURSOR; YYDEBUG(402, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1206 "Zend/zend_language_scanner.l" +#line 1198 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 4936 "Zend/zend_language_scanner.c" +#line 4928 "Zend/zend_language_scanner.c" yy403: YYDEBUG(403, *YYCURSOR); ++YYCURSOR; YYDEBUG(404, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1226 "Zend/zend_language_scanner.l" +#line 1218 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 4946 "Zend/zend_language_scanner.c" +#line 4938 "Zend/zend_language_scanner.c" yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; @@ -5064,7 +5056,7 @@ yy420: } YYDEBUG(423, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1530 "Zend/zend_language_scanner.l" +#line 1522 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@ -5074,7 +5066,7 @@ yy420: } return T_NS_C; } -#line 5078 "Zend/zend_language_scanner.c" +#line 5070 "Zend/zend_language_scanner.c" yy424: YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; @@ -5094,7 +5086,7 @@ yy425: } YYDEBUG(428, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1503 "Zend/zend_language_scanner.l" +#line 1495 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@ -5121,7 +5113,7 @@ yy425: zendlval->type = IS_STRING; return T_DIR; } -#line 5125 "Zend/zend_language_scanner.c" +#line 5117 "Zend/zend_language_scanner.c" yy429: YYDEBUG(429, *YYCURSOR); yych = *++YYCURSOR; @@ -5146,13 +5138,13 @@ yy431: } YYDEBUG(434, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1485 "Zend/zend_language_scanner.l" +#line 1477 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; return T_LINE; } -#line 5156 "Zend/zend_language_scanner.c" +#line 5148 "Zend/zend_language_scanner.c" yy435: YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; @@ -5187,7 +5179,7 @@ yy439: } YYDEBUG(442, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1456 "Zend/zend_language_scanner.l" { char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; @@ -5208,7 +5200,7 @@ yy439: zendlval->type = IS_STRING; return T_METHOD_C; } -#line 5212 "Zend/zend_language_scanner.c" +#line 5204 "Zend/zend_language_scanner.c" yy443: YYDEBUG(443, *YYCURSOR); yych = *++YYCURSOR; @@ -5259,7 +5251,7 @@ yy450: } YYDEBUG(453, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1448 "Zend/zend_language_scanner.l" +#line 1440 "Zend/zend_language_scanner.l" { char *func_name = NULL; @@ -5275,7 +5267,7 @@ yy450: zendlval->type = IS_STRING; return T_FUNC_C; } -#line 5279 "Zend/zend_language_scanner.c" +#line 5271 "Zend/zend_language_scanner.c" yy454: YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; @@ -5295,7 +5287,7 @@ yy455: } YYDEBUG(458, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1491 "Zend/zend_language_scanner.l" +#line 1483 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -5307,7 +5299,7 @@ yy455: zendlval->type = IS_STRING; return T_FILE; } -#line 5311 "Zend/zend_language_scanner.c" +#line 5303 "Zend/zend_language_scanner.c" yy459: YYDEBUG(459, *YYCURSOR); yych = *++YYCURSOR; @@ -5337,7 +5329,7 @@ yy462: } YYDEBUG(465, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1432 "Zend/zend_language_scanner.l" +#line 1424 "Zend/zend_language_scanner.l" { char *class_name = NULL; @@ -5353,7 +5345,7 @@ yy462: zendlval->type = IS_STRING; return T_CLASS_C; } -#line 5357 "Zend/zend_language_scanner.c" +#line 5349 "Zend/zend_language_scanner.c" yy466: YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; @@ -5415,11 +5407,11 @@ yy477: } YYDEBUG(478, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1174 "Zend/zend_language_scanner.l" +#line 1166 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 5423 "Zend/zend_language_scanner.c" +#line 5415 "Zend/zend_language_scanner.c" yy479: YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; @@ -5439,11 +5431,11 @@ yy481: } YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1158 "Zend/zend_language_scanner.l" +#line 1150 "Zend/zend_language_scanner.l" { return T_USE; } -#line 5447 "Zend/zend_language_scanner.c" +#line 5439 "Zend/zend_language_scanner.c" yy483: YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; @@ -5462,11 +5454,11 @@ yy485: } YYDEBUG(486, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1202 "Zend/zend_language_scanner.l" +#line 1194 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 5470 "Zend/zend_language_scanner.c" +#line 5462 "Zend/zend_language_scanner.c" yy487: YYDEBUG(487, *YYCURSOR); ++YYCURSOR; @@ -5638,11 +5630,11 @@ yy502: ++YYCURSOR; YYDEBUG(504, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1102 "Zend/zend_language_scanner.l" +#line 1094 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 5646 "Zend/zend_language_scanner.c" +#line 5638 "Zend/zend_language_scanner.c" yy505: YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; @@ -5686,11 +5678,11 @@ yy510: ++YYCURSOR; YYDEBUG(513, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1106 "Zend/zend_language_scanner.l" +#line 1098 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 5694 "Zend/zend_language_scanner.c" +#line 5686 "Zend/zend_language_scanner.c" yy514: YYDEBUG(514, *YYCURSOR); yych = *++YYCURSOR; @@ -5760,11 +5752,11 @@ yy524: ++YYCURSOR; YYDEBUG(527, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1110 "Zend/zend_language_scanner.l" +#line 1102 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 5768 "Zend/zend_language_scanner.c" +#line 5760 "Zend/zend_language_scanner.c" yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; @@ -5797,11 +5789,11 @@ yy531: ++YYCURSOR; YYDEBUG(534, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1118 "Zend/zend_language_scanner.l" +#line 1110 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 5805 "Zend/zend_language_scanner.c" +#line 5797 "Zend/zend_language_scanner.c" yy535: YYDEBUG(535, *YYCURSOR); yych = *++YYCURSOR; @@ -5839,11 +5831,11 @@ yy539: ++YYCURSOR; YYDEBUG(542, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1122 "Zend/zend_language_scanner.l" +#line 1114 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 5847 "Zend/zend_language_scanner.c" +#line 5839 "Zend/zend_language_scanner.c" yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; @@ -5884,11 +5876,11 @@ yy548: ++YYCURSOR; YYDEBUG(550, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1126 "Zend/zend_language_scanner.l" +#line 1118 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 5892 "Zend/zend_language_scanner.c" +#line 5884 "Zend/zend_language_scanner.c" yy551: YYDEBUG(551, *YYCURSOR); yych = *++YYCURSOR; @@ -5932,11 +5924,11 @@ yy556: ++YYCURSOR; YYDEBUG(559, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1114 "Zend/zend_language_scanner.l" +#line 1106 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 5940 "Zend/zend_language_scanner.c" +#line 5932 "Zend/zend_language_scanner.c" yy560: YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; @@ -5969,11 +5961,11 @@ yy563: ++YYCURSOR; YYDEBUG(566, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1130 "Zend/zend_language_scanner.l" +#line 1122 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 5977 "Zend/zend_language_scanner.c" +#line 5969 "Zend/zend_language_scanner.c" yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; @@ -5987,11 +5979,11 @@ yy568: } YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1098 "Zend/zend_language_scanner.l" +#line 1090 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 5995 "Zend/zend_language_scanner.c" +#line 5987 "Zend/zend_language_scanner.c" yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; @@ -6011,11 +6003,11 @@ yy572: } YYDEBUG(573, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1090 "Zend/zend_language_scanner.l" +#line 1082 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 6019 "Zend/zend_language_scanner.c" +#line 6011 "Zend/zend_language_scanner.c" yy574: YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; @@ -6054,21 +6046,21 @@ yy580: } YYDEBUG(581, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1154 "Zend/zend_language_scanner.l" +#line 1146 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 6062 "Zend/zend_language_scanner.c" +#line 6054 "Zend/zend_language_scanner.c" yy582: YYDEBUG(582, *YYCURSOR); ++YYCURSOR; YYDEBUG(583, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1082 "Zend/zend_language_scanner.l" +#line 1074 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 6072 "Zend/zend_language_scanner.c" +#line 6064 "Zend/zend_language_scanner.c" yy584: YYDEBUG(584, *YYCURSOR); ++YYCURSOR; @@ -6090,32 +6082,32 @@ yy586: ++YYCURSOR; YYDEBUG(587, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1254 "Zend/zend_language_scanner.l" +#line 1246 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 6098 "Zend/zend_language_scanner.c" +#line 6090 "Zend/zend_language_scanner.c" yy588: YYDEBUG(588, *YYCURSOR); ++YYCURSOR; YYDEBUG(589, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1222 "Zend/zend_language_scanner.l" +#line 1214 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 6108 "Zend/zend_language_scanner.c" +#line 6100 "Zend/zend_language_scanner.c" yy590: YYDEBUG(590, *YYCURSOR); ++YYCURSOR; YYDEBUG(591, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1052 "Zend/zend_language_scanner.l" +#line 1044 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 6119 "Zend/zend_language_scanner.c" +#line 6111 "Zend/zend_language_scanner.c" yy592: YYDEBUG(592, *YYCURSOR); yych = *++YYCURSOR; @@ -6160,11 +6152,11 @@ yy597: } YYDEBUG(598, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1198 "Zend/zend_language_scanner.l" +#line 1190 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 6168 "Zend/zend_language_scanner.c" +#line 6160 "Zend/zend_language_scanner.c" yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; @@ -6219,11 +6211,11 @@ yy606: } YYDEBUG(607, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1194 "Zend/zend_language_scanner.l" +#line 1186 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 6227 "Zend/zend_language_scanner.c" +#line 6219 "Zend/zend_language_scanner.c" yy608: YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; @@ -6253,11 +6245,11 @@ yy612: } YYDEBUG(613, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1190 "Zend/zend_language_scanner.l" +#line 1182 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 6261 "Zend/zend_language_scanner.c" +#line 6253 "Zend/zend_language_scanner.c" yy614: YYDEBUG(614, *YYCURSOR); ++YYCURSOR; @@ -6266,11 +6258,11 @@ yy614: } YYDEBUG(615, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1032 "Zend/zend_language_scanner.l" +#line 1024 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 6274 "Zend/zend_language_scanner.c" +#line 6266 "Zend/zend_language_scanner.c" yy616: YYDEBUG(616, *YYCURSOR); yych = *++YYCURSOR; @@ -6295,11 +6287,11 @@ yy619: } YYDEBUG(620, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1024 "Zend/zend_language_scanner.l" +#line 1016 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 6303 "Zend/zend_language_scanner.c" +#line 6295 "Zend/zend_language_scanner.c" yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; @@ -6323,11 +6315,11 @@ yy624: } YYDEBUG(625, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1162 "Zend/zend_language_scanner.l" +#line 1154 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 6331 "Zend/zend_language_scanner.c" +#line 6323 "Zend/zend_language_scanner.c" yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; @@ -6361,11 +6353,11 @@ yy631: } YYDEBUG(632, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1016 "Zend/zend_language_scanner.l" +#line 1008 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 6369 "Zend/zend_language_scanner.c" +#line 6361 "Zend/zend_language_scanner.c" yy633: YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; @@ -6405,11 +6397,11 @@ yy639: } YYDEBUG(640, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1000 "Zend/zend_language_scanner.l" +#line 992 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 6413 "Zend/zend_language_scanner.c" +#line 6405 "Zend/zend_language_scanner.c" yy641: YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; @@ -6433,11 +6425,11 @@ yy644: } YYDEBUG(645, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1178 "Zend/zend_language_scanner.l" +#line 1170 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 6441 "Zend/zend_language_scanner.c" +#line 6433 "Zend/zend_language_scanner.c" yy646: YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; @@ -6464,11 +6456,11 @@ yy649: } YYDEBUG(650, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 996 "Zend/zend_language_scanner.l" +#line 988 "Zend/zend_language_scanner.l" { return T_AS; } -#line 6472 "Zend/zend_language_scanner.c" +#line 6464 "Zend/zend_language_scanner.c" yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; @@ -6487,11 +6479,11 @@ yy653: } YYDEBUG(654, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1214 "Zend/zend_language_scanner.l" +#line 1206 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 6495 "Zend/zend_language_scanner.c" +#line 6487 "Zend/zend_language_scanner.c" yy655: YYDEBUG(655, *YYCURSOR); ++YYCURSOR; @@ -6500,11 +6492,11 @@ yy655: } YYDEBUG(656, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1306 "Zend/zend_language_scanner.l" +#line 1298 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 6508 "Zend/zend_language_scanner.c" +#line 6500 "Zend/zend_language_scanner.c" yy657: YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; @@ -6538,11 +6530,11 @@ yy662: } YYDEBUG(663, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1182 "Zend/zend_language_scanner.l" +#line 1174 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 6546 "Zend/zend_language_scanner.c" +#line 6538 "Zend/zend_language_scanner.c" yy664: YYDEBUG(664, *YYCURSOR); yych = *++YYCURSOR; @@ -6566,11 +6558,11 @@ yy667: } YYDEBUG(668, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 956 "Zend/zend_language_scanner.l" +#line 948 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 6574 "Zend/zend_language_scanner.c" +#line 6566 "Zend/zend_language_scanner.c" yy669: YYDEBUG(669, *YYCURSOR); ++YYCURSOR; @@ -6579,11 +6571,11 @@ yy669: } YYDEBUG(670, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 940 "Zend/zend_language_scanner.l" +#line 932 "Zend/zend_language_scanner.l" { return T_IF; } -#line 6587 "Zend/zend_language_scanner.c" +#line 6579 "Zend/zend_language_scanner.c" yy671: YYDEBUG(671, *YYCURSOR); yych = *++YYCURSOR; @@ -6635,11 +6627,11 @@ yy676: } YYDEBUG(677, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1166 "Zend/zend_language_scanner.l" +#line 1158 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 6643 "Zend/zend_language_scanner.c" +#line 6635 "Zend/zend_language_scanner.c" yy678: YYDEBUG(678, *YYCURSOR); yych = *++YYCURSOR; @@ -6693,11 +6685,11 @@ yy684: yy685: YYDEBUG(685, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1138 "Zend/zend_language_scanner.l" +#line 1130 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 6701 "Zend/zend_language_scanner.c" +#line 6693 "Zend/zend_language_scanner.c" yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; @@ -6726,11 +6718,11 @@ yy690: } YYDEBUG(691, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1142 "Zend/zend_language_scanner.l" +#line 1134 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 6734 "Zend/zend_language_scanner.c" +#line 6726 "Zend/zend_language_scanner.c" yy692: YYDEBUG(692, *YYCURSOR); yych = *++YYCURSOR; @@ -6764,11 +6756,11 @@ yy697: } YYDEBUG(698, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1040 "Zend/zend_language_scanner.l" +#line 1032 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 6772 "Zend/zend_language_scanner.c" +#line 6764 "Zend/zend_language_scanner.c" yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; @@ -6807,11 +6799,11 @@ yy705: } YYDEBUG(706, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 992 "Zend/zend_language_scanner.l" +#line 984 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 6815 "Zend/zend_language_scanner.c" +#line 6807 "Zend/zend_language_scanner.c" yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; @@ -6855,11 +6847,11 @@ yy714: } YYDEBUG(715, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1048 "Zend/zend_language_scanner.l" +#line 1040 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 6863 "Zend/zend_language_scanner.c" +#line 6855 "Zend/zend_language_scanner.c" yy716: YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; @@ -6879,11 +6871,11 @@ yy718: } YYDEBUG(719, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 928 "Zend/zend_language_scanner.l" +#line 920 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 6887 "Zend/zend_language_scanner.c" +#line 6879 "Zend/zend_language_scanner.c" yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; @@ -6902,11 +6894,11 @@ yy722: } YYDEBUG(723, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 936 "Zend/zend_language_scanner.l" +#line 928 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 6910 "Zend/zend_language_scanner.c" +#line 6902 "Zend/zend_language_scanner.c" yy724: YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; @@ -6967,11 +6959,11 @@ yy730: yy731: YYDEBUG(731, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1146 "Zend/zend_language_scanner.l" +#line 1138 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 6975 "Zend/zend_language_scanner.c" +#line 6967 "Zend/zend_language_scanner.c" yy732: YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; @@ -7000,11 +6992,11 @@ yy736: } YYDEBUG(737, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1150 "Zend/zend_language_scanner.l" +#line 1142 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 7008 "Zend/zend_language_scanner.c" +#line 7000 "Zend/zend_language_scanner.c" yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; @@ -7023,11 +7015,11 @@ yy740: } YYDEBUG(741, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 924 "Zend/zend_language_scanner.l" +#line 916 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 7031 "Zend/zend_language_scanner.c" +#line 7023 "Zend/zend_language_scanner.c" yy742: YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; @@ -7108,11 +7100,11 @@ yy751: } YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1020 "Zend/zend_language_scanner.l" +#line 1012 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 7116 "Zend/zend_language_scanner.c" +#line 7108 "Zend/zend_language_scanner.c" yy753: YYDEBUG(753, *YYCURSOR); ++YYCURSOR; @@ -7121,11 +7113,11 @@ yy753: } YYDEBUG(754, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 920 "Zend/zend_language_scanner.l" +#line 912 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 7129 "Zend/zend_language_scanner.c" +#line 7121 "Zend/zend_language_scanner.c" yy755: YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; @@ -7150,11 +7142,11 @@ yy758: } YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1094 "Zend/zend_language_scanner.l" +#line 1086 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 7158 "Zend/zend_language_scanner.c" +#line 7150 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; @@ -7168,11 +7160,11 @@ yy761: } YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1036 "Zend/zend_language_scanner.l" +#line 1028 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 7176 "Zend/zend_language_scanner.c" +#line 7168 "Zend/zend_language_scanner.c" yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; @@ -7192,11 +7184,11 @@ yy765: } YYDEBUG(766, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1008 "Zend/zend_language_scanner.l" +#line 1000 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 7200 "Zend/zend_language_scanner.c" +#line 7192 "Zend/zend_language_scanner.c" yy767: YYDEBUG(767, *YYCURSOR); yych = *++YYCURSOR; @@ -7210,11 +7202,11 @@ yy768: } YYDEBUG(769, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 932 "Zend/zend_language_scanner.l" +#line 924 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 7218 "Zend/zend_language_scanner.c" +#line 7210 "Zend/zend_language_scanner.c" yy770: YYDEBUG(770, *YYCURSOR); yych = *++YYCURSOR; @@ -7265,11 +7257,11 @@ yy778: } YYDEBUG(779, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 916 "Zend/zend_language_scanner.l" +#line 908 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 7273 "Zend/zend_language_scanner.c" +#line 7265 "Zend/zend_language_scanner.c" yy780: YYDEBUG(780, *YYCURSOR); ++YYCURSOR; @@ -7293,11 +7285,11 @@ yy780: yy781: YYDEBUG(781, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 968 "Zend/zend_language_scanner.l" +#line 960 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 7301 "Zend/zend_language_scanner.c" +#line 7293 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; @@ -7321,11 +7313,11 @@ yy785: } YYDEBUG(786, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 976 "Zend/zend_language_scanner.l" +#line 968 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 7329 "Zend/zend_language_scanner.c" +#line 7321 "Zend/zend_language_scanner.c" yy787: YYDEBUG(787, *YYCURSOR); yych = *++YYCURSOR; @@ -7344,11 +7336,11 @@ yy789: } YYDEBUG(790, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1186 "Zend/zend_language_scanner.l" +#line 1178 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 7352 "Zend/zend_language_scanner.c" +#line 7344 "Zend/zend_language_scanner.c" yy791: YYDEBUG(791, *YYCURSOR); yych = *++YYCURSOR; @@ -7379,11 +7371,11 @@ yy793: } YYDEBUG(794, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 964 "Zend/zend_language_scanner.l" +#line 956 "Zend/zend_language_scanner.l" { return T_DO; } -#line 7387 "Zend/zend_language_scanner.c" +#line 7379 "Zend/zend_language_scanner.c" yy795: YYDEBUG(795, *YYCURSOR); ++YYCURSOR; @@ -7392,11 +7384,11 @@ yy795: } YYDEBUG(796, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 912 "Zend/zend_language_scanner.l" +#line 904 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 7400 "Zend/zend_language_scanner.c" +#line 7392 "Zend/zend_language_scanner.c" yy797: YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; @@ -7431,11 +7423,11 @@ yy802: } YYDEBUG(803, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1012 "Zend/zend_language_scanner.l" +#line 1004 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 7439 "Zend/zend_language_scanner.c" +#line 7431 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); yych = *++YYCURSOR; @@ -7459,11 +7451,11 @@ yy807: } YYDEBUG(808, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 984 "Zend/zend_language_scanner.l" +#line 976 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 7467 "Zend/zend_language_scanner.c" +#line 7459 "Zend/zend_language_scanner.c" yy809: YYDEBUG(809, *YYCURSOR); yych = *++YYCURSOR; @@ -7543,11 +7535,11 @@ yy820: } YYDEBUG(821, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1044 "Zend/zend_language_scanner.l" +#line 1036 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 7551 "Zend/zend_language_scanner.c" +#line 7543 "Zend/zend_language_scanner.c" yy822: YYDEBUG(822, *YYCURSOR); ++YYCURSOR; @@ -7556,11 +7548,11 @@ yy822: } YYDEBUG(823, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 908 "Zend/zend_language_scanner.l" +#line 900 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 7564 "Zend/zend_language_scanner.c" +#line 7556 "Zend/zend_language_scanner.c" yy824: YYDEBUG(824, *YYCURSOR); yych = *++YYCURSOR; @@ -7574,11 +7566,11 @@ yy825: } YYDEBUG(826, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1134 "Zend/zend_language_scanner.l" +#line 1126 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 7582 "Zend/zend_language_scanner.c" +#line 7574 "Zend/zend_language_scanner.c" yy827: YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; @@ -7648,11 +7640,11 @@ yy836: } YYDEBUG(837, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 960 "Zend/zend_language_scanner.l" +#line 952 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 7656 "Zend/zend_language_scanner.c" +#line 7648 "Zend/zend_language_scanner.c" yy838: YYDEBUG(838, *YYCURSOR); yych = *++YYCURSOR; @@ -7681,11 +7673,11 @@ yy842: } YYDEBUG(843, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1004 "Zend/zend_language_scanner.l" +#line 996 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 7689 "Zend/zend_language_scanner.c" +#line 7681 "Zend/zend_language_scanner.c" yy844: YYDEBUG(844, *YYCURSOR); ++YYCURSOR; @@ -7694,11 +7686,11 @@ yy844: } YYDEBUG(845, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 948 "Zend/zend_language_scanner.l" +#line 940 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 7702 "Zend/zend_language_scanner.c" +#line 7694 "Zend/zend_language_scanner.c" yy846: YYDEBUG(846, *YYCURSOR); yych = *++YYCURSOR; @@ -7727,11 +7719,11 @@ yy847: yy848: YYDEBUG(848, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 972 "Zend/zend_language_scanner.l" +#line 964 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 7735 "Zend/zend_language_scanner.c" +#line 7727 "Zend/zend_language_scanner.c" yy849: YYDEBUG(849, *YYCURSOR); yych = *++YYCURSOR; @@ -7755,11 +7747,11 @@ yy852: } YYDEBUG(853, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 980 "Zend/zend_language_scanner.l" +#line 972 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 7763 "Zend/zend_language_scanner.c" +#line 7755 "Zend/zend_language_scanner.c" yy854: YYDEBUG(854, *YYCURSOR); yych = *++YYCURSOR; @@ -7793,11 +7785,11 @@ yy859: } YYDEBUG(860, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 988 "Zend/zend_language_scanner.l" +#line 980 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 7801 "Zend/zend_language_scanner.c" +#line 7793 "Zend/zend_language_scanner.c" yy861: YYDEBUG(861, *YYCURSOR); yych = *++YYCURSOR; @@ -7816,11 +7808,11 @@ yy863: } YYDEBUG(864, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1170 "Zend/zend_language_scanner.l" +#line 1162 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 7824 "Zend/zend_language_scanner.c" +#line 7816 "Zend/zend_language_scanner.c" yy865: YYDEBUG(865, *YYCURSOR); yych = *++YYCURSOR; @@ -7849,11 +7841,11 @@ yy866: yy867: YYDEBUG(867, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 952 "Zend/zend_language_scanner.l" +#line 944 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 7857 "Zend/zend_language_scanner.c" +#line 7849 "Zend/zend_language_scanner.c" yy868: YYDEBUG(868, *YYCURSOR); yych = *++YYCURSOR; @@ -7867,11 +7859,11 @@ yy869: } YYDEBUG(870, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 944 "Zend/zend_language_scanner.l" +#line 936 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 7875 "Zend/zend_language_scanner.c" +#line 7867 "Zend/zend_language_scanner.c" yy871: YYDEBUG(871, *YYCURSOR); yych = *++YYCURSOR; @@ -7885,11 +7877,11 @@ yy872: } YYDEBUG(873, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1028 "Zend/zend_language_scanner.l" +#line 1020 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 7893 "Zend/zend_language_scanner.c" +#line 7885 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7964,9 +7956,9 @@ yy876: ++YYCURSOR; YYDEBUG(877, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 7970 "Zend/zend_language_scanner.c" +#line 7962 "Zend/zend_language_scanner.c" yy878: YYDEBUG(878, *YYCURSOR); ++YYCURSOR; @@ -7975,7 +7967,7 @@ yy878: yy879: YYDEBUG(879, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1057 "Zend/zend_language_scanner.l" +#line 1049 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -7983,7 +7975,7 @@ yy879: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 7987 "Zend/zend_language_scanner.c" +#line 7979 "Zend/zend_language_scanner.c" yy880: YYDEBUG(880, *YYCURSOR); ++YYCURSOR; @@ -7991,13 +7983,13 @@ yy880: yy881: YYDEBUG(881, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1076 "Zend/zend_language_scanner.l" +#line 1068 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } -#line 8001 "Zend/zend_language_scanner.c" +#line 7993 "Zend/zend_language_scanner.c" yy882: YYDEBUG(882, *YYCURSOR); ++YYCURSOR; @@ -8006,14 +7998,14 @@ yy882: yy883: YYDEBUG(883, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1069 "Zend/zend_language_scanner.l" +#line 1061 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 8017 "Zend/zend_language_scanner.c" +#line 8009 "Zend/zend_language_scanner.c" yy884: YYDEBUG(884, *YYCURSOR); yych = *++YYCURSOR; @@ -8034,11 +8026,11 @@ yy887: ++YYCURSOR; YYDEBUG(888, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1065 "Zend/zend_language_scanner.l" +#line 1057 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 8042 "Zend/zend_language_scanner.c" +#line 8034 "Zend/zend_language_scanner.c" yy889: YYDEBUG(889, *YYCURSOR); ++YYCURSOR; @@ -8111,9 +8103,9 @@ yy893: ++YYCURSOR; YYDEBUG(894, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 8117 "Zend/zend_language_scanner.c" +#line 8109 "Zend/zend_language_scanner.c" yy895: YYDEBUG(895, *YYCURSOR); ++YYCURSOR; @@ -8122,7 +8114,7 @@ yy895: yy896: YYDEBUG(896, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1348 "Zend/zend_language_scanner.l" +#line 1340 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -8130,20 +8122,20 @@ yy896: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 8134 "Zend/zend_language_scanner.c" +#line 8126 "Zend/zend_language_scanner.c" yy897: YYDEBUG(897, *YYCURSOR); ++YYCURSOR; YYDEBUG(898, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1357 "Zend/zend_language_scanner.l" +#line 1349 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 8147 "Zend/zend_language_scanner.c" +#line 8139 "Zend/zend_language_scanner.c" yy899: YYDEBUG(899, *YYCURSOR); ++YYCURSOR; @@ -8209,9 +8201,9 @@ yy903: goto yy906; YYDEBUG(904, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 8215 "Zend/zend_language_scanner.c" +#line 8207 "Zend/zend_language_scanner.c" yy905: YYDEBUG(905, *YYCURSOR); ++YYCURSOR; @@ -8304,7 +8296,7 @@ yy914: ++YYCURSOR; YYDEBUG(915, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2052 "Zend/zend_language_scanner.l" +#line 2044 "Zend/zend_language_scanner.l" { char *end = yytext + yyleng - 1; @@ -8344,7 +8336,7 @@ yy914: yymore(); } } -#line 8348 "Zend/zend_language_scanner.c" +#line 8340 "Zend/zend_language_scanner.c" yy916: YYDEBUG(916, *YYCURSOR); ++YYCURSOR; @@ -8455,9 +8447,9 @@ yy922: goto yy937; YYDEBUG(923, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 8461 "Zend/zend_language_scanner.c" +#line 8453 "Zend/zend_language_scanner.c" yy924: YYDEBUG(924, *YYCURSOR); ++YYCURSOR; @@ -8465,11 +8457,11 @@ yy924: yy925: YYDEBUG(925, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1715 "Zend/zend_language_scanner.l" +#line 1707 "Zend/zend_language_scanner.l" { yymore(); } -#line 8473 "Zend/zend_language_scanner.c" +#line 8465 "Zend/zend_language_scanner.c" yy926: YYDEBUG(926, *YYCURSOR); yych = *++YYCURSOR; @@ -8506,7 +8498,7 @@ yy928: yy930: YYDEBUG(930, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1719 "Zend/zend_language_scanner.l" +#line 1711 "Zend/zend_language_scanner.l" { switch (yytext[yyleng-1]) { case '?': case '%': case '>': @@ -8524,7 +8516,7 @@ yy930: return T_COMMENT; } } -#line 8528 "Zend/zend_language_scanner.c" +#line 8520 "Zend/zend_language_scanner.c" yy931: YYDEBUG(931, *YYCURSOR); yych = *++YYCURSOR; @@ -8537,7 +8529,7 @@ yy932: ++YYCURSOR; YYDEBUG(934, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1737 "Zend/zend_language_scanner.l" +#line 1729 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -8546,7 +8538,7 @@ yy932: CG(zend_lineno)++; return T_COMMENT; } -#line 8550 "Zend/zend_language_scanner.c" +#line 8542 "Zend/zend_language_scanner.c" yy935: YYDEBUG(935, *YYCURSOR); yych = *++YYCURSOR; @@ -8580,7 +8572,7 @@ yy938: ++YYCURSOR; YYDEBUG(939, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1746 "Zend/zend_language_scanner.l" +#line 1738 "Zend/zend_language_scanner.l" { if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */ zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -8593,7 +8585,7 @@ yy938: yymore(); } } -#line 8597 "Zend/zend_language_scanner.c" +#line 8589 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_VAR_OFFSET: @@ -8685,9 +8677,9 @@ yy942: ++YYCURSOR; YYDEBUG(943, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2104 "Zend/zend_language_scanner.l" +#line 2096 "Zend/zend_language_scanner.l" { return 0; } -#line 8691 "Zend/zend_language_scanner.c" +#line 8683 "Zend/zend_language_scanner.c" yy944: YYDEBUG(944, *YYCURSOR); yyaccept = 0; @@ -8702,7 +8694,7 @@ yy944: yy945: YYDEBUG(945, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1407 "Zend/zend_language_scanner.l" +#line 1399 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { zendlval->value.lval = strtol(yytext, NULL, 10); @@ -8714,7 +8706,7 @@ yy945: } return T_NUM_STRING; } -#line 8718 "Zend/zend_language_scanner.c" +#line 8710 "Zend/zend_language_scanner.c" yy946: YYDEBUG(946, *YYCURSOR); yych = *++YYCURSOR; @@ -8734,23 +8726,23 @@ yy947: yy948: YYDEBUG(948, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1690 "Zend/zend_language_scanner.l" +#line 1682 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 8743 "Zend/zend_language_scanner.c" +#line 8735 "Zend/zend_language_scanner.c" yy949: YYDEBUG(949, *YYCURSOR); ++YYCURSOR; YYDEBUG(950, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1685 "Zend/zend_language_scanner.l" +#line 1677 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 8754 "Zend/zend_language_scanner.c" +#line 8746 "Zend/zend_language_scanner.c" yy951: YYDEBUG(951, *YYCURSOR); yych = *++YYCURSOR; @@ -8760,7 +8752,7 @@ yy952: ++YYCURSOR; YYDEBUG(953, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1695 "Zend/zend_language_scanner.l" +#line 1687 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -8768,7 +8760,7 @@ yy952: ZVAL_EMPTY_STRING(zendlval); /* Empty since it won't be used */ return T_ENCAPSED_AND_WHITESPACE; } -#line 8772 "Zend/zend_language_scanner.c" +#line 8764 "Zend/zend_language_scanner.c" yy954: YYDEBUG(954, *YYCURSOR); ++YYCURSOR; @@ -8777,24 +8769,24 @@ yy954: yy955: YYDEBUG(955, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1703 "Zend/zend_language_scanner.l" +#line 1695 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 8787 "Zend/zend_language_scanner.c" +#line 8779 "Zend/zend_language_scanner.c" yy956: YYDEBUG(956, *YYCURSOR); ++YYCURSOR; YYDEBUG(957, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2106 "Zend/zend_language_scanner.l" +#line 2098 "Zend/zend_language_scanner.l" { zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 8798 "Zend/zend_language_scanner.c" +#line 8790 "Zend/zend_language_scanner.c" yy958: YYDEBUG(958, *YYCURSOR); ++YYCURSOR; @@ -8830,13 +8822,13 @@ yy960: yy962: YYDEBUG(962, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1671 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 8840 "Zend/zend_language_scanner.c" +#line 8832 "Zend/zend_language_scanner.c" yy963: YYDEBUG(963, *YYCURSOR); ++YYCURSOR; @@ -8868,14 +8860,14 @@ yy967: yy969: YYDEBUG(969, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1419 "Zend/zend_language_scanner.l" +#line 1411 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } -#line 8879 "Zend/zend_language_scanner.c" +#line 8871 "Zend/zend_language_scanner.c" yy970: YYDEBUG(970, *YYCURSOR); ++YYCURSOR; @@ -8888,6 +8880,6 @@ yy970: goto yy969; } } -#line 2111 "Zend/zend_language_scanner.l" +#line 2103 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index c59504b3a3..34cec312f8 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -143,9 +143,7 @@ void startup_scanner(TSRMLS_D) CG(heredoc_len) = 0; CG(doc_comment) = NULL; CG(doc_comment_len) = 0; - zend_llist_init(&SCNG(used_state_stacks), sizeof(zend_stack), (llist_dtor_func_t) zend_stack_destroy, 0); zend_stack_init(&SCNG(state_stack)); - zend_llist_add_element(&SCNG(used_state_stacks), &SCNG(state_stack)); } void shutdown_scanner(TSRMLS_D) @@ -154,15 +152,10 @@ void shutdown_scanner(TSRMLS_D) efree(CG(heredoc)); CG(heredoc_len)=0; } - zend_llist_destroy(&SCNG(used_state_stacks)); + zend_stack_destroy(&SCNG(state_stack)); RESET_DOC_COMMENT(); } -static int compare_stacks(zend_stack *stack1, zend_stack *stack2) -{ - return (stack1 == stack2); -} - ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) { lex_state->yy_leng = SCNG(yy_leng); @@ -174,7 +167,6 @@ ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) lex_state->state_stack = SCNG(state_stack); zend_stack_init(&SCNG(state_stack)); - zend_llist_add_element(&SCNG(used_state_stacks), &SCNG(state_stack)); lex_state->in = SCNG(yy_in); lex_state->yy_state = YYSTATE; @@ -202,7 +194,7 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) SCNG(yy_marker) = lex_state->yy_marker; SCNG(yy_limit) = lex_state->yy_limit; - zend_llist_del_element(&SCNG(used_state_stacks), &SCNG(state_stack), (int (*)(void *, void *)) compare_stacks); + zend_stack_destroy(&SCNG(state_stack)); SCNG(state_stack) = lex_state->state_stack; SCNG(yy_in) = lex_state->in; @@ -361,9 +353,7 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR retval = NULL; } } - if (compilation_successful) { - zend_restore_lexical_state(&original_lex_state TSRMLS_CC); - } + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return retval; } @@ -526,8 +516,8 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) zend_release_labels(TSRMLS_C); retval = op_array; } - zend_restore_lexical_state(&original_lex_state TSRMLS_CC); } + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); zval_dtor(&tmp); CG(in_compilation) = original_in_compilation; return retval; @@ -547,6 +537,7 @@ int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlight zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) { zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC); + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return FAILURE; } zend_highlight(syntax_highlighter_ini TSRMLS_CC); @@ -574,6 +565,7 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ zval_copy_ctor(str); zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) { + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return FAILURE; } BEGIN(INITIAL); diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index b28eb52ea8..d2546df11f 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Fri Mar 13 00:13:18 2009 */ +/* Generated by re2c 0.13.5 on Wed Mar 25 18:23:22 2009 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c index fbe9e338f8..b0d1c417cb 100644 --- a/ext/tokenizer/tokenizer.c +++ b/ext/tokenizer/tokenizer.c @@ -171,6 +171,7 @@ PHP_FUNCTION(token_get_all) zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (zend_prepare_string_for_scanning(&source_z, "" TSRMLS_CC) == FAILURE) { + zend_restore_lexical_state(&original_lex_state TSRMLS_CC); RETURN_EMPTY_STRING(); } @@ -178,10 +179,6 @@ PHP_FUNCTION(token_get_all) tokenize(return_value TSRMLS_CC); - while (!zend_stack_is_empty(&LANG_SCNG(state_stack))) { - zend_stack_del_top(&LANG_SCNG(state_stack)); - } - zend_restore_lexical_state(&original_lex_state TSRMLS_CC); zval_dtor(&source_z); } -- 2.40.0