From 4e606e3cebb236c131aed7a1dd1c4ca0d14d2318 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Wed, 30 Jun 2010 02:45:10 +0000 Subject: [PATCH] - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3) --- Zend/zend_language_scanner.c | 684 ++++++++++++++++++----------------- Zend/zend_language_scanner.l | 18 +- 2 files changed, 363 insertions(+), 339 deletions(-) diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 7b18ba1cf3..6c8cb88422 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Tue Jun 29 08:18:52 2010 */ +/* Generated by re2c 0.13.5 on Tue Jun 29 23:22:29 2010 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -141,8 +141,10 @@ static void yy_pop_state(TSRMLS_D) static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) { YYCURSOR = (YYCTYPE*)str; - SCNG(yy_start) = YYCURSOR; YYLIMIT = YYCURSOR + len; + if (!SCNG(yy_start)) { + SCNG(yy_start) = YYCURSOR; + } } void startup_scanner(TSRMLS_D) @@ -243,7 +245,14 @@ ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC) ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) { char *file_path = NULL, *buf; - size_t size; + size_t size, offset = 0; + + /* The shebang line was read, get the current position to obtain the buffer start */ + if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) { + if ((offset = ftell(file_handle->handle.fp)) == -1) { + offset = 0; + } + } if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) { return FAILURE; @@ -259,6 +268,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) /* Reset the scanner for scanning the new file */ SCNG(yy_in) = file_handle; + SCNG(yy_start) = NULL; if (size != -1) { #ifdef ZEND_MULTIBYTE @@ -277,9 +287,10 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) } else { SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC); } - + SCNG(yy_start) = SCNG(script_filtered) - offset; yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); #else /* !ZEND_MULTIBYTE */ + SCNG(yy_start) = buf - offset; yy_scan_buffer(buf, size TSRMLS_CC); #endif /* ZEND_MULTIBYTE */ } else { @@ -415,6 +426,7 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD); SCNG(yy_in)=NULL; + SCNG(yy_start) = NULL; #ifdef ZEND_MULTIBYTE SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val); @@ -834,7 +846,7 @@ restart: yymore_restart: -#line 838 "Zend/zend_language_scanner.c" +#line 850 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -933,7 +945,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1562 "Zend/zend_language_scanner.l" +#line 1574 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -998,7 +1010,7 @@ inline_html: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1002 "Zend/zend_language_scanner.c" +#line 1014 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1016,7 +1028,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1550 "Zend/zend_language_scanner.l" +#line 1562 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1028,14 +1040,14 @@ yy6: goto inline_char_handler; } } -#line 1032 "Zend/zend_language_scanner.c" +#line 1044 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1527 "Zend/zend_language_scanner.l" +#line 1539 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1047,7 +1059,7 @@ yy7: goto inline_char_handler; } } -#line 1051 "Zend/zend_language_scanner.c" +#line 1063 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1233,7 +1245,7 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1483 "Zend/zend_language_scanner.l" +#line 1495 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@ -1250,7 +1262,7 @@ yy35: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1254 "Zend/zend_language_scanner.c" +#line 1266 "Zend/zend_language_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; @@ -1277,7 +1289,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1501 "Zend/zend_language_scanner.l" +#line 1513 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1289,13 +1301,13 @@ yy43: goto inline_char_handler; } } -#line 1293 "Zend/zend_language_scanner.c" +#line 1305 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1514 "Zend/zend_language_scanner.l" +#line 1526 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1307,7 +1319,7 @@ yy45: goto inline_char_handler; } } -#line 1311 "Zend/zend_language_scanner.c" +#line 1323 "Zend/zend_language_scanner.c" yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; @@ -1334,7 +1346,7 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1540 "Zend/zend_language_scanner.l" +#line 1552 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1343,7 +1355,7 @@ yy51: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1347 "Zend/zend_language_scanner.c" +#line 1359 "Zend/zend_language_scanner.c" yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; @@ -1414,7 +1426,7 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2020 "Zend/zend_language_scanner.l" +#line 2032 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1455,7 +1467,7 @@ yy56: zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1459 "Zend/zend_language_scanner.c" +#line 1471 "Zend/zend_language_scanner.c" yy57: YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; @@ -1466,12 +1478,12 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1964 "Zend/zend_language_scanner.l" +#line 1976 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1475 "Zend/zend_language_scanner.c" +#line 1487 "Zend/zend_language_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -1481,14 +1493,14 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1951 "Zend/zend_language_scanner.l" +#line 1963 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1492 "Zend/zend_language_scanner.c" +#line 1504 "Zend/zend_language_scanner.c" yy63: YYDEBUG(63, *YYCURSOR); yyaccept = 0; @@ -1504,24 +1516,24 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1649 "Zend/zend_language_scanner.l" +#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1514 "Zend/zend_language_scanner.c" +#line 1526 "Zend/zend_language_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1276 "Zend/zend_language_scanner.l" +#line 1288 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1525 "Zend/zend_language_scanner.c" +#line 1537 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; @@ -1535,7 +1547,7 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1641 "Zend/zend_language_scanner.l" +#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1543,7 +1555,7 @@ yy70: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1547 "Zend/zend_language_scanner.c" +#line 1559 "Zend/zend_language_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; @@ -1561,7 +1573,7 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1643 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1569,7 +1581,7 @@ yy73: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1573 "Zend/zend_language_scanner.c" +#line 1585 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1637,7 +1649,7 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1970 "Zend/zend_language_scanner.l" +#line 1982 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1686,7 +1698,7 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1690 "Zend/zend_language_scanner.c" +#line 1702 "Zend/zend_language_scanner.c" yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; @@ -1697,12 +1709,12 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1959 "Zend/zend_language_scanner.l" +#line 1971 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1706 "Zend/zend_language_scanner.c" +#line 1718 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -1712,14 +1724,14 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1951 "Zend/zend_language_scanner.l" +#line 1963 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1723 "Zend/zend_language_scanner.c" +#line 1735 "Zend/zend_language_scanner.c" yy85: YYDEBUG(85, *YYCURSOR); yyaccept = 0; @@ -1735,24 +1747,24 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1649 "Zend/zend_language_scanner.l" +#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1745 "Zend/zend_language_scanner.c" +#line 1757 "Zend/zend_language_scanner.c" yy88: YYDEBUG(88, *YYCURSOR); ++YYCURSOR; YYDEBUG(89, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1276 "Zend/zend_language_scanner.l" +#line 1288 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1756 "Zend/zend_language_scanner.c" +#line 1768 "Zend/zend_language_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; @@ -1766,7 +1778,7 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1641 "Zend/zend_language_scanner.l" +#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1774,7 +1786,7 @@ yy92: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1778 "Zend/zend_language_scanner.c" +#line 1790 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; @@ -1792,7 +1804,7 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1643 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1800,7 +1812,7 @@ yy95: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1804 "Zend/zend_language_scanner.c" +#line 1816 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1811,7 +1823,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1938 "Zend/zend_language_scanner.l" +#line 1950 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -1823,7 +1835,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1827 "Zend/zend_language_scanner.c" +#line 1839 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1885,7 +1897,7 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2062 "Zend/zend_language_scanner.l" +#line 2074 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1956,7 +1968,7 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1960 "Zend/zend_language_scanner.c" +#line 1972 "Zend/zend_language_scanner.c" yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; @@ -1971,14 +1983,14 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1951 "Zend/zend_language_scanner.l" +#line 1963 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1982 "Zend/zend_language_scanner.c" +#line 1994 "Zend/zend_language_scanner.c" yy109: YYDEBUG(109, *YYCURSOR); yyaccept = 0; @@ -1994,24 +2006,24 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1649 "Zend/zend_language_scanner.l" +#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2004 "Zend/zend_language_scanner.c" +#line 2016 "Zend/zend_language_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1276 "Zend/zend_language_scanner.l" +#line 1288 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2015 "Zend/zend_language_scanner.c" +#line 2027 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; @@ -2025,7 +2037,7 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1641 "Zend/zend_language_scanner.l" +#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2033,7 +2045,7 @@ yy116: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2037 "Zend/zend_language_scanner.c" +#line 2049 "Zend/zend_language_scanner.c" yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; @@ -2051,7 +2063,7 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1643 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2059,7 +2071,7 @@ yy119: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2063 "Zend/zend_language_scanner.c" +#line 2075 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2240,13 +2252,13 @@ yy123: yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1672 "Zend/zend_language_scanner.l" +#line 1684 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 2250 "Zend/zend_language_scanner.c" +#line 2262 "Zend/zend_language_scanner.c" yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; @@ -2472,11 +2484,11 @@ yy137: yy138: YYDEBUG(138, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1265 "Zend/zend_language_scanner.l" +#line 1277 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2480 "Zend/zend_language_scanner.c" +#line 2492 "Zend/zend_language_scanner.c" yy139: YYDEBUG(139, *YYCURSOR); ++YYCURSOR; @@ -2485,7 +2497,7 @@ yy139: yy140: YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1000 "Zend/zend_language_scanner.l" +#line 1012 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -2493,7 +2505,7 @@ yy140: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2497 "Zend/zend_language_scanner.c" +#line 2509 "Zend/zend_language_scanner.c" yy141: YYDEBUG(141, *YYCURSOR); yych = *++YYCURSOR; @@ -2504,11 +2516,11 @@ yy142: ++YYCURSOR; YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1029 "Zend/zend_language_scanner.l" +#line 1041 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2512 "Zend/zend_language_scanner.c" +#line 2524 "Zend/zend_language_scanner.c" yy144: YYDEBUG(144, *YYCURSOR); yych = *++YYCURSOR; @@ -2736,18 +2748,18 @@ yy167: ++YYCURSOR; YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1270 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 2745 "Zend/zend_language_scanner.c" +#line 2757 "Zend/zend_language_scanner.c" yy169: YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYDEBUG(170, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1282 "Zend/zend_language_scanner.l" +#line 1294 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2755,7 +2767,7 @@ yy169: } return '}'; } -#line 2759 "Zend/zend_language_scanner.c" +#line 2771 "Zend/zend_language_scanner.c" yy171: YYDEBUG(171, *YYCURSOR); yyaccept = 2; @@ -2778,7 +2790,7 @@ yy171: yy172: YYDEBUG(172, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1308 "Zend/zend_language_scanner.l" +#line 1320 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); @@ -2799,7 +2811,7 @@ yy172: zendlval->type = IS_LONG; return T_LNUMBER; } -#line 2803 "Zend/zend_language_scanner.c" +#line 2815 "Zend/zend_language_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yyaccept = 2; @@ -2827,7 +2839,7 @@ yy175: yy176: YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1691 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2861,14 +2873,14 @@ yy176: return T_COMMENT; } -#line 2865 "Zend/zend_language_scanner.c" +#line 2877 "Zend/zend_language_scanner.c" yy177: YYDEBUG(177, *YYCURSOR); ++YYCURSOR; yy178: YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1770 "Zend/zend_language_scanner.l" +#line 1782 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2938,14 +2950,14 @@ yy178: #endif /* ZEND_MULTIBYTE */ return T_CONSTANT_ENCAPSED_STRING; } -#line 2942 "Zend/zend_language_scanner.c" +#line 2954 "Zend/zend_language_scanner.c" yy179: YYDEBUG(179, *YYCURSOR); ++YYCURSOR; yy180: YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1841 "Zend/zend_language_scanner.l" +#line 1853 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2986,24 +2998,24 @@ yy180: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 2990 "Zend/zend_language_scanner.c" +#line 3002 "Zend/zend_language_scanner.c" yy181: YYDEBUG(181, *YYCURSOR); ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1932 "Zend/zend_language_scanner.l" +#line 1944 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3001 "Zend/zend_language_scanner.c" +#line 3013 "Zend/zend_language_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); ++YYCURSOR; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2190 "Zend/zend_language_scanner.l" +#line 2202 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3012,7 +3024,7 @@ yy183: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 3016 "Zend/zend_language_scanner.c" +#line 3028 "Zend/zend_language_scanner.c" yy185: YYDEBUG(185, *YYCURSOR); ++YYCURSOR; @@ -3039,13 +3051,13 @@ yy187: yy189: YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1369 "Zend/zend_language_scanner.l" +#line 1381 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } -#line 3049 "Zend/zend_language_scanner.c" +#line 3061 "Zend/zend_language_scanner.c" yy190: YYDEBUG(190, *YYCURSOR); yyaccept = 2; @@ -3130,7 +3142,7 @@ yy198: } YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1329 "Zend/zend_language_scanner.l" +#line 1341 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3151,7 +3163,7 @@ yy198: return T_DNUMBER; } } -#line 3155 "Zend/zend_language_scanner.c" +#line 3167 "Zend/zend_language_scanner.c" yy201: YYDEBUG(201, *YYCURSOR); ++YYCURSOR; @@ -3160,7 +3172,7 @@ yy201: yy202: YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1747 "Zend/zend_language_scanner.l" +#line 1759 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -3168,7 +3180,7 @@ yy202: BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 3172 "Zend/zend_language_scanner.c" +#line 3184 "Zend/zend_language_scanner.c" yy203: YYDEBUG(203, *YYCURSOR); yych = *++YYCURSOR; @@ -3202,13 +3214,13 @@ yy205: yy207: YYDEBUG(207, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1649 "Zend/zend_language_scanner.l" +#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3212 "Zend/zend_language_scanner.c" +#line 3224 "Zend/zend_language_scanner.c" yy208: YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; @@ -3222,11 +3234,11 @@ yy209: } YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1253 "Zend/zend_language_scanner.l" +#line 1265 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3230 "Zend/zend_language_scanner.c" +#line 3242 "Zend/zend_language_scanner.c" yy211: YYDEBUG(211, *YYCURSOR); ++YYCURSOR; @@ -3235,61 +3247,61 @@ yy211: } YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1245 "Zend/zend_language_scanner.l" +#line 1257 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3243 "Zend/zend_language_scanner.c" +#line 3255 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); ++YYCURSOR; YYDEBUG(214, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1233 "Zend/zend_language_scanner.l" +#line 1245 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3253 "Zend/zend_language_scanner.c" +#line 3265 "Zend/zend_language_scanner.c" yy215: YYDEBUG(215, *YYCURSOR); ++YYCURSOR; YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1237 "Zend/zend_language_scanner.l" +#line 1249 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3263 "Zend/zend_language_scanner.c" +#line 3275 "Zend/zend_language_scanner.c" yy217: YYDEBUG(217, *YYCURSOR); ++YYCURSOR; YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1229 "Zend/zend_language_scanner.l" +#line 1241 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3273 "Zend/zend_language_scanner.c" +#line 3285 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); ++YYCURSOR; YYDEBUG(220, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1241 "Zend/zend_language_scanner.l" +#line 1253 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3283 "Zend/zend_language_scanner.c" +#line 3295 "Zend/zend_language_scanner.c" yy221: YYDEBUG(221, *YYCURSOR); ++YYCURSOR; YYDEBUG(222, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1225 "Zend/zend_language_scanner.l" +#line 1237 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3293 "Zend/zend_language_scanner.c" +#line 3305 "Zend/zend_language_scanner.c" yy223: YYDEBUG(223, *YYCURSOR); ++YYCURSOR; @@ -3298,7 +3310,7 @@ yy223: yy224: YYDEBUG(224, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1756 "Zend/zend_language_scanner.l" +#line 1768 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3311,17 +3323,17 @@ yy224: return yytext[0]; } } -#line 3315 "Zend/zend_language_scanner.c" +#line 3327 "Zend/zend_language_scanner.c" yy225: YYDEBUG(225, *YYCURSOR); ++YYCURSOR; YYDEBUG(226, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1213 "Zend/zend_language_scanner.l" +#line 1225 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3325 "Zend/zend_language_scanner.c" +#line 3337 "Zend/zend_language_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); yych = *++YYCURSOR; @@ -3352,11 +3364,11 @@ yy231: ++YYCURSOR; YYDEBUG(232, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1209 "Zend/zend_language_scanner.l" +#line 1221 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 3360 "Zend/zend_language_scanner.c" +#line 3372 "Zend/zend_language_scanner.c" yy233: YYDEBUG(233, *YYCURSOR); yyaccept = 4; @@ -3365,7 +3377,7 @@ yy233: yy234: YYDEBUG(234, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1713 "Zend/zend_language_scanner.l" +#line 1725 "Zend/zend_language_scanner.l" { int doc_com; @@ -3399,7 +3411,7 @@ yy234: return T_COMMENT; } -#line 3403 "Zend/zend_language_scanner.c" +#line 3415 "Zend/zend_language_scanner.c" yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; @@ -3409,11 +3421,11 @@ yy236: ++YYCURSOR; YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1205 "Zend/zend_language_scanner.l" +#line 1217 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3417 "Zend/zend_language_scanner.c" +#line 3429 "Zend/zend_language_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; @@ -3436,42 +3448,42 @@ yy241: ++YYCURSOR; YYDEBUG(242, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1201 "Zend/zend_language_scanner.l" +#line 1213 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3444 "Zend/zend_language_scanner.c" +#line 3456 "Zend/zend_language_scanner.c" yy243: YYDEBUG(243, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy247; YYDEBUG(244, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1261 "Zend/zend_language_scanner.l" +#line 1273 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3455 "Zend/zend_language_scanner.c" +#line 3467 "Zend/zend_language_scanner.c" yy245: YYDEBUG(245, *YYCURSOR); ++YYCURSOR; YYDEBUG(246, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1189 "Zend/zend_language_scanner.l" +#line 1201 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3465 "Zend/zend_language_scanner.c" +#line 3477 "Zend/zend_language_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); ++YYCURSOR; YYDEBUG(248, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1221 "Zend/zend_language_scanner.l" +#line 1233 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3475 "Zend/zend_language_scanner.c" +#line 3487 "Zend/zend_language_scanner.c" yy249: YYDEBUG(249, *YYCURSOR); yyaccept = 5; @@ -3482,11 +3494,11 @@ yy249: yy250: YYDEBUG(250, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1257 "Zend/zend_language_scanner.l" +#line 1269 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3490 "Zend/zend_language_scanner.c" +#line 3502 "Zend/zend_language_scanner.c" yy251: YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; @@ -3498,22 +3510,22 @@ yy252: ++YYCURSOR; YYDEBUG(253, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1185 "Zend/zend_language_scanner.l" +#line 1197 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3506 "Zend/zend_language_scanner.c" +#line 3518 "Zend/zend_language_scanner.c" yy254: YYDEBUG(254, *YYCURSOR); ++YYCURSOR; yy255: YYDEBUG(255, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1181 "Zend/zend_language_scanner.l" +#line 1193 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3517 "Zend/zend_language_scanner.c" +#line 3529 "Zend/zend_language_scanner.c" yy256: YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; @@ -3564,11 +3576,11 @@ yy263: ++YYCURSOR; YYDEBUG(264, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1217 "Zend/zend_language_scanner.l" +#line 1229 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3572 "Zend/zend_language_scanner.c" +#line 3584 "Zend/zend_language_scanner.c" yy265: YYDEBUG(265, *YYCURSOR); ++YYCURSOR; @@ -3673,7 +3685,7 @@ yy274: yy275: YYDEBUG(275, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1883 "Zend/zend_language_scanner.l" +#line 1895 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3721,7 +3733,7 @@ yy275: return T_START_HEREDOC; } -#line 3725 "Zend/zend_language_scanner.c" +#line 3737 "Zend/zend_language_scanner.c" yy276: YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; @@ -3761,31 +3773,31 @@ yy279: ++YYCURSOR; YYDEBUG(281, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1173 "Zend/zend_language_scanner.l" +#line 1185 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3769 "Zend/zend_language_scanner.c" +#line 3781 "Zend/zend_language_scanner.c" yy282: YYDEBUG(282, *YYCURSOR); ++YYCURSOR; YYDEBUG(283, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1193 "Zend/zend_language_scanner.l" +#line 1205 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3779 "Zend/zend_language_scanner.c" +#line 3791 "Zend/zend_language_scanner.c" yy284: YYDEBUG(284, *YYCURSOR); ++YYCURSOR; YYDEBUG(285, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1161 "Zend/zend_language_scanner.l" +#line 1173 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3789 "Zend/zend_language_scanner.c" +#line 3801 "Zend/zend_language_scanner.c" yy286: YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; @@ -3804,42 +3816,42 @@ yy288: } YYDEBUG(289, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1153 "Zend/zend_language_scanner.l" +#line 1165 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3812 "Zend/zend_language_scanner.c" +#line 3824 "Zend/zend_language_scanner.c" yy290: YYDEBUG(290, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy294; YYDEBUG(291, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1177 "Zend/zend_language_scanner.l" +#line 1189 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3823 "Zend/zend_language_scanner.c" +#line 3835 "Zend/zend_language_scanner.c" yy292: YYDEBUG(292, *YYCURSOR); ++YYCURSOR; YYDEBUG(293, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1149 "Zend/zend_language_scanner.l" +#line 1161 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 3833 "Zend/zend_language_scanner.c" +#line 3845 "Zend/zend_language_scanner.c" yy294: YYDEBUG(294, *YYCURSOR); ++YYCURSOR; YYDEBUG(295, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1169 "Zend/zend_language_scanner.l" +#line 1181 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 3843 "Zend/zend_language_scanner.c" +#line 3855 "Zend/zend_language_scanner.c" yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; @@ -3961,7 +3973,7 @@ yy311: } YYDEBUG(314, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1473 "Zend/zend_language_scanner.l" +#line 1485 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@ -3971,7 +3983,7 @@ yy311: } return T_NS_C; } -#line 3975 "Zend/zend_language_scanner.c" +#line 3987 "Zend/zend_language_scanner.c" yy315: YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; @@ -3991,7 +4003,7 @@ yy316: } YYDEBUG(319, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1446 "Zend/zend_language_scanner.l" +#line 1458 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@ -4018,7 +4030,7 @@ yy316: zendlval->type = IS_STRING; return T_DIR; } -#line 4022 "Zend/zend_language_scanner.c" +#line 4034 "Zend/zend_language_scanner.c" yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; @@ -4043,13 +4055,13 @@ yy322: } YYDEBUG(325, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1428 "Zend/zend_language_scanner.l" +#line 1440 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; return T_LINE; } -#line 4053 "Zend/zend_language_scanner.c" +#line 4065 "Zend/zend_language_scanner.c" yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; @@ -4084,7 +4096,7 @@ yy330: } YYDEBUG(333, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1407 "Zend/zend_language_scanner.l" +#line 1419 "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; @@ -4105,7 +4117,7 @@ yy330: zendlval->type = IS_STRING; return T_METHOD_C; } -#line 4109 "Zend/zend_language_scanner.c" +#line 4121 "Zend/zend_language_scanner.c" yy334: YYDEBUG(334, *YYCURSOR); yych = *++YYCURSOR; @@ -4156,7 +4168,7 @@ yy341: } YYDEBUG(344, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1391 "Zend/zend_language_scanner.l" +#line 1403 "Zend/zend_language_scanner.l" { char *func_name = NULL; @@ -4172,7 +4184,7 @@ yy341: zendlval->type = IS_STRING; return T_FUNC_C; } -#line 4176 "Zend/zend_language_scanner.c" +#line 4188 "Zend/zend_language_scanner.c" yy345: YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; @@ -4192,7 +4204,7 @@ yy346: } YYDEBUG(349, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1434 "Zend/zend_language_scanner.l" +#line 1446 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4204,7 +4216,7 @@ yy346: zendlval->type = IS_STRING; return T_FILE; } -#line 4208 "Zend/zend_language_scanner.c" +#line 4220 "Zend/zend_language_scanner.c" yy350: YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; @@ -4234,7 +4246,7 @@ yy353: } YYDEBUG(356, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1375 "Zend/zend_language_scanner.l" +#line 1387 "Zend/zend_language_scanner.l" { char *class_name = NULL; @@ -4250,7 +4262,7 @@ yy353: zendlval->type = IS_STRING; return T_CLASS_C; } -#line 4254 "Zend/zend_language_scanner.c" +#line 4266 "Zend/zend_language_scanner.c" yy357: YYDEBUG(357, *YYCURSOR); yych = *++YYCURSOR; @@ -4312,11 +4324,11 @@ yy368: } YYDEBUG(369, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1117 "Zend/zend_language_scanner.l" +#line 1129 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4320 "Zend/zend_language_scanner.c" +#line 4332 "Zend/zend_language_scanner.c" yy370: YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; @@ -4336,11 +4348,11 @@ yy372: } YYDEBUG(373, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1101 "Zend/zend_language_scanner.l" +#line 1113 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4344 "Zend/zend_language_scanner.c" +#line 4356 "Zend/zend_language_scanner.c" yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; @@ -4359,11 +4371,11 @@ yy376: } YYDEBUG(377, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1145 "Zend/zend_language_scanner.l" +#line 1157 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4367 "Zend/zend_language_scanner.c" +#line 4379 "Zend/zend_language_scanner.c" yy378: YYDEBUG(378, *YYCURSOR); ++YYCURSOR; @@ -4535,11 +4547,11 @@ yy393: ++YYCURSOR; YYDEBUG(395, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1045 "Zend/zend_language_scanner.l" +#line 1057 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4543 "Zend/zend_language_scanner.c" +#line 4555 "Zend/zend_language_scanner.c" yy396: YYDEBUG(396, *YYCURSOR); yych = *++YYCURSOR; @@ -4583,11 +4595,11 @@ yy401: ++YYCURSOR; YYDEBUG(404, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1049 "Zend/zend_language_scanner.l" +#line 1061 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4591 "Zend/zend_language_scanner.c" +#line 4603 "Zend/zend_language_scanner.c" yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; @@ -4657,11 +4669,11 @@ yy415: ++YYCURSOR; YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1053 "Zend/zend_language_scanner.l" +#line 1065 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4665 "Zend/zend_language_scanner.c" +#line 4677 "Zend/zend_language_scanner.c" yy419: YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; @@ -4694,11 +4706,11 @@ yy422: ++YYCURSOR; YYDEBUG(425, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1061 "Zend/zend_language_scanner.l" +#line 1073 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4702 "Zend/zend_language_scanner.c" +#line 4714 "Zend/zend_language_scanner.c" yy426: YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; @@ -4736,11 +4748,11 @@ yy430: ++YYCURSOR; YYDEBUG(433, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1065 "Zend/zend_language_scanner.l" +#line 1077 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4744 "Zend/zend_language_scanner.c" +#line 4756 "Zend/zend_language_scanner.c" yy434: YYDEBUG(434, *YYCURSOR); yych = *++YYCURSOR; @@ -4781,11 +4793,11 @@ yy439: ++YYCURSOR; YYDEBUG(441, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1069 "Zend/zend_language_scanner.l" +#line 1081 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4789 "Zend/zend_language_scanner.c" +#line 4801 "Zend/zend_language_scanner.c" yy442: YYDEBUG(442, *YYCURSOR); yych = *++YYCURSOR; @@ -4829,11 +4841,11 @@ yy447: ++YYCURSOR; YYDEBUG(450, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1057 "Zend/zend_language_scanner.l" +#line 1069 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4837 "Zend/zend_language_scanner.c" +#line 4849 "Zend/zend_language_scanner.c" yy451: YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; @@ -4866,11 +4878,11 @@ yy454: ++YYCURSOR; YYDEBUG(457, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1073 "Zend/zend_language_scanner.l" +#line 1085 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4874 "Zend/zend_language_scanner.c" +#line 4886 "Zend/zend_language_scanner.c" yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; @@ -4884,11 +4896,11 @@ yy459: } YYDEBUG(460, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1041 "Zend/zend_language_scanner.l" +#line 1053 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 4892 "Zend/zend_language_scanner.c" +#line 4904 "Zend/zend_language_scanner.c" yy461: YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; @@ -4908,11 +4920,11 @@ yy463: } YYDEBUG(464, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1033 "Zend/zend_language_scanner.l" +#line 1045 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 4916 "Zend/zend_language_scanner.c" +#line 4928 "Zend/zend_language_scanner.c" yy465: YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; @@ -4951,21 +4963,21 @@ yy471: } YYDEBUG(472, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1097 "Zend/zend_language_scanner.l" +#line 1109 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 4959 "Zend/zend_language_scanner.c" +#line 4971 "Zend/zend_language_scanner.c" yy473: YYDEBUG(473, *YYCURSOR); ++YYCURSOR; YYDEBUG(474, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1025 "Zend/zend_language_scanner.l" +#line 1037 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 4969 "Zend/zend_language_scanner.c" +#line 4981 "Zend/zend_language_scanner.c" yy475: YYDEBUG(475, *YYCURSOR); ++YYCURSOR; @@ -4987,32 +4999,32 @@ yy477: ++YYCURSOR; YYDEBUG(478, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1197 "Zend/zend_language_scanner.l" +#line 1209 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 4995 "Zend/zend_language_scanner.c" +#line 5007 "Zend/zend_language_scanner.c" yy479: YYDEBUG(479, *YYCURSOR); ++YYCURSOR; YYDEBUG(480, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1165 "Zend/zend_language_scanner.l" +#line 1177 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 5005 "Zend/zend_language_scanner.c" +#line 5017 "Zend/zend_language_scanner.c" yy481: YYDEBUG(481, *YYCURSOR); ++YYCURSOR; YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 995 "Zend/zend_language_scanner.l" +#line 1007 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5016 "Zend/zend_language_scanner.c" +#line 5028 "Zend/zend_language_scanner.c" yy483: YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; @@ -5057,11 +5069,11 @@ yy488: } YYDEBUG(489, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1141 "Zend/zend_language_scanner.l" +#line 1153 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 5065 "Zend/zend_language_scanner.c" +#line 5077 "Zend/zend_language_scanner.c" yy490: YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; @@ -5116,11 +5128,11 @@ yy497: } YYDEBUG(498, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1137 "Zend/zend_language_scanner.l" +#line 1149 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 5124 "Zend/zend_language_scanner.c" +#line 5136 "Zend/zend_language_scanner.c" yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; @@ -5150,11 +5162,11 @@ yy503: } YYDEBUG(504, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1133 "Zend/zend_language_scanner.l" +#line 1145 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5158 "Zend/zend_language_scanner.c" +#line 5170 "Zend/zend_language_scanner.c" yy505: YYDEBUG(505, *YYCURSOR); ++YYCURSOR; @@ -5163,11 +5175,11 @@ yy505: } YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 975 "Zend/zend_language_scanner.l" +#line 987 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5171 "Zend/zend_language_scanner.c" +#line 5183 "Zend/zend_language_scanner.c" yy507: YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; @@ -5192,11 +5204,11 @@ yy510: } YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 967 "Zend/zend_language_scanner.l" +#line 979 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5200 "Zend/zend_language_scanner.c" +#line 5212 "Zend/zend_language_scanner.c" yy512: YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; @@ -5220,11 +5232,11 @@ yy515: } YYDEBUG(516, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1105 "Zend/zend_language_scanner.l" +#line 1117 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5228 "Zend/zend_language_scanner.c" +#line 5240 "Zend/zend_language_scanner.c" yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; @@ -5261,11 +5273,11 @@ yy523: } YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 959 "Zend/zend_language_scanner.l" +#line 971 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5269 "Zend/zend_language_scanner.c" +#line 5281 "Zend/zend_language_scanner.c" yy525: YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; @@ -5305,11 +5317,11 @@ yy531: } YYDEBUG(532, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 943 "Zend/zend_language_scanner.l" +#line 955 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5313 "Zend/zend_language_scanner.c" +#line 5325 "Zend/zend_language_scanner.c" yy533: YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; @@ -5333,11 +5345,11 @@ yy536: } YYDEBUG(537, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1121 "Zend/zend_language_scanner.l" +#line 1133 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5341 "Zend/zend_language_scanner.c" +#line 5353 "Zend/zend_language_scanner.c" yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; @@ -5364,11 +5376,11 @@ yy541: } YYDEBUG(542, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 939 "Zend/zend_language_scanner.l" +#line 951 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5372 "Zend/zend_language_scanner.c" +#line 5384 "Zend/zend_language_scanner.c" yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; @@ -5387,11 +5399,11 @@ yy545: } YYDEBUG(546, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1157 "Zend/zend_language_scanner.l" +#line 1169 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5395 "Zend/zend_language_scanner.c" +#line 5407 "Zend/zend_language_scanner.c" yy547: YYDEBUG(547, *YYCURSOR); ++YYCURSOR; @@ -5400,11 +5412,11 @@ yy547: } YYDEBUG(548, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1249 "Zend/zend_language_scanner.l" +#line 1261 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5408 "Zend/zend_language_scanner.c" +#line 5420 "Zend/zend_language_scanner.c" yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; @@ -5438,11 +5450,11 @@ yy554: } YYDEBUG(555, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1125 "Zend/zend_language_scanner.l" +#line 1137 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5446 "Zend/zend_language_scanner.c" +#line 5458 "Zend/zend_language_scanner.c" yy556: YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; @@ -5466,11 +5478,11 @@ yy559: } YYDEBUG(560, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 899 "Zend/zend_language_scanner.l" +#line 911 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5474 "Zend/zend_language_scanner.c" +#line 5486 "Zend/zend_language_scanner.c" yy561: YYDEBUG(561, *YYCURSOR); ++YYCURSOR; @@ -5479,11 +5491,11 @@ yy561: } YYDEBUG(562, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 883 "Zend/zend_language_scanner.l" +#line 895 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5487 "Zend/zend_language_scanner.c" +#line 5499 "Zend/zend_language_scanner.c" yy563: YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; @@ -5535,11 +5547,11 @@ yy568: } YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1109 "Zend/zend_language_scanner.l" +#line 1121 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5543 "Zend/zend_language_scanner.c" +#line 5555 "Zend/zend_language_scanner.c" yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; @@ -5593,11 +5605,11 @@ yy576: yy577: YYDEBUG(577, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1081 "Zend/zend_language_scanner.l" +#line 1093 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5601 "Zend/zend_language_scanner.c" +#line 5613 "Zend/zend_language_scanner.c" yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; @@ -5626,11 +5638,11 @@ yy582: } YYDEBUG(583, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1085 "Zend/zend_language_scanner.l" +#line 1097 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 5634 "Zend/zend_language_scanner.c" +#line 5646 "Zend/zend_language_scanner.c" yy584: YYDEBUG(584, *YYCURSOR); yych = *++YYCURSOR; @@ -5664,11 +5676,11 @@ yy589: } YYDEBUG(590, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 983 "Zend/zend_language_scanner.l" +#line 995 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 5672 "Zend/zend_language_scanner.c" +#line 5684 "Zend/zend_language_scanner.c" yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; @@ -5707,11 +5719,11 @@ yy597: } YYDEBUG(598, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 935 "Zend/zend_language_scanner.l" +#line 947 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 5715 "Zend/zend_language_scanner.c" +#line 5727 "Zend/zend_language_scanner.c" yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; @@ -5755,11 +5767,11 @@ yy606: } YYDEBUG(607, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 991 "Zend/zend_language_scanner.l" +#line 1003 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 5763 "Zend/zend_language_scanner.c" +#line 5775 "Zend/zend_language_scanner.c" yy608: YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; @@ -5779,11 +5791,11 @@ yy610: } YYDEBUG(611, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 871 "Zend/zend_language_scanner.l" +#line 883 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 5787 "Zend/zend_language_scanner.c" +#line 5799 "Zend/zend_language_scanner.c" yy612: YYDEBUG(612, *YYCURSOR); yych = *++YYCURSOR; @@ -5802,11 +5814,11 @@ yy614: } YYDEBUG(615, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 879 "Zend/zend_language_scanner.l" +#line 891 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 5810 "Zend/zend_language_scanner.c" +#line 5822 "Zend/zend_language_scanner.c" yy616: YYDEBUG(616, *YYCURSOR); yych = *++YYCURSOR; @@ -5867,11 +5879,11 @@ yy622: yy623: YYDEBUG(623, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1089 "Zend/zend_language_scanner.l" +#line 1101 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 5875 "Zend/zend_language_scanner.c" +#line 5887 "Zend/zend_language_scanner.c" yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; @@ -5900,11 +5912,11 @@ yy628: } YYDEBUG(629, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1093 "Zend/zend_language_scanner.l" +#line 1105 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 5908 "Zend/zend_language_scanner.c" +#line 5920 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -5923,11 +5935,11 @@ yy632: } YYDEBUG(633, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 867 "Zend/zend_language_scanner.l" +#line 879 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 5931 "Zend/zend_language_scanner.c" +#line 5943 "Zend/zend_language_scanner.c" yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; @@ -6008,11 +6020,11 @@ yy643: } YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 963 "Zend/zend_language_scanner.l" +#line 975 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6016 "Zend/zend_language_scanner.c" +#line 6028 "Zend/zend_language_scanner.c" yy645: YYDEBUG(645, *YYCURSOR); ++YYCURSOR; @@ -6021,11 +6033,11 @@ yy645: } YYDEBUG(646, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 863 "Zend/zend_language_scanner.l" +#line 875 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6029 "Zend/zend_language_scanner.c" +#line 6041 "Zend/zend_language_scanner.c" yy647: YYDEBUG(647, *YYCURSOR); yych = *++YYCURSOR; @@ -6050,11 +6062,11 @@ yy650: } YYDEBUG(651, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1037 "Zend/zend_language_scanner.l" +#line 1049 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6058 "Zend/zend_language_scanner.c" +#line 6070 "Zend/zend_language_scanner.c" yy652: YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; @@ -6068,11 +6080,11 @@ yy653: } YYDEBUG(654, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 979 "Zend/zend_language_scanner.l" +#line 991 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6076 "Zend/zend_language_scanner.c" +#line 6088 "Zend/zend_language_scanner.c" yy655: YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; @@ -6092,11 +6104,11 @@ yy657: } YYDEBUG(658, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 951 "Zend/zend_language_scanner.l" +#line 963 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6100 "Zend/zend_language_scanner.c" +#line 6112 "Zend/zend_language_scanner.c" yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; @@ -6110,11 +6122,11 @@ yy660: } YYDEBUG(661, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 875 "Zend/zend_language_scanner.l" +#line 887 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6118 "Zend/zend_language_scanner.c" +#line 6130 "Zend/zend_language_scanner.c" yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; @@ -6165,11 +6177,11 @@ yy670: } YYDEBUG(671, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 859 "Zend/zend_language_scanner.l" +#line 871 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6173 "Zend/zend_language_scanner.c" +#line 6185 "Zend/zend_language_scanner.c" yy672: YYDEBUG(672, *YYCURSOR); ++YYCURSOR; @@ -6193,11 +6205,11 @@ yy672: yy673: YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 911 "Zend/zend_language_scanner.l" +#line 923 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6201 "Zend/zend_language_scanner.c" +#line 6213 "Zend/zend_language_scanner.c" yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; @@ -6221,11 +6233,11 @@ yy677: } YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 919 "Zend/zend_language_scanner.l" +#line 931 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6229 "Zend/zend_language_scanner.c" +#line 6241 "Zend/zend_language_scanner.c" yy679: YYDEBUG(679, *YYCURSOR); yych = *++YYCURSOR; @@ -6244,11 +6256,11 @@ yy681: } YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1129 "Zend/zend_language_scanner.l" +#line 1141 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6252 "Zend/zend_language_scanner.c" +#line 6264 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; @@ -6279,11 +6291,11 @@ yy685: } YYDEBUG(686, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 907 "Zend/zend_language_scanner.l" +#line 919 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6287 "Zend/zend_language_scanner.c" +#line 6299 "Zend/zend_language_scanner.c" yy687: YYDEBUG(687, *YYCURSOR); ++YYCURSOR; @@ -6292,11 +6304,11 @@ yy687: } YYDEBUG(688, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 855 "Zend/zend_language_scanner.l" +#line 867 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6300 "Zend/zend_language_scanner.c" +#line 6312 "Zend/zend_language_scanner.c" yy689: YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; @@ -6331,11 +6343,11 @@ yy694: } YYDEBUG(695, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 955 "Zend/zend_language_scanner.l" +#line 967 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6339 "Zend/zend_language_scanner.c" +#line 6351 "Zend/zend_language_scanner.c" yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; @@ -6359,11 +6371,11 @@ yy699: } YYDEBUG(700, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 927 "Zend/zend_language_scanner.l" +#line 939 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6367 "Zend/zend_language_scanner.c" +#line 6379 "Zend/zend_language_scanner.c" yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; @@ -6443,11 +6455,11 @@ yy712: } YYDEBUG(713, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 987 "Zend/zend_language_scanner.l" +#line 999 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6451 "Zend/zend_language_scanner.c" +#line 6463 "Zend/zend_language_scanner.c" yy714: YYDEBUG(714, *YYCURSOR); ++YYCURSOR; @@ -6456,11 +6468,11 @@ yy714: } YYDEBUG(715, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 851 "Zend/zend_language_scanner.l" +#line 863 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6464 "Zend/zend_language_scanner.c" +#line 6476 "Zend/zend_language_scanner.c" yy716: YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; @@ -6474,11 +6486,11 @@ yy717: } YYDEBUG(718, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1077 "Zend/zend_language_scanner.l" +#line 1089 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6482 "Zend/zend_language_scanner.c" +#line 6494 "Zend/zend_language_scanner.c" yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; @@ -6548,11 +6560,11 @@ yy728: } YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 903 "Zend/zend_language_scanner.l" +#line 915 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6556 "Zend/zend_language_scanner.c" +#line 6568 "Zend/zend_language_scanner.c" yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; @@ -6581,11 +6593,11 @@ yy734: } YYDEBUG(735, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 947 "Zend/zend_language_scanner.l" +#line 959 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 6589 "Zend/zend_language_scanner.c" +#line 6601 "Zend/zend_language_scanner.c" yy736: YYDEBUG(736, *YYCURSOR); ++YYCURSOR; @@ -6594,11 +6606,11 @@ yy736: } YYDEBUG(737, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 891 "Zend/zend_language_scanner.l" +#line 903 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 6602 "Zend/zend_language_scanner.c" +#line 6614 "Zend/zend_language_scanner.c" yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; @@ -6627,11 +6639,11 @@ yy739: yy740: YYDEBUG(740, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 915 "Zend/zend_language_scanner.l" +#line 927 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 6635 "Zend/zend_language_scanner.c" +#line 6647 "Zend/zend_language_scanner.c" yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; @@ -6655,11 +6667,11 @@ yy744: } YYDEBUG(745, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 923 "Zend/zend_language_scanner.l" +#line 935 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 6663 "Zend/zend_language_scanner.c" +#line 6675 "Zend/zend_language_scanner.c" yy746: YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; @@ -6693,11 +6705,11 @@ yy751: } YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 931 "Zend/zend_language_scanner.l" +#line 943 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 6701 "Zend/zend_language_scanner.c" +#line 6713 "Zend/zend_language_scanner.c" yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; @@ -6716,11 +6728,11 @@ yy755: } YYDEBUG(756, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1113 "Zend/zend_language_scanner.l" +#line 1125 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 6724 "Zend/zend_language_scanner.c" +#line 6736 "Zend/zend_language_scanner.c" yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; @@ -6749,11 +6761,11 @@ yy758: yy759: YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 895 "Zend/zend_language_scanner.l" +#line 907 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 6757 "Zend/zend_language_scanner.c" +#line 6769 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; @@ -6767,11 +6779,11 @@ yy761: } YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 887 "Zend/zend_language_scanner.l" +#line 899 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 6775 "Zend/zend_language_scanner.c" +#line 6787 "Zend/zend_language_scanner.c" yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; @@ -6785,11 +6797,11 @@ yy764: } YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 971 "Zend/zend_language_scanner.l" +#line 983 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 6793 "Zend/zend_language_scanner.c" +#line 6805 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6862,7 +6874,7 @@ yy768: yy769: YYDEBUG(769, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1000 "Zend/zend_language_scanner.l" +#line 1012 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -6870,7 +6882,7 @@ yy769: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 6874 "Zend/zend_language_scanner.c" +#line 6886 "Zend/zend_language_scanner.c" yy770: YYDEBUG(770, *YYCURSOR); ++YYCURSOR; @@ -6878,13 +6890,13 @@ yy770: yy771: YYDEBUG(771, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1019 "Zend/zend_language_scanner.l" +#line 1031 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } -#line 6888 "Zend/zend_language_scanner.c" +#line 6900 "Zend/zend_language_scanner.c" yy772: YYDEBUG(772, *YYCURSOR); ++YYCURSOR; @@ -6893,14 +6905,14 @@ yy772: yy773: YYDEBUG(773, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1012 "Zend/zend_language_scanner.l" +#line 1024 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 6904 "Zend/zend_language_scanner.c" +#line 6916 "Zend/zend_language_scanner.c" yy774: YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; @@ -6921,11 +6933,11 @@ yy777: ++YYCURSOR; YYDEBUG(778, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1008 "Zend/zend_language_scanner.l" +#line 1020 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 6929 "Zend/zend_language_scanner.c" +#line 6941 "Zend/zend_language_scanner.c" yy779: YYDEBUG(779, *YYCURSOR); ++YYCURSOR; @@ -6995,7 +7007,7 @@ yy783: yy784: YYDEBUG(784, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" +#line 1303 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -7003,20 +7015,20 @@ yy784: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7007 "Zend/zend_language_scanner.c" +#line 7019 "Zend/zend_language_scanner.c" yy785: YYDEBUG(785, *YYCURSOR); ++YYCURSOR; YYDEBUG(786, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1300 "Zend/zend_language_scanner.l" +#line 1312 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7020 "Zend/zend_language_scanner.c" +#line 7032 "Zend/zend_language_scanner.c" yy787: YYDEBUG(787, *YYCURSOR); ++YYCURSOR; @@ -7038,7 +7050,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(792, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2134 "Zend/zend_language_scanner.l" +#line 2146 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7093,7 +7105,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7097 "Zend/zend_language_scanner.c" +#line 7109 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7193,7 +7205,7 @@ yy795: yy796: YYDEBUG(796, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1350 "Zend/zend_language_scanner.l" +#line 1362 "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); @@ -7205,7 +7217,7 @@ yy796: } return T_NUM_STRING; } -#line 7209 "Zend/zend_language_scanner.c" +#line 7221 "Zend/zend_language_scanner.c" yy797: YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; @@ -7225,23 +7237,23 @@ yy798: yy799: YYDEBUG(799, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1660 "Zend/zend_language_scanner.l" +#line 1672 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7234 "Zend/zend_language_scanner.c" +#line 7246 "Zend/zend_language_scanner.c" yy800: YYDEBUG(800, *YYCURSOR); ++YYCURSOR; YYDEBUG(801, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1655 "Zend/zend_language_scanner.l" +#line 1667 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7245 "Zend/zend_language_scanner.c" +#line 7257 "Zend/zend_language_scanner.c" yy802: YYDEBUG(802, *YYCURSOR); yych = *++YYCURSOR; @@ -7251,14 +7263,14 @@ yy803: ++YYCURSOR; YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1665 "Zend/zend_language_scanner.l" +#line 1677 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); yy_pop_state(TSRMLS_C); return T_ENCAPSED_AND_WHITESPACE; } -#line 7262 "Zend/zend_language_scanner.c" +#line 7274 "Zend/zend_language_scanner.c" yy805: YYDEBUG(805, *YYCURSOR); ++YYCURSOR; @@ -7267,19 +7279,19 @@ yy805: yy806: YYDEBUG(806, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1672 "Zend/zend_language_scanner.l" +#line 1684 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 7277 "Zend/zend_language_scanner.c" +#line 7289 "Zend/zend_language_scanner.c" yy807: YYDEBUG(807, *YYCURSOR); ++YYCURSOR; YYDEBUG(808, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2190 "Zend/zend_language_scanner.l" +#line 2202 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7288,7 +7300,7 @@ yy807: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7292 "Zend/zend_language_scanner.c" +#line 7304 "Zend/zend_language_scanner.c" yy809: YYDEBUG(809, *YYCURSOR); ++YYCURSOR; @@ -7324,13 +7336,13 @@ yy811: yy813: YYDEBUG(813, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1649 "Zend/zend_language_scanner.l" +#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 7334 "Zend/zend_language_scanner.c" +#line 7346 "Zend/zend_language_scanner.c" yy814: YYDEBUG(814, *YYCURSOR); ++YYCURSOR; @@ -7362,14 +7374,14 @@ yy818: yy820: YYDEBUG(820, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1362 "Zend/zend_language_scanner.l" +#line 1374 "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 7373 "Zend/zend_language_scanner.c" +#line 7385 "Zend/zend_language_scanner.c" yy821: YYDEBUG(821, *YYCURSOR); ++YYCURSOR; @@ -7382,6 +7394,6 @@ yy821: goto yy820; } } -#line 2199 "Zend/zend_language_scanner.l" +#line 2211 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index a4faff3825..86949a22f1 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -139,8 +139,10 @@ static void yy_pop_state(TSRMLS_D) static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) { YYCURSOR = (YYCTYPE*)str; - SCNG(yy_start) = YYCURSOR; YYLIMIT = YYCURSOR + len; + if (!SCNG(yy_start)) { + SCNG(yy_start) = YYCURSOR; + } } void startup_scanner(TSRMLS_D) @@ -241,7 +243,14 @@ ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC) ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) { char *file_path = NULL, *buf; - size_t size; + size_t size, offset = 0; + + /* The shebang line was read, get the current position to obtain the buffer start */ + if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) { + if ((offset = ftell(file_handle->handle.fp)) == -1) { + offset = 0; + } + } if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) { return FAILURE; @@ -257,6 +266,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) /* Reset the scanner for scanning the new file */ SCNG(yy_in) = file_handle; + SCNG(yy_start) = NULL; if (size != -1) { #ifdef ZEND_MULTIBYTE @@ -275,9 +285,10 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) } else { SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC); } - + SCNG(yy_start) = SCNG(script_filtered) - offset; yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); #else /* !ZEND_MULTIBYTE */ + SCNG(yy_start) = buf - offset; yy_scan_buffer(buf, size TSRMLS_CC); #endif /* ZEND_MULTIBYTE */ } else { @@ -413,6 +424,7 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD); SCNG(yy_in)=NULL; + SCNG(yy_start) = NULL; #ifdef ZEND_MULTIBYTE SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val); -- 2.40.0