diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index f888fda28907b..19088b64b41b4 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -1252,6 +1252,7 @@ static void zend_ast_export_ex(smart_str *str, zend_ast *ast, int priority, int case ZEND_POW: BINARY_OP(" ** ", 250, 251, 250); case ZEND_BOOL_XOR: BINARY_OP(" xor ", 40, 40, 41); case ZEND_SPACESHIP: BINARY_OP(" <=> ", 180, 181, 181); + case ZEND_IN: BINARY_OP(" in ", 235, 235, 236); EMPTY_SWITCH_DEFAULT_CASE(); } break; diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index a9794f6fac2b4..3d3d10911e780 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -81,7 +81,7 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); %left '+' '-' '.' %left '*' '/' '%' %right '!' -%nonassoc T_INSTANCEOF +%nonassoc T_INSTANCEOF T_IN %right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' %right T_POW %right '[' @@ -134,7 +134,8 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); %token T_SPACESHIP "<=> (T_SPACESHIP)" %token T_SL "<< (T_SL)" %token T_SR ">> (T_SR)" -%token T_INSTANCEOF "instanceof (T_INSTANCEOF)" +%token T_INSTANCEOF "instanceof (T_INSTANCEOF)" +%token T_IN "in (T_IN)" %token T_INC "++ (T_INC)" %token T_DEC "-- (T_DEC)" %token T_INT_CAST "(int) (T_INT_CAST)" @@ -849,6 +850,8 @@ expr_without_variable: { $$ = zend_ast_create(ZEND_AST_GREATER_EQUAL, $1, $3); } | expr T_SPACESHIP expr { $$ = zend_ast_create_binary_op(ZEND_SPACESHIP, $1, $3); } + | expr T_IN expr + { $$ = zend_ast_create_binary_op(ZEND_IN, $1, $3); } | expr T_INSTANCEOF class_name_reference { $$ = zend_ast_create(ZEND_AST_INSTANCEOF, $1, $3); } | '(' expr ')' { $$ = $2; } diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 02cbf584ba01d..5425e06fbd4a1 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.7.5 */ +/* Generated by re2c 0.13.5 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -1128,17 +1128,18 @@ int lex_scan(zval *zendlval) } /* *********************************** */ yyc_INITIAL: - YYDEBUG(1, *YYCURSOR); + + YYDEBUG(0, *YYCURSOR); YYFILL(7); yych = *YYCURSOR; - if (yych != '<') goto yy5; - YYDEBUG(3, *YYCURSOR); + if (yych != '<') goto yy4; + YYDEBUG(2, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '?') goto yy6; -yy4: - YYDEBUG(4, *YYCURSOR); + if ((yych = *YYCURSOR) == '?') goto yy5; +yy3: + YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1770 "Zend/zend_language_scanner.l" +#line 1774 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1183,25 +1184,25 @@ int lex_scan(zval *zendlval) HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1187 "Zend/zend_language_scanner.c" +#line 1188 "Zend/zend_language_scanner.c" +yy4: + YYDEBUG(4, *YYCURSOR); + yych = *++YYCURSOR; + goto yy3; yy5: YYDEBUG(5, *YYCURSOR); - yych = *++YYCURSOR; - goto yy4; -yy6: - YYDEBUG(6, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { - if (yych == '=') goto yy8; + if (yych == '=') goto yy7; } else { - if (yych <= 'P') goto yy10; - if (yych == 'p') goto yy10; + if (yych <= 'P') goto yy9; + if (yych == 'p') goto yy9; } -yy7: - YYDEBUG(7, *YYCURSOR); +yy6: + YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1761 "Zend/zend_language_scanner.l" +#line 1765 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); @@ -1210,60 +1211,60 @@ int lex_scan(zval *zendlval) goto inline_char_handler; } } -#line 1214 "Zend/zend_language_scanner.c" -yy8: - YYDEBUG(8, *YYCURSOR); +#line 1215 "Zend/zend_language_scanner.c" +yy7: + YYDEBUG(7, *YYCURSOR); ++YYCURSOR; - YYDEBUG(9, *YYCURSOR); + YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1748 "Zend/zend_language_scanner.l" +#line 1752 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG_WITH_ECHO; } -#line 1225 "Zend/zend_language_scanner.c" +#line 1226 "Zend/zend_language_scanner.c" +yy9: + YYDEBUG(9, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy11; + if (yych == 'h') goto yy11; yy10: YYDEBUG(10, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy12; - if (yych == 'h') goto yy12; + YYCURSOR = YYMARKER; + goto yy6; yy11: YYDEBUG(11, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy7; + yych = *++YYCURSOR; + if (yych == 'P') goto yy12; + if (yych != 'p') goto yy10; yy12: YYDEBUG(12, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy13; - if (yych != 'p') goto yy11; -yy13: - YYDEBUG(13, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '\f') { - if (yych <= 0x08) goto yy11; - if (yych >= '\v') goto yy11; + if (yych <= 0x08) goto yy10; + if (yych >= '\v') goto yy10; } else { - if (yych <= '\r') goto yy16; - if (yych != ' ') goto yy11; + if (yych <= '\r') goto yy15; + if (yych != ' ') goto yy10; } +yy13: + YYDEBUG(13, *YYCURSOR); + ++YYCURSOR; yy14: YYDEBUG(14, *YYCURSOR); - ++YYCURSOR; -yy15: - YYDEBUG(15, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1754 "Zend/zend_language_scanner.l" +#line 1758 "Zend/zend_language_scanner.l" { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1262 "Zend/zend_language_scanner.c" -yy16: - YYDEBUG(16, *YYCURSOR); +#line 1263 "Zend/zend_language_scanner.c" +yy15: + YYDEBUG(15, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy14; - goto yy15; + if ((yych = *YYCURSOR) == '\n') goto yy13; + goto yy14; /* *********************************** */ yyc_ST_BACKQUOTE: { @@ -1301,34 +1302,34 @@ int lex_scan(zval *zendlval) 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(17, *YYCURSOR); + YYDEBUG(16, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych != '$') goto yy24; + if (yych != '$') goto yy23; } else { - if (yych <= '`') goto yy22; - if (yych == '{') goto yy21; - goto yy24; + if (yych <= '`') goto yy21; + if (yych == '{') goto yy20; + goto yy23; } - YYDEBUG(19, *YYCURSOR); + YYDEBUG(18, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy20; - if (yych <= 'Z') goto yy27; - if (yych >= '_') goto yy27; + if (yych <= '@') goto yy19; + if (yych <= 'Z') goto yy26; + if (yych >= '_') goto yy26; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy27; + if (yych >= 'a') goto yy26; } else { - if (yych <= '{') goto yy30; - if (yych >= 0x7F) goto yy27; + if (yych <= '{') goto yy29; + if (yych >= 0x7F) goto yy26; } } -yy20: - YYDEBUG(20, *YYCURSOR); +yy19: + YYDEBUG(19, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2180 "Zend/zend_language_scanner.l" +#line 2184 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1369,87 +1370,86 @@ int lex_scan(zval *zendlval) zend_scan_escape_string(zendlval, yytext, yyleng, '`'); return T_ENCAPSED_AND_WHITESPACE; } -#line 1373 "Zend/zend_language_scanner.c" +#line 1374 "Zend/zend_language_scanner.c" +yy20: + YYDEBUG(20, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '$') goto yy24; + goto yy19; yy21: YYDEBUG(21, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy25; - goto yy20; -yy22: - YYDEBUG(22, *YYCURSOR); ++YYCURSOR; - YYDEBUG(23, *YYCURSOR); + YYDEBUG(22, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2124 "Zend/zend_language_scanner.l" +#line 2128 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1389 "Zend/zend_language_scanner.c" +#line 1390 "Zend/zend_language_scanner.c" +yy23: + YYDEBUG(23, *YYCURSOR); + yych = *++YYCURSOR; + goto yy19; yy24: YYDEBUG(24, *YYCURSOR); - yych = *++YYCURSOR; - goto yy20; -yy25: - YYDEBUG(25, *YYCURSOR); ++YYCURSOR; - YYDEBUG(26, *YYCURSOR); + YYDEBUG(25, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2111 "Zend/zend_language_scanner.l" +#line 2115 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); return T_CURLY_OPEN; } -#line 1406 "Zend/zend_language_scanner.c" -yy27: - YYDEBUG(27, *YYCURSOR); +#line 1407 "Zend/zend_language_scanner.c" +yy26: + YYDEBUG(26, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(28, *YYCURSOR); + YYDEBUG(27, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy27; + goto yy26; } - if (yych == '-') goto yy32; - if (yych <= '@') goto yy29; - if (yych <= '[') goto yy34; -yy29: - YYDEBUG(29, *YYCURSOR); + if (yych == '-') goto yy31; + if (yych == '[') goto yy33; +yy28: + YYDEBUG(28, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1835 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } #line 1428 "Zend/zend_language_scanner.c" -yy30: - YYDEBUG(30, *YYCURSOR); +yy29: + YYDEBUG(29, *YYCURSOR); ++YYCURSOR; - YYDEBUG(31, *YYCURSOR); + YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1559 "Zend/zend_language_scanner.l" +#line 1563 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); return T_DOLLAR_OPEN_CURLY_BRACES; } #line 1439 "Zend/zend_language_scanner.c" +yy31: + YYDEBUG(31, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '>') goto yy35; yy32: YYDEBUG(32, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy36; + YYCURSOR = YYMARKER; + goto yy28; yy33: YYDEBUG(33, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy29; -yy34: - YYDEBUG(34, *YYCURSOR); ++YYCURSOR; - YYDEBUG(35, *YYCURSOR); + YYDEBUG(34, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1828 "Zend/zend_language_scanner.l" +#line 1832 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); @@ -1457,24 +1457,24 @@ int lex_scan(zval *zendlval) return T_VARIABLE; } #line 1460 "Zend/zend_language_scanner.c" -yy36: - YYDEBUG(36, *YYCURSOR); +yy35: + YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy33; - if (yych <= 'Z') goto yy37; - if (yych <= '^') goto yy33; + if (yych <= '@') goto yy32; + if (yych <= 'Z') goto yy36; + if (yych <= '^') goto yy32; } else { - if (yych <= '`') goto yy33; - if (yych <= 'z') goto yy37; - if (yych <= '~') goto yy33; + if (yych <= '`') goto yy32; + if (yych <= 'z') goto yy36; + if (yych <= '~') goto yy32; } -yy37: - YYDEBUG(37, *YYCURSOR); +yy36: + YYDEBUG(36, *YYCURSOR); ++YYCURSOR; - YYDEBUG(38, *YYCURSOR); + YYDEBUG(37, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1823 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); @@ -1520,36 +1520,36 @@ int lex_scan(zval *zendlval) 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(39, *YYCURSOR); + YYDEBUG(38, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '#') { - if (yych == '"') goto yy44; - goto yy46; + if (yych == '"') goto yy43; + goto yy45; } else { - if (yych <= '$') goto yy41; - if (yych == '{') goto yy43; - goto yy46; + if (yych <= '$') goto yy40; + if (yych == '{') goto yy42; + goto yy45; } -yy41: - YYDEBUG(41, *YYCURSOR); +yy40: + YYDEBUG(40, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy42; - if (yych <= 'Z') goto yy49; - if (yych >= '_') goto yy49; + if (yych <= '@') goto yy41; + if (yych <= 'Z') goto yy48; + if (yych >= '_') goto yy48; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy49; + if (yych >= 'a') goto yy48; } else { - if (yych <= '{') goto yy52; - if (yych >= 0x7F) goto yy49; + if (yych <= '{') goto yy51; + if (yych >= 0x7F) goto yy48; } } -yy42: - YYDEBUG(42, *YYCURSOR); +yy41: + YYDEBUG(41, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2130 "Zend/zend_language_scanner.l" +#line 2134 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1599,32 +1599,32 @@ int lex_scan(zval *zendlval) return T_ENCAPSED_AND_WHITESPACE; } #line 1602 "Zend/zend_language_scanner.c" +yy42: + YYDEBUG(42, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '$') goto yy46; + goto yy41; yy43: YYDEBUG(43, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy47; - goto yy42; -yy44: - YYDEBUG(44, *YYCURSOR); ++YYCURSOR; - YYDEBUG(45, *YYCURSOR); + YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2119 "Zend/zend_language_scanner.l" +#line 2123 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } #line 1618 "Zend/zend_language_scanner.c" +yy45: + YYDEBUG(45, *YYCURSOR); + yych = *++YYCURSOR; + goto yy41; yy46: YYDEBUG(46, *YYCURSOR); - yych = *++YYCURSOR; - goto yy42; -yy47: - YYDEBUG(47, *YYCURSOR); ++YYCURSOR; - YYDEBUG(48, *YYCURSOR); + YYDEBUG(47, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2111 "Zend/zend_language_scanner.l" +#line 2115 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); @@ -1632,96 +1632,95 @@ int lex_scan(zval *zendlval) return T_CURLY_OPEN; } #line 1635 "Zend/zend_language_scanner.c" -yy49: - YYDEBUG(49, *YYCURSOR); +yy48: + YYDEBUG(48, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(50, *YYCURSOR); + YYDEBUG(49, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy49; + goto yy48; } - if (yych == '-') goto yy54; - if (yych <= '@') goto yy51; - if (yych <= '[') goto yy56; -yy51: - YYDEBUG(51, *YYCURSOR); + if (yych == '-') goto yy53; + if (yych == '[') goto yy55; +yy50: + YYDEBUG(50, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1835 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1657 "Zend/zend_language_scanner.c" -yy52: - YYDEBUG(52, *YYCURSOR); +#line 1656 "Zend/zend_language_scanner.c" +yy51: + YYDEBUG(51, *YYCURSOR); ++YYCURSOR; - YYDEBUG(53, *YYCURSOR); + YYDEBUG(52, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1559 "Zend/zend_language_scanner.l" +#line 1563 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1668 "Zend/zend_language_scanner.c" +#line 1667 "Zend/zend_language_scanner.c" +yy53: + YYDEBUG(53, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '>') goto yy57; yy54: YYDEBUG(54, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy58; + YYCURSOR = YYMARKER; + goto yy50; yy55: YYDEBUG(55, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy51; -yy56: - YYDEBUG(56, *YYCURSOR); ++YYCURSOR; - YYDEBUG(57, *YYCURSOR); + YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1828 "Zend/zend_language_scanner.l" +#line 1832 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1689 "Zend/zend_language_scanner.c" -yy58: - YYDEBUG(58, *YYCURSOR); +#line 1688 "Zend/zend_language_scanner.c" +yy57: + YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy55; - if (yych <= 'Z') goto yy59; - if (yych <= '^') goto yy55; + if (yych <= '@') goto yy54; + if (yych <= 'Z') goto yy58; + if (yych <= '^') goto yy54; } else { - if (yych <= '`') goto yy55; - if (yych <= 'z') goto yy59; - if (yych <= '~') goto yy55; + if (yych <= '`') goto yy54; + if (yych <= 'z') goto yy58; + if (yych <= '~') goto yy54; } -yy59: - YYDEBUG(59, *YYCURSOR); +yy58: + YYDEBUG(58, *YYCURSOR); ++YYCURSOR; - YYDEBUG(60, *YYCURSOR); + YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1823 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1714 "Zend/zend_language_scanner.c" +#line 1713 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: - YYDEBUG(61, *YYCURSOR); + YYDEBUG(60, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(63, *YYCURSOR); + YYDEBUG(62, *YYCURSOR); ++YYCURSOR; - YYDEBUG(64, *YYCURSOR); + YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2097 "Zend/zend_language_scanner.l" +#line 2101 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -1734,7 +1733,7 @@ int lex_scan(zval *zendlval) BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1738 "Zend/zend_language_scanner.c" +#line 1737 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1772,31 +1771,31 @@ int lex_scan(zval *zendlval) 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(65, *YYCURSOR); + YYDEBUG(64, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych == '$') goto yy67; - if (yych == '{') goto yy69; - goto yy70; -yy67: - YYDEBUG(67, *YYCURSOR); + if (yych == '$') goto yy66; + if (yych == '{') goto yy68; + goto yy69; +yy66: + YYDEBUG(66, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy68; - if (yych <= 'Z') goto yy73; - if (yych >= '_') goto yy73; + if (yych <= '@') goto yy67; + if (yych <= 'Z') goto yy72; + if (yych >= '_') goto yy72; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy73; + if (yych >= 'a') goto yy72; } else { - if (yych <= '{') goto yy76; - if (yych >= 0x7F) goto yy73; + if (yych <= '{') goto yy75; + if (yych >= 0x7F) goto yy72; } } -yy68: - YYDEBUG(68, *YYCURSOR); +yy67: + YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2222 "Zend/zend_language_scanner.l" +#line 2226 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1869,108 +1868,107 @@ int lex_scan(zval *zendlval) zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0); return T_ENCAPSED_AND_WHITESPACE; } -#line 1873 "Zend/zend_language_scanner.c" +#line 1872 "Zend/zend_language_scanner.c" +yy68: + YYDEBUG(68, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '$') goto yy70; + goto yy67; yy69: YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '$') goto yy71; - goto yy68; + goto yy67; yy70: YYDEBUG(70, *YYCURSOR); - yych = *++YYCURSOR; - goto yy68; -yy71: - YYDEBUG(71, *YYCURSOR); ++YYCURSOR; - YYDEBUG(72, *YYCURSOR); + YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2111 "Zend/zend_language_scanner.l" +#line 2115 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); return T_CURLY_OPEN; } -#line 1895 "Zend/zend_language_scanner.c" -yy73: - YYDEBUG(73, *YYCURSOR); +#line 1894 "Zend/zend_language_scanner.c" +yy72: + YYDEBUG(72, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(74, *YYCURSOR); + YYDEBUG(73, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy73; + goto yy72; } - if (yych == '-') goto yy78; - if (yych <= '@') goto yy75; - if (yych <= '[') goto yy80; -yy75: - YYDEBUG(75, *YYCURSOR); + if (yych == '-') goto yy77; + if (yych == '[') goto yy79; +yy74: + YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1835 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1917 "Zend/zend_language_scanner.c" -yy76: - YYDEBUG(76, *YYCURSOR); +#line 1915 "Zend/zend_language_scanner.c" +yy75: + YYDEBUG(75, *YYCURSOR); ++YYCURSOR; - YYDEBUG(77, *YYCURSOR); + YYDEBUG(76, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1559 "Zend/zend_language_scanner.l" +#line 1563 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1928 "Zend/zend_language_scanner.c" +#line 1926 "Zend/zend_language_scanner.c" +yy77: + YYDEBUG(77, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '>') goto yy81; yy78: YYDEBUG(78, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy82; + YYCURSOR = YYMARKER; + goto yy74; yy79: YYDEBUG(79, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy75; -yy80: - YYDEBUG(80, *YYCURSOR); ++YYCURSOR; - YYDEBUG(81, *YYCURSOR); + YYDEBUG(80, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1828 "Zend/zend_language_scanner.l" +#line 1832 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1949 "Zend/zend_language_scanner.c" -yy82: - YYDEBUG(82, *YYCURSOR); +#line 1947 "Zend/zend_language_scanner.c" +yy81: + YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy79; - if (yych <= 'Z') goto yy83; - if (yych <= '^') goto yy79; + if (yych <= '@') goto yy78; + if (yych <= 'Z') goto yy82; + if (yych <= '^') goto yy78; } else { - if (yych <= '`') goto yy79; - if (yych <= 'z') goto yy83; - if (yych <= '~') goto yy79; + if (yych <= '`') goto yy78; + if (yych <= 'z') goto yy82; + if (yych <= '~') goto yy78; } -yy83: - YYDEBUG(83, *YYCURSOR); +yy82: + YYDEBUG(82, *YYCURSOR); ++YYCURSOR; - YYDEBUG(84, *YYCURSOR); + YYDEBUG(83, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1823 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1974 "Zend/zend_language_scanner.c" +#line 1972 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2009,7 +2007,7 @@ int lex_scan(zval *zendlval) 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; - YYDEBUG(85, *YYCURSOR); + YYDEBUG(84, *YYCURSOR); YYFILL(16); yych = *YYCURSOR; YYDEBUG(-1, yych); @@ -2042,32 +2040,32 @@ int lex_scan(zval *zendlval) case 0x1C: case 0x1D: case 0x1E: - case 0x1F: goto yy148; + case 0x1F: goto yy147; case '\t': case '\n': case '\r': - case ' ': goto yy104; - case '!': goto yy119; - case '"': goto yy144; - case '#': goto yy140; - case '$': goto yy130; - case '%': goto yy124; - case '&': goto yy125; - case '\'': goto yy142; - case '(': goto yy113; + case ' ': goto yy103; + case '!': goto yy118; + case '"': goto yy143; + case '#': goto yy139; + case '$': goto yy129; + case '%': goto yy123; + case '&': goto yy124; + case '\'': goto yy141; + case '(': goto yy112; case ')': case ',': case ';': case '@': case '[': case ']': - case '~': goto yy131; - case '*': goto yy122; - case '+': goto yy118; - case '-': goto yy102; - case '.': goto yy109; - case '/': goto yy123; - case '0': goto yy136; + case '~': goto yy130; + case '*': goto yy121; + case '+': goto yy117; + case '-': goto yy101; + case '.': goto yy108; + case '/': goto yy122; + case '0': goto yy135; case '1': case '2': case '3': @@ -2076,63 +2074,63 @@ int lex_scan(zval *zendlval) case '6': case '7': case '8': - case '9': goto yy138; - case ':': goto yy106; - case '<': goto yy120; - case '=': goto yy116; - case '>': goto yy121; - case '?': goto yy110; + case '9': goto yy137; + case ':': goto yy105; + case '<': goto yy119; + case '=': goto yy115; + case '>': goto yy120; + case '?': goto yy109; case 'A': - case 'a': goto yy97; + case 'a': goto yy96; case 'B': - case 'b': goto yy99; + case 'b': goto yy98; case 'C': - case 'c': goto yy91; + case 'c': goto yy90; case 'D': - case 'd': goto yy89; + case 'd': goto yy88; case 'E': - case 'e': goto yy87; + case 'e': goto yy86; case 'F': - case 'f': goto yy90; + case 'f': goto yy89; case 'G': - case 'g': goto yy100; + case 'g': goto yy99; case 'I': - case 'i': goto yy95; + case 'i': goto yy94; case 'L': - case 'l': goto yy117; + case 'l': goto yy116; case 'N': - case 'n': goto yy111; + case 'n': goto yy110; case 'O': - case 'o': goto yy128; + case 'o': goto yy127; case 'P': - case 'p': goto yy101; + case 'p': goto yy100; case 'R': - case 'r': goto yy92; + case 'r': goto yy91; case 'S': - case 's': goto yy98; + case 's': goto yy97; case 'T': - case 't': goto yy94; + case 't': goto yy93; case 'U': - case 'u': goto yy114; + case 'u': goto yy113; case 'V': - case 'v': goto yy112; + case 'v': goto yy111; case 'W': - case 'w': goto yy96; + case 'w': goto yy95; case 'X': - case 'x': goto yy129; + case 'x': goto yy128; case 'Y': - case 'y': goto yy93; - case '\\': goto yy107; - case '^': goto yy127; - case '_': goto yy115; - case '`': goto yy146; - case '{': goto yy132; - case '|': goto yy126; - case '}': goto yy134; - default: goto yy139; - } -yy87: - YYDEBUG(87, *YYCURSOR); + case 'y': goto yy92; + case '\\': goto yy106; + case '^': goto yy126; + case '_': goto yy114; + case '`': goto yy145; + case '{': goto yy131; + case '|': goto yy125; + case '}': goto yy133; + default: goto yy138; + } +yy86: + YYDEBUG(86, *YYCURSOR); ++YYCURSOR; YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { @@ -2148,522 +2146,522 @@ int lex_scan(zval *zendlval) case 'v': goto yy702; case 'X': case 'x': goto yy703; - default: goto yy151; + default: goto yy150; } -yy88: - YYDEBUG(88, *YYCURSOR); +yy87: + YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1858 "Zend/zend_language_scanner.l" +#line 1862 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 2162 "Zend/zend_language_scanner.c" -yy89: - YYDEBUG(89, *YYCURSOR); +#line 2160 "Zend/zend_language_scanner.c" +yy88: + YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'E') goto yy680; - goto yy151; + goto yy150; } else { if (yych <= 'I') goto yy681; - if (yych <= 'N') goto yy151; + if (yych <= 'N') goto yy150; goto yy682; } } else { if (yych <= 'h') { if (yych == 'e') goto yy680; - goto yy151; + goto yy150; } else { if (yych <= 'i') goto yy681; if (yych == 'o') goto yy682; - goto yy151; + goto yy150; } } -yy90: - YYDEBUG(90, *YYCURSOR); +yy89: + YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'N') { if (yych == 'I') goto yy656; - goto yy151; + goto yy150; } else { if (yych <= 'O') goto yy657; - if (yych <= 'T') goto yy151; + if (yych <= 'T') goto yy150; goto yy658; } } else { if (yych <= 'n') { if (yych == 'i') goto yy656; - goto yy151; + goto yy150; } else { if (yych <= 'o') goto yy657; if (yych == 'u') goto yy658; - goto yy151; + goto yy150; } } -yy91: - YYDEBUG(91, *YYCURSOR); +yy90: + YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'K') { if (yych == 'A') goto yy621; - goto yy151; + goto yy150; } else { if (yych <= 'L') goto yy622; - if (yych <= 'N') goto yy151; + if (yych <= 'N') goto yy150; goto yy623; } } else { if (yych <= 'k') { if (yych == 'a') goto yy621; - goto yy151; + goto yy150; } else { if (yych <= 'l') goto yy622; if (yych == 'o') goto yy623; - goto yy151; + goto yy150; } } -yy92: - YYDEBUG(92, *YYCURSOR); +yy91: + YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy603; if (yych == 'e') goto yy603; - goto yy151; -yy93: - YYDEBUG(93, *YYCURSOR); + goto yy150; +yy92: + YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy598; if (yych == 'i') goto yy598; - goto yy151; -yy94: - YYDEBUG(94, *YYCURSOR); + goto yy150; +yy93: + YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'H') goto yy586; - if (yych <= 'Q') goto yy151; + if (yych <= 'Q') goto yy150; goto yy587; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy151; + if (yych <= 'g') goto yy150; goto yy586; } else { if (yych == 'r') goto yy587; - goto yy151; + goto yy150; } } -yy95: - YYDEBUG(95, *YYCURSOR); +yy94: + YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'L') { - if (yych == 'F') goto yy533; - goto yy151; + if (yych == 'F') goto yy532; + goto yy150; } else { - if (yych <= 'M') goto yy535; - if (yych <= 'N') goto yy536; - if (yych <= 'R') goto yy151; + if (yych <= 'M') goto yy534; + if (yych <= 'N') goto yy535; + if (yych <= 'R') goto yy150; goto yy537; } } else { if (yych <= 'm') { - if (yych == 'f') goto yy533; - if (yych <= 'l') goto yy151; - goto yy535; + if (yych == 'f') goto yy532; + if (yych <= 'l') goto yy150; + goto yy534; } else { - if (yych <= 'n') goto yy536; + if (yych <= 'n') goto yy535; if (yych == 's') goto yy537; - goto yy151; + goto yy150; } } +yy95: + YYDEBUG(95, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy527; + if (yych == 'h') goto yy527; + goto yy150; yy96: YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy528; - if (yych == 'h') goto yy528; - goto yy151; -yy97: - YYDEBUG(97, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'M') { - if (yych == 'B') goto yy510; - goto yy151; + if (yych == 'B') goto yy509; + goto yy150; } else { - if (yych <= 'N') goto yy511; - if (yych <= 'Q') goto yy151; - if (yych <= 'R') goto yy512; - goto yy513; + if (yych <= 'N') goto yy510; + if (yych <= 'Q') goto yy150; + if (yych <= 'R') goto yy511; + goto yy512; } } else { if (yych <= 'n') { - if (yych == 'b') goto yy510; - if (yych <= 'm') goto yy151; - goto yy511; + if (yych == 'b') goto yy509; + if (yych <= 'm') goto yy150; + goto yy510; } else { - if (yych <= 'q') goto yy151; - if (yych <= 'r') goto yy512; - if (yych <= 's') goto yy513; - goto yy151; + if (yych <= 'q') goto yy150; + if (yych <= 'r') goto yy511; + if (yych <= 's') goto yy512; + goto yy150; } } -yy98: - YYDEBUG(98, *YYCURSOR); +yy97: + YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { - if (yych == 'T') goto yy498; - if (yych <= 'V') goto yy151; - goto yy499; + if (yych == 'T') goto yy497; + if (yych <= 'V') goto yy150; + goto yy498; } else { if (yych <= 't') { - if (yych <= 's') goto yy151; - goto yy498; + if (yych <= 's') goto yy150; + goto yy497; } else { - if (yych == 'w') goto yy499; - goto yy151; + if (yych == 'w') goto yy498; + goto yy150; } } -yy99: - YYDEBUG(99, *YYCURSOR); +yy98: + YYDEBUG(98, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ';') { if (yych <= '"') { - if (yych <= '!') goto yy151; - goto yy490; + if (yych <= '!') goto yy150; + goto yy489; } else { - if (yych == '\'') goto yy491; - goto yy151; + if (yych == '\'') goto yy490; + goto yy150; } } else { if (yych <= 'R') { - if (yych <= '<') goto yy489; - if (yych <= 'Q') goto yy151; - goto yy492; + if (yych <= '<') goto yy488; + if (yych <= 'Q') goto yy150; + goto yy491; } else { - if (yych == 'r') goto yy492; - goto yy151; + if (yych == 'r') goto yy491; + goto yy150; } } -yy100: - YYDEBUG(100, *YYCURSOR); +yy99: + YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'L') goto yy479; - if (yych <= 'N') goto yy151; - goto yy480; + if (yych == 'L') goto yy478; + if (yych <= 'N') goto yy150; + goto yy479; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy151; - goto yy479; + if (yych <= 'k') goto yy150; + goto yy478; } else { - if (yych == 'o') goto yy480; - goto yy151; + if (yych == 'o') goto yy479; + goto yy150; } } -yy101: - YYDEBUG(101, *YYCURSOR); +yy100: + YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'R') goto yy455; - if (yych <= 'T') goto yy151; - goto yy456; + if (yych == 'R') goto yy454; + if (yych <= 'T') goto yy150; + goto yy455; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy151; - goto yy455; + if (yych <= 'q') goto yy150; + goto yy454; } else { - if (yych == 'u') goto yy456; - goto yy151; + if (yych == 'u') goto yy455; + goto yy150; } } -yy102: - YYDEBUG(102, *YYCURSOR); +yy101: + YYDEBUG(101, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy451; + if (yych == '-') goto yy450; } else { - if (yych <= '=') goto yy449; - if (yych <= '>') goto yy453; + if (yych <= '=') goto yy448; + if (yych <= '>') goto yy452; } -yy103: - YYDEBUG(103, *YYCURSOR); +yy102: + YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1548 "Zend/zend_language_scanner.l" +#line 1552 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2398 "Zend/zend_language_scanner.c" -yy104: - YYDEBUG(104, *YYCURSOR); +#line 2396 "Zend/zend_language_scanner.c" +yy103: + YYDEBUG(103, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy448; -yy105: - YYDEBUG(105, *YYCURSOR); + goto yy447; +yy104: + YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1263 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2412 "Zend/zend_language_scanner.c" +#line 2410 "Zend/zend_language_scanner.c" +yy105: + YYDEBUG(105, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == ':') goto yy444; + goto yy102; yy106: YYDEBUG(106, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ':') goto yy445; - goto yy103; -yy107: - YYDEBUG(107, *YYCURSOR); ++YYCURSOR; - YYDEBUG(108, *YYCURSOR); + YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1288 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2427 "Zend/zend_language_scanner.c" -yy109: - YYDEBUG(109, *YYCURSOR); +#line 2425 "Zend/zend_language_scanner.c" +yy108: + YYDEBUG(108, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy442; - goto yy103; + if (yych == '.') goto yy441; + goto yy102; } else { - if (yych <= '9') goto yy438; - if (yych == '=') goto yy440; - goto yy103; + if (yych <= '9') goto yy437; + if (yych == '=') goto yy439; + goto yy102; } +yy109: + YYDEBUG(109, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '=') goto yy102; + if (yych <= '>') goto yy431; + if (yych <= '?') goto yy433; + goto yy102; yy110: YYDEBUG(110, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '=') goto yy103; - if (yych <= '>') goto yy432; - if (yych <= '?') goto yy434; - goto yy103; -yy111: - YYDEBUG(111, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy420; - if (yych <= 'D') goto yy151; - goto yy421; + if (yych == 'A') goto yy419; + if (yych <= 'D') goto yy150; + goto yy420; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; - goto yy420; + if (yych <= '`') goto yy150; + goto yy419; } else { - if (yych == 'e') goto yy421; - goto yy151; + if (yych == 'e') goto yy420; + goto yy150; } } +yy111: + YYDEBUG(111, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy416; + if (yych == 'a') goto yy416; + goto yy150; yy112: YYDEBUG(112, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy417; - if (yych == 'a') goto yy417; - goto yy151; -yy113: - YYDEBUG(113, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy342; - if (yych <= 0x1F) goto yy103; - goto yy342; + if (yych == '\t') goto yy341; + if (yych <= 0x1F) goto yy102; + goto yy341; } else { - if (yych <= '@') goto yy103; - if (yych == 'C') goto yy103; - goto yy342; + if (yych <= '@') goto yy102; + if (yych == 'C') goto yy102; + goto yy341; } } else { if (yych <= 'I') { - if (yych == 'F') goto yy342; - if (yych <= 'H') goto yy103; - goto yy342; + if (yych == 'F') goto yy341; + if (yych <= 'H') goto yy102; + goto yy341; } else { - if (yych == 'O') goto yy342; - if (yych <= 'Q') goto yy103; - goto yy342; + if (yych == 'O') goto yy341; + if (yych <= 'Q') goto yy102; + goto yy341; } } } else { if (yych <= 'f') { if (yych <= 'b') { - if (yych == 'U') goto yy342; - if (yych <= '`') goto yy103; - goto yy342; + if (yych == 'U') goto yy341; + if (yych <= '`') goto yy102; + goto yy341; } else { - if (yych == 'd') goto yy342; - if (yych <= 'e') goto yy103; - goto yy342; + if (yych == 'd') goto yy341; + if (yych <= 'e') goto yy102; + goto yy341; } } else { if (yych <= 'o') { - if (yych == 'i') goto yy342; - if (yych <= 'n') goto yy103; - goto yy342; + if (yych == 'i') goto yy341; + if (yych <= 'n') goto yy102; + goto yy341; } else { if (yych <= 's') { - if (yych <= 'q') goto yy103; - goto yy342; + if (yych <= 'q') goto yy102; + goto yy341; } else { - if (yych == 'u') goto yy342; - goto yy103; + if (yych == 'u') goto yy341; + goto yy102; } } } } -yy114: - YYDEBUG(114, *YYCURSOR); +yy113: + YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'N') goto yy333; - if (yych <= 'R') goto yy151; - goto yy334; + if (yych == 'N') goto yy332; + if (yych <= 'R') goto yy150; + goto yy333; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy151; - goto yy333; + if (yych <= 'm') goto yy150; + goto yy332; } else { - if (yych == 's') goto yy334; - goto yy151; + if (yych == 's') goto yy333; + goto yy150; } } +yy114: + YYDEBUG(114, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy250; + goto yy150; yy115: YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '_') goto yy251; - goto yy151; + if (yych <= '<') goto yy102; + if (yych <= '=') goto yy244; + if (yych <= '>') goto yy246; + goto yy102; yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy103; - if (yych <= '=') goto yy245; - if (yych <= '>') goto yy247; - goto yy103; + if (yych == 'I') goto yy240; + if (yych == 'i') goto yy240; + goto yy150; yy117: YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy241; - if (yych == 'i') goto yy241; - goto yy151; + if (yych == '+') goto yy238; + if (yych == '=') goto yy236; + goto yy102; yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy239; - if (yych == '=') goto yy237; - goto yy103; + if (yych == '=') goto yy233; + goto yy102; yy119: YYDEBUG(119, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy234; - goto yy103; + if (yych <= ';') goto yy102; + if (yych <= '<') goto yy209; + if (yych <= '=') goto yy211; + if (yych <= '>') goto yy213; + goto yy102; yy120: YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= ';') goto yy103; - if (yych <= '<') goto yy210; - if (yych <= '=') goto yy212; - if (yych <= '>') goto yy214; - goto yy103; + if (yych <= '<') goto yy102; + if (yych <= '=') goto yy205; + if (yych <= '>') goto yy203; + goto yy102; yy121: YYDEBUG(121, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy103; - if (yych <= '=') goto yy206; - if (yych <= '>') goto yy204; - goto yy103; + if (yych == '*') goto yy197; + if (yych == '=') goto yy199; + goto yy102; yy122: YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '*') goto yy198; - if (yych == '=') goto yy200; - goto yy103; -yy123: - YYDEBUG(123, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '.') { - if (yych == '*') goto yy190; - goto yy103; + if (yych == '*') goto yy189; + goto yy102; } else { - if (yych <= '/') goto yy192; - if (yych == '=') goto yy193; - goto yy103; + if (yych <= '/') goto yy191; + if (yych == '=') goto yy192; + goto yy102; } +yy123: + YYDEBUG(123, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '=') goto yy187; + goto yy102; yy124: YYDEBUG(124, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy188; - goto yy103; + if (yych == '&') goto yy183; + if (yych == '=') goto yy185; + goto yy102; yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '&') goto yy184; - if (yych == '=') goto yy186; - goto yy103; + if (yych == '=') goto yy181; + if (yych == '|') goto yy179; + goto yy102; yy126: YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy182; - if (yych == '|') goto yy180; - goto yy103; + if (yych == '=') goto yy177; + goto yy102; yy127: YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy178; - goto yy103; + if (yych == 'R') goto yy175; + if (yych == 'r') goto yy175; + goto yy150; yy128: YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy176; - if (yych == 'r') goto yy176; - goto yy151; + if (yych == 'O') goto yy172; + if (yych == 'o') goto yy172; + goto yy150; yy129: YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy173; - if (yych == 'o') goto yy173; - goto yy151; -yy130: - YYDEBUG(130, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy103; - if (yych <= 'Z') goto yy170; - if (yych <= '^') goto yy103; - goto yy170; + if (yych <= '@') goto yy102; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy102; + goto yy169; } else { - if (yych <= '`') goto yy103; - if (yych <= 'z') goto yy170; - if (yych <= '~') goto yy103; - goto yy170; + if (yych <= '`') goto yy102; + if (yych <= 'z') goto yy169; + if (yych <= '~') goto yy102; + goto yy169; } +yy130: + YYDEBUG(130, *YYCURSOR); + yych = *++YYCURSOR; + goto yy102; yy131: YYDEBUG(131, *YYCURSOR); - yych = *++YYCURSOR; - goto yy103; -yy132: - YYDEBUG(132, *YYCURSOR); ++YYCURSOR; - YYDEBUG(133, *YYCURSOR); + YYDEBUG(132, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1553 "Zend/zend_language_scanner.l" +#line 1557 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); return '{'; } -#line 2661 "Zend/zend_language_scanner.c" -yy134: - YYDEBUG(134, *YYCURSOR); +#line 2659 "Zend/zend_language_scanner.c" +yy133: + YYDEBUG(133, *YYCURSOR); ++YYCURSOR; - YYDEBUG(135, *YYCURSOR); + YYDEBUG(134, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1565 "Zend/zend_language_scanner.l" +#line 1569 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2671,35 +2669,35 @@ int lex_scan(zval *zendlval) } return '}'; } -#line 2675 "Zend/zend_language_scanner.c" -yy136: - YYDEBUG(136, *YYCURSOR); +#line 2673 "Zend/zend_language_scanner.c" +yy135: + YYDEBUG(135, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '9') { - if (yych == '.') goto yy152; - if (yych >= '0') goto yy155; + if (yych == '.') goto yy151; + if (yych >= '0') goto yy154; } else { - if (yych == 'B') goto yy163; - if (yych >= 'E') goto yy157; + if (yych == 'B') goto yy162; + if (yych >= 'E') goto yy156; } } else { if (yych <= 'b') { - if (yych == 'X') goto yy162; - if (yych >= 'b') goto yy163; + if (yych == 'X') goto yy161; + if (yych >= 'b') goto yy162; } else { if (yych <= 'e') { - if (yych >= 'e') goto yy157; + if (yych >= 'e') goto yy156; } else { - if (yych == 'x') goto yy162; + if (yych == 'x') goto yy161; } } } -yy137: - YYDEBUG(137, *YYCURSOR); +yy136: + YYDEBUG(136, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1618 "Zend/zend_language_scanner.l" +#line 1622 "Zend/zend_language_scanner.l" { char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -2738,35 +2736,35 @@ int lex_scan(zval *zendlval) } return T_LNUMBER; } -#line 2742 "Zend/zend_language_scanner.c" -yy138: - YYDEBUG(138, *YYCURSOR); +#line 2740 "Zend/zend_language_scanner.c" +yy137: + YYDEBUG(137, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy152; - if (yych <= '/') goto yy137; - goto yy155; + if (yych == '.') goto yy151; + if (yych <= '/') goto yy136; + goto yy154; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy137; - goto yy157; + if (yych <= 'D') goto yy136; + goto yy156; } else { - if (yych == 'e') goto yy157; - goto yy137; + if (yych == 'e') goto yy156; + goto yy136; } } +yy138: + YYDEBUG(138, *YYCURSOR); + yych = *++YYCURSOR; + goto yy150; yy139: YYDEBUG(139, *YYCURSOR); - yych = *++YYCURSOR; - goto yy151; + ++YYCURSOR; yy140: YYDEBUG(140, *YYCURSOR); - ++YYCURSOR; -yy141: - YYDEBUG(141, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1864 "Zend/zend_language_scanner.l" +#line 1868 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2795,14 +2793,14 @@ int lex_scan(zval *zendlval) return T_COMMENT; } -#line 2799 "Zend/zend_language_scanner.c" +#line 2797 "Zend/zend_language_scanner.c" +yy141: + YYDEBUG(141, *YYCURSOR); + ++YYCURSOR; yy142: YYDEBUG(142, *YYCURSOR); - ++YYCURSOR; -yy143: - YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1932 "Zend/zend_language_scanner.l" +#line 1936 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2870,14 +2868,14 @@ int lex_scan(zval *zendlval) } return T_CONSTANT_ENCAPSED_STRING; } -#line 2874 "Zend/zend_language_scanner.c" +#line 2872 "Zend/zend_language_scanner.c" +yy143: + YYDEBUG(143, *YYCURSOR); + ++YYCURSOR; yy144: YYDEBUG(144, *YYCURSOR); - ++YYCURSOR; -yy145: - YYDEBUG(145, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2001 "Zend/zend_language_scanner.l" +#line 2005 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2918,24 +2916,24 @@ int lex_scan(zval *zendlval) BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 2922 "Zend/zend_language_scanner.c" -yy146: - YYDEBUG(146, *YYCURSOR); +#line 2920 "Zend/zend_language_scanner.c" +yy145: + YYDEBUG(145, *YYCURSOR); ++YYCURSOR; - YYDEBUG(147, *YYCURSOR); + YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2091 "Zend/zend_language_scanner.l" +#line 2095 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 2933 "Zend/zend_language_scanner.c" -yy148: - YYDEBUG(148, *YYCURSOR); +#line 2931 "Zend/zend_language_scanner.c" +yy147: + YYDEBUG(147, *YYCURSOR); ++YYCURSOR; - YYDEBUG(149, *YYCURSOR); + YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2353 "Zend/zend_language_scanner.l" +#line 2357 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -2944,34 +2942,34 @@ int lex_scan(zval *zendlval) zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 2948 "Zend/zend_language_scanner.c" -yy150: - YYDEBUG(150, *YYCURSOR); +#line 2946 "Zend/zend_language_scanner.c" +yy149: + YYDEBUG(149, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy151: - YYDEBUG(151, *YYCURSOR); +yy150: + YYDEBUG(150, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy150; + goto yy149; } - goto yy88; -yy152: - YYDEBUG(152, *YYCURSOR); + goto yy87; +yy151: + YYDEBUG(151, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(153, *YYCURSOR); + YYDEBUG(152, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy152; + goto yy151; } - if (yych == 'E') goto yy157; - if (yych == 'e') goto yy157; -yy154: - YYDEBUG(154, *YYCURSOR); + if (yych == 'E') goto yy156; + if (yych == 'e') goto yy156; +yy153: + YYDEBUG(153, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1706 "Zend/zend_language_scanner.l" +#line 1710 "Zend/zend_language_scanner.l" { const char *end; @@ -2980,99 +2978,99 @@ int lex_scan(zval *zendlval) ZEND_ASSERT(end == yytext + yyleng); return T_DNUMBER; } -#line 2984 "Zend/zend_language_scanner.c" -yy155: - YYDEBUG(155, *YYCURSOR); +#line 2982 "Zend/zend_language_scanner.c" +yy154: + YYDEBUG(154, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(156, *YYCURSOR); + YYDEBUG(155, *YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy152; - if (yych <= '/') goto yy137; - goto yy155; + if (yych == '.') goto yy151; + if (yych <= '/') goto yy136; + goto yy154; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy137; + if (yych <= 'D') goto yy136; } else { - if (yych != 'e') goto yy137; + if (yych != 'e') goto yy136; } } -yy157: - YYDEBUG(157, *YYCURSOR); +yy156: + YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy159; + if (yych == '+') goto yy158; } else { - if (yych <= '-') goto yy159; - if (yych <= '/') goto yy158; - if (yych <= '9') goto yy160; + if (yych <= '-') goto yy158; + if (yych <= '/') goto yy157; + if (yych <= '9') goto yy159; } -yy158: - YYDEBUG(158, *YYCURSOR); +yy157: + YYDEBUG(157, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 2) { if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy88; + if (yyaccept <= 0) { + goto yy87; } else { - goto yy103; + goto yy102; } } else { - goto yy137; + goto yy136; } } else { if (yyaccept <= 4) { - if (yyaccept == 3) { - goto yy154; + if (yyaccept <= 3) { + goto yy153; } else { - goto yy191; + goto yy190; } } else { - goto yy211; + goto yy210; } } +yy158: + YYDEBUG(158, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy157; + if (yych >= ':') goto yy157; yy159: YYDEBUG(159, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy158; - if (yych >= ':') goto yy158; -yy160: - YYDEBUG(160, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(160, *YYCURSOR); + if (yych <= '/') goto yy153; + if (yych <= '9') goto yy159; + goto yy153; +yy161: YYDEBUG(161, *YYCURSOR); - if (yych <= '/') goto yy154; - if (yych <= '9') goto yy160; - goto yy154; -yy162: - YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 32) { - goto yy167; + goto yy166; } - goto yy158; -yy163: - YYDEBUG(163, *YYCURSOR); + goto yy157; +yy162: + YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 16) { - goto yy164; + goto yy163; } - goto yy158; -yy164: - YYDEBUG(164, *YYCURSOR); + goto yy157; +yy163: + YYDEBUG(163, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(165, *YYCURSOR); + YYDEBUG(164, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy164; + goto yy163; } - YYDEBUG(166, *YYCURSOR); + YYDEBUG(165, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1590 "Zend/zend_language_scanner.l" +#line 1594 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3100,19 +3098,19 @@ int lex_scan(zval *zendlval) return T_DNUMBER; } } -#line 3104 "Zend/zend_language_scanner.c" -yy167: - YYDEBUG(167, *YYCURSOR); +#line 3102 "Zend/zend_language_scanner.c" +yy166: + YYDEBUG(166, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(168, *YYCURSOR); + YYDEBUG(167, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy167; + goto yy166; } - YYDEBUG(169, *YYCURSOR); + YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1657 "Zend/zend_language_scanner.l" +#line 1661 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3140,137 +3138,137 @@ int lex_scan(zval *zendlval) return T_DNUMBER; } } -#line 3144 "Zend/zend_language_scanner.c" -yy170: - YYDEBUG(170, *YYCURSOR); +#line 3142 "Zend/zend_language_scanner.c" +yy169: + YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(171, *YYCURSOR); + YYDEBUG(170, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy170; + if (yych >= '0') goto yy169; } else { - if (yych <= '@') goto yy172; - if (yych <= 'Z') goto yy170; + if (yych <= '@') goto yy171; + if (yych <= 'Z') goto yy169; } } else { if (yych <= '`') { - if (yych <= '_') goto yy170; + if (yych <= '_') goto yy169; } else { - if (yych <= 'z') goto yy170; - if (yych >= 0x7F) goto yy170; + if (yych <= 'z') goto yy169; + if (yych >= 0x7F) goto yy169; } } -yy172: - YYDEBUG(172, *YYCURSOR); +yy171: + YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1835 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 3174 "Zend/zend_language_scanner.c" +#line 3172 "Zend/zend_language_scanner.c" +yy172: + YYDEBUG(172, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy173; + if (yych != 'r') goto yy150; yy173: YYDEBUG(173, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy174; - if (yych != 'r') goto yy151; -yy174: - YYDEBUG(174, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(175, *YYCURSOR); + YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1536 "Zend/zend_language_scanner.l" +#line 1540 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3192 "Zend/zend_language_scanner.c" -yy176: - YYDEBUG(176, *YYCURSOR); +#line 3190 "Zend/zend_language_scanner.c" +yy175: + YYDEBUG(175, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(177, *YYCURSOR); + YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1528 "Zend/zend_language_scanner.l" +#line 1532 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3205 "Zend/zend_language_scanner.c" -yy178: - YYDEBUG(178, *YYCURSOR); +#line 3203 "Zend/zend_language_scanner.c" +yy177: + YYDEBUG(177, *YYCURSOR); ++YYCURSOR; - YYDEBUG(179, *YYCURSOR); + YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1516 "Zend/zend_language_scanner.l" +#line 1520 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3215 "Zend/zend_language_scanner.c" -yy180: - YYDEBUG(180, *YYCURSOR); +#line 3213 "Zend/zend_language_scanner.c" +yy179: + YYDEBUG(179, *YYCURSOR); ++YYCURSOR; - YYDEBUG(181, *YYCURSOR); + YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1520 "Zend/zend_language_scanner.l" +#line 1524 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3225 "Zend/zend_language_scanner.c" -yy182: - YYDEBUG(182, *YYCURSOR); +#line 3223 "Zend/zend_language_scanner.c" +yy181: + YYDEBUG(181, *YYCURSOR); ++YYCURSOR; - YYDEBUG(183, *YYCURSOR); + YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1512 "Zend/zend_language_scanner.l" +#line 1516 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3235 "Zend/zend_language_scanner.c" -yy184: - YYDEBUG(184, *YYCURSOR); +#line 3233 "Zend/zend_language_scanner.c" +yy183: + YYDEBUG(183, *YYCURSOR); ++YYCURSOR; - YYDEBUG(185, *YYCURSOR); + YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1524 "Zend/zend_language_scanner.l" +#line 1528 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3245 "Zend/zend_language_scanner.c" -yy186: - YYDEBUG(186, *YYCURSOR); +#line 3243 "Zend/zend_language_scanner.c" +yy185: + YYDEBUG(185, *YYCURSOR); ++YYCURSOR; - YYDEBUG(187, *YYCURSOR); + YYDEBUG(186, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1508 "Zend/zend_language_scanner.l" +#line 1512 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3255 "Zend/zend_language_scanner.c" -yy188: - YYDEBUG(188, *YYCURSOR); +#line 3253 "Zend/zend_language_scanner.c" +yy187: + YYDEBUG(187, *YYCURSOR); ++YYCURSOR; - YYDEBUG(189, *YYCURSOR); + YYDEBUG(188, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1496 "Zend/zend_language_scanner.l" +#line 1500 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3265 "Zend/zend_language_scanner.c" -yy190: - YYDEBUG(190, *YYCURSOR); +#line 3263 "Zend/zend_language_scanner.c" +yy189: + YYDEBUG(189, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy195; -yy191: - YYDEBUG(191, *YYCURSOR); + if (yych == '*') goto yy194; +yy190: + YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1893 "Zend/zend_language_scanner.l" +#line 1897 "Zend/zend_language_scanner.l" { int doc_com; @@ -3303,262 +3301,262 @@ int lex_scan(zval *zendlval) return T_COMMENT; } -#line 3307 "Zend/zend_language_scanner.c" +#line 3305 "Zend/zend_language_scanner.c" +yy191: + YYDEBUG(191, *YYCURSOR); + yych = *++YYCURSOR; + goto yy140; yy192: YYDEBUG(192, *YYCURSOR); - yych = *++YYCURSOR; - goto yy141; -yy193: - YYDEBUG(193, *YYCURSOR); ++YYCURSOR; - YYDEBUG(194, *YYCURSOR); + YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1488 "Zend/zend_language_scanner.l" +#line 1492 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3321 "Zend/zend_language_scanner.c" -yy195: - YYDEBUG(195, *YYCURSOR); +#line 3319 "Zend/zend_language_scanner.c" +yy194: + YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy196; + goto yy195; } - goto yy158; -yy196: - YYDEBUG(196, *YYCURSOR); + goto yy157; +yy195: + YYDEBUG(195, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(197, *YYCURSOR); + YYDEBUG(196, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy196; + goto yy195; } - goto yy191; -yy198: - YYDEBUG(198, *YYCURSOR); + goto yy190; +yy197: + YYDEBUG(197, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy202; - YYDEBUG(199, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy201; + YYDEBUG(198, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1480 "Zend/zend_language_scanner.l" +#line 1484 "Zend/zend_language_scanner.l" { return T_POW; } -#line 3349 "Zend/zend_language_scanner.c" -yy200: - YYDEBUG(200, *YYCURSOR); +#line 3347 "Zend/zend_language_scanner.c" +yy199: + YYDEBUG(199, *YYCURSOR); ++YYCURSOR; - YYDEBUG(201, *YYCURSOR); + YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1476 "Zend/zend_language_scanner.l" +#line 1480 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3359 "Zend/zend_language_scanner.c" -yy202: - YYDEBUG(202, *YYCURSOR); +#line 3357 "Zend/zend_language_scanner.c" +yy201: + YYDEBUG(201, *YYCURSOR); ++YYCURSOR; - YYDEBUG(203, *YYCURSOR); + YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1484 "Zend/zend_language_scanner.l" +#line 1488 "Zend/zend_language_scanner.l" { return T_POW_EQUAL; } -#line 3369 "Zend/zend_language_scanner.c" -yy204: - YYDEBUG(204, *YYCURSOR); +#line 3367 "Zend/zend_language_scanner.c" +yy203: + YYDEBUG(203, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy208; - YYDEBUG(205, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy207; + YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1544 "Zend/zend_language_scanner.l" +#line 1548 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3380 "Zend/zend_language_scanner.c" -yy206: - YYDEBUG(206, *YYCURSOR); +#line 3378 "Zend/zend_language_scanner.c" +yy205: + YYDEBUG(205, *YYCURSOR); ++YYCURSOR; - YYDEBUG(207, *YYCURSOR); + YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1468 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3390 "Zend/zend_language_scanner.c" -yy208: - YYDEBUG(208, *YYCURSOR); +#line 3388 "Zend/zend_language_scanner.c" +yy207: + YYDEBUG(207, *YYCURSOR); ++YYCURSOR; - YYDEBUG(209, *YYCURSOR); + YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1504 "Zend/zend_language_scanner.l" +#line 1508 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3400 "Zend/zend_language_scanner.c" -yy210: - YYDEBUG(210, *YYCURSOR); +#line 3398 "Zend/zend_language_scanner.c" +yy209: + YYDEBUG(209, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy211; - if (yych <= '<') goto yy220; - if (yych <= '=') goto yy218; -yy211: - YYDEBUG(211, *YYCURSOR); + if (yych <= ';') goto yy210; + if (yych <= '<') goto yy219; + if (yych <= '=') goto yy217; +yy210: + YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1540 "Zend/zend_language_scanner.l" +#line 1544 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3415 "Zend/zend_language_scanner.c" -yy212: - YYDEBUG(212, *YYCURSOR); +#line 3413 "Zend/zend_language_scanner.c" +yy211: + YYDEBUG(211, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy216; - YYDEBUG(213, *YYCURSOR); + if ((yych = *YYCURSOR) == '>') goto yy215; + YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1460 "Zend/zend_language_scanner.l" +#line 1464 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3426 "Zend/zend_language_scanner.c" +#line 3424 "Zend/zend_language_scanner.c" +yy213: + YYDEBUG(213, *YYCURSOR); + ++YYCURSOR; yy214: YYDEBUG(214, *YYCURSOR); - ++YYCURSOR; -yy215: - YYDEBUG(215, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1452 "Zend/zend_language_scanner.l" +#line 1456 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3437 "Zend/zend_language_scanner.c" -yy216: - YYDEBUG(216, *YYCURSOR); +#line 3435 "Zend/zend_language_scanner.c" +yy215: + YYDEBUG(215, *YYCURSOR); ++YYCURSOR; - YYDEBUG(217, *YYCURSOR); + YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1456 "Zend/zend_language_scanner.l" +#line 1460 "Zend/zend_language_scanner.l" { return T_SPACESHIP; } -#line 3447 "Zend/zend_language_scanner.c" -yy218: - YYDEBUG(218, *YYCURSOR); +#line 3445 "Zend/zend_language_scanner.c" +yy217: + YYDEBUG(217, *YYCURSOR); ++YYCURSOR; - YYDEBUG(219, *YYCURSOR); + YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1500 "Zend/zend_language_scanner.l" +#line 1504 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3457 "Zend/zend_language_scanner.c" -yy220: - YYDEBUG(220, *YYCURSOR); +#line 3455 "Zend/zend_language_scanner.c" +yy219: + YYDEBUG(219, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(221, *YYCURSOR); + YYDEBUG(220, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy220; + goto yy219; } if (yych <= 'Z') { if (yych <= '&') { - if (yych == '"') goto yy225; - goto yy158; + if (yych == '"') goto yy224; + goto yy157; } else { - if (yych <= '\'') goto yy224; - if (yych <= '@') goto yy158; + if (yych <= '\'') goto yy223; + if (yych <= '@') goto yy157; } } else { if (yych <= '`') { - if (yych != '_') goto yy158; + if (yych != '_') goto yy157; } else { - if (yych <= 'z') goto yy222; - if (yych <= '~') goto yy158; + if (yych <= 'z') goto yy221; + if (yych <= '~') goto yy157; } } -yy222: - YYDEBUG(222, *YYCURSOR); +yy221: + YYDEBUG(221, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(223, *YYCURSOR); + YYDEBUG(222, *YYCURSOR); if (yych <= '@') { if (yych <= '\f') { - if (yych == '\n') goto yy229; - goto yy158; + if (yych == '\n') goto yy228; + goto yy157; } else { - if (yych <= '\r') goto yy231; - if (yych <= '/') goto yy158; - if (yych <= '9') goto yy222; - goto yy158; + if (yych <= '\r') goto yy230; + if (yych <= '/') goto yy157; + if (yych <= '9') goto yy221; + goto yy157; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy222; - if (yych <= '^') goto yy158; - goto yy222; + if (yych <= 'Z') goto yy221; + if (yych <= '^') goto yy157; + goto yy221; } else { - if (yych <= '`') goto yy158; - if (yych <= 'z') goto yy222; - if (yych <= '~') goto yy158; - goto yy222; + if (yych <= '`') goto yy157; + if (yych <= 'z') goto yy221; + if (yych <= '~') goto yy157; + goto yy221; } } +yy223: + YYDEBUG(223, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\'') goto yy157; + if (yych <= '/') goto yy232; + if (yych <= '9') goto yy157; + goto yy232; yy224: YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\'') goto yy158; - if (yych <= '/') goto yy233; - if (yych <= '9') goto yy158; - goto yy233; + if (yych == '"') goto yy157; + if (yych <= '/') goto yy226; + if (yych <= '9') goto yy157; + goto yy226; yy225: YYDEBUG(225, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '"') goto yy158; - if (yych <= '/') goto yy227; - if (yych <= '9') goto yy158; - goto yy227; -yy226: - YYDEBUG(226, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy227: - YYDEBUG(227, *YYCURSOR); +yy226: + YYDEBUG(226, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych != '"') goto yy158; + if (yych != '"') goto yy157; } else { - if (yych <= '9') goto yy226; - if (yych <= '@') goto yy158; - goto yy226; + if (yych <= '9') goto yy225; + if (yych <= '@') goto yy157; + goto yy225; } } else { if (yych <= '`') { - if (yych == '_') goto yy226; - goto yy158; + if (yych == '_') goto yy225; + goto yy157; } else { - if (yych <= 'z') goto yy226; - if (yych <= '~') goto yy158; - goto yy226; + if (yych <= 'z') goto yy225; + if (yych <= '~') goto yy157; + goto yy225; } } +yy227: + YYDEBUG(227, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy228; + if (yych == '\r') goto yy230; + goto yy157; yy228: YYDEBUG(228, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy229; - if (yych == '\r') goto yy231; - goto yy158; + ++YYCURSOR; yy229: YYDEBUG(229, *YYCURSOR); - ++YYCURSOR; -yy230: - YYDEBUG(230, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2043 "Zend/zend_language_scanner.l" +#line 2047 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3605,1830 +3603,1855 @@ int lex_scan(zval *zendlval) return T_START_HEREDOC; } -#line 3609 "Zend/zend_language_scanner.c" +#line 3607 "Zend/zend_language_scanner.c" +yy230: + YYDEBUG(230, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy228; + goto yy229; yy231: YYDEBUG(231, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy229; - goto yy230; -yy232: - YYDEBUG(232, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy233: - YYDEBUG(233, *YYCURSOR); +yy232: + YYDEBUG(232, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych == '\'') goto yy228; - goto yy158; + if (yych == '\'') goto yy227; + goto yy157; } else { - if (yych <= '9') goto yy232; - if (yych <= '@') goto yy158; - goto yy232; + if (yych <= '9') goto yy231; + if (yych <= '@') goto yy157; + goto yy231; } } else { if (yych <= '`') { - if (yych == '_') goto yy232; - goto yy158; + if (yych == '_') goto yy231; + goto yy157; } else { - if (yych <= 'z') goto yy232; - if (yych <= '~') goto yy158; - goto yy232; + if (yych <= 'z') goto yy231; + if (yych <= '~') goto yy157; + goto yy231; } } -yy234: - YYDEBUG(234, *YYCURSOR); +yy233: + YYDEBUG(233, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '=') goto yy215; - YYDEBUG(235, *YYCURSOR); + if (yych != '=') goto yy214; + YYDEBUG(234, *YYCURSOR); ++YYCURSOR; - YYDEBUG(236, *YYCURSOR); + YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1444 "Zend/zend_language_scanner.l" +#line 1448 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3653 "Zend/zend_language_scanner.c" -yy237: - YYDEBUG(237, *YYCURSOR); +#line 3651 "Zend/zend_language_scanner.c" +yy236: + YYDEBUG(236, *YYCURSOR); ++YYCURSOR; - YYDEBUG(238, *YYCURSOR); + YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1468 "Zend/zend_language_scanner.l" +#line 1472 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3663 "Zend/zend_language_scanner.c" -yy239: - YYDEBUG(239, *YYCURSOR); +#line 3661 "Zend/zend_language_scanner.c" +yy238: + YYDEBUG(238, *YYCURSOR); ++YYCURSOR; - YYDEBUG(240, *YYCURSOR); + YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1432 "Zend/zend_language_scanner.l" +#line 1436 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3673 "Zend/zend_language_scanner.c" +#line 3671 "Zend/zend_language_scanner.c" +yy240: + YYDEBUG(240, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy241; + if (yych != 's') goto yy150; yy241: YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy242; - if (yych != 's') goto yy151; + if (yych == 'T') goto yy242; + if (yych != 't') goto yy150; yy242: YYDEBUG(242, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy243; - if (yych != 't') goto yy151; -yy243: - YYDEBUG(243, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(244, *YYCURSOR); + YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1420 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3696 "Zend/zend_language_scanner.c" -yy245: - YYDEBUG(245, *YYCURSOR); +#line 3694 "Zend/zend_language_scanner.c" +yy244: + YYDEBUG(244, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy249; - YYDEBUG(246, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy248; + YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1448 "Zend/zend_language_scanner.l" +#line 1452 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3707 "Zend/zend_language_scanner.c" -yy247: - YYDEBUG(247, *YYCURSOR); +#line 3705 "Zend/zend_language_scanner.c" +yy246: + YYDEBUG(246, *YYCURSOR); ++YYCURSOR; - YYDEBUG(248, *YYCURSOR); + YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1416 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 3717 "Zend/zend_language_scanner.c" -yy249: - YYDEBUG(249, *YYCURSOR); +#line 3715 "Zend/zend_language_scanner.c" +yy248: + YYDEBUG(248, *YYCURSOR); ++YYCURSOR; - YYDEBUG(250, *YYCURSOR); + YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1440 "Zend/zend_language_scanner.l" +#line 1444 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 3727 "Zend/zend_language_scanner.c" -yy251: - YYDEBUG(251, *YYCURSOR); +#line 3725 "Zend/zend_language_scanner.c" +yy250: + YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'C': - case 'c': goto yy253; + case 'c': goto yy252; case 'D': - case 'd': goto yy258; + case 'd': goto yy257; case 'F': - case 'f': goto yy255; + case 'f': goto yy254; case 'H': - case 'h': goto yy252; + case 'h': goto yy251; case 'L': - case 'l': goto yy257; + case 'l': goto yy256; case 'M': - case 'm': goto yy256; + case 'm': goto yy255; case 'N': - case 'n': goto yy259; + case 'n': goto yy258; case 'T': - case 't': goto yy254; - default: goto yy151; + case 't': goto yy253; + default: goto yy150; } +yy251: + YYDEBUG(251, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy319; + if (yych == 'a') goto yy319; + goto yy150; yy252: YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy320; - if (yych == 'a') goto yy320; - goto yy151; + if (yych == 'L') goto yy312; + if (yych == 'l') goto yy312; + goto yy150; yy253: YYDEBUG(253, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy313; - if (yych == 'l') goto yy313; - goto yy151; + if (yych == 'R') goto yy305; + if (yych == 'r') goto yy305; + goto yy150; yy254: YYDEBUG(254, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy306; - if (yych == 'r') goto yy306; - goto yy151; -yy255: - YYDEBUG(255, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'I') goto yy290; - if (yych <= 'T') goto yy151; - goto yy291; + if (yych == 'I') goto yy289; + if (yych <= 'T') goto yy150; + goto yy290; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy151; - goto yy290; + if (yych <= 'h') goto yy150; + goto yy289; } else { - if (yych == 'u') goto yy291; - goto yy151; + if (yych == 'u') goto yy290; + goto yy150; } } +yy255: + YYDEBUG(255, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy281; + if (yych == 'e') goto yy281; + goto yy150; yy256: YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy282; - if (yych == 'e') goto yy282; - goto yy151; + if (yych == 'I') goto yy275; + if (yych == 'i') goto yy275; + goto yy150; yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy276; - if (yych == 'i') goto yy276; - goto yy151; + if (yych == 'I') goto yy270; + if (yych == 'i') goto yy270; + goto yy150; yy258: YYDEBUG(258, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy271; - if (yych == 'i') goto yy271; - goto yy151; + if (yych == 'A') goto yy259; + if (yych != 'a') goto yy150; yy259: YYDEBUG(259, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy260; - if (yych != 'a') goto yy151; + if (yych == 'M') goto yy260; + if (yych != 'm') goto yy150; yy260: YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy261; - if (yych != 'm') goto yy151; + if (yych == 'E') goto yy261; + if (yych != 'e') goto yy150; yy261: YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy262; - if (yych != 'e') goto yy151; + if (yych == 'S') goto yy262; + if (yych != 's') goto yy150; yy262: YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy263; - if (yych != 's') goto yy151; + if (yych == 'P') goto yy263; + if (yych != 'p') goto yy150; yy263: YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy264; - if (yych != 'p') goto yy151; + if (yych == 'A') goto yy264; + if (yych != 'a') goto yy150; yy264: YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy265; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy265; + if (yych != 'c') goto yy150; yy265: YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy266; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy266; + if (yych != 'e') goto yy150; yy266: YYDEBUG(266, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy267; - if (yych != 'e') goto yy151; -yy267: + if (yych != '_') goto yy150; YYDEBUG(267, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(268, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(269, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(270, *YYCURSOR); + YYDEBUG(269, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1743 "Zend/zend_language_scanner.l" +#line 1747 "Zend/zend_language_scanner.l" { return T_NS_C; } -#line 3861 "Zend/zend_language_scanner.c" +#line 3859 "Zend/zend_language_scanner.c" +yy270: + YYDEBUG(270, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy271; + if (yych != 'r') goto yy150; yy271: YYDEBUG(271, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy272; - if (yych != 'r') goto yy151; -yy272: + if (yych != '_') goto yy150; YYDEBUG(272, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(273, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(274, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(275, *YYCURSOR); + YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1739 "Zend/zend_language_scanner.l" +#line 1743 "Zend/zend_language_scanner.l" { return T_DIR; } -#line 3885 "Zend/zend_language_scanner.c" +#line 3883 "Zend/zend_language_scanner.c" +yy275: + YYDEBUG(275, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy276; + if (yych != 'n') goto yy150; yy276: YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy277; - if (yych != 'n') goto yy151; + if (yych == 'E') goto yy277; + if (yych != 'e') goto yy150; yy277: YYDEBUG(277, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy278; - if (yych != 'e') goto yy151; -yy278: + if (yych != '_') goto yy150; YYDEBUG(278, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(279, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(280, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(281, *YYCURSOR); + YYDEBUG(280, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1731 "Zend/zend_language_scanner.l" +#line 1735 "Zend/zend_language_scanner.l" { return T_LINE; } -#line 3914 "Zend/zend_language_scanner.c" +#line 3912 "Zend/zend_language_scanner.c" +yy281: + YYDEBUG(281, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy282; + if (yych != 't') goto yy150; yy282: YYDEBUG(282, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy283; - if (yych != 't') goto yy151; + if (yych == 'H') goto yy283; + if (yych != 'h') goto yy150; yy283: YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy284; - if (yych != 'h') goto yy151; + if (yych == 'O') goto yy284; + if (yych != 'o') goto yy150; yy284: YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy285; - if (yych != 'o') goto yy151; + if (yych == 'D') goto yy285; + if (yych != 'd') goto yy150; yy285: YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy286; - if (yych != 'd') goto yy151; -yy286: + if (yych != '_') goto yy150; YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(287, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(288, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(289, *YYCURSOR); + YYDEBUG(288, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1727 "Zend/zend_language_scanner.l" +#line 1731 "Zend/zend_language_scanner.l" { return T_METHOD_C; } -#line 3953 "Zend/zend_language_scanner.c" +#line 3951 "Zend/zend_language_scanner.c" +yy289: + YYDEBUG(289, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy300; + if (yych == 'l') goto yy300; + goto yy150; yy290: YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy301; - if (yych == 'l') goto yy301; - goto yy151; + if (yych == 'N') goto yy291; + if (yych != 'n') goto yy150; yy291: YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy292; - if (yych != 'n') goto yy151; + if (yych == 'C') goto yy292; + if (yych != 'c') goto yy150; yy292: YYDEBUG(292, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy293; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy293; + if (yych != 't') goto yy150; yy293: YYDEBUG(293, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy294; - if (yych != 't') goto yy151; + if (yych == 'I') goto yy294; + if (yych != 'i') goto yy150; yy294: YYDEBUG(294, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy295; - if (yych != 'i') goto yy151; + if (yych == 'O') goto yy295; + if (yych != 'o') goto yy150; yy295: YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy296; - if (yych != 'o') goto yy151; + if (yych == 'N') goto yy296; + if (yych != 'n') goto yy150; yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy297; - if (yych != 'n') goto yy151; -yy297: + if (yych != '_') goto yy150; YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(298, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(299, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(300, *YYCURSOR); + YYDEBUG(299, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1723 "Zend/zend_language_scanner.l" +#line 1727 "Zend/zend_language_scanner.l" { return T_FUNC_C; } -#line 4008 "Zend/zend_language_scanner.c" +#line 4006 "Zend/zend_language_scanner.c" +yy300: + YYDEBUG(300, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy301; + if (yych != 'e') goto yy150; yy301: YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy302; - if (yych != 'e') goto yy151; -yy302: + if (yych != '_') goto yy150; YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(303, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(304, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(305, *YYCURSOR); + YYDEBUG(304, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1735 "Zend/zend_language_scanner.l" +#line 1739 "Zend/zend_language_scanner.l" { return T_FILE; } -#line 4032 "Zend/zend_language_scanner.c" +#line 4030 "Zend/zend_language_scanner.c" +yy305: + YYDEBUG(305, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy306; + if (yych != 'a') goto yy150; yy306: YYDEBUG(306, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy307; - if (yych != 'a') goto yy151; + if (yych == 'I') goto yy307; + if (yych != 'i') goto yy150; yy307: YYDEBUG(307, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy308; - if (yych != 'i') goto yy151; + if (yych == 'T') goto yy308; + if (yych != 't') goto yy150; yy308: YYDEBUG(308, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy309; - if (yych != 't') goto yy151; -yy309: + if (yych != '_') goto yy150; YYDEBUG(309, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(310, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(311, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(312, *YYCURSOR); + YYDEBUG(311, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1719 "Zend/zend_language_scanner.l" +#line 1723 "Zend/zend_language_scanner.l" { return T_TRAIT_C; } -#line 4066 "Zend/zend_language_scanner.c" +#line 4064 "Zend/zend_language_scanner.c" +yy312: + YYDEBUG(312, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy313; + if (yych != 'a') goto yy150; yy313: YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy314; - if (yych != 'a') goto yy151; + if (yych == 'S') goto yy314; + if (yych != 's') goto yy150; yy314: YYDEBUG(314, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy315; - if (yych != 's') goto yy151; + if (yych != 's') goto yy150; yy315: YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy316; - if (yych != 's') goto yy151; -yy316: + if (yych != '_') goto yy150; YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(317, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(318, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(319, *YYCURSOR); + YYDEBUG(318, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1715 "Zend/zend_language_scanner.l" +#line 1719 "Zend/zend_language_scanner.l" { return T_CLASS_C; } -#line 4100 "Zend/zend_language_scanner.c" +#line 4098 "Zend/zend_language_scanner.c" +yy319: + YYDEBUG(319, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy320; + if (yych != 'l') goto yy150; yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy321; - if (yych != 'l') goto yy151; + if (yych == 'T') goto yy321; + if (yych != 't') goto yy150; yy321: YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy322; - if (yych != 't') goto yy151; -yy322: + if (yych != '_') goto yy150; YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych == 'C') goto yy323; + if (yych != 'c') goto yy150; +yy323: YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy324; - if (yych != 'c') goto yy151; + if (yych == 'O') goto yy324; + if (yych != 'o') goto yy150; yy324: YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy325; - if (yych != 'o') goto yy151; + if (yych == 'M') goto yy325; + if (yych != 'm') goto yy150; yy325: YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy326; - if (yych != 'm') goto yy151; + if (yych == 'P') goto yy326; + if (yych != 'p') goto yy150; yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy327; - if (yych != 'p') goto yy151; + if (yych == 'I') goto yy327; + if (yych != 'i') goto yy150; yy327: YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy328; - if (yych != 'i') goto yy151; + if (yych == 'L') goto yy328; + if (yych != 'l') goto yy150; yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy329; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy329; + if (yych != 'e') goto yy150; yy329: YYDEBUG(329, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy330; - if (yych != 'e') goto yy151; + if (yych == 'R') goto yy330; + if (yych != 'r') goto yy150; yy330: YYDEBUG(330, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy331; - if (yych != 'r') goto yy151; -yy331: - YYDEBUG(331, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(332, *YYCURSOR); + YYDEBUG(331, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1384 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4166 "Zend/zend_language_scanner.c" +#line 4164 "Zend/zend_language_scanner.c" +yy332: + YYDEBUG(332, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy336; + if (yych == 's') goto yy336; + goto yy150; yy333: YYDEBUG(333, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy337; - if (yych == 's') goto yy337; - goto yy151; + if (yych == 'E') goto yy334; + if (yych != 'e') goto yy150; yy334: YYDEBUG(334, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy335; - if (yych != 'e') goto yy151; -yy335: - YYDEBUG(335, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(336, *YYCURSOR); + YYDEBUG(335, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1364 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4190 "Zend/zend_language_scanner.c" +#line 4188 "Zend/zend_language_scanner.c" +yy336: + YYDEBUG(336, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy337; + if (yych != 'e') goto yy150; yy337: YYDEBUG(337, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy338; - if (yych != 'e') goto yy151; + if (yych == 'T') goto yy338; + if (yych != 't') goto yy150; yy338: YYDEBUG(338, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy339; - if (yych != 't') goto yy151; -yy339: - YYDEBUG(339, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(340, *YYCURSOR); + YYDEBUG(339, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1412 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4213 "Zend/zend_language_scanner.c" -yy341: - YYDEBUG(341, *YYCURSOR); +#line 4211 "Zend/zend_language_scanner.c" +yy340: + YYDEBUG(340, *YYCURSOR); ++YYCURSOR; YYFILL(7); yych = *YYCURSOR; -yy342: - YYDEBUG(342, *YYCURSOR); +yy341: + YYDEBUG(341, *YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy341; - if (yych <= 0x1F) goto yy158; - goto yy341; + if (yych == '\t') goto yy340; + if (yych <= 0x1F) goto yy157; + goto yy340; } else { if (yych <= 'A') { - if (yych <= '@') goto yy158; - goto yy346; + if (yych <= '@') goto yy157; + goto yy345; } else { - if (yych <= 'B') goto yy344; - if (yych <= 'C') goto yy158; - goto yy349; + if (yych <= 'B') goto yy343; + if (yych <= 'C') goto yy157; + goto yy348; } } } else { if (yych <= 'I') { - if (yych == 'F') goto yy350; - if (yych <= 'H') goto yy158; - goto yy351; + if (yych == 'F') goto yy349; + if (yych <= 'H') goto yy157; + goto yy350; } else { if (yych <= 'O') { - if (yych <= 'N') goto yy158; - goto yy345; + if (yych <= 'N') goto yy157; + goto yy344; } else { - if (yych <= 'Q') goto yy158; - if (yych <= 'R') goto yy348; - goto yy347; + if (yych <= 'Q') goto yy157; + if (yych <= 'R') goto yy347; + goto yy346; } } } } else { if (yych <= 'f') { if (yych <= 'a') { - if (yych == 'U') goto yy343; - if (yych <= '`') goto yy158; - goto yy346; + if (yych == 'U') goto yy342; + if (yych <= '`') goto yy157; + goto yy345; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy344; - goto yy158; + if (yych <= 'b') goto yy343; + goto yy157; } else { - if (yych <= 'd') goto yy349; - if (yych <= 'e') goto yy158; - goto yy350; + if (yych <= 'd') goto yy348; + if (yych <= 'e') goto yy157; + goto yy349; } } } else { if (yych <= 'q') { if (yych <= 'i') { - if (yych <= 'h') goto yy158; - goto yy351; + if (yych <= 'h') goto yy157; + goto yy350; } else { - if (yych == 'o') goto yy345; - goto yy158; + if (yych == 'o') goto yy344; + goto yy157; } } else { if (yych <= 's') { - if (yych <= 'r') goto yy348; - goto yy347; + if (yych <= 'r') goto yy347; + goto yy346; } else { - if (yych != 'u') goto yy158; + if (yych != 'u') goto yy157; } } } } +yy342: + YYDEBUG(342, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy409; + if (yych == 'n') goto yy409; + goto yy157; yy343: YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy410; - if (yych == 'n') goto yy410; - goto yy158; -yy344: - YYDEBUG(344, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy397; - if (yych <= 'N') goto yy158; - goto yy398; + if (yych == 'I') goto yy396; + if (yych <= 'N') goto yy157; + goto yy397; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy158; - goto yy397; + if (yych <= 'h') goto yy157; + goto yy396; } else { - if (yych == 'o') goto yy398; - goto yy158; + if (yych == 'o') goto yy397; + goto yy157; } } +yy344: + YYDEBUG(344, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy388; + if (yych == 'b') goto yy388; + goto yy157; yy345: YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy389; - if (yych == 'b') goto yy389; - goto yy158; + if (yych == 'R') goto yy381; + if (yych == 'r') goto yy381; + goto yy157; yy346: YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy382; - if (yych == 'r') goto yy382; - goto yy158; + if (yych == 'T') goto yy373; + if (yych == 't') goto yy373; + goto yy157; yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy374; - if (yych == 't') goto yy374; - goto yy158; + if (yych == 'E') goto yy371; + if (yych == 'e') goto yy371; + goto yy157; yy348: YYDEBUG(348, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy372; - if (yych == 'e') goto yy372; - goto yy158; + if (yych == 'O') goto yy367; + if (yych == 'o') goto yy367; + goto yy157; yy349: YYDEBUG(349, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy368; - if (yych == 'o') goto yy368; - goto yy158; + if (yych == 'L') goto yy360; + if (yych == 'l') goto yy360; + goto yy157; yy350: YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy361; - if (yych == 'l') goto yy361; - goto yy158; + if (yych == 'N') goto yy351; + if (yych != 'n') goto yy157; yy351: YYDEBUG(351, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy352; - if (yych != 'n') goto yy158; + if (yych == 'T') goto yy352; + if (yych != 't') goto yy157; yy352: YYDEBUG(352, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy353; - if (yych != 't') goto yy158; + if (yych == 'E') goto yy353; + if (yych != 'e') goto yy355; yy353: YYDEBUG(353, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy354; - if (yych != 'e') goto yy356; + if (yych == 'G') goto yy358; + if (yych == 'g') goto yy358; + goto yy157; yy354: YYDEBUG(354, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy359; - if (yych == 'g') goto yy359; - goto yy158; -yy355: - YYDEBUG(355, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy356: - YYDEBUG(356, *YYCURSOR); +yy355: + YYDEBUG(355, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy355; - goto yy158; + if (yych == '\t') goto yy354; + goto yy157; } else { - if (yych <= ' ') goto yy355; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy354; + if (yych != ')') goto yy157; } - YYDEBUG(357, *YYCURSOR); + YYDEBUG(356, *YYCURSOR); ++YYCURSOR; - YYDEBUG(358, *YYCURSOR); + YYDEBUG(357, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1312 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4389 "Zend/zend_language_scanner.c" +#line 4387 "Zend/zend_language_scanner.c" +yy358: + YYDEBUG(358, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy359; + if (yych != 'e') goto yy157; yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy360; - if (yych != 'e') goto yy158; + if (yych == 'R') goto yy354; + if (yych == 'r') goto yy354; + goto yy157; yy360: YYDEBUG(360, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy355; - if (yych == 'r') goto yy355; - goto yy158; + if (yych == 'O') goto yy361; + if (yych != 'o') goto yy157; yy361: YYDEBUG(361, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy362; - if (yych != 'o') goto yy158; + if (yych == 'A') goto yy362; + if (yych != 'a') goto yy157; yy362: YYDEBUG(362, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy363; - if (yych != 'a') goto yy158; + if (yych == 'T') goto yy363; + if (yych != 't') goto yy157; yy363: YYDEBUG(363, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy364; - if (yych != 't') goto yy158; -yy364: - YYDEBUG(364, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(365, *YYCURSOR); + YYDEBUG(364, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy364; - goto yy158; + if (yych == '\t') goto yy363; + goto yy157; } else { - if (yych <= ' ') goto yy364; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy363; + if (yych != ')') goto yy157; } - YYDEBUG(366, *YYCURSOR); + YYDEBUG(365, *YYCURSOR); ++YYCURSOR; - YYDEBUG(367, *YYCURSOR); + YYDEBUG(366, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1316 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4437 "Zend/zend_language_scanner.c" +#line 4435 "Zend/zend_language_scanner.c" +yy367: + YYDEBUG(367, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'U') goto yy368; + if (yych != 'u') goto yy157; yy368: YYDEBUG(368, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy369; - if (yych != 'u') goto yy158; + if (yych == 'B') goto yy369; + if (yych != 'b') goto yy157; yy369: YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy370; - if (yych != 'b') goto yy158; + if (yych == 'L') goto yy370; + if (yych != 'l') goto yy157; yy370: YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy371; - if (yych != 'l') goto yy158; + if (yych == 'E') goto yy363; + if (yych == 'e') goto yy363; + goto yy157; yy371: YYDEBUG(371, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy364; - if (yych == 'e') goto yy364; - goto yy158; + if (yych == 'A') goto yy372; + if (yych != 'a') goto yy157; yy372: YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy373; - if (yych != 'a') goto yy158; + if (yych == 'L') goto yy363; + if (yych == 'l') goto yy363; + goto yy157; yy373: YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy364; - if (yych == 'l') goto yy364; - goto yy158; + if (yych == 'R') goto yy374; + if (yych != 'r') goto yy157; yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy375; - if (yych != 'r') goto yy158; + if (yych == 'I') goto yy375; + if (yych != 'i') goto yy157; yy375: YYDEBUG(375, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy376; - if (yych != 'i') goto yy158; + if (yych == 'N') goto yy376; + if (yych != 'n') goto yy157; yy376: YYDEBUG(376, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy377; - if (yych != 'n') goto yy158; + if (yych == 'G') goto yy377; + if (yych != 'g') goto yy157; yy377: YYDEBUG(377, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy378; - if (yych != 'g') goto yy158; -yy378: - YYDEBUG(378, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(379, *YYCURSOR); + YYDEBUG(378, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy378; - goto yy158; + if (yych == '\t') goto yy377; + goto yy157; } else { - if (yych <= ' ') goto yy378; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy377; + if (yych != ')') goto yy157; } - YYDEBUG(380, *YYCURSOR); + YYDEBUG(379, *YYCURSOR); ++YYCURSOR; - YYDEBUG(381, *YYCURSOR); + YYDEBUG(380, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1320 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4511 "Zend/zend_language_scanner.c" +#line 4509 "Zend/zend_language_scanner.c" +yy381: + YYDEBUG(381, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy382; + if (yych != 'r') goto yy157; yy382: YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy383; - if (yych != 'r') goto yy158; + if (yych == 'A') goto yy383; + if (yych != 'a') goto yy157; yy383: YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy384; - if (yych != 'a') goto yy158; + if (yych == 'Y') goto yy384; + if (yych != 'y') goto yy157; yy384: YYDEBUG(384, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy385; - if (yych != 'y') goto yy158; -yy385: - YYDEBUG(385, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(386, *YYCURSOR); + YYDEBUG(385, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy385; - goto yy158; + if (yych == '\t') goto yy384; + goto yy157; } else { - if (yych <= ' ') goto yy385; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy384; + if (yych != ')') goto yy157; } - YYDEBUG(387, *YYCURSOR); + YYDEBUG(386, *YYCURSOR); ++YYCURSOR; - YYDEBUG(388, *YYCURSOR); + YYDEBUG(387, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1324 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4548 "Zend/zend_language_scanner.c" +#line 4546 "Zend/zend_language_scanner.c" +yy388: + YYDEBUG(388, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'J') goto yy389; + if (yych != 'j') goto yy157; yy389: YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'J') goto yy390; - if (yych != 'j') goto yy158; + if (yych == 'E') goto yy390; + if (yych != 'e') goto yy157; yy390: YYDEBUG(390, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy391; - if (yych != 'e') goto yy158; + if (yych == 'C') goto yy391; + if (yych != 'c') goto yy157; yy391: YYDEBUG(391, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy392; - if (yych != 'c') goto yy158; + if (yych == 'T') goto yy392; + if (yych != 't') goto yy157; yy392: YYDEBUG(392, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy393; - if (yych != 't') goto yy158; -yy393: - YYDEBUG(393, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(394, *YYCURSOR); + YYDEBUG(393, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy393; - goto yy158; + if (yych == '\t') goto yy392; + goto yy157; } else { - if (yych <= ' ') goto yy393; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy392; + if (yych != ')') goto yy157; } - YYDEBUG(395, *YYCURSOR); + YYDEBUG(394, *YYCURSOR); ++YYCURSOR; - YYDEBUG(396, *YYCURSOR); + YYDEBUG(395, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1328 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4590 "Zend/zend_language_scanner.c" +#line 4588 "Zend/zend_language_scanner.c" +yy396: + YYDEBUG(396, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy406; + if (yych == 'n') goto yy406; + goto yy157; yy397: YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy407; - if (yych == 'n') goto yy407; - goto yy158; + if (yych == 'O') goto yy398; + if (yych != 'o') goto yy157; yy398: YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy399; - if (yych != 'o') goto yy158; + if (yych == 'L') goto yy399; + if (yych != 'l') goto yy157; yy399: YYDEBUG(399, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy400; - if (yych != 'l') goto yy158; + if (yych == 'E') goto yy404; + if (yych == 'e') goto yy404; + goto yy401; yy400: YYDEBUG(400, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy405; - if (yych == 'e') goto yy405; - goto yy402; -yy401: - YYDEBUG(401, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy402: - YYDEBUG(402, *YYCURSOR); +yy401: + YYDEBUG(401, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy401; - goto yy158; + if (yych == '\t') goto yy400; + goto yy157; } else { - if (yych <= ' ') goto yy401; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy400; + if (yych != ')') goto yy157; } - YYDEBUG(403, *YYCURSOR); + YYDEBUG(402, *YYCURSOR); ++YYCURSOR; - YYDEBUG(404, *YYCURSOR); + YYDEBUG(403, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1332 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4635 "Zend/zend_language_scanner.c" +#line 4633 "Zend/zend_language_scanner.c" +yy404: + YYDEBUG(404, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy405; + if (yych != 'a') goto yy157; yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy406; - if (yych != 'a') goto yy158; + if (yych == 'N') goto yy400; + if (yych == 'n') goto yy400; + goto yy157; yy406: YYDEBUG(406, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy401; - if (yych == 'n') goto yy401; - goto yy158; + if (yych == 'A') goto yy407; + if (yych != 'a') goto yy157; yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy408; - if (yych != 'a') goto yy158; + if (yych == 'R') goto yy408; + if (yych != 'r') goto yy157; yy408: YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy409; - if (yych != 'r') goto yy158; + if (yych == 'Y') goto yy377; + if (yych == 'y') goto yy377; + goto yy157; yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy378; - if (yych == 'y') goto yy378; - goto yy158; + if (yych == 'S') goto yy410; + if (yych != 's') goto yy157; yy410: YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy411; - if (yych != 's') goto yy158; + if (yych == 'E') goto yy411; + if (yych != 'e') goto yy157; yy411: YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy412; - if (yych != 'e') goto yy158; + if (yych == 'T') goto yy412; + if (yych != 't') goto yy157; yy412: YYDEBUG(412, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy413; - if (yych != 't') goto yy158; -yy413: - YYDEBUG(413, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(414, *YYCURSOR); + YYDEBUG(413, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy413; - goto yy158; + if (yych == '\t') goto yy412; + goto yy157; } else { - if (yych <= ' ') goto yy413; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy412; + if (yych != ')') goto yy157; } - YYDEBUG(415, *YYCURSOR); + YYDEBUG(414, *YYCURSOR); ++YYCURSOR; - YYDEBUG(416, *YYCURSOR); + YYDEBUG(415, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1336 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4699 "Zend/zend_language_scanner.c" +#line 4697 "Zend/zend_language_scanner.c" +yy416: + YYDEBUG(416, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy417; + if (yych != 'r') goto yy150; yy417: YYDEBUG(417, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy418; - if (yych != 'r') goto yy151; -yy418: - YYDEBUG(418, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(419, *YYCURSOR); + YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1308 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 4717 "Zend/zend_language_scanner.c" +#line 4715 "Zend/zend_language_scanner.c" +yy419: + YYDEBUG(419, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy423; + if (yych == 'm') goto yy423; + goto yy150; yy420: YYDEBUG(420, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy424; - if (yych == 'm') goto yy424; - goto yy151; + if (yych == 'W') goto yy421; + if (yych != 'w') goto yy150; yy421: YYDEBUG(421, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy422; - if (yych != 'w') goto yy151; -yy422: - YYDEBUG(422, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(423, *YYCURSOR); + YYDEBUG(422, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1300 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 4741 "Zend/zend_language_scanner.c" +#line 4739 "Zend/zend_language_scanner.c" +yy423: + YYDEBUG(423, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy424; + if (yych != 'e') goto yy150; yy424: YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy425; - if (yych != 'e') goto yy151; + if (yych == 'S') goto yy425; + if (yych != 's') goto yy150; yy425: YYDEBUG(425, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy426; - if (yych != 's') goto yy151; + if (yych == 'P') goto yy426; + if (yych != 'p') goto yy150; yy426: YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy427; - if (yych != 'p') goto yy151; + if (yych == 'A') goto yy427; + if (yych != 'a') goto yy150; yy427: YYDEBUG(427, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy428; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy428; + if (yych != 'c') goto yy150; yy428: YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy429; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy429; + if (yych != 'e') goto yy150; yy429: YYDEBUG(429, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy430; - if (yych != 'e') goto yy151; -yy430: - YYDEBUG(430, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(431, *YYCURSOR); + YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1360 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 4784 "Zend/zend_language_scanner.c" +#line 4782 "Zend/zend_language_scanner.c" +yy431: + YYDEBUG(431, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy435; + if (yych == '\r') goto yy436; yy432: YYDEBUG(432, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy436; - if (yych == '\r') goto yy437; -yy433: - YYDEBUG(433, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1926 "Zend/zend_language_scanner.l" +#line 1930 "Zend/zend_language_scanner.l" { BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 4798 "Zend/zend_language_scanner.c" -yy434: - YYDEBUG(434, *YYCURSOR); +#line 4796 "Zend/zend_language_scanner.c" +yy433: + YYDEBUG(433, *YYCURSOR); ++YYCURSOR; - YYDEBUG(435, *YYCURSOR); + YYDEBUG(434, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1296 "Zend/zend_language_scanner.l" { return T_COALESCE; } -#line 4808 "Zend/zend_language_scanner.c" +#line 4806 "Zend/zend_language_scanner.c" +yy435: + YYDEBUG(435, *YYCURSOR); + yych = *++YYCURSOR; + goto yy432; yy436: YYDEBUG(436, *YYCURSOR); yych = *++YYCURSOR; - goto yy433; + if (yych == '\n') goto yy435; + goto yy432; yy437: YYDEBUG(437, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy436; - goto yy433; -yy438: - YYDEBUG(438, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(439, *YYCURSOR); + YYDEBUG(438, *YYCURSOR); if (yych <= 'D') { - if (yych <= '/') goto yy154; - if (yych <= '9') goto yy438; - goto yy154; + if (yych <= '/') goto yy153; + if (yych <= '9') goto yy437; + goto yy153; } else { - if (yych <= 'E') goto yy157; - if (yych == 'e') goto yy157; - goto yy154; + if (yych <= 'E') goto yy156; + if (yych == 'e') goto yy156; + goto yy153; } -yy440: - YYDEBUG(440, *YYCURSOR); +yy439: + YYDEBUG(439, *YYCURSOR); ++YYCURSOR; - YYDEBUG(441, *YYCURSOR); + YYDEBUG(440, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1492 "Zend/zend_language_scanner.l" +#line 1496 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 4843 "Zend/zend_language_scanner.c" -yy442: - YYDEBUG(442, *YYCURSOR); +#line 4841 "Zend/zend_language_scanner.c" +yy441: + YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '.') goto yy158; - YYDEBUG(443, *YYCURSOR); + if (yych != '.') goto yy157; + YYDEBUG(442, *YYCURSOR); ++YYCURSOR; - YYDEBUG(444, *YYCURSOR); + YYDEBUG(443, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1292 "Zend/zend_language_scanner.l" { return T_ELLIPSIS; } -#line 4856 "Zend/zend_language_scanner.c" -yy445: - YYDEBUG(445, *YYCURSOR); +#line 4854 "Zend/zend_language_scanner.c" +yy444: + YYDEBUG(444, *YYCURSOR); ++YYCURSOR; - YYDEBUG(446, *YYCURSOR); + YYDEBUG(445, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1284 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 4866 "Zend/zend_language_scanner.c" -yy447: - YYDEBUG(447, *YYCURSOR); +#line 4864 "Zend/zend_language_scanner.c" +yy446: + YYDEBUG(446, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy448: - YYDEBUG(448, *YYCURSOR); +yy447: + YYDEBUG(447, *YYCURSOR); if (yych <= '\f') { - if (yych <= 0x08) goto yy105; - if (yych <= '\n') goto yy447; - goto yy105; + if (yych <= 0x08) goto yy104; + if (yych <= '\n') goto yy446; + goto yy104; } else { - if (yych <= '\r') goto yy447; - if (yych == ' ') goto yy447; - goto yy105; + if (yych <= '\r') goto yy446; + if (yych == ' ') goto yy446; + goto yy104; } -yy449: - YYDEBUG(449, *YYCURSOR); +yy448: + YYDEBUG(448, *YYCURSOR); ++YYCURSOR; - YYDEBUG(450, *YYCURSOR); + YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1472 "Zend/zend_language_scanner.l" +#line 1476 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 4892 "Zend/zend_language_scanner.c" -yy451: - YYDEBUG(451, *YYCURSOR); +#line 4890 "Zend/zend_language_scanner.c" +yy450: + YYDEBUG(450, *YYCURSOR); ++YYCURSOR; - YYDEBUG(452, *YYCURSOR); + YYDEBUG(451, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1436 "Zend/zend_language_scanner.l" +#line 1440 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 4902 "Zend/zend_language_scanner.c" -yy453: - YYDEBUG(453, *YYCURSOR); +#line 4900 "Zend/zend_language_scanner.c" +yy452: + YYDEBUG(452, *YYCURSOR); ++YYCURSOR; - YYDEBUG(454, *YYCURSOR); + YYDEBUG(453, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1258 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY); return T_OBJECT_OPERATOR; } -#line 4913 "Zend/zend_language_scanner.c" -yy455: - YYDEBUG(455, *YYCURSOR); +#line 4911 "Zend/zend_language_scanner.c" +yy454: + YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy462; - if (yych <= 'N') goto yy151; - goto yy463; + if (yych == 'I') goto yy461; + if (yych <= 'N') goto yy150; + goto yy462; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy151; - goto yy462; + if (yych <= 'h') goto yy150; + goto yy461; } else { - if (yych == 'o') goto yy463; - goto yy151; + if (yych == 'o') goto yy462; + goto yy150; } } +yy455: + YYDEBUG(455, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy456; + if (yych != 'b') goto yy150; yy456: YYDEBUG(456, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy457; - if (yych != 'b') goto yy151; + if (yych == 'L') goto yy457; + if (yych != 'l') goto yy150; yy457: YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy458; - if (yych != 'l') goto yy151; + if (yych == 'I') goto yy458; + if (yych != 'i') goto yy150; yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy459; - if (yych != 'i') goto yy151; + if (yych == 'C') goto yy459; + if (yych != 'c') goto yy150; yy459: YYDEBUG(459, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy460; - if (yych != 'c') goto yy151; -yy460: - YYDEBUG(460, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(461, *YYCURSOR); + YYDEBUG(460, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1408 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 4962 "Zend/zend_language_scanner.c" -yy462: - YYDEBUG(462, *YYCURSOR); +#line 4960 "Zend/zend_language_scanner.c" +yy461: + YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { - if (yych == 'N') goto yy471; - if (yych <= 'U') goto yy151; - goto yy472; + if (yych == 'N') goto yy470; + if (yych <= 'U') goto yy150; + goto yy471; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy151; - goto yy471; + if (yych <= 'm') goto yy150; + goto yy470; } else { - if (yych == 'v') goto yy472; - goto yy151; + if (yych == 'v') goto yy471; + goto yy150; } } +yy462: + YYDEBUG(462, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy463; + if (yych != 't') goto yy150; yy463: YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy464; - if (yych != 't') goto yy151; + if (yych == 'E') goto yy464; + if (yych != 'e') goto yy150; yy464: YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy465; - if (yych != 'e') goto yy151; + if (yych == 'C') goto yy465; + if (yych != 'c') goto yy150; yy465: YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy466; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy466; + if (yych != 't') goto yy150; yy466: YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy467; - if (yych != 't') goto yy151; + if (yych == 'E') goto yy467; + if (yych != 'e') goto yy150; yy467: YYDEBUG(467, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy468; - if (yych != 'e') goto yy151; + if (yych == 'D') goto yy468; + if (yych != 'd') goto yy150; yy468: YYDEBUG(468, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy469; - if (yych != 'd') goto yy151; -yy469: - YYDEBUG(469, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(470, *YYCURSOR); + YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1404 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 5021 "Zend/zend_language_scanner.c" +#line 5019 "Zend/zend_language_scanner.c" +yy470: + YYDEBUG(470, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy476; + if (yych == 't') goto yy476; + goto yy150; yy471: YYDEBUG(471, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy477; - if (yych == 't') goto yy477; - goto yy151; + if (yych == 'A') goto yy472; + if (yych != 'a') goto yy150; yy472: YYDEBUG(472, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy473; - if (yych != 'a') goto yy151; + if (yych == 'T') goto yy473; + if (yych != 't') goto yy150; yy473: YYDEBUG(473, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy474; - if (yych != 't') goto yy151; + if (yych == 'E') goto yy474; + if (yych != 'e') goto yy150; yy474: YYDEBUG(474, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy475; - if (yych != 'e') goto yy151; -yy475: - YYDEBUG(475, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(476, *YYCURSOR); + YYDEBUG(475, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1400 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5055 "Zend/zend_language_scanner.c" -yy477: - YYDEBUG(477, *YYCURSOR); +#line 5053 "Zend/zend_language_scanner.c" +yy476: + YYDEBUG(476, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(478, *YYCURSOR); + YYDEBUG(477, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1234 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5068 "Zend/zend_language_scanner.c" +#line 5066 "Zend/zend_language_scanner.c" +yy478: + YYDEBUG(478, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy483; + if (yych == 'o') goto yy483; + goto yy150; yy479: YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy484; - if (yych == 'o') goto yy484; - goto yy151; + if (yych == 'T') goto yy480; + if (yych != 't') goto yy150; yy480: YYDEBUG(480, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy481; - if (yych != 't') goto yy151; + if (yych == 'O') goto yy481; + if (yych != 'o') goto yy150; yy481: YYDEBUG(481, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy482; - if (yych != 'o') goto yy151; -yy482: - YYDEBUG(482, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(483, *YYCURSOR); + YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1226 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5097 "Zend/zend_language_scanner.c" +#line 5095 "Zend/zend_language_scanner.c" +yy483: + YYDEBUG(483, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy484; + if (yych != 'b') goto yy150; yy484: YYDEBUG(484, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy485; - if (yych != 'b') goto yy151; + if (yych == 'A') goto yy485; + if (yych != 'a') goto yy150; yy485: YYDEBUG(485, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy486; - if (yych != 'a') goto yy151; + if (yych == 'L') goto yy486; + if (yych != 'l') goto yy150; yy486: YYDEBUG(486, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy487; - if (yych != 'l') goto yy151; -yy487: - YYDEBUG(487, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(488, *YYCURSOR); + YYDEBUG(487, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1372 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5125 "Zend/zend_language_scanner.c" +#line 5123 "Zend/zend_language_scanner.c" +yy488: + YYDEBUG(488, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '<') goto yy496; + goto yy157; yy489: YYDEBUG(489, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy497; - goto yy158; + goto yy144; yy490: YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; - goto yy145; + goto yy142; yy491: YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; - goto yy143; + if (yych == 'E') goto yy492; + if (yych != 'e') goto yy150; yy492: YYDEBUG(492, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy493; - if (yych != 'e') goto yy151; + if (yych == 'A') goto yy493; + if (yych != 'a') goto yy150; yy493: YYDEBUG(493, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy494; - if (yych != 'a') goto yy151; + if (yych == 'K') goto yy494; + if (yych != 'k') goto yy150; yy494: YYDEBUG(494, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy495; - if (yych != 'k') goto yy151; -yy495: - YYDEBUG(495, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(496, *YYCURSOR); + YYDEBUG(495, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1218 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5166 "Zend/zend_language_scanner.c" +#line 5164 "Zend/zend_language_scanner.c" +yy496: + YYDEBUG(496, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '<') goto yy219; + goto yy157; yy497: YYDEBUG(497, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy220; - goto yy158; + if (yych == 'A') goto yy504; + if (yych == 'a') goto yy504; + goto yy150; yy498: YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy505; - if (yych == 'a') goto yy505; - goto yy151; + if (yych == 'I') goto yy499; + if (yych != 'i') goto yy150; yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy500; - if (yych != 'i') goto yy151; + if (yych == 'T') goto yy500; + if (yych != 't') goto yy150; yy500: YYDEBUG(500, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy501; - if (yych != 't') goto yy151; + if (yych == 'C') goto yy501; + if (yych != 'c') goto yy150; yy501: YYDEBUG(501, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy502; - if (yych != 'c') goto yy151; + if (yych == 'H') goto yy502; + if (yych != 'h') goto yy150; yy502: YYDEBUG(502, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy503; - if (yych != 'h') goto yy151; -yy503: - YYDEBUG(503, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(504, *YYCURSOR); + YYDEBUG(503, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1202 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5210 "Zend/zend_language_scanner.c" +#line 5208 "Zend/zend_language_scanner.c" +yy504: + YYDEBUG(504, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy505; + if (yych != 't') goto yy150; yy505: YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy506; - if (yych != 't') goto yy151; + if (yych == 'I') goto yy506; + if (yych != 'i') goto yy150; yy506: YYDEBUG(506, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy507; - if (yych != 'i') goto yy151; + if (yych == 'C') goto yy507; + if (yych != 'c') goto yy150; yy507: YYDEBUG(507, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy508; - if (yych != 'c') goto yy151; -yy508: - YYDEBUG(508, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(509, *YYCURSOR); + YYDEBUG(508, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1388 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5238 "Zend/zend_language_scanner.c" +#line 5236 "Zend/zend_language_scanner.c" +yy509: + YYDEBUG(509, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy520; + if (yych == 's') goto yy520; + goto yy150; yy510: YYDEBUG(510, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy521; - if (yych == 's') goto yy521; - goto yy151; + if (yych == 'D') goto yy518; + if (yych == 'd') goto yy518; + goto yy150; yy511: YYDEBUG(511, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy519; - if (yych == 'd') goto yy519; - goto yy151; + if (yych == 'R') goto yy514; + if (yych == 'r') goto yy514; + goto yy150; yy512: YYDEBUG(512, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy515; - if (yych == 'r') goto yy515; - goto yy151; -yy513: - YYDEBUG(513, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(514, *YYCURSOR); + YYDEBUG(513, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1198 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5269 "Zend/zend_language_scanner.c" +#line 5267 "Zend/zend_language_scanner.c" +yy514: + YYDEBUG(514, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy515; + if (yych != 'a') goto yy150; yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy516; - if (yych != 'a') goto yy151; + if (yych == 'Y') goto yy516; + if (yych != 'y') goto yy150; yy516: YYDEBUG(516, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy517; - if (yych != 'y') goto yy151; -yy517: - YYDEBUG(517, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(518, *YYCURSOR); + YYDEBUG(517, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1424 "Zend/zend_language_scanner.l" +#line 1428 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5292 "Zend/zend_language_scanner.c" -yy519: - YYDEBUG(519, *YYCURSOR); +#line 5290 "Zend/zend_language_scanner.c" +yy518: + YYDEBUG(518, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(520, *YYCURSOR); + YYDEBUG(519, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1532 "Zend/zend_language_scanner.l" +#line 1536 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5305 "Zend/zend_language_scanner.c" +#line 5303 "Zend/zend_language_scanner.c" +yy520: + YYDEBUG(520, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy521; + if (yych != 't') goto yy150; yy521: YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy522; - if (yych != 't') goto yy151; + if (yych == 'R') goto yy522; + if (yych != 'r') goto yy150; yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy523; - if (yych != 'r') goto yy151; + if (yych == 'A') goto yy523; + if (yych != 'a') goto yy150; yy523: YYDEBUG(523, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy524; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy524; + if (yych != 'c') goto yy150; yy524: YYDEBUG(524, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy525; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy525; + if (yych != 't') goto yy150; yy525: YYDEBUG(525, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy526; - if (yych != 't') goto yy151; -yy526: - YYDEBUG(526, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(527, *YYCURSOR); + YYDEBUG(526, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1392 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5343 "Zend/zend_language_scanner.c" +#line 5341 "Zend/zend_language_scanner.c" +yy527: + YYDEBUG(527, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy528; + if (yych != 'i') goto yy150; yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy529; - if (yych != 'i') goto yy151; + if (yych == 'L') goto yy529; + if (yych != 'l') goto yy150; yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy530; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy530; + if (yych != 'e') goto yy150; yy530: YYDEBUG(530, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy531; - if (yych != 'e') goto yy151; -yy531: - YYDEBUG(531, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(532, *YYCURSOR); + YYDEBUG(531, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1158 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5371 "Zend/zend_language_scanner.c" -yy533: - YYDEBUG(533, *YYCURSOR); +#line 5369 "Zend/zend_language_scanner.c" +yy532: + YYDEBUG(532, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(534, *YYCURSOR); + YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1142 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5384 "Zend/zend_language_scanner.c" -yy535: - YYDEBUG(535, *YYCURSOR); +#line 5382 "Zend/zend_language_scanner.c" +yy534: + YYDEBUG(534, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy577; if (yych == 'p') goto yy577; - goto yy151; -yy536: - YYDEBUG(536, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { + goto yy150; +yy535: + YYDEBUG(535, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '^') { if (yych <= 'C') { - if (yych <= 'B') goto yy151; - goto yy544; + if (yych <= '9') { + if (yych >= '0') goto yy149; + } else { + if (yych <= '@') goto yy536; + if (yych <= 'B') goto yy149; + goto yy544; + } } else { - if (yych <= 'R') goto yy151; - if (yych <= 'S') goto yy542; - goto yy543; + if (yych <= 'S') { + if (yych <= 'R') goto yy149; + goto yy542; + } else { + if (yych <= 'T') goto yy543; + if (yych <= 'Z') goto yy149; + } } } else { if (yych <= 'r') { - if (yych == 'c') goto yy544; - goto yy151; + if (yych <= '`') { + if (yych <= '_') goto yy149; + } else { + if (yych == 'c') goto yy544; + goto yy149; + } } else { - if (yych <= 's') goto yy542; - if (yych <= 't') goto yy543; - goto yy151; + if (yych <= 't') { + if (yych <= 's') goto yy542; + goto yy543; + } else { + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; + } } } +yy536: + YYDEBUG(536, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1424 "Zend/zend_language_scanner.l" + { + return T_IN; +} +#line 5435 "Zend/zend_language_scanner.c" yy537: YYDEBUG(537, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy538; - if (yych != 's') goto yy151; + if (yych != 's') goto yy150; yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy539; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy539: YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy540; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy540: YYDEBUG(540, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(541, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5436,55 +5459,55 @@ int lex_scan(zval *zendlval) { return T_ISSET; } -#line 5440 "Zend/zend_language_scanner.c" +#line 5463 "Zend/zend_language_scanner.c" yy542: YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy563; if (yych == 't') goto yy563; - goto yy151; + goto yy150; yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy556; if (yych == 'e') goto yy556; - goto yy151; + goto yy150; yy544: YYDEBUG(544, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy545; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy546; - if (yych != 'u') goto yy151; + if (yych != 'u') goto yy150; yy546: YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy547; - if (yych != 'd') goto yy151; + if (yych != 'd') goto yy150; yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy548; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy548: YYDEBUG(548, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy150; + if (yych >= '0') goto yy149; } else { if (yych <= '@') goto yy549; - if (yych <= 'Z') goto yy150; + if (yych <= 'Z') goto yy149; } } else { if (yych <= '`') { if (yych <= '_') goto yy550; } else { - if (yych <= 'z') goto yy150; - if (yych >= 0x7F) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } yy549: @@ -5494,32 +5517,32 @@ int lex_scan(zval *zendlval) { return T_INCLUDE; } -#line 5498 "Zend/zend_language_scanner.c" +#line 5521 "Zend/zend_language_scanner.c" yy550: YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy551; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy551: YYDEBUG(551, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy552; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy552: YYDEBUG(552, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy553; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy553: YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy554; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy554: YYDEBUG(554, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(555, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5527,37 +5550,37 @@ int lex_scan(zval *zendlval) { return T_INCLUDE_ONCE; } -#line 5531 "Zend/zend_language_scanner.c" +#line 5554 "Zend/zend_language_scanner.c" yy556: YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy557; - if (yych != 'r') goto yy151; + if (yych != 'r') goto yy150; yy557: YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy558; - if (yych != 'f') goto yy151; + if (yych != 'f') goto yy150; yy558: YYDEBUG(558, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy559; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy559: YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy560; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy560: YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy561; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy561: YYDEBUG(561, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(562, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5565,20 +5588,20 @@ int lex_scan(zval *zendlval) { return T_INTERFACE; } -#line 5569 "Zend/zend_language_scanner.c" +#line 5592 "Zend/zend_language_scanner.c" yy563: YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy564; - if (yych <= 'D') goto yy151; + if (yych <= 'D') goto yy150; goto yy565; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; + if (yych <= '`') goto yy150; } else { if (yych == 'e') goto yy565; - goto yy151; + goto yy150; } } yy564: @@ -5586,32 +5609,32 @@ int lex_scan(zval *zendlval) yych = *++YYCURSOR; if (yych == 'N') goto yy571; if (yych == 'n') goto yy571; - goto yy151; + goto yy150; yy565: YYDEBUG(565, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy566; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy566: YYDEBUG(566, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy567; - if (yych != 'd') goto yy151; + if (yych != 'd') goto yy150; yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy568; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy568: YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy569; - if (yych != 'f') goto yy151; + if (yych != 'f') goto yy150; yy569: YYDEBUG(569, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(570, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5619,32 +5642,32 @@ int lex_scan(zval *zendlval) { return T_INSTEADOF; } -#line 5623 "Zend/zend_language_scanner.c" +#line 5646 "Zend/zend_language_scanner.c" yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy572; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy572: YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy573; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy573: YYDEBUG(573, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy574; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy574: YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy575; - if (yych != 'f') goto yy151; + if (yych != 'f') goto yy150; yy575: YYDEBUG(575, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(576, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5652,47 +5675,47 @@ int lex_scan(zval *zendlval) { return T_INSTANCEOF; } -#line 5656 "Zend/zend_language_scanner.c" +#line 5679 "Zend/zend_language_scanner.c" yy577: YYDEBUG(577, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy578; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy579; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy579: YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy580; - if (yych != 'm') goto yy151; + if (yych != 'm') goto yy150; yy580: YYDEBUG(580, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy581; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy581: YYDEBUG(581, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy582; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy582: YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy583; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy583: YYDEBUG(583, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy584; - if (yych != 's') goto yy151; + if (yych != 's') goto yy150; yy584: YYDEBUG(584, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(585, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5700,31 +5723,31 @@ int lex_scan(zval *zendlval) { return T_IMPLEMENTS; } -#line 5704 "Zend/zend_language_scanner.c" +#line 5727 "Zend/zend_language_scanner.c" yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy594; if (yych == 'r') goto yy594; - goto yy151; + goto yy150; yy587: YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'A') goto yy590; - if (yych <= 'X') goto yy151; + if (yych <= 'X') goto yy150; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; + if (yych <= '`') goto yy150; goto yy590; } else { - if (yych != 'y') goto yy151; + if (yych != 'y') goto yy150; } } YYDEBUG(588, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(589, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5732,22 +5755,22 @@ int lex_scan(zval *zendlval) { return T_TRY; } -#line 5736 "Zend/zend_language_scanner.c" +#line 5759 "Zend/zend_language_scanner.c" yy590: YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy591; - if (yych != 'i') goto yy151; + if (yych != 'i') goto yy150; yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy592; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy592: YYDEBUG(592, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(593, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5755,22 +5778,22 @@ int lex_scan(zval *zendlval) { return T_TRAIT; } -#line 5759 "Zend/zend_language_scanner.c" +#line 5782 "Zend/zend_language_scanner.c" yy594: YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy595; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy595: YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy596; - if (yych != 'w') goto yy151; + if (yych != 'w') goto yy150; yy596: YYDEBUG(596, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(597, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5778,27 +5801,27 @@ int lex_scan(zval *zendlval) { return T_THROW; } -#line 5782 "Zend/zend_language_scanner.c" +#line 5805 "Zend/zend_language_scanner.c" yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy599; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy600; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy600: YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy601; - if (yych != 'd') goto yy151; + if (yych != 'd') goto yy150; yy601: YYDEBUG(601, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(602, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5806,62 +5829,62 @@ int lex_scan(zval *zendlval) { return T_YIELD; } -#line 5810 "Zend/zend_language_scanner.c" +#line 5833 "Zend/zend_language_scanner.c" yy603: YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych == 'Q') goto yy605; - if (yych <= 'S') goto yy151; + if (yych <= 'S') goto yy150; } else { if (yych <= 'q') { - if (yych <= 'p') goto yy151; + if (yych <= 'p') goto yy150; goto yy605; } else { - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; } } YYDEBUG(604, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy617; if (yych == 'u') goto yy617; - goto yy151; + goto yy150; yy605: YYDEBUG(605, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy606; - if (yych != 'u') goto yy151; + if (yych != 'u') goto yy150; yy606: YYDEBUG(606, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy607; - if (yych != 'i') goto yy151; + if (yych != 'i') goto yy150; yy607: YYDEBUG(607, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy608; - if (yych != 'r') goto yy151; + if (yych != 'r') goto yy150; yy608: YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy609; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy609: YYDEBUG(609, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy150; + if (yych >= '0') goto yy149; } else { if (yych <= '@') goto yy610; - if (yych <= 'Z') goto yy150; + if (yych <= 'Z') goto yy149; } } else { if (yych <= '`') { if (yych <= '_') goto yy611; } else { - if (yych <= 'z') goto yy150; - if (yych >= 0x7F) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } yy610: @@ -5871,32 +5894,32 @@ int lex_scan(zval *zendlval) { return T_REQUIRE; } -#line 5875 "Zend/zend_language_scanner.c" +#line 5898 "Zend/zend_language_scanner.c" yy611: YYDEBUG(611, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy612; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy612: YYDEBUG(612, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy613; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy613: YYDEBUG(613, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy614; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy614: YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy615; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy615: YYDEBUG(615, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(616, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5904,22 +5927,22 @@ int lex_scan(zval *zendlval) { return T_REQUIRE_ONCE; } -#line 5908 "Zend/zend_language_scanner.c" +#line 5931 "Zend/zend_language_scanner.c" yy617: YYDEBUG(617, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy618; - if (yych != 'r') goto yy151; + if (yych != 'r') goto yy150; yy618: YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy619; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy619: YYDEBUG(619, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(620, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -5927,27 +5950,27 @@ int lex_scan(zval *zendlval) { return T_RETURN; } -#line 5931 "Zend/zend_language_scanner.c" +#line 5954 "Zend/zend_language_scanner.c" yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { - if (yych <= 'K') goto yy151; + if (yych <= 'K') goto yy150; goto yy644; } else { - if (yych <= 'R') goto yy151; + if (yych <= 'R') goto yy150; if (yych <= 'S') goto yy643; goto yy642; } } else { if (yych <= 'r') { if (yych == 'l') goto yy644; - goto yy151; + goto yy150; } else { if (yych <= 's') goto yy643; if (yych <= 't') goto yy642; - goto yy151; + goto yy150; } } yy622: @@ -5955,65 +5978,65 @@ int lex_scan(zval *zendlval) yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'A') goto yy634; - if (yych <= 'N') goto yy151; + if (yych <= 'N') goto yy150; goto yy635; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; + if (yych <= '`') goto yy150; goto yy634; } else { if (yych == 'o') goto yy635; - goto yy151; + goto yy150; } } yy623: YYDEBUG(623, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy624; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych <= 'R') goto yy151; + if (yych <= 'R') goto yy150; if (yych >= 'T') goto yy626; } else { - if (yych <= 'r') goto yy151; + if (yych <= 'r') goto yy150; if (yych <= 's') goto yy625; if (yych <= 't') goto yy626; - goto yy151; + goto yy150; } yy625: YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy632; if (yych == 't') goto yy632; - goto yy151; + goto yy150; yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy627; - if (yych != 'i') goto yy151; + if (yych != 'i') goto yy150; yy627: YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy628; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy628: YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy629; - if (yych != 'u') goto yy151; + if (yych != 'u') goto yy150; yy629: YYDEBUG(629, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy630; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy630: YYDEBUG(630, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(631, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6021,12 +6044,12 @@ int lex_scan(zval *zendlval) { return T_CONTINUE; } -#line 6025 "Zend/zend_language_scanner.c" +#line 6048 "Zend/zend_language_scanner.c" yy632: YYDEBUG(632, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(633, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6034,28 +6057,28 @@ int lex_scan(zval *zendlval) { return T_CONST; } -#line 6038 "Zend/zend_language_scanner.c" +#line 6061 "Zend/zend_language_scanner.c" yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy639; if (yych == 's') goto yy639; - goto yy151; + goto yy150; yy635: YYDEBUG(635, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy636; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy636: YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy637; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy637: YYDEBUG(637, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(638, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6063,17 +6086,17 @@ int lex_scan(zval *zendlval) { return T_CLONE; } -#line 6067 "Zend/zend_language_scanner.c" +#line 6090 "Zend/zend_language_scanner.c" yy639: YYDEBUG(639, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy640; - if (yych != 's') goto yy151; + if (yych != 's') goto yy150; yy640: YYDEBUG(640, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(641, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6081,62 +6104,62 @@ int lex_scan(zval *zendlval) { return T_CLASS; } -#line 6085 "Zend/zend_language_scanner.c" +#line 6108 "Zend/zend_language_scanner.c" yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy653; if (yych == 'c') goto yy653; - goto yy151; + goto yy150; yy643: YYDEBUG(643, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy651; if (yych == 'e') goto yy651; - goto yy151; + goto yy150; yy644: YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy645; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy645: YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy646; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy646: YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy647; - if (yych != 'b') goto yy151; + if (yych != 'b') goto yy150; yy647: YYDEBUG(647, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy648; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy649; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy649: YYDEBUG(649, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(650, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1428 "Zend/zend_language_scanner.l" +#line 1432 "Zend/zend_language_scanner.l" { return T_CALLABLE; } -#line 6135 "Zend/zend_language_scanner.c" +#line 6158 "Zend/zend_language_scanner.c" yy651: YYDEBUG(651, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(652, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6144,17 +6167,17 @@ int lex_scan(zval *zendlval) { return T_CASE; } -#line 6148 "Zend/zend_language_scanner.c" +#line 6171 "Zend/zend_language_scanner.c" yy653: YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy654; - if (yych != 'h') goto yy151; + if (yych != 'h') goto yy150; yy654: YYDEBUG(654, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(655, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6162,54 +6185,54 @@ int lex_scan(zval *zendlval) { return T_CATCH; } -#line 6166 "Zend/zend_language_scanner.c" +#line 6189 "Zend/zend_language_scanner.c" yy656: YYDEBUG(656, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy673; if (yych == 'n') goto yy673; - goto yy151; + goto yy150; yy657: YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy666; if (yych == 'r') goto yy666; - goto yy151; + goto yy150; yy658: YYDEBUG(658, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy659; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy660; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy660: YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy661; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy662; - if (yych != 'i') goto yy151; + if (yych != 'i') goto yy150; yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy663; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy663: YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy664; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy664: YYDEBUG(664, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(665, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6217,25 +6240,25 @@ int lex_scan(zval *zendlval) { return T_FUNCTION; } -#line 6221 "Zend/zend_language_scanner.c" +#line 6244 "Zend/zend_language_scanner.c" yy666: YYDEBUG(666, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { if (yych <= '/') goto yy667; - if (yych <= '9') goto yy150; + if (yych <= '9') goto yy149; } else { if (yych == 'E') goto yy668; - if (yych <= 'Z') goto yy150; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'd') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { if (yych <= 'e') goto yy668; - if (yych <= 'z') goto yy150; - if (yych >= 0x7F) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } yy667: @@ -6245,27 +6268,27 @@ int lex_scan(zval *zendlval) { return T_FOR; } -#line 6249 "Zend/zend_language_scanner.c" +#line 6272 "Zend/zend_language_scanner.c" yy668: YYDEBUG(668, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy669; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy669: YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy670; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy670: YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy671; - if (yych != 'h') goto yy151; + if (yych != 'h') goto yy150; yy671: YYDEBUG(671, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(672, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6273,35 +6296,35 @@ int lex_scan(zval *zendlval) { return T_FOREACH; } -#line 6277 "Zend/zend_language_scanner.c" +#line 6300 "Zend/zend_language_scanner.c" yy673: YYDEBUG(673, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy674; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy675; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy675: YYDEBUG(675, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { if (yych <= '/') goto yy676; - if (yych <= '9') goto yy150; + if (yych <= '9') goto yy149; } else { if (yych == 'L') goto yy677; - if (yych <= 'Z') goto yy150; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'k') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { if (yych <= 'l') goto yy677; - if (yych <= 'z') goto yy150; - if (yych >= 0x7F) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } yy676: @@ -6311,17 +6334,17 @@ int lex_scan(zval *zendlval) { return T_FINAL; } -#line 6315 "Zend/zend_language_scanner.c" +#line 6338 "Zend/zend_language_scanner.c" yy677: YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy678; - if (yych != 'y') goto yy151; + if (yych != 'y') goto yy150; yy678: YYDEBUG(678, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(679, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6329,21 +6352,21 @@ int lex_scan(zval *zendlval) { return T_FINALLY; } -#line 6333 "Zend/zend_language_scanner.c" +#line 6356 "Zend/zend_language_scanner.c" yy680: YYDEBUG(680, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { if (yych == 'C') goto yy686; - if (yych <= 'E') goto yy151; + if (yych <= 'E') goto yy150; goto yy687; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy151; + if (yych <= 'b') goto yy150; goto yy686; } else { if (yych == 'f') goto yy687; - goto yy151; + goto yy150; } } yy681: @@ -6351,12 +6374,12 @@ int lex_scan(zval *zendlval) yych = *++YYCURSOR; if (yych == 'E') goto yy684; if (yych == 'e') goto yy684; - goto yy151; + goto yy150; yy682: YYDEBUG(682, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(683, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6364,12 +6387,12 @@ int lex_scan(zval *zendlval) { return T_DO; } -#line 6368 "Zend/zend_language_scanner.c" +#line 6391 "Zend/zend_language_scanner.c" yy684: YYDEBUG(684, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(685, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6377,38 +6400,38 @@ int lex_scan(zval *zendlval) { return T_EXIT; } -#line 6381 "Zend/zend_language_scanner.c" +#line 6404 "Zend/zend_language_scanner.c" yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy693; if (yych == 'l') goto yy693; - goto yy151; + goto yy150; yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy688; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy688: YYDEBUG(688, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy689; - if (yych != 'u') goto yy151; + if (yych != 'u') goto yy150; yy689: YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy690; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy690: YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy691; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy691: YYDEBUG(691, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(692, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6416,27 +6439,27 @@ int lex_scan(zval *zendlval) { return T_DEFAULT; } -#line 6420 "Zend/zend_language_scanner.c" +#line 6443 "Zend/zend_language_scanner.c" yy693: YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy694; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy694: YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy695; - if (yych != 'r') goto yy151; + if (yych != 'r') goto yy150; yy695: YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy696; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy696: YYDEBUG(696, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(697, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6444,50 +6467,50 @@ int lex_scan(zval *zendlval) { return T_DECLARE; } -#line 6448 "Zend/zend_language_scanner.c" +#line 6471 "Zend/zend_language_scanner.c" yy698: YYDEBUG(698, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy760; if (yych == 'h') goto yy760; - goto yy151; + goto yy150; yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy754; if (yych == 's') goto yy754; - goto yy151; + goto yy150; yy700: YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy750; if (yych == 'p') goto yy750; - goto yy151; + goto yy150; yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy716; if (yych == 'd') goto yy716; - goto yy151; + goto yy150; yy702: YYDEBUG(702, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy713; if (yych == 'a') goto yy713; - goto yy151; + goto yy150; yy703: YYDEBUG(703, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych == 'I') goto yy704; - if (yych <= 'S') goto yy151; + if (yych <= 'S') goto yy150; goto yy705; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy151; + if (yych <= 'h') goto yy150; } else { if (yych == 't') goto yy705; - goto yy151; + goto yy150; } } yy704: @@ -6495,32 +6518,32 @@ int lex_scan(zval *zendlval) yych = *++YYCURSOR; if (yych == 'T') goto yy711; if (yych == 't') goto yy711; - goto yy151; + goto yy150; yy705: YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy706; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy706: YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy707; - if (yych != 'n') goto yy151; + if (yych != 'n') goto yy150; yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy708; - if (yych != 'd') goto yy151; + if (yych != 'd') goto yy150; yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy709; - if (yych != 's') goto yy151; + if (yych != 's') goto yy150; yy709: YYDEBUG(709, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(710, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6528,12 +6551,12 @@ int lex_scan(zval *zendlval) { return T_EXTENDS; } -#line 6532 "Zend/zend_language_scanner.c" +#line 6555 "Zend/zend_language_scanner.c" yy711: YYDEBUG(711, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(712, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6541,17 +6564,17 @@ int lex_scan(zval *zendlval) { return T_EXIT; } -#line 6545 "Zend/zend_language_scanner.c" +#line 6568 "Zend/zend_language_scanner.c" yy713: YYDEBUG(713, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy714; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy714: YYDEBUG(714, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(715, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6559,7 +6582,7 @@ int lex_scan(zval *zendlval) { return T_EVAL; } -#line 6563 "Zend/zend_language_scanner.c" +#line 6586 "Zend/zend_language_scanner.c" yy716: YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; @@ -6575,57 +6598,57 @@ int lex_scan(zval *zendlval) case 's': goto yy720; case 'W': case 'w': goto yy721; - default: goto yy151; + default: goto yy150; } yy717: YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy743; if (yych == 'e') goto yy743; - goto yy151; + goto yy150; yy718: YYDEBUG(718, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy735; if (yych == 'o') goto yy735; - goto yy151; + goto yy150; yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy733; if (yych == 'f') goto yy733; - goto yy151; + goto yy150; yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy727; if (yych == 'w') goto yy727; - goto yy151; + goto yy150; yy721: YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy722; - if (yych != 'h') goto yy151; + if (yych != 'h') goto yy150; yy722: YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy723; - if (yych != 'i') goto yy151; + if (yych != 'i') goto yy150; yy723: YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy724; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy724: YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy725; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy725: YYDEBUG(725, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(726, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6633,32 +6656,32 @@ int lex_scan(zval *zendlval) { return T_ENDWHILE; } -#line 6637 "Zend/zend_language_scanner.c" +#line 6660 "Zend/zend_language_scanner.c" yy727: YYDEBUG(727, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy728; - if (yych != 'i') goto yy151; + if (yych != 'i') goto yy150; yy728: YYDEBUG(728, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy729; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy729: YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy730; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy731; - if (yych != 'h') goto yy151; + if (yych != 'h') goto yy150; yy731: YYDEBUG(731, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(732, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6666,12 +6689,12 @@ int lex_scan(zval *zendlval) { return T_ENDSWITCH; } -#line 6670 "Zend/zend_language_scanner.c" +#line 6693 "Zend/zend_language_scanner.c" yy733: YYDEBUG(733, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(734, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6679,30 +6702,30 @@ int lex_scan(zval *zendlval) { return T_ENDIF; } -#line 6683 "Zend/zend_language_scanner.c" +#line 6706 "Zend/zend_language_scanner.c" yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy736; - if (yych != 'r') goto yy151; + if (yych != 'r') goto yy150; yy736: YYDEBUG(736, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { if (yych <= '/') goto yy737; - if (yych <= '9') goto yy150; + if (yych <= '9') goto yy149; } else { if (yych == 'E') goto yy738; - if (yych <= 'Z') goto yy150; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'd') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { if (yych <= 'e') goto yy738; - if (yych <= 'z') goto yy150; - if (yych >= 0x7F) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } yy737: @@ -6712,27 +6735,27 @@ int lex_scan(zval *zendlval) { return T_ENDFOR; } -#line 6716 "Zend/zend_language_scanner.c" +#line 6739 "Zend/zend_language_scanner.c" yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy739; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy739: YYDEBUG(739, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy740; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy740: YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy741; - if (yych != 'h') goto yy151; + if (yych != 'h') goto yy150; yy741: YYDEBUG(741, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(742, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6740,37 +6763,37 @@ int lex_scan(zval *zendlval) { return T_ENDFOREACH; } -#line 6744 "Zend/zend_language_scanner.c" +#line 6767 "Zend/zend_language_scanner.c" yy743: YYDEBUG(743, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy744; - if (yych != 'c') goto yy151; + if (yych != 'c') goto yy150; yy744: YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy745; - if (yych != 'l') goto yy151; + if (yych != 'l') goto yy150; yy745: YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy746; - if (yych != 'a') goto yy151; + if (yych != 'a') goto yy150; yy746: YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy747; - if (yych != 'r') goto yy151; + if (yych != 'r') goto yy150; yy747: YYDEBUG(747, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy748; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy748: YYDEBUG(748, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(749, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6778,22 +6801,22 @@ int lex_scan(zval *zendlval) { return T_ENDDECLARE; } -#line 6782 "Zend/zend_language_scanner.c" +#line 6805 "Zend/zend_language_scanner.c" yy750: YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy751; - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; yy751: YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy752; - if (yych != 'y') goto yy151; + if (yych != 'y') goto yy150; yy752: YYDEBUG(752, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(753, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6801,30 +6824,30 @@ int lex_scan(zval *zendlval) { return T_EMPTY; } -#line 6805 "Zend/zend_language_scanner.c" +#line 6828 "Zend/zend_language_scanner.c" yy754: YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy755; - if (yych != 'e') goto yy151; + if (yych != 'e') goto yy150; yy755: YYDEBUG(755, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { if (yych <= '/') goto yy756; - if (yych <= '9') goto yy150; + if (yych <= '9') goto yy149; } else { if (yych == 'I') goto yy757; - if (yych <= 'Z') goto yy150; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'h') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { if (yych <= 'i') goto yy757; - if (yych <= 'z') goto yy150; - if (yych >= 0x7F) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } yy756: @@ -6834,17 +6857,17 @@ int lex_scan(zval *zendlval) { return T_ELSE; } -#line 6838 "Zend/zend_language_scanner.c" +#line 6861 "Zend/zend_language_scanner.c" yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy758; - if (yych != 'f') goto yy151; + if (yych != 'f') goto yy150; yy758: YYDEBUG(758, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6852,17 +6875,17 @@ int lex_scan(zval *zendlval) { return T_ELSEIF; } -#line 6856 "Zend/zend_language_scanner.c" +#line 6879 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy761; - if (yych != 'o') goto yy151; + if (yych != 'o') goto yy150; yy761: YYDEBUG(761, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); @@ -6870,7 +6893,7 @@ int lex_scan(zval *zendlval) { return T_ECHO; } -#line 6874 "Zend/zend_language_scanner.c" +#line 6897 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6948,7 +6971,7 @@ int lex_scan(zval *zendlval) HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 6952 "Zend/zend_language_scanner.c" +#line 6975 "Zend/zend_language_scanner.c" yy767: YYDEBUG(767, *YYCURSOR); ++YYCURSOR; @@ -6962,7 +6985,7 @@ int lex_scan(zval *zendlval) yy_pop_state(); goto restart; } -#line 6966 "Zend/zend_language_scanner.c" +#line 6989 "Zend/zend_language_scanner.c" yy769: YYDEBUG(769, *YYCURSOR); ++YYCURSOR; @@ -6977,7 +7000,7 @@ int lex_scan(zval *zendlval) zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 6981 "Zend/zend_language_scanner.c" +#line 7004 "Zend/zend_language_scanner.c" yy771: YYDEBUG(771, *YYCURSOR); yych = *++YYCURSOR; @@ -7002,7 +7025,7 @@ int lex_scan(zval *zendlval) { return T_OBJECT_OPERATOR; } -#line 7006 "Zend/zend_language_scanner.c" +#line 7029 "Zend/zend_language_scanner.c" yy776: YYDEBUG(776, *YYCURSOR); ++YYCURSOR; @@ -7087,14 +7110,14 @@ int lex_scan(zval *zendlval) yy781: YYDEBUG(781, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1583 "Zend/zend_language_scanner.l" +#line 1587 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7098 "Zend/zend_language_scanner.c" +#line 7121 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; @@ -7109,10 +7132,8 @@ int lex_scan(zval *zendlval) if (yybm[0+yych] & 128) { goto yy783; } - if (yych <= '@') goto yy785; - if (yych <= '[') goto yy786; + if (yych == '[') goto yy786; if (yych == '}') goto yy786; -yy785: YYDEBUG(785, *YYCURSOR); YYCURSOR = YYMARKER; goto yy781; @@ -7121,7 +7142,7 @@ int lex_scan(zval *zendlval) ++YYCURSOR; YYDEBUG(787, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1574 "Zend/zend_language_scanner.l" +#line 1578 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7129,7 +7150,7 @@ int lex_scan(zval *zendlval) yy_push_state(ST_IN_SCRIPTING); return T_STRING_VARNAME; } -#line 7133 "Zend/zend_language_scanner.c" +#line 7154 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: @@ -7140,7 +7161,7 @@ int lex_scan(zval *zendlval) ++YYCURSOR; YYDEBUG(791, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2296 "Zend/zend_language_scanner.l" +#line 2300 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7196,7 +7217,7 @@ int lex_scan(zval *zendlval) HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7200 "Zend/zend_language_scanner.c" +#line 7221 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7303,7 +7324,7 @@ int lex_scan(zval *zendlval) yy795: YYDEBUG(795, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1685 "Zend/zend_language_scanner.l" +#line 1689 "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)) { char *end; @@ -7319,7 +7340,7 @@ int lex_scan(zval *zendlval) } return T_NUM_STRING; } -#line 7323 "Zend/zend_language_scanner.c" +#line 7344 "Zend/zend_language_scanner.c" yy796: YYDEBUG(796, *YYCURSOR); yych = *++YYCURSOR; @@ -7339,23 +7360,23 @@ int lex_scan(zval *zendlval) yy798: YYDEBUG(798, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1845 "Zend/zend_language_scanner.l" +#line 1849 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7348 "Zend/zend_language_scanner.c" +#line 7369 "Zend/zend_language_scanner.c" yy799: YYDEBUG(799, *YYCURSOR); ++YYCURSOR; YYDEBUG(800, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1840 "Zend/zend_language_scanner.l" +#line 1844 "Zend/zend_language_scanner.l" { yy_pop_state(); return ']'; } -#line 7359 "Zend/zend_language_scanner.c" +#line 7380 "Zend/zend_language_scanner.c" yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; @@ -7365,7 +7386,7 @@ int lex_scan(zval *zendlval) ++YYCURSOR; YYDEBUG(803, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1850 "Zend/zend_language_scanner.l" +#line 1854 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -7373,7 +7394,7 @@ int lex_scan(zval *zendlval) ZVAL_NULL(zendlval); return T_ENCAPSED_AND_WHITESPACE; } -#line 7377 "Zend/zend_language_scanner.c" +#line 7398 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); ++YYCURSOR; @@ -7382,18 +7403,18 @@ int lex_scan(zval *zendlval) yy805: YYDEBUG(805, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1858 "Zend/zend_language_scanner.l" +#line 1862 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7391 "Zend/zend_language_scanner.c" +#line 7412 "Zend/zend_language_scanner.c" yy806: YYDEBUG(806, *YYCURSOR); ++YYCURSOR; YYDEBUG(807, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2353 "Zend/zend_language_scanner.l" +#line 2357 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7402,7 +7423,7 @@ int lex_scan(zval *zendlval) zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7406 "Zend/zend_language_scanner.c" +#line 7427 "Zend/zend_language_scanner.c" yy808: YYDEBUG(808, *YYCURSOR); ++YYCURSOR; @@ -7438,12 +7459,12 @@ int lex_scan(zval *zendlval) yy812: YYDEBUG(812, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1835 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 7447 "Zend/zend_language_scanner.c" +#line 7468 "Zend/zend_language_scanner.c" yy813: YYDEBUG(813, *YYCURSOR); ++YYCURSOR; @@ -7483,12 +7504,12 @@ int lex_scan(zval *zendlval) yy820: YYDEBUG(820, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1701 "Zend/zend_language_scanner.l" +#line 1705 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); return T_NUM_STRING; } -#line 7492 "Zend/zend_language_scanner.c" +#line 7513 "Zend/zend_language_scanner.c" yy821: YYDEBUG(821, *YYCURSOR); ++YYCURSOR; @@ -7511,6 +7532,6 @@ int lex_scan(zval *zendlval) goto yy820; } } -#line 2362 "Zend/zend_language_scanner.l" +#line 2366 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 31c9a52a44a46..ba06d2d02b3b5 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1421,6 +1421,10 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_LIST; } +"in" { + return T_IN; +} + "array" { return T_ARRAY; } diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index baf859bcd461a..5926e3c61d971 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.7.5 */ +/* Generated by re2c 0.13.5 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 643f51b92663c..5f41b9287d0e7 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -879,6 +879,8 @@ ZEND_API binary_op_type get_binary_op(int opcode) return (binary_op_type) bitwise_xor_function; case ZEND_BOOL_XOR: return (binary_op_type) boolean_xor_function; + case ZEND_IN: + return (binary_op_type) in_function; default: return (binary_op_type) NULL; } diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index d8be615c162f0..903110f3e8f41 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -30,6 +30,7 @@ #include "zend_strtod.h" #include "zend_exceptions.h" #include "zend_closures.h" +#include "zend_interfaces.h" #if ZEND_USE_TOLOWER_L #include @@ -2067,6 +2068,125 @@ ZEND_API zend_bool instanceof_function(const zend_class_entry *instance_ce, cons } /* }}} */ +static zend_always_inline zend_bool in_function_inline(zval *needle, zval *haystack, int *status) +{ + zend_string *haystr = Z_STR_P(haystack), *needlestr; + + *status = SUCCESS; + + switch (Z_TYPE_P(haystack)) { + zval haycpy, *arrayptr; + zend_bool retval; + + case IS_LONG: + haycpy = *haystack; + convert_to_string(&haycpy); + haystr = Z_STR(haycpy); + case IS_STRING: + needlestr = Z_STR_P(needle); + + switch (Z_TYPE_P(needle)) { + zval needlecpy; + case IS_OBJECT: + ZVAL_UNDEF(&needlecpy); + convert_object_to_type(needle, &needlecpy, IS_STRING, convert_to_string); + if (Z_TYPE(needlecpy) != IS_STRING) { + zval_dtor(&needlecpy); + } else { + + if (0) { + case IS_LONG: + needlecpy = *needle; + convert_to_string(&needlecpy); + } + needlestr = Z_STR(needlecpy); + case IS_STRING: + if (needlestr->len) { + retval = zend_memnstr(haystr->val, needlestr->val, needlestr->len, haystr->val + haystr->len) ? 1 : 0; + } else { + retval = 0; + *status = FAILURE; + zend_error(E_WARNING, "Invalid empty string needle to stringish haystack for in operator"); + } + if (Z_TYPE_P(needle) != IS_STRING) { + zend_string_release(needlestr); + } + break; + } + + default: + retval = 0; + *status = FAILURE; + zend_error(E_WARNING, "Invalid needle type %s to haystack type %s for in operator", zend_zval_type_name(needle), zend_zval_type_name(haystack)); + + } + + if (Z_TYPE_P(haystack) != IS_STRING && *status == SUCCESS) { + zend_string_release(haystr); + } + + return retval; + + case IS_ARRAY: + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(haystack), arrayptr) { + zval retzv; + ZVAL_DEREF(arrayptr); + fast_is_identical_function(&retzv, arrayptr, needle); + if (Z_TYPE(retzv) == IS_TRUE) { + return 1; + } + } ZEND_HASH_FOREACH_END(); + break; + + case IS_OBJECT: + if (instanceof_function(Z_OBJCE_P(haystack), zend_ce_traversable)) { + zend_object_iterator *iter = Z_OBJCE_P(haystack)->get_iterator(Z_OBJCE_P(haystack), haystack, 0); + + if (iter->funcs->rewind && !EG(exception)) { + iter->funcs->rewind(iter); + } + + while (!EG(exception) && iter->funcs->valid(iter) == SUCCESS && !EG(exception)) { + zval retzv, *val = iter->funcs->get_current_data(iter); + + ZVAL_DEREF(val); + fast_is_identical_function(&retzv, val, needle); + + if (Z_TYPE(retzv) == IS_TRUE) { + zend_iterator_dtor(iter); + return 1; + } + + iter->funcs->move_forward(iter); + } + + if (iter) { + zend_iterator_dtor(iter); + } + return 0; + } + + default: + *status = FAILURE; + zend_error(E_WARNING, "%s is not a valid haystack type for in operator", zend_zval_type_name(haystack)); + } + + return 0; +} + +ZEND_API zend_bool in_function_ex(zval *needle, zval *haystack) +{ + int status; + return in_function_inline(needle, haystack, &status); +} + +ZEND_API int in_function(zval *result, zval *needle, zval *haystack) +{ + int status; + ZVAL_BOOL(result, in_function_inline(needle, haystack, &status)); + return status; +} + #define LOWER_CASE 1 #define UPPER_CASE 2 #define NUMERIC 3 diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 1ee827e908a84..14aecd7f0d7da 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -70,6 +70,9 @@ ZEND_API int is_smaller_or_equal_function(zval *result, zval *op1, zval *op2); ZEND_API zend_bool instanceof_function_ex(const zend_class_entry *instance_ce, const zend_class_entry *ce, zend_bool interfaces_only); ZEND_API zend_bool instanceof_function(const zend_class_entry *instance_ce, const zend_class_entry *ce); +ZEND_API zend_bool in_function_ex(zval *needle, zval *haystack); +ZEND_API int in_function(zval *result, zval *needle, zval *haystack); + /** * Checks whether the string "str" with length "length" is numeric. The value * of allow_errors determines whether it's required to be entirely numeric, or diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 39815b400f53e..decd47b373071 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -256,6 +256,21 @@ ZEND_VM_HANDLER(170, ZEND_SPACESHIP, CONST|TMPVAR|CV, CONST|TMPVAR|CV) ZEND_VM_NEXT_OPCODE(); } +ZEND_VM_HANDLER(171, ZEND_IN, CONST|TMPVAR|CV, CONST|TMPVAR|CV) +{ + USE_OPLINE + zend_free_op free_op1, free_op2; + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + GET_OP1_ZVAL_PTR(BP_VAR_R), + GET_OP2_ZVAL_PTR(BP_VAR_R)); + FREE_OP1(); + FREE_OP2(); + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + ZEND_VM_HANDLER(9, ZEND_BW_OR, CONST|TMPVAR|CV, CONST|TMPVAR|CV) { USE_OPLINE diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 90aa7111f0b44..4cd395b081de4 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -3939,6 +3939,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HA ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + EX_CONSTANT(opline->op1), + EX_CONSTANT(opline->op2)); + + + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -7053,6 +7068,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDL ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + EX_CONSTANT(opline->op1), + _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var)); + + + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -8205,6 +8235,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_H ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op2; + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + EX_CONSTANT(opline->op1), + _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2)); + + zval_ptr_dtor_nogc(free_op2); + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -25481,6 +25526,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDL ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var), + EX_CONSTANT(opline->op2)); + + + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -29933,6 +29993,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var), + _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var)); + + + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -32022,6 +32097,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HAND ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op2; + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var), + _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2)); + + zval_ptr_dtor_nogc(free_op2); + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -34456,6 +34546,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_H ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op1; + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1), + EX_CONSTANT(opline->op2)); + zval_ptr_dtor_nogc(free_op1); + + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -36291,6 +36396,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HAND ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op1; + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1), + _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var)); + zval_ptr_dtor_nogc(free_op1); + + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -36960,6 +37080,21 @@ static int ZEND_FASTCALL ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_ ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_IN_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op1, free_op2; + + SAVE_OPLINE(); + in_function(EX_VAR(opline->result.var), + _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1), + _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2)); + zval_ptr_dtor_nogc(free_op1); + zval_ptr_dtor_nogc(free_op2); + CHECK_EXCEPTION(); + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_BW_OR_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -41719,6 +41854,31 @@ void zend_init_opcodes_handlers(void) ZEND_SPACESHIP_SPEC_CV_TMPVAR_HANDLER, ZEND_NULL_HANDLER, ZEND_SPACESHIP_SPEC_CV_CV_HANDLER, + ZEND_IN_SPEC_CONST_CONST_HANDLER, + ZEND_IN_SPEC_CONST_TMPVAR_HANDLER, + ZEND_IN_SPEC_CONST_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_IN_SPEC_CONST_CV_HANDLER, + ZEND_IN_SPEC_TMPVAR_CONST_HANDLER, + ZEND_IN_SPEC_TMPVAR_TMPVAR_HANDLER, + ZEND_IN_SPEC_TMPVAR_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_IN_SPEC_TMPVAR_CV_HANDLER, + ZEND_IN_SPEC_TMPVAR_CONST_HANDLER, + ZEND_IN_SPEC_TMPVAR_TMPVAR_HANDLER, + ZEND_IN_SPEC_TMPVAR_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_IN_SPEC_TMPVAR_CV_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_IN_SPEC_CV_CONST_HANDLER, + ZEND_IN_SPEC_CV_TMPVAR_HANDLER, + ZEND_IN_SPEC_CV_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_IN_SPEC_CV_CV_HANDLER, ZEND_NULL_HANDLER }; zend_opcode_handlers = (opcode_handler_t*)labels; diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c index 991e56bc77aa5..7dd88e900bff4 100644 --- a/Zend/zend_vm_opcodes.c +++ b/Zend/zend_vm_opcodes.c @@ -21,7 +21,7 @@ #include #include -const char *zend_vm_opcodes_map[171] = { +const char *zend_vm_opcodes_map[172] = { "ZEND_NOP", "ZEND_ADD", "ZEND_SUB", @@ -193,6 +193,7 @@ const char *zend_vm_opcodes_map[171] = { "ZEND_BIND_GLOBAL", "ZEND_COALESCE", "ZEND_SPACESHIP", + "ZEND_IN", }; ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) { diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index 367e52150c0b9..684904481a720 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -190,5 +190,6 @@ END_EXTERN_C() #define ZEND_BIND_GLOBAL 168 #define ZEND_COALESCE 169 #define ZEND_SPACESHIP 170 +#define ZEND_IN 171 #endif diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c index 0922d6e8098f8..1366ee40adc48 100644 --- a/ext/opcache/Optimizer/block_pass.c +++ b/ext/opcache/Optimizer/block_pass.c @@ -971,6 +971,7 @@ static void zend_optimize_block(zend_code_block *block, zend_op_array *op_array, opline->opcode == ZEND_MOD || opline->opcode == ZEND_SL || opline->opcode == ZEND_SR || + opline->opcode == ZEND_IN || opline->opcode == ZEND_CONCAT || opline->opcode == ZEND_IS_EQUAL || opline->opcode == ZEND_IS_NOT_EQUAL || @@ -989,15 +990,15 @@ static void zend_optimize_block(zend_code_block *block, zend_op_array *op_array, zval result; int er; - if ((opline->opcode == ZEND_DIV || opline->opcode == ZEND_MOD) && - ((Z_TYPE(ZEND_OP2_LITERAL(opline)) == IS_LONG && - Z_LVAL(ZEND_OP2_LITERAL(opline)) == 0) || - (Z_TYPE(ZEND_OP2_LITERAL(opline)) == IS_DOUBLE && - Z_DVAL(ZEND_OP2_LITERAL(opline)) == 0.0))) { + if ((opline->opcode == ZEND_DIV || opline->opcode == ZEND_MOD) && + ((Z_TYPE(ZEND_OP2_LITERAL(opline)) == IS_LONG && + Z_LVAL(ZEND_OP2_LITERAL(opline)) == 0) || + (Z_TYPE(ZEND_OP2_LITERAL(opline)) == IS_DOUBLE && + Z_DVAL(ZEND_OP2_LITERAL(opline)) == 0.0))) { if (RESULT_USED(opline)) { SET_VAR_SOURCE(opline); } - opline++; + opline++; continue; } er = EG(error_reporting); diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index 990b845d4344d..5f982dcfb0ecb 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -54,6 +54,7 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) case ZEND_POW: case ZEND_SL: case ZEND_SR: + case ZEND_IN: case ZEND_CONCAT: case ZEND_IS_EQUAL: case ZEND_IS_NOT_EQUAL: diff --git a/tests/lang/operators/in_operator_array.phpt b/tests/lang/operators/in_operator_array.phpt new file mode 100644 index 0000000000000..562e83a003b9a --- /dev/null +++ b/tests/lang/operators/in_operator_array.phpt @@ -0,0 +1,67 @@ +--TEST-- +In operator tests for arrays and traversables +--FILE-- + +--EXPECT-- +bool(true) +bool(false) +bool(false) + +bool(false) +bool(true) + +bool(true) +bool(true) +bool(false) +bool(true) + +bool(true) +bool(false) +bool(false) +bool(false) +bool(false) + +bool(true) +bool(false) +bool(true) + +bool(true) +bool(false) diff --git a/tests/lang/operators/in_operator_string.phpt b/tests/lang/operators/in_operator_string.phpt new file mode 100644 index 0000000000000..2562624c62fe8 --- /dev/null +++ b/tests/lang/operators/in_operator_string.phpt @@ -0,0 +1,51 @@ +--TEST-- +In operator tests for strings +--FILE-- + +--EXPECTF-- +Warning: Invalid needle type null to haystack type string for in operator in %s on line %d + +Warning: Invalid needle type boolean to haystack type string for in operator in %s on line %d + +Warning: Invalid needle type boolean to haystack type string for in operator in %s on line %d + +- + +bool(false) +bool(false) +bool(false) + + +Warning: Invalid needle type null to haystack type string for in operator in %s on line %d +bool(false) + +bool(true) +bool(true) +bool(false) + +bool(true) diff --git a/tests/lang/operators/in_operator_traversable.phpt b/tests/lang/operators/in_operator_traversable.phpt new file mode 100644 index 0000000000000..bb5a00d86f5aa --- /dev/null +++ b/tests/lang/operators/in_operator_traversable.phpt @@ -0,0 +1,20 @@ +--TEST-- +In operator tests for traversables +--FILE-- + +--EXPECT-- +12bool(true) +123bool(false)