From: Dmitry Stogov Date: Sat, 26 Jul 2008 15:31:38 +0000 (+0000) Subject: . Added support for using static HEREDOCs to initialize static variables and class... X-Git-Tag: BEFORE_HEAD_NS_CHANGE~1032 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef5f3cfdf2b601850d60d2a6edb0d54e25ba4eae;p=php . Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt) . Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt) . Optimized interpolated strings to use one less opcode. (Matt) --- diff --git a/Zend/tests/bug35655.phpt b/Zend/tests/bug35655.phpt index f62838af05..bbb137799a 100755 --- a/Zend/tests/bug35655.phpt +++ b/Zend/tests/bug35655.phpt @@ -19,6 +19,6 @@ highlight_string($code); ?> --EXPECT-- -
<?php
  $x 
= <<<EOT
some string    
EOT
  
$y 2;
?> +
<?php
  $x 
= <<<EOT
some string    
EOT
  
$y 2;
?>
diff --git a/Zend/tests/heredoc_011.phpt b/Zend/tests/heredoc_011.phpt index 44cee19eea..d3b152ae62 100644 --- a/Zend/tests/heredoc_011.phpt +++ b/Zend/tests/heredoc_011.phpt @@ -1,5 +1,5 @@ --TEST-- -Heredocs can NOT be used as static scalars. +STATIC heredocs CAN be used as static scalars. --FILE-- ---EXPECTF-- -Parse error: parse error in %sheredoc_011.php on line %d +--EXPECT-- +If you DON'T see this, something's wrong. diff --git a/Zend/tests/nowdoc_013.phpt b/Zend/tests/nowdoc_013.phpt index 574d3d29a8..f4ee251749 100644 --- a/Zend/tests/nowdoc_013.phpt +++ b/Zend/tests/nowdoc_013.phpt @@ -21,6 +21,6 @@ highlight_string($code); ?> --EXPECT-- -<?php
  $x 
= <<<'EOT'
some string    
EOT
  
$y 2;
?> +<?php
  $x 
= <<<'EOT'
some string    
EOT
  
$y 2;
?>
diff --git a/Zend/tests/nowdoc_014.phpt b/Zend/tests/nowdoc_014.phpt index 120a96f46a..b8948699f8 100644 --- a/Zend/tests/nowdoc_014.phpt +++ b/Zend/tests/nowdoc_014.phpt @@ -1,5 +1,5 @@ --TEST-- -Highliting empty nowdoc +Highlighting empty nowdoc --INI-- highlight.string = #DD0000 highlight.comment = #FF8000 @@ -20,6 +20,6 @@ highlight_string($code); ?> --EXPECT-- -<?php
  $x 
= <<<'EOT'
EOT
  
$y 2;
?> +<?php
  $x 
= <<<'EOT'
EOT
  
