From: Nikita Popov Date: Mon, 13 Aug 2012 14:51:41 +0000 (+0200) Subject: Merge remote-tracking branch 'php-src/master' into addGeneratorsSupport X-Git-Tag: php-5.5.0alpha1~20^2~24^2~24^2~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f4ce3646285fbdd3354ca86ae67857b6ee8f7e3a;p=php Merge remote-tracking branch 'php-src/master' into addGeneratorsSupport This is just an intial merge. It does not yet make generators and finally work together. Conflicts: Zend/zend_language_scanner.c Zend/zend_language_scanner_defs.h Zend/zend_vm_def.h Zend/zend_vm_execute.h Zend/zend_vm_execute.skl Zend/zend_vm_opcodes.h --- f4ce3646285fbdd3354ca86ae67857b6ee8f7e3a diff --cc Zend/zend_language_scanner.c index e20fc19581,f4289c3800..bcf1055ce7 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@@ -1,4 -1,4 +1,4 @@@ - /* Generated by re2c 0.13.5 on Sat Jun 16 12:57:03 2012 */ -/* Generated by re2c 0.13.5 on Tue Jul 24 17:16:42 2012 */ ++/* Generated by re2c 0.13.5 on Mon Aug 13 16:40:42 2012 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@@ -1097,7 -1097,7 +1097,7 @@@ yyc_INITIAL yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1795 "Zend/zend_language_scanner.l" ++#line 1799 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@@ -1175,7 -1175,7 +1175,7 @@@ yy5 yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1783 "Zend/zend_language_scanner.l" ++#line 1787 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@@ -1194,7 -1194,7 +1194,7 @@@ yy7 if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1760 "Zend/zend_language_scanner.l" ++#line 1764 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@@ -1392,7 -1392,7 +1392,7 @@@ yy35 ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1720 "Zend/zend_language_scanner.l" ++#line 1724 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@@ -1436,7 -1436,7 +1436,7 @@@ yy43 ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1738 "Zend/zend_language_scanner.l" ++#line 1742 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@@ -1454,7 -1454,7 +1454,7 @@@ yy45 ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1751 "Zend/zend_language_scanner.l" ++#line 1755 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@@ -1489,7 -1489,7 +1489,7 @@@ yy50 yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1773 "Zend/zend_language_scanner.l" ++#line 1777 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@@ -1569,7 -1569,7 +1569,7 @@@ yyc_ST_BACKQUOTE yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2246 "Zend/zend_language_scanner.l" ++#line 2250 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@@ -1621,7 -1621,7 +1621,7 @@@ yy58 ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2190 "Zend/zend_language_scanner.l" ++#line 2194 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; @@@ -1636,7 -1636,7 +1636,7 @@@ yy61 ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2177 "Zend/zend_language_scanner.l" ++#line 2181 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@@ -1659,7 -1659,7 +1659,7 @@@ yy63 yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1877 "Zend/zend_language_scanner.l" ++#line 1881 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@@ -1671,7 -1671,7 +1671,7 @@@ yy66 ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1453 "Zend/zend_language_scanner.l" ++#line 1457 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; @@@ -1690,7 -1690,7 +1690,7 @@@ yy70 ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1869 "Zend/zend_language_scanner.l" ++#line 1873 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@@ -1716,7 -1716,7 +1716,7 @@@ yy73 ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1859 "Zend/zend_language_scanner.l" ++#line 1863 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@@ -1792,7 -1792,7 +1792,7 @@@ yy77 yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2196 "Zend/zend_language_scanner.l" ++#line 2200 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@@ -1852,7 -1852,7 +1852,7 @@@ yy80 ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2185 "Zend/zend_language_scanner.l" ++#line 2189 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; @@@ -1867,7 -1867,7 +1867,7 @@@ yy83 ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2177 "Zend/zend_language_scanner.l" ++#line 2181 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@@ -1890,7 -1890,7 +1890,7 @@@ yy85 yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1877 "Zend/zend_language_scanner.l" ++#line 1881 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@@ -1902,7 -1902,7 +1902,7 @@@ yy88 ++YYCURSOR; YYDEBUG(89, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1453 "Zend/zend_language_scanner.l" ++#line 1457 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; @@@ -1921,7 -1921,7 +1921,7 @@@ yy92 ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1869 "Zend/zend_language_scanner.l" ++#line 1873 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@@ -1947,7 -1947,7 +1947,7 @@@ yy95 ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1859 "Zend/zend_language_scanner.l" ++#line 1863 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@@ -1966,7 -1966,7 +1966,7 @@@ yyc_ST_END_HEREDOC ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2164 "Zend/zend_language_scanner.l" ++#line 2168 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@@ -2040,7 -2040,7 +2040,7 @@@ yy103 yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2288 "Zend/zend_language_scanner.l" ++#line 2292 "Zend/zend_language_scanner.l" { int newline = 0; @@@ -2126,7 -2126,7 +2126,7 @@@ yy107 ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2177 "Zend/zend_language_scanner.l" ++#line 2181 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@@ -2149,7 -2149,7 +2149,7 @@@ yy109 yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1877 "Zend/zend_language_scanner.l" ++#line 1881 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@@ -2161,7 -2161,7 +2161,7 @@@ yy112 ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1453 "Zend/zend_language_scanner.l" ++#line 1457 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; @@@ -2180,7 -2180,7 +2180,7 @@@ yy116 ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1869 "Zend/zend_language_scanner.l" ++#line 1873 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@@ -2206,7 -2206,7 +2206,7 @@@ yy119 ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1859 "Zend/zend_language_scanner.l" ++#line 1863 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@@ -2381,23 -2379,23 +2381,23 @@@ yy123 YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { case 'C': - case 'c': goto yy732; - case 'c': goto yy729; ++ case 'c': goto yy735; case 'L': - case 'l': goto yy733; - case 'l': goto yy730; ++ case 'l': goto yy736; case 'M': - case 'm': goto yy734; - case 'm': goto yy731; ++ case 'm': goto yy737; case 'N': - case 'n': goto yy735; - case 'n': goto yy732; ++ case 'n': goto yy738; case 'V': - case 'v': goto yy736; - case 'v': goto yy733; ++ case 'v': goto yy739; case 'X': - case 'x': goto yy737; - case 'x': goto yy734; - default: goto yy186; ++ case 'x': goto yy740; + default: goto yy187; } yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1900 "Zend/zend_language_scanner.l" ++#line 1904 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@@ -2409,21 -2407,21 +2409,21 @@@ yy125 yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'E') goto yy714; - if (yych == 'E') goto yy711; - goto yy186; ++ if (yych == 'E') goto yy717; + goto yy187; } else { - if (yych <= 'I') goto yy715; - if (yych <= 'I') goto yy712; - if (yych <= 'N') goto yy186; - goto yy713; ++ if (yych <= 'I') goto yy718; + if (yych <= 'N') goto yy187; - goto yy716; ++ goto yy719; } } else { if (yych <= 'h') { - if (yych == 'e') goto yy714; - if (yych == 'e') goto yy711; - goto yy186; ++ if (yych == 'e') goto yy717; + goto yy187; } else { - if (yych <= 'i') goto yy715; - if (yych == 'o') goto yy716; - if (yych <= 'i') goto yy712; - if (yych == 'o') goto yy713; - goto yy186; ++ if (yych <= 'i') goto yy718; ++ if (yych == 'o') goto yy719; + goto yy187; } } yy126: @@@ -2583,72 -2575,72 +2583,72 @@@ yy135 } } else { if (yych <= 'R') { - if (yych <= '<') goto yy525; - if (yych <= 'Q') goto yy186; - goto yy528; + if (yych <= '<') goto yy526; + if (yych <= 'Q') goto yy187; + goto yy529; } else { - if (yych == 'r') goto yy528; - goto yy186; + if (yych == 'r') goto yy529; + goto yy187; } } -yy135: - YYDEBUG(135, *YYCURSOR); +yy136: + YYDEBUG(136, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'L') goto yy515; - if (yych <= 'N') goto yy186; - goto yy516; + if (yych == 'L') goto yy516; + if (yych <= 'N') goto yy187; + goto yy517; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy186; - goto yy515; + if (yych <= 'k') goto yy187; + goto yy516; } else { - if (yych == 'o') goto yy516; - goto yy186; + if (yych == 'o') goto yy517; + goto yy187; } } -yy136: - YYDEBUG(136, *YYCURSOR); +yy137: + YYDEBUG(137, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'R') goto yy491; - if (yych <= 'T') goto yy186; - goto yy492; + if (yych == 'R') goto yy492; + if (yych <= 'T') goto yy187; + goto yy493; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy186; - goto yy491; + if (yych <= 'q') goto yy187; + goto yy492; } else { - if (yych == 'u') goto yy492; - goto yy186; + if (yych == 'u') goto yy493; + goto yy187; } } -yy137: - YYDEBUG(137, *YYCURSOR); +yy138: + YYDEBUG(138, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy487; + if (yych == '-') goto yy488; } else { - if (yych <= '=') goto yy485; - if (yych <= '>') goto yy489; + if (yych <= '=') goto yy486; + if (yych <= '>') goto yy490; } -yy138: - YYDEBUG(138, *YYCURSOR); +yy139: + YYDEBUG(139, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1442 "Zend/zend_language_scanner.l" ++#line 1446 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2635 "Zend/zend_language_scanner.c" -yy139: - YYDEBUG(139, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy484; +#line 2643 "Zend/zend_language_scanner.c" yy140: YYDEBUG(140, *YYCURSOR); + ++YYCURSOR; + yych = *YYCURSOR; + goto yy485; +yy141: + YYDEBUG(141, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1173 "Zend/zend_language_scanner.l" ++#line 1177 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@@ -2656,18 -2648,18 +2656,18 @@@ HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2652 "Zend/zend_language_scanner.c" -yy141: - YYDEBUG(141, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ':') goto yy481; - goto yy138; +#line 2660 "Zend/zend_language_scanner.c" yy142: YYDEBUG(142, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == ':') goto yy482; + goto yy139; +yy143: YYDEBUG(143, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1202 "Zend/zend_language_scanner.l" ++#line 1206 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } @@@ -2888,29 -2884,25 +2888,29 @@@ yy165 yy166: YYDEBUG(166, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy205; - goto yy138; + goto yy139; yy167: YYDEBUG(167, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '>') goto yy206; + goto yy139; +yy168: YYDEBUG(168, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(169, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1447 "Zend/zend_language_scanner.l" ++#line 1451 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 2900 "Zend/zend_language_scanner.c" -yy169: - YYDEBUG(169, *YYCURSOR); - ++YYCURSOR; +#line 2908 "Zend/zend_language_scanner.c" +yy170: YYDEBUG(170, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1459 "Zend/zend_language_scanner.l" ++#line 1463 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@@ -2943,10 -2935,10 +2943,10 @@@ yy172 } } } -yy172: - YYDEBUG(172, *YYCURSOR); +yy173: + YYDEBUG(173, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1510 "Zend/zend_language_scanner.l" ++#line 1514 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); @@@ -2973,29 -2965,29 +2973,29 @@@ yy174 yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy187; - if (yych <= '/') goto yy172; - goto yy190; + if (yych == '.') goto yy188; + if (yych <= '/') goto yy173; + goto yy191; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy172; - goto yy192; + if (yych <= 'D') goto yy173; + goto yy193; } else { - if (yych == 'e') goto yy192; - goto yy172; + if (yych == 'e') goto yy193; + goto yy173; } } -yy174: - YYDEBUG(174, *YYCURSOR); - yych = *++YYCURSOR; - goto yy186; yy175: YYDEBUG(175, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + goto yy187; yy176: YYDEBUG(176, *YYCURSOR); + ++YYCURSOR; +yy177: + YYDEBUG(177, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1907 "Zend/zend_language_scanner.l" ++#line 1911 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@@ -3029,14 -3021,14 +3029,14 @@@ return T_COMMENT; } -#line 3025 "Zend/zend_language_scanner.c" -yy177: - YYDEBUG(177, *YYCURSOR); - ++YYCURSOR; +#line 3033 "Zend/zend_language_scanner.c" yy178: YYDEBUG(178, *YYCURSOR); + ++YYCURSOR; +yy179: + YYDEBUG(179, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1998 "Zend/zend_language_scanner.l" ++#line 2002 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@@ -3104,14 -3096,14 +3104,14 @@@ } return T_CONSTANT_ENCAPSED_STRING; } -#line 3100 "Zend/zend_language_scanner.c" -yy179: - YYDEBUG(179, *YYCURSOR); - ++YYCURSOR; +#line 3108 "Zend/zend_language_scanner.c" yy180: YYDEBUG(180, *YYCURSOR); + ++YYCURSOR; +yy181: + YYDEBUG(181, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2067 "Zend/zend_language_scanner.l" ++#line 2071 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@@ -3152,24 -3144,24 +3152,24 @@@ BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 3148 "Zend/zend_language_scanner.c" -yy181: - YYDEBUG(181, *YYCURSOR); - ++YYCURSOR; +#line 3156 "Zend/zend_language_scanner.c" +yy182: YYDEBUG(182, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(183, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2158 "Zend/zend_language_scanner.l" ++#line 2162 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3159 "Zend/zend_language_scanner.c" -yy183: - YYDEBUG(183, *YYCURSOR); - ++YYCURSOR; +#line 3167 "Zend/zend_language_scanner.c" +yy184: YYDEBUG(184, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(185, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2416 "Zend/zend_language_scanner.l" ++#line 2420 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@@ -3196,16 -3188,16 +3196,16 @@@ yy188 YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(188, *YYCURSOR); + YYDEBUG(189, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy187; + goto yy188; } - if (yych == 'E') goto yy192; - if (yych == 'e') goto yy192; -yy189: - YYDEBUG(189, *YYCURSOR); + if (yych == 'E') goto yy193; + if (yych == 'e') goto yy193; +yy190: + YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1575 "Zend/zend_language_scanner.l" ++#line 1579 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; @@@ -3297,13 -3289,13 +3297,13 @@@ yy200 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(200, *YYCURSOR); + YYDEBUG(201, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy199; + goto yy200; } - YYDEBUG(201, *YYCURSOR); + YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1485 "Zend/zend_language_scanner.l" ++#line 1489 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@@ -3334,13 -3326,13 +3334,13 @@@ yy203 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(203, *YYCURSOR); + YYDEBUG(204, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy202; + goto yy203; } - YYDEBUG(204, *YYCURSOR); + YYDEBUG(205, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1531 "Zend/zend_language_scanner.l" ++#line 1535 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@@ -3365,16 -3357,16 +3365,16 @@@ return T_DNUMBER; } } -#line 3361 "Zend/zend_language_scanner.c" -yy205: - YYDEBUG(205, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy207; - if (yych == '\r') goto yy208; +#line 3369 "Zend/zend_language_scanner.c" yy206: YYDEBUG(206, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy208; + if (yych == '\r') goto yy209; +yy207: + YYDEBUG(207, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1975 "Zend/zend_language_scanner.l" ++#line 1979 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@@ -3407,112 -3399,112 +3407,112 @@@ yy210 } } else { if (yych <= '`') { - if (yych <= '_') goto yy209; + if (yych <= '_') goto yy210; } else { - if (yych <= 'z') goto yy209; - if (yych >= 0x7F) goto yy209; + if (yych <= 'z') goto yy210; + if (yych >= 0x7F) goto yy210; } } -yy211: - YYDEBUG(211, *YYCURSOR); +yy212: + YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1877 "Zend/zend_language_scanner.l" ++#line 1881 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3418 "Zend/zend_language_scanner.c" -yy212: - YYDEBUG(212, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy213; - if (yych != 'r') goto yy186; +#line 3426 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy214; + if (yych != 'r') goto yy187; +yy214: + YYDEBUG(214, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(214, *YYCURSOR); + YYDEBUG(215, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1430 "Zend/zend_language_scanner.l" ++#line 1434 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3436 "Zend/zend_language_scanner.c" -yy215: - YYDEBUG(215, *YYCURSOR); +#line 3444 "Zend/zend_language_scanner.c" +yy216: + YYDEBUG(216, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(216, *YYCURSOR); + YYDEBUG(217, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1422 "Zend/zend_language_scanner.l" ++#line 1426 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3449 "Zend/zend_language_scanner.c" -yy217: - YYDEBUG(217, *YYCURSOR); - ++YYCURSOR; +#line 3457 "Zend/zend_language_scanner.c" +yy218: YYDEBUG(218, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(219, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1410 "Zend/zend_language_scanner.l" ++#line 1414 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3459 "Zend/zend_language_scanner.c" -yy219: - YYDEBUG(219, *YYCURSOR); - ++YYCURSOR; +#line 3467 "Zend/zend_language_scanner.c" +yy220: YYDEBUG(220, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(221, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1414 "Zend/zend_language_scanner.l" ++#line 1418 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3469 "Zend/zend_language_scanner.c" -yy221: - YYDEBUG(221, *YYCURSOR); - ++YYCURSOR; +#line 3477 "Zend/zend_language_scanner.c" +yy222: YYDEBUG(222, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(223, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1406 "Zend/zend_language_scanner.l" ++#line 1410 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3479 "Zend/zend_language_scanner.c" -yy223: - YYDEBUG(223, *YYCURSOR); - ++YYCURSOR; +#line 3487 "Zend/zend_language_scanner.c" +yy224: YYDEBUG(224, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(225, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1418 "Zend/zend_language_scanner.l" ++#line 1422 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3489 "Zend/zend_language_scanner.c" -yy225: - YYDEBUG(225, *YYCURSOR); - ++YYCURSOR; +#line 3497 "Zend/zend_language_scanner.c" +yy226: YYDEBUG(226, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(227, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1402 "Zend/zend_language_scanner.l" ++#line 1406 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3499 "Zend/zend_language_scanner.c" -yy227: - YYDEBUG(227, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy231; - if (yych == '\r') goto yy232; +#line 3507 "Zend/zend_language_scanner.c" yy228: YYDEBUG(228, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy232; + if (yych == '\r') goto yy233; +yy229: + YYDEBUG(229, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1984 "Zend/zend_language_scanner.l" ++#line 1988 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@@ -3525,13 -3517,13 +3525,13 @@@ return yytext[0]; } } -#line 3521 "Zend/zend_language_scanner.c" -yy229: - YYDEBUG(229, *YYCURSOR); - ++YYCURSOR; +#line 3529 "Zend/zend_language_scanner.c" +yy230: YYDEBUG(230, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(231, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1390 "Zend/zend_language_scanner.l" ++#line 1394 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } @@@ -3551,35 -3543,35 +3551,35 @@@ yy234 YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(234, *YYCURSOR); + YYDEBUG(235, *YYCURSOR); if (yych <= 'D') { - if (yych <= '/') goto yy189; - if (yych <= '9') goto yy233; - goto yy189; + if (yych <= '/') goto yy190; + if (yych <= '9') goto yy234; + goto yy190; } else { - if (yych <= 'E') goto yy192; - if (yych == 'e') goto yy192; - goto yy189; + if (yych <= 'E') goto yy193; + if (yych == 'e') goto yy193; + goto yy190; } -yy235: - YYDEBUG(235, *YYCURSOR); - ++YYCURSOR; +yy236: YYDEBUG(236, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1386 "Zend/zend_language_scanner.l" ++#line 1390 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 3566 "Zend/zend_language_scanner.c" -yy237: - YYDEBUG(237, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy242; +#line 3574 "Zend/zend_language_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '*') goto yy243; +yy239: + YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1941 "Zend/zend_language_scanner.l" ++#line 1945 "Zend/zend_language_scanner.l" { int doc_com; @@@ -3613,17 -3605,17 +3613,17 @@@ return T_COMMENT; } -#line 3609 "Zend/zend_language_scanner.c" -yy239: - YYDEBUG(239, *YYCURSOR); - yych = *++YYCURSOR; - goto yy176; +#line 3617 "Zend/zend_language_scanner.c" yy240: YYDEBUG(240, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + goto yy177; +yy241: YYDEBUG(241, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(242, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1382 "Zend/zend_language_scanner.l" ++#line 1386 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } @@@ -3640,90 -3632,90 +3640,90 @@@ yy244 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(244, *YYCURSOR); + YYDEBUG(245, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy243; + goto yy244; } - goto yy238; -yy245: - YYDEBUG(245, *YYCURSOR); - ++YYCURSOR; + goto yy239; +yy246: YYDEBUG(246, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1378 "Zend/zend_language_scanner.l" ++#line 1382 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3650 "Zend/zend_language_scanner.c" -yy247: - YYDEBUG(247, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy251; +#line 3658 "Zend/zend_language_scanner.c" +yy248: YYDEBUG(248, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy252; + YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1438 "Zend/zend_language_scanner.l" ++#line 1442 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3661 "Zend/zend_language_scanner.c" -yy249: - YYDEBUG(249, *YYCURSOR); - ++YYCURSOR; +#line 3669 "Zend/zend_language_scanner.c" +yy250: YYDEBUG(250, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(251, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1366 "Zend/zend_language_scanner.l" ++#line 1370 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3671 "Zend/zend_language_scanner.c" -yy251: - YYDEBUG(251, *YYCURSOR); - ++YYCURSOR; +#line 3679 "Zend/zend_language_scanner.c" +yy252: YYDEBUG(252, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(253, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1398 "Zend/zend_language_scanner.l" ++#line 1402 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3681 "Zend/zend_language_scanner.c" -yy253: - YYDEBUG(253, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy254; - if (yych <= '<') goto yy269; - if (yych <= '=') goto yy267; +#line 3689 "Zend/zend_language_scanner.c" yy254: YYDEBUG(254, *YYCURSOR); + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ';') goto yy255; + if (yych <= '<') goto yy270; + if (yych <= '=') goto yy268; +yy255: + YYDEBUG(255, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1434 "Zend/zend_language_scanner.l" ++#line 1438 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3696 "Zend/zend_language_scanner.c" -yy255: - YYDEBUG(255, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy260; - if (yych == 's') goto yy260; - goto yy193; +#line 3704 "Zend/zend_language_scanner.c" yy256: YYDEBUG(256, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'S') goto yy261; + if (yych == 's') goto yy261; + goto yy194; +yy257: YYDEBUG(257, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(258, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1362 "Zend/zend_language_scanner.l" ++#line 1366 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3712 "Zend/zend_language_scanner.c" -yy258: - YYDEBUG(258, *YYCURSOR); - ++YYCURSOR; +#line 3720 "Zend/zend_language_scanner.c" yy259: YYDEBUG(259, *YYCURSOR); + ++YYCURSOR; +yy260: + YYDEBUG(260, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1358 "Zend/zend_language_scanner.l" ++#line 1362 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } @@@ -3758,27 -3750,27 +3758,27 @@@ yy266 ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(266, *YYCURSOR); + YYDEBUG(267, *YYCURSOR); if (yych <= '\r') { - if (yych <= 0x08) goto yy193; - if (yych <= '\n') goto yy265; - if (yych <= '\f') goto yy193; - goto yy265; + if (yych <= 0x08) goto yy194; + if (yych <= '\n') goto yy266; + if (yych <= '\f') goto yy194; + goto yy266; } else { if (yych <= ' ') { - if (yych <= 0x1F) goto yy193; - goto yy265; + if (yych <= 0x1F) goto yy194; + goto yy266; } else { - if (yych == '>') goto yy205; - goto yy193; + if (yych == '>') goto yy206; + goto yy194; } } -yy267: - YYDEBUG(267, *YYCURSOR); - ++YYCURSOR; +yy268: YYDEBUG(268, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(269, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1394 "Zend/zend_language_scanner.l" ++#line 1398 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } @@@ -3867,27 -3859,27 +3867,27 @@@ yy277 } } else { if (yych <= '`') { - if (yych == '_') goto yy275; - goto yy193; + if (yych == '_') goto yy276; + goto yy194; } else { - if (yych <= 'z') goto yy275; - if (yych <= '~') goto yy193; - goto yy275; + if (yych <= 'z') goto yy276; + if (yych <= '~') goto yy194; + goto yy276; } } -yy277: - YYDEBUG(277, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy278; - if (yych == '\r') goto yy280; - goto yy193; yy278: YYDEBUG(278, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '\n') goto yy279; + if (yych == '\r') goto yy281; + goto yy194; yy279: YYDEBUG(279, *YYCURSOR); + ++YYCURSOR; +yy280: + YYDEBUG(280, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2109 "Zend/zend_language_scanner.l" ++#line 2113 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@@ -3959,43 -3951,43 +3959,43 @@@ yy283 } } else { if (yych <= '`') { - if (yych == '_') goto yy281; - goto yy193; + if (yych == '_') goto yy282; + goto yy194; } else { - if (yych <= 'z') goto yy281; - if (yych <= '~') goto yy193; - goto yy281; + if (yych <= 'z') goto yy282; + if (yych <= '~') goto yy194; + goto yy282; } } -yy283: - YYDEBUG(283, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '=') goto yy259; +yy284: YYDEBUG(284, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych != '=') goto yy260; YYDEBUG(285, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(286, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1350 "Zend/zend_language_scanner.l" ++#line 1354 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3975 "Zend/zend_language_scanner.c" -yy286: - YYDEBUG(286, *YYCURSOR); - ++YYCURSOR; +#line 3983 "Zend/zend_language_scanner.c" +yy287: YYDEBUG(287, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(288, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1370 "Zend/zend_language_scanner.l" ++#line 1374 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3985 "Zend/zend_language_scanner.c" -yy288: - YYDEBUG(288, *YYCURSOR); - ++YYCURSOR; +#line 3993 "Zend/zend_language_scanner.c" +yy289: YYDEBUG(289, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(290, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1338 "Zend/zend_language_scanner.l" ++#line 1342 "Zend/zend_language_scanner.l" { return T_INC; } @@@ -4003,53 -4000,48 +4003,53 @@@ yy291: YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy292; - if (yych != 't') goto yy186; + if (yych == 'S') goto yy292; + if (yych != 's') goto yy187; yy292: YYDEBUG(292, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy293; + if (yych != 't') goto yy187; +yy293: + YYDEBUG(293, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(293, *YYCURSOR); + YYDEBUG(294, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1326 "Zend/zend_language_scanner.l" ++#line 1330 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 4018 "Zend/zend_language_scanner.c" -yy294: - YYDEBUG(294, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy298; +#line 4026 "Zend/zend_language_scanner.c" +yy295: YYDEBUG(295, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy299; + YYDEBUG(296, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1354 "Zend/zend_language_scanner.l" ++#line 1358 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 4029 "Zend/zend_language_scanner.c" -yy296: - YYDEBUG(296, *YYCURSOR); - ++YYCURSOR; +#line 4037 "Zend/zend_language_scanner.c" +yy297: YYDEBUG(297, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(298, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1322 "Zend/zend_language_scanner.l" ++#line 1326 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 4039 "Zend/zend_language_scanner.c" -yy298: - YYDEBUG(298, *YYCURSOR); - ++YYCURSOR; +#line 4047 "Zend/zend_language_scanner.c" +yy299: YYDEBUG(299, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(300, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1346 "Zend/zend_language_scanner.l" ++#line 1350 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } @@@ -4167,23 -4164,18 +4167,23 @@@ yy315 yy316: YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'E') goto yy317; + if (yych != 'e') goto yy187; +yy317: YYDEBUG(317, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(318, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(319, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(319, *YYCURSOR); + YYDEBUG(320, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1710 "Zend/zend_language_scanner.l" ++#line 1714 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@@ -4197,23 -4194,18 +4197,23 @@@ yy321: YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'R') goto yy322; + if (yych != 'r') goto yy187; +yy322: YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(323, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(324, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(324, *YYCURSOR); + YYDEBUG(325, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1683 "Zend/zend_language_scanner.l" ++#line 1687 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@@ -4249,23 -4246,18 +4249,23 @@@ yy326 yy327: YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'E') goto yy328; + if (yych != 'e') goto yy187; +yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(329, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(330, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(330, *YYCURSOR); + YYDEBUG(331, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1665 "Zend/zend_language_scanner.l" ++#line 1669 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; @@@ -4290,23 -4287,18 +4290,23 @@@ yy334 yy335: YYDEBUG(335, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'D') goto yy336; + if (yych != 'd') goto yy187; +yy336: YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(337, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(338, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(338, *YYCURSOR); + YYDEBUG(339, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1644 "Zend/zend_language_scanner.l" ++#line 1648 "Zend/zend_language_scanner.l" { const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; @@@ -4362,23 -4359,18 +4362,23 @@@ yy345 yy346: YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'N') goto yy347; + if (yych != 'n') goto yy187; +yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(348, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(349, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(349, *YYCURSOR); + YYDEBUG(350, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1628 "Zend/zend_language_scanner.l" ++#line 1632 "Zend/zend_language_scanner.l" { const char *func_name = NULL; @@@ -4398,23 -4395,18 +4398,23 @@@ yy351: YYDEBUG(351, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'E') goto yy352; + if (yych != 'e') goto yy187; +yy352: YYDEBUG(352, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(353, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(354, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(354, *YYCURSOR); + YYDEBUG(355, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1671 "Zend/zend_language_scanner.l" ++#line 1675 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@@ -4440,23 -4437,18 +4440,23 @@@ yy357 yy358: YYDEBUG(358, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'T') goto yy359; + if (yych != 't') goto yy187; +yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(360, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(361, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(361, *YYCURSOR); + YYDEBUG(362, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1608 "Zend/zend_language_scanner.l" ++#line 1612 "Zend/zend_language_scanner.l" { const char *trait_name = NULL; @@@ -4490,23 -4487,18 +4490,23 @@@ yy364 yy365: YYDEBUG(365, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'S') goto yy366; + if (yych != 's') goto yy187; +yy366: YYDEBUG(366, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych != '_') goto yy187; YYDEBUG(367, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy187; + YYDEBUG(368, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(368, *YYCURSOR); + YYDEBUG(369, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1581 "Zend/zend_language_scanner.l" ++#line 1585 "Zend/zend_language_scanner.l" { const char *class_name = NULL; @@@ -4580,22 -4577,17 +4580,22 @@@ yy378 yy379: YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy380; - if (yych != 'r') goto yy186; + if (yych == 'E') goto yy380; + if (yych != 'e') goto yy187; yy380: YYDEBUG(380, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy381; + if (yych != 'r') goto yy187; +yy381: + YYDEBUG(381, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(381, *YYCURSOR); + YYDEBUG(382, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1290 "Zend/zend_language_scanner.l" ++#line 1294 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } @@@ -4603,23 -4601,17 +4603,23 @@@ yy383: YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy384; - if (yych != 'e') goto yy186; + if (yych == 'S') goto yy387; + if (yych == 's') goto yy387; + goto yy187; yy384: YYDEBUG(384, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy385; + if (yych != 'e') goto yy187; +yy385: + YYDEBUG(385, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(385, *YYCURSOR); + YYDEBUG(386, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1270 "Zend/zend_language_scanner.l" ++#line 1274 "Zend/zend_language_scanner.l" { return T_USE; } @@@ -4627,22 -4624,17 +4627,22 @@@ yy387: YYDEBUG(387, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy388; - if (yych != 't') goto yy186; + if (yych == 'E') goto yy388; + if (yych != 'e') goto yy187; yy388: YYDEBUG(388, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy389; + if (yych != 't') goto yy187; +yy389: + YYDEBUG(389, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(389, *YYCURSOR); + YYDEBUG(390, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1318 "Zend/zend_language_scanner.l" ++#line 1322 "Zend/zend_language_scanner.l" { return T_UNSET; } @@@ -4805,20 -4797,20 +4805,20 @@@ yy405 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy405: - YYDEBUG(405, *YYCURSOR); +yy406: + YYDEBUG(406, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy404; - goto yy193; + if (yych == '\t') goto yy405; + goto yy194; } else { - if (yych <= ' ') goto yy404; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy405; + if (yych != ')') goto yy194; } - YYDEBUG(406, *YYCURSOR); - ++YYCURSOR; YYDEBUG(407, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(408, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1218 "Zend/zend_language_scanner.l" ++#line 1222 "Zend/zend_language_scanner.l" { return T_INT_CAST; } @@@ -4854,19 -4846,19 +4854,19 @@@ yy414 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(414, *YYCURSOR); + YYDEBUG(415, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy413; - goto yy193; + if (yych == '\t') goto yy414; + goto yy194; } else { - if (yych <= ' ') goto yy413; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy414; + if (yych != ')') goto yy194; } - YYDEBUG(415, *YYCURSOR); - ++YYCURSOR; YYDEBUG(416, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(417, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1222 "Zend/zend_language_scanner.l" ++#line 1226 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } @@@ -4928,19 -4920,19 +4928,19 @@@ yy428 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(428, *YYCURSOR); + YYDEBUG(429, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy427; - goto yy193; + if (yych == '\t') goto yy428; + goto yy194; } else { - if (yych <= ' ') goto yy427; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy428; + if (yych != ')') goto yy194; } - YYDEBUG(429, *YYCURSOR); - ++YYCURSOR; YYDEBUG(430, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(431, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1226 "Zend/zend_language_scanner.l" ++#line 1230 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } @@@ -4965,19 -4957,19 +4965,19 @@@ yy435 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(435, *YYCURSOR); + YYDEBUG(436, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy434; - goto yy193; + if (yych == '\t') goto yy435; + goto yy194; } else { - if (yych <= ' ') goto yy434; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy435; + if (yych != ')') goto yy194; } - YYDEBUG(436, *YYCURSOR); - ++YYCURSOR; YYDEBUG(437, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(438, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1230 "Zend/zend_language_scanner.l" ++#line 1234 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } @@@ -5007,19 -4999,19 +5007,19 @@@ yy443 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(443, *YYCURSOR); + YYDEBUG(444, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy442; - goto yy193; + if (yych == '\t') goto yy443; + goto yy194; } else { - if (yych <= ' ') goto yy442; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy443; + if (yych != ')') goto yy194; } - YYDEBUG(444, *YYCURSOR); - ++YYCURSOR; YYDEBUG(445, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(446, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1234 "Zend/zend_language_scanner.l" ++#line 1238 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } @@@ -5051,20 -5043,20 +5051,20 @@@ yy451 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy451: - YYDEBUG(451, *YYCURSOR); +yy452: + YYDEBUG(452, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy450; - goto yy193; + if (yych == '\t') goto yy451; + goto yy194; } else { - if (yych <= ' ') goto yy450; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy451; + if (yych != ')') goto yy194; } - YYDEBUG(452, *YYCURSOR); - ++YYCURSOR; YYDEBUG(453, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(454, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1238 "Zend/zend_language_scanner.l" ++#line 1242 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } @@@ -5116,37 -5108,37 +5116,37 @@@ yy463 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(463, *YYCURSOR); + YYDEBUG(464, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy462; - goto yy193; + if (yych == '\t') goto yy463; + goto yy194; } else { - if (yych <= ' ') goto yy462; - if (yych != ')') goto yy193; + if (yych <= ' ') goto yy463; + if (yych != ')') goto yy194; } - YYDEBUG(464, *YYCURSOR); - ++YYCURSOR; YYDEBUG(465, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(466, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1242 "Zend/zend_language_scanner.l" ++#line 1246 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 5128 "Zend/zend_language_scanner.c" -yy466: - YYDEBUG(466, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy467; - if (yych != 'r') goto yy186; +#line 5136 "Zend/zend_language_scanner.c" yy467: YYDEBUG(467, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy468; + if (yych != 'r') goto yy187; +yy468: + YYDEBUG(468, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(468, *YYCURSOR); + YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1214 "Zend/zend_language_scanner.l" ++#line 1218 "Zend/zend_language_scanner.l" { return T_VAR; } @@@ -5154,23 -5152,17 +5154,23 @@@ yy470: YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy471; - if (yych != 'w') goto yy186; + if (yych == 'M') goto yy474; + if (yych == 'm') goto yy474; + goto yy187; yy471: YYDEBUG(471, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'W') goto yy472; + if (yych != 'w') goto yy187; +yy472: + YYDEBUG(472, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(472, *YYCURSOR); + YYDEBUG(473, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1206 "Zend/zend_language_scanner.l" ++#line 1210 "Zend/zend_language_scanner.l" { return T_NEW; } @@@ -5198,32 -5195,27 +5198,32 @@@ yy477 yy478: YYDEBUG(478, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy479; - if (yych != 'e') goto yy186; + if (yych == 'C') goto yy479; + if (yych != 'c') goto yy187; yy479: YYDEBUG(479, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy480; + if (yych != 'e') goto yy187; +yy480: + YYDEBUG(480, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(480, *YYCURSOR); + YYDEBUG(481, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1266 "Zend/zend_language_scanner.l" ++#line 1270 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 5213 "Zend/zend_language_scanner.c" -yy481: - YYDEBUG(481, *YYCURSOR); - ++YYCURSOR; +#line 5221 "Zend/zend_language_scanner.c" +yy482: YYDEBUG(482, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(483, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1198 "Zend/zend_language_scanner.l" ++#line 1202 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } @@@ -5233,43 -5225,43 +5233,43 @@@ yy484 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy484: - YYDEBUG(484, *YYCURSOR); +yy485: + YYDEBUG(485, *YYCURSOR); if (yych <= '\f') { - if (yych <= 0x08) goto yy140; - if (yych <= '\n') goto yy483; - goto yy140; + if (yych <= 0x08) goto yy141; + if (yych <= '\n') goto yy484; + goto yy141; } else { - if (yych <= '\r') goto yy483; - if (yych == ' ') goto yy483; - goto yy140; + if (yych <= '\r') goto yy484; + if (yych == ' ') goto yy484; + goto yy141; } -yy485: - YYDEBUG(485, *YYCURSOR); - ++YYCURSOR; +yy486: YYDEBUG(486, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(487, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1374 "Zend/zend_language_scanner.l" ++#line 1378 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 5249 "Zend/zend_language_scanner.c" -yy487: - YYDEBUG(487, *YYCURSOR); - ++YYCURSOR; +#line 5257 "Zend/zend_language_scanner.c" +yy488: YYDEBUG(488, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(489, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1342 "Zend/zend_language_scanner.l" ++#line 1346 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 5259 "Zend/zend_language_scanner.c" -yy489: - YYDEBUG(489, *YYCURSOR); - ++YYCURSOR; +#line 5267 "Zend/zend_language_scanner.c" +yy490: YYDEBUG(490, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(491, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1168 "Zend/zend_language_scanner.l" ++#line 1172 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; @@@ -5304,22 -5301,17 +5304,22 @@@ yy494 yy495: YYDEBUG(495, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy496; - if (yych != 'c') goto yy186; + if (yych == 'I') goto yy496; + if (yych != 'i') goto yy187; yy496: YYDEBUG(496, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy497; + if (yych != 'c') goto yy187; +yy497: + YYDEBUG(497, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(497, *YYCURSOR); + YYDEBUG(498, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1314 "Zend/zend_language_scanner.l" ++#line 1318 "Zend/zend_language_scanner.l" { return T_PUBLIC; } @@@ -5363,22 -5360,17 +5363,22 @@@ yy503 yy504: YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy505; - if (yych != 'd') goto yy186; + if (yych == 'E') goto yy505; + if (yych != 'e') goto yy187; yy505: YYDEBUG(505, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'D') goto yy506; + if (yych != 'd') goto yy187; +yy506: + YYDEBUG(506, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(506, *YYCURSOR); + YYDEBUG(507, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1310 "Zend/zend_language_scanner.l" ++#line 1314 "Zend/zend_language_scanner.l" { return T_PROTECTED; } @@@ -5397,35 -5394,30 +5397,35 @@@ yy509 yy510: YYDEBUG(510, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy511; - if (yych != 'e') goto yy186; + if (yych == 'T') goto yy511; + if (yych != 't') goto yy187; yy511: YYDEBUG(511, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy512; + if (yych != 'e') goto yy187; +yy512: + YYDEBUG(512, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(512, *YYCURSOR); + YYDEBUG(513, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1306 "Zend/zend_language_scanner.l" ++#line 1310 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5412 "Zend/zend_language_scanner.c" -yy513: - YYDEBUG(513, *YYCURSOR); +#line 5420 "Zend/zend_language_scanner.c" +yy514: + YYDEBUG(514, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(514, *YYCURSOR); + YYDEBUG(515, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1144 "Zend/zend_language_scanner.l" ++#line 1148 "Zend/zend_language_scanner.l" { return T_PRINT; } @@@ -5439,22 -5436,17 +5439,22 @@@ yy516 yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy518; - if (yych != 'o') goto yy186; + if (yych == 'T') goto yy518; + if (yych != 't') goto yy187; yy518: YYDEBUG(518, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy519; + if (yych != 'o') goto yy187; +yy519: + YYDEBUG(519, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(519, *YYCURSOR); + YYDEBUG(520, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1136 "Zend/zend_language_scanner.l" ++#line 1140 "Zend/zend_language_scanner.l" { return T_GOTO; } @@@ -5467,22 -5464,17 +5467,22 @@@ yy521 yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy523; - if (yych != 'l') goto yy186; + if (yych == 'A') goto yy523; + if (yych != 'a') goto yy187; yy523: YYDEBUG(523, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy524; + if (yych != 'l') goto yy187; +yy524: + YYDEBUG(524, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(524, *YYCURSOR); + YYDEBUG(525, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1278 "Zend/zend_language_scanner.l" ++#line 1282 "Zend/zend_language_scanner.l" { return T_GLOBAL; } @@@ -5508,22 -5505,17 +5508,22 @@@ yy529 yy530: YYDEBUG(530, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy531; - if (yych != 'k') goto yy186; + if (yych == 'A') goto yy531; + if (yych != 'a') goto yy187; yy531: YYDEBUG(531, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'K') goto yy532; + if (yych != 'k') goto yy187; +yy532: + YYDEBUG(532, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(532, *YYCURSOR); + YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1128 "Zend/zend_language_scanner.l" ++#line 1132 "Zend/zend_language_scanner.l" { return T_BREAK; } @@@ -5552,22 -5549,17 +5552,22 @@@ yy537 yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy539; - if (yych != 'h') goto yy186; + if (yych == 'C') goto yy539; + if (yych != 'c') goto yy187; yy539: YYDEBUG(539, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy540; + if (yych != 'h') goto yy187; +yy540: + YYDEBUG(540, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(540, *YYCURSOR); + YYDEBUG(541, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1112 "Zend/zend_language_scanner.l" ++#line 1116 "Zend/zend_language_scanner.l" { return T_SWITCH; } @@@ -5580,22 -5577,17 +5580,22 @@@ yy542 yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy544; - if (yych != 'c') goto yy186; + if (yych == 'I') goto yy544; + if (yych != 'i') goto yy187; yy544: YYDEBUG(544, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy545; + if (yych != 'c') goto yy187; +yy545: + YYDEBUG(545, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(545, *YYCURSOR); + YYDEBUG(546, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1294 "Zend/zend_language_scanner.l" ++#line 1298 "Zend/zend_language_scanner.l" { return T_STATIC; } @@@ -5609,24 -5607,18 +5609,24 @@@ yy547 yy548: YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy551; - if (yych == 'r') goto yy551; - goto yy186; + if (yych == 'D') goto yy556; + if (yych == 'd') goto yy556; + goto yy187; yy549: YYDEBUG(549, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy552; + if (yych == 'r') goto yy552; + goto yy187; +yy550: + YYDEBUG(550, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(550, *YYCURSOR); + YYDEBUG(551, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1108 "Zend/zend_language_scanner.l" ++#line 1112 "Zend/zend_language_scanner.l" { return T_AS; } @@@ -5634,35 -5631,30 +5634,35 @@@ yy552: YYDEBUG(552, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy553; - if (yych != 'y') goto yy186; + if (yych == 'A') goto yy553; + if (yych != 'a') goto yy187; yy553: YYDEBUG(553, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy554; + if (yych != 'y') goto yy187; +yy554: + YYDEBUG(554, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(554, *YYCURSOR); + YYDEBUG(555, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1330 "Zend/zend_language_scanner.l" ++#line 1334 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5649 "Zend/zend_language_scanner.c" -yy555: - YYDEBUG(555, *YYCURSOR); +#line 5657 "Zend/zend_language_scanner.c" +yy556: + YYDEBUG(556, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(556, *YYCURSOR); + YYDEBUG(557, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1426 "Zend/zend_language_scanner.l" ++#line 1430 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } @@@ -5685,22 -5682,17 +5685,22 @@@ yy560 yy561: YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy562; - if (yych != 't') goto yy186; + if (yych == 'C') goto yy562; + if (yych != 'c') goto yy187; yy562: YYDEBUG(562, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy563; + if (yych != 't') goto yy187; +yy563: + YYDEBUG(563, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(563, *YYCURSOR); + YYDEBUG(564, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1298 "Zend/zend_language_scanner.l" ++#line 1302 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } @@@ -5713,35 -5710,30 +5713,35 @@@ yy565 yy566: YYDEBUG(566, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy567; - if (yych != 'e') goto yy186; + if (yych == 'L') goto yy567; + if (yych != 'l') goto yy187; yy567: YYDEBUG(567, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy568; + if (yych != 'e') goto yy187; +yy568: + YYDEBUG(568, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(568, *YYCURSOR); + YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1068 "Zend/zend_language_scanner.l" ++#line 1072 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5728 "Zend/zend_language_scanner.c" -yy569: - YYDEBUG(569, *YYCURSOR); +#line 5736 "Zend/zend_language_scanner.c" +yy570: + YYDEBUG(570, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(570, *YYCURSOR); + YYDEBUG(571, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1052 "Zend/zend_language_scanner.l" ++#line 1056 "Zend/zend_language_scanner.l" { return T_IF; } @@@ -5782,22 -5779,17 +5782,22 @@@ yy574 yy575: YYDEBUG(575, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy576; - if (yych != 't') goto yy186; + if (yych == 'E') goto yy576; + if (yych != 'e') goto yy187; yy576: YYDEBUG(576, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy577; + if (yych != 't') goto yy187; +yy577: + YYDEBUG(577, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(577, *YYCURSOR); + YYDEBUG(578, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1282 "Zend/zend_language_scanner.l" ++#line 1286 "Zend/zend_language_scanner.l" { return T_ISSET; } @@@ -5846,16 -5838,16 +5846,16 @@@ yy585 } } else { if (yych <= '`') { - if (yych <= '_') goto yy586; + if (yych <= '_') goto yy587; } else { - if (yych <= 'z') goto yy185; - if (yych >= 0x7F) goto yy185; + if (yych <= 'z') goto yy186; + if (yych >= 0x7F) goto yy186; } } -yy585: - YYDEBUG(585, *YYCURSOR); +yy586: + YYDEBUG(586, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1250 "Zend/zend_language_scanner.l" ++#line 1254 "Zend/zend_language_scanner.l" { return T_INCLUDE; } @@@ -5873,22 -5870,17 +5873,22 @@@ yy588 yy589: YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy590; - if (yych != 'e') goto yy186; + if (yych == 'C') goto yy590; + if (yych != 'c') goto yy187; yy590: YYDEBUG(590, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy591; + if (yych != 'e') goto yy187; +yy591: + YYDEBUG(591, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(591, *YYCURSOR); + YYDEBUG(592, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1254 "Zend/zend_language_scanner.l" ++#line 1258 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } @@@ -5911,22 -5908,17 +5911,22 @@@ yy595 yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy597; - if (yych != 'e') goto yy186; + if (yych == 'C') goto yy597; + if (yych != 'c') goto yy187; yy597: YYDEBUG(597, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy598; + if (yych != 'e') goto yy187; +yy598: + YYDEBUG(598, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(598, *YYCURSOR); + YYDEBUG(599, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1152 "Zend/zend_language_scanner.l" ++#line 1156 "Zend/zend_language_scanner.l" { return T_INTERFACE; } @@@ -5965,22 -5962,17 +5965,22 @@@ yy603 yy604: YYDEBUG(604, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy605; - if (yych != 'f') goto yy186; + if (yych == 'O') goto yy605; + if (yych != 'o') goto yy187; yy605: YYDEBUG(605, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'F') goto yy606; + if (yych != 'f') goto yy187; +yy606: + YYDEBUG(606, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(606, *YYCURSOR); + YYDEBUG(607, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1274 "Zend/zend_language_scanner.l" ++#line 1278 "Zend/zend_language_scanner.l" { return T_INSTEADOF; } @@@ -5998,22 -5995,17 +5998,22 @@@ yy609 yy610: YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy611; - if (yych != 'f') goto yy186; + if (yych == 'O') goto yy611; + if (yych != 'o') goto yy187; yy611: YYDEBUG(611, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'F') goto yy612; + if (yych != 'f') goto yy187; +yy612: + YYDEBUG(612, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(612, *YYCURSOR); + YYDEBUG(613, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1104 "Zend/zend_language_scanner.l" ++#line 1108 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } @@@ -6046,22 -6043,17 +6046,22 @@@ yy618 yy619: YYDEBUG(619, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy620; - if (yych != 's') goto yy186; + if (yych == 'T') goto yy620; + if (yych != 't') goto yy187; yy620: YYDEBUG(620, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy621; + if (yych != 's') goto yy187; +yy621: + YYDEBUG(621, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(621, *YYCURSOR); + YYDEBUG(622, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1164 "Zend/zend_language_scanner.l" ++#line 1168 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } @@@ -6101,22 -6098,17 +6101,22 @@@ yy624 yy627: YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy628; - if (yych != 't') goto yy186; + if (yych == 'I') goto yy628; + if (yych != 'i') goto yy187; yy628: YYDEBUG(628, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy629; + if (yych != 't') goto yy187; +yy629: + YYDEBUG(629, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(629, *YYCURSOR); + YYDEBUG(630, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1156 "Zend/zend_language_scanner.l" ++#line 1160 "Zend/zend_language_scanner.l" { return T_TRAIT; } @@@ -6124,22 -6121,17 +6124,22 @@@ yy631: YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy632; - if (yych != 'w') goto yy186; + if (yych == 'O') goto yy632; + if (yych != 'o') goto yy187; yy632: YYDEBUG(632, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'W') goto yy633; + if (yych != 'w') goto yy187; +yy633: + YYDEBUG(633, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(633, *YYCURSOR); + YYDEBUG(634, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1048 "Zend/zend_language_scanner.l" ++#line 1052 "Zend/zend_language_scanner.l" { return T_THROW; } @@@ -6214,29 -6224,16 +6214,29 @@@ yy645 yy646: YYDEBUG(646, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '9') { + if (yych >= '0') goto yy186; + } else { + if (yych <= '@') goto yy647; + if (yych <= 'Z') goto yy186; + } + } else { + if (yych <= '`') { + if (yych <= '_') goto yy648; + } else { + if (yych <= 'z') goto yy186; + if (yych >= 0x7F) goto yy186; + } } +yy647: YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1258 "Zend/zend_language_scanner.l" + #line 1262 "Zend/zend_language_scanner.l" { - return T_REQUIRE_ONCE; + return T_REQUIRE; } -#line 6237 "Zend/zend_language_scanner.c" +#line 6240 "Zend/zend_language_scanner.c" yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; @@@ -6246,47 -6243,14 +6246,47 @@@ yy649 YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy650; - if (yych != 'n') goto yy186; + if (yych != 'n') goto yy187; yy650: YYDEBUG(650, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy651; + if (yych != 'c') goto yy187; +yy651: + YYDEBUG(651, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy652; + if (yych != 'e') goto yy187; +yy652: + YYDEBUG(652, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(651, *YYCURSOR); + YYDEBUG(653, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 1262 "Zend/zend_language_scanner.l" ++#line 1266 "Zend/zend_language_scanner.l" + { + return T_REQUIRE_ONCE; +} +#line 6273 "Zend/zend_language_scanner.c" +yy654: + YYDEBUG(654, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy655; + if (yych != 'r') goto yy187; +yy655: + YYDEBUG(655, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy656; + if (yych != 'n') goto yy187; +yy656: + YYDEBUG(656, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy186; + } + YYDEBUG(657, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1032 "Zend/zend_language_scanner.l" { @@@ -6307,82 -6271,82 +6307,82 @@@ yy658 } } else { if (yych <= 'r') { - if (yych == 'l') goto yy675; - goto yy186; + if (yych == 'l') goto yy681; + goto yy187; } else { - if (yych <= 's') goto yy674; - if (yych <= 't') goto yy673; - goto yy186; + if (yych <= 's') goto yy680; + if (yych <= 't') goto yy679; + goto yy187; } } -yy653: - YYDEBUG(653, *YYCURSOR); +yy659: + YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'A') goto yy665; - if (yych <= 'N') goto yy186; - goto yy666; + if (yych == 'A') goto yy671; + if (yych <= 'N') goto yy187; + goto yy672; } else { if (yych <= 'a') { - if (yych <= '`') goto yy186; - goto yy665; + if (yych <= '`') goto yy187; + goto yy671; } else { - if (yych == 'o') goto yy666; - goto yy186; + if (yych == 'o') goto yy672; + goto yy187; } } -yy654: - YYDEBUG(654, *YYCURSOR); +yy660: + YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy655; - if (yych != 'n') goto yy186; -yy655: - YYDEBUG(655, *YYCURSOR); + if (yych == 'N') goto yy661; + if (yych != 'n') goto yy187; +yy661: + YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych <= 'R') goto yy186; - if (yych >= 'T') goto yy657; + if (yych <= 'R') goto yy187; + if (yych >= 'T') goto yy663; } else { - if (yych <= 'r') goto yy186; - if (yych <= 's') goto yy656; - if (yych <= 't') goto yy657; - goto yy186; + if (yych <= 'r') goto yy187; + if (yych <= 's') goto yy662; + if (yych <= 't') goto yy663; + goto yy187; } -yy656: - YYDEBUG(656, *YYCURSOR); +yy662: + YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy663; - if (yych == 't') goto yy663; - goto yy186; -yy657: - YYDEBUG(657, *YYCURSOR); + if (yych == 'T') goto yy669; + if (yych == 't') goto yy669; + goto yy187; +yy663: + YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy658; - if (yych != 'i') goto yy186; -yy658: - YYDEBUG(658, *YYCURSOR); + if (yych == 'I') goto yy664; + if (yych != 'i') goto yy187; +yy664: + YYDEBUG(664, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy659; - if (yych != 'n') goto yy186; -yy659: - YYDEBUG(659, *YYCURSOR); + if (yych == 'N') goto yy665; + if (yych != 'n') goto yy187; +yy665: + YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy660; - if (yych != 'u') goto yy186; -yy660: - YYDEBUG(660, *YYCURSOR); + if (yych == 'U') goto yy666; + if (yych != 'u') goto yy187; +yy666: + YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy661; - if (yych != 'e') goto yy186; -yy661: - YYDEBUG(661, *YYCURSOR); + if (yych == 'E') goto yy667; + if (yych != 'e') goto yy187; +yy667: + YYDEBUG(667, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(662, *YYCURSOR); + YYDEBUG(668, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1132 "Zend/zend_language_scanner.l" ++#line 1136 "Zend/zend_language_scanner.l" { return T_CONTINUE; } @@@ -6399,50 -6363,50 +6399,50 @@@ yy669 { return T_CONST; } -#line 6367 "Zend/zend_language_scanner.c" -yy665: - YYDEBUG(665, *YYCURSOR); +#line 6403 "Zend/zend_language_scanner.c" +yy671: + YYDEBUG(671, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy670; - if (yych == 's') goto yy670; - goto yy186; -yy666: - YYDEBUG(666, *YYCURSOR); + if (yych == 'S') goto yy676; + if (yych == 's') goto yy676; + goto yy187; +yy672: + YYDEBUG(672, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy667; - if (yych != 'n') goto yy186; -yy667: - YYDEBUG(667, *YYCURSOR); + if (yych == 'N') goto yy673; + if (yych != 'n') goto yy187; +yy673: + YYDEBUG(673, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy668; - if (yych != 'e') goto yy186; -yy668: - YYDEBUG(668, *YYCURSOR); + if (yych == 'E') goto yy674; + if (yych != 'e') goto yy187; +yy674: + YYDEBUG(674, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(669, *YYCURSOR); + YYDEBUG(675, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1210 "Zend/zend_language_scanner.l" ++#line 1214 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6396 "Zend/zend_language_scanner.c" -yy670: - YYDEBUG(670, *YYCURSOR); +#line 6432 "Zend/zend_language_scanner.c" +yy676: + YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy671; - if (yych != 's') goto yy186; -yy671: - YYDEBUG(671, *YYCURSOR); + if (yych == 'S') goto yy677; + if (yych != 's') goto yy187; +yy677: + YYDEBUG(677, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(672, *YYCURSOR); + YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1148 "Zend/zend_language_scanner.l" ++#line 1152 "Zend/zend_language_scanner.l" { return T_CLASS; } @@@ -6477,39 -6477,38 +6477,39 @@@ yy683 yy684: YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy685; - if (yych != 'h') goto yy186; + if (yych == 'L') goto yy685; + if (yych != 'l') goto yy187; yy685: YYDEBUG(685, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy686; + if (yych != 'e') goto yy187; +yy686: + YYDEBUG(686, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(686, *YYCURSOR); + YYDEBUG(687, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1334 "Zend/zend_language_scanner.l" -#line 1040 "Zend/zend_language_scanner.l" ++#line 1338 "Zend/zend_language_scanner.l" { - return T_CATCH; + return T_CALLABLE; } -#line 6495 "Zend/zend_language_scanner.c" -yy687: - YYDEBUG(687, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy704; - if (yych == 'n') goto yy704; - goto yy186; +#line 6500 "Zend/zend_language_scanner.c" yy688: YYDEBUG(688, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy697; - if (yych == 'r') goto yy697; - goto yy186; -yy689: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy186; + } YYDEBUG(689, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy690; - if (yych != 'n') goto yy186; + yyleng = YYCURSOR - SCNG(yy_text); - #line 1120 "Zend/zend_language_scanner.l" ++#line 1124 "Zend/zend_language_scanner.l" + { + return T_CASE; +} +#line 6513 "Zend/zend_language_scanner.c" yy690: YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; @@@ -6596,613 -6560,646 +6596,646 @@@ yy703 } } else { if (yych <= 'd') { - if (yych != '`') goto yy185; + if (yych != '`') goto yy186; } else { - if (yych <= 'e') goto yy699; - if (yych <= 'z') goto yy185; - if (yych >= 0x7F) goto yy185; + if (yych <= 'e') goto yy705; + if (yych <= 'z') goto yy186; + if (yych >= 0x7F) goto yy186; } } -yy698: - YYDEBUG(698, *YYCURSOR); +yy704: + YYDEBUG(704, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1080 "Zend/zend_language_scanner.l" ++#line 1084 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6578 "Zend/zend_language_scanner.c" -yy699: - YYDEBUG(699, *YYCURSOR); +#line 6614 "Zend/zend_language_scanner.c" +yy705: + YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy700; - if (yych != 'a') goto yy186; -yy700: - YYDEBUG(700, *YYCURSOR); + if (yych == 'A') goto yy706; + if (yych != 'a') goto yy187; +yy706: + YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy701; - if (yych != 'c') goto yy186; -yy701: - YYDEBUG(701, *YYCURSOR); + if (yych == 'C') goto yy707; + if (yych != 'c') goto yy187; +yy707: + YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy702; - if (yych != 'h') goto yy186; -yy702: - YYDEBUG(702, *YYCURSOR); + if (yych == 'H') goto yy708; + if (yych != 'h') goto yy187; +yy708: + YYDEBUG(708, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(703, *YYCURSOR); + YYDEBUG(709, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1088 "Zend/zend_language_scanner.l" ++#line 1092 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6606 "Zend/zend_language_scanner.c" -yy704: - YYDEBUG(704, *YYCURSOR); +#line 6642 "Zend/zend_language_scanner.c" +yy710: + YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy705; - if (yych != 'a') goto yy186; -yy705: - YYDEBUG(705, *YYCURSOR); + if (yych == 'A') goto yy711; + if (yych != 'a') goto yy187; +yy711: + YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy706; - if (yych != 'l') goto yy186; -yy706: - YYDEBUG(706, *YYCURSOR); + if (yych == 'L') goto yy712; + if (yych != 'l') goto yy187; +yy712: + YYDEBUG(712, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy186; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { - if (yych <= '/') goto yy707; - if (yych <= '9') goto yy185; ++ if (yych <= '/') goto yy713; ++ if (yych <= '9') goto yy186; + } else { - if (yych == 'L') goto yy708; - if (yych <= 'Z') goto yy185; ++ if (yych == 'L') goto yy714; ++ if (yych <= 'Z') goto yy186; + } + } else { + if (yych <= 'k') { - if (yych != '`') goto yy185; ++ if (yych != '`') goto yy186; + } else { - if (yych <= 'l') goto yy708; - if (yych <= 'z') goto yy185; - if (yych >= 0x7F) goto yy185; ++ if (yych <= 'l') goto yy714; ++ if (yych <= 'z') goto yy186; ++ if (yych >= 0x7F) goto yy186; + } } -yy707: - YYDEBUG(707, *YYCURSOR); ++yy713: + YYDEBUG(713, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1302 "Zend/zend_language_scanner.l" ++#line 1306 "Zend/zend_language_scanner.l" { return T_FINAL; } - #line 6665 "Zend/zend_language_scanner.c" -#line 6644 "Zend/zend_language_scanner.c" -yy708: - YYDEBUG(708, *YYCURSOR); ++#line 6680 "Zend/zend_language_scanner.c" +yy714: + YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy709; - if (yych != 'y') goto yy186; -yy709: - YYDEBUG(709, *YYCURSOR); ++ if (yych == 'Y') goto yy715; ++ if (yych != 'y') goto yy187; ++yy715: ++ YYDEBUG(715, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; ++ goto yy186; + } - YYDEBUG(710, *YYCURSOR); ++ YYDEBUG(716, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); -#line 1044 "Zend/zend_language_scanner.l" ++#line 1048 "Zend/zend_language_scanner.l" + { + return T_FINALLY; + } -#line 6662 "Zend/zend_language_scanner.c" -yy711: - YYDEBUG(711, *YYCURSOR); ++#line 6698 "Zend/zend_language_scanner.c" ++yy717: ++ YYDEBUG(717, *YYCURSOR); + yych = *++YYCURSOR; if (yych <= 'F') { - if (yych == 'C') goto yy720; - if (yych == 'C') goto yy717; - if (yych <= 'E') goto yy186; - goto yy718; ++ if (yych == 'C') goto yy723; + if (yych <= 'E') goto yy187; - goto yy721; ++ goto yy724; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy186; - goto yy717; + if (yych <= 'b') goto yy187; - goto yy720; ++ goto yy723; } else { - if (yych == 'f') goto yy721; - if (yych == 'f') goto yy718; - goto yy186; ++ if (yych == 'f') goto yy724; + goto yy187; } } - yy715: - YYDEBUG(715, *YYCURSOR); -yy712: - YYDEBUG(712, *YYCURSOR); ++yy718: ++ YYDEBUG(718, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy718; - if (yych == 'e') goto yy718; - if (yych == 'E') goto yy715; - if (yych == 'e') goto yy715; - goto yy186; -yy713: - YYDEBUG(713, *YYCURSOR); ++ if (yych == 'E') goto yy721; ++ if (yych == 'e') goto yy721; + goto yy187; - yy716: - YYDEBUG(716, *YYCURSOR); ++yy719: ++ YYDEBUG(719, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(717, *YYCURSOR); - YYDEBUG(714, *YYCURSOR); ++ YYDEBUG(720, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1076 "Zend/zend_language_scanner.l" ++#line 1080 "Zend/zend_language_scanner.l" { return T_DO; } - #line 6700 "Zend/zend_language_scanner.c" - yy718: - YYDEBUG(718, *YYCURSOR); -#line 6697 "Zend/zend_language_scanner.c" -yy715: - YYDEBUG(715, *YYCURSOR); ++#line 6733 "Zend/zend_language_scanner.c" ++yy721: ++ YYDEBUG(721, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(719, *YYCURSOR); - YYDEBUG(716, *YYCURSOR); ++ YYDEBUG(722, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1020 "Zend/zend_language_scanner.l" { return T_EXIT; } - #line 6713 "Zend/zend_language_scanner.c" -#line 6710 "Zend/zend_language_scanner.c" -yy717: - YYDEBUG(717, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy724; - if (yych == 'l') goto yy724; - goto yy186; -yy718: - YYDEBUG(718, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy719; - if (yych != 'a') goto yy186; -yy719: - YYDEBUG(719, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy720; - if (yych != 'u') goto yy186; --yy720: -- YYDEBUG(720, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy721; - if (yych != 'l') goto yy186; -yy721: - YYDEBUG(721, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy722; - if (yych != 't') goto yy186; -yy722: - YYDEBUG(722, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; - } ++#line 6746 "Zend/zend_language_scanner.c" ++yy723: + YYDEBUG(723, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1124 "Zend/zend_language_scanner.l" - { - return T_DEFAULT; -} -#line 6749 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; - if (yych == 'L') goto yy727; - if (yych == 'l') goto yy727; ++ if (yych == 'L') goto yy730; ++ if (yych == 'l') goto yy730; + goto yy187; - yy721: - YYDEBUG(721, *YYCURSOR); + yy724: + YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy722; + if (yych == 'A') goto yy725; - if (yych != 'a') goto yy186; + if (yych != 'a') goto yy187; - yy722: - YYDEBUG(722, *YYCURSOR); + yy725: + YYDEBUG(725, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy723; - if (yych == 'R') goto yy726; - if (yych != 'r') goto yy186; ++ if (yych == 'U') goto yy726; + if (yych != 'u') goto yy187; - yy723: - YYDEBUG(723, *YYCURSOR); + yy726: + YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy724; - if (yych == 'E') goto yy727; - if (yych != 'e') goto yy186; ++ if (yych == 'L') goto yy727; + if (yych != 'l') goto yy187; - yy724: - YYDEBUG(724, *YYCURSOR); + yy727: + YYDEBUG(727, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'T') goto yy725; ++ if (yych == 'T') goto yy728; + if (yych != 't') goto yy187; - yy725: - YYDEBUG(725, *YYCURSOR); ++yy728: ++ YYDEBUG(728, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(726, *YYCURSOR); - YYDEBUG(728, *YYCURSOR); ++ YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1124 "Zend/zend_language_scanner.l" -#line 1096 "Zend/zend_language_scanner.l" ++#line 1128 "Zend/zend_language_scanner.l" { - return T_DECLARE; + return T_DEFAULT; } - #line 6752 "Zend/zend_language_scanner.c" - yy727: - YYDEBUG(727, *YYCURSOR); -#line 6777 "Zend/zend_language_scanner.c" -yy729: - YYDEBUG(729, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy791; - if (yych == 'h') goto yy791; - goto yy186; ++#line 6785 "Zend/zend_language_scanner.c" + yy730: + YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy728; - if (yych == 'S') goto yy785; - if (yych == 's') goto yy785; - goto yy186; ++ if (yych == 'A') goto yy731; + if (yych != 'a') goto yy187; - yy728: - YYDEBUG(728, *YYCURSOR); + yy731: + YYDEBUG(731, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy729; - if (yych == 'P') goto yy781; - if (yych == 'p') goto yy781; - goto yy186; ++ if (yych == 'R') goto yy732; + if (yych != 'r') goto yy187; - yy729: - YYDEBUG(729, *YYCURSOR); + yy732: + YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy730; - if (yych == 'D') goto yy747; - if (yych == 'd') goto yy747; - goto yy186; ++ if (yych == 'E') goto yy733; + if (yych != 'e') goto yy187; - yy730: - YYDEBUG(730, *YYCURSOR); + yy733: + YYDEBUG(733, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy744; - if (yych == 'a') goto yy744; - goto yy186; -yy734: - YYDEBUG(734, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych == 'I') goto yy735; - if (yych <= 'S') goto yy186; - goto yy736; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy186; - } else { - if (yych == 't') goto yy736; - goto yy186; - } + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy186; } - YYDEBUG(731, *YYCURSOR); ++ YYDEBUG(734, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 1096 "Zend/zend_language_scanner.l" ++#line 1100 "Zend/zend_language_scanner.l" + { + return T_DECLARE; +} - #line 6780 "Zend/zend_language_scanner.c" - yy732: - YYDEBUG(732, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy794; - if (yych == 'h') goto yy794; - goto yy187; - yy733: - YYDEBUG(733, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy788; - if (yych == 's') goto yy788; - goto yy187; - yy734: - YYDEBUG(734, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy784; - if (yych == 'p') goto yy784; - goto yy187; ++#line 6813 "Zend/zend_language_scanner.c" yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy750; - if (yych == 'd') goto yy750; - if (yych == 'T') goto yy742; - if (yych == 't') goto yy742; - goto yy186; ++ if (yych == 'H') goto yy797; ++ if (yych == 'h') goto yy797; + goto yy187; yy736: YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy747; - if (yych == 'a') goto yy747; - if (yych == 'E') goto yy737; - if (yych != 'e') goto yy186; ++ if (yych == 'S') goto yy791; ++ if (yych == 's') goto yy791; + goto yy187; yy737: YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych == 'I') goto yy738; - if (yych <= 'S') goto yy187; - goto yy739; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy187; - } else { - if (yych == 't') goto yy739; - goto yy187; - } - } - if (yych == 'N') goto yy738; - if (yych != 'n') goto yy186; ++ if (yych == 'P') goto yy787; ++ if (yych == 'p') goto yy787; ++ goto yy187; yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy745; - if (yych == 't') goto yy745; - if (yych == 'D') goto yy739; - if (yych != 'd') goto yy186; ++ if (yych == 'D') goto yy753; ++ if (yych == 'd') goto yy753; + goto yy187; yy739: YYDEBUG(739, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy740; - if (yych != 'e') goto yy187; - if (yych == 'S') goto yy740; - if (yych != 's') goto yy186; ++ if (yych == 'A') goto yy750; ++ if (yych == 'a') goto yy750; ++ goto yy187; yy740: YYDEBUG(740, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'N') goto yy741; - if (yych != 'n') goto yy187; ++ if (yych <= 'T') { ++ if (yych == 'I') goto yy741; ++ if (yych <= 'S') goto yy187; ++ goto yy742; ++ } else { ++ if (yych <= 'i') { ++ if (yych <= 'h') goto yy187; ++ } else { ++ if (yych == 't') goto yy742; ++ goto yy187; ++ } ++ } +yy741: + YYDEBUG(741, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'D') goto yy742; - if (yych != 'd') goto yy187; ++ if (yych == 'T') goto yy748; ++ if (yych == 't') goto yy748; ++ goto yy187; +yy742: + YYDEBUG(742, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'S') goto yy743; - if (yych != 's') goto yy187; ++ if (yych == 'E') goto yy743; ++ if (yych != 'e') goto yy187; +yy743: + YYDEBUG(743, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'N') goto yy744; ++ if (yych != 'n') goto yy187; ++yy744: ++ YYDEBUG(744, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'D') goto yy745; ++ if (yych != 'd') goto yy187; ++yy745: ++ YYDEBUG(745, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'S') goto yy746; ++ if (yych != 's') goto yy187; ++yy746: ++ YYDEBUG(746, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(744, *YYCURSOR); - YYDEBUG(741, *YYCURSOR); ++ YYDEBUG(747, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1160 "Zend/zend_language_scanner.l" ++#line 1164 "Zend/zend_language_scanner.l" { return T_EXTENDS; } - #line 6864 "Zend/zend_language_scanner.c" - yy745: - YYDEBUG(745, *YYCURSOR); -#line 6861 "Zend/zend_language_scanner.c" -yy742: - YYDEBUG(742, *YYCURSOR); ++#line 6897 "Zend/zend_language_scanner.c" ++yy748: ++ YYDEBUG(748, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(746, *YYCURSOR); - YYDEBUG(743, *YYCURSOR); ++ YYDEBUG(749, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1016 "Zend/zend_language_scanner.l" { return T_EXIT; } - #line 6877 "Zend/zend_language_scanner.c" - yy747: - YYDEBUG(747, *YYCURSOR); -#line 6874 "Zend/zend_language_scanner.c" -yy744: - YYDEBUG(744, *YYCURSOR); ++#line 6910 "Zend/zend_language_scanner.c" ++yy750: ++ YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy748; - if (yych == 'L') goto yy745; - if (yych != 'l') goto yy186; -yy745: - YYDEBUG(745, *YYCURSOR); ++ if (yych == 'L') goto yy751; + if (yych != 'l') goto yy187; - yy748: - YYDEBUG(748, *YYCURSOR); ++yy751: ++ YYDEBUG(751, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(749, *YYCURSOR); - YYDEBUG(746, *YYCURSOR); ++ YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1246 "Zend/zend_language_scanner.l" ++#line 1250 "Zend/zend_language_scanner.l" { return T_EVAL; } - #line 6895 "Zend/zend_language_scanner.c" - yy750: - YYDEBUG(750, *YYCURSOR); -#line 6892 "Zend/zend_language_scanner.c" -yy747: - YYDEBUG(747, *YYCURSOR); ++#line 6928 "Zend/zend_language_scanner.c" ++yy753: ++ YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'D': - case 'd': goto yy751; - case 'd': goto yy748; ++ case 'd': goto yy754; case 'F': - case 'f': goto yy752; - case 'f': goto yy749; ++ case 'f': goto yy755; case 'I': - case 'i': goto yy753; - case 'i': goto yy750; ++ case 'i': goto yy756; case 'S': - case 's': goto yy754; - case 's': goto yy751; ++ case 's': goto yy757; case 'W': - case 'w': goto yy755; - case 'w': goto yy752; - default: goto yy186; ++ case 'w': goto yy758; + default: goto yy187; } -yy748: - YYDEBUG(748, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy774; - if (yych == 'e') goto yy774; - goto yy186; -yy749: - YYDEBUG(749, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy766; - if (yych == 'o') goto yy766; - goto yy186; -yy750: - YYDEBUG(750, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy764; - if (yych == 'f') goto yy764; - goto yy186; --yy751: -- YYDEBUG(751, *YYCURSOR); -- yych = *++YYCURSOR; - if (yych == 'E') goto yy777; - if (yych == 'e') goto yy777; - goto yy187; - if (yych == 'W') goto yy758; - if (yych == 'w') goto yy758; - goto yy186; --yy752: -- YYDEBUG(752, *YYCURSOR); -- yych = *++YYCURSOR; - if (yych == 'O') goto yy769; - if (yych == 'o') goto yy769; - goto yy187; - if (yych == 'H') goto yy753; - if (yych != 'h') goto yy186; --yy753: -- YYDEBUG(753, *YYCURSOR); -- yych = *++YYCURSOR; - if (yych == 'F') goto yy767; - if (yych == 'f') goto yy767; - goto yy187; - if (yych == 'I') goto yy754; - if (yych != 'i') goto yy186; yy754: YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy761; - if (yych == 'w') goto yy761; - if (yych == 'L') goto yy755; - if (yych != 'l') goto yy186; ++ if (yych == 'E') goto yy780; ++ if (yych == 'e') goto yy780; + goto yy187; yy755: YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy756; - if (yych != 'h') goto yy187; - if (yych == 'E') goto yy756; - if (yych != 'e') goto yy186; ++ if (yych == 'O') goto yy772; ++ if (yych == 'o') goto yy772; ++ goto yy187; yy756: YYDEBUG(756, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; - } + yych = *++YYCURSOR; - if (yych == 'I') goto yy757; - if (yych != 'i') goto yy187; ++ if (yych == 'F') goto yy770; ++ if (yych == 'f') goto yy770; ++ goto yy187; +yy757: YYDEBUG(757, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1072 "Zend/zend_language_scanner.l" - { - return T_ENDWHILE; -} -#line 6966 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; - if (yych == 'L') goto yy758; - if (yych != 'l') goto yy187; ++ if (yych == 'W') goto yy764; ++ if (yych == 'w') goto yy764; ++ goto yy187; yy758: YYDEBUG(758, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy759; - if (yych != 'e') goto yy187; - if (yych == 'I') goto yy759; - if (yych != 'i') goto yy186; ++ if (yych == 'H') goto yy759; ++ if (yych != 'h') goto yy187; yy759: YYDEBUG(759, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'T') goto yy760; - if (yych != 't') goto yy186; ++ if (yych == 'I') goto yy760; ++ if (yych != 'i') goto yy187; + yy760: + YYDEBUG(760, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'C') goto yy761; - if (yych != 'c') goto yy186; ++ if (yych == 'L') goto yy761; ++ if (yych != 'l') goto yy187; + yy761: + YYDEBUG(761, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'H') goto yy762; - if (yych != 'h') goto yy186; ++ if (yych == 'E') goto yy762; ++ if (yych != 'e') goto yy187; + yy762: + YYDEBUG(762, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(760, *YYCURSOR); + YYDEBUG(763, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1072 "Zend/zend_language_scanner.l" -#line 1116 "Zend/zend_language_scanner.l" ++#line 1076 "Zend/zend_language_scanner.l" { - return T_ENDSWITCH; + return T_ENDWHILE; } - #line 6969 "Zend/zend_language_scanner.c" - yy761: - YYDEBUG(761, *YYCURSOR); -#line 6999 "Zend/zend_language_scanner.c" ++#line 7002 "Zend/zend_language_scanner.c" + yy764: + YYDEBUG(764, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'I') goto yy762; ++ if (yych == 'I') goto yy765; + if (yych != 'i') goto yy187; - yy762: - YYDEBUG(762, *YYCURSOR); ++yy765: ++ YYDEBUG(765, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'T') goto yy763; ++ if (yych == 'T') goto yy766; + if (yych != 't') goto yy187; - yy763: - YYDEBUG(763, *YYCURSOR); ++yy766: ++ YYDEBUG(766, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'C') goto yy764; ++ if (yych == 'C') goto yy767; + if (yych != 'c') goto yy187; - yy764: - YYDEBUG(764, *YYCURSOR); ++yy767: ++ YYDEBUG(767, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'H') goto yy765; ++ if (yych == 'H') goto yy768; + if (yych != 'h') goto yy187; - yy765: - YYDEBUG(765, *YYCURSOR); ++yy768: ++ YYDEBUG(768, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(766, *YYCURSOR); - YYDEBUG(765, *YYCURSOR); ++ YYDEBUG(769, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1116 "Zend/zend_language_scanner.l" -#line 1060 "Zend/zend_language_scanner.l" ++#line 1120 "Zend/zend_language_scanner.l" + { + return T_ENDSWITCH; +} - #line 7002 "Zend/zend_language_scanner.c" - yy767: - YYDEBUG(767, *YYCURSOR); ++#line 7035 "Zend/zend_language_scanner.c" ++yy770: ++ YYDEBUG(770, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy186; + } - YYDEBUG(768, *YYCURSOR); ++ YYDEBUG(771, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 1060 "Zend/zend_language_scanner.l" ++#line 1064 "Zend/zend_language_scanner.l" { return T_ENDIF; } - #line 7015 "Zend/zend_language_scanner.c" - yy769: - YYDEBUG(769, *YYCURSOR); -#line 7012 "Zend/zend_language_scanner.c" -yy766: - YYDEBUG(766, *YYCURSOR); ++#line 7048 "Zend/zend_language_scanner.c" ++yy772: ++ YYDEBUG(772, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy770; - if (yych == 'R') goto yy767; - if (yych != 'r') goto yy186; -yy767: - YYDEBUG(767, *YYCURSOR); ++ if (yych == 'R') goto yy773; + if (yych != 'r') goto yy187; - yy770: - YYDEBUG(770, *YYCURSOR); ++yy773: ++ YYDEBUG(773, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy771; - if (yych <= '/') goto yy768; - if (yych <= '9') goto yy185; ++ if (yych <= '/') goto yy774; + if (yych <= '9') goto yy186; } else { - if (yych == 'E') goto yy772; - if (yych == 'E') goto yy769; - if (yych <= 'Z') goto yy185; ++ if (yych == 'E') goto yy775; + if (yych <= 'Z') goto yy186; } } else { if (yych <= 'd') { - if (yych != '`') goto yy185; + if (yych != '`') goto yy186; } else { - if (yych <= 'e') goto yy772; - if (yych <= 'e') goto yy769; - if (yych <= 'z') goto yy185; - if (yych >= 0x7F) goto yy185; ++ if (yych <= 'e') goto yy775; + if (yych <= 'z') goto yy186; + if (yych >= 0x7F) goto yy186; } } - yy771: - YYDEBUG(771, *YYCURSOR); -yy768: - YYDEBUG(768, *YYCURSOR); ++yy774: ++ YYDEBUG(774, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1084 "Zend/zend_language_scanner.l" ++#line 1088 "Zend/zend_language_scanner.l" { return T_ENDFOR; } - #line 7048 "Zend/zend_language_scanner.c" -#line 7045 "Zend/zend_language_scanner.c" -yy769: - YYDEBUG(769, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy770; - if (yych != 'a') goto yy186; -yy770: - YYDEBUG(770, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy771; - if (yych != 'c') goto yy186; -yy771: - YYDEBUG(771, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy772; - if (yych != 'h') goto yy186; --yy772: -- YYDEBUG(772, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; - } - YYDEBUG(773, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1092 "Zend/zend_language_scanner.l" - { - return T_ENDFOREACH; -} -#line 7073 "Zend/zend_language_scanner.c" -yy774: - YYDEBUG(774, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy775; - if (yych != 'c') goto yy186; ++#line 7081 "Zend/zend_language_scanner.c" + yy775: + YYDEBUG(775, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy773; - if (yych == 'L') goto yy776; - if (yych != 'l') goto yy186; ++ if (yych == 'A') goto yy776; + if (yych != 'a') goto yy187; - yy773: - YYDEBUG(773, *YYCURSOR); + yy776: + YYDEBUG(776, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy774; - if (yych == 'A') goto yy777; - if (yych != 'a') goto yy186; ++ if (yych == 'C') goto yy777; + if (yych != 'c') goto yy187; - yy774: - YYDEBUG(774, *YYCURSOR); + yy777: + YYDEBUG(777, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy775; - if (yych == 'R') goto yy778; - if (yych != 'r') goto yy186; ++ if (yych == 'H') goto yy778; + if (yych != 'h') goto yy187; - yy775: - YYDEBUG(775, *YYCURSOR); + yy778: + YYDEBUG(778, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy779; - if (yych != 'e') goto yy186; -yy779: - YYDEBUG(779, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(776, *YYCURSOR); - YYDEBUG(780, *YYCURSOR); ++ YYDEBUG(779, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1092 "Zend/zend_language_scanner.l" -#line 1100 "Zend/zend_language_scanner.l" ++#line 1096 "Zend/zend_language_scanner.l" { - return T_ENDDECLARE; + return T_ENDFOREACH; } - #line 7076 "Zend/zend_language_scanner.c" - yy777: - YYDEBUG(777, *YYCURSOR); -#line 7111 "Zend/zend_language_scanner.c" ++#line 7109 "Zend/zend_language_scanner.c" ++yy780: ++ YYDEBUG(780, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'C') goto yy778; ++ if (yych == 'C') goto yy781; + if (yych != 'c') goto yy187; - yy778: - YYDEBUG(778, *YYCURSOR); + yy781: + YYDEBUG(781, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy779; - if (yych == 'T') goto yy782; - if (yych != 't') goto yy186; ++ if (yych == 'L') goto yy782; + if (yych != 'l') goto yy187; - yy779: - YYDEBUG(779, *YYCURSOR); + yy782: + YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy780; - if (yych == 'Y') goto yy783; - if (yych != 'y') goto yy186; ++ if (yych == 'A') goto yy783; + if (yych != 'a') goto yy187; - yy780: - YYDEBUG(780, *YYCURSOR); + yy783: + YYDEBUG(783, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'R') goto yy781; ++ if (yych == 'R') goto yy784; + if (yych != 'r') goto yy187; - yy781: - YYDEBUG(781, *YYCURSOR); ++yy784: ++ YYDEBUG(784, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'E') goto yy782; ++ if (yych == 'E') goto yy785; + if (yych != 'e') goto yy187; - yy782: - YYDEBUG(782, *YYCURSOR); ++yy785: ++ YYDEBUG(785, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(783, *YYCURSOR); - YYDEBUG(784, *YYCURSOR); ++ YYDEBUG(786, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 1100 "Zend/zend_language_scanner.l" -#line 1286 "Zend/zend_language_scanner.l" ++#line 1104 "Zend/zend_language_scanner.l" + { + return T_ENDDECLARE; +} - #line 7114 "Zend/zend_language_scanner.c" - yy784: - YYDEBUG(784, *YYCURSOR); ++#line 7147 "Zend/zend_language_scanner.c" ++yy787: ++ YYDEBUG(787, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'T') goto yy785; ++ if (yych == 'T') goto yy788; + if (yych != 't') goto yy187; - yy785: - YYDEBUG(785, *YYCURSOR); ++yy788: ++ YYDEBUG(788, *YYCURSOR); + yych = *++YYCURSOR; - if (yych == 'Y') goto yy786; ++ if (yych == 'Y') goto yy789; + if (yych != 'y') goto yy187; - yy786: - YYDEBUG(786, *YYCURSOR); ++yy789: ++ YYDEBUG(789, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy186; + } - YYDEBUG(787, *YYCURSOR); ++ YYDEBUG(790, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 1286 "Zend/zend_language_scanner.l" ++#line 1290 "Zend/zend_language_scanner.l" { return T_EMPTY; } - #line 7137 "Zend/zend_language_scanner.c" - yy788: - YYDEBUG(788, *YYCURSOR); -#line 7134 "Zend/zend_language_scanner.c" -yy785: - YYDEBUG(785, *YYCURSOR); ++#line 7170 "Zend/zend_language_scanner.c" ++yy791: ++ YYDEBUG(791, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy789; - if (yych == 'E') goto yy786; - if (yych != 'e') goto yy186; -yy786: - YYDEBUG(786, *YYCURSOR); ++ if (yych == 'E') goto yy792; + if (yych != 'e') goto yy187; - yy789: - YYDEBUG(789, *YYCURSOR); ++yy792: ++ YYDEBUG(792, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy790; - if (yych <= '/') goto yy787; - if (yych <= '9') goto yy185; ++ if (yych <= '/') goto yy793; + if (yych <= '9') goto yy186; } else { - if (yych == 'I') goto yy791; - if (yych == 'I') goto yy788; - if (yych <= 'Z') goto yy185; ++ if (yych == 'I') goto yy794; + if (yych <= 'Z') goto yy186; } } else { if (yych <= 'h') { - if (yych != '`') goto yy185; + if (yych != '`') goto yy186; } else { - if (yych <= 'i') goto yy791; - if (yych <= 'i') goto yy788; - if (yych <= 'z') goto yy185; - if (yych >= 0x7F) goto yy185; ++ if (yych <= 'i') goto yy794; + if (yych <= 'z') goto yy186; + if (yych >= 0x7F) goto yy186; } } - yy790: - YYDEBUG(790, *YYCURSOR); -yy787: - YYDEBUG(787, *YYCURSOR); ++yy793: ++ YYDEBUG(793, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1064 "Zend/zend_language_scanner.l" ++#line 1068 "Zend/zend_language_scanner.l" { return T_ELSE; } - #line 7170 "Zend/zend_language_scanner.c" - yy791: - YYDEBUG(791, *YYCURSOR); -#line 7167 "Zend/zend_language_scanner.c" -yy788: - YYDEBUG(788, *YYCURSOR); ++#line 7203 "Zend/zend_language_scanner.c" ++yy794: ++ YYDEBUG(794, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy792; - if (yych == 'F') goto yy789; - if (yych != 'f') goto yy186; -yy789: - YYDEBUG(789, *YYCURSOR); ++ if (yych == 'F') goto yy795; + if (yych != 'f') goto yy187; - yy792: - YYDEBUG(792, *YYCURSOR); ++yy795: ++ YYDEBUG(795, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(793, *YYCURSOR); - YYDEBUG(790, *YYCURSOR); ++ YYDEBUG(796, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1056 "Zend/zend_language_scanner.l" ++#line 1060 "Zend/zend_language_scanner.l" { return T_ELSEIF; } - #line 7188 "Zend/zend_language_scanner.c" - yy794: - YYDEBUG(794, *YYCURSOR); -#line 7185 "Zend/zend_language_scanner.c" -yy791: - YYDEBUG(791, *YYCURSOR); ++#line 7221 "Zend/zend_language_scanner.c" ++yy797: ++ YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy795; - if (yych == 'O') goto yy792; - if (yych != 'o') goto yy186; -yy792: - YYDEBUG(792, *YYCURSOR); ++ if (yych == 'O') goto yy798; + if (yych != 'o') goto yy187; - yy795: - YYDEBUG(795, *YYCURSOR); ++yy798: ++ YYDEBUG(798, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy185; + goto yy186; } - YYDEBUG(796, *YYCURSOR); - YYDEBUG(793, *YYCURSOR); ++ YYDEBUG(799, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1140 "Zend/zend_language_scanner.l" ++#line 1144 "Zend/zend_language_scanner.l" { return T_ECHO; } - #line 7206 "Zend/zend_language_scanner.c" -#line 7203 "Zend/zend_language_scanner.c" ++#line 7239 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@@ -7241,41 -7238,41 +7274,41 @@@ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(797, *YYCURSOR); - YYDEBUG(794, *YYCURSOR); ++ YYDEBUG(800, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych <= '\r') { - if (yych <= 0x08) goto yy805; - if (yych <= '\n') goto yy799; - if (yych <= '\f') goto yy805; - if (yych <= 0x08) goto yy802; - if (yych <= '\n') goto yy796; - if (yych <= '\f') goto yy802; ++ if (yych <= 0x08) goto yy808; ++ if (yych <= '\n') goto yy802; ++ if (yych <= '\f') goto yy808; } else { - if (yych == ' ') goto yy799; - if (yych <= ',') goto yy805; - goto yy801; - if (yych == ' ') goto yy796; - if (yych <= ',') goto yy802; - goto yy798; ++ if (yych == ' ') goto yy802; ++ if (yych <= ',') goto yy808; ++ goto yy804; } } else { if (yych <= '_') { - if (yych <= '@') goto yy805; - if (yych <= 'Z') goto yy803; - if (yych <= '^') goto yy805; - goto yy803; - if (yych <= '@') goto yy802; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy802; - goto yy800; ++ if (yych <= '@') goto yy808; ++ if (yych <= 'Z') goto yy806; ++ if (yych <= '^') goto yy808; ++ goto yy806; } else { - if (yych <= '`') goto yy805; - if (yych <= 'z') goto yy803; - if (yych <= '~') goto yy805; - goto yy803; - if (yych <= '`') goto yy802; - if (yych <= 'z') goto yy800; - if (yych <= '~') goto yy802; - goto yy800; ++ if (yych <= '`') goto yy808; ++ if (yych <= 'z') goto yy806; ++ if (yych <= '~') goto yy808; ++ goto yy806; } } - yy799: - YYDEBUG(799, *YYCURSOR); -yy796: - YYDEBUG(796, *YYCURSOR); ++yy802: ++ YYDEBUG(802, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy811; - yy800: - YYDEBUG(800, *YYCURSOR); - goto yy808; -yy797: - YYDEBUG(797, *YYCURSOR); ++ goto yy814; ++yy803: ++ YYDEBUG(803, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1173 "Zend/zend_language_scanner.l" ++#line 1177 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@@ -7283,73 -7280,73 +7316,73 @@@ HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } - #line 7287 "Zend/zend_language_scanner.c" - yy801: - YYDEBUG(801, *YYCURSOR); -#line 7284 "Zend/zend_language_scanner.c" -yy798: - YYDEBUG(798, *YYCURSOR); ++#line 7320 "Zend/zend_language_scanner.c" ++yy804: ++ YYDEBUG(804, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy808; - yy802: - YYDEBUG(802, *YYCURSOR); - if ((yych = *YYCURSOR) == '>') goto yy805; -yy799: - YYDEBUG(799, *YYCURSOR); ++ if ((yych = *YYCURSOR) == '>') goto yy811; ++yy805: ++ YYDEBUG(805, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1192 "Zend/zend_language_scanner.l" ++#line 1196 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } - #line 7301 "Zend/zend_language_scanner.c" - yy803: - YYDEBUG(803, *YYCURSOR); -#line 7298 "Zend/zend_language_scanner.c" -yy800: - YYDEBUG(800, *YYCURSOR); ++#line 7334 "Zend/zend_language_scanner.c" ++yy806: ++ YYDEBUG(806, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy807; - yy804: - YYDEBUG(804, *YYCURSOR); - goto yy804; -yy801: - YYDEBUG(801, *YYCURSOR); ++ goto yy810; ++yy807: ++ YYDEBUG(807, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1185 "Zend/zend_language_scanner.l" ++#line 1189 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } - #line 7317 "Zend/zend_language_scanner.c" - yy805: - YYDEBUG(805, *YYCURSOR); -#line 7314 "Zend/zend_language_scanner.c" -yy802: - YYDEBUG(802, *YYCURSOR); ++#line 7350 "Zend/zend_language_scanner.c" ++yy808: ++ YYDEBUG(808, *YYCURSOR); yych = *++YYCURSOR; - goto yy802; - yy806: - YYDEBUG(806, *YYCURSOR); - goto yy799; -yy803: - YYDEBUG(803, *YYCURSOR); ++ goto yy805; ++yy809: ++ YYDEBUG(809, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - yy807: - YYDEBUG(807, *YYCURSOR); -yy804: - YYDEBUG(804, *YYCURSOR); ++yy810: ++ YYDEBUG(810, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy806; - goto yy803; ++ goto yy809; } - goto yy804; - yy808: - YYDEBUG(808, *YYCURSOR); - goto yy801; -yy805: - YYDEBUG(805, *YYCURSOR); ++ goto yy807; ++yy811: ++ YYDEBUG(811, *YYCURSOR); ++YYCURSOR; - YYDEBUG(809, *YYCURSOR); - YYDEBUG(806, *YYCURSOR); ++ YYDEBUG(812, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1181 "Zend/zend_language_scanner.l" ++#line 1185 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } - #line 7342 "Zend/zend_language_scanner.c" - yy810: - YYDEBUG(810, *YYCURSOR); -#line 7339 "Zend/zend_language_scanner.c" -yy807: - YYDEBUG(807, *YYCURSOR); ++#line 7375 "Zend/zend_language_scanner.c" ++yy813: ++ YYDEBUG(813, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - yy811: - YYDEBUG(811, *YYCURSOR); -yy808: - YYDEBUG(808, *YYCURSOR); ++yy814: ++ YYDEBUG(814, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy810; - goto yy807; ++ goto yy813; } - goto yy800; - goto yy797; ++ goto yy803; } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@@ -7388,74 -7385,74 +7421,74 @@@ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(812, *YYCURSOR); - YYDEBUG(809, *YYCURSOR); ++ YYDEBUG(815, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy816; - if (yych <= 'Z') goto yy814; - if (yych <= '^') goto yy816; - if (yych <= '@') goto yy813; - if (yych <= 'Z') goto yy811; - if (yych <= '^') goto yy813; ++ if (yych <= '@') goto yy819; ++ if (yych <= 'Z') goto yy817; ++ if (yych <= '^') goto yy819; } else { - if (yych <= '`') goto yy816; - if (yych <= 'z') goto yy814; - if (yych <= '~') goto yy816; - if (yych <= '`') goto yy813; - if (yych <= 'z') goto yy811; - if (yych <= '~') goto yy813; ++ if (yych <= '`') goto yy819; ++ if (yych <= 'z') goto yy817; ++ if (yych <= '~') goto yy819; } - yy814: - YYDEBUG(814, *YYCURSOR); -yy811: - YYDEBUG(811, *YYCURSOR); ++yy817: ++ YYDEBUG(817, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '_') { if (yych <= '@') { - if (yych <= '/') goto yy815; - if (yych <= '9') goto yy818; - if (yych <= '/') goto yy812; - if (yych <= '9') goto yy815; ++ if (yych <= '/') goto yy818; ++ if (yych <= '9') goto yy821; } else { - if (yych <= '[') goto yy818; - if (yych >= '_') goto yy818; - if (yych <= '[') goto yy815; - if (yych >= '_') goto yy815; ++ if (yych <= '[') goto yy821; ++ if (yych >= '_') goto yy821; } } else { if (yych <= '|') { - if (yych <= '`') goto yy815; - if (yych <= 'z') goto yy818; - if (yych <= '`') goto yy812; - if (yych <= 'z') goto yy815; ++ if (yych <= '`') goto yy818; ++ if (yych <= 'z') goto yy821; } else { - if (yych != '~') goto yy818; - if (yych != '~') goto yy815; ++ if (yych != '~') goto yy821; } } - yy815: - YYDEBUG(815, *YYCURSOR); -yy812: - YYDEBUG(812, *YYCURSOR); ++yy818: ++ YYDEBUG(818, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1478 "Zend/zend_language_scanner.l" ++#line 1482 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } - #line 7434 "Zend/zend_language_scanner.c" - yy816: - YYDEBUG(816, *YYCURSOR); -#line 7431 "Zend/zend_language_scanner.c" -yy813: - YYDEBUG(813, *YYCURSOR); ++#line 7467 "Zend/zend_language_scanner.c" ++yy819: ++ YYDEBUG(819, *YYCURSOR); yych = *++YYCURSOR; - goto yy815; - yy817: - YYDEBUG(817, *YYCURSOR); - goto yy812; -yy814: - YYDEBUG(814, *YYCURSOR); ++ goto yy818; ++yy820: ++ YYDEBUG(820, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - yy818: - YYDEBUG(818, *YYCURSOR); -yy815: - YYDEBUG(815, *YYCURSOR); ++yy821: ++ YYDEBUG(821, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy817; - goto yy814; ++ goto yy820; } - if (yych == '[') goto yy820; - if (yych == '}') goto yy820; - YYDEBUG(819, *YYCURSOR); - if (yych == '[') goto yy817; - if (yych == '}') goto yy817; - YYDEBUG(816, *YYCURSOR); ++ if (yych == '[') goto yy823; ++ if (yych == '}') goto yy823; ++ YYDEBUG(822, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy815; - yy820: - YYDEBUG(820, *YYCURSOR); - goto yy812; -yy817: - YYDEBUG(817, *YYCURSOR); ++ goto yy818; ++yy823: ++ YYDEBUG(823, *YYCURSOR); ++YYCURSOR; - YYDEBUG(821, *YYCURSOR); - YYDEBUG(818, *YYCURSOR); ++ YYDEBUG(824, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1468 "Zend/zend_language_scanner.l" ++#line 1472 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@@ -7464,18 -7461,18 +7497,18 @@@ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } - #line 7468 "Zend/zend_language_scanner.c" -#line 7465 "Zend/zend_language_scanner.c" ++#line 7501 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: - YYDEBUG(822, *YYCURSOR); - YYDEBUG(819, *YYCURSOR); ++ YYDEBUG(825, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(824, *YYCURSOR); - YYDEBUG(821, *YYCURSOR); ++ YYDEBUG(827, *YYCURSOR); ++YYCURSOR; - YYDEBUG(825, *YYCURSOR); - YYDEBUG(822, *YYCURSOR); ++ YYDEBUG(828, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2360 "Zend/zend_language_scanner.l" ++#line 2364 "Zend/zend_language_scanner.l" { int newline = 0; @@@ -7530,7 -7527,7 +7563,7 @@@ nowdoc_scan_done HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } - #line 7534 "Zend/zend_language_scanner.c" -#line 7531 "Zend/zend_language_scanner.c" ++#line 7567 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@@ -7568,76 -7565,76 +7601,76 @@@ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, }; - YYDEBUG(826, *YYCURSOR); - YYDEBUG(823, *YYCURSOR); ++ YYDEBUG(829, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '/') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy840; - if (yych <= '\n') goto yy836; - goto yy840; - if (yych <= 0x08) goto yy837; - if (yych <= '\n') goto yy833; - goto yy837; ++ if (yych <= 0x08) goto yy843; ++ if (yych <= '\n') goto yy839; ++ goto yy843; } else { - if (yych <= '\r') goto yy836; - if (yych <= 0x1F) goto yy840; - goto yy836; - if (yych <= '\r') goto yy833; - if (yych <= 0x1F) goto yy837; - goto yy833; ++ if (yych <= '\r') goto yy839; ++ if (yych <= 0x1F) goto yy843; ++ goto yy839; } } else { if (yych <= '$') { - if (yych <= '"') goto yy835; - if (yych <= '#') goto yy836; - goto yy831; - if (yych <= '"') goto yy832; - if (yych <= '#') goto yy833; - goto yy828; ++ if (yych <= '"') goto yy838; ++ if (yych <= '#') goto yy839; ++ goto yy834; } else { - if (yych == '\'') goto yy836; - goto yy835; - if (yych == '\'') goto yy833; - goto yy832; ++ if (yych == '\'') goto yy839; ++ goto yy838; } } } else { if (yych <= '\\') { if (yych <= '@') { - if (yych <= '0') goto yy828; - if (yych <= '9') goto yy830; - goto yy835; - if (yych <= '0') goto yy825; - if (yych <= '9') goto yy827; - goto yy832; ++ if (yych <= '0') goto yy831; ++ if (yych <= '9') goto yy833; ++ goto yy838; } else { - if (yych <= 'Z') goto yy838; - if (yych <= '[') goto yy835; - goto yy836; - if (yych <= 'Z') goto yy835; - if (yych <= '[') goto yy832; - goto yy833; ++ if (yych <= 'Z') goto yy841; ++ if (yych <= '[') goto yy838; ++ goto yy839; } } else { if (yych <= '_') { - if (yych <= ']') goto yy833; - if (yych <= '^') goto yy835; - goto yy838; - if (yych <= ']') goto yy830; - if (yych <= '^') goto yy832; - goto yy835; ++ if (yych <= ']') goto yy836; ++ if (yych <= '^') goto yy838; ++ goto yy841; } else { - if (yych <= '`') goto yy835; - if (yych <= 'z') goto yy838; - if (yych <= '~') goto yy835; - goto yy838; - if (yych <= '`') goto yy832; - if (yych <= 'z') goto yy835; - if (yych <= '~') goto yy832; - goto yy835; ++ if (yych <= '`') goto yy838; ++ if (yych <= 'z') goto yy841; ++ if (yych <= '~') goto yy838; ++ goto yy841; } } } - yy828: - YYDEBUG(828, *YYCURSOR); -yy825: - YYDEBUG(825, *YYCURSOR); ++yy831: ++ YYDEBUG(831, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '9') { - if (yych >= '0') goto yy852; - if (yych >= '0') goto yy849; ++ if (yych >= '0') goto yy855; } else { - if (yych == 'B') goto yy849; - if (yych == 'B') goto yy846; ++ if (yych == 'B') goto yy852; } } else { if (yych <= 'b') { - if (yych <= 'X') goto yy851; - if (yych >= 'b') goto yy849; - if (yych <= 'X') goto yy848; - if (yych >= 'b') goto yy846; ++ if (yych <= 'X') goto yy854; ++ if (yych >= 'b') goto yy852; } else { - if (yych == 'x') goto yy851; - if (yych == 'x') goto yy848; ++ if (yych == 'x') goto yy854; } } - yy829: - YYDEBUG(829, *YYCURSOR); -yy826: - YYDEBUG(826, *YYCURSOR); ++yy832: ++ YYDEBUG(832, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1556 "Zend/zend_language_scanner.l" ++#line 1560 "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); @@@ -7649,81 -7646,81 +7682,81 @@@ } return T_NUM_STRING; } - #line 7653 "Zend/zend_language_scanner.c" - yy830: - YYDEBUG(830, *YYCURSOR); -#line 7650 "Zend/zend_language_scanner.c" -yy827: - YYDEBUG(827, *YYCURSOR); ++#line 7686 "Zend/zend_language_scanner.c" ++yy833: ++ YYDEBUG(833, *YYCURSOR); yych = *++YYCURSOR; - goto yy848; - yy831: - YYDEBUG(831, *YYCURSOR); - goto yy845; -yy828: - YYDEBUG(828, *YYCURSOR); ++ goto yy851; ++yy834: ++ YYDEBUG(834, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy832; - if (yych <= 'Z') goto yy844; - if (yych >= '_') goto yy844; - if (yych <= '@') goto yy829; - if (yych <= 'Z') goto yy841; - if (yych >= '_') goto yy841; ++ if (yych <= '@') goto yy835; ++ if (yych <= 'Z') goto yy847; ++ if (yych >= '_') goto yy847; } else { - if (yych <= '`') goto yy832; - if (yych <= 'z') goto yy844; - if (yych >= 0x7F) goto yy844; - if (yych <= '`') goto yy829; - if (yych <= 'z') goto yy841; - if (yych >= 0x7F) goto yy841; ++ if (yych <= '`') goto yy835; ++ if (yych <= 'z') goto yy847; ++ if (yych >= 0x7F) goto yy847; } - yy832: - YYDEBUG(832, *YYCURSOR); -yy829: - YYDEBUG(829, *YYCURSOR); ++yy835: ++ YYDEBUG(835, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1888 "Zend/zend_language_scanner.l" ++#line 1892 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } - #line 7678 "Zend/zend_language_scanner.c" - yy833: - YYDEBUG(833, *YYCURSOR); -#line 7675 "Zend/zend_language_scanner.c" -yy830: - YYDEBUG(830, *YYCURSOR); ++#line 7711 "Zend/zend_language_scanner.c" ++yy836: ++ YYDEBUG(836, *YYCURSOR); ++YYCURSOR; - YYDEBUG(834, *YYCURSOR); - YYDEBUG(831, *YYCURSOR); ++ YYDEBUG(837, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1883 "Zend/zend_language_scanner.l" ++#line 1887 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } - #line 7689 "Zend/zend_language_scanner.c" - yy835: - YYDEBUG(835, *YYCURSOR); -#line 7686 "Zend/zend_language_scanner.c" -yy832: - YYDEBUG(832, *YYCURSOR); ++#line 7722 "Zend/zend_language_scanner.c" ++yy838: ++ YYDEBUG(838, *YYCURSOR); yych = *++YYCURSOR; - goto yy832; - yy836: - YYDEBUG(836, *YYCURSOR); - goto yy829; -yy833: - YYDEBUG(833, *YYCURSOR); ++ goto yy835; ++yy839: ++ YYDEBUG(839, *YYCURSOR); ++YYCURSOR; - YYDEBUG(837, *YYCURSOR); - YYDEBUG(834, *YYCURSOR); ++ YYDEBUG(840, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1893 "Zend/zend_language_scanner.l" ++#line 1897 "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 7706 "Zend/zend_language_scanner.c" - yy838: - YYDEBUG(838, *YYCURSOR); -#line 7703 "Zend/zend_language_scanner.c" -yy835: - YYDEBUG(835, *YYCURSOR); ++#line 7739 "Zend/zend_language_scanner.c" ++yy841: ++ YYDEBUG(841, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy843; - yy839: - YYDEBUG(839, *YYCURSOR); - goto yy840; -yy836: - YYDEBUG(836, *YYCURSOR); ++ goto yy846; ++yy842: ++ YYDEBUG(842, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1900 "Zend/zend_language_scanner.l" ++#line 1904 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } - #line 7721 "Zend/zend_language_scanner.c" - yy840: - YYDEBUG(840, *YYCURSOR); -#line 7718 "Zend/zend_language_scanner.c" -yy837: - YYDEBUG(837, *YYCURSOR); ++#line 7754 "Zend/zend_language_scanner.c" ++yy843: ++ YYDEBUG(843, *YYCURSOR); ++YYCURSOR; - YYDEBUG(841, *YYCURSOR); - YYDEBUG(838, *YYCURSOR); ++ YYDEBUG(844, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 2416 "Zend/zend_language_scanner.l" ++#line 2420 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@@ -7732,118 -7729,118 +7765,118 @@@ zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } - #line 7736 "Zend/zend_language_scanner.c" - yy842: - YYDEBUG(842, *YYCURSOR); -#line 7733 "Zend/zend_language_scanner.c" -yy839: - YYDEBUG(839, *YYCURSOR); ++#line 7769 "Zend/zend_language_scanner.c" ++yy845: ++ YYDEBUG(845, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - yy843: - YYDEBUG(843, *YYCURSOR); -yy840: - YYDEBUG(840, *YYCURSOR); ++yy846: ++ YYDEBUG(846, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy842; - goto yy839; ++ goto yy845; } - goto yy839; - yy844: - YYDEBUG(844, *YYCURSOR); - goto yy836; -yy841: - YYDEBUG(841, *YYCURSOR); ++ goto yy842; ++yy847: ++ YYDEBUG(847, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(845, *YYCURSOR); - YYDEBUG(842, *YYCURSOR); ++ YYDEBUG(848, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy844; - if (yych >= '0') goto yy841; ++ if (yych >= '0') goto yy847; } else { - if (yych <= '@') goto yy846; - if (yych <= 'Z') goto yy844; - if (yych <= '@') goto yy843; - if (yych <= 'Z') goto yy841; ++ if (yych <= '@') goto yy849; ++ if (yych <= 'Z') goto yy847; } } else { if (yych <= '`') { - if (yych <= '_') goto yy844; - if (yych <= '_') goto yy841; ++ if (yych <= '_') goto yy847; } else { - if (yych <= 'z') goto yy844; - if (yych >= 0x7F) goto yy844; - if (yych <= 'z') goto yy841; - if (yych >= 0x7F) goto yy841; ++ if (yych <= 'z') goto yy847; ++ if (yych >= 0x7F) goto yy847; } } - yy846: - YYDEBUG(846, *YYCURSOR); -yy843: - YYDEBUG(843, *YYCURSOR); ++yy849: ++ YYDEBUG(849, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1877 "Zend/zend_language_scanner.l" ++#line 1881 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } - #line 7778 "Zend/zend_language_scanner.c" - yy847: - YYDEBUG(847, *YYCURSOR); -#line 7775 "Zend/zend_language_scanner.c" -yy844: - YYDEBUG(844, *YYCURSOR); ++#line 7811 "Zend/zend_language_scanner.c" ++yy850: ++ YYDEBUG(850, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - yy848: - YYDEBUG(848, *YYCURSOR); -yy845: - YYDEBUG(845, *YYCURSOR); ++yy851: ++ YYDEBUG(851, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy847; - goto yy844; ++ goto yy850; } - goto yy829; - yy849: - YYDEBUG(849, *YYCURSOR); - goto yy826; -yy846: - YYDEBUG(846, *YYCURSOR); ++ goto yy832; ++yy852: ++ YYDEBUG(852, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy857; - goto yy854; ++ goto yy860; } - yy850: - YYDEBUG(850, *YYCURSOR); -yy847: - YYDEBUG(847, *YYCURSOR); ++yy853: ++ YYDEBUG(853, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy829; - yy851: - YYDEBUG(851, *YYCURSOR); - goto yy826; -yy848: - YYDEBUG(848, *YYCURSOR); ++ goto yy832; ++yy854: ++ YYDEBUG(854, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy855; - goto yy852; ++ goto yy858; } - goto yy850; - yy852: - YYDEBUG(852, *YYCURSOR); - goto yy847; -yy849: - YYDEBUG(849, *YYCURSOR); ++ goto yy853; ++yy855: ++ YYDEBUG(855, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(853, *YYCURSOR); - if (yych <= '/') goto yy854; - if (yych <= '9') goto yy852; - yy854: - YYDEBUG(854, *YYCURSOR); - YYDEBUG(850, *YYCURSOR); - if (yych <= '/') goto yy851; - if (yych <= '9') goto yy849; -yy851: - YYDEBUG(851, *YYCURSOR); ++ YYDEBUG(856, *YYCURSOR); ++ if (yych <= '/') goto yy857; ++ if (yych <= '9') goto yy855; ++yy857: ++ YYDEBUG(857, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); --#line 1568 "Zend/zend_language_scanner.l" ++#line 1572 "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 7825 "Zend/zend_language_scanner.c" - yy855: - YYDEBUG(855, *YYCURSOR); -#line 7822 "Zend/zend_language_scanner.c" -yy852: - YYDEBUG(852, *YYCURSOR); ++#line 7858 "Zend/zend_language_scanner.c" ++yy858: ++ YYDEBUG(858, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(856, *YYCURSOR); - YYDEBUG(853, *YYCURSOR); ++ YYDEBUG(859, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy855; - goto yy852; ++ goto yy858; } - goto yy854; - yy857: - YYDEBUG(857, *YYCURSOR); - goto yy851; -yy854: - YYDEBUG(854, *YYCURSOR); ++ goto yy857; ++yy860: ++ YYDEBUG(860, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(858, *YYCURSOR); - YYDEBUG(855, *YYCURSOR); ++ YYDEBUG(861, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy857; - goto yy854; ++ goto yy860; } - goto yy854; - goto yy851; ++ goto yy857; } } --#line 2425 "Zend/zend_language_scanner.l" ++#line 2429 "Zend/zend_language_scanner.l" } diff --cc Zend/zend_language_scanner_defs.h index 869d54349d,519d415e74..2281cc7289 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@@ -1,4 -1,4 +1,4 @@@ - /* Generated by re2c 0.13.5 on Sat Jun 16 12:57:03 2012 */ -/* Generated by re2c 0.13.5 on Tue Jul 24 17:16:42 2012 */ ++/* Generated by re2c 0.13.5 on Mon Aug 13 16:40:42 2012 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --cc Zend/zend_vm_def.h index 03768e8bd7,ad9301d975..83ae5c5ba4 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@@ -4994,28 -5096,13 +5094,28 @@@ ZEND_VM_HANDLER(149, ZEND_HANDLE_EXCEPT { zend_uint op_num = EG(opline_before_exception)-EG(active_op_array)->opcodes; int i; - zend_uint catch_op_num = 0; - int catched = 0; + zend_uint catch_op_num = 0, finally_op_num = 0; + int catched = 0, finally = 0; - zval restored_error_reporting; + void **stack_frame; + + /* Figure out where the next stack frame (which maybe contains pushed + * arguments that have to be dtor'ed) starts */ + if (EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) { + /* The generator object is stored in return_value_ptr_ptr */ + zend_generator *generator = (zend_generator *) EG(return_value_ptr_ptr); - void **stack_frame = (void**)(((char*)EX_Ts()) + - (ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * EX(op_array)->T)); + /* For generators the next stack frame is conveniently stored in the + * generator object. */ + stack_frame = generator->original_stack_top; + } else { + /* In all other cases the next stack frame starts after the temporary + * variables section of the current execution context */ + stack_frame = (void **) ((char *) EX_Ts() + + ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * EX(op_array)->T); + } + /* If the exception was thrown during a function call there might be + * arguments pushed to the stack that have to be dtor'ed. */ while (zend_vm_stack_top(TSRMLS_C) != stack_frame) { zval *stack_zval_p = zend_vm_stack_pop(TSRMLS_C); zval_ptr_dtor(&stack_zval_p); @@@ -5087,24 -5177,29 +5192,41 @@@ } EX(old_error_reporting) = NULL; - if (!catched) { + if (catched && finally) { + if (finally_op_num > catch_op_num) { + EX(leaving) = 0; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); + ZEND_VM_CONTINUE(); + } else { + zend_exception_save(TSRMLS_C); + EX(leaving) = finally; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); + ZEND_VM_CONTINUE(); + } + } else if (catched) { + EX(leaving) = 0; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); + ZEND_VM_CONTINUE(); + } else if (finally) { + zend_exception_save(TSRMLS_C); + EX(leaving) = finally; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); + ZEND_VM_CONTINUE(); + } else { + /* For generators skip the leave handler and return directly */ + if (EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) { + /* The generator object is stored in return_value_ptr_ptr */ + zend_generator *generator = (zend_generator *) EG(return_value_ptr_ptr); + + /* Close the generator to free up resources */ + zend_generator_close(generator, 1 TSRMLS_CC); + + /* Pass execution back to handling code */ + ZEND_VM_RETURN(); + } + - ZEND_VM_DISPATCH_TO_HELPER(zend_leave_helper); - } else { - ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); - ZEND_VM_CONTINUE(); - } + ZEND_VM_DISPATCH_TO_HELPER(zend_leave_helper); + } } ZEND_VM_HANDLER(146, ZEND_VERIFY_ABSTRACT_CLASS, ANY, ANY) @@@ -5222,162 -5317,50 +5344,208 @@@ ZEND_VM_HANDLER(156, ZEND_SEPARATE, VAR ZEND_VM_NEXT_OPCODE(); } - ZEND_VM_HANDLER(159, ZEND_YIELD, CONST|TMP|VAR|CV|UNUSED, CONST|TMP|VAR|CV|UNUSED) + ZEND_VM_HANDLER(159, ZEND_LEAVE, ANY, ANY) { + { + USE_OPLINE; + SAVE_OPLINE(); + zend_uint i, op_num = opline - EG(active_op_array)->opcodes; + + zend_exception_restore(TSRMLS_C); + if (EX(leaving)) { + zend_uint catch_op_num = 0, finally_op_num = 0; + for (i = 0; i < EX(leaving); i++) { + if (EG(active_op_array)->try_catch_array[i].try_op > op_num) { + break; + } + if (op_num < EG(active_op_array)->try_catch_array[i].finally_op) { + finally_op_num = EG(active_op_array)->try_catch_array[i].finally_op; + } + if (EG(exception)) { + if (op_num < EG(active_op_array)->try_catch_array[i].catch_op) { + catch_op_num = EG(active_op_array)->try_catch_array[i].catch_op; + } + } + } + + if (catch_op_num && finally_op_num) { + if (catch_op_num > finally_op_num) { + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); + ZEND_VM_CONTINUE(); + } else { + EX(leaving) = 0; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); + ZEND_VM_CONTINUE(); + } + } else if (catch_op_num) { + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); + ZEND_VM_CONTINUE(); + } else if (finally_op_num) { + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); + ZEND_VM_CONTINUE(); + } else { + ZEND_VM_DISPATCH_TO_HELPER(zend_leave_helper); + } + } else { + ZEND_VM_NEXT_OPCODE(); + } + } + ++ZEND_VM_HANDLER(160, ZEND_YIELD, CONST|TMP|VAR|CV|UNUSED, CONST|TMP|VAR|CV|UNUSED) +{ + USE_OPLINE + + /* The generator object is stored in return_value_ptr_ptr */ + zend_generator *generator = (zend_generator *) EG(return_value_ptr_ptr); + + /* Destroy the previously yielded value */ + if (generator->value) { + zval_ptr_dtor(&generator->value); + } + + /* Destroy the previously yielded key */ + if (generator->key) { + zval_ptr_dtor(&generator->key); + } + + /* Set the new yielded value */ + if (OP1_TYPE != IS_UNUSED) { + zend_free_op free_op1; + + if (EX(op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) { + /* Constants and temporary variables aren't yieldable by reference, + * but we still allow them with a notice. */ + if (OP1_TYPE == IS_CONST || OP1_TYPE == IS_TMP_VAR) { + zval *value, *copy; + + zend_error(E_NOTICE, "Only variable references should be yielded by reference"); + + value = GET_OP1_ZVAL_PTR(BP_VAR_R); + ALLOC_ZVAL(copy); + INIT_PZVAL_COPY(copy, value); + + /* Temporary variables don't need ctor copying */ + if (!IS_OP1_TMP_FREE()) { + zval_copy_ctor(copy); + } + + generator->value = copy; + } else { + zval **value_ptr = GET_OP1_ZVAL_PTR_PTR(BP_VAR_W); + + if (OP1_TYPE == IS_VAR && UNEXPECTED(value_ptr == NULL)) { + zend_error_noreturn(E_ERROR, "Cannot yield string offsets by reference"); + } + + /* If a function call result is yielded and the function did + * not return by reference we throw a notice. */ + if (OP1_TYPE == IS_VAR && !Z_ISREF_PP(value_ptr) + && !(opline->extended_value == ZEND_RETURNS_FUNCTION + && EX_T(opline->op1.var).var.fcall_returned_reference) + && EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) { + zend_error(E_NOTICE, "Only variable references should be yielded by reference"); + + Z_ADDREF_PP(value_ptr); + generator->value = *value_ptr; + } else { + SEPARATE_ZVAL_TO_MAKE_IS_REF(value_ptr); + Z_ADDREF_PP(value_ptr); + generator->value = *value_ptr; + } + + FREE_OP1_IF_VAR(); + } + } else { + zval *value = GET_OP1_ZVAL_PTR(BP_VAR_R); + + /* Consts, temporary variables and references need copying */ + if (OP1_TYPE == IS_CONST || OP1_TYPE == IS_TMP_VAR + || (PZVAL_IS_REF(value) && Z_REFCOUNT_P(value) > 0) + ) { + zval *copy; + + ALLOC_ZVAL(copy); + INIT_PZVAL_COPY(copy, value); + + /* Temporary variables don't need ctor copying */ + if (!IS_OP1_TMP_FREE()) { + zval_copy_ctor(copy); + } + + generator->value = copy; + } else { + Z_ADDREF_P(value); + generator->value = value; + } + + FREE_OP1_IF_VAR(); + } + } else { + /* If no value was specified yield null */ + Z_ADDREF(EG(uninitialized_zval)); + generator->value = &EG(uninitialized_zval); + } + + /* Set the new yielded key */ + if (OP2_TYPE != IS_UNUSED) { + zend_free_op free_op2; + zval *key = GET_OP2_ZVAL_PTR(BP_VAR_R); + + /* Consts, temporary variables and references need copying */ + if (OP2_TYPE == IS_CONST || OP2_TYPE == IS_TMP_VAR + || (PZVAL_IS_REF(key) && Z_REFCOUNT_P(key) > 0) + ) { + zval *copy; + + ALLOC_ZVAL(copy); + INIT_PZVAL_COPY(copy, key); + + /* Temporary variables don't need ctor copying */ + if (!IS_OP1_TMP_FREE()) { + zval_copy_ctor(copy); + } + + generator->key = copy; + } else { + Z_ADDREF_P(key); + generator->key = key; + } + + if (Z_TYPE_P(generator->key) == IS_LONG + && Z_LVAL_P(generator->key) > generator->largest_used_integer_key + ) { + generator->largest_used_integer_key = Z_LVAL_P(generator->key); + } + + FREE_OP2_IF_VAR(); + } else { + /* If no key was specified we use auto-increment keys */ + generator->largest_used_integer_key++; + + ALLOC_INIT_ZVAL(generator->key); + ZVAL_LONG(generator->key, generator->largest_used_integer_key); + } + + /* If a value is sent it should go into the result var */ + generator->send_target = &EX_T(opline->result.var); + + /* Initialize the sent value to NULL */ + Z_ADDREF(EG(uninitialized_zval)); + AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval)); + + /* We increment to the next op, so we are at the correct position when the + * generator is resumed. */ + ZEND_VM_INC_OPCODE(); + + /* The GOTO VM uses a local opline variable. We need to set the opline + * variable in execute_data so we don't resume at an old position. */ + SAVE_OPLINE(); + + ZEND_VM_RETURN(); +} + - ZEND_VM_HANDLER(160, ZEND_DELEGATE_YIELD, CONST|TMP|VAR|CV, ANY) ++ZEND_VM_HANDLER(161, ZEND_DELEGATE_YIELD, CONST|TMP|VAR|CV, ANY) +{ + ZEND_VM_NEXT_OPCODE(); +} + ZEND_VM_EXPORT_HELPER(zend_do_fcall, zend_do_fcall_common_helper) diff --cc Zend/zend_vm_execute.h index 5ded3e39c7,df7c94f5ed..495b520ecb --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@@ -385,6 -372,10 +385,7 @@@ zend_execute_data *zend_create_execute_ EX(prev_execute_data) = EG(current_execute_data); EG(current_execute_data) = execute_data; EX(nested) = nested; + EX(leaving) = 0; - nested = 1; - - LOAD_REGS(); if (!op_array->run_time_cache && op_array->last_cache_slot) { op_array->run_time_cache = ecalloc(op_array->last_cache_slot, sizeof(void*)); @@@ -1057,28 -1034,13 +1058,28 @@@ static int ZEND_FASTCALL ZEND_HANDLE_E { zend_uint op_num = EG(opline_before_exception)-EG(active_op_array)->opcodes; int i; - zend_uint catch_op_num = 0; - int catched = 0; + zend_uint catch_op_num = 0, finally_op_num = 0; + int catched = 0, finally = 0; - zval restored_error_reporting; + void **stack_frame; - void **stack_frame = (void**)(((char*)EX_Ts()) + - (ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * EX(op_array)->T)); + /* Figure out where the next stack frame (which maybe contains pushed + * arguments that have to be dtor'ed) starts */ + if (EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) { + /* The generator object is stored in return_value_ptr_ptr */ + zend_generator *generator = (zend_generator *) EG(return_value_ptr_ptr); + /* For generators the next stack frame is conveniently stored in the + * generator object. */ + stack_frame = generator->original_stack_top; + } else { + /* In all other cases the next stack frame starts after the temporary + * variables section of the current execution context */ + stack_frame = (void **) ((char *) EX_Ts() + + ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * EX(op_array)->T); + } + + /* If the exception was thrown during a function call there might be + * arguments pushed to the stack that have to be dtor'ed. */ while (zend_vm_stack_top(TSRMLS_C) != stack_frame) { zval *stack_zval_p = zend_vm_stack_pop(TSRMLS_C); zval_ptr_dtor(&stack_zval_p); @@@ -1150,24 -1115,29 +1156,41 @@@ } EX(old_error_reporting) = NULL; - if (!catched) { + if (catched && finally) { + if (finally_op_num > catch_op_num) { + EX(leaving) = 0; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); + ZEND_VM_CONTINUE(); + } else { + zend_exception_save(TSRMLS_C); + EX(leaving) = finally; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); + ZEND_VM_CONTINUE(); + } + } else if (catched) { + EX(leaving) = 0; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); + ZEND_VM_CONTINUE(); + } else if (finally) { + zend_exception_save(TSRMLS_C); + EX(leaving) = finally; + ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[finally_op_num]); + ZEND_VM_CONTINUE(); + } else { + /* For generators skip the leave handler and return directly */ + if (EX(op_array)->fn_flags & ZEND_ACC_GENERATOR) { + /* The generator object is stored in return_value_ptr_ptr */ + zend_generator *generator = (zend_generator *) EG(return_value_ptr_ptr); + + /* Close the generator to free up resources */ + zend_generator_close(generator, 1 TSRMLS_CC); + + /* Pass execution back to handling code */ + ZEND_VM_RETURN(); + } + - return zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); - } else { - ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[catch_op_num]); - ZEND_VM_CONTINUE(); - } + return zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + } } static int ZEND_FASTCALL ZEND_VERIFY_ABSTRACT_CLASS_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) @@@ -44664,56 -41255,31 +45137,81 @@@ void zend_init_opcodes_handlers(void ZEND_JMP_SET_VAR_SPEC_CV_HANDLER, ZEND_JMP_SET_VAR_SPEC_CV_HANDLER, ZEND_JMP_SET_VAR_SPEC_CV_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_LEAVE_SPEC_HANDLER, + ZEND_YIELD_SPEC_CONST_CONST_HANDLER, + ZEND_YIELD_SPEC_CONST_TMP_HANDLER, + ZEND_YIELD_SPEC_CONST_VAR_HANDLER, + ZEND_YIELD_SPEC_CONST_UNUSED_HANDLER, + ZEND_YIELD_SPEC_CONST_CV_HANDLER, + ZEND_YIELD_SPEC_TMP_CONST_HANDLER, + ZEND_YIELD_SPEC_TMP_TMP_HANDLER, + ZEND_YIELD_SPEC_TMP_VAR_HANDLER, + ZEND_YIELD_SPEC_TMP_UNUSED_HANDLER, + ZEND_YIELD_SPEC_TMP_CV_HANDLER, + ZEND_YIELD_SPEC_VAR_CONST_HANDLER, + ZEND_YIELD_SPEC_VAR_TMP_HANDLER, + ZEND_YIELD_SPEC_VAR_VAR_HANDLER, + ZEND_YIELD_SPEC_VAR_UNUSED_HANDLER, + ZEND_YIELD_SPEC_VAR_CV_HANDLER, + ZEND_YIELD_SPEC_UNUSED_CONST_HANDLER, + ZEND_YIELD_SPEC_UNUSED_TMP_HANDLER, + ZEND_YIELD_SPEC_UNUSED_VAR_HANDLER, + ZEND_YIELD_SPEC_UNUSED_UNUSED_HANDLER, + ZEND_YIELD_SPEC_UNUSED_CV_HANDLER, + ZEND_YIELD_SPEC_CV_CONST_HANDLER, + ZEND_YIELD_SPEC_CV_TMP_HANDLER, + ZEND_YIELD_SPEC_CV_VAR_HANDLER, + ZEND_YIELD_SPEC_CV_UNUSED_HANDLER, + ZEND_YIELD_SPEC_CV_CV_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CONST_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CONST_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CONST_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CONST_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CONST_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_TMP_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_TMP_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_TMP_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_TMP_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_TMP_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_VAR_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_VAR_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_VAR_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_VAR_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_VAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CV_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CV_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CV_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CV_HANDLER, + ZEND_DELEGATE_YIELD_SPEC_CV_HANDLER, ZEND_NULL_HANDLER }; zend_opcode_handlers = (opcode_handler_t*)labels; diff --cc Zend/zend_vm_execute.skl index 909ec8ad7a,f5d0b7879a..25b3d71534 --- a/Zend/zend_vm_execute.skl +++ b/Zend/zend_vm_execute.skl @@@ -46,6 -35,10 +46,7 @@@ zend_execute_data *zend_create_execute_ EX(prev_execute_data) = EG(current_execute_data); EG(current_execute_data) = execute_data; EX(nested) = nested; + EX(leaving) = 0; - nested = 1; - - LOAD_REGS(); if (!op_array->run_time_cache && op_array->last_cache_slot) { op_array->run_time_cache = ecalloc(op_array->last_cache_slot, sizeof(void*)); diff --cc Zend/zend_vm_opcodes.h index 87fabfc2ac,69603d1d13..0a9cf008e3 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@@ -159,5 -159,4 +159,6 @@@ #define ZEND_SEPARATE 156 #define ZEND_QM_ASSIGN_VAR 157 #define ZEND_JMP_SET_VAR 158 - #define ZEND_YIELD 159 - #define ZEND_DELEGATE_YIELD 160 + #define ZEND_LEAVE 159 ++#define ZEND_YIELD 160 ++#define ZEND_DELEGATE_YIELD 161