$y 2;
?>
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 7057101554..7c5da606c1 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1078,20 +1078,6 @@ void zend_do_end_variable_parse(znode *variable, int type, int arg_offset TSRMLS } /* }}} */ -void zend_do_init_string(znode *result TSRMLS_DC) /* {{{ */ -{ - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); - - opline->opcode = ZEND_INIT_STRING; - opline->result.op_type = IS_TMP_VAR; - opline->result.u.var = get_temporary_variable(CG(active_op_array)); - opline->extended_value = CG(literal_type); - *result = opline->result; - SET_UNUSED(opline->op1); - SET_UNUSED(opline->op2); -} -/* }}} */ - void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC) /* {{{ */ { zend_op *opline; @@ -1111,45 +1097,35 @@ void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC) /* {{{ efree(Z_UNIVAL(op2->u.constant).v); return; } - opline->op1 = *op1; + + if (op1) { + opline->op1 = *op1; + opline->result = *op1; + } else { + SET_UNUSED(opline->op1); + opline->result.op_type = IS_TMP_VAR; + opline->result.u.var = get_temporary_variable(CG(active_op_array)); + } opline->op2 = *op2; - opline->op2.op_type = IS_CONST; - opline->result = opline->op1; + opline->extended_value = CG(literal_type); *result = opline->result; } /* }}} */ void zend_do_add_variable(znode *result, znode *op1, znode *op2 TSRMLS_DC) /* {{{ */ { - zend_op *opline; + zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); - if (op1->op_type == IS_CONST) { - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_INIT_STRING; - opline->result.op_type = IS_TMP_VAR; - opline->result.u.var = get_temporary_variable(CG(active_op_array)); - *result = opline->result; - SET_UNUSED(opline->op1); - SET_UNUSED(opline->op2); + opline->opcode = ZEND_ADD_VAR; - if (Z_STRLEN(op1->u.constant)>0) { - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_ADD_STRING; - opline->result = *result; - opline->op1 = *result; - opline->op2 = *op1; - opline->result = opline->op1; - } else { - zval_dtor(&op1->u.constant); - } + if (op1) { + opline->op1 = *op1; + opline->result = *op1; } else { - *result = *op1; + SET_UNUSED(opline->op1); + opline->result.op_type = IS_TMP_VAR; + opline->result.u.var = get_temporary_variable(CG(active_op_array)); } - - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_ADD_VAR; - opline->result = *result; - opline->op1 = *result; opline->op2 = *op2; opline->extended_value = CG(literal_type); *result = opline->result; @@ -4168,6 +4144,7 @@ void zend_do_shell_exec(znode *result, znode *cmd TSRMLS_DC) /* {{{ */ zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); switch (cmd->op_type) { + case IS_CONST: case IS_TMP_VAR: opline->opcode = ZEND_SEND_VAL; break; @@ -5153,7 +5130,6 @@ again: retval = T_ECHO; break; case T_END_HEREDOC: - case T_END_NOWDOC: efree(Z_STRVAL(zendlval->u.constant)); break; } diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index e2f09ccfda..b53db5c395 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -422,7 +422,6 @@ void zend_check_writable_variable(znode *variable); void zend_do_free(znode *op1 TSRMLS_DC); -void zend_do_init_string(znode *result TSRMLS_DC); void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC); void zend_do_add_variable(znode *result, znode *op1, znode *op2 TSRMLS_DC); diff --git a/Zend/zend_highlight.c b/Zend/zend_highlight.c index cccebe208c..f598eaf809 100644 --- a/Zend/zend_highlight.c +++ b/Zend/zend_highlight.c @@ -77,7 +77,6 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini int token_type; char *last_color = syntax_highlighter_ini->highlight_html; char *next_color; - int in_string=0; CG(literal_type) = IS_STRING; zend_printf(""); @@ -100,12 +99,10 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini case T_CLOSE_TAG: next_color = syntax_highlighter_ini->highlight_default; break; - case T_CONSTANT_ENCAPSED_STRING: - next_color = syntax_highlighter_ini->highlight_string; - break; case '"': + case T_ENCAPSED_AND_WHITESPACE: + case T_CONSTANT_ENCAPSED_STRING: next_color = syntax_highlighter_ini->highlight_string; - in_string = !in_string; break; case T_WHITESPACE: zend_html_puts(LANG_SCNG(yy_text), LANG_SCNG(yy_leng) TSRMLS_CC); /* no color needed */ @@ -113,9 +110,7 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini continue; break; default: - if (in_string) { - next_color = syntax_highlighter_ini->highlight_string; - } else if (Z_TYPE(token) == 0) { + if (Z_TYPE(token) == 0) { next_color = syntax_highlighter_ini->highlight_keyword; } else { next_color = syntax_highlighter_ini->highlight_default; @@ -134,7 +129,6 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini } switch (token_type) { case T_END_HEREDOC: - case T_END_NOWDOC: zend_html_puts(Z_STRVAL(token), Z_STRLEN(token) TSRMLS_CC); break; default: @@ -156,7 +150,7 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini efree(Z_UNIVAL(token).v); break; } - } else if (token_type == T_END_HEREDOC || token_type == T_END_NOWDOC) { + } else if (token_type == T_END_HEREDOC) { efree(Z_UNIVAL(token).v); } Z_TYPE(token) = 0; @@ -204,11 +198,7 @@ ZEND_API void zend_strip(TSRMLS_D) /* {{{ */ Z_TYPE(token) = 0; continue; - case EOF: - return; - case T_END_HEREDOC: - case T_END_NOWDOC: zend_write(LANG_SCNG(yy_text), LANG_SCNG(yy_leng)); efree(Z_STRVAL(token)); /* read the following character, either newline or ; */ diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 1c14da61fc..edbbf94971 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -23,7 +23,7 @@ /* * LALR shift/reduce conflicts and how they are resolved: * - * - 2 shift/reduce conflicts due to the dangeling elseif/else ambiguity. Solved by shift. + * - 2 shift/reduce conflicts due to the dangling elseif/else ambiguity. Solved by shift. * */ @@ -149,8 +149,6 @@ %token T_NAMESPACE %token T_NS_C %token T_DIR -%token T_START_NOWDOC -%token T_END_NOWDOC %% /* Rules */ @@ -645,7 +643,7 @@ expr_without_variable: | '@' { zend_do_begin_silence(&$1 TSRMLS_CC); } expr { zend_do_end_silence(&$1 TSRMLS_CC); $$ = $3; } | scalar { $$ = $1; } | T_ARRAY '(' array_pair_list ')' { $$ = $3; } - | '`' { CG(literal_type) = UG(unicode)?IS_UNICODE:IS_STRING; } encaps_list '`' { zend_do_shell_exec(&$$, &$3 TSRMLS_CC); } + | '`' { CG(literal_type) = UG(unicode)?IS_UNICODE:IS_STRING; } backticks_expr '`' { zend_do_shell_exec(&$$, &$3 TSRMLS_CC); } | T_PRINT expr { zend_do_print(&$$, &$2 TSRMLS_CC); } | function is_reference '(' { zend_do_begin_lambda_function_declaration(&$$, &$1, $2.op_type, 0 TSRMLS_CC); } parameter_list ')' lexical_vars '{' inner_statement_list '}' { zend_do_end_function_declaration(&$1 TSRMLS_CC); $$ = $4; } @@ -739,6 +737,12 @@ exit_expr: | '(' expr ')' { $$ = $2; } ; +backticks_expr: + /* empty */ { ZVAL_EMPTY_TEXT(&$$.u.constant); INIT_PZVAL(&$$.u.constant); $$.op_type = IS_CONST; } + | T_ENCAPSED_AND_WHITESPACE { $$ = $1; } + | encaps_list { $$ = $1; } +; + ctor_arguments: /* empty */ { Z_LVAL($$.u.constant)=0; } @@ -757,7 +761,13 @@ common_scalar: | T_METHOD_C { $$ = $1; } | T_FUNC_C { $$ = $1; } | T_NS_C { $$ = $1; } - | T_START_NOWDOC T_ENCAPSED_AND_WHITESPACE T_END_NOWDOC { $$ = $2; } + | start_heredoc T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = $2; } + | start_heredoc T_END_HEREDOC { if (CG(literal_type) == IS_UNICODE) { ZVAL_EMPTY_UNICODE(&$$.u.constant); } else { ZVAL_EMPTY_STRING(&$$.u.constant); } INIT_PZVAL(&$$.u.constant); $$.op_type = IS_CONST; } +; + +start_heredoc: + T_START_HEREDOC { CG(literal_type) = UG(unicode)?IS_UNICODE:IS_STRING; } + | T_BINARY_HEREDOC { CG(literal_type) = IS_STRING; } ; @@ -782,9 +792,8 @@ scalar: | class_constant { $$ = $1; } | common_scalar { $$ = $1; } | '"' { CG(literal_type) = UG(unicode)?IS_UNICODE:IS_STRING; } encaps_list '"' { $$ = $3; } - | T_START_HEREDOC { CG(literal_type) = UG(unicode)?IS_UNICODE:IS_STRING; } encaps_list T_END_HEREDOC { $$ = $3; } | T_BINARY_DOUBLE { CG(literal_type) = IS_STRING; } encaps_list '"' { $$ = $3; } - | T_BINARY_HEREDOC { CG(literal_type) = IS_STRING; } encaps_list T_END_HEREDOC { $$ = $3; } + | start_heredoc encaps_list T_END_HEREDOC { $$ = $2; } ; @@ -947,8 +956,8 @@ non_empty_array_pair_list: encaps_list: encaps_list encaps_var { zend_do_end_variable_parse(&$2, BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&$$, &$1, &$2 TSRMLS_CC); } | encaps_list T_ENCAPSED_AND_WHITESPACE { zend_do_add_string(&$$, &$1, &$2 TSRMLS_CC); } - | /* empty */ { zend_do_init_string(&$$ TSRMLS_CC); } - + | encaps_var { zend_do_end_variable_parse(&$1, BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&$$, NULL, &$1 TSRMLS_CC); } + | T_ENCAPSED_AND_WHITESPACE encaps_var { zend_do_add_string(&$$, NULL, &$1 TSRMLS_CC); zend_do_end_variable_parse(&$2, BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&$$, &$$, &$2 TSRMLS_CC); } ; diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index bfe6d8554a..204b6464de 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Tue Jul 8 16:24:44 2008 */ +/* Generated by re2c 0.13.5 on Sat Jul 26 19:05:04 2008 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -1362,63 +1362,51 @@ yymore_restart: { YYCTYPE yych; unsigned int yyaccept = 0; - if (YYGETCONDITION() < 8) { - if (YYGETCONDITION() < 4) { - if (YYGETCONDITION() < 2) { - if (YYGETCONDITION() < 1) { - goto yyc_ST_IN_SCRIPTING; - } else { - goto yyc_ST_LOOKING_FOR_PROPERTY; - } + if (YYGETCONDITION() < 6) { + if (YYGETCONDITION() < 3) { + if (YYGETCONDITION() < 1) { + goto yyc_ST_IN_SCRIPTING; } else { - if (YYGETCONDITION() < 3) { - goto yyc_ST_BACKQUOTE; + if (YYGETCONDITION() < 2) { + goto yyc_ST_LOOKING_FOR_PROPERTY; } else { - goto yyc_ST_DOUBLE_QUOTES; + goto yyc_ST_BACKQUOTE; } } } else { - if (YYGETCONDITION() < 6) { + if (YYGETCONDITION() < 4) { + goto yyc_ST_DOUBLE_QUOTES; + } else { if (YYGETCONDITION() < 5) { goto yyc_ST_HEREDOC; } else { goto yyc_ST_LOOKING_FOR_VARNAME; } - } else { - if (YYGETCONDITION() < 7) { - goto yyc_ST_VAR_OFFSET; - } else { - goto yyc_INITIAL; - } } } } else { - if (YYGETCONDITION() < 12) { - if (YYGETCONDITION() < 10) { - if (YYGETCONDITION() < 9) { - goto yyc_ST_ONE_LINE_COMMENT; - } else { - goto yyc_ST_COMMENT; - } + if (YYGETCONDITION() < 9) { + if (YYGETCONDITION() < 7) { + goto yyc_ST_VAR_OFFSET; } else { - if (YYGETCONDITION() < 11) { - goto yyc_ST_DOC_COMMENT; + if (YYGETCONDITION() < 8) { + goto yyc_INITIAL; } else { - goto yyc_ST_START_HEREDOC; + goto yyc_ST_ONE_LINE_COMMENT; } } } else { - if (YYGETCONDITION() < 14) { - if (YYGETCONDITION() < 13) { - goto yyc_ST_END_HEREDOC; + if (YYGETCONDITION() < 11) { + if (YYGETCONDITION() < 10) { + goto yyc_ST_COMMENT; } else { - goto yyc_ST_START_NOWDOC; + goto yyc_ST_DOC_COMMENT; } } else { - if (YYGETCONDITION() < 15) { - goto yyc_ST_NOWDOC; + if (YYGETCONDITION() < 12) { + goto yyc_ST_END_HEREDOC; } else { - goto yyc_ST_END_NOWDOC; + goto yyc_ST_NOWDOC; } } } @@ -1512,7 +1500,7 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1516 "Zend/zend_language_scanner.c" +#line 1504 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1542,7 +1530,7 @@ yy6: goto inline_char_handler; } } -#line 1546 "Zend/zend_language_scanner.c" +#line 1534 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; @@ -1561,7 +1549,7 @@ yy7: goto inline_char_handler; } } -#line 1565 "Zend/zend_language_scanner.c" +#line 1553 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1756,7 +1744,7 @@ yy35: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1760 "Zend/zend_language_scanner.c" +#line 1748 "Zend/zend_language_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; @@ -1795,7 +1783,7 @@ yy43: goto inline_char_handler; } } -#line 1799 "Zend/zend_language_scanner.c" +#line 1787 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); ++YYCURSOR; @@ -1813,7 +1801,7 @@ yy45: goto inline_char_handler; } } -#line 1817 "Zend/zend_language_scanner.c" +#line 1805 "Zend/zend_language_scanner.c" yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; @@ -1849,7 +1837,7 @@ yy51: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1853 "Zend/zend_language_scanner.c" +#line 1841 "Zend/zend_language_scanner.c" yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; @@ -1940,13 +1928,13 @@ yy56: yy57: YYDEBUG(57, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2564 "Zend/zend_language_scanner.l" +#line 2539 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_CURLY_OPEN; } -#line 1950 "Zend/zend_language_scanner.c" +#line 1938 "Zend/zend_language_scanner.c" yy58: YYDEBUG(58, *YYCURSOR); yyaccept = 1; @@ -1964,7 +1952,7 @@ yy59: yy60: YYDEBUG(60, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2598 "Zend/zend_language_scanner.l" +#line 2573 "Zend/zend_language_scanner.l" { if (CG(literal_type) == IS_UNICODE) { return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x60 /*'`'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC); @@ -1973,7 +1961,7 @@ yy60: return T_ENCAPSED_AND_WHITESPACE; } } -#line 1977 "Zend/zend_language_scanner.c" +#line 1965 "Zend/zend_language_scanner.c" yy61: YYDEBUG(61, *YYCURSOR); ++YYCURSOR; @@ -1985,12 +1973,12 @@ yy62: ++YYCURSOR; YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2759 "Zend/zend_language_scanner.l" +#line 2670 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1994 "Zend/zend_language_scanner.c" +#line 1982 "Zend/zend_language_scanner.c" yy64: YYDEBUG(64, *YYCURSOR); ++YYCURSOR; @@ -2078,7 +2066,7 @@ yy68: yy70: YYDEBUG(70, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2607 "Zend/zend_language_scanner.l" +#line 2582 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); @@ -2089,7 +2077,7 @@ yy70: return T_ENCAPSED_AND_WHITESPACE; } } -#line 2093 "Zend/zend_language_scanner.c" +#line 2081 "Zend/zend_language_scanner.c" yy71: YYDEBUG(71, *YYCURSOR); yych = *++YYCURSOR; @@ -2133,7 +2121,7 @@ yy76: } return T_VARIABLE; } -#line 2137 "Zend/zend_language_scanner.c" +#line 2125 "Zend/zend_language_scanner.c" yy77: YYDEBUG(77, *YYCURSOR); ++YYCURSOR; @@ -2144,7 +2132,7 @@ yy77: yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2148 "Zend/zend_language_scanner.c" +#line 2136 "Zend/zend_language_scanner.c" yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; @@ -2168,7 +2156,7 @@ yy80: } return T_VARIABLE; } -#line 2172 "Zend/zend_language_scanner.c" +#line 2160 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -2199,7 +2187,7 @@ yy83: } return T_VARIABLE; } -#line 2203 "Zend/zend_language_scanner.c" +#line 2191 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_COMMENT: @@ -2260,7 +2248,7 @@ yy87: { yymore(); } -#line 2264 "Zend/zend_language_scanner.c" +#line 2252 "Zend/zend_language_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); ++YYCURSOR; @@ -2271,7 +2259,7 @@ yy90: { yymore(); } -#line 2275 "Zend/zend_language_scanner.c" +#line 2263 "Zend/zend_language_scanner.c" yy92: YYDEBUG(92, *YYCURSOR); ++YYCURSOR; @@ -2283,7 +2271,7 @@ yy92: BEGIN(ST_IN_SCRIPTING); return T_COMMENT; } -#line 2287 "Zend/zend_language_scanner.c" +#line 2275 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOC_COMMENT: @@ -2344,7 +2332,7 @@ yy96: { yymore(); } -#line 2348 "Zend/zend_language_scanner.c" +#line 2336 "Zend/zend_language_scanner.c" yy99: YYDEBUG(99, *YYCURSOR); ++YYCURSOR; @@ -2355,7 +2343,7 @@ yy99: { yymore(); } -#line 2359 "Zend/zend_language_scanner.c" +#line 2347 "Zend/zend_language_scanner.c" yy101: YYDEBUG(101, *YYCURSOR); ++YYCURSOR; @@ -2374,7 +2362,7 @@ yy101: BEGIN(ST_IN_SCRIPTING); return T_DOC_COMMENT; } -#line 2378 "Zend/zend_language_scanner.c" +#line 2366 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -2461,13 +2449,13 @@ yy106: yy107: YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2564 "Zend/zend_language_scanner.l" +#line 2539 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_CURLY_OPEN; } -#line 2471 "Zend/zend_language_scanner.c" +#line 2459 "Zend/zend_language_scanner.c" yy108: YYDEBUG(108, *YYCURSOR); yyaccept = 1; @@ -2486,7 +2474,7 @@ yy109: yy110: YYDEBUG(110, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2571 "Zend/zend_language_scanner.l" +#line 2546 "Zend/zend_language_scanner.l" { if (CG(literal_type) == IS_UNICODE) { return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x22 /*'"'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC); @@ -2495,7 +2483,7 @@ yy110: return T_ENCAPSED_AND_WHITESPACE; } } -#line 2499 "Zend/zend_language_scanner.c" +#line 2487 "Zend/zend_language_scanner.c" yy111: YYDEBUG(111, *YYCURSOR); ++YYCURSOR; @@ -2507,12 +2495,12 @@ yy112: ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2753 "Zend/zend_language_scanner.l" +#line 2664 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 2516 "Zend/zend_language_scanner.c" +#line 2504 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); ++YYCURSOR; @@ -2603,7 +2591,7 @@ yy118: yy120: YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2586 "Zend/zend_language_scanner.l" +#line 2561 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); @@ -2614,7 +2602,7 @@ yy120: return T_ENCAPSED_AND_WHITESPACE; } } -#line 2618 "Zend/zend_language_scanner.c" +#line 2606 "Zend/zend_language_scanner.c" yy121: YYDEBUG(121, *YYCURSOR); yych = *++YYCURSOR; @@ -2658,7 +2646,7 @@ yy126: } return T_VARIABLE; } -#line 2662 "Zend/zend_language_scanner.c" +#line 2650 "Zend/zend_language_scanner.c" yy127: YYDEBUG(127, *YYCURSOR); ++YYCURSOR; @@ -2669,7 +2657,7 @@ yy127: yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2673 "Zend/zend_language_scanner.c" +#line 2661 "Zend/zend_language_scanner.c" yy129: YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; @@ -2693,7 +2681,7 @@ yy130: } return T_VARIABLE; } -#line 2697 "Zend/zend_language_scanner.c" +#line 2685 "Zend/zend_language_scanner.c" yy132: YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; @@ -2724,7 +2712,7 @@ yy133: } return T_VARIABLE; } -#line 2728 "Zend/zend_language_scanner.c" +#line 2716 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -2735,35 +2723,19 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(138, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2553 "Zend/zend_language_scanner.l" +#line 2525 "Zend/zend_language_scanner.l" { - SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc); - SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len); + YYCURSOR += CG(heredoc_len) - 1; + yyleng = CG(heredoc_len); + + Z_STRVAL_P(zendlval) = CG(heredoc); + Z_STRLEN_P(zendlval) = CG(heredoc_len); CG(heredoc) = NULL; CG(heredoc_len) = 0; BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 2748 "Zend/zend_language_scanner.c" -/* *********************************** */ -yyc_ST_END_NOWDOC: - YYDEBUG(139, *YYCURSOR); - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(141, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(142, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2742 "Zend/zend_language_scanner.l" - { - SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc); - SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len); - CG(heredoc) = NULL; - CG(heredoc_len) = 0; - BEGIN(ST_IN_SCRIPTING); - return T_END_NOWDOC; -} -#line 2767 "Zend/zend_language_scanner.c" +#line 2739 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -2801,26 +2773,26 @@ yyc_ST_HEREDOC: 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, }; - YYDEBUG(143, *YYCURSOR); + YYDEBUG(139, *YYCURSOR); YYFILL(2); yych = *(YYMARKER = YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '[') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - if (yych <= '@') goto yy146; - goto yy151; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + if (yych <= '@') goto yy142; + goto yy147; } else { - if (yych <= '\\') goto yy153; - if (yych == '{') goto yy147; - goto yy151; + if (yych <= '\\') goto yy149; + if (yych == '{') goto yy143; + goto yy147; } -yy145: - YYDEBUG(145, *YYCURSOR); +yy141: + YYDEBUG(141, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2626 "Zend/zend_language_scanner.l" +#line 2601 "Zend/zend_language_scanner.l" { if (CG(literal_type) == IS_UNICODE) { return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC); @@ -2829,310 +2801,310 @@ yy145: return T_ENCAPSED_AND_WHITESPACE; } } -#line 2833 "Zend/zend_language_scanner.c" -yy146: - YYDEBUG(146, *YYCURSOR); +#line 2805 "Zend/zend_language_scanner.c" +yy142: + YYDEBUG(142, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\\') { if (yych <= '@') { - if (yych == '$') goto yy191; - goto yy150; + if (yych == '$') goto yy187; + goto yy146; } else { - if (yych <= 'Z') goto yy195; - if (yych <= '[') goto yy150; - goto yy184; + if (yych <= 'Z') goto yy191; + if (yych <= '[') goto yy146; + goto yy180; } } else { if (yych <= '`') { - if (yych == '_') goto yy195; - goto yy150; + if (yych == '_') goto yy191; + goto yy146; } else { - if (yych <= 'z') goto yy195; - if (yych <= '{') goto yy198; - if (yych <= '~') goto yy150; - goto yy195; + if (yych <= 'z') goto yy191; + if (yych <= '{') goto yy194; + if (yych <= '~') goto yy146; + goto yy191; } } -yy147: - YYDEBUG(147, *YYCURSOR); +yy143: + YYDEBUG(143, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy153; - } else { - if (yych == '{') goto yy193; + if (yych <= '[') goto yy145; goto yy149; + } else { + if (yych == '{') goto yy189; + goto yy145; } } -yy148: - YYDEBUG(148, *YYCURSOR); +yy144: + YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2564 "Zend/zend_language_scanner.l" +#line 2539 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_CURLY_OPEN; } -#line 2885 "Zend/zend_language_scanner.c" -yy149: - YYDEBUG(149, *YYCURSOR); +#line 2857 "Zend/zend_language_scanner.c" +yy145: + YYDEBUG(145, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy150: - YYDEBUG(150, *YYCURSOR); +yy146: + YYDEBUG(146, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '[') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - if (yych <= '@') goto yy190; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + if (yych <= '@') goto yy186; } else { - if (yych <= '\\') goto yy153; - if (yych == '{') goto yy189; + if (yych <= '\\') goto yy149; + if (yych == '{') goto yy185; } -yy151: - YYDEBUG(151, *YYCURSOR); +yy147: + YYDEBUG(147, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(152, *YYCURSOR); + YYDEBUG(148, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '@') { if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy183; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy179; } else { if (yych <= '9') { - if (yych <= '/') goto yy149; - goto yy151; + if (yych <= '/') goto yy145; + goto yy147; } else { - if (yych == ';') goto yy181; - goto yy149; + if (yych == ';') goto yy177; + goto yy145; } } } else { if (yych <= '_') { if (yych <= '[') { - if (yych <= 'Z') goto yy151; - goto yy149; + if (yych <= 'Z') goto yy147; + goto yy145; } else { - if (yych <= '\\') goto yy153; - if (yych <= '^') goto yy149; - goto yy151; + if (yych <= '\\') goto yy149; + if (yych <= '^') goto yy145; + goto yy147; } } else { if (yych <= 'z') { - if (yych <= '`') goto yy149; - goto yy151; + if (yych <= '`') goto yy145; + goto yy147; } else { - if (yych <= '{') goto yy182; - if (yych <= '~') goto yy149; - goto yy151; + if (yych <= '{') goto yy178; + if (yych <= '~') goto yy145; + goto yy147; } } } -yy153: - YYDEBUG(153, *YYCURSOR); +yy149: + YYDEBUG(149, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } - if (yych == '\r') goto yy156; - goto yy149; -yy154: - YYDEBUG(154, *YYCURSOR); + if (yych == '\r') goto yy152; + goto yy145; +yy150: + YYDEBUG(150, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(155, *YYCURSOR); + YYDEBUG(151, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '[') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - if (yych <= '@') goto yy162; - goto yy158; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + if (yych <= '@') goto yy158; + goto yy154; } else { - if (yych <= '\\') goto yy163; - if (yych == '{') goto yy160; - goto yy158; + if (yych <= '\\') goto yy159; + if (yych == '{') goto yy156; + goto yy154; } -yy156: - YYDEBUG(156, *YYCURSOR); +yy152: + YYDEBUG(152, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(157, *YYCURSOR); + YYDEBUG(153, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '[') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - if (yych <= '@') goto yy162; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + if (yych <= '@') goto yy158; } else { - if (yych <= '\\') goto yy163; - if (yych == '{') goto yy160; + if (yych <= '\\') goto yy159; + if (yych == '{') goto yy156; } -yy158: - YYDEBUG(158, *YYCURSOR); +yy154: + YYDEBUG(154, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(159, *YYCURSOR); + YYDEBUG(155, *YYCURSOR); if (yych <= ';') { if (yych <= '#') { if (yych <= '\n') { - if (yych <= '\t') goto yy149; - goto yy174; + if (yych <= '\t') goto yy145; + goto yy170; } else { - if (yych == '\r') goto yy174; - goto yy149; + if (yych == '\r') goto yy170; + goto yy145; } } else { if (yych <= '/') { - if (yych <= '$') goto yy173; - goto yy149; + if (yych <= '$') goto yy169; + goto yy145; } else { - if (yych <= '9') goto yy158; - if (yych <= ':') goto yy149; - goto yy170; + if (yych <= '9') goto yy154; + if (yych <= ':') goto yy145; + goto yy166; } } } else { if (yych <= '^') { if (yych <= 'Z') { - if (yych <= '@') goto yy149; - goto yy158; + if (yych <= '@') goto yy145; + goto yy154; } else { - if (yych == '\\') goto yy171; - goto yy149; + if (yych == '\\') goto yy167; + goto yy145; } } else { if (yych <= 'z') { - if (yych == '`') goto yy149; - goto yy158; + if (yych == '`') goto yy145; + goto yy154; } else { - if (yych <= '{') goto yy172; - if (yych <= '~') goto yy149; - goto yy158; + if (yych <= '{') goto yy168; + if (yych <= '~') goto yy145; + goto yy154; } } } -yy160: - YYDEBUG(160, *YYCURSOR); +yy156: + YYDEBUG(156, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy163; + if (yych <= '[') goto yy145; + goto yy159; } else { - if (yych == '{') goto yy168; - goto yy149; + if (yych == '{') goto yy164; + goto yy145; } } -yy161: - YYDEBUG(161, *YYCURSOR); +yy157: + YYDEBUG(157, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { - goto yy145; + goto yy141; } else { - goto yy148; + goto yy144; } } else { if (yyaccept <= 2) { - goto yy167; + goto yy163; } else { - goto yy197; + goto yy193; } } -yy162: - YYDEBUG(162, *YYCURSOR); +yy158: + YYDEBUG(158, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy165; - } else { - if (yych == '\\') goto yy164; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; goto yy161; + } else { + if (yych == '\\') goto yy160; + goto yy157; } -yy163: - YYDEBUG(163, *YYCURSOR); +yy159: + YYDEBUG(159, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } - if (yych == '\r') goto yy156; - goto yy149; -yy164: - YYDEBUG(164, *YYCURSOR); + if (yych == '\r') goto yy152; + goto yy145; +yy160: + YYDEBUG(160, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } - if (yych == '\r') goto yy156; - goto yy149; -yy165: - YYDEBUG(165, *YYCURSOR); + if (yych == '\r') goto yy152; + goto yy145; +yy161: + YYDEBUG(161, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(166, *YYCURSOR); + YYDEBUG(162, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy165; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + goto yy161; } else { - if (yych == '\\') goto yy164; + if (yych == '\\') goto yy160; } -yy167: - YYDEBUG(167, *YYCURSOR); +yy163: + YYDEBUG(163, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2635 "Zend/zend_language_scanner.l" +#line 2610 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); @@ -3143,106 +3115,106 @@ yy167: return T_ENCAPSED_AND_WHITESPACE; } } -#line 3147 "Zend/zend_language_scanner.c" -yy168: - YYDEBUG(168, *YYCURSOR); +#line 3119 "Zend/zend_language_scanner.c" +yy164: + YYDEBUG(164, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(169, *YYCURSOR); + YYDEBUG(165, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy167; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy163; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy163; + if (yych <= '[') goto yy145; + goto yy159; } else { - if (yych == '{') goto yy168; - goto yy149; + if (yych == '{') goto yy164; + goto yy145; } } -yy170: - YYDEBUG(170, *YYCURSOR); +yy166: + YYDEBUG(166, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yych <= '#') { if (yych <= '\n') { - if (yych <= '\t') goto yy149; - goto yy174; + if (yych <= '\t') goto yy145; + goto yy170; } else { - if (yych == '\r') goto yy174; - goto yy149; + if (yych == '\r') goto yy170; + goto yy145; } } else { if (yych <= '\\') { - if (yych <= '$') goto yy173; - if (yych <= '[') goto yy149; + if (yych <= '$') goto yy169; + if (yych <= '[') goto yy145; } else { - if (yych == '{') goto yy172; - goto yy149; + if (yych == '{') goto yy168; + goto yy145; } } -yy171: - YYDEBUG(171, *YYCURSOR); +yy167: + YYDEBUG(167, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } - if (yych == '\r') goto yy156; - goto yy149; -yy172: - YYDEBUG(172, *YYCURSOR); + if (yych == '\r') goto yy152; + goto yy145; +yy168: + YYDEBUG(168, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy161; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy157; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy171; + if (yych <= '[') goto yy145; + goto yy167; } else { - if (yych == '{') goto yy179; - goto yy149; + if (yych == '{') goto yy175; + goto yy145; } } -yy173: - YYDEBUG(173, *YYCURSOR); +yy169: + YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy176; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + goto yy172; } else { - if (yych == '\\') goto yy178; - goto yy161; + if (yych == '\\') goto yy174; + goto yy157; } -yy174: - YYDEBUG(174, *YYCURSOR); +yy170: + YYDEBUG(170, *YYCURSOR); ++YYCURSOR; - YYDEBUG(175, *YYCURSOR); + YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2508 "Zend/zend_language_scanner.l" +#line 2483 "Zend/zend_language_scanner.l" { char *end = yytext + yyleng - 1; @@ -3264,12 +3236,9 @@ yy174: len--; /* Windows newline */ } - /* Go back before last label char, to match in ST_END_HEREDOC state */ - yyless(yyleng - 2); - - /* Subtract the remaining label length. yyleng must include newline - * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) - 1; + /* Go back before label, to match in ST_END_HEREDOC state. yytext will include + * newline before label, for zend_highlight/strip, tokenizer, etc. */ + yyless(yyleng - CG(heredoc_len) - 1); /* 1 for newline after label */ CG(increment_lineno) = 1; /* For newline before label */ BEGIN(ST_END_HEREDOC); @@ -3287,265 +3256,265 @@ yy174: yymore(); } } -#line 3291 "Zend/zend_language_scanner.c" -yy176: - YYDEBUG(176, *YYCURSOR); +#line 3260 "Zend/zend_language_scanner.c" +yy172: + YYDEBUG(172, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(177, *YYCURSOR); + YYDEBUG(173, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy176; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + goto yy172; } else { - if (yych != '\\') goto yy167; + if (yych != '\\') goto yy163; } -yy178: - YYDEBUG(178, *YYCURSOR); +yy174: + YYDEBUG(174, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } - if (yych == '\r') goto yy156; - goto yy149; -yy179: - YYDEBUG(179, *YYCURSOR); + if (yych == '\r') goto yy152; + goto yy145; +yy175: + YYDEBUG(175, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(180, *YYCURSOR); + YYDEBUG(176, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy167; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy163; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy171; + if (yych <= '[') goto yy145; + goto yy167; } else { - if (yych == '{') goto yy179; - goto yy149; + if (yych == '{') goto yy175; + goto yy145; } } -yy181: - YYDEBUG(181, *YYCURSOR); +yy177: + YYDEBUG(177, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '[') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - if (yych <= '@') goto yy183; - goto yy151; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + if (yych <= '@') goto yy179; + goto yy147; } else { - if (yych <= '\\') goto yy153; - if (yych != '{') goto yy151; + if (yych <= '\\') goto yy149; + if (yych != '{') goto yy147; } -yy182: - YYDEBUG(182, *YYCURSOR); +yy178: + YYDEBUG(178, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy161; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy157; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy153; - } else { - if (yych == '{') goto yy187; + if (yych <= '[') goto yy145; goto yy149; + } else { + if (yych == '{') goto yy183; + goto yy145; } } -yy183: - YYDEBUG(183, *YYCURSOR); +yy179: + YYDEBUG(179, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy185; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + goto yy181; } else { - if (yych != '\\') goto yy161; + if (yych != '\\') goto yy157; } -yy184: - YYDEBUG(184, *YYCURSOR); +yy180: + YYDEBUG(180, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } - if (yych == '\r') goto yy156; - goto yy149; -yy185: - YYDEBUG(185, *YYCURSOR); + if (yych == '\r') goto yy152; + goto yy145; +yy181: + YYDEBUG(181, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(186, *YYCURSOR); + YYDEBUG(182, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy185; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + goto yy181; } else { - if (yych == '\\') goto yy184; - goto yy167; + if (yych == '\\') goto yy180; + goto yy163; } -yy187: - YYDEBUG(187, *YYCURSOR); +yy183: + YYDEBUG(183, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(188, *YYCURSOR); + YYDEBUG(184, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy167; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy163; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy153; - } else { - if (yych == '{') goto yy187; + if (yych <= '[') goto yy145; goto yy149; + } else { + if (yych == '{') goto yy183; + goto yy145; } } -yy189: - YYDEBUG(189, *YYCURSOR); +yy185: + YYDEBUG(185, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy161; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy157; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy153; - } else { - if (yych == '{') goto yy193; + if (yych <= '[') goto yy145; goto yy149; + } else { + if (yych == '{') goto yy189; + goto yy145; } } -yy190: - YYDEBUG(190, *YYCURSOR); +yy186: + YYDEBUG(186, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; } else { - if (yych == '\\') goto yy184; - goto yy161; + if (yych == '\\') goto yy180; + goto yy157; } -yy191: - YYDEBUG(191, *YYCURSOR); +yy187: + YYDEBUG(187, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(192, *YYCURSOR); + YYDEBUG(188, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy149; + goto yy145; } if (yych <= '@') { - if (yych <= '\f') goto yy154; - if (yych <= '\r') goto yy156; - goto yy191; + if (yych <= '\f') goto yy150; + if (yych <= '\r') goto yy152; + goto yy187; } else { - if (yych == '\\') goto yy184; - goto yy167; + if (yych == '\\') goto yy180; + goto yy163; } -yy193: - YYDEBUG(193, *YYCURSOR); +yy189: + YYDEBUG(189, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(194, *YYCURSOR); + YYDEBUG(190, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy150; } if (yych <= '$') { - if (yych == '\r') goto yy156; - if (yych <= '#') goto yy149; - goto yy167; + if (yych == '\r') goto yy152; + if (yych <= '#') goto yy145; + goto yy163; } else { if (yych <= '\\') { - if (yych <= '[') goto yy149; - goto yy153; - } else { - if (yych == '{') goto yy193; + if (yych <= '[') goto yy145; goto yy149; + } else { + if (yych == '{') goto yy189; + goto yy145; } } -yy195: - YYDEBUG(195, *YYCURSOR); +yy191: + YYDEBUG(191, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(196, *YYCURSOR); + YYDEBUG(192, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych == '-') goto yy200; + if (yych == '-') goto yy196; } else { - if (yych <= '9') goto yy195; - if (yych >= 'A') goto yy195; + if (yych <= '9') goto yy191; + if (yych >= 'A') goto yy191; } } else { if (yych <= '_') { - if (yych <= '[') goto yy201; - if (yych >= '_') goto yy195; + if (yych <= '[') goto yy197; + if (yych >= '_') goto yy191; } else { - if (yych <= '`') goto yy197; - if (yych <= 'z') goto yy195; - if (yych >= 0x7F) goto yy195; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy191; + if (yych >= 0x7F) goto yy191; } } -yy197: - YYDEBUG(197, *YYCURSOR); +yy193: + YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2225 "Zend/zend_language_scanner.l" { @@ -3557,27 +3526,27 @@ yy197: } return T_VARIABLE; } -#line 3561 "Zend/zend_language_scanner.c" -yy198: - YYDEBUG(198, *YYCURSOR); +#line 3530 "Zend/zend_language_scanner.c" +yy194: + YYDEBUG(194, *YYCURSOR); ++YYCURSOR; - YYDEBUG(199, *YYCURSOR); + YYDEBUG(195, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1858 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 3572 "Zend/zend_language_scanner.c" -yy200: - YYDEBUG(200, *YYCURSOR); +#line 3541 "Zend/zend_language_scanner.c" +yy196: + YYDEBUG(196, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy203; - goto yy161; -yy201: - YYDEBUG(201, *YYCURSOR); + if (yych == '>') goto yy199; + goto yy157; +yy197: + YYDEBUG(197, *YYCURSOR); ++YYCURSOR; - YYDEBUG(202, *YYCURSOR); + YYDEBUG(198, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2212 "Zend/zend_language_scanner.l" { @@ -3592,23 +3561,23 @@ yy201: } return T_VARIABLE; } -#line 3596 "Zend/zend_language_scanner.c" -yy203: - YYDEBUG(203, *YYCURSOR); +#line 3565 "Zend/zend_language_scanner.c" +yy199: + YYDEBUG(199, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy161; - if (yych <= 'Z') goto yy204; - if (yych <= '^') goto yy161; + if (yych <= '@') goto yy157; + if (yych <= 'Z') goto yy200; + if (yych <= '^') goto yy157; } else { - if (yych <= '`') goto yy161; - if (yych <= 'z') goto yy204; - if (yych <= '~') goto yy161; + if (yych <= '`') goto yy157; + if (yych <= 'z') goto yy200; + if (yych <= '~') goto yy157; } -yy204: - YYDEBUG(204, *YYCURSOR); +yy200: + YYDEBUG(200, *YYCURSOR); ++YYCURSOR; - YYDEBUG(205, *YYCURSOR); + YYDEBUG(201, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2197 "Zend/zend_language_scanner.l" { @@ -3623,7 +3592,7 @@ yy204: } return T_VARIABLE; } -#line 3627 "Zend/zend_language_scanner.c" +#line 3596 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -3696,7 +3665,7 @@ yyc_ST_IN_SCRIPTING: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(206, *YYCURSOR); + YYDEBUG(202, *YYCURSOR); YYFILL(16); yych = *YYCURSOR; YYDEBUG(-1, yych); @@ -3730,32 +3699,32 @@ yyc_ST_IN_SCRIPTING: case 0x1D: case 0x1E: case 0x1F: - case '\\': goto yy266; + case '\\': goto yy262; case '\t': case '\n': case '\r': - case ' ': goto yy224; - case '!': goto yy235; - case '"': goto yy260; - case '#': goto yy258; - case '$': goto yy247; - case '%': goto yy241; - case '&': goto yy242; - case '\'': goto yy262; - case '(': goto yy229; + case ' ': goto yy220; + case '!': goto yy231; + case '"': goto yy256; + case '#': goto yy254; + case '$': goto yy243; + case '%': goto yy237; + case '&': goto yy238; + case '\'': goto yy258; + case '(': goto yy225; case ')': case ',': case ';': case '@': case '[': case ']': - case '~': goto yy248; - case '*': goto yy238; - case '+': goto yy234; - case '-': goto yy222; - case '.': goto yy240; - case '/': goto yy239; - case '0': goto yy254; + case '~': goto yy244; + case '*': goto yy234; + case '+': goto yy230; + case '-': goto yy218; + case '.': goto yy236; + case '/': goto yy235; + case '0': goto yy250; case '1': case '2': case '3': @@ -3764,79 +3733,79 @@ yyc_ST_IN_SCRIPTING: case '6': case '7': case '8': - case '9': goto yy256; - case ':': goto yy226; - case '<': goto yy236; - case '=': goto yy232; - case '>': goto yy237; - case '?': goto yy249; + case '9': goto yy252; + case ':': goto yy222; + case '<': goto yy232; + case '=': goto yy228; + case '>': goto yy233; + case '?': goto yy245; case 'A': - case 'a': goto yy217; + case 'a': goto yy213; case 'B': - case 'b': goto yy219; + case 'b': goto yy215; case 'C': - case 'c': goto yy212; + case 'c': goto yy208; case 'D': - case 'd': goto yy210; + case 'd': goto yy206; case 'E': - case 'e': goto yy208; + case 'e': goto yy204; case 'F': - case 'f': goto yy211; + case 'f': goto yy207; case 'G': - case 'g': goto yy220; + case 'g': goto yy216; case 'I': - case 'i': goto yy215; + case 'i': goto yy211; case 'L': - case 'l': goto yy233; + case 'l': goto yy229; case 'N': - case 'n': goto yy227; + case 'n': goto yy223; case 'O': - case 'o': goto yy245; + case 'o': goto yy241; case 'P': - case 'p': goto yy221; + case 'p': goto yy217; case 'R': - case 'r': goto yy213; + case 'r': goto yy209; case 'S': - case 's': goto yy218; + case 's': goto yy214; case 'T': - case 't': goto yy214; + case 't': goto yy210; case 'U': - case 'u': goto yy230; + case 'u': goto yy226; case 'V': - case 'v': goto yy228; + case 'v': goto yy224; case 'W': - case 'w': goto yy216; + case 'w': goto yy212; case 'X': - case 'x': goto yy246; - case '^': goto yy244; - case '_': goto yy231; - case '`': goto yy264; - case '{': goto yy250; - case '|': goto yy243; - case '}': goto yy252; - default: goto yy257; + case 'x': goto yy242; + case '^': goto yy240; + case '_': goto yy227; + case '`': goto yy260; + case '{': goto yy246; + case '|': goto yy239; + case '}': goto yy248; + default: goto yy253; } -yy208: - YYDEBUG(208, *YYCURSOR); +yy204: + YYDEBUG(204, *YYCURSOR); ++YYCURSOR; YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { case 'C': - case 'c': goto yy837; + case 'c': goto yy818; case 'L': - case 'l': goto yy838; + case 'l': goto yy819; case 'M': - case 'm': goto yy839; + case 'm': goto yy820; case 'N': - case 'n': goto yy840; + case 'n': goto yy821; case 'V': - case 'v': goto yy841; + case 'v': goto yy822; case 'X': - case 'x': goto yy842; - default: goto yy284; + case 'x': goto yy823; + default: goto yy280; } -yy209: - YYDEBUG(209, *YYCURSOR); +yy205: + YYDEBUG(205, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2253 "Zend/zend_language_scanner.l" { @@ -3848,265 +3817,265 @@ yy209: } return T_STRING; } -#line 3852 "Zend/zend_language_scanner.c" -yy210: - YYDEBUG(210, *YYCURSOR); +#line 3821 "Zend/zend_language_scanner.c" +yy206: + YYDEBUG(206, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'E') goto yy819; - goto yy284; + if (yych == 'E') goto yy800; + goto yy280; } else { - if (yych <= 'I') goto yy820; - if (yych <= 'N') goto yy284; - goto yy821; + if (yych <= 'I') goto yy801; + if (yych <= 'N') goto yy280; + goto yy802; } } else { if (yych <= 'h') { - if (yych == 'e') goto yy819; - goto yy284; + if (yych == 'e') goto yy800; + goto yy280; } else { - if (yych <= 'i') goto yy820; - if (yych == 'o') goto yy821; - goto yy284; + if (yych <= 'i') goto yy801; + if (yych == 'o') goto yy802; + goto yy280; } } -yy211: - YYDEBUG(211, *YYCURSOR); +yy207: + YYDEBUG(207, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'N') { - if (yych == 'I') goto yy798; - goto yy284; + if (yych == 'I') goto yy779; + goto yy280; } else { - if (yych <= 'O') goto yy799; - if (yych <= 'T') goto yy284; - goto yy800; + if (yych <= 'O') goto yy780; + if (yych <= 'T') goto yy280; + goto yy781; } } else { if (yych <= 'n') { - if (yych == 'i') goto yy798; - goto yy284; + if (yych == 'i') goto yy779; + goto yy280; } else { - if (yych <= 'o') goto yy799; - if (yych == 'u') goto yy800; - goto yy284; + if (yych <= 'o') goto yy780; + if (yych == 'u') goto yy781; + goto yy280; } } -yy212: - YYDEBUG(212, *YYCURSOR); +yy208: + YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'K') { - if (yych == 'A') goto yy770; - goto yy284; + if (yych == 'A') goto yy751; + goto yy280; } else { - if (yych <= 'L') goto yy771; - if (yych <= 'N') goto yy284; - goto yy772; + if (yych <= 'L') goto yy752; + if (yych <= 'N') goto yy280; + goto yy753; } } else { if (yych <= 'k') { - if (yych == 'a') goto yy770; - goto yy284; + if (yych == 'a') goto yy751; + goto yy280; } else { - if (yych <= 'l') goto yy771; - if (yych == 'o') goto yy772; - goto yy284; + if (yych <= 'l') goto yy752; + if (yych == 'o') goto yy753; + goto yy280; } } -yy213: - YYDEBUG(213, *YYCURSOR); +yy209: + YYDEBUG(209, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy752; - if (yych == 'e') goto yy752; - goto yy284; -yy214: - YYDEBUG(214, *YYCURSOR); + if (yych == 'E') goto yy733; + if (yych == 'e') goto yy733; + goto yy280; +yy210: + YYDEBUG(210, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'H') goto yy744; - if (yych <= 'Q') goto yy284; - goto yy745; + if (yych == 'H') goto yy725; + if (yych <= 'Q') goto yy280; + goto yy726; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy284; - goto yy744; + if (yych <= 'g') goto yy280; + goto yy725; } else { - if (yych == 'r') goto yy745; - goto yy284; + if (yych == 'r') goto yy726; + goto yy280; } } -yy215: - YYDEBUG(215, *YYCURSOR); +yy211: + YYDEBUG(211, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'L') { - if (yych == 'F') goto yy697; - goto yy284; + if (yych == 'F') goto yy678; + goto yy280; } else { - if (yych <= 'M') goto yy699; - if (yych <= 'N') goto yy700; - if (yych <= 'R') goto yy284; - goto yy701; + if (yych <= 'M') goto yy680; + if (yych <= 'N') goto yy681; + if (yych <= 'R') goto yy280; + goto yy682; } } else { if (yych <= 'm') { - if (yych == 'f') goto yy697; - if (yych <= 'l') goto yy284; - goto yy699; + if (yych == 'f') goto yy678; + if (yych <= 'l') goto yy280; + goto yy680; } else { - if (yych <= 'n') goto yy700; - if (yych == 's') goto yy701; - goto yy284; + if (yych <= 'n') goto yy681; + if (yych == 's') goto yy682; + goto yy280; } } -yy216: - YYDEBUG(216, *YYCURSOR); +yy212: + YYDEBUG(212, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy692; - if (yych == 'h') goto yy692; - goto yy284; -yy217: - YYDEBUG(217, *YYCURSOR); + if (yych == 'H') goto yy673; + if (yych == 'h') goto yy673; + goto yy280; +yy213: + YYDEBUG(213, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'M') { - if (yych == 'B') goto yy674; - goto yy284; + if (yych == 'B') goto yy655; + goto yy280; } else { - if (yych <= 'N') goto yy675; - if (yych <= 'Q') goto yy284; - if (yych <= 'R') goto yy676; - goto yy677; + if (yych <= 'N') goto yy656; + if (yych <= 'Q') goto yy280; + if (yych <= 'R') goto yy657; + goto yy658; } } else { if (yych <= 'n') { - if (yych == 'b') goto yy674; - if (yych <= 'm') goto yy284; - goto yy675; + if (yych == 'b') goto yy655; + if (yych <= 'm') goto yy280; + goto yy656; } else { - if (yych <= 'q') goto yy284; - if (yych <= 'r') goto yy676; - if (yych <= 's') goto yy677; - goto yy284; + if (yych <= 'q') goto yy280; + if (yych <= 'r') goto yy657; + if (yych <= 's') goto yy658; + goto yy280; } } -yy218: - YYDEBUG(218, *YYCURSOR); +yy214: + YYDEBUG(214, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { - if (yych == 'T') goto yy662; - if (yych <= 'V') goto yy284; - goto yy663; + if (yych == 'T') goto yy643; + if (yych <= 'V') goto yy280; + goto yy644; } else { if (yych <= 't') { - if (yych <= 's') goto yy284; - goto yy662; + if (yych <= 's') goto yy280; + goto yy643; } else { - if (yych == 'w') goto yy663; - goto yy284; + if (yych == 'w') goto yy644; + goto yy280; } } -yy219: - YYDEBUG(219, *YYCURSOR); +yy215: + YYDEBUG(215, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '/') { if (yych <= '"') { - if (yych <= '!') goto yy209; - goto yy628; + if (yych <= '!') goto yy205; + goto yy620; } else { - if (yych == '\'') goto yy630; - goto yy209; + if (yych == '\'') goto yy622; + goto yy205; } } else { if (yych <= ';') { - if (yych <= '9') goto yy283; - goto yy209; + if (yych <= '9') goto yy279; + goto yy205; } else { - if (yych <= '<') goto yy627; - if (yych <= '@') goto yy209; - goto yy283; + if (yych <= '<') goto yy619; + if (yych <= '@') goto yy205; + goto yy279; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'R') goto yy632; - goto yy283; + if (yych <= 'R') goto yy624; + goto yy279; } else { - if (yych == '_') goto yy283; - goto yy209; + if (yych == '_') goto yy279; + goto yy205; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy283; - goto yy632; + if (yych <= 'q') goto yy279; + goto yy624; } else { - if (yych <= 'z') goto yy283; - if (yych <= '~') goto yy209; - goto yy283; + if (yych <= 'z') goto yy279; + if (yych <= '~') goto yy205; + goto yy279; } } } -yy220: - YYDEBUG(220, *YYCURSOR); +yy216: + YYDEBUG(216, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'L') goto yy617; - if (yych <= 'N') goto yy284; - goto yy618; + if (yych == 'L') goto yy609; + if (yych <= 'N') goto yy280; + goto yy610; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy284; - goto yy617; + if (yych <= 'k') goto yy280; + goto yy609; } else { - if (yych == 'o') goto yy618; - goto yy284; + if (yych == 'o') goto yy610; + goto yy280; } } -yy221: - YYDEBUG(221, *YYCURSOR); +yy217: + YYDEBUG(217, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'R') goto yy593; - if (yych <= 'T') goto yy284; - goto yy594; + if (yych == 'R') goto yy585; + if (yych <= 'T') goto yy280; + goto yy586; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy284; - goto yy593; + if (yych <= 'q') goto yy280; + goto yy585; } else { - if (yych == 'u') goto yy594; - goto yy284; + if (yych == 'u') goto yy586; + goto yy280; } } -yy222: - YYDEBUG(222, *YYCURSOR); +yy218: + YYDEBUG(218, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy589; + if (yych == '-') goto yy581; } else { - if (yych <= '=') goto yy587; - if (yych <= '>') goto yy591; + if (yych <= '=') goto yy579; + if (yych <= '>') goto yy583; } -yy223: - YYDEBUG(223, *YYCURSOR); +yy219: + YYDEBUG(219, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1847 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 4103 "Zend/zend_language_scanner.c" -yy224: - YYDEBUG(224, *YYCURSOR); +#line 4072 "Zend/zend_language_scanner.c" +yy220: + YYDEBUG(220, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy586; -yy225: - YYDEBUG(225, *YYCURSOR); + goto yy578; +yy221: + YYDEBUG(221, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1578 "Zend/zend_language_scanner.l" { @@ -4116,249 +4085,249 @@ yy225: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 4120 "Zend/zend_language_scanner.c" -yy226: - YYDEBUG(226, *YYCURSOR); +#line 4089 "Zend/zend_language_scanner.c" +yy222: + YYDEBUG(222, *YYCURSOR); yych = *++YYCURSOR; - if (yych == ':') goto yy583; - goto yy223; -yy227: - YYDEBUG(227, *YYCURSOR); + if (yych == ':') goto yy575; + goto yy219; +yy223: + YYDEBUG(223, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy571; - if (yych <= 'D') goto yy284; - goto yy572; + if (yych == 'A') goto yy563; + if (yych <= 'D') goto yy280; + goto yy564; } else { if (yych <= 'a') { - if (yych <= '`') goto yy284; - goto yy571; + if (yych <= '`') goto yy280; + goto yy563; } else { - if (yych == 'e') goto yy572; - goto yy284; + if (yych == 'e') goto yy564; + goto yy280; } } -yy228: - YYDEBUG(228, *YYCURSOR); +yy224: + YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy568; - if (yych == 'a') goto yy568; - goto yy284; -yy229: - YYDEBUG(229, *YYCURSOR); + if (yych == 'A') goto yy560; + if (yych == 'a') goto yy560; + goto yy280; +yy225: + YYDEBUG(225, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy481; - if (yych <= 0x1F) goto yy223; - goto yy481; + if (yych == '\t') goto yy473; + if (yych <= 0x1F) goto yy219; + goto yy473; } else { - if (yych <= '@') goto yy223; - if (yych == 'C') goto yy223; - goto yy481; + if (yych <= '@') goto yy219; + if (yych == 'C') goto yy219; + goto yy473; } } else { if (yych <= 'I') { - if (yych == 'F') goto yy481; - if (yych <= 'H') goto yy223; - goto yy481; + if (yych == 'F') goto yy473; + if (yych <= 'H') goto yy219; + goto yy473; } else { - if (yych == 'O') goto yy481; - if (yych <= 'Q') goto yy223; - goto yy481; + if (yych == 'O') goto yy473; + if (yych <= 'Q') goto yy219; + goto yy473; } } } else { if (yych <= 'f') { if (yych <= 'b') { - if (yych == 'U') goto yy481; - if (yych <= '`') goto yy223; - goto yy481; + if (yych == 'U') goto yy473; + if (yych <= '`') goto yy219; + goto yy473; } else { - if (yych == 'd') goto yy481; - if (yych <= 'e') goto yy223; - goto yy481; + if (yych == 'd') goto yy473; + if (yych <= 'e') goto yy219; + goto yy473; } } else { if (yych <= 'o') { - if (yych == 'i') goto yy481; - if (yych <= 'n') goto yy223; - goto yy481; + if (yych == 'i') goto yy473; + if (yych <= 'n') goto yy219; + goto yy473; } else { if (yych <= 's') { - if (yych <= 'q') goto yy223; - goto yy481; + if (yych <= 'q') goto yy219; + goto yy473; } else { - if (yych == 'u') goto yy481; - goto yy223; + if (yych == 'u') goto yy473; + goto yy219; } } } } -yy230: - YYDEBUG(230, *YYCURSOR); +yy226: + YYDEBUG(226, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'N') goto yy472; - if (yych <= 'R') goto yy284; - goto yy473; + if (yych == 'N') goto yy464; + if (yych <= 'R') goto yy280; + goto yy465; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy284; - goto yy472; + if (yych <= 'm') goto yy280; + goto yy464; } else { - if (yych == 's') goto yy473; - goto yy284; + if (yych == 's') goto yy465; + goto yy280; } } +yy227: + YYDEBUG(227, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy390; + goto yy280; +yy228: + YYDEBUG(228, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '<') goto yy219; + if (yych <= '=') goto yy384; + if (yych <= '>') goto yy386; + goto yy219; +yy229: + YYDEBUG(229, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy380; + if (yych == 'i') goto yy380; + goto yy280; +yy230: + YYDEBUG(230, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '+') goto yy378; + if (yych == '=') goto yy376; + goto yy219; yy231: YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '_') goto yy398; - goto yy284; + if (yych == '=') goto yy373; + goto yy219; yy232: YYDEBUG(232, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '<') goto yy223; - if (yych <= '=') goto yy392; - if (yych <= '>') goto yy394; - goto yy223; + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ';') { + if (yych == '/') goto yy345; + goto yy219; + } else { + if (yych <= '<') goto yy343; + if (yych <= '=') goto yy346; + if (yych <= '>') goto yy348; + goto yy219; + } yy233: YYDEBUG(233, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy388; - if (yych == 'i') goto yy388; - goto yy284; + if (yych <= '<') goto yy219; + if (yych <= '=') goto yy339; + if (yych <= '>') goto yy337; + goto yy219; yy234: YYDEBUG(234, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy386; - if (yych == '=') goto yy384; - goto yy223; + if (yych == '=') goto yy335; + goto yy219; yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy381; - goto yy223; -yy236: - YYDEBUG(236, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') { - if (yych == '/') goto yy349; - goto yy223; + if (yych <= '.') { + if (yych == '*') goto yy326; + goto yy219; } else { - if (yych <= '<') goto yy347; - if (yych <= '=') goto yy350; - if (yych <= '>') goto yy352; - goto yy223; + if (yych <= '/') goto yy328; + if (yych == '=') goto yy329; + goto yy219; } +yy236: + YYDEBUG(236, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy219; + if (yych <= '9') goto yy322; + if (yych == '=') goto yy324; + goto yy219; yy237: YYDEBUG(237, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy223; - if (yych <= '=') goto yy343; - if (yych <= '>') goto yy341; - goto yy223; + if (yych <= '<') goto yy219; + if (yych <= '=') goto yy318; + if (yych <= '>') goto yy316; + goto yy219; yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy339; - goto yy223; + if (yych == '&') goto yy312; + if (yych == '=') goto yy314; + goto yy219; yy239: YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') { - if (yych == '*') goto yy330; - goto yy223; - } else { - if (yych <= '/') goto yy332; - if (yych == '=') goto yy333; - goto yy223; - } + if (yych == '=') goto yy310; + if (yych == '|') goto yy308; + goto yy219; yy240: YYDEBUG(240, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy326; - if (yych == '=') goto yy328; - goto yy223; + if (yych == '=') goto yy306; + goto yy219; yy241: YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy223; - if (yych <= '=') goto yy322; - if (yych <= '>') goto yy320; - goto yy223; + if (yych == 'R') goto yy304; + if (yych == 'r') goto yy304; + goto yy280; yy242: YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '&') goto yy316; - if (yych == '=') goto yy318; - goto yy223; + if (yych == 'O') goto yy301; + if (yych == 'o') goto yy301; + goto yy280; yy243: YYDEBUG(243, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy314; - if (yych == '|') goto yy312; - goto yy223; + if (yych <= '_') { + if (yych <= '@') goto yy219; + if (yych <= 'Z') goto yy298; + if (yych <= '^') goto yy219; + goto yy298; + } else { + if (yych <= '`') goto yy219; + if (yych <= 'z') goto yy298; + if (yych <= '~') goto yy219; + goto yy298; + } yy244: YYDEBUG(244, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy310; - goto yy223; + goto yy219; yy245: YYDEBUG(245, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy308; - if (yych == 'r') goto yy308; - goto yy284; + if (yych == '>') goto yy294; + goto yy219; yy246: YYDEBUG(246, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy305; - if (yych == 'o') goto yy305; - goto yy284; -yy247: - YYDEBUG(247, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '_') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy302; - if (yych <= '^') goto yy223; - goto yy302; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy302; - if (yych <= '~') goto yy223; - goto yy302; - } -yy248: - YYDEBUG(248, *YYCURSOR); - yych = *++YYCURSOR; - goto yy223; -yy249: - YYDEBUG(249, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy298; - goto yy223; -yy250: - YYDEBUG(250, *YYCURSOR); ++YYCURSOR; - YYDEBUG(251, *YYCURSOR); + YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1852 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 4358 "Zend/zend_language_scanner.c" -yy252: - YYDEBUG(252, *YYCURSOR); +#line 4327 "Zend/zend_language_scanner.c" +yy248: + YYDEBUG(248, *YYCURSOR); ++YYCURSOR; - YYDEBUG(253, *YYCURSOR); + YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1864 "Zend/zend_language_scanner.l" { @@ -4368,28 +4337,28 @@ yy252: } return '}'; } -#line 4372 "Zend/zend_language_scanner.c" -yy254: - YYDEBUG(254, *YYCURSOR); +#line 4341 "Zend/zend_language_scanner.c" +yy250: + YYDEBUG(250, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '/') { - if (yych == '.') goto yy285; + if (yych == '.') goto yy281; } else { - if (yych <= '9') goto yy288; - if (yych >= 'E') goto yy290; + if (yych <= '9') goto yy284; + if (yych >= 'E') goto yy286; } } else { if (yych <= 'd') { - if (yych == 'X') goto yy294; + if (yych == 'X') goto yy290; } else { - if (yych <= 'e') goto yy290; - if (yych == 'x') goto yy294; + if (yych <= 'e') goto yy286; + if (yych == 'x') goto yy290; } } -yy255: - YYDEBUG(255, *YYCURSOR); +yy251: + YYDEBUG(251, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1894 "Zend/zend_language_scanner.l" { @@ -4412,103 +4381,103 @@ yy255: Z_TYPE_P(zendlval) = IS_LONG; return T_LNUMBER; } -#line 4416 "Zend/zend_language_scanner.c" -yy256: - YYDEBUG(256, *YYCURSOR); +#line 4385 "Zend/zend_language_scanner.c" +yy252: + YYDEBUG(252, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy285; - if (yych <= '/') goto yy255; - goto yy288; + if (yych == '.') goto yy281; + if (yych <= '/') goto yy251; + goto yy284; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy255; - goto yy290; + if (yych <= 'D') goto yy251; + goto yy286; } else { - if (yych == 'e') goto yy290; - goto yy255; + if (yych == 'e') goto yy286; + goto yy251; } } -yy257: - YYDEBUG(257, *YYCURSOR); +yy253: + YYDEBUG(253, *YYCURSOR); yych = *++YYCURSOR; - goto yy284; -yy258: - YYDEBUG(258, *YYCURSOR); + goto yy280; +yy254: + YYDEBUG(254, *YYCURSOR); ++YYCURSOR; -yy259: - YYDEBUG(259, *YYCURSOR); +yy255: + YYDEBUG(255, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2271 "Zend/zend_language_scanner.l" { BEGIN(ST_ONE_LINE_COMMENT); yymore(); } -#line 4449 "Zend/zend_language_scanner.c" -yy260: - YYDEBUG(260, *YYCURSOR); +#line 4418 "Zend/zend_language_scanner.c" +yy256: + YYDEBUG(256, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - goto yy276; -yy261: - YYDEBUG(261, *YYCURSOR); + goto yy272; +yy257: + YYDEBUG(257, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2416 "Zend/zend_language_scanner.l" { BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 4463 "Zend/zend_language_scanner.c" -yy262: - YYDEBUG(262, *YYCURSOR); +#line 4432 "Zend/zend_language_scanner.c" +yy258: + YYDEBUG(258, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - goto yy268; -yy263: - YYDEBUG(263, *YYCURSOR); + goto yy264; +yy259: + YYDEBUG(259, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2765 "Zend/zend_language_scanner.l" +#line 2676 "Zend/zend_language_scanner.l" { zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 4477 "Zend/zend_language_scanner.c" -yy264: - YYDEBUG(264, *YYCURSOR); +#line 4446 "Zend/zend_language_scanner.c" +yy260: + YYDEBUG(260, *YYCURSOR); ++YYCURSOR; - YYDEBUG(265, *YYCURSOR); + YYDEBUG(261, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2468 "Zend/zend_language_scanner.l" +#line 2471 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 4488 "Zend/zend_language_scanner.c" -yy266: - YYDEBUG(266, *YYCURSOR); +#line 4457 "Zend/zend_language_scanner.c" +yy262: + YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; - goto yy263; -yy267: - YYDEBUG(267, *YYCURSOR); + goto yy259; +yy263: + YYDEBUG(263, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy268: - YYDEBUG(268, *YYCURSOR); +yy264: + YYDEBUG(264, *YYCURSOR); if (yybm[256+yych] & 128) { - goto yy267; + goto yy263; } - if (yych <= '[') goto yy270; - YYDEBUG(269, *YYCURSOR); + if (yych <= '[') goto yy266; + YYDEBUG(265, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy267; -yy270: - YYDEBUG(270, *YYCURSOR); + goto yy263; +yy266: + YYDEBUG(266, *YYCURSOR); ++YYCURSOR; - YYDEBUG(271, *YYCURSOR); + YYDEBUG(267, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2400 "Zend/zend_language_scanner.l" { @@ -4519,106 +4488,106 @@ yy270: return T_CONSTANT_ENCAPSED_STRING; } } -#line 4523 "Zend/zend_language_scanner.c" -yy272: - YYDEBUG(272, *YYCURSOR); +#line 4492 "Zend/zend_language_scanner.c" +yy268: + YYDEBUG(268, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(273, *YYCURSOR); + YYDEBUG(269, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy275; + goto yy271; } - if (yych <= '#') goto yy280; - if (yych <= '$') goto yy274; - if (yych <= 'z') goto yy277; - goto yy272; -yy274: - YYDEBUG(274, *YYCURSOR); + if (yych <= '#') goto yy276; + if (yych <= '$') goto yy270; + if (yych <= 'z') goto yy273; + goto yy268; +yy270: + YYDEBUG(270, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 4) { if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept <= 0) { - goto yy209; + goto yy205; } else { - goto yy223; + goto yy219; } } else { - goto yy255; + goto yy251; } } else { if (yyaccept <= 3) { - goto yy261; + goto yy257; } else { - goto yy263; + goto yy259; } } } else { if (yyaccept <= 6) { if (yyaccept <= 5) { - goto yy287; + goto yy283; } else { - goto yy331; + goto yy327; } } else { if (yyaccept <= 7) { - goto yy348; + goto yy344; } else { - goto yy629; + goto yy621; } } } -yy275: - YYDEBUG(275, *YYCURSOR); +yy271: + YYDEBUG(271, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy276: - YYDEBUG(276, *YYCURSOR); +yy272: + YYDEBUG(272, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy275; + goto yy271; } - if (yych <= '#') goto yy280; - if (yych <= '$') goto yy278; - if (yych >= '{') goto yy272; -yy277: - YYDEBUG(277, *YYCURSOR); + if (yych <= '#') goto yy276; + if (yych <= '$') goto yy274; + if (yych >= '{') goto yy268; +yy273: + YYDEBUG(273, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy275; -yy278: - YYDEBUG(278, *YYCURSOR); + goto yy271; +yy274: + YYDEBUG(274, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(279, *YYCURSOR); + YYDEBUG(275, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy278; + goto yy274; } if (yych <= '\\') { if (yych <= '@') { - if (yych != '"') goto yy275; + if (yych != '"') goto yy271; } else { - if (yych <= 'Z') goto yy274; - if (yych <= '[') goto yy275; - goto yy282; + if (yych <= 'Z') goto yy270; + if (yych <= '[') goto yy271; + goto yy278; } } else { if (yych <= '`') { - if (yych == '_') goto yy274; - goto yy275; + if (yych == '_') goto yy270; + goto yy271; } else { - if (yych <= '{') goto yy274; - if (yych <= '~') goto yy275; - goto yy274; + if (yych <= '{') goto yy270; + if (yych <= '~') goto yy271; + goto yy270; } } -yy280: - YYDEBUG(280, *YYCURSOR); +yy276: + YYDEBUG(276, *YYCURSOR); ++YYCURSOR; - YYDEBUG(281, *YYCURSOR); + YYDEBUG(277, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2384 "Zend/zend_language_scanner.l" { @@ -4629,38 +4598,38 @@ yy280: return T_CONSTANT_ENCAPSED_STRING; } } -#line 4633 "Zend/zend_language_scanner.c" -yy282: - YYDEBUG(282, *YYCURSOR); +#line 4602 "Zend/zend_language_scanner.c" +yy278: + YYDEBUG(278, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy275; -yy283: - YYDEBUG(283, *YYCURSOR); + goto yy271; +yy279: + YYDEBUG(279, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy284: - YYDEBUG(284, *YYCURSOR); +yy280: + YYDEBUG(280, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy283; + goto yy279; } - goto yy209; -yy285: - YYDEBUG(285, *YYCURSOR); + goto yy205; +yy281: + YYDEBUG(281, *YYCURSOR); yyaccept = 5; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(286, *YYCURSOR); + YYDEBUG(282, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy285; + goto yy281; } - if (yych == 'E') goto yy290; - if (yych == 'e') goto yy290; -yy287: - YYDEBUG(287, *YYCURSOR); + if (yych == 'E') goto yy286; + if (yych == 'e') goto yy286; +yy283: + YYDEBUG(283, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1955 "Zend/zend_language_scanner.l" { @@ -4668,67 +4637,67 @@ yy287: Z_TYPE_P(zendlval) = IS_DOUBLE; return T_DNUMBER; } -#line 4672 "Zend/zend_language_scanner.c" -yy288: - YYDEBUG(288, *YYCURSOR); +#line 4641 "Zend/zend_language_scanner.c" +yy284: + YYDEBUG(284, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(289, *YYCURSOR); + YYDEBUG(285, *YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy285; - if (yych <= '/') goto yy255; - goto yy288; + if (yych == '.') goto yy281; + if (yych <= '/') goto yy251; + goto yy284; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy255; + if (yych <= 'D') goto yy251; } else { - if (yych != 'e') goto yy255; + if (yych != 'e') goto yy251; } } -yy290: - YYDEBUG(290, *YYCURSOR); +yy286: + YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { - if (yych != '+') goto yy274; + if (yych != '+') goto yy270; } else { - if (yych <= '-') goto yy291; - if (yych <= '/') goto yy274; - if (yych <= '9') goto yy292; - goto yy274; + if (yych <= '-') goto yy287; + if (yych <= '/') goto yy270; + if (yych <= '9') goto yy288; + goto yy270; } -yy291: - YYDEBUG(291, *YYCURSOR); +yy287: + YYDEBUG(287, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy274; - if (yych >= ':') goto yy274; -yy292: - YYDEBUG(292, *YYCURSOR); + if (yych <= '/') goto yy270; + if (yych >= ':') goto yy270; +yy288: + YYDEBUG(288, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(293, *YYCURSOR); - if (yych <= '/') goto yy287; - if (yych <= '9') goto yy292; - goto yy287; -yy294: - YYDEBUG(294, *YYCURSOR); + YYDEBUG(289, *YYCURSOR); + if (yych <= '/') goto yy283; + if (yych <= '9') goto yy288; + goto yy283; +yy290: + YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 32) { - goto yy295; + goto yy291; } - goto yy274; -yy295: - YYDEBUG(295, *YYCURSOR); + goto yy270; +yy291: + YYDEBUG(291, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(296, *YYCURSOR); + YYDEBUG(292, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy295; + goto yy291; } - YYDEBUG(297, *YYCURSOR); + YYDEBUG(293, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1915 "Zend/zend_language_scanner.l" { @@ -4751,14 +4720,14 @@ yy295: return T_DNUMBER; } } -#line 4755 "Zend/zend_language_scanner.c" -yy298: - YYDEBUG(298, *YYCURSOR); +#line 4724 "Zend/zend_language_scanner.c" +yy294: + YYDEBUG(294, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy300; - if (yych == '\r') goto yy301; -yy299: - YYDEBUG(299, *YYCURSOR); + if ((yych = *YYCURSOR) == '\n') goto yy296; + if (yych == '\r') goto yy297; +yy295: + YYDEBUG(295, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2359 "Zend/zend_language_scanner.l" { @@ -4768,39 +4737,39 @@ yy299: BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 4772 "Zend/zend_language_scanner.c" -yy300: - YYDEBUG(300, *YYCURSOR); +#line 4741 "Zend/zend_language_scanner.c" +yy296: + YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; - goto yy299; -yy301: - YYDEBUG(301, *YYCURSOR); + goto yy295; +yy297: + YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy300; - goto yy299; -yy302: - YYDEBUG(302, *YYCURSOR); + if (yych == '\n') goto yy296; + goto yy295; +yy298: + YYDEBUG(298, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(303, *YYCURSOR); + YYDEBUG(299, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy302; + if (yych >= '0') goto yy298; } else { - if (yych <= '@') goto yy304; - if (yych <= 'Z') goto yy302; + if (yych <= '@') goto yy300; + if (yych <= 'Z') goto yy298; } } else { if (yych <= '`') { - if (yych <= '_') goto yy302; + if (yych <= '_') goto yy298; } else { - if (yych <= 'z') goto yy302; - if (yych >= 0x7F) goto yy302; + if (yych <= 'z') goto yy298; + if (yych >= 0x7F) goto yy298; } } -yy304: - YYDEBUG(304, *YYCURSOR); +yy300: + YYDEBUG(300, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2225 "Zend/zend_language_scanner.l" { @@ -4812,95 +4781,95 @@ yy304: } return T_VARIABLE; } -#line 4816 "Zend/zend_language_scanner.c" -yy305: - YYDEBUG(305, *YYCURSOR); +#line 4785 "Zend/zend_language_scanner.c" +yy301: + YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy306; - if (yych != 'r') goto yy284; -yy306: - YYDEBUG(306, *YYCURSOR); + if (yych == 'R') goto yy302; + if (yych != 'r') goto yy280; +yy302: + YYDEBUG(302, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(307, *YYCURSOR); + YYDEBUG(303, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1835 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 4834 "Zend/zend_language_scanner.c" -yy308: - YYDEBUG(308, *YYCURSOR); +#line 4803 "Zend/zend_language_scanner.c" +yy304: + YYDEBUG(304, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(309, *YYCURSOR); + YYDEBUG(305, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1827 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 4847 "Zend/zend_language_scanner.c" -yy310: - YYDEBUG(310, *YYCURSOR); +#line 4816 "Zend/zend_language_scanner.c" +yy306: + YYDEBUG(306, *YYCURSOR); ++YYCURSOR; - YYDEBUG(311, *YYCURSOR); + YYDEBUG(307, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1815 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 4857 "Zend/zend_language_scanner.c" -yy312: - YYDEBUG(312, *YYCURSOR); +#line 4826 "Zend/zend_language_scanner.c" +yy308: + YYDEBUG(308, *YYCURSOR); ++YYCURSOR; - YYDEBUG(313, *YYCURSOR); + YYDEBUG(309, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1819 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 4867 "Zend/zend_language_scanner.c" -yy314: - YYDEBUG(314, *YYCURSOR); +#line 4836 "Zend/zend_language_scanner.c" +yy310: + YYDEBUG(310, *YYCURSOR); ++YYCURSOR; - YYDEBUG(315, *YYCURSOR); + YYDEBUG(311, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1811 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 4877 "Zend/zend_language_scanner.c" -yy316: - YYDEBUG(316, *YYCURSOR); +#line 4846 "Zend/zend_language_scanner.c" +yy312: + YYDEBUG(312, *YYCURSOR); ++YYCURSOR; - YYDEBUG(317, *YYCURSOR); + YYDEBUG(313, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1823 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 4887 "Zend/zend_language_scanner.c" -yy318: - YYDEBUG(318, *YYCURSOR); +#line 4856 "Zend/zend_language_scanner.c" +yy314: + YYDEBUG(314, *YYCURSOR); ++YYCURSOR; - YYDEBUG(319, *YYCURSOR); + YYDEBUG(315, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1807 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 4897 "Zend/zend_language_scanner.c" -yy320: - YYDEBUG(320, *YYCURSOR); +#line 4866 "Zend/zend_language_scanner.c" +yy316: + YYDEBUG(316, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy324; - if (yych == '\r') goto yy325; -yy321: - YYDEBUG(321, *YYCURSOR); + if ((yych = *YYCURSOR) == '\n') goto yy320; + if (yych == '\r') goto yy321; +yy317: + YYDEBUG(317, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2368 "Zend/zend_language_scanner.l" { @@ -4915,97 +4884,97 @@ yy321: return yytext[0]; } } -#line 4919 "Zend/zend_language_scanner.c" -yy322: - YYDEBUG(322, *YYCURSOR); +#line 4888 "Zend/zend_language_scanner.c" +yy318: + YYDEBUG(318, *YYCURSOR); ++YYCURSOR; - YYDEBUG(323, *YYCURSOR); + YYDEBUG(319, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1795 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 4929 "Zend/zend_language_scanner.c" -yy324: - YYDEBUG(324, *YYCURSOR); +#line 4898 "Zend/zend_language_scanner.c" +yy320: + YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - goto yy321; -yy325: - YYDEBUG(325, *YYCURSOR); + goto yy317; +yy321: + YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy324; - goto yy321; -yy326: - YYDEBUG(326, *YYCURSOR); + if (yych == '\n') goto yy320; + goto yy317; +yy322: + YYDEBUG(322, *YYCURSOR); yyaccept = 5; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(327, *YYCURSOR); + YYDEBUG(323, *YYCURSOR); if (yych <= 'D') { - if (yych <= '/') goto yy287; - if (yych <= '9') goto yy326; - goto yy287; + if (yych <= '/') goto yy283; + if (yych <= '9') goto yy322; + goto yy283; } else { - if (yych <= 'E') goto yy290; - if (yych == 'e') goto yy290; - goto yy287; + if (yych <= 'E') goto yy286; + if (yych == 'e') goto yy286; + goto yy283; } -yy328: - YYDEBUG(328, *YYCURSOR); +yy324: + YYDEBUG(324, *YYCURSOR); ++YYCURSOR; - YYDEBUG(329, *YYCURSOR); + YYDEBUG(325, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1791 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 4964 "Zend/zend_language_scanner.c" -yy330: - YYDEBUG(330, *YYCURSOR); +#line 4933 "Zend/zend_language_scanner.c" +yy326: + YYDEBUG(326, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy335; -yy331: - YYDEBUG(331, *YYCURSOR); + if (yych == '*') goto yy331; +yy327: + YYDEBUG(327, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2326 "Zend/zend_language_scanner.l" { BEGIN(ST_COMMENT); yymore(); } -#line 4978 "Zend/zend_language_scanner.c" -yy332: - YYDEBUG(332, *YYCURSOR); +#line 4947 "Zend/zend_language_scanner.c" +yy328: + YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; - goto yy259; -yy333: - YYDEBUG(333, *YYCURSOR); + goto yy255; +yy329: + YYDEBUG(329, *YYCURSOR); ++YYCURSOR; - YYDEBUG(334, *YYCURSOR); + YYDEBUG(330, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1787 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 4992 "Zend/zend_language_scanner.c" -yy335: - YYDEBUG(335, *YYCURSOR); +#line 4961 "Zend/zend_language_scanner.c" +yy331: + YYDEBUG(331, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy336; + goto yy332; } - goto yy274; -yy336: - YYDEBUG(336, *YYCURSOR); + goto yy270; +yy332: + YYDEBUG(332, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(337, *YYCURSOR); + YYDEBUG(333, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy336; + goto yy332; } - YYDEBUG(338, *YYCURSOR); + YYDEBUG(334, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2320 "Zend/zend_language_scanner.l" { @@ -5013,515 +4982,502 @@ yy336: BEGIN(ST_DOC_COMMENT); yymore(); } -#line 5017 "Zend/zend_language_scanner.c" -yy339: - YYDEBUG(339, *YYCURSOR); +#line 4986 "Zend/zend_language_scanner.c" +yy335: + YYDEBUG(335, *YYCURSOR); ++YYCURSOR; - YYDEBUG(340, *YYCURSOR); + YYDEBUG(336, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1783 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 5027 "Zend/zend_language_scanner.c" -yy341: - YYDEBUG(341, *YYCURSOR); +#line 4996 "Zend/zend_language_scanner.c" +yy337: + YYDEBUG(337, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy345; - YYDEBUG(342, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy341; + YYDEBUG(338, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1843 "Zend/zend_language_scanner.l" { return T_SR; } -#line 5038 "Zend/zend_language_scanner.c" -yy343: - YYDEBUG(343, *YYCURSOR); +#line 5007 "Zend/zend_language_scanner.c" +yy339: + YYDEBUG(339, *YYCURSOR); ++YYCURSOR; - YYDEBUG(344, *YYCURSOR); + YYDEBUG(340, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1771 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 5048 "Zend/zend_language_scanner.c" -yy345: - YYDEBUG(345, *YYCURSOR); +#line 5017 "Zend/zend_language_scanner.c" +yy341: + YYDEBUG(341, *YYCURSOR); ++YYCURSOR; - YYDEBUG(346, *YYCURSOR); + YYDEBUG(342, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1803 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 5058 "Zend/zend_language_scanner.c" -yy347: - YYDEBUG(347, *YYCURSOR); +#line 5027 "Zend/zend_language_scanner.c" +yy343: + YYDEBUG(343, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy348; - if (yych <= '<') goto yy363; - if (yych <= '=') goto yy361; -yy348: - YYDEBUG(348, *YYCURSOR); + if (yych <= ';') goto yy344; + if (yych <= '<') goto yy359; + if (yych <= '=') goto yy357; +yy344: + YYDEBUG(344, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1839 "Zend/zend_language_scanner.l" { return T_SL; } -#line 5073 "Zend/zend_language_scanner.c" -yy349: - YYDEBUG(349, *YYCURSOR); +#line 5042 "Zend/zend_language_scanner.c" +yy345: + YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy354; - if (yych == 's') goto yy354; - goto yy274; -yy350: - YYDEBUG(350, *YYCURSOR); + if (yych == 'S') goto yy350; + if (yych == 's') goto yy350; + goto yy270; +yy346: + YYDEBUG(346, *YYCURSOR); ++YYCURSOR; - YYDEBUG(351, *YYCURSOR); + YYDEBUG(347, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1767 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 5089 "Zend/zend_language_scanner.c" -yy352: - YYDEBUG(352, *YYCURSOR); +#line 5058 "Zend/zend_language_scanner.c" +yy348: + YYDEBUG(348, *YYCURSOR); ++YYCURSOR; -yy353: - YYDEBUG(353, *YYCURSOR); +yy349: + YYDEBUG(349, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1763 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 5100 "Zend/zend_language_scanner.c" -yy354: - YYDEBUG(354, *YYCURSOR); +#line 5069 "Zend/zend_language_scanner.c" +yy350: + YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy355; - if (yych != 'c') goto yy274; -yy355: - YYDEBUG(355, *YYCURSOR); + if (yych == 'C') goto yy351; + if (yych != 'c') goto yy270; +yy351: + YYDEBUG(351, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy356; - if (yych != 'r') goto yy274; -yy356: - YYDEBUG(356, *YYCURSOR); + if (yych == 'R') goto yy352; + if (yych != 'r') goto yy270; +yy352: + YYDEBUG(352, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy357; - if (yych != 'i') goto yy274; -yy357: - YYDEBUG(357, *YYCURSOR); + if (yych == 'I') goto yy353; + if (yych != 'i') goto yy270; +yy353: + YYDEBUG(353, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy358; - if (yych != 'p') goto yy274; -yy358: - YYDEBUG(358, *YYCURSOR); + if (yych == 'P') goto yy354; + if (yych != 'p') goto yy270; +yy354: + YYDEBUG(354, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy359; - if (yych != 't') goto yy274; -yy359: - YYDEBUG(359, *YYCURSOR); + if (yych == 'T') goto yy355; + if (yych != 't') goto yy270; +yy355: + YYDEBUG(355, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(360, *YYCURSOR); + YYDEBUG(356, *YYCURSOR); if (yych <= '\r') { - if (yych <= 0x08) goto yy274; - if (yych <= '\n') goto yy359; - if (yych <= '\f') goto yy274; - goto yy359; + if (yych <= 0x08) goto yy270; + if (yych <= '\n') goto yy355; + if (yych <= '\f') goto yy270; + goto yy355; } else { if (yych <= ' ') { - if (yych <= 0x1F) goto yy274; - goto yy359; + if (yych <= 0x1F) goto yy270; + goto yy355; } else { - if (yych == '>') goto yy298; - goto yy274; + if (yych == '>') goto yy294; + goto yy270; } } -yy361: - YYDEBUG(361, *YYCURSOR); +yy357: + YYDEBUG(357, *YYCURSOR); ++YYCURSOR; - YYDEBUG(362, *YYCURSOR); + YYDEBUG(358, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1799 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 5155 "Zend/zend_language_scanner.c" -yy363: - YYDEBUG(363, *YYCURSOR); +#line 5124 "Zend/zend_language_scanner.c" +yy359: + YYDEBUG(359, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(364, *YYCURSOR); + YYDEBUG(360, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy363; + goto yy359; } if (yych <= 'Z') { if (yych <= '&') { - if (yych == '"') goto yy368; - goto yy274; + if (yych == '"') goto yy364; + goto yy270; } else { - if (yych <= '\'') goto yy365; - if (yych <= '@') goto yy274; - goto yy366; + if (yych <= '\'') goto yy363; + if (yych <= '@') goto yy270; } } else { if (yych <= '`') { - if (yych == '_') goto yy366; - goto yy274; + if (yych != '_') goto yy270; } else { - if (yych <= 'z') goto yy366; - if (yych <= '~') goto yy274; - goto yy366; + if (yych <= 'z') goto yy361; + if (yych <= '~') goto yy270; } } -yy365: - YYDEBUG(365, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\'') goto yy274; - if (yych <= '/') goto yy376; - if (yych <= '9') goto yy274; - goto yy376; -yy366: - YYDEBUG(366, *YYCURSOR); +yy361: + YYDEBUG(361, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(367, *YYCURSOR); + YYDEBUG(362, *YYCURSOR); if (yych <= '@') { if (yych <= '\f') { - if (yych == '\n') goto yy372; - goto yy274; + if (yych == '\n') goto yy368; + goto yy270; } else { - if (yych <= '\r') goto yy374; - if (yych <= '/') goto yy274; - if (yych <= '9') goto yy366; - goto yy274; + if (yych <= '\r') goto yy370; + if (yych <= '/') goto yy270; + if (yych <= '9') goto yy361; + goto yy270; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy366; - if (yych <= '^') goto yy274; - goto yy366; + if (yych <= 'Z') goto yy361; + if (yych <= '^') goto yy270; + goto yy361; } else { - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy366; - if (yych <= '~') goto yy274; - goto yy366; + if (yych <= '`') goto yy270; + if (yych <= 'z') goto yy361; + if (yych <= '~') goto yy270; + goto yy361; } } -yy368: - YYDEBUG(368, *YYCURSOR); +yy363: + YYDEBUG(363, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '"') goto yy274; - if (yych <= '/') goto yy370; - if (yych <= '9') goto yy274; - goto yy370; -yy369: - YYDEBUG(369, *YYCURSOR); + if (yych == '\'') goto yy270; + if (yych <= '/') goto yy372; + if (yych <= '9') goto yy270; + goto yy372; +yy364: + YYDEBUG(364, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '"') goto yy270; + if (yych <= '/') goto yy366; + if (yych <= '9') goto yy270; + goto yy366; +yy365: + YYDEBUG(365, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy370: - YYDEBUG(370, *YYCURSOR); +yy366: + YYDEBUG(366, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych != '"') goto yy274; + if (yych != '"') goto yy270; } else { - if (yych <= '9') goto yy369; - if (yych <= '@') goto yy274; - goto yy369; + if (yych <= '9') goto yy365; + if (yych <= '@') goto yy270; + goto yy365; } } else { if (yych <= '`') { - if (yych == '_') goto yy369; - goto yy274; + if (yych == '_') goto yy365; + goto yy270; } else { - if (yych <= 'z') goto yy369; - if (yych <= '~') goto yy274; - goto yy369; + if (yych <= 'z') goto yy365; + if (yych <= '~') goto yy270; + goto yy365; } } - YYDEBUG(371, *YYCURSOR); +yy367: + YYDEBUG(367, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy372; - if (yych == '\r') goto yy374; - goto yy274; -yy372: - YYDEBUG(372, *YYCURSOR); + if (yych == '\n') goto yy368; + if (yych == '\r') goto yy370; + goto yy270; +yy368: + YYDEBUG(368, *YYCURSOR); ++YYCURSOR; -yy373: - YYDEBUG(373, *YYCURSOR); +yy369: + YYDEBUG(369, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2447 "Zend/zend_language_scanner.l" +#line 2426 "Zend/zend_language_scanner.l" { char *s; + int bprefix = (yytext[0] != '<') ? 1 : 0; CG(zend_lineno)++; - CG(heredoc_len) = yyleng-3-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+3; + CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); + s = yytext+bprefix+3; while ((*s == ' ') || (*s == '\t')) { s++; CG(heredoc_len)--; } - if (*s == '"') { + if (*s == '\'') { s++; CG(heredoc_len) -= 2; + + BEGIN(ST_NOWDOC); + } else { + if (*s == '"') { + s++; + CG(heredoc_len) -= 2; + } + + BEGIN(ST_HEREDOC); } + CG(heredoc) = estrndup(s, CG(heredoc_len)); - BEGIN(ST_START_HEREDOC); - return T_START_HEREDOC; + + /* Check for ending label on the next line */ + if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, CG(heredoc_len))) { + char *end = YYCURSOR + CG(heredoc_len); + + if (*end == ';') { + end++; + } + + if (*end == '\n' || *end == '\r') { + BEGIN(ST_END_HEREDOC); + } + } + + return bprefix ? T_BINARY_HEREDOC : T_START_HEREDOC; } -#line 5282 "Zend/zend_language_scanner.c" -yy374: - YYDEBUG(374, *YYCURSOR); +#line 5273 "Zend/zend_language_scanner.c" +yy370: + YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy372; - goto yy373; -yy375: - YYDEBUG(375, *YYCURSOR); + if (yych == '\n') goto yy368; + goto yy369; +yy371: + YYDEBUG(371, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy376: - YYDEBUG(376, *YYCURSOR); +yy372: + YYDEBUG(372, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych != '\'') goto yy274; + if (yych == '\'') goto yy367; + goto yy270; } else { - if (yych <= '9') goto yy375; - if (yych <= '@') goto yy274; - goto yy375; + if (yych <= '9') goto yy371; + if (yych <= '@') goto yy270; + goto yy371; } } else { if (yych <= '`') { - if (yych == '_') goto yy375; - goto yy274; + if (yych == '_') goto yy371; + goto yy270; } else { - if (yych <= 'z') goto yy375; - if (yych <= '~') goto yy274; - goto yy375; + if (yych <= 'z') goto yy371; + if (yych <= '~') goto yy270; + goto yy371; } } - YYDEBUG(377, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy378; - if (yych == '\r') goto yy380; - goto yy274; -yy378: - YYDEBUG(378, *YYCURSOR); - ++YYCURSOR; -yy379: - YYDEBUG(379, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2649 "Zend/zend_language_scanner.l" - { - int bprefix = (yytext[0] != '<') ? 1 : 0; - char *s; - CG(zend_lineno)++; - /* 3 is <<<, 2 is quotes, 1 is newline */ - CG(heredoc_len) = yyleng-bprefix-3-2-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+bprefix+3; - while ((*s == ' ') || (*s == '\t')) { - s++; - CG(heredoc_len)--; - } - s++; /* first quote */ - CG(heredoc) = estrndup(s, CG(heredoc_len)); - - CG(literal_type) = bprefix?IS_STRING:ZEND_STR_TYPE; - BEGIN(ST_START_NOWDOC); - return T_START_NOWDOC; -} -#line 5343 "Zend/zend_language_scanner.c" -yy380: - YYDEBUG(380, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy378; - goto yy379; -yy381: - YYDEBUG(381, *YYCURSOR); +yy373: + YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '=') goto yy353; - YYDEBUG(382, *YYCURSOR); + if (yych != '=') goto yy349; + YYDEBUG(374, *YYCURSOR); ++YYCURSOR; - YYDEBUG(383, *YYCURSOR); + YYDEBUG(375, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1755 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 5361 "Zend/zend_language_scanner.c" -yy384: - YYDEBUG(384, *YYCURSOR); +#line 5317 "Zend/zend_language_scanner.c" +yy376: + YYDEBUG(376, *YYCURSOR); ++YYCURSOR; - YYDEBUG(385, *YYCURSOR); + YYDEBUG(377, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1775 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 5371 "Zend/zend_language_scanner.c" -yy386: - YYDEBUG(386, *YYCURSOR); +#line 5327 "Zend/zend_language_scanner.c" +yy378: + YYDEBUG(378, *YYCURSOR); ++YYCURSOR; - YYDEBUG(387, *YYCURSOR); + YYDEBUG(379, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1743 "Zend/zend_language_scanner.l" { return T_INC; } -#line 5381 "Zend/zend_language_scanner.c" -yy388: - YYDEBUG(388, *YYCURSOR); +#line 5337 "Zend/zend_language_scanner.c" +yy380: + YYDEBUG(380, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy389; - if (yych != 's') goto yy284; -yy389: - YYDEBUG(389, *YYCURSOR); + if (yych == 'S') goto yy381; + if (yych != 's') goto yy280; +yy381: + YYDEBUG(381, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy390; - if (yych != 't') goto yy284; -yy390: - YYDEBUG(390, *YYCURSOR); + if (yych == 'T') goto yy382; + if (yych != 't') goto yy280; +yy382: + YYDEBUG(382, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(391, *YYCURSOR); + YYDEBUG(383, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1735 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 5404 "Zend/zend_language_scanner.c" -yy392: - YYDEBUG(392, *YYCURSOR); +#line 5360 "Zend/zend_language_scanner.c" +yy384: + YYDEBUG(384, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy396; - YYDEBUG(393, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy388; + YYDEBUG(385, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1759 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 5415 "Zend/zend_language_scanner.c" -yy394: - YYDEBUG(394, *YYCURSOR); +#line 5371 "Zend/zend_language_scanner.c" +yy386: + YYDEBUG(386, *YYCURSOR); ++YYCURSOR; - YYDEBUG(395, *YYCURSOR); + YYDEBUG(387, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1731 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 5425 "Zend/zend_language_scanner.c" -yy396: - YYDEBUG(396, *YYCURSOR); +#line 5381 "Zend/zend_language_scanner.c" +yy388: + YYDEBUG(388, *YYCURSOR); ++YYCURSOR; - YYDEBUG(397, *YYCURSOR); + YYDEBUG(389, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1751 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 5435 "Zend/zend_language_scanner.c" -yy398: - YYDEBUG(398, *YYCURSOR); +#line 5391 "Zend/zend_language_scanner.c" +yy390: + YYDEBUG(390, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= 'D') { - if (yych <= 'B') goto yy284; - if (yych <= 'C') goto yy400; - goto yy404; + if (yych <= 'B') goto yy280; + if (yych <= 'C') goto yy392; + goto yy396; } else { - if (yych == 'F') goto yy401; - if (yych <= 'G') goto yy284; + if (yych == 'F') goto yy393; + if (yych <= 'G') goto yy280; } } else { if (yych <= 'M') { - if (yych <= 'K') goto yy284; - if (yych <= 'L') goto yy403; - goto yy402; + if (yych <= 'K') goto yy280; + if (yych <= 'L') goto yy395; + goto yy394; } else { - if (yych <= 'N') goto yy405; - if (yych != 'h') goto yy284; + if (yych <= 'N') goto yy397; + if (yych != 'h') goto yy280; } } + YYDEBUG(391, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy451; + if (yych == 'a') goto yy451; + goto yy280; +yy392: + YYDEBUG(392, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy444; + goto yy280; +yy393: + YYDEBUG(393, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy428; + if (yych == 'U') goto yy429; + goto yy280; +yy394: + YYDEBUG(394, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy420; + goto yy280; +yy395: + YYDEBUG(395, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy414; + goto yy280; +yy396: + YYDEBUG(396, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy409; + goto yy280; +yy397: + YYDEBUG(397, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != 'A') goto yy280; + YYDEBUG(398, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != 'M') goto yy280; YYDEBUG(399, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy459; - if (yych == 'a') goto yy459; - goto yy284; -yy400: + if (yych != 'E') goto yy280; YYDEBUG(400, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy452; - goto yy284; -yy401: + if (yych != 'S') goto yy280; YYDEBUG(401, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy436; - if (yych == 'U') goto yy437; - goto yy284; -yy402: + if (yych != 'P') goto yy280; YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy428; - goto yy284; -yy403: + if (yych != 'A') goto yy280; YYDEBUG(403, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy422; - goto yy284; -yy404: + if (yych != 'C') goto yy280; YYDEBUG(404, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy417; - goto yy284; -yy405: + if (yych != 'E') goto yy280; YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'A') goto yy284; + if (yych != '_') goto yy280; YYDEBUG(406, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'M') goto yy284; + if (yych != '_') goto yy280; YYDEBUG(407, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'E') goto yy284; - YYDEBUG(408, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'S') goto yy284; - YYDEBUG(409, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'P') goto yy284; - YYDEBUG(410, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'A') goto yy284; - YYDEBUG(411, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'C') goto yy284; - YYDEBUG(412, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'E') goto yy284; - YYDEBUG(413, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(414, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(415, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(416, *YYCURSOR); + YYDEBUG(408, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2083 "Zend/zend_language_scanner.l" { @@ -5533,23 +5489,23 @@ yy405: } return T_NS_C; } -#line 5537 "Zend/zend_language_scanner.c" -yy417: - YYDEBUG(417, *YYCURSOR); +#line 5493 "Zend/zend_language_scanner.c" +yy409: + YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'R') goto yy284; - YYDEBUG(418, *YYCURSOR); + if (yych != 'R') goto yy280; + YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(419, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(420, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(412, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(421, *YYCURSOR); + YYDEBUG(413, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2056 "Zend/zend_language_scanner.l" { @@ -5578,26 +5534,26 @@ yy417: zendlval->type = IS_STRING; return T_DIR; } -#line 5582 "Zend/zend_language_scanner.c" -yy422: - YYDEBUG(422, *YYCURSOR); +#line 5538 "Zend/zend_language_scanner.c" +yy414: + YYDEBUG(414, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'N') goto yy284; - YYDEBUG(423, *YYCURSOR); + if (yych != 'N') goto yy280; + YYDEBUG(415, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'E') goto yy284; - YYDEBUG(424, *YYCURSOR); + if (yych != 'E') goto yy280; + YYDEBUG(416, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(425, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(426, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(418, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(427, *YYCURSOR); + YYDEBUG(419, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2040 "Zend/zend_language_scanner.l" { @@ -5605,32 +5561,32 @@ yy422: Z_TYPE_P(zendlval) = IS_LONG; return T_LINE; } -#line 5609 "Zend/zend_language_scanner.c" -yy428: - YYDEBUG(428, *YYCURSOR); +#line 5565 "Zend/zend_language_scanner.c" +yy420: + YYDEBUG(420, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'T') goto yy284; - YYDEBUG(429, *YYCURSOR); + if (yych != 'T') goto yy280; + YYDEBUG(421, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'H') goto yy284; - YYDEBUG(430, *YYCURSOR); + if (yych != 'H') goto yy280; + YYDEBUG(422, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'O') goto yy284; - YYDEBUG(431, *YYCURSOR); + if (yych != 'O') goto yy280; + YYDEBUG(423, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'D') goto yy284; - YYDEBUG(432, *YYCURSOR); + if (yych != 'D') goto yy280; + YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(433, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(425, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(434, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(426, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(435, *YYCURSOR); + YYDEBUG(427, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1991 "Zend/zend_language_scanner.l" { @@ -5681,43 +5637,43 @@ yy428: } return T_METHOD_C; } -#line 5685 "Zend/zend_language_scanner.c" -yy436: - YYDEBUG(436, *YYCURSOR); +#line 5641 "Zend/zend_language_scanner.c" +yy428: + YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy447; - goto yy284; -yy437: - YYDEBUG(437, *YYCURSOR); + if (yych == 'L') goto yy439; + goto yy280; +yy429: + YYDEBUG(429, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'N') goto yy284; - YYDEBUG(438, *YYCURSOR); + if (yych != 'N') goto yy280; + YYDEBUG(430, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'C') goto yy284; - YYDEBUG(439, *YYCURSOR); + if (yych != 'C') goto yy280; + YYDEBUG(431, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'T') goto yy284; - YYDEBUG(440, *YYCURSOR); + if (yych != 'T') goto yy280; + YYDEBUG(432, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'I') goto yy284; - YYDEBUG(441, *YYCURSOR); + if (yych != 'I') goto yy280; + YYDEBUG(433, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'O') goto yy284; - YYDEBUG(442, *YYCURSOR); + if (yych != 'O') goto yy280; + YYDEBUG(434, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'N') goto yy284; - YYDEBUG(443, *YYCURSOR); + if (yych != 'N') goto yy280; + YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(444, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(436, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(445, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(437, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(446, *YYCURSOR); + YYDEBUG(438, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1976 "Zend/zend_language_scanner.l" { @@ -5734,23 +5690,23 @@ yy437: } return T_FUNC_C; } -#line 5738 "Zend/zend_language_scanner.c" -yy447: - YYDEBUG(447, *YYCURSOR); +#line 5694 "Zend/zend_language_scanner.c" +yy439: + YYDEBUG(439, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'E') goto yy284; - YYDEBUG(448, *YYCURSOR); + if (yych != 'E') goto yy280; + YYDEBUG(440, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(449, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(450, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(442, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(451, *YYCURSOR); + YYDEBUG(443, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2046 "Zend/zend_language_scanner.l" { @@ -5762,29 +5718,29 @@ yy447: ZVAL_RT_STRING(zendlval, filename, 1); return T_FILE; } -#line 5766 "Zend/zend_language_scanner.c" -yy452: - YYDEBUG(452, *YYCURSOR); +#line 5722 "Zend/zend_language_scanner.c" +yy444: + YYDEBUG(444, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'A') goto yy284; - YYDEBUG(453, *YYCURSOR); + if (yych != 'A') goto yy280; + YYDEBUG(445, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'S') goto yy284; - YYDEBUG(454, *YYCURSOR); + if (yych != 'S') goto yy280; + YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'S') goto yy284; - YYDEBUG(455, *YYCURSOR); + if (yych != 'S') goto yy280; + YYDEBUG(447, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(456, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(448, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(457, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(449, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(458, *YYCURSOR); + YYDEBUG(450, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1961 "Zend/zend_language_scanner.l" { @@ -5801,433 +5757,475 @@ yy452: } return T_CLASS_C; } -#line 5805 "Zend/zend_language_scanner.c" -yy459: - YYDEBUG(459, *YYCURSOR); +#line 5761 "Zend/zend_language_scanner.c" +yy451: + YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy460; - if (yych != 'l') goto yy284; -yy460: - YYDEBUG(460, *YYCURSOR); + if (yych == 'L') goto yy452; + if (yych != 'l') goto yy280; +yy452: + YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy461; - if (yych != 't') goto yy284; -yy461: - YYDEBUG(461, *YYCURSOR); + if (yych == 'T') goto yy453; + if (yych != 't') goto yy280; +yy453: + YYDEBUG(453, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy284; - YYDEBUG(462, *YYCURSOR); + if (yych != '_') goto yy280; + YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy463; - if (yych != 'c') goto yy284; -yy463: - YYDEBUG(463, *YYCURSOR); + if (yych == 'C') goto yy455; + if (yych != 'c') goto yy280; +yy455: + YYDEBUG(455, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy464; - if (yych != 'o') goto yy284; -yy464: - YYDEBUG(464, *YYCURSOR); + if (yych == 'O') goto yy456; + if (yych != 'o') goto yy280; +yy456: + YYDEBUG(456, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy465; - if (yych != 'm') goto yy284; -yy465: - YYDEBUG(465, *YYCURSOR); + if (yych == 'M') goto yy457; + if (yych != 'm') goto yy280; +yy457: + YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy466; - if (yych != 'p') goto yy284; -yy466: - YYDEBUG(466, *YYCURSOR); + if (yych == 'P') goto yy458; + if (yych != 'p') goto yy280; +yy458: + YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy467; - if (yych != 'i') goto yy284; -yy467: - YYDEBUG(467, *YYCURSOR); + if (yych == 'I') goto yy459; + if (yych != 'i') goto yy280; +yy459: + YYDEBUG(459, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy468; - if (yych != 'l') goto yy284; -yy468: - YYDEBUG(468, *YYCURSOR); + if (yych == 'L') goto yy460; + if (yych != 'l') goto yy280; +yy460: + YYDEBUG(460, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy469; - if (yych != 'e') goto yy284; -yy469: - YYDEBUG(469, *YYCURSOR); + if (yych == 'E') goto yy461; + if (yych != 'e') goto yy280; +yy461: + YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy470; - if (yych != 'r') goto yy284; -yy470: - YYDEBUG(470, *YYCURSOR); + if (yych == 'R') goto yy462; + if (yych != 'r') goto yy280; +yy462: + YYDEBUG(462, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(471, *YYCURSOR); + YYDEBUG(463, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1699 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 5871 "Zend/zend_language_scanner.c" -yy472: - YYDEBUG(472, *YYCURSOR); +#line 5827 "Zend/zend_language_scanner.c" +yy464: + YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy476; - if (yych == 's') goto yy476; - goto yy284; -yy473: - YYDEBUG(473, *YYCURSOR); + if (yych == 'S') goto yy468; + if (yych == 's') goto yy468; + goto yy280; +yy465: + YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy474; - if (yych != 'e') goto yy284; -yy474: - YYDEBUG(474, *YYCURSOR); + if (yych == 'E') goto yy466; + if (yych != 'e') goto yy280; +yy466: + YYDEBUG(466, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(475, *YYCURSOR); + YYDEBUG(467, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1683 "Zend/zend_language_scanner.l" { return T_USE; } -#line 5895 "Zend/zend_language_scanner.c" -yy476: - YYDEBUG(476, *YYCURSOR); +#line 5851 "Zend/zend_language_scanner.c" +yy468: + YYDEBUG(468, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy477; - if (yych != 'e') goto yy284; -yy477: - YYDEBUG(477, *YYCURSOR); + if (yych == 'E') goto yy469; + if (yych != 'e') goto yy280; +yy469: + YYDEBUG(469, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy478; - if (yych != 't') goto yy284; -yy478: - YYDEBUG(478, *YYCURSOR); + if (yych == 'T') goto yy470; + if (yych != 't') goto yy280; +yy470: + YYDEBUG(470, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(479, *YYCURSOR); + YYDEBUG(471, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1727 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 5918 "Zend/zend_language_scanner.c" -yy480: - YYDEBUG(480, *YYCURSOR); +#line 5874 "Zend/zend_language_scanner.c" +yy472: + YYDEBUG(472, *YYCURSOR); ++YYCURSOR; YYFILL(7); yych = *YYCURSOR; -yy481: - YYDEBUG(481, *YYCURSOR); +yy473: + YYDEBUG(473, *YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy480; - if (yych <= 0x1F) goto yy274; - goto yy480; + if (yych == '\t') goto yy472; + if (yych <= 0x1F) goto yy270; + goto yy472; } else { if (yych <= 'A') { - if (yych <= '@') goto yy274; - goto yy485; + if (yych <= '@') goto yy270; + goto yy477; } else { - if (yych <= 'B') goto yy483; - if (yych <= 'C') goto yy274; - goto yy488; + if (yych <= 'B') goto yy475; + if (yych <= 'C') goto yy270; + goto yy480; } } } else { if (yych <= 'I') { - if (yych == 'F') goto yy489; - if (yych <= 'H') goto yy274; - goto yy490; + if (yych == 'F') goto yy481; + if (yych <= 'H') goto yy270; + goto yy482; } else { if (yych <= 'O') { - if (yych <= 'N') goto yy274; - goto yy484; + if (yych <= 'N') goto yy270; + goto yy476; } else { - if (yych <= 'Q') goto yy274; - if (yych <= 'R') goto yy487; - goto yy486; + if (yych <= 'Q') goto yy270; + if (yych <= 'R') goto yy479; + goto yy478; } } } } else { if (yych <= 'f') { if (yych <= 'a') { - if (yych == 'U') goto yy482; - if (yych <= '`') goto yy274; - goto yy485; + if (yych == 'U') goto yy474; + if (yych <= '`') goto yy270; + goto yy477; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy483; - goto yy274; + if (yych <= 'b') goto yy475; + goto yy270; } else { - if (yych <= 'd') goto yy488; - if (yych <= 'e') goto yy274; - goto yy489; + if (yych <= 'd') goto yy480; + if (yych <= 'e') goto yy270; + goto yy481; } } } else { if (yych <= 'q') { if (yych <= 'i') { - if (yych <= 'h') goto yy274; - goto yy490; + if (yych <= 'h') goto yy270; + goto yy482; } else { - if (yych == 'o') goto yy484; - goto yy274; + if (yych == 'o') goto yy476; + goto yy270; } } else { if (yych <= 's') { - if (yych <= 'r') goto yy487; - goto yy486; + if (yych <= 'r') goto yy479; + goto yy478; } else { - if (yych != 'u') goto yy274; + if (yych != 'u') goto yy270; } } } } -yy482: - YYDEBUG(482, *YYCURSOR); +yy474: + YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy553; - if (yych == 'n') goto yy553; - goto yy274; -yy483: - YYDEBUG(483, *YYCURSOR); + if (yych == 'N') goto yy545; + if (yych == 'n') goto yy545; + goto yy270; +yy475: + YYDEBUG(475, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy536; - if (yych <= 'N') goto yy274; - goto yy537; + if (yych == 'I') goto yy528; + if (yych <= 'N') goto yy270; + goto yy529; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy274; - goto yy536; + if (yych <= 'h') goto yy270; + goto yy528; } else { - if (yych == 'o') goto yy537; - goto yy274; + if (yych == 'o') goto yy529; + goto yy270; } } +yy476: + YYDEBUG(476, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy520; + if (yych == 'b') goto yy520; + goto yy270; +yy477: + YYDEBUG(477, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy513; + if (yych == 'r') goto yy513; + goto yy270; +yy478: + YYDEBUG(478, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy505; + if (yych == 't') goto yy505; + goto yy270; +yy479: + YYDEBUG(479, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy503; + if (yych == 'e') goto yy503; + goto yy270; +yy480: + YYDEBUG(480, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy499; + if (yych == 'o') goto yy499; + goto yy270; +yy481: + YYDEBUG(481, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy492; + if (yych == 'l') goto yy492; + goto yy270; +yy482: + YYDEBUG(482, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy483; + if (yych != 'n') goto yy270; +yy483: + YYDEBUG(483, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy484; + if (yych != 't') goto yy270; yy484: YYDEBUG(484, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy528; - if (yych == 'b') goto yy528; - goto yy274; + if (yych == 'E') goto yy485; + if (yych != 'e') goto yy487; yy485: YYDEBUG(485, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy521; - if (yych == 'r') goto yy521; - goto yy274; + if (yych == 'G') goto yy490; + if (yych == 'g') goto yy490; + goto yy270; yy486: YYDEBUG(486, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy513; - if (yych == 't') goto yy513; - goto yy274; + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; yy487: YYDEBUG(487, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy511; - if (yych == 'e') goto yy511; - goto yy274; -yy488: + if (yych <= 0x1F) { + if (yych == '\t') goto yy486; + goto yy270; + } else { + if (yych <= ' ') goto yy486; + if (yych != ')') goto yy270; + } YYDEBUG(488, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy507; - if (yych == 'o') goto yy507; - goto yy274; -yy489: + ++YYCURSOR; YYDEBUG(489, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy500; - if (yych == 'l') goto yy500; - goto yy274; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1623 "Zend/zend_language_scanner.l" + { + return T_INT_CAST; +} +#line 6050 "Zend/zend_language_scanner.c" yy490: YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy491; - if (yych != 'n') goto yy274; + if (yych == 'E') goto yy491; + if (yych != 'e') goto yy270; yy491: YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy492; - if (yych != 't') goto yy274; + if (yych == 'R') goto yy486; + if (yych == 'r') goto yy486; + goto yy270; yy492: YYDEBUG(492, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy493; - if (yych != 'e') goto yy495; + if (yych == 'O') goto yy493; + if (yych != 'o') goto yy270; yy493: YYDEBUG(493, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy498; - if (yych == 'g') goto yy498; - goto yy274; + if (yych == 'A') goto yy494; + if (yych != 'a') goto yy270; yy494: YYDEBUG(494, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy495; + if (yych != 't') goto yy270; +yy495: + YYDEBUG(495, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy495: - YYDEBUG(495, *YYCURSOR); + YYDEBUG(496, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy494; - goto yy274; + if (yych == '\t') goto yy495; + goto yy270; } else { - if (yych <= ' ') goto yy494; - if (yych != ')') goto yy274; + if (yych <= ' ') goto yy495; + if (yych != ')') goto yy270; } - YYDEBUG(496, *YYCURSOR); - ++YYCURSOR; YYDEBUG(497, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(498, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1623 "Zend/zend_language_scanner.l" +#line 1627 "Zend/zend_language_scanner.l" { - return T_INT_CAST; + return T_DOUBLE_CAST; } -#line 6094 "Zend/zend_language_scanner.c" -yy498: - YYDEBUG(498, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy499; - if (yych != 'e') goto yy274; +#line 6098 "Zend/zend_language_scanner.c" yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy494; - if (yych == 'r') goto yy494; - goto yy274; + if (yych == 'U') goto yy500; + if (yych != 'u') goto yy270; yy500: YYDEBUG(500, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy501; - if (yych != 'o') goto yy274; + if (yych == 'B') goto yy501; + if (yych != 'b') goto yy270; yy501: YYDEBUG(501, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy502; - if (yych != 'a') goto yy274; + if (yych == 'L') goto yy502; + if (yych != 'l') goto yy270; yy502: YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy503; - if (yych != 't') goto yy274; + if (yych == 'E') goto yy495; + if (yych == 'e') goto yy495; + goto yy270; yy503: YYDEBUG(503, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'A') goto yy504; + if (yych != 'a') goto yy270; +yy504: YYDEBUG(504, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy503; - goto yy274; - } else { - if (yych <= ' ') goto yy503; - if (yych != ')') goto yy274; - } + yych = *++YYCURSOR; + if (yych == 'L') goto yy495; + if (yych == 'l') goto yy495; + goto yy270; +yy505: YYDEBUG(505, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'R') goto yy506; + if (yych != 'r') goto yy270; +yy506: YYDEBUG(506, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1627 "Zend/zend_language_scanner.l" - { - return T_DOUBLE_CAST; -} -#line 6142 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'I') goto yy507; + if (yych != 'i') goto yy270; yy507: YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy508; - if (yych != 'u') goto yy274; + if (yych == 'N') goto yy508; + if (yych != 'n') goto yy270; yy508: YYDEBUG(508, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy509; - if (yych != 'b') goto yy274; + if (yych == 'G') goto yy509; + if (yych != 'g') goto yy270; yy509: YYDEBUG(509, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy510; - if (yych != 'l') goto yy274; -yy510: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(510, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy503; - if (yych == 'e') goto yy503; - goto yy274; -yy511: + if (yych <= 0x1F) { + if (yych == '\t') goto yy509; + goto yy270; + } else { + if (yych <= ' ') goto yy509; + if (yych != ')') goto yy270; + } YYDEBUG(511, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy512; - if (yych != 'a') goto yy274; -yy512: + ++YYCURSOR; YYDEBUG(512, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy503; - if (yych == 'l') goto yy503; - goto yy274; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1631 "Zend/zend_language_scanner.l" + { + return T_STRING_CAST; +} +#line 6172 "Zend/zend_language_scanner.c" yy513: YYDEBUG(513, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy514; - if (yych != 'r') goto yy274; + if (yych != 'r') goto yy270; yy514: YYDEBUG(514, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy515; - if (yych != 'i') goto yy274; + if (yych == 'A') goto yy515; + if (yych != 'a') goto yy270; yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy516; - if (yych != 'n') goto yy274; + if (yych == 'Y') goto yy516; + if (yych != 'y') goto yy270; yy516: YYDEBUG(516, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy517; - if (yych != 'g') goto yy274; -yy517: - YYDEBUG(517, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(518, *YYCURSOR); + YYDEBUG(517, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy517; - goto yy274; + if (yych == '\t') goto yy516; + goto yy270; } else { - if (yych <= ' ') goto yy517; - if (yych != ')') goto yy274; + if (yych <= ' ') goto yy516; + if (yych != ')') goto yy270; } - YYDEBUG(519, *YYCURSOR); + YYDEBUG(518, *YYCURSOR); ++YYCURSOR; - YYDEBUG(520, *YYCURSOR); + YYDEBUG(519, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1643 "Zend/zend_language_scanner.l" { - return T_STRING_CAST; + return T_ARRAY_CAST; } -#line 6216 "Zend/zend_language_scanner.c" +#line 6209 "Zend/zend_language_scanner.c" +yy520: + YYDEBUG(520, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'J') goto yy521; + if (yych != 'j') goto yy270; yy521: YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy522; - if (yych != 'r') goto yy274; + if (yych == 'E') goto yy522; + if (yych != 'e') goto yy270; yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy523; - if (yych != 'a') goto yy274; + if (yych == 'C') goto yy523; + if (yych != 'c') goto yy270; yy523: YYDEBUG(523, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy524; - if (yych != 'y') goto yy274; + if (yych == 'T') goto yy524; + if (yych != 't') goto yy270; yy524: YYDEBUG(524, *YYCURSOR); ++YYCURSOR; @@ -6236,2402 +6234,2237 @@ yy524: YYDEBUG(525, *YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy524; - goto yy274; + goto yy270; } else { if (yych <= ' ') goto yy524; - if (yych != ')') goto yy274; + if (yych != ')') goto yy270; } YYDEBUG(526, *YYCURSOR); ++YYCURSOR; YYDEBUG(527, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1643 "Zend/zend_language_scanner.l" +#line 1647 "Zend/zend_language_scanner.l" { - return T_ARRAY_CAST; + return T_OBJECT_CAST; } -#line 6253 "Zend/zend_language_scanner.c" +#line 6251 "Zend/zend_language_scanner.c" yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'J') goto yy529; - if (yych != 'j') goto yy274; + if (yych == 'N') goto yy538; + if (yych == 'n') goto yy538; + goto yy270; yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy530; - if (yych != 'e') goto yy274; + if (yych == 'O') goto yy530; + if (yych != 'o') goto yy270; yy530: YYDEBUG(530, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy531; - if (yych != 'c') goto yy274; + if (yych == 'L') goto yy531; + if (yych != 'l') goto yy270; yy531: YYDEBUG(531, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy532; - if (yych != 't') goto yy274; + if (yych == 'E') goto yy536; + if (yych == 'e') goto yy536; + goto yy533; yy532: YYDEBUG(532, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; +yy533: YYDEBUG(533, *YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy532; - goto yy274; + goto yy270; } else { if (yych <= ' ') goto yy532; - if (yych != ')') goto yy274; + if (yych != ')') goto yy270; } YYDEBUG(534, *YYCURSOR); ++YYCURSOR; YYDEBUG(535, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1647 "Zend/zend_language_scanner.l" +#line 1651 "Zend/zend_language_scanner.l" { - return T_OBJECT_CAST; + return T_BOOL_CAST; } -#line 6295 "Zend/zend_language_scanner.c" +#line 6296 "Zend/zend_language_scanner.c" yy536: YYDEBUG(536, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy546; - if (yych == 'n') goto yy546; - goto yy274; + if (yych == 'A') goto yy537; + if (yych != 'a') goto yy270; yy537: YYDEBUG(537, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy538; - if (yych != 'o') goto yy274; + if (yych == 'N') goto yy532; + if (yych == 'n') goto yy532; + goto yy270; yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy539; - if (yych != 'l') goto yy274; + if (yych == 'A') goto yy539; + if (yych != 'a') goto yy270; yy539: YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy544; - if (yych == 'e') goto yy544; - goto yy541; + if (yych == 'R') goto yy540; + if (yych != 'r') goto yy270; yy540: YYDEBUG(540, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy541; + if (yych != 'y') goto yy270; +yy541: + YYDEBUG(541, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy541: - YYDEBUG(541, *YYCURSOR); + YYDEBUG(542, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy540; - goto yy274; + if (yych == '\t') goto yy541; + goto yy270; } else { - if (yych <= ' ') goto yy540; - if (yych != ')') goto yy274; + if (yych <= ' ') goto yy541; + if (yych != ')') goto yy270; } - YYDEBUG(542, *YYCURSOR); - ++YYCURSOR; YYDEBUG(543, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(544, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1651 "Zend/zend_language_scanner.l" +#line 1639 "Zend/zend_language_scanner.l" { - return T_BOOL_CAST; + return T_BINARY_CAST; } -#line 6340 "Zend/zend_language_scanner.c" -yy544: - YYDEBUG(544, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy545; - if (yych != 'a') goto yy274; +#line 6344 "Zend/zend_language_scanner.c" yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy540; - if (yych == 'n') goto yy540; - goto yy274; -yy546: + if (yych <= 'S') { + if (yych == 'I') goto yy547; + if (yych <= 'R') goto yy270; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy270; + goto yy547; + } else { + if (yych != 's') goto yy270; + } + } YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy547; - if (yych != 'a') goto yy274; + if (yych == 'E') goto yy555; + if (yych == 'e') goto yy555; + goto yy270; yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy548; - if (yych != 'r') goto yy274; + if (yych == 'C') goto yy548; + if (yych != 'c') goto yy270; yy548: YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy549; - if (yych != 'y') goto yy274; + if (yych == 'O') goto yy549; + if (yych != 'o') goto yy270; yy549: YYDEBUG(549, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'D') goto yy550; + if (yych != 'd') goto yy270; +yy550: + YYDEBUG(550, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy551; + if (yych != 'e') goto yy270; +yy551: + YYDEBUG(551, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(550, *YYCURSOR); + YYDEBUG(552, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy549; - goto yy274; + if (yych == '\t') goto yy551; + goto yy270; } else { - if (yych <= ' ') goto yy549; - if (yych != ')') goto yy274; + if (yych <= ' ') goto yy551; + if (yych != ')') goto yy270; } - YYDEBUG(551, *YYCURSOR); + YYDEBUG(553, *YYCURSOR); ++YYCURSOR; - YYDEBUG(552, *YYCURSOR); + YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1639 "Zend/zend_language_scanner.l" +#line 1635 "Zend/zend_language_scanner.l" { - return T_BINARY_CAST; + return T_UNICODE_CAST; } -#line 6388 "Zend/zend_language_scanner.c" -yy553: - YYDEBUG(553, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == 'I') goto yy555; - if (yych <= 'R') goto yy274; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy274; - goto yy555; - } else { - if (yych != 's') goto yy274; - } - } - YYDEBUG(554, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy563; - if (yych == 'e') goto yy563; - goto yy274; +#line 6405 "Zend/zend_language_scanner.c" yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy556; - if (yych != 'c') goto yy274; + if (yych == 'T') goto yy556; + if (yych != 't') goto yy270; yy556: YYDEBUG(556, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy557; - if (yych != 'o') goto yy274; -yy557: - YYDEBUG(557, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy558; - if (yych != 'd') goto yy274; -yy558: - YYDEBUG(558, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy559; - if (yych != 'e') goto yy274; -yy559: - YYDEBUG(559, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(560, *YYCURSOR); + YYDEBUG(557, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy559; - goto yy274; + if (yych == '\t') goto yy556; + goto yy270; } else { - if (yych <= ' ') goto yy559; - if (yych != ')') goto yy274; + if (yych <= ' ') goto yy556; + if (yych != ')') goto yy270; } + YYDEBUG(558, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(559, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1655 "Zend/zend_language_scanner.l" + { + return T_UNSET_CAST; +} +#line 6432 "Zend/zend_language_scanner.c" +yy560: + YYDEBUG(560, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy561; + if (yych != 'r') goto yy280; +yy561: YYDEBUG(561, *YYCURSOR); ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(562, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1635 "Zend/zend_language_scanner.l" +#line 1619 "Zend/zend_language_scanner.l" { - return T_UNICODE_CAST; + return T_VAR; } -#line 6449 "Zend/zend_language_scanner.c" +#line 6450 "Zend/zend_language_scanner.c" yy563: YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy564; - if (yych != 't') goto yy274; + if (yych == 'M') goto yy567; + if (yych == 'm') goto yy567; + goto yy280; yy564: YYDEBUG(564, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'W') goto yy565; + if (yych != 'w') goto yy280; +yy565: YYDEBUG(565, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy564; - goto yy274; - } else { - if (yych <= ' ') goto yy564; - if (yych != ')') goto yy274; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; } YYDEBUG(566, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(567, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1655 "Zend/zend_language_scanner.l" +#line 1611 "Zend/zend_language_scanner.l" { - return T_UNSET_CAST; + return T_NEW; } -#line 6476 "Zend/zend_language_scanner.c" +#line 6474 "Zend/zend_language_scanner.c" +yy567: + YYDEBUG(567, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy568; + if (yych != 'e') goto yy280; yy568: YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy569; - if (yych != 'r') goto yy284; + if (yych == 'S') goto yy569; + if (yych != 's') goto yy280; yy569: YYDEBUG(569, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'P') goto yy570; + if (yych != 'p') goto yy280; +yy570: YYDEBUG(570, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1619 "Zend/zend_language_scanner.l" - { - return T_VAR; -} -#line 6494 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'A') goto yy571; + if (yych != 'a') goto yy280; yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy575; - if (yych == 'm') goto yy575; - goto yy284; + if (yych == 'C') goto yy572; + if (yych != 'c') goto yy280; yy572: YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy573; - if (yych != 'w') goto yy284; + if (yych == 'E') goto yy573; + if (yych != 'e') goto yy280; yy573: YYDEBUG(573, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } YYDEBUG(574, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1611 "Zend/zend_language_scanner.l" +#line 1679 "Zend/zend_language_scanner.l" { - return T_NEW; + return T_NAMESPACE; } -#line 6518 "Zend/zend_language_scanner.c" +#line 6517 "Zend/zend_language_scanner.c" yy575: YYDEBUG(575, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy576; - if (yych != 'e') goto yy284; -yy576: + ++YYCURSOR; YYDEBUG(576, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy577; - if (yych != 's') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1607 "Zend/zend_language_scanner.l" + { + return T_PAAMAYIM_NEKUDOTAYIM; +} +#line 6527 "Zend/zend_language_scanner.c" yy577: YYDEBUG(577, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy578; - if (yych != 'p') goto yy284; + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; yy578: YYDEBUG(578, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy579; - if (yych != 'a') goto yy284; + if (yych <= '\f') { + if (yych <= 0x08) goto yy221; + if (yych <= '\n') goto yy577; + goto yy221; + } else { + if (yych <= '\r') goto yy577; + if (yych == ' ') goto yy577; + goto yy221; + } yy579: YYDEBUG(579, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy580; - if (yych != 'c') goto yy284; -yy580: + ++YYCURSOR; YYDEBUG(580, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy581; - if (yych != 'e') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1779 "Zend/zend_language_scanner.l" + { + return T_MINUS_EQUAL; +} +#line 6553 "Zend/zend_language_scanner.c" yy581: YYDEBUG(581, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } YYDEBUG(582, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1747 "Zend/zend_language_scanner.l" { - return T_NAMESPACE; + return T_DEC; } -#line 6561 "Zend/zend_language_scanner.c" +#line 6563 "Zend/zend_language_scanner.c" yy583: YYDEBUG(583, *YYCURSOR); ++YYCURSOR; YYDEBUG(584, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1607 "Zend/zend_language_scanner.l" +#line 1573 "Zend/zend_language_scanner.l" { - return T_PAAMAYIM_NEKUDOTAYIM; + yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); + return T_OBJECT_OPERATOR; } -#line 6571 "Zend/zend_language_scanner.c" +#line 6574 "Zend/zend_language_scanner.c" yy585: YYDEBUG(585, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; -yy586: - YYDEBUG(586, *YYCURSOR); - if (yych <= '\f') { - if (yych <= 0x08) goto yy225; - if (yych <= '\n') goto yy585; - goto yy225; + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych == 'I') goto yy592; + if (yych <= 'N') goto yy280; + goto yy593; } else { - if (yych <= '\r') goto yy585; - if (yych == ' ') goto yy585; - goto yy225; + if (yych <= 'i') { + if (yych <= 'h') goto yy280; + goto yy592; + } else { + if (yych == 'o') goto yy593; + goto yy280; + } } +yy586: + YYDEBUG(586, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy587; + if (yych != 'b') goto yy280; yy587: YYDEBUG(587, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'L') goto yy588; + if (yych != 'l') goto yy280; +yy588: YYDEBUG(588, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1779 "Zend/zend_language_scanner.l" - { - return T_MINUS_EQUAL; -} -#line 6597 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'I') goto yy589; + if (yych != 'i') goto yy280; yy589: YYDEBUG(589, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'C') goto yy590; + if (yych != 'c') goto yy280; +yy590: YYDEBUG(590, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1747 "Zend/zend_language_scanner.l" - { - return T_DEC; -} -#line 6607 "Zend/zend_language_scanner.c" -yy591: - YYDEBUG(591, *YYCURSOR); ++YYCURSOR; - YYDEBUG(592, *YYCURSOR); + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } + YYDEBUG(591, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1573 "Zend/zend_language_scanner.l" +#line 1723 "Zend/zend_language_scanner.l" { - yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); - return T_OBJECT_OPERATOR; + return T_PUBLIC; } -#line 6618 "Zend/zend_language_scanner.c" -yy593: - YYDEBUG(593, *YYCURSOR); +#line 6623 "Zend/zend_language_scanner.c" +yy592: + YYDEBUG(592, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy600; - if (yych <= 'N') goto yy284; - goto yy601; + if (yych <= 'V') { + if (yych == 'N') goto yy601; + if (yych <= 'U') goto yy280; + goto yy602; } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy284; - goto yy600; + if (yych <= 'n') { + if (yych <= 'm') goto yy280; + goto yy601; } else { - if (yych == 'o') goto yy601; - goto yy284; + if (yych == 'v') goto yy602; + goto yy280; } } +yy593: + YYDEBUG(593, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy594; + if (yych != 't') goto yy280; yy594: YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy595; - if (yych != 'b') goto yy284; + if (yych == 'E') goto yy595; + if (yych != 'e') goto yy280; yy595: YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy596; - if (yych != 'l') goto yy284; + if (yych == 'C') goto yy596; + if (yych != 'c') goto yy280; yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy597; - if (yych != 'i') goto yy284; + if (yych == 'T') goto yy597; + if (yych != 't') goto yy280; yy597: YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy598; - if (yych != 'c') goto yy284; + if (yych == 'E') goto yy598; + if (yych != 'e') goto yy280; yy598: YYDEBUG(598, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'D') goto yy599; + if (yych != 'd') goto yy280; +yy599: + YYDEBUG(599, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(599, *YYCURSOR); + YYDEBUG(600, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1723 "Zend/zend_language_scanner.l" +#line 1719 "Zend/zend_language_scanner.l" { - return T_PUBLIC; + return T_PROTECTED; } -#line 6667 "Zend/zend_language_scanner.c" -yy600: - YYDEBUG(600, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych == 'N') goto yy609; - if (yych <= 'U') goto yy284; - goto yy610; - } else { - if (yych <= 'n') { - if (yych <= 'm') goto yy284; - goto yy609; - } else { - if (yych == 'v') goto yy610; - goto yy284; - } - } +#line 6682 "Zend/zend_language_scanner.c" yy601: YYDEBUG(601, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy602; - if (yych != 't') goto yy284; + if (yych == 'T') goto yy607; + if (yych == 't') goto yy607; + goto yy280; yy602: YYDEBUG(602, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy603; - if (yych != 'e') goto yy284; + if (yych == 'A') goto yy603; + if (yych != 'a') goto yy280; yy603: YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy604; - if (yych != 'c') goto yy284; + if (yych == 'T') goto yy604; + if (yych != 't') goto yy280; yy604: YYDEBUG(604, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy605; - if (yych != 't') goto yy284; + if (yych == 'E') goto yy605; + if (yych != 'e') goto yy280; yy605: YYDEBUG(605, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy606; - if (yych != 'e') goto yy284; -yy606: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(606, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy607; - if (yych != 'd') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1715 "Zend/zend_language_scanner.l" + { + return T_PRIVATE; +} +#line 6716 "Zend/zend_language_scanner.c" yy607: YYDEBUG(607, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } YYDEBUG(608, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1719 "Zend/zend_language_scanner.l" +#line 1553 "Zend/zend_language_scanner.l" { - return T_PROTECTED; + return T_PRINT; } -#line 6726 "Zend/zend_language_scanner.c" +#line 6729 "Zend/zend_language_scanner.c" yy609: YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy615; - if (yych == 't') goto yy615; - goto yy284; + if (yych == 'O') goto yy614; + if (yych == 'o') goto yy614; + goto yy280; yy610: YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy611; - if (yych != 'a') goto yy284; + if (yych == 'T') goto yy611; + if (yych != 't') goto yy280; yy611: YYDEBUG(611, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy612; - if (yych != 't') goto yy284; + if (yych == 'O') goto yy612; + if (yych != 'o') goto yy280; yy612: YYDEBUG(612, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy613; - if (yych != 'e') goto yy284; -yy613: - YYDEBUG(613, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(614, *YYCURSOR); + YYDEBUG(613, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1715 "Zend/zend_language_scanner.l" +#line 1545 "Zend/zend_language_scanner.l" { - return T_PRIVATE; + return T_GOTO; } -#line 6760 "Zend/zend_language_scanner.c" +#line 6758 "Zend/zend_language_scanner.c" +yy614: + YYDEBUG(614, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy615; + if (yych != 'b') goto yy280; yy615: YYDEBUG(615, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'A') goto yy616; + if (yych != 'a') goto yy280; +yy616: YYDEBUG(616, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1553 "Zend/zend_language_scanner.l" - { - return T_PRINT; -} -#line 6773 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'L') goto yy617; + if (yych != 'l') goto yy280; yy617: YYDEBUG(617, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy622; - if (yych == 'o') goto yy622; - goto yy284; -yy618: - YYDEBUG(618, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy619; - if (yych != 't') goto yy284; -yy619: - YYDEBUG(619, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy620; - if (yych != 'o') goto yy284; -yy620: - YYDEBUG(620, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } - YYDEBUG(621, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1545 "Zend/zend_language_scanner.l" - { - return T_GOTO; -} -#line 6802 "Zend/zend_language_scanner.c" -yy622: - YYDEBUG(622, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy623; - if (yych != 'b') goto yy284; -yy623: - YYDEBUG(623, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy624; - if (yych != 'a') goto yy284; -yy624: - YYDEBUG(624, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy625; - if (yych != 'l') goto yy284; -yy625: - YYDEBUG(625, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(626, *YYCURSOR); + YYDEBUG(618, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1687 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 6830 "Zend/zend_language_scanner.c" -yy627: - YYDEBUG(627, *YYCURSOR); +#line 6786 "Zend/zend_language_scanner.c" +yy619: + YYDEBUG(619, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy650; - goto yy274; -yy628: - YYDEBUG(628, *YYCURSOR); + if (yych == '<') goto yy642; + goto yy270; +yy620: + YYDEBUG(620, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); - goto yy643; -yy629: - YYDEBUG(629, *YYCURSOR); + goto yy635; +yy621: + YYDEBUG(621, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2421 "Zend/zend_language_scanner.l" { BEGIN(ST_DOUBLE_QUOTES); return T_BINARY_DOUBLE; } -#line 6849 "Zend/zend_language_scanner.c" -yy630: - YYDEBUG(630, *YYCURSOR); +#line 6805 "Zend/zend_language_scanner.c" +yy622: + YYDEBUG(622, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(631, *YYCURSOR); - if (yych == '\'') goto yy638; - if (yych == '\\') goto yy637; - goto yy630; -yy632: - YYDEBUG(632, *YYCURSOR); + YYDEBUG(623, *YYCURSOR); + if (yych == '\'') goto yy630; + if (yych == '\\') goto yy629; + goto yy622; +yy624: + YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy633; - if (yych != 'e') goto yy284; -yy633: - YYDEBUG(633, *YYCURSOR); + if (yych == 'E') goto yy625; + if (yych != 'e') goto yy280; +yy625: + YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy634; - if (yych != 'a') goto yy284; -yy634: - YYDEBUG(634, *YYCURSOR); + if (yych == 'A') goto yy626; + if (yych != 'a') goto yy280; +yy626: + YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy635; - if (yych != 'k') goto yy284; -yy635: - YYDEBUG(635, *YYCURSOR); + if (yych == 'K') goto yy627; + if (yych != 'k') goto yy280; +yy627: + YYDEBUG(627, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(636, *YYCURSOR); + YYDEBUG(628, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1537 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 6886 "Zend/zend_language_scanner.c" -yy637: - YYDEBUG(637, *YYCURSOR); +#line 6842 "Zend/zend_language_scanner.c" +yy629: + YYDEBUG(629, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy630; -yy638: - YYDEBUG(638, *YYCURSOR); + goto yy622; +yy630: + YYDEBUG(630, *YYCURSOR); ++YYCURSOR; - YYDEBUG(639, *YYCURSOR); + YYDEBUG(631, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2410 "Zend/zend_language_scanner.l" { zend_scan_binary_single_string(zendlval, yytext+2, yyleng-3 TSRMLS_CC); return T_CONSTANT_ENCAPSED_STRING; } -#line 6903 "Zend/zend_language_scanner.c" -yy640: - YYDEBUG(640, *YYCURSOR); +#line 6859 "Zend/zend_language_scanner.c" +yy632: + YYDEBUG(632, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(641, *YYCURSOR); + YYDEBUG(633, *YYCURSOR); if (yych <= '$') { - if (yych == '"') goto yy647; - if (yych >= '$') goto yy274; + if (yych == '"') goto yy639; + if (yych >= '$') goto yy270; } else { if (yych <= '\\') { - if (yych >= '\\') goto yy644; + if (yych >= '\\') goto yy636; } else { - if (yych == '{') goto yy640; + if (yych == '{') goto yy632; } } -yy642: - YYDEBUG(642, *YYCURSOR); +yy634: + YYDEBUG(634, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy643: - YYDEBUG(643, *YYCURSOR); +yy635: + YYDEBUG(635, *YYCURSOR); if (yych <= '$') { - if (yych == '"') goto yy647; - if (yych <= '#') goto yy642; - goto yy645; + if (yych == '"') goto yy639; + if (yych <= '#') goto yy634; + goto yy637; } else { if (yych <= '\\') { - if (yych <= '[') goto yy642; + if (yych <= '[') goto yy634; } else { - if (yych == '{') goto yy640; - goto yy642; + if (yych == '{') goto yy632; + goto yy634; } } -yy644: - YYDEBUG(644, *YYCURSOR); +yy636: + YYDEBUG(636, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy642; -yy645: - YYDEBUG(645, *YYCURSOR); + goto yy634; +yy637: + YYDEBUG(637, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(646, *YYCURSOR); + YYDEBUG(638, *YYCURSOR); if (yych <= '[') { if (yych <= '#') { - if (yych != '"') goto yy642; + if (yych != '"') goto yy634; } else { - if (yych <= '$') goto yy645; - if (yych <= '@') goto yy642; - if (yych <= 'Z') goto yy274; - goto yy642; + if (yych <= '$') goto yy637; + if (yych <= '@') goto yy634; + if (yych <= 'Z') goto yy270; + goto yy634; } } else { if (yych <= '_') { - if (yych <= '\\') goto yy649; - if (yych <= '^') goto yy642; - goto yy274; + if (yych <= '\\') goto yy641; + if (yych <= '^') goto yy634; + goto yy270; } else { - if (yych <= '`') goto yy642; - if (yych <= '{') goto yy274; - if (yych <= '~') goto yy642; - goto yy274; + if (yych <= '`') goto yy634; + if (yych <= '{') goto yy270; + if (yych <= '~') goto yy634; + goto yy270; } } -yy647: - YYDEBUG(647, *YYCURSOR); +yy639: + YYDEBUG(639, *YYCURSOR); ++YYCURSOR; - YYDEBUG(648, *YYCURSOR); + YYDEBUG(640, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2394 "Zend/zend_language_scanner.l" { zend_scan_binary_escape_string(zendlval, yytext+2, yyleng-3, '"' TSRMLS_CC); return T_CONSTANT_ENCAPSED_STRING; } -#line 6982 "Zend/zend_language_scanner.c" -yy649: - YYDEBUG(649, *YYCURSOR); +#line 6938 "Zend/zend_language_scanner.c" +yy641: + YYDEBUG(641, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy642; + goto yy634; +yy642: + YYDEBUG(642, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '<') goto yy359; + goto yy270; +yy643: + YYDEBUG(643, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy650; + if (yych == 'a') goto yy650; + goto yy280; +yy644: + YYDEBUG(644, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy645; + if (yych != 'i') goto yy280; +yy645: + YYDEBUG(645, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy646; + if (yych != 't') goto yy280; +yy646: + YYDEBUG(646, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy647; + if (yych != 'c') goto yy280; +yy647: + YYDEBUG(647, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy648; + if (yych != 'h') goto yy280; +yy648: + YYDEBUG(648, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } + YYDEBUG(649, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1521 "Zend/zend_language_scanner.l" + { + return T_SWITCH; +} +#line 6988 "Zend/zend_language_scanner.c" yy650: YYDEBUG(650, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '<') goto yy274; + if (yych == 'T') goto yy651; + if (yych != 't') goto yy280; yy651: YYDEBUG(651, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'I') goto yy652; + if (yych != 'i') goto yy280; +yy652: YYDEBUG(652, *YYCURSOR); - if (yych <= '\'') { - if (yych <= ' ') { - if (yych == '\t') goto yy651; - if (yych <= 0x1F) goto yy274; - goto yy651; - } else { - if (yych == '"') goto yy655; - if (yych <= '&') goto yy274; - goto yy365; - } - } else { - if (yych <= '_') { - if (yych <= '@') goto yy274; - if (yych <= 'Z') goto yy653; - if (yych <= '^') goto yy274; - } else { - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy653; - if (yych <= '~') goto yy274; - } - } + yych = *++YYCURSOR; + if (yych == 'C') goto yy653; + if (yych != 'c') goto yy280; yy653: YYDEBUG(653, *YYCURSOR); ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(654, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\f') { - if (yych == '\n') goto yy659; - goto yy274; - } else { - if (yych <= '\r') goto yy661; - if (yych <= '/') goto yy274; - if (yych <= '9') goto yy653; - goto yy274; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy653; - if (yych <= '^') goto yy274; - goto yy653; - } else { - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy653; - if (yych <= '~') goto yy274; - goto yy653; - } + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; } + YYDEBUG(654, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1703 "Zend/zend_language_scanner.l" + { + return T_STATIC; +} +#line 7016 "Zend/zend_language_scanner.c" yy655: YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '"') goto yy274; - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy274; - goto yy657; + if (yych == 'S') goto yy666; + if (yych == 's') goto yy666; + goto yy280; yy656: YYDEBUG(656, *YYCURSOR); - ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'D') goto yy664; + if (yych == 'd') goto yy664; + goto yy280; yy657: YYDEBUG(657, *YYCURSOR); - if (yych <= 'Z') { - if (yych <= '/') { - if (yych != '"') goto yy274; - } else { - if (yych <= '9') goto yy656; - if (yych <= '@') goto yy274; - goto yy656; - } - } else { - if (yych <= '`') { - if (yych == '_') goto yy656; - goto yy274; - } else { - if (yych <= 'z') goto yy656; - if (yych <= '~') goto yy274; - goto yy656; - } - } - YYDEBUG(658, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy659; - if (yych == '\r') goto yy661; - goto yy274; -yy659: - YYDEBUG(659, *YYCURSOR); + if (yych == 'R') goto yy660; + if (yych == 'r') goto yy660; + goto yy280; +yy658: + YYDEBUG(658, *YYCURSOR); ++YYCURSOR; -yy660: - YYDEBUG(660, *YYCURSOR); + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } + YYDEBUG(659, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2426 "Zend/zend_language_scanner.l" +#line 1517 "Zend/zend_language_scanner.l" { - char *s; - - CG(zend_lineno)++; - CG(heredoc_len) = yyleng-4-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+4; - while ((*s == ' ') || (*s == '\t')) { - s++; - CG(heredoc_len)--; - } - - if (*s == '"') { - s++; - CG(heredoc_len) -= 2; - } - CG(heredoc) = estrndup(s, CG(heredoc_len)); - BEGIN(ST_START_HEREDOC); - return T_BINARY_HEREDOC; + return T_AS; } -#line 7111 "Zend/zend_language_scanner.c" +#line 7047 "Zend/zend_language_scanner.c" +yy660: + YYDEBUG(660, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy661; + if (yych != 'a') goto yy280; yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy659; - goto yy660; + if (yych == 'Y') goto yy662; + if (yych != 'y') goto yy280; yy662: YYDEBUG(662, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy669; - if (yych == 'a') goto yy669; - goto yy284; -yy663: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(663, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy664; - if (yych != 'i') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1739 "Zend/zend_language_scanner.l" + { + return T_ARRAY; +} +#line 7070 "Zend/zend_language_scanner.c" yy664: YYDEBUG(664, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy665; - if (yych != 't') goto yy284; -yy665: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(665, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy666; - if (yych != 'c') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1831 "Zend/zend_language_scanner.l" + { + return T_LOGICAL_AND; +} +#line 7083 "Zend/zend_language_scanner.c" yy666: YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy667; - if (yych != 'h') goto yy284; + if (yych == 'T') goto yy667; + if (yych != 't') goto yy280; yy667: YYDEBUG(667, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'R') goto yy668; + if (yych != 'r') goto yy280; +yy668: YYDEBUG(668, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1521 "Zend/zend_language_scanner.l" - { - return T_SWITCH; -} -#line 7155 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'A') goto yy669; + if (yych != 'a') goto yy280; yy669: YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy670; - if (yych != 't') goto yy284; + if (yych == 'C') goto yy670; + if (yych != 'c') goto yy280; yy670: YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy671; - if (yych != 'i') goto yy284; + if (yych == 'T') goto yy671; + if (yych != 't') goto yy280; yy671: YYDEBUG(671, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy672; - if (yych != 'c') goto yy284; -yy672: - YYDEBUG(672, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(673, *YYCURSOR); + YYDEBUG(672, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1703 "Zend/zend_language_scanner.l" +#line 1707 "Zend/zend_language_scanner.l" { - return T_STATIC; + return T_ABSTRACT; } -#line 7183 "Zend/zend_language_scanner.c" +#line 7121 "Zend/zend_language_scanner.c" +yy673: + YYDEBUG(673, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy674; + if (yych != 'i') goto yy280; yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy685; - if (yych == 's') goto yy685; - goto yy284; + if (yych == 'L') goto yy675; + if (yych != 'l') goto yy280; yy675: YYDEBUG(675, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy683; - if (yych == 'd') goto yy683; - goto yy284; + if (yych == 'E') goto yy676; + if (yych != 'e') goto yy280; yy676: YYDEBUG(676, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy679; - if (yych == 'r') goto yy679; - goto yy284; -yy677: - YYDEBUG(677, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(678, *YYCURSOR); + YYDEBUG(677, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1517 "Zend/zend_language_scanner.l" +#line 1477 "Zend/zend_language_scanner.l" { - return T_AS; + return T_WHILE; } -#line 7214 "Zend/zend_language_scanner.c" -yy679: +#line 7149 "Zend/zend_language_scanner.c" +yy678: + YYDEBUG(678, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(679, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy680; - if (yych != 'a') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1461 "Zend/zend_language_scanner.l" + { + return T_IF; +} +#line 7162 "Zend/zend_language_scanner.c" yy680: YYDEBUG(680, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy681; - if (yych != 'y') goto yy284; + if (yych == 'P') goto yy716; + if (yych == 'p') goto yy716; + goto yy280; yy681: YYDEBUG(681, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= 'C') { + if (yych <= 'B') goto yy280; + goto yy689; + } else { + if (yych <= 'R') goto yy280; + if (yych <= 'S') goto yy687; + goto yy688; + } + } else { + if (yych <= 'r') { + if (yych == 'c') goto yy689; + goto yy280; + } else { + if (yych <= 's') goto yy687; + if (yych <= 't') goto yy688; + goto yy280; + } } +yy682: YYDEBUG(682, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1739 "Zend/zend_language_scanner.l" - { - return T_ARRAY; -} -#line 7237 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'S') goto yy683; + if (yych != 's') goto yy280; yy683: YYDEBUG(683, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy684; + if (yych != 'e') goto yy280; +yy684: + YYDEBUG(684, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy685; + if (yych != 't') goto yy280; +yy685: + YYDEBUG(685, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(684, *YYCURSOR); + YYDEBUG(686, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1831 "Zend/zend_language_scanner.l" +#line 1691 "Zend/zend_language_scanner.l" { - return T_LOGICAL_AND; + return T_ISSET; } -#line 7250 "Zend/zend_language_scanner.c" -yy685: - YYDEBUG(685, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy686; - if (yych != 't') goto yy284; -yy686: - YYDEBUG(686, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy687; - if (yych != 'r') goto yy284; +#line 7218 "Zend/zend_language_scanner.c" yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy688; - if (yych != 'a') goto yy284; + if (yych == 'T') goto yy708; + if (yych == 't') goto yy708; + goto yy280; yy688: YYDEBUG(688, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy689; - if (yych != 'c') goto yy284; + if (yych == 'E') goto yy701; + if (yych == 'e') goto yy701; + goto yy280; yy689: YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy690; - if (yych != 't') goto yy284; + if (yych == 'L') goto yy690; + if (yych != 'l') goto yy280; yy690: YYDEBUG(690, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'U') goto yy691; + if (yych != 'u') goto yy280; +yy691: YYDEBUG(691, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1707 "Zend/zend_language_scanner.l" - { - return T_ABSTRACT; -} -#line 7288 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'D') goto yy692; + if (yych != 'd') goto yy280; yy692: YYDEBUG(692, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy693; - if (yych != 'i') goto yy284; + if (yych == 'E') goto yy693; + if (yych != 'e') goto yy280; yy693: YYDEBUG(693, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy694; - if (yych != 'l') goto yy284; -yy694: - YYDEBUG(694, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy695; - if (yych != 'e') goto yy284; -yy695: - YYDEBUG(695, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '9') { + if (yych >= '0') goto yy279; + } else { + if (yych <= '@') goto yy694; + if (yych <= 'Z') goto yy279; + } + } else { + if (yych <= '`') { + if (yych <= '_') goto yy695; + } else { + if (yych <= 'z') goto yy279; + if (yych >= 0x7F) goto yy279; + } } - YYDEBUG(696, *YYCURSOR); +yy694: + YYDEBUG(694, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1477 "Zend/zend_language_scanner.l" +#line 1663 "Zend/zend_language_scanner.l" { - return T_WHILE; + return T_INCLUDE; } -#line 7316 "Zend/zend_language_scanner.c" +#line 7276 "Zend/zend_language_scanner.c" +yy695: + YYDEBUG(695, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy696; + if (yych != 'o') goto yy280; +yy696: + YYDEBUG(696, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy697; + if (yych != 'n') goto yy280; yy697: YYDEBUG(697, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy698; + if (yych != 'c') goto yy280; +yy698: + YYDEBUG(698, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy699; + if (yych != 'e') goto yy280; +yy699: + YYDEBUG(699, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(698, *YYCURSOR); + YYDEBUG(700, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1461 "Zend/zend_language_scanner.l" +#line 1667 "Zend/zend_language_scanner.l" { - return T_IF; + return T_INCLUDE_ONCE; } -#line 7329 "Zend/zend_language_scanner.c" -yy699: - YYDEBUG(699, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy735; - if (yych == 'p') goto yy735; - goto yy284; -yy700: - YYDEBUG(700, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= 'B') goto yy284; - goto yy708; - } else { - if (yych <= 'R') goto yy284; - if (yych <= 'S') goto yy706; - goto yy707; - } - } else { - if (yych <= 'r') { - if (yych == 'c') goto yy708; - goto yy284; - } else { - if (yych <= 's') goto yy706; - if (yych <= 't') goto yy707; - goto yy284; - } - } +#line 7309 "Zend/zend_language_scanner.c" yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy702; - if (yych != 's') goto yy284; + if (yych == 'R') goto yy702; + if (yych != 'r') goto yy280; yy702: YYDEBUG(702, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy703; - if (yych != 'e') goto yy284; + if (yych == 'F') goto yy703; + if (yych != 'f') goto yy280; yy703: YYDEBUG(703, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy704; - if (yych != 't') goto yy284; + if (yych == 'A') goto yy704; + if (yych != 'a') goto yy280; yy704: YYDEBUG(704, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy705; + if (yych != 'c') goto yy280; +yy705: + YYDEBUG(705, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy706; + if (yych != 'e') goto yy280; +yy706: + YYDEBUG(706, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(705, *YYCURSOR); + YYDEBUG(707, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1691 "Zend/zend_language_scanner.l" +#line 1561 "Zend/zend_language_scanner.l" { - return T_ISSET; + return T_INTERFACE; } -#line 7385 "Zend/zend_language_scanner.c" -yy706: - YYDEBUG(706, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy727; - if (yych == 't') goto yy727; - goto yy284; -yy707: - YYDEBUG(707, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy720; - if (yych == 'e') goto yy720; - goto yy284; +#line 7347 "Zend/zend_language_scanner.c" yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy709; - if (yych != 'l') goto yy284; + if (yych == 'A') goto yy709; + if (yych != 'a') goto yy280; yy709: YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy710; - if (yych != 'u') goto yy284; + if (yych == 'N') goto yy710; + if (yych != 'n') goto yy280; yy710: YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy711; - if (yych != 'd') goto yy284; + if (yych == 'C') goto yy711; + if (yych != 'c') goto yy280; yy711: YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy712; - if (yych != 'e') goto yy284; + if (yych != 'e') goto yy280; yy712: YYDEBUG(712, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy283; - } else { - if (yych <= '@') goto yy713; - if (yych <= 'Z') goto yy283; - } - } else { - if (yych <= '`') { - if (yych <= '_') goto yy714; - } else { - if (yych <= 'z') goto yy283; - if (yych >= 0x7F) goto yy283; - } - } + yych = *++YYCURSOR; + if (yych == 'O') goto yy713; + if (yych != 'o') goto yy280; yy713: YYDEBUG(713, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1663 "Zend/zend_language_scanner.l" - { - return T_INCLUDE; -} -#line 7443 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'F') goto yy714; + if (yych != 'f') goto yy280; yy714: YYDEBUG(714, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy715; - if (yych != 'o') goto yy284; -yy715: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(715, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy716; - if (yych != 'n') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1513 "Zend/zend_language_scanner.l" + { + return T_INSTANCEOF; +} +#line 7390 "Zend/zend_language_scanner.c" yy716: YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy717; - if (yych != 'c') goto yy284; + if (yych == 'L') goto yy717; + if (yych != 'l') goto yy280; yy717: YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy718; - if (yych != 'e') goto yy284; + if (yych != 'e') goto yy280; yy718: YYDEBUG(718, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'M') goto yy719; + if (yych != 'm') goto yy280; +yy719: YYDEBUG(719, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1667 "Zend/zend_language_scanner.l" - { - return T_INCLUDE_ONCE; -} -#line 7476 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy720; + if (yych != 'e') goto yy280; yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy721; - if (yych != 'r') goto yy284; + if (yych == 'N') goto yy721; + if (yych != 'n') goto yy280; yy721: YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy722; - if (yych != 'f') goto yy284; + if (yych == 'T') goto yy722; + if (yych != 't') goto yy280; yy722: YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy723; - if (yych != 'a') goto yy284; + if (yych == 'S') goto yy723; + if (yych != 's') goto yy280; yy723: YYDEBUG(723, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy724; - if (yych != 'c') goto yy284; -yy724: - YYDEBUG(724, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy725; - if (yych != 'e') goto yy284; -yy725: - YYDEBUG(725, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(726, *YYCURSOR); + YYDEBUG(724, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1561 "Zend/zend_language_scanner.l" +#line 1569 "Zend/zend_language_scanner.l" { - return T_INTERFACE; + return T_IMPLEMENTS; } -#line 7514 "Zend/zend_language_scanner.c" +#line 7438 "Zend/zend_language_scanner.c" +yy725: + YYDEBUG(725, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy729; + if (yych == 'r') goto yy729; + goto yy280; +yy726: + YYDEBUG(726, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy727; + if (yych != 'y') goto yy280; yy727: YYDEBUG(727, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy728; - if (yych != 'a') goto yy284; -yy728: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(728, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy729; - if (yych != 'n') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1449 "Zend/zend_language_scanner.l" + { + return T_TRY; +} +#line 7462 "Zend/zend_language_scanner.c" yy729: YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy730; - if (yych != 'c') goto yy284; + if (yych == 'O') goto yy730; + if (yych != 'o') goto yy280; yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy731; - if (yych != 'e') goto yy284; + if (yych == 'W') goto yy731; + if (yych != 'w') goto yy280; yy731: YYDEBUG(731, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy732; - if (yych != 'o') goto yy284; -yy732: - YYDEBUG(732, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy733; - if (yych != 'f') goto yy284; -yy733: - YYDEBUG(733, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(734, *YYCURSOR); + YYDEBUG(732, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1513 "Zend/zend_language_scanner.l" +#line 1457 "Zend/zend_language_scanner.l" { - return T_INSTANCEOF; + return T_THROW; } -#line 7557 "Zend/zend_language_scanner.c" +#line 7485 "Zend/zend_language_scanner.c" +yy733: + YYDEBUG(733, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych == 'Q') goto yy735; + if (yych <= 'S') goto yy280; + } else { + if (yych <= 'q') { + if (yych <= 'p') goto yy280; + goto yy735; + } else { + if (yych != 't') goto yy280; + } + } + YYDEBUG(734, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'U') goto yy747; + if (yych == 'u') goto yy747; + goto yy280; yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy736; - if (yych != 'l') goto yy284; + if (yych == 'U') goto yy736; + if (yych != 'u') goto yy280; yy736: YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy737; - if (yych != 'e') goto yy284; + if (yych == 'I') goto yy737; + if (yych != 'i') goto yy280; yy737: YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy738; - if (yych != 'm') goto yy284; + if (yych == 'R') goto yy738; + if (yych != 'r') goto yy280; yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy739; - if (yych != 'e') goto yy284; + if (yych != 'e') goto yy280; yy739: YYDEBUG(739, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy740; - if (yych != 'n') goto yy284; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '9') { + if (yych >= '0') goto yy279; + } else { + if (yych <= '@') goto yy740; + if (yych <= 'Z') goto yy279; + } + } else { + if (yych <= '`') { + if (yych <= '_') goto yy741; + } else { + if (yych <= 'z') goto yy279; + if (yych >= 0x7F) goto yy279; + } + } yy740: YYDEBUG(740, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy741; - if (yych != 't') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1671 "Zend/zend_language_scanner.l" + { + return T_REQUIRE; +} +#line 7550 "Zend/zend_language_scanner.c" yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy742; - if (yych != 's') goto yy284; + if (yych == 'O') goto yy742; + if (yych != 'o') goto yy280; yy742: YYDEBUG(742, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'N') goto yy743; + if (yych != 'n') goto yy280; +yy743: YYDEBUG(743, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1569 "Zend/zend_language_scanner.l" - { - return T_IMPLEMENTS; -} -#line 7605 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'C') goto yy744; + if (yych != 'c') goto yy280; yy744: YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy748; - if (yych == 'r') goto yy748; - goto yy284; + if (yych == 'E') goto yy745; + if (yych != 'e') goto yy280; yy745: YYDEBUG(745, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy746; - if (yych != 'y') goto yy284; -yy746: - YYDEBUG(746, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(747, *YYCURSOR); + YYDEBUG(746, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1449 "Zend/zend_language_scanner.l" +#line 1675 "Zend/zend_language_scanner.l" { - return T_TRY; + return T_REQUIRE_ONCE; } -#line 7629 "Zend/zend_language_scanner.c" +#line 7583 "Zend/zend_language_scanner.c" +yy747: + YYDEBUG(747, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy748; + if (yych != 'r') goto yy280; yy748: YYDEBUG(748, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy749; - if (yych != 'o') goto yy284; + if (yych == 'N') goto yy749; + if (yych != 'n') goto yy280; yy749: YYDEBUG(749, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy750; - if (yych != 'w') goto yy284; -yy750: - YYDEBUG(750, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(751, *YYCURSOR); + YYDEBUG(750, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1457 "Zend/zend_language_scanner.l" +#line 1445 "Zend/zend_language_scanner.l" { - return T_THROW; + return T_RETURN; } -#line 7652 "Zend/zend_language_scanner.c" +#line 7606 "Zend/zend_language_scanner.c" +yy751: + YYDEBUG(751, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= 'R') goto yy280; + if (yych <= 'S') goto yy773; + goto yy772; + } else { + if (yych <= 'r') goto yy280; + if (yych <= 's') goto yy773; + if (yych <= 't') goto yy772; + goto yy280; + } yy752: YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych == 'Q') goto yy754; - if (yych <= 'S') goto yy284; + if (yych <= 'O') { + if (yych == 'A') goto yy764; + if (yych <= 'N') goto yy280; + goto yy765; } else { - if (yych <= 'q') { - if (yych <= 'p') goto yy284; - goto yy754; + if (yych <= 'a') { + if (yych <= '`') goto yy280; + goto yy764; } else { - if (yych != 't') goto yy284; + if (yych == 'o') goto yy765; + goto yy280; } } +yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy766; - if (yych == 'u') goto yy766; - goto yy284; + if (yych == 'N') goto yy754; + if (yych != 'n') goto yy280; yy754: YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy755; - if (yych != 'u') goto yy284; + if (yych <= 'T') { + if (yych <= 'R') goto yy280; + if (yych >= 'T') goto yy756; + } else { + if (yych <= 'r') goto yy280; + if (yych <= 's') goto yy755; + if (yych <= 't') goto yy756; + goto yy280; + } yy755: YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy756; - if (yych != 'i') goto yy284; + if (yych == 'T') goto yy762; + if (yych == 't') goto yy762; + goto yy280; yy756: YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy757; - if (yych != 'r') goto yy284; + if (yych == 'I') goto yy757; + if (yych != 'i') goto yy280; yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy758; - if (yych != 'e') goto yy284; + if (yych == 'N') goto yy758; + if (yych != 'n') goto yy280; yy758: YYDEBUG(758, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy283; - } else { - if (yych <= '@') goto yy759; - if (yych <= 'Z') goto yy283; - } - } else { - if (yych <= '`') { - if (yych <= '_') goto yy760; - } else { - if (yych <= 'z') goto yy283; - if (yych >= 0x7F) goto yy283; - } - } + yych = *++YYCURSOR; + if (yych == 'U') goto yy759; + if (yych != 'u') goto yy280; yy759: YYDEBUG(759, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1671 "Zend/zend_language_scanner.l" - { - return T_REQUIRE; -} -#line 7717 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy760; + if (yych != 'e') goto yy280; yy760: YYDEBUG(760, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy761; - if (yych != 'o') goto yy284; -yy761: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(761, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy762; - if (yych != 'n') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1541 "Zend/zend_language_scanner.l" + { + return T_CONTINUE; +} +#line 7691 "Zend/zend_language_scanner.c" yy762: YYDEBUG(762, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy763; - if (yych != 'c') goto yy284; -yy763: - YYDEBUG(763, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy764; - if (yych != 'e') goto yy284; -yy764: - YYDEBUG(764, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(765, *YYCURSOR); + YYDEBUG(763, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1675 "Zend/zend_language_scanner.l" +#line 1441 "Zend/zend_language_scanner.l" { - return T_REQUIRE_ONCE; + return T_CONST; } -#line 7750 "Zend/zend_language_scanner.c" +#line 7704 "Zend/zend_language_scanner.c" +yy764: + YYDEBUG(764, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy769; + if (yych == 's') goto yy769; + goto yy280; +yy765: + YYDEBUG(765, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy766; + if (yych != 'n') goto yy280; yy766: YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy767; - if (yych != 'r') goto yy284; + if (yych == 'E') goto yy767; + if (yych != 'e') goto yy280; yy767: YYDEBUG(767, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy768; - if (yych != 'n') goto yy284; -yy768: - YYDEBUG(768, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(769, *YYCURSOR); + YYDEBUG(768, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1445 "Zend/zend_language_scanner.l" +#line 1615 "Zend/zend_language_scanner.l" { - return T_RETURN; + return T_CLONE; } -#line 7773 "Zend/zend_language_scanner.c" +#line 7733 "Zend/zend_language_scanner.c" +yy769: + YYDEBUG(769, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy770; + if (yych != 's') goto yy280; yy770: YYDEBUG(770, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'R') goto yy284; - if (yych <= 'S') goto yy792; - goto yy791; - } else { - if (yych <= 'r') goto yy284; - if (yych <= 's') goto yy792; - if (yych <= 't') goto yy791; - goto yy284; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; } -yy771: YYDEBUG(771, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'A') goto yy783; - if (yych <= 'N') goto yy284; - goto yy784; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy284; - goto yy783; - } else { - if (yych == 'o') goto yy784; - goto yy284; - } - } + yyleng = YYCURSOR - SCNG(yy_text); +#line 1557 "Zend/zend_language_scanner.l" + { + return T_CLASS; +} +#line 7751 "Zend/zend_language_scanner.c" yy772: YYDEBUG(772, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy773; - if (yych != 'n') goto yy284; + if (yych == 'C') goto yy776; + if (yych == 'c') goto yy776; + goto yy280; yy773: YYDEBUG(773, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'R') goto yy284; - if (yych >= 'T') goto yy775; - } else { - if (yych <= 'r') goto yy284; - if (yych <= 's') goto yy774; - if (yych <= 't') goto yy775; - goto yy284; - } + if (yych == 'E') goto yy774; + if (yych != 'e') goto yy280; yy774: YYDEBUG(774, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy781; - if (yych == 't') goto yy781; - goto yy284; -yy775: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(775, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy776; - if (yych != 'i') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1529 "Zend/zend_language_scanner.l" + { + return T_CASE; +} +#line 7775 "Zend/zend_language_scanner.c" yy776: YYDEBUG(776, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy777; - if (yych != 'n') goto yy284; + if (yych == 'H') goto yy777; + if (yych != 'h') goto yy280; yy777: YYDEBUG(777, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy778; - if (yych != 'u') goto yy284; -yy778: - YYDEBUG(778, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy779; - if (yych != 'e') goto yy284; -yy779: - YYDEBUG(779, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(780, *YYCURSOR); + YYDEBUG(778, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1541 "Zend/zend_language_scanner.l" +#line 1453 "Zend/zend_language_scanner.l" { - return T_CONTINUE; + return T_CATCH; } -#line 7858 "Zend/zend_language_scanner.c" +#line 7793 "Zend/zend_language_scanner.c" +yy779: + YYDEBUG(779, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy796; + if (yych == 'n') goto yy796; + goto yy280; +yy780: + YYDEBUG(780, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy789; + if (yych == 'r') goto yy789; + goto yy280; yy781: YYDEBUG(781, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'N') goto yy782; + if (yych != 'n') goto yy280; +yy782: YYDEBUG(782, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1441 "Zend/zend_language_scanner.l" - { - return T_CONST; -} -#line 7871 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'C') goto yy783; + if (yych != 'c') goto yy280; yy783: YYDEBUG(783, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy788; - if (yych == 's') goto yy788; - goto yy284; + if (yych == 'T') goto yy784; + if (yych != 't') goto yy280; yy784: YYDEBUG(784, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy785; - if (yych != 'n') goto yy284; + if (yych == 'I') goto yy785; + if (yych != 'i') goto yy280; yy785: YYDEBUG(785, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy786; - if (yych != 'e') goto yy284; + if (yych == 'O') goto yy786; + if (yych != 'o') goto yy280; yy786: YYDEBUG(786, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy787; + if (yych != 'n') goto yy280; +yy787: + YYDEBUG(787, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(787, *YYCURSOR); + YYDEBUG(788, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1615 "Zend/zend_language_scanner.l" +#line 1437 "Zend/zend_language_scanner.l" { - return T_CLONE; + return T_FUNCTION; } -#line 7900 "Zend/zend_language_scanner.c" -yy788: - YYDEBUG(788, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy789; - if (yych != 's') goto yy284; +#line 7848 "Zend/zend_language_scanner.c" yy789: YYDEBUG(789, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { + if (yych <= '/') goto yy790; + if (yych <= '9') goto yy279; + } else { + if (yych == 'E') goto yy791; + if (yych <= 'Z') goto yy279; + } + } else { + if (yych <= 'd') { + if (yych != '`') goto yy279; + } else { + if (yych <= 'e') goto yy791; + if (yych <= 'z') goto yy279; + if (yych >= 0x7F) goto yy279; + } } +yy790: YYDEBUG(790, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1557 "Zend/zend_language_scanner.l" +#line 1489 "Zend/zend_language_scanner.l" { - return T_CLASS; + return T_FOR; } -#line 7918 "Zend/zend_language_scanner.c" +#line 7876 "Zend/zend_language_scanner.c" yy791: YYDEBUG(791, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy795; - if (yych == 'c') goto yy795; - goto yy284; + if (yych == 'A') goto yy792; + if (yych != 'a') goto yy280; yy792: YYDEBUG(792, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy793; - if (yych != 'e') goto yy284; + if (yych == 'C') goto yy793; + if (yych != 'c') goto yy280; yy793: YYDEBUG(793, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy794; + if (yych != 'h') goto yy280; +yy794: + YYDEBUG(794, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(794, *YYCURSOR); + YYDEBUG(795, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1529 "Zend/zend_language_scanner.l" +#line 1497 "Zend/zend_language_scanner.l" { - return T_CASE; + return T_FOREACH; } -#line 7942 "Zend/zend_language_scanner.c" -yy795: - YYDEBUG(795, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy796; - if (yych != 'h') goto yy284; +#line 7904 "Zend/zend_language_scanner.c" yy796: YYDEBUG(796, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy797; + if (yych != 'a') goto yy280; +yy797: + YYDEBUG(797, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy798; + if (yych != 'l') goto yy280; +yy798: + YYDEBUG(798, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(797, *YYCURSOR); + YYDEBUG(799, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1453 "Zend/zend_language_scanner.l" +#line 1711 "Zend/zend_language_scanner.l" { - return T_CATCH; + return T_FINAL; } -#line 7960 "Zend/zend_language_scanner.c" -yy798: - YYDEBUG(798, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy815; - if (yych == 'n') goto yy815; - goto yy284; -yy799: - YYDEBUG(799, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy808; - if (yych == 'r') goto yy808; - goto yy284; +#line 7927 "Zend/zend_language_scanner.c" yy800: YYDEBUG(800, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy801; - if (yych != 'n') goto yy284; + if (yych <= 'F') { + if (yych == 'C') goto yy806; + if (yych <= 'E') goto yy280; + goto yy807; + } else { + if (yych <= 'c') { + if (yych <= 'b') goto yy280; + goto yy806; + } else { + if (yych == 'f') goto yy807; + goto yy280; + } + } yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy802; - if (yych != 'c') goto yy284; + if (yych == 'E') goto yy804; + if (yych == 'e') goto yy804; + goto yy280; yy802: YYDEBUG(802, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy803; - if (yych != 't') goto yy284; -yy803: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(803, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy804; - if (yych != 'i') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1485 "Zend/zend_language_scanner.l" + { + return T_DO; +} +#line 7962 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy805; - if (yych != 'o') goto yy284; -yy805: - YYDEBUG(805, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy806; - if (yych != 'n') goto yy284; -yy806: - YYDEBUG(806, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(807, *YYCURSOR); + YYDEBUG(805, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1437 "Zend/zend_language_scanner.l" +#line 1433 "Zend/zend_language_scanner.l" { - return T_FUNCTION; + return T_EXIT; } -#line 8015 "Zend/zend_language_scanner.c" +#line 7975 "Zend/zend_language_scanner.c" +yy806: + YYDEBUG(806, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy813; + if (yych == 'l') goto yy813; + goto yy280; +yy807: + YYDEBUG(807, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy808; + if (yych != 'a') goto yy280; yy808: YYDEBUG(808, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '@') { - if (yych <= '/') goto yy809; - if (yych <= '9') goto yy283; - } else { - if (yych == 'E') goto yy810; - if (yych <= 'Z') goto yy283; - } - } else { - if (yych <= 'd') { - if (yych != '`') goto yy283; - } else { - if (yych <= 'e') goto yy810; - if (yych <= 'z') goto yy283; - if (yych >= 0x7F) goto yy283; - } - } + yych = *++YYCURSOR; + if (yych == 'U') goto yy809; + if (yych != 'u') goto yy280; yy809: YYDEBUG(809, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1489 "Zend/zend_language_scanner.l" - { - return T_FOR; -} -#line 8043 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'L') goto yy810; + if (yych != 'l') goto yy280; yy810: YYDEBUG(810, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy811; - if (yych != 'a') goto yy284; + if (yych == 'T') goto yy811; + if (yych != 't') goto yy280; yy811: YYDEBUG(811, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy812; - if (yych != 'c') goto yy284; -yy812: - YYDEBUG(812, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy813; - if (yych != 'h') goto yy284; -yy813: - YYDEBUG(813, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(814, *YYCURSOR); + YYDEBUG(812, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1497 "Zend/zend_language_scanner.l" +#line 1533 "Zend/zend_language_scanner.l" { - return T_FOREACH; + return T_DEFAULT; } -#line 8071 "Zend/zend_language_scanner.c" +#line 8014 "Zend/zend_language_scanner.c" +yy813: + YYDEBUG(813, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy814; + if (yych != 'a') goto yy280; +yy814: + YYDEBUG(814, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy815; + if (yych != 'r') goto yy280; yy815: YYDEBUG(815, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy816; - if (yych != 'a') goto yy284; + if (yych == 'E') goto yy816; + if (yych != 'e') goto yy280; yy816: YYDEBUG(816, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy817; - if (yych != 'l') goto yy284; -yy817: - YYDEBUG(817, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(818, *YYCURSOR); + YYDEBUG(817, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1711 "Zend/zend_language_scanner.l" +#line 1505 "Zend/zend_language_scanner.l" { - return T_FINAL; + return T_DECLARE; } -#line 8094 "Zend/zend_language_scanner.c" +#line 8042 "Zend/zend_language_scanner.c" +yy818: + YYDEBUG(818, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy880; + if (yych == 'h') goto yy880; + goto yy280; yy819: YYDEBUG(819, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'F') { - if (yych == 'C') goto yy825; - if (yych <= 'E') goto yy284; - goto yy826; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy284; - goto yy825; - } else { - if (yych == 'f') goto yy826; - goto yy284; - } - } + if (yych == 'S') goto yy874; + if (yych == 's') goto yy874; + goto yy280; yy820: YYDEBUG(820, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy823; - if (yych == 'e') goto yy823; - goto yy284; + if (yych == 'P') goto yy870; + if (yych == 'p') goto yy870; + goto yy280; yy821: YYDEBUG(821, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'D') goto yy836; + if (yych == 'd') goto yy836; + goto yy280; +yy822: YYDEBUG(822, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1485 "Zend/zend_language_scanner.l" - { - return T_DO; -} -#line 8129 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'A') goto yy833; + if (yych == 'a') goto yy833; + goto yy280; yy823: YYDEBUG(823, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych == 'I') goto yy824; + if (yych <= 'S') goto yy280; + goto yy825; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy280; + } else { + if (yych == 't') goto yy825; + goto yy280; + } } +yy824: YYDEBUG(824, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1433 "Zend/zend_language_scanner.l" - { - return T_EXIT; -} -#line 8142 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'T') goto yy831; + if (yych == 't') goto yy831; + goto yy280; yy825: YYDEBUG(825, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy832; - if (yych == 'l') goto yy832; - goto yy284; + if (yych == 'E') goto yy826; + if (yych != 'e') goto yy280; yy826: YYDEBUG(826, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy827; - if (yych != 'a') goto yy284; + if (yych == 'N') goto yy827; + if (yych != 'n') goto yy280; yy827: YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy828; - if (yych != 'u') goto yy284; + if (yych == 'D') goto yy828; + if (yych != 'd') goto yy280; yy828: YYDEBUG(828, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy829; - if (yych != 'l') goto yy284; + if (yych == 'S') goto yy829; + if (yych != 's') goto yy280; yy829: YYDEBUG(829, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy830; - if (yych != 't') goto yy284; -yy830: - YYDEBUG(830, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(831, *YYCURSOR); + YYDEBUG(830, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1533 "Zend/zend_language_scanner.l" +#line 1565 "Zend/zend_language_scanner.l" { - return T_DEFAULT; + return T_EXTENDS; } -#line 8181 "Zend/zend_language_scanner.c" -yy832: +#line 8126 "Zend/zend_language_scanner.c" +yy831: + YYDEBUG(831, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(832, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy833; - if (yych != 'a') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1429 "Zend/zend_language_scanner.l" + { + return T_EXIT; +} +#line 8139 "Zend/zend_language_scanner.c" yy833: YYDEBUG(833, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy834; - if (yych != 'r') goto yy284; + if (yych == 'L') goto yy834; + if (yych != 'l') goto yy280; yy834: YYDEBUG(834, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy835; - if (yych != 'e') goto yy284; -yy835: - YYDEBUG(835, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(836, *YYCURSOR); + YYDEBUG(835, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1505 "Zend/zend_language_scanner.l" +#line 1659 "Zend/zend_language_scanner.l" { - return T_DECLARE; + return T_EVAL; } -#line 8209 "Zend/zend_language_scanner.c" +#line 8157 "Zend/zend_language_scanner.c" +yy836: + YYDEBUG(836, *YYCURSOR); + yych = *++YYCURSOR; + YYDEBUG(-1, yych); + switch (yych) { + case 'D': + case 'd': goto yy837; + case 'F': + case 'f': goto yy838; + case 'I': + case 'i': goto yy839; + case 'S': + case 's': goto yy840; + case 'W': + case 'w': goto yy841; + default: goto yy280; + } yy837: YYDEBUG(837, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy899; - if (yych == 'h') goto yy899; - goto yy284; + if (yych == 'E') goto yy863; + if (yych == 'e') goto yy863; + goto yy280; yy838: YYDEBUG(838, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy893; - if (yych == 's') goto yy893; - goto yy284; + if (yych == 'O') goto yy855; + if (yych == 'o') goto yy855; + goto yy280; yy839: YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy889; - if (yych == 'p') goto yy889; - goto yy284; + if (yych == 'F') goto yy853; + if (yych == 'f') goto yy853; + goto yy280; yy840: YYDEBUG(840, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy855; - if (yych == 'd') goto yy855; - goto yy284; + if (yych == 'W') goto yy847; + if (yych == 'w') goto yy847; + goto yy280; yy841: YYDEBUG(841, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy852; - if (yych == 'a') goto yy852; - goto yy284; + if (yych == 'H') goto yy842; + if (yych != 'h') goto yy280; yy842: YYDEBUG(842, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych == 'I') goto yy843; - if (yych <= 'S') goto yy284; - goto yy844; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy284; - } else { - if (yych == 't') goto yy844; - goto yy284; - } - } + if (yych == 'I') goto yy843; + if (yych != 'i') goto yy280; yy843: YYDEBUG(843, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy850; - if (yych == 't') goto yy850; - goto yy284; + if (yych == 'L') goto yy844; + if (yych != 'l') goto yy280; yy844: YYDEBUG(844, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy845; - if (yych != 'e') goto yy284; + if (yych != 'e') goto yy280; yy845: YYDEBUG(845, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy846; - if (yych != 'n') goto yy284; -yy846: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(846, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy847; - if (yych != 'd') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1481 "Zend/zend_language_scanner.l" + { + return T_ENDWHILE; +} +#line 8231 "Zend/zend_language_scanner.c" yy847: YYDEBUG(847, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy848; - if (yych != 's') goto yy284; + if (yych == 'I') goto yy848; + if (yych != 'i') goto yy280; yy848: YYDEBUG(848, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'T') goto yy849; + if (yych != 't') goto yy280; +yy849: YYDEBUG(849, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1565 "Zend/zend_language_scanner.l" - { - return T_EXTENDS; -} -#line 8293 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'C') goto yy850; + if (yych != 'c') goto yy280; yy850: YYDEBUG(850, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy851; + if (yych != 'h') goto yy280; +yy851: + YYDEBUG(851, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(851, *YYCURSOR); + YYDEBUG(852, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1429 "Zend/zend_language_scanner.l" +#line 1525 "Zend/zend_language_scanner.l" { - return T_EXIT; + return T_ENDSWITCH; } -#line 8306 "Zend/zend_language_scanner.c" -yy852: - YYDEBUG(852, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy853; - if (yych != 'l') goto yy284; +#line 8264 "Zend/zend_language_scanner.c" yy853: YYDEBUG(853, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } YYDEBUG(854, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1659 "Zend/zend_language_scanner.l" +#line 1469 "Zend/zend_language_scanner.l" { - return T_EVAL; + return T_ENDIF; } -#line 8324 "Zend/zend_language_scanner.c" +#line 8277 "Zend/zend_language_scanner.c" yy855: YYDEBUG(855, *YYCURSOR); yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case 'D': - case 'd': goto yy856; - case 'F': - case 'f': goto yy857; - case 'I': - case 'i': goto yy858; - case 'S': - case 's': goto yy859; - case 'W': - case 'w': goto yy860; - default: goto yy284; - } + if (yych == 'R') goto yy856; + if (yych != 'r') goto yy280; yy856: YYDEBUG(856, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy882; - if (yych == 'e') goto yy882; - goto yy284; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { + if (yych <= '/') goto yy857; + if (yych <= '9') goto yy279; + } else { + if (yych == 'E') goto yy858; + if (yych <= 'Z') goto yy279; + } + } else { + if (yych <= 'd') { + if (yych != '`') goto yy279; + } else { + if (yych <= 'e') goto yy858; + if (yych <= 'z') goto yy279; + if (yych >= 0x7F) goto yy279; + } + } yy857: YYDEBUG(857, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy874; - if (yych == 'o') goto yy874; - goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1493 "Zend/zend_language_scanner.l" + { + return T_ENDFOR; +} +#line 8310 "Zend/zend_language_scanner.c" yy858: YYDEBUG(858, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy872; - if (yych == 'f') goto yy872; - goto yy284; + if (yych == 'A') goto yy859; + if (yych != 'a') goto yy280; yy859: YYDEBUG(859, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy866; - if (yych == 'w') goto yy866; - goto yy284; + if (yych == 'C') goto yy860; + if (yych != 'c') goto yy280; yy860: YYDEBUG(860, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy861; - if (yych != 'h') goto yy284; + if (yych != 'h') goto yy280; yy861: YYDEBUG(861, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy862; - if (yych != 'i') goto yy284; -yy862: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 8) { + goto yy279; + } YYDEBUG(862, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy863; - if (yych != 'l') goto yy284; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1501 "Zend/zend_language_scanner.l" + { + return T_ENDFOREACH; +} +#line 8338 "Zend/zend_language_scanner.c" yy863: YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy864; - if (yych != 'e') goto yy284; + if (yych == 'C') goto yy864; + if (yych != 'c') goto yy280; yy864: YYDEBUG(864, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } + yych = *++YYCURSOR; + if (yych == 'L') goto yy865; + if (yych != 'l') goto yy280; +yy865: YYDEBUG(865, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1481 "Zend/zend_language_scanner.l" - { - return T_ENDWHILE; -} -#line 8398 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'A') goto yy866; + if (yych != 'a') goto yy280; yy866: YYDEBUG(866, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy867; - if (yych != 'i') goto yy284; + if (yych == 'R') goto yy867; + if (yych != 'r') goto yy280; yy867: YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy868; - if (yych != 't') goto yy284; + if (yych == 'E') goto yy868; + if (yych != 'e') goto yy280; yy868: YYDEBUG(868, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy869; - if (yych != 'c') goto yy284; -yy869: - YYDEBUG(869, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy870; - if (yych != 'h') goto yy284; -yy870: - YYDEBUG(870, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(871, *YYCURSOR); + YYDEBUG(869, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1525 "Zend/zend_language_scanner.l" +#line 1509 "Zend/zend_language_scanner.l" { - return T_ENDSWITCH; + return T_ENDDECLARE; } -#line 8431 "Zend/zend_language_scanner.c" +#line 8376 "Zend/zend_language_scanner.c" +yy870: + YYDEBUG(870, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy871; + if (yych != 't') goto yy280; +yy871: + YYDEBUG(871, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy872; + if (yych != 'y') goto yy280; yy872: YYDEBUG(872, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } YYDEBUG(873, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1469 "Zend/zend_language_scanner.l" +#line 1695 "Zend/zend_language_scanner.l" { - return T_ENDIF; + return T_EMPTY; } -#line 8444 "Zend/zend_language_scanner.c" +#line 8399 "Zend/zend_language_scanner.c" yy874: YYDEBUG(874, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy875; - if (yych != 'r') goto yy284; + if (yych == 'E') goto yy875; + if (yych != 'e') goto yy280; yy875: YYDEBUG(875, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { if (yych <= '/') goto yy876; - if (yych <= '9') goto yy283; + if (yych <= '9') goto yy279; } else { - if (yych == 'E') goto yy877; - if (yych <= 'Z') goto yy283; + if (yych == 'I') goto yy877; + if (yych <= 'Z') goto yy279; } } else { - if (yych <= 'd') { - if (yych != '`') goto yy283; + if (yych <= 'h') { + if (yych != '`') goto yy279; } else { - if (yych <= 'e') goto yy877; - if (yych <= 'z') goto yy283; - if (yych >= 0x7F) goto yy283; + if (yych <= 'i') goto yy877; + if (yych <= 'z') goto yy279; + if (yych >= 0x7F) goto yy279; } } yy876: YYDEBUG(876, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1493 "Zend/zend_language_scanner.l" +#line 1473 "Zend/zend_language_scanner.l" { - return T_ENDFOR; + return T_ELSE; } -#line 8477 "Zend/zend_language_scanner.c" +#line 8432 "Zend/zend_language_scanner.c" yy877: YYDEBUG(877, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy878; - if (yych != 'a') goto yy284; + if (yych == 'F') goto yy878; + if (yych != 'f') goto yy280; yy878: YYDEBUG(878, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy879; - if (yych != 'c') goto yy284; -yy879: - YYDEBUG(879, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy880; - if (yych != 'h') goto yy284; -yy880: - YYDEBUG(880, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(881, *YYCURSOR); + YYDEBUG(879, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1501 "Zend/zend_language_scanner.l" +#line 1465 "Zend/zend_language_scanner.l" { - return T_ENDFOREACH; + return T_ELSEIF; } -#line 8505 "Zend/zend_language_scanner.c" -yy882: - YYDEBUG(882, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy883; - if (yych != 'c') goto yy284; -yy883: - YYDEBUG(883, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy884; - if (yych != 'l') goto yy284; -yy884: - YYDEBUG(884, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy885; - if (yych != 'a') goto yy284; -yy885: - YYDEBUG(885, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy886; - if (yych != 'r') goto yy284; -yy886: - YYDEBUG(886, *YYCURSOR); +#line 8450 "Zend/zend_language_scanner.c" +yy880: + YYDEBUG(880, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy887; - if (yych != 'e') goto yy284; -yy887: - YYDEBUG(887, *YYCURSOR); + if (yych == 'O') goto yy881; + if (yych != 'o') goto yy280; +yy881: + YYDEBUG(881, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; + goto yy279; } - YYDEBUG(888, *YYCURSOR); + YYDEBUG(882, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1509 "Zend/zend_language_scanner.l" +#line 1549 "Zend/zend_language_scanner.l" { - return T_ENDDECLARE; + return T_ECHO; } -#line 8543 "Zend/zend_language_scanner.c" -yy889: - YYDEBUG(889, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy890; - if (yych != 't') goto yy284; -yy890: - YYDEBUG(890, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy891; - if (yych != 'y') goto yy284; -yy891: - YYDEBUG(891, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } - YYDEBUG(892, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1695 "Zend/zend_language_scanner.l" - { - return T_EMPTY; -} -#line 8566 "Zend/zend_language_scanner.c" -yy893: - YYDEBUG(893, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy894; - if (yych != 'e') goto yy284; -yy894: - YYDEBUG(894, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '@') { - if (yych <= '/') goto yy895; - if (yych <= '9') goto yy283; - } else { - if (yych == 'I') goto yy896; - if (yych <= 'Z') goto yy283; - } - } else { - if (yych <= 'h') { - if (yych != '`') goto yy283; - } else { - if (yych <= 'i') goto yy896; - if (yych <= 'z') goto yy283; - if (yych >= 0x7F) goto yy283; - } - } -yy895: - YYDEBUG(895, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1473 "Zend/zend_language_scanner.l" - { - return T_ELSE; -} -#line 8599 "Zend/zend_language_scanner.c" -yy896: - YYDEBUG(896, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy897; - if (yych != 'f') goto yy284; -yy897: - YYDEBUG(897, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } - YYDEBUG(898, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1465 "Zend/zend_language_scanner.l" - { - return T_ELSEIF; -} -#line 8617 "Zend/zend_language_scanner.c" -yy899: - YYDEBUG(899, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy900; - if (yych != 'o') goto yy284; -yy900: - YYDEBUG(900, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy283; - } - YYDEBUG(901, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1549 "Zend/zend_language_scanner.l" - { - return T_ECHO; -} -#line 8635 "Zend/zend_language_scanner.c" +#line 8468 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -8670,39 +8503,39 @@ yyc_ST_LOOKING_FOR_PROPERTY: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(902, *YYCURSOR); + YYDEBUG(883, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych <= '\r') { - if (yych <= 0x08) goto yy910; - if (yych <= '\n') goto yy904; - if (yych <= '\f') goto yy910; + if (yych <= 0x08) goto yy891; + if (yych <= '\n') goto yy885; + if (yych <= '\f') goto yy891; } else { - if (yych == ' ') goto yy904; - if (yych <= ',') goto yy910; - goto yy906; + if (yych == ' ') goto yy885; + if (yych <= ',') goto yy891; + goto yy887; } } else { if (yych <= '_') { - if (yych <= '@') goto yy910; - if (yych <= 'Z') goto yy908; - if (yych <= '^') goto yy910; - goto yy908; + if (yych <= '@') goto yy891; + if (yych <= 'Z') goto yy889; + if (yych <= '^') goto yy891; + goto yy889; } else { - if (yych <= '`') goto yy910; - if (yych <= 'z') goto yy908; - if (yych <= '~') goto yy910; - goto yy908; + if (yych <= '`') goto yy891; + if (yych <= 'z') goto yy889; + if (yych <= '~') goto yy891; + goto yy889; } } -yy904: - YYDEBUG(904, *YYCURSOR); +yy885: + YYDEBUG(885, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy916; -yy905: - YYDEBUG(905, *YYCURSOR); + goto yy897; +yy886: + YYDEBUG(886, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1578 "Zend/zend_language_scanner.l" { @@ -8712,13 +8545,13 @@ yy905: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 8716 "Zend/zend_language_scanner.c" -yy906: - YYDEBUG(906, *YYCURSOR); +#line 8549 "Zend/zend_language_scanner.c" +yy887: + YYDEBUG(887, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy913; -yy907: - YYDEBUG(907, *YYCURSOR); + if ((yych = *YYCURSOR) == '>') goto yy894; +yy888: + YYDEBUG(888, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1601 "Zend/zend_language_scanner.l" { @@ -8726,14 +8559,14 @@ yy907: yy_pop_state(TSRMLS_C); goto restart; } -#line 8730 "Zend/zend_language_scanner.c" -yy908: - YYDEBUG(908, *YYCURSOR); +#line 8563 "Zend/zend_language_scanner.c" +yy889: + YYDEBUG(889, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy912; -yy909: - YYDEBUG(909, *YYCURSOR); + goto yy893; +yy890: + YYDEBUG(890, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1590 "Zend/zend_language_scanner.l" { @@ -8746,43 +8579,43 @@ yy909: } return T_STRING; } -#line 8750 "Zend/zend_language_scanner.c" -yy910: - YYDEBUG(910, *YYCURSOR); +#line 8583 "Zend/zend_language_scanner.c" +yy891: + YYDEBUG(891, *YYCURSOR); yych = *++YYCURSOR; - goto yy907; -yy911: - YYDEBUG(911, *YYCURSOR); + goto yy888; +yy892: + YYDEBUG(892, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy912: - YYDEBUG(912, *YYCURSOR); +yy893: + YYDEBUG(893, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy911; + goto yy892; } - goto yy909; -yy913: - YYDEBUG(913, *YYCURSOR); + goto yy890; +yy894: + YYDEBUG(894, *YYCURSOR); ++YYCURSOR; - YYDEBUG(914, *YYCURSOR); + YYDEBUG(895, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1586 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 8775 "Zend/zend_language_scanner.c" -yy915: - YYDEBUG(915, *YYCURSOR); +#line 8608 "Zend/zend_language_scanner.c" +yy896: + YYDEBUG(896, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy916: - YYDEBUG(916, *YYCURSOR); +yy897: + YYDEBUG(897, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy915; + goto yy896; } - goto yy905; + goto yy886; } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -8821,25 +8654,25 @@ yyc_ST_LOOKING_FOR_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(917, *YYCURSOR); + YYDEBUG(898, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy921; - if (yych <= 'Z') goto yy919; - if (yych <= '^') goto yy921; + if (yych <= '@') goto yy902; + if (yych <= 'Z') goto yy900; + if (yych <= '^') goto yy902; } else { - if (yych <= '`') goto yy921; - if (yych <= 'z') goto yy919; - if (yych <= '~') goto yy921; + if (yych <= '`') goto yy902; + if (yych <= 'z') goto yy900; + if (yych <= '~') goto yy902; } -yy919: - YYDEBUG(919, *YYCURSOR); +yy900: + YYDEBUG(900, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy924; -yy920: - YYDEBUG(920, *YYCURSOR); + goto yy905; +yy901: + YYDEBUG(901, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1873 "Zend/zend_language_scanner.l" { @@ -8853,11 +8686,11 @@ yy920: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 8857 "Zend/zend_language_scanner.c" -yy921: - YYDEBUG(921, *YYCURSOR); +#line 8690 "Zend/zend_language_scanner.c" +yy902: + YYDEBUG(902, *YYCURSOR); ++YYCURSOR; - YYDEBUG(922, *YYCURSOR); + YYDEBUG(903, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1886 "Zend/zend_language_scanner.l" { @@ -8866,513 +8699,247 @@ yy921: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 8870 "Zend/zend_language_scanner.c" -yy923: - YYDEBUG(923, *YYCURSOR); +#line 8703 "Zend/zend_language_scanner.c" +yy904: + YYDEBUG(904, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy924: - YYDEBUG(924, *YYCURSOR); +yy905: + YYDEBUG(905, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy923; + goto yy904; } - goto yy920; + goto yy901; } /* *********************************** */ yyc_ST_NOWDOC: { static const unsigned char yybm[] = { - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 8, 32, 32, 16, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 32, 32, 32, 32, 32, 32, - 32, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 32, 32, 32, 32, 192, - 32, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 32, 32, 32, 32, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 32, 16, 16, 64, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 16, 16, 16, 16, 16, 16, + 16, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 16, 16, 16, 16, 144, + 16, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 16, 16, 16, 16, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, }; - YYDEBUG(925, *YYCURSOR); - YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 32) { - goto yy931; - } - if (yych <= '\f') goto yy927; - if (yych <= '\r') goto yy929; - goto yy933; -yy927: - YYDEBUG(927, *YYCURSOR); - ++YYCURSOR; + YYDEBUG(906, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(928, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy931; + if (yybm[0+yych] & 16) { + goto yy908; } - if (yych <= '\f') goto yy927; - if (yych >= 0x0E) goto yy957; -yy929: - YYDEBUG(929, *YYCURSOR); + if (yych <= '\f') goto yy910; + goto yy912; +yy908: + YYDEBUG(908, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(930, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy931; + YYDEBUG(909, *YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy908; } - if (yych <= '\f') goto yy927; - if (yych <= '\r') goto yy929; - goto yy957; -yy931: - YYDEBUG(931, *YYCURSOR); + if (yych <= '\f') goto yy919; + goto yy921; +yy910: + YYDEBUG(910, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(932, *YYCURSOR); + YYDEBUG(911, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy931; - } - if (yych <= '\f') goto yy927; - if (yych <= '\r') goto yy929; - goto yy955; -yy933: - YYDEBUG(933, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(934, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy933; - } - if (yych <= '\f') { - if (yych != '\n') goto yy937; - } else { - if (yych <= '\r') goto yy935; - if (yych == ';') goto yy936; - goto yy937; - } -yy935: - YYDEBUG(935, *YYCURSOR); -yy936: - YYDEBUG(936, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy935; - if (yych == '\r') goto yy935; - goto yy948; -yy937: - YYDEBUG(937, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy927; + goto yy910; } if (yych <= '^') { if (yych <= '\r') { - if (yych >= '\r') goto yy929; + if (yych <= '\f') goto yy908; } else { - if (yych <= '@') goto yy938; - if (yych <= 'Z') goto yy940; + if (yych <= '@') goto yy908; + if (yych <= 'Z') goto yy914; + goto yy908; } } else { if (yych <= '`') { - if (yych <= '_') goto yy940; + if (yych <= '_') goto yy914; + goto yy908; } else { - if (yych <= 'z') goto yy940; - if (yych >= 0x7F) goto yy940; + if (yych <= 'z') goto yy914; + if (yych <= '~') goto yy908; + goto yy914; } } -yy938: - YYDEBUG(938, *YYCURSOR); +yy912: + YYDEBUG(912, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(939, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; + YYDEBUG(913, *YYCURSOR); + if (yybm[0+yych] & 32) { + goto yy910; } if (yych <= '^') { if (yych <= '\r') { - if (yych <= '\f') goto yy938; - goto yy929; + if (yych <= '\f') goto yy908; + goto yy912; } else { - if (yych <= '@') goto yy938; - if (yych <= 'Z') goto yy942; - goto yy938; + if (yych <= '@') goto yy908; + if (yych >= '[') goto yy908; } } else { if (yych <= '`') { - if (yych <= '_') goto yy942; - goto yy938; + if (yych >= '`') goto yy908; } else { - if (yych <= 'z') goto yy942; - if (yych <= '~') goto yy938; - goto yy942; + if (yych <= 'z') goto yy914; + if (yych <= '~') goto yy908; } } -yy940: - YYDEBUG(940, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(941, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '@') { - if (yych <= '/') { - if (yych == '\r') goto yy929; - goto yy938; - } else { - if (yych <= '9') goto yy942; - if (yych == ';') goto yy944; - goto yy938; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy940; - if (yych <= '^') goto yy938; - goto yy940; - } else { - if (yych <= '`') goto yy938; - if (yych <= 'z') goto yy940; - if (yych <= '~') goto yy938; - goto yy940; - } - } -yy942: - YYDEBUG(942, *YYCURSOR); +yy914: + YYDEBUG(914, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(943, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; + YYDEBUG(915, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy914; } - if (yych <= '@') { - if (yych <= '/') { - if (yych == '\r') goto yy929; - goto yy938; - } else { - if (yych <= '9') goto yy942; - if (yych != ';') goto yy938; - } + if (yych <= '\f') { + if (yych == '\n') goto yy917; + goto yy908; } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy942; - if (yych <= '^') goto yy938; - goto yy942; - } else { - if (yych <= '`') goto yy938; - if (yych <= 'z') goto yy942; - if (yych <= '~') goto yy938; - goto yy942; - } + if (yych <= '\r') goto yy917; + if (yych != ';') goto yy908; } -yy944: - YYDEBUG(944, *YYCURSOR); + YYDEBUG(916, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(945, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '^') { - if (yych <= '\r') { - if (yych <= '\f') goto yy944; - goto yy929; - } else { - if (yych <= '@') goto yy944; - if (yych >= '[') goto yy944; - } - } else { - if (yych <= '`') { - if (yych >= '`') goto yy944; - } else { - if (yych <= 'z') goto yy946; - if (yych <= '~') goto yy944; - } + if (yybm[0+yych] & 16) { + goto yy908; } -yy946: - YYDEBUG(946, *YYCURSOR); +yy917: + YYDEBUG(917, *YYCURSOR); ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(947, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= 'Z') { - if (yych <= '/') { - if (yych == '\r') goto yy929; - goto yy944; - } else { - if (yych <= '9') goto yy946; - if (yych <= '@') goto yy944; - goto yy946; - } - } else { - if (yych <= '`') { - if (yych == '_') goto yy946; - goto yy944; - } else { - if (yych <= 'z') goto yy946; - if (yych <= '~') goto yy944; - goto yy946; + YYDEBUG(918, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 2622 "Zend/zend_language_scanner.l" + { + char *end = yytext + yyleng - 1; + + if (end[-1] == ';') { + end--; + yyleng--; + } + + if (yyleng > CG(heredoc_len) && !memcmp(end - CG(heredoc_len), CG(heredoc), CG(heredoc_len))) { + int len = yyleng - CG(heredoc_len) - 2; /* 2 for newline before and after label */ + + /* May have matched fooLABEL; make sure there's a newline before it */ + if (yytext[len] != '\n') { + if (yytext[len] != '\r') { + yyless(yyleng - 1); + yymore(); } + } else if (len > 0 && yytext[len - 1] == '\r') { + len--; /* Windows newline */ } -yy948: - YYDEBUG(948, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '^') { - if (yych <= '\r') { - if (yych >= '\r') goto yy929; - } else { - if (yych <= '@') goto yy949; - if (yych <= 'Z') goto yy951; - } - } else { - if (yych <= '`') { - if (yych <= '_') goto yy951; - } else { - if (yych <= 'z') goto yy951; - if (yych >= 0x7F) goto yy951; - } + + /* Go back before label, to match in ST_END_HEREDOC state. yytext will include + * newline before label, for zend_highlight/strip, tokenizer, etc. */ + yyless(yyleng - CG(heredoc_len) - 1); /* 1 for newline after label */ + + CG(increment_lineno) = 1; /* For newline before label */ + BEGIN(ST_END_HEREDOC); + + if (!zend_copy_scanner_string(zendlval, yytext, len, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) { + return 0; } -yy949: - YYDEBUG(949, *YYCURSOR); + HANDLE_NEWLINES(yytext, len); + return T_ENCAPSED_AND_WHITESPACE; + } else { + /* Go back to end of label, so the next match works correctly in case of + * another label at the beginning of the next line */ + yyless(yyleng - 1); + yymore(); + } +} +#line 8893 "Zend/zend_language_scanner.c" +yy919: + YYDEBUG(919, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(950, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '^') { - if (yych <= '\r') { - if (yych <= '\f') goto yy949; - goto yy929; + YYDEBUG(920, *YYCURSOR); + if (yych <= 'Z') { + if (yych <= '\f') { + if (yych == '\n') goto yy919; + goto yy908; } else { - if (yych <= '@') goto yy949; - if (yych <= 'Z') goto yy953; - goto yy949; + if (yych <= '\r') goto yy921; + if (yych <= '@') goto yy908; + goto yy914; } } else { if (yych <= '`') { - if (yych <= '_') goto yy953; - goto yy949; - } else { - if (yych <= 'z') goto yy953; - if (yych <= '~') goto yy949; - goto yy953; - } - } -yy951: - YYDEBUG(951, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(952, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '@') { - if (yych <= '/') { - if (yych == '\r') goto yy929; - goto yy944; - } else { - if (yych <= '9') goto yy953; - if (yych == ';') goto yy949; - goto yy944; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy951; - if (yych <= '^') goto yy944; - goto yy951; - } else { - if (yych <= '`') goto yy944; - if (yych <= 'z') goto yy951; - if (yych <= '~') goto yy944; - goto yy951; - } - } -yy953: - YYDEBUG(953, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(954, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '@') { - if (yych <= '/') { - if (yych == '\r') goto yy929; - goto yy944; - } else { - if (yych <= '9') goto yy953; - if (yych == ';') goto yy949; - goto yy944; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy953; - if (yych <= '^') goto yy944; - goto yy953; - } else { - if (yych <= '`') goto yy944; - if (yych <= 'z') goto yy953; - if (yych <= '~') goto yy944; - goto yy953; - } - } -yy955: - YYDEBUG(955, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(956, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy927; - } - if (yych <= '@') { - if (yych <= '/') { - if (yych == '\r') goto yy929; - goto yy938; - } else { - if (yych <= '9') goto yy955; - if (yych == ';') goto yy949; - goto yy938; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy955; - if (yych <= '^') goto yy938; - goto yy955; + if (yych == '_') goto yy914; + goto yy908; } else { - if (yych <= '`') goto yy938; - if (yych <= 'z') goto yy955; - if (yych <= '~') goto yy938; - goto yy955; + if (yych <= 'z') goto yy914; + if (yych <= '~') goto yy908; + goto yy914; } } -yy957: - YYDEBUG(957, *YYCURSOR); +yy921: + YYDEBUG(921, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(958, *YYCURSOR); - if (yych <= ';') { - if (yych <= '\r') { - if (yych == '\n') goto yy960; - if (yych <= '\f') goto yy937; - goto yy960; - } else { - if (yych <= '/') goto yy937; - if (yych <= '9') goto yy957; - if (yych <= ':') goto yy937; - } - } else { - if (yych <= '_') { - if (yych <= '@') goto yy937; - if (yych <= 'Z') goto yy957; - if (yych <= '^') goto yy937; - goto yy957; + YYDEBUG(922, *YYCURSOR); + if (yych <= 'Z') { + if (yych <= '\f') { + if (yych == '\n') goto yy919; + goto yy908; } else { - if (yych <= '`') goto yy937; - if (yych <= 'z') goto yy957; - if (yych <= '~') goto yy937; - goto yy957; + if (yych <= '\r') goto yy921; + if (yych <= '@') goto yy908; + goto yy914; } - } - YYDEBUG(959, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - if (yych == '\n') goto yy960; - if (yych != '\r') goto yy948; -yy960: - YYDEBUG(960, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(961, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2698 "Zend/zend_language_scanner.l" - { - char *end = yytext + yyleng - 1; - - if (end[-1] == ';') { - end--; - yyleng--; - } - - if (yyleng > CG(heredoc_len) && !memcmp(end - CG(heredoc_len), CG(heredoc), CG(heredoc_len))) { - int len = yyleng - CG(heredoc_len) - 2; /* 2 for newline before and after label */ - - /* May have matched fooLABEL; make sure there's a newline before it */ - if (yytext[len] != '\n') { - if (yytext[len] != '\r') { - yyless(yyleng - 1); - yymore(); + } else { + if (yych <= '`') { + if (yych == '_') goto yy914; + goto yy908; + } else { + if (yych <= 'z') goto yy914; + if (yych <= '~') goto yy908; + goto yy914; } - } else if (len > 0 && yytext[len - 1] == '\r') { - len--; /* Windows newline */ - } - - /* Go back before last label char, to match in ST_END_NOWDOC state */ - yyless(yyleng - 2); - - /* Subtract the remaining label length. yyleng must include newline - * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) - 1; - - CG(increment_lineno) = 1; /* For newline before label */ - BEGIN(ST_END_NOWDOC); - - HANDLE_NEWLINES(yytext, len); - if (!zend_copy_scanner_string(zendlval, yytext, len, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) { - return 0; } - return T_ENCAPSED_AND_WHITESPACE; - } else { - /* Go back to end of label, so the next match works correctly in case of - * another label at the beginning of the next line */ - yyless(yyleng - 1); - yymore(); - } -} -#line 9376 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_ONE_LINE_COMMENT: @@ -9411,50 +8978,50 @@ yyc_ST_ONE_LINE_COMMENT: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(962, *YYCURSOR); + YYDEBUG(923, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy968; - } - if (yych <= '\f') goto yy971; - if (yych <= '\r') goto yy972; - if (yych <= '=') goto yy964; - if (yych <= '>') goto yy966; - goto yy967; -yy964: - YYDEBUG(964, *YYCURSOR); + goto yy929; + } + if (yych <= '\f') goto yy932; + if (yych <= '\r') goto yy933; + if (yych <= '=') goto yy925; + if (yych <= '>') goto yy927; + goto yy928; +yy925: + YYDEBUG(925, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy976; -yy965: - YYDEBUG(965, *YYCURSOR); + if ((yych = *YYCURSOR) == '>') goto yy937; +yy926: + YYDEBUG(926, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2276 "Zend/zend_language_scanner.l" { yymore(); } -#line 9437 "Zend/zend_language_scanner.c" -yy966: - YYDEBUG(966, *YYCURSOR); +#line 9004 "Zend/zend_language_scanner.c" +yy927: + YYDEBUG(927, *YYCURSOR); yych = *++YYCURSOR; - goto yy965; -yy967: - YYDEBUG(967, *YYCURSOR); + goto yy926; +yy928: + YYDEBUG(928, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy976; - goto yy965; -yy968: - YYDEBUG(968, *YYCURSOR); + if (yych == '>') goto yy937; + goto yy926; +yy929: + YYDEBUG(929, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(969, *YYCURSOR); + YYDEBUG(930, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy968; + goto yy929; } - goto yy975; -yy970: - YYDEBUG(970, *YYCURSOR); + goto yy936; +yy931: + YYDEBUG(931, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2280 "Zend/zend_language_scanner.l" { @@ -9474,18 +9041,18 @@ yy970: return T_COMMENT; } } -#line 9478 "Zend/zend_language_scanner.c" -yy971: - YYDEBUG(971, *YYCURSOR); +#line 9045 "Zend/zend_language_scanner.c" +yy932: + YYDEBUG(932, *YYCURSOR); yych = *++YYCURSOR; - goto yy970; -yy972: - YYDEBUG(972, *YYCURSOR); + goto yy931; +yy933: + YYDEBUG(933, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '\n') goto yy970; - YYDEBUG(973, *YYCURSOR); + if (yych != '\n') goto yy931; + YYDEBUG(934, *YYCURSOR); ++YYCURSOR; - YYDEBUG(974, *YYCURSOR); + YYDEBUG(935, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2298 "Zend/zend_language_scanner.l" { @@ -9496,15 +9063,15 @@ yy972: CG(zend_lineno)++; return T_COMMENT; } -#line 9500 "Zend/zend_language_scanner.c" -yy975: - YYDEBUG(975, *YYCURSOR); +#line 9067 "Zend/zend_language_scanner.c" +yy936: + YYDEBUG(936, *YYCURSOR); yych = *++YYCURSOR; - goto yy970; -yy976: - YYDEBUG(976, *YYCURSOR); + goto yy931; +yy937: + YYDEBUG(937, *YYCURSOR); ++YYCURSOR; - YYDEBUG(977, *YYCURSOR); + YYDEBUG(938, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2307 "Zend/zend_language_scanner.l" { @@ -9519,269 +9086,7 @@ yy976: yymore(); } } -#line 9523 "Zend/zend_language_scanner.c" - } -/* *********************************** */ -yyc_ST_START_HEREDOC: - { - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 128, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - }; - YYDEBUG(978, *YYCURSOR); - YYFILL(3); - yych = *YYCURSOR; - if (yych <= '_') { - if (yych <= '@') goto yy980; - if (yych <= 'Z') goto yy982; - if (yych >= '_') goto yy982; - } else { - if (yych <= '`') goto yy980; - if (yych <= 'z') goto yy982; - if (yych >= 0x7F) goto yy982; - } -yy980: - YYDEBUG(980, *YYCURSOR); - ++YYCURSOR; -yy981: - YYDEBUG(981, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2474 "Zend/zend_language_scanner.l" - { - yyless(0); - BEGIN(ST_HEREDOC); - goto restart; -} -#line 9586 "Zend/zend_language_scanner.c" -yy982: - YYDEBUG(982, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy983; - } - if (yych <= '\f') { - if (yych == '\n') goto yy987; - goto yy981; - } else { - if (yych <= '\r') goto yy987; - if (yych == ';') goto yy986; - goto yy981; - } -yy983: - YYDEBUG(983, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(984, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy983; - } - if (yych <= '\f') { - if (yych == '\n') goto yy987; - } else { - if (yych <= '\r') goto yy987; - if (yych == ';') goto yy986; - } -yy985: - YYDEBUG(985, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy981; -yy986: - YYDEBUG(986, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy987; - if (yych != '\r') goto yy985; -yy987: - YYDEBUG(987, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(988, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2480 "Zend/zend_language_scanner.l" - { - int label_len = yyleng - 1; - - if (yytext[label_len-1]==';') { - label_len--; - } - - yyless(label_len); - - if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) { - Z_STRVAL_P(zendlval) = CG(heredoc); - Z_STRLEN_P(zendlval) = label_len; - CG(heredoc)=NULL; - CG(heredoc_len)=0; - BEGIN(ST_IN_SCRIPTING); - return T_END_HEREDOC; - } else { - BEGIN(ST_HEREDOC); - yymore(); - } -} -#line 9653 "Zend/zend_language_scanner.c" - } -/* *********************************** */ -yyc_ST_START_NOWDOC: - { - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 128, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - }; - YYDEBUG(989, *YYCURSOR); - YYFILL(3); - yych = *YYCURSOR; - if (yych <= '_') { - if (yych <= '@') goto yy991; - if (yych <= 'Z') goto yy993; - if (yych >= '_') goto yy993; - } else { - if (yych <= '`') goto yy991; - if (yych <= 'z') goto yy993; - if (yych >= 0x7F) goto yy993; - } -yy991: - YYDEBUG(991, *YYCURSOR); - ++YYCURSOR; -yy992: - YYDEBUG(992, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2668 "Zend/zend_language_scanner.l" - { - yyless(0); - BEGIN(ST_NOWDOC); - goto restart; -} -#line 9716 "Zend/zend_language_scanner.c" -yy993: - YYDEBUG(993, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy994; - } - if (yych <= '\f') { - if (yych == '\n') goto yy998; - goto yy992; - } else { - if (yych <= '\r') goto yy998; - if (yych == ';') goto yy997; - goto yy992; - } -yy994: - YYDEBUG(994, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(995, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy994; - } - if (yych <= '\f') { - if (yych == '\n') goto yy998; - } else { - if (yych <= '\r') goto yy998; - if (yych == ';') goto yy997; - } -yy996: - YYDEBUG(996, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy992; -yy997: - YYDEBUG(997, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy998; - if (yych != '\r') goto yy996; -yy998: - YYDEBUG(998, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(999, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2674 "Zend/zend_language_scanner.l" - { - int label_len = yyleng - 1; - - if (yytext[label_len-1]==';') { - label_len--; - } - - if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) { - yyless(label_len-1); - yyleng = 0; - BEGIN(ST_END_NOWDOC); - if (CG(literal_type) == IS_UNICODE) { - ZVAL_EMPTY_UNICODE(zendlval); - } else { - ZVAL_EMPTY_STRING(zendlval); - } - return T_ENCAPSED_AND_WHITESPACE; - } else { - BEGIN(ST_NOWDOC); - yyless(label_len); - yymore(); - } -} -#line 9785 "Zend/zend_language_scanner.c" +#line 9090 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_VAR_OFFSET: @@ -9820,67 +9125,67 @@ yyc_ST_VAR_OFFSET: 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, }; - YYDEBUG(1000, *YYCURSOR); + YYDEBUG(939, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '/') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy1014; - if (yych <= '\n') goto yy1010; - goto yy1014; + if (yych <= 0x08) goto yy953; + if (yych <= '\n') goto yy949; + goto yy953; } else { - if (yych <= '\r') goto yy1010; - if (yych <= 0x1F) goto yy1014; - goto yy1010; + if (yych <= '\r') goto yy949; + if (yych <= 0x1F) goto yy953; + goto yy949; } } else { if (yych <= '$') { - if (yych <= '"') goto yy1009; - if (yych <= '#') goto yy1010; - goto yy1005; + if (yych <= '"') goto yy948; + if (yych <= '#') goto yy949; + goto yy944; } else { - if (yych == '\'') goto yy1010; - goto yy1009; + if (yych == '\'') goto yy949; + goto yy948; } } } else { if (yych <= '\\') { if (yych <= '@') { - if (yych <= '0') goto yy1002; - if (yych <= '9') goto yy1004; - goto yy1009; + if (yych <= '0') goto yy941; + if (yych <= '9') goto yy943; + goto yy948; } else { - if (yych <= 'Z') goto yy1012; - if (yych <= '[') goto yy1009; - goto yy1010; + if (yych <= 'Z') goto yy951; + if (yych <= '[') goto yy948; + goto yy949; } } else { if (yych <= '_') { - if (yych <= ']') goto yy1007; - if (yych <= '^') goto yy1009; - goto yy1012; + if (yych <= ']') goto yy946; + if (yych <= '^') goto yy948; + goto yy951; } else { - if (yych <= '`') goto yy1009; - if (yych <= 'z') goto yy1012; - if (yych <= '~') goto yy1009; - goto yy1012; + if (yych <= '`') goto yy948; + if (yych <= 'z') goto yy951; + if (yych <= '~') goto yy948; + goto yy951; } } } -yy1002: - YYDEBUG(1002, *YYCURSOR); +yy941: + YYDEBUG(941, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { - if (yych <= '/') goto yy1003; - if (yych <= '9') goto yy1025; + if (yych <= '/') goto yy942; + if (yych <= '9') goto yy964; } else { - if (yych <= 'X') goto yy1023; - if (yych == 'x') goto yy1023; + if (yych <= 'X') goto yy962; + if (yych == 'x') goto yy962; } -yy1003: - YYDEBUG(1003, *YYCURSOR); +yy942: + YYDEBUG(942, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1936 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ @@ -9894,51 +9199,51 @@ yy1003: } return T_NUM_STRING; } -#line 9898 "Zend/zend_language_scanner.c" -yy1004: - YYDEBUG(1004, *YYCURSOR); +#line 9203 "Zend/zend_language_scanner.c" +yy943: + YYDEBUG(943, *YYCURSOR); yych = *++YYCURSOR; - goto yy1022; -yy1005: - YYDEBUG(1005, *YYCURSOR); + goto yy961; +yy944: + YYDEBUG(944, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy1006; - if (yych <= 'Z') goto yy1018; - if (yych >= '_') goto yy1018; + if (yych <= '@') goto yy945; + if (yych <= 'Z') goto yy957; + if (yych >= '_') goto yy957; } else { - if (yych <= '`') goto yy1006; - if (yych <= 'z') goto yy1018; - if (yych >= 0x7F) goto yy1018; + if (yych <= '`') goto yy945; + if (yych <= 'z') goto yy957; + if (yych >= 0x7F) goto yy957; } -yy1006: - YYDEBUG(1006, *YYCURSOR); +yy945: + YYDEBUG(945, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2240 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 9923 "Zend/zend_language_scanner.c" -yy1007: - YYDEBUG(1007, *YYCURSOR); +#line 9228 "Zend/zend_language_scanner.c" +yy946: + YYDEBUG(946, *YYCURSOR); ++YYCURSOR; - YYDEBUG(1008, *YYCURSOR); + YYDEBUG(947, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2235 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 9934 "Zend/zend_language_scanner.c" -yy1009: - YYDEBUG(1009, *YYCURSOR); +#line 9239 "Zend/zend_language_scanner.c" +yy948: + YYDEBUG(948, *YYCURSOR); yych = *++YYCURSOR; - goto yy1006; -yy1010: - YYDEBUG(1010, *YYCURSOR); + goto yy945; +yy949: + YYDEBUG(949, *YYCURSOR); ++YYCURSOR; - YYDEBUG(1011, *YYCURSOR); + YYDEBUG(950, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2245 "Zend/zend_language_scanner.l" { @@ -9948,14 +9253,14 @@ yy1010: ZVAL_EMPTY_TEXT(zendlval); /* Empty since it won't be used */ return T_ENCAPSED_AND_WHITESPACE; } -#line 9952 "Zend/zend_language_scanner.c" -yy1012: - YYDEBUG(1012, *YYCURSOR); +#line 9257 "Zend/zend_language_scanner.c" +yy951: + YYDEBUG(951, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy1017; -yy1013: - YYDEBUG(1013, *YYCURSOR); + goto yy956; +yy952: + YYDEBUG(952, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2263 "Zend/zend_language_scanner.l" { @@ -9964,52 +9269,52 @@ yy1013: } return T_STRING; } -#line 9968 "Zend/zend_language_scanner.c" -yy1014: - YYDEBUG(1014, *YYCURSOR); +#line 9273 "Zend/zend_language_scanner.c" +yy953: + YYDEBUG(953, *YYCURSOR); ++YYCURSOR; - YYDEBUG(1015, *YYCURSOR); + YYDEBUG(954, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2765 "Zend/zend_language_scanner.l" +#line 2676 "Zend/zend_language_scanner.l" { zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 9979 "Zend/zend_language_scanner.c" -yy1016: - YYDEBUG(1016, *YYCURSOR); +#line 9284 "Zend/zend_language_scanner.c" +yy955: + YYDEBUG(955, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy1017: - YYDEBUG(1017, *YYCURSOR); +yy956: + YYDEBUG(956, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy1016; + goto yy955; } - goto yy1013; -yy1018: - YYDEBUG(1018, *YYCURSOR); + goto yy952; +yy957: + YYDEBUG(957, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(1019, *YYCURSOR); + YYDEBUG(958, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy1018; + if (yych >= '0') goto yy957; } else { - if (yych <= '@') goto yy1020; - if (yych <= 'Z') goto yy1018; + if (yych <= '@') goto yy959; + if (yych <= 'Z') goto yy957; } } else { if (yych <= '`') { - if (yych <= '_') goto yy1018; + if (yych <= '_') goto yy957; } else { - if (yych <= 'z') goto yy1018; - if (yych >= 0x7F) goto yy1018; + if (yych <= 'z') goto yy957; + if (yych >= 0x7F) goto yy957; } } -yy1020: - YYDEBUG(1020, *YYCURSOR); +yy959: + YYDEBUG(959, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2225 "Zend/zend_language_scanner.l" { @@ -10021,37 +9326,37 @@ yy1020: } return T_VARIABLE; } -#line 10025 "Zend/zend_language_scanner.c" -yy1021: - YYDEBUG(1021, *YYCURSOR); +#line 9330 "Zend/zend_language_scanner.c" +yy960: + YYDEBUG(960, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy1022: - YYDEBUG(1022, *YYCURSOR); +yy961: + YYDEBUG(961, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy1021; + goto yy960; } - goto yy1003; -yy1023: - YYDEBUG(1023, *YYCURSOR); + goto yy942; +yy962: + YYDEBUG(962, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy1028; + goto yy967; } - YYDEBUG(1024, *YYCURSOR); + YYDEBUG(963, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy1003; -yy1025: - YYDEBUG(1025, *YYCURSOR); + goto yy942; +yy964: + YYDEBUG(964, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(1026, *YYCURSOR); - if (yych <= '/') goto yy1027; - if (yych <= '9') goto yy1025; -yy1027: - YYDEBUG(1027, *YYCURSOR); + YYDEBUG(965, *YYCURSOR); + if (yych <= '/') goto yy966; + if (yych <= '9') goto yy964; +yy966: + YYDEBUG(966, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1948 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ @@ -10060,19 +9365,19 @@ yy1027: } return T_NUM_STRING; } -#line 10064 "Zend/zend_language_scanner.c" -yy1028: - YYDEBUG(1028, *YYCURSOR); +#line 9369 "Zend/zend_language_scanner.c" +yy967: + YYDEBUG(967, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(1029, *YYCURSOR); + YYDEBUG(968, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy1028; + goto yy967; } - goto yy1027; + goto yy966; } } -#line 2770 "Zend/zend_language_scanner.l" +#line 2681 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 69ab6ce4c1..e5203b3732 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1420,7 +1420,7 @@ DOUBLE_QUOTES_CHARS ("{"*([^$"\\{]|("\\"{ANY_CHAR}))|{DOUBLE_QUOTES_LITERAL_DOLL BACKQUOTE_CHARS ("{"*([^$`\\{]|("\\"{ANY_CHAR}))|{BACKQUOTE_LITERAL_DOLLAR}) HEREDOC_CHARS ("{"*([^$\n\r\\{]|("\\"[^\n\r]))|{HEREDOC_LITERAL_DOLLAR}|({HEREDOC_NEWLINE}+({HEREDOC_NON_LABEL}|{HEREDOC_LABEL_NO_NEWLINE}))) -NOWDOC_CHARS ({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_\x7f-\xff;\n\r][^\n\r]*)|({LABEL}[;][^\n\r]+))) +NOWDOC_CHARS ([^\n\r]|{NEWLINE}+([^a-zA-Z_\x7f-\xff\n\r]|({LABEL}([^a-zA-Z0-9_\x7f-\xff;\n\r]|(";"[^\n\r]))))) /* compute yyleng before each rule */ := yyleng = YYCURSOR - SCNG(yy_text); @@ -2423,45 +2423,48 @@ inline_char_handler: return T_BINARY_DOUBLE; } -b"<<<"{TABS_AND_SPACES}({LABEL}|["]{LABEL}["]){NEWLINE} { +b?"<<<"{TABS_AND_SPACES}({LABEL}|([']{LABEL}['])|(["]{LABEL}["])){NEWLINE} { char *s; + int bprefix = (yytext[0] != '<') ? 1 : 0; CG(zend_lineno)++; - CG(heredoc_len) = yyleng-4-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+4; + CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); + s = yytext+bprefix+3; while ((*s == ' ') || (*s == '\t')) { s++; CG(heredoc_len)--; } - if (*s == '"') { + if (*s == '\'') { s++; CG(heredoc_len) -= 2; + + BEGIN(ST_NOWDOC); + } else { + if (*s == '"') { + s++; + CG(heredoc_len) -= 2; + } + + BEGIN(ST_HEREDOC); } + CG(heredoc) = estrndup(s, CG(heredoc_len)); - BEGIN(ST_START_HEREDOC); - return T_BINARY_HEREDOC; -} + /* Check for ending label on the next line */ + if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, CG(heredoc_len))) { + char *end = YYCURSOR + CG(heredoc_len); -"<<<"{TABS_AND_SPACES}({LABEL}|["]{LABEL}["]){NEWLINE} { - char *s; + if (*end == ';') { + end++; + } - CG(zend_lineno)++; - CG(heredoc_len) = yyleng-3-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+3; - while ((*s == ' ') || (*s == '\t')) { - s++; - CG(heredoc_len)--; + if (*end == '\n' || *end == '\r') { + BEGIN(ST_END_HEREDOC); + } } - if (*s == '"') { - s++; - CG(heredoc_len) -= 2; - } - CG(heredoc) = estrndup(s, CG(heredoc_len)); - BEGIN(ST_START_HEREDOC); - return T_START_HEREDOC; + return bprefix ? T_BINARY_HEREDOC : T_START_HEREDOC; } @@ -2471,34 +2474,6 @@ inline_char_handler: } -{ANY_CHAR} { - yyless(0); - BEGIN(ST_HEREDOC); - goto restart; -} - -{LABEL}";"?[\n\r] { - int label_len = yyleng - 1; - - if (yytext[label_len-1]==';') { - label_len--; - } - - yyless(label_len); - - if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) { - Z_STRVAL_P(zendlval) = CG(heredoc); - Z_STRLEN_P(zendlval) = label_len; - CG(heredoc)=NULL; - CG(heredoc_len)=0; - BEGIN(ST_IN_SCRIPTING); - return T_END_HEREDOC; - } else { - BEGIN(ST_HEREDOC); - yymore(); - } -} - /* Match everything up to and including a possible ending label, so if the label * doesn't match, it's kept with the rest of the string * @@ -2526,12 +2501,9 @@ inline_char_handler: len--; /* Windows newline */ } - /* Go back before last label char, to match in ST_END_HEREDOC state */ - yyless(yyleng - 2); - - /* Subtract the remaining label length. yyleng must include newline - * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) - 1; + /* Go back before label, to match in ST_END_HEREDOC state. yytext will include + * newline before label, for zend_highlight/strip, tokenizer, etc. */ + yyless(yyleng - CG(heredoc_len) - 1); /* 1 for newline after label */ CG(increment_lineno) = 1; /* For newline before label */ BEGIN(ST_END_HEREDOC); @@ -2551,8 +2523,11 @@ inline_char_handler: } {ANY_CHAR} { - SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc); - SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len); + YYCURSOR += CG(heredoc_len) - 1; + yyleng = CG(heredoc_len); + + Z_STRVAL_P(zendlval) = CG(heredoc); + Z_STRLEN_P(zendlval) = CG(heredoc_len); CG(heredoc) = NULL; CG(heredoc_len) = 0; BEGIN(ST_IN_SCRIPTING); @@ -2644,58 +2619,7 @@ inline_char_handler: } -/* BEGIN nowdoc */ - -b?"<<<"{TABS_AND_SPACES}[']{LABEL}[']{NEWLINE} { - int bprefix = (yytext[0] != '<') ? 1 : 0; - char *s; - CG(zend_lineno)++; - /* 3 is <<<, 2 is quotes, 1 is newline */ - CG(heredoc_len) = yyleng-bprefix-3-2-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+bprefix+3; - while ((*s == ' ') || (*s == '\t')) { - s++; - CG(heredoc_len)--; - } - s++; /* first quote */ - CG(heredoc) = estrndup(s, CG(heredoc_len)); - - CG(literal_type) = bprefix?IS_STRING:ZEND_STR_TYPE; - BEGIN(ST_START_NOWDOC); - return T_START_NOWDOC; -} - -{ANY_CHAR} { - yyless(0); - BEGIN(ST_NOWDOC); - goto restart; -} - -{LABEL}";"?[\r\n] { - int label_len = yyleng - 1; - - if (yytext[label_len-1]==';') { - label_len--; - } - - if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) { - yyless(label_len-1); - yyleng = 0; - BEGIN(ST_END_NOWDOC); - if (CG(literal_type) == IS_UNICODE) { - ZVAL_EMPTY_UNICODE(zendlval); - } else { - ZVAL_EMPTY_STRING(zendlval); - } - return T_ENCAPSED_AND_WHITESPACE; - } else { - BEGIN(ST_NOWDOC); - yyless(label_len); - yymore(); - } -} - -{NOWDOC_CHARS}*{NEWLINE}+{LABEL}";"?[\n\r] { +({NOWDOC_CHARS}+{NEWLINE}+|{NEWLINE}+){LABEL}";"?[\n\r] { char *end = yytext + yyleng - 1; if (end[-1] == ';') { @@ -2716,20 +2640,17 @@ inline_char_handler: len--; /* Windows newline */ } - /* Go back before last label char, to match in ST_END_NOWDOC state */ - yyless(yyleng - 2); - - /* Subtract the remaining label length. yyleng must include newline - * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) - 1; + /* Go back before label, to match in ST_END_HEREDOC state. yytext will include + * newline before label, for zend_highlight/strip, tokenizer, etc. */ + yyless(yyleng - CG(heredoc_len) - 1); /* 1 for newline after label */ CG(increment_lineno) = 1; /* For newline before label */ - BEGIN(ST_END_NOWDOC); + BEGIN(ST_END_HEREDOC); - HANDLE_NEWLINES(yytext, len); if (!zend_copy_scanner_string(zendlval, yytext, len, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) { return 0; } + HANDLE_NEWLINES(yytext, len); return T_ENCAPSED_AND_WHITESPACE; } else { /* Go back to end of label, so the next match works correctly in case of @@ -2739,16 +2660,6 @@ inline_char_handler: } } -{ANY_CHAR} { - SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc); - SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len); - CG(heredoc) = NULL; - CG(heredoc_len) = 0; - BEGIN(ST_IN_SCRIPTING); - return T_END_NOWDOC; -} - -/* END nowdoc */ ["] { BEGIN(ST_IN_SCRIPTING); diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 854f0246d7..45b3789199 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Tue Jul 8 16:24:44 2008 */ +/* Generated by re2c 0.13.5 on Sat Jul 26 19:05:04 2008 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { @@ -13,9 +13,6 @@ enum YYCONDTYPE { yycST_ONE_LINE_COMMENT, yycST_COMMENT, yycST_DOC_COMMENT, - yycST_START_HEREDOC, yycST_END_HEREDOC, - yycST_START_NOWDOC, yycST_NOWDOC, - yycST_END_NOWDOC, }; diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index f0b3a2ae1d..c27761f3b7 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1824,38 +1824,64 @@ ZEND_VM_HANDLER(53, ZEND_INIT_STRING, ANY, ANY) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(54, ZEND_ADD_CHAR, TMP, CONST) +ZEND_VM_HANDLER(54, ZEND_ADD_CHAR, TMP|UNUSED, CONST) { zend_op *opline = EX(opline); - zend_free_op free_op1; + zval *str = &EX_T(opline->result.u.var).tmp_var; + + if (OP1_TYPE == IS_UNUSED) { + /* Initialize for erealloc in add_char_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + add_char_to_string(str, str, &opline->op2.u.constant); - add_char_to_string(&EX_T(opline->result.u.var).tmp_var, - GET_OP1_ZVAL_PTR(BP_VAR_NA), - &opline->op2.u.constant); /* FREE_OP is missing intentionally here - we're always working on the same temporary variable */ ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(55, ZEND_ADD_STRING, TMP, CONST) +ZEND_VM_HANDLER(55, ZEND_ADD_STRING, TMP|UNUSED, CONST) { zend_op *opline = EX(opline); - zend_free_op free_op1; + zval *str = &EX_T(opline->result.u.var).tmp_var; + + if (OP1_TYPE == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + add_string_to_string(str, str, &opline->op2.u.constant); - add_string_to_string(&EX_T(opline->result.u.var).tmp_var, - GET_OP1_ZVAL_PTR(BP_VAR_NA), - &opline->op2.u.constant); /* FREE_OP is missing intentionally here - we're always working on the same temporary variable */ ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(56, ZEND_ADD_VAR, TMP, TMP|VAR|CV) +ZEND_VM_HANDLER(56, ZEND_ADD_VAR, TMP|UNUSED, TMP|VAR|CV) { zend_op *opline = EX(opline); - zend_free_op free_op1, free_op2; + zend_free_op free_op2; + zval *str = &EX_T(opline->result.u.var).tmp_var; zval *var = GET_OP2_ZVAL_PTR(BP_VAR_R); zval var_copy; int use_copy = 0; + if (OP1_TYPE == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + if (Z_TYPE_P(var) != opline->extended_value) { if (opline->extended_value == IS_UNICODE) { zend_make_unicode_zval(var, &var_copy, &use_copy); @@ -1867,8 +1893,8 @@ ZEND_VM_HANDLER(56, ZEND_ADD_VAR, TMP, TMP|VAR|CV) var = &var_copy; } } - add_string_to_string(&EX_T(opline->result.u.var).tmp_var, - GET_OP1_ZVAL_PTR(BP_VAR_NA), var); + add_string_to_string(str, str, var); + if (use_copy) { zval_dtor(var); } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 3a53b8df78..9f5f8b28cd 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -6110,11 +6110,19 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_TMP_VAR_SPEC_TMP_CONST_HANDLER(ZEND_OPC static int ZEND_FASTCALL ZEND_ADD_CHAR_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); - zend_free_op free_op1; + zval *str = &EX_T(opline->result.u.var).tmp_var; + + if (IS_TMP_VAR == IS_UNUSED) { + /* Initialize for erealloc in add_char_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + add_char_to_string(str, str, &opline->op2.u.constant); - add_char_to_string(&EX_T(opline->result.u.var).tmp_var, - _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), - &opline->op2.u.constant); /* FREE_OP is missing intentionally here - we're always working on the same temporary variable */ ZEND_VM_NEXT_OPCODE(); } @@ -6122,11 +6130,19 @@ static int ZEND_FASTCALL ZEND_ADD_CHAR_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HANDL static int ZEND_FASTCALL ZEND_ADD_STRING_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); - zend_free_op free_op1; + zval *str = &EX_T(opline->result.u.var).tmp_var; + + if (IS_TMP_VAR == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + add_string_to_string(str, str, &opline->op2.u.constant); - add_string_to_string(&EX_T(opline->result.u.var).tmp_var, - _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), - &opline->op2.u.constant); /* FREE_OP is missing intentionally here - we're always working on the same temporary variable */ ZEND_VM_NEXT_OPCODE(); } @@ -6560,11 +6576,21 @@ static int ZEND_FASTCALL ZEND_BOOL_XOR_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); - zend_free_op free_op1, free_op2; + zend_free_op free_op2; + zval *str = &EX_T(opline->result.u.var).tmp_var; zval *var = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC); zval var_copy; int use_copy = 0; + if (IS_TMP_VAR == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + if (Z_TYPE_P(var) != opline->extended_value) { if (opline->extended_value == IS_UNICODE) { zend_make_unicode_zval(var, &var_copy, &use_copy); @@ -6576,8 +6602,8 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ var = &var_copy; } } - add_string_to_string(&EX_T(opline->result.u.var).tmp_var, - _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), var); + add_string_to_string(str, str, var); + if (use_copy) { zval_dtor(var); } @@ -7023,11 +7049,21 @@ static int ZEND_FASTCALL ZEND_BOOL_XOR_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); - zend_free_op free_op1, free_op2; + zend_free_op free_op2; + zval *str = &EX_T(opline->result.u.var).tmp_var; zval *var = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC); zval var_copy; int use_copy = 0; + if (IS_TMP_VAR == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + if (Z_TYPE_P(var) != opline->extended_value) { if (opline->extended_value == IS_UNICODE) { zend_make_unicode_zval(var, &var_copy, &use_copy); @@ -7039,8 +7075,8 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_ var = &var_copy; } } - add_string_to_string(&EX_T(opline->result.u.var).tmp_var, - _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), var); + add_string_to_string(str, str, var); + if (use_copy) { zval_dtor(var); } @@ -7580,11 +7616,21 @@ static int ZEND_FASTCALL ZEND_BOOL_XOR_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); - zend_free_op free_op1; + + zval *str = &EX_T(opline->result.u.var).tmp_var; zval *var = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC); zval var_copy; int use_copy = 0; + if (IS_TMP_VAR == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + if (Z_TYPE_P(var) != opline->extended_value) { if (opline->extended_value == IS_UNICODE) { zend_make_unicode_zval(var, &var_copy, &use_copy); @@ -7596,8 +7642,8 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_A var = &var_copy; } } - add_string_to_string(&EX_T(opline->result.u.var).tmp_var, - _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), var); + add_string_to_string(str, str, var); + if (use_copy) { zval_dtor(var); } @@ -18313,6 +18359,46 @@ static int ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_ ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_ADD_CHAR_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + zend_op *opline = EX(opline); + zval *str = &EX_T(opline->result.u.var).tmp_var; + + if (IS_UNUSED == IS_UNUSED) { + /* Initialize for erealloc in add_char_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + add_char_to_string(str, str, &opline->op2.u.constant); + + /* FREE_OP is missing intentionally here - we're always working on the same temporary variable */ + ZEND_VM_NEXT_OPCODE(); +} + +static int ZEND_FASTCALL ZEND_ADD_STRING_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + zend_op *opline = EX(opline); + zval *str = &EX_T(opline->result.u.var).tmp_var; + + if (IS_UNUSED == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + add_string_to_string(str, str, &opline->op2.u.constant); + + /* FREE_OP is missing intentionally here - we're always working on the same temporary variable */ + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); @@ -19469,6 +19555,51 @@ static int ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HA ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + zend_op *opline = EX(opline); + zend_free_op free_op2; + zval *str = &EX_T(opline->result.u.var).tmp_var; + zval *var = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC); + zval var_copy; + int use_copy = 0; + + if (IS_UNUSED == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + if (Z_TYPE_P(var) != opline->extended_value) { + if (opline->extended_value == IS_UNICODE) { + zend_make_unicode_zval(var, &var_copy, &use_copy); + } else { + zend_make_string_zval(var, &var_copy, &use_copy); + } + + if (use_copy) { + var = &var_copy; + } + } + add_string_to_string(str, str, var); + + if (use_copy) { + zval_dtor(var); + } + /* original comment, possibly problematic: + * FREE_OP is missing intentionally here - we're always working on the same temporary variable + * (Zeev): I don't think it's problematic, we only use variables + * which aren't affected by FREE_OP(Ts, )'s anyway, unless they're + * string offsets or overloaded objects + */ + zval_dtor(free_op2.var); + + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); @@ -20554,6 +20685,51 @@ static int ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HA ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + zend_op *opline = EX(opline); + zend_free_op free_op2; + zval *str = &EX_T(opline->result.u.var).tmp_var; + zval *var = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC); + zval var_copy; + int use_copy = 0; + + if (IS_UNUSED == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + if (Z_TYPE_P(var) != opline->extended_value) { + if (opline->extended_value == IS_UNICODE) { + zend_make_unicode_zval(var, &var_copy, &use_copy); + } else { + zend_make_string_zval(var, &var_copy, &use_copy); + } + + if (use_copy) { + var = &var_copy; + } + } + add_string_to_string(str, str, var); + + if (use_copy) { + zval_dtor(var); + } + /* original comment, possibly problematic: + * FREE_OP is missing intentionally here - we're always working on the same temporary variable + * (Zeev): I don't think it's problematic, we only use variables + * which aren't affected by FREE_OP(Ts, )'s anyway, unless they're + * string offsets or overloaded objects + */ + if (free_op2.var) {zval_ptr_dtor(&free_op2.var);}; + + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); @@ -21909,6 +22085,50 @@ static int ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HAN ZEND_VM_NEXT_OPCODE(); } +static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + zend_op *opline = EX(opline); + + zval *str = &EX_T(opline->result.u.var).tmp_var; + zval *var = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC); + zval var_copy; + int use_copy = 0; + + if (IS_UNUSED == IS_UNUSED) { + /* Initialize for erealloc in add_string_to_string */ + Z_UNIVAL_P(str).v = NULL; + Z_UNILEN_P(str) = 0; + Z_TYPE_P(str) = opline->extended_value; + + INIT_PZVAL(str); + } + + if (Z_TYPE_P(var) != opline->extended_value) { + if (opline->extended_value == IS_UNICODE) { + zend_make_unicode_zval(var, &var_copy, &use_copy); + } else { + zend_make_string_zval(var, &var_copy, &use_copy); + } + + if (use_copy) { + var = &var_copy; + } + } + add_string_to_string(str, str, var); + + if (use_copy) { + zval_dtor(var); + } + /* original comment, possibly problematic: + * FREE_OP is missing intentionally here - we're always working on the same temporary variable + * (Zeev): I don't think it's problematic, we only use variables + * which aren't affected by FREE_OP(Ts, )'s anyway, unless they're + * string offsets or overloaded objects + */ + + ZEND_VM_NEXT_OPCODE(); +} + static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_op *opline = EX(opline); @@ -32575,7 +32795,7 @@ void zend_init_opcodes_handlers(void) ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, - ZEND_NULL_HANDLER, + ZEND_ADD_CHAR_SPEC_UNUSED_CONST_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, @@ -32600,7 +32820,7 @@ void zend_init_opcodes_handlers(void) ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, - ZEND_NULL_HANDLER, + ZEND_ADD_STRING_SPEC_UNUSED_CONST_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, @@ -32626,10 +32846,10 @@ void zend_init_opcodes_handlers(void) ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, + ZEND_ADD_VAR_SPEC_UNUSED_TMP_HANDLER, + ZEND_ADD_VAR_SPEC_UNUSED_VAR_HANDLER, ZEND_NULL_HANDLER, - ZEND_NULL_HANDLER, - ZEND_NULL_HANDLER, - ZEND_NULL_HANDLER, + ZEND_ADD_VAR_SPEC_UNUSED_CV_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c index 6ffb80853e..ed0249cb7e 100644 --- a/ext/tokenizer/tokenizer.c +++ b/ext/tokenizer/tokenizer.c @@ -134,7 +134,7 @@ static void tokenize(zval *return_value TSRMLS_DC) MAKE_STD_ZVAL(keyword); array_init(keyword); add_next_index_long(keyword, token_type); - if (token_type == T_END_HEREDOC || token_type == T_END_NOWDOC) { + if (token_type == T_END_HEREDOC) { if (CG(increment_lineno)) { token_line = ++CG(zend_lineno); CG(increment_lineno) = 0; diff --git a/tests/strings/bug26703.phpt b/tests/strings/bug26703.phpt index a5bc2ffddf..bea8fb1214 100644 --- a/tests/strings/bug26703.phpt +++ b/tests/strings/bug26703.phpt @@ -12,6 +12,6 @@ highlight.html=#000000 ?> --EXPECT-- -<?php echo "foo[] $a \n"?> +<?php echo "foo[] $a \n"?>