++YYCURSOR;
YYDEBUG(4, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2748 "Zend/zend_language_scanner.l"
-#line 2390 "Zend/zend_language_scanner.l"
++#line 2749 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
++YYCURSOR;
YYDEBUG(11, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2222 "Zend/zend_language_scanner.l"
-#line 2038 "Zend/zend_language_scanner.l"
++#line 2223 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
++YYCURSOR;
YYDEBUG(13, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2049 "Zend/zend_language_scanner.l"
-#line 1898 "Zend/zend_language_scanner.l"
++#line 2050 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
++YYCURSOR;
YYDEBUG(18, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2132 "Zend/zend_language_scanner.l"
-#line 1969 "Zend/zend_language_scanner.l"
++#line 2133 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
}
}
ZEND_ASSERT(!errno);
- RETURN_TOKEN(T_LNUMBER);
+ RETURN_TOKEN_WITH_VAL(T_LNUMBER);
}
- #line 1878 "Zend/zend_language_scanner.c"
-#line 1708 "Zend/zend_language_scanner.c"
++#line 1879 "Zend/zend_language_scanner.c"
yy28:
YYDEBUG(28, *YYCURSOR);
yyaccept = 1;
yy36:
YYDEBUG(36, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2044 "Zend/zend_language_scanner.l"
-#line 1892 "Zend/zend_language_scanner.l"
++#line 2045 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, yytext, yyleng);
- RETURN_TOKEN(T_STRING);
+ RETURN_TOKEN_WITH_STR(T_STRING, 0);
}
- #line 1964 "Zend/zend_language_scanner.c"
-#line 1795 "Zend/zend_language_scanner.c"
++#line 1965 "Zend/zend_language_scanner.c"
yy37:
YYDEBUG(37, *YYCURSOR);
yyaccept = 2;
{
RETURN_TOKEN(T_NS_SEPARATOR);
}
- #line 2253 "Zend/zend_language_scanner.c"
-#line 2084 "Zend/zend_language_scanner.c"
++#line 2254 "Zend/zend_language_scanner.c"
yy60:
YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(63, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2401 "Zend/zend_language_scanner.l"
-#line 2128 "Zend/zend_language_scanner.l"
++#line 2402 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
RETURN_TOKEN('`');
}
- #line 2274 "Zend/zend_language_scanner.c"
-#line 2105 "Zend/zend_language_scanner.c"
++#line 2275 "Zend/zend_language_scanner.c"
yy64:
YYDEBUG(64, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_IN_SCRIPTING);
RETURN_TOKEN('{');
}
- #line 2285 "Zend/zend_language_scanner.c"
-#line 2116 "Zend/zend_language_scanner.c"
++#line 2286 "Zend/zend_language_scanner.c"
yy66:
YYDEBUG(66, *YYCURSOR);
yych = *++YYCURSOR;
}
RETURN_TOKEN('}');
}
- #line 2305 "Zend/zend_language_scanner.c"
-#line 2136 "Zend/zend_language_scanner.c"
++#line 2306 "Zend/zend_language_scanner.c"
yy69:
YYDEBUG(69, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_IS_NOT_EQUAL);
}
- #line 2317 "Zend/zend_language_scanner.c"
-#line 2148 "Zend/zend_language_scanner.c"
++#line 2318 "Zend/zend_language_scanner.c"
yy71:
YYDEBUG(71, *YYCURSOR);
++YYCURSOR;
yy73:
YYDEBUG(73, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2022 "Zend/zend_language_scanner.l"
-#line 1869 "Zend/zend_language_scanner.l"
++#line 2023 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 2346 "Zend/zend_language_scanner.c"
-#line 2178 "Zend/zend_language_scanner.c"
++#line 2347 "Zend/zend_language_scanner.c"
yy74:
YYDEBUG(74, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_MOD_EQUAL);
}
- #line 2356 "Zend/zend_language_scanner.c"
-#line 2188 "Zend/zend_language_scanner.c"
++#line 2357 "Zend/zend_language_scanner.c"
yy76:
YYDEBUG(76, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_BOOLEAN_AND);
}
- #line 2366 "Zend/zend_language_scanner.c"
-#line 2198 "Zend/zend_language_scanner.c"
++#line 2367 "Zend/zend_language_scanner.c"
yy78:
YYDEBUG(78, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_AND_EQUAL);
}
- #line 2376 "Zend/zend_language_scanner.c"
-#line 2208 "Zend/zend_language_scanner.c"
++#line 2377 "Zend/zend_language_scanner.c"
yy80:
YYDEBUG(80, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_POW);
}
- #line 2510 "Zend/zend_language_scanner.c"
-#line 2342 "Zend/zend_language_scanner.c"
++#line 2511 "Zend/zend_language_scanner.c"
yy94:
YYDEBUG(94, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_MUL_EQUAL);
}
- #line 2520 "Zend/zend_language_scanner.c"
-#line 2352 "Zend/zend_language_scanner.c"
++#line 2521 "Zend/zend_language_scanner.c"
yy96:
YYDEBUG(96, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_INC);
}
- #line 2530 "Zend/zend_language_scanner.c"
-#line 2362 "Zend/zend_language_scanner.c"
++#line 2531 "Zend/zend_language_scanner.c"
yy98:
YYDEBUG(98, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_PLUS_EQUAL);
}
- #line 2540 "Zend/zend_language_scanner.c"
-#line 2372 "Zend/zend_language_scanner.c"
++#line 2541 "Zend/zend_language_scanner.c"
yy100:
YYDEBUG(100, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_DEC);
}
- #line 2550 "Zend/zend_language_scanner.c"
-#line 2382 "Zend/zend_language_scanner.c"
++#line 2551 "Zend/zend_language_scanner.c"
yy102:
YYDEBUG(102, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_MINUS_EQUAL);
}
- #line 2560 "Zend/zend_language_scanner.c"
-#line 2392 "Zend/zend_language_scanner.c"
++#line 2561 "Zend/zend_language_scanner.c"
yy104:
YYDEBUG(104, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_PROPERTY);
RETURN_TOKEN(T_OBJECT_OPERATOR);
}
- #line 2571 "Zend/zend_language_scanner.c"
-#line 2403 "Zend/zend_language_scanner.c"
++#line 2572 "Zend/zend_language_scanner.c"
yy106:
YYDEBUG(106, *YYCURSOR);
yych = *++YYCURSOR;
yy109:
YYDEBUG(109, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1884 "Zend/zend_language_scanner.l"
-#line 1740 "Zend/zend_language_scanner.l"
++#line 1885 "Zend/zend_language_scanner.l"
{
const char *end;
ZVAL_DOUBLE(zendlval, zend_strtod(yytext, &end));
/* errno isn't checked since we allow HUGE_VAL/INF overflow */
ZEND_ASSERT(end == yytext + yyleng);
- RETURN_TOKEN(T_DNUMBER);
+ RETURN_TOKEN_WITH_VAL(T_DNUMBER);
}
- #line 2603 "Zend/zend_language_scanner.c"
-#line 2435 "Zend/zend_language_scanner.c"
++#line 2604 "Zend/zend_language_scanner.c"
yy110:
YYDEBUG(110, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_CONCAT_EQUAL);
}
- #line 2613 "Zend/zend_language_scanner.c"
-#line 2445 "Zend/zend_language_scanner.c"
++#line 2614 "Zend/zend_language_scanner.c"
yy112:
YYDEBUG(112, *YYCURSOR);
yyaccept = 4;
yy113:
YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2081 "Zend/zend_language_scanner.l"
-#line 1927 "Zend/zend_language_scanner.l"
++#line 2082 "Zend/zend_language_scanner.l"
{
int doc_com;
RETURN_TOKEN(T_DOC_COMMENT);
}
+ if (PARSER_MODE()) {
+ SKIP_TOKEN(T_COMMENT);
+ }
RETURN_TOKEN(T_COMMENT);
}
- #line 2661 "Zend/zend_language_scanner.c"
-#line 2487 "Zend/zend_language_scanner.c"
++#line 2662 "Zend/zend_language_scanner.c"
yy114:
YYDEBUG(114, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_DIV_EQUAL);
}
- #line 2671 "Zend/zend_language_scanner.c"
-#line 2497 "Zend/zend_language_scanner.c"
++#line 2672 "Zend/zend_language_scanner.c"
yy116:
YYDEBUG(116, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
}
- #line 2707 "Zend/zend_language_scanner.c"
-#line 2533 "Zend/zend_language_scanner.c"
++#line 2708 "Zend/zend_language_scanner.c"
yy121:
YYDEBUG(121, *YYCURSOR);
yyaccept = 5;
{
RETURN_TOKEN(T_SL);
}
- #line 2722 "Zend/zend_language_scanner.c"
-#line 2548 "Zend/zend_language_scanner.c"
++#line 2723 "Zend/zend_language_scanner.c"
yy123:
YYDEBUG(123, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
}
- #line 2733 "Zend/zend_language_scanner.c"
-#line 2559 "Zend/zend_language_scanner.c"
++#line 2734 "Zend/zend_language_scanner.c"
yy125:
YYDEBUG(125, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_IS_EQUAL);
}
- #line 2748 "Zend/zend_language_scanner.c"
-#line 2574 "Zend/zend_language_scanner.c"
++#line 2749 "Zend/zend_language_scanner.c"
yy128:
YYDEBUG(128, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_DOUBLE_ARROW);
}
- #line 2758 "Zend/zend_language_scanner.c"
-#line 2584 "Zend/zend_language_scanner.c"
++#line 2759 "Zend/zend_language_scanner.c"
yy130:
YYDEBUG(130, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
}
- #line 2768 "Zend/zend_language_scanner.c"
-#line 2594 "Zend/zend_language_scanner.c"
++#line 2769 "Zend/zend_language_scanner.c"
yy132:
YYDEBUG(132, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_SR);
}
- #line 2779 "Zend/zend_language_scanner.c"
-#line 2605 "Zend/zend_language_scanner.c"
++#line 2780 "Zend/zend_language_scanner.c"
yy134:
YYDEBUG(134, *YYCURSOR);
yych = *++YYCURSOR;
yy135:
YYDEBUG(135, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2120 "Zend/zend_language_scanner.l"
-#line 1960 "Zend/zend_language_scanner.l"
++#line 2121 "Zend/zend_language_scanner.l"
{
BEGIN(INITIAL);
if (yytext[yyleng-1] != '>') {
CG(increment_lineno) = 1;
}
- RETURN_TOKEN(T_CLOSE_TAG); /* implicit ';' at php-end tag */
+ if (PARSER_MODE()) {
+ RETURN_TOKEN(';'); /* implicit ';' at php-end tag */
+ }
+ RETURN_TOKEN(T_CLOSE_TAG);
}
- #line 2799 "Zend/zend_language_scanner.c"
-#line 2622 "Zend/zend_language_scanner.c"
++#line 2800 "Zend/zend_language_scanner.c"
yy136:
YYDEBUG(136, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_COALESCE);
}
- #line 2809 "Zend/zend_language_scanner.c"
-#line 2632 "Zend/zend_language_scanner.c"
++#line 2810 "Zend/zend_language_scanner.c"
yy138:
YYDEBUG(138, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_AS);
}
- #line 2840 "Zend/zend_language_scanner.c"
-#line 2663 "Zend/zend_language_scanner.c"
++#line 2841 "Zend/zend_language_scanner.c"
yy143:
YYDEBUG(143, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_DO);
}
- #line 2930 "Zend/zend_language_scanner.c"
-#line 2753 "Zend/zend_language_scanner.c"
++#line 2931 "Zend/zend_language_scanner.c"
yy152:
YYDEBUG(152, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_IF);
}
- #line 3019 "Zend/zend_language_scanner.c"
-#line 2842 "Zend/zend_language_scanner.c"
++#line 3020 "Zend/zend_language_scanner.c"
yy165:
YYDEBUG(165, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_LOGICAL_OR);
}
- #line 3084 "Zend/zend_language_scanner.c"
-#line 2907 "Zend/zend_language_scanner.c"
++#line 3085 "Zend/zend_language_scanner.c"
yy173:
YYDEBUG(173, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_XOR_EQUAL);
}
- #line 3202 "Zend/zend_language_scanner.c"
-#line 3025 "Zend/zend_language_scanner.c"
++#line 3203 "Zend/zend_language_scanner.c"
yy188:
YYDEBUG(188, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_OR_EQUAL);
}
- #line 3234 "Zend/zend_language_scanner.c"
-#line 3057 "Zend/zend_language_scanner.c"
++#line 3235 "Zend/zend_language_scanner.c"
yy191:
YYDEBUG(191, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_BOOLEAN_OR);
}
- #line 3244 "Zend/zend_language_scanner.c"
-#line 3067 "Zend/zend_language_scanner.c"
++#line 3245 "Zend/zend_language_scanner.c"
yy193:
YYDEBUG(193, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_IS_NOT_IDENTICAL);
}
- #line 3254 "Zend/zend_language_scanner.c"
-#line 3077 "Zend/zend_language_scanner.c"
++#line 3255 "Zend/zend_language_scanner.c"
yy195:
YYDEBUG(195, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_POW_EQUAL);
}
- #line 3324 "Zend/zend_language_scanner.c"
-#line 3147 "Zend/zend_language_scanner.c"
++#line 3325 "Zend/zend_language_scanner.c"
yy207:
YYDEBUG(207, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_ELLIPSIS);
}
- #line 3334 "Zend/zend_language_scanner.c"
-#line 3157 "Zend/zend_language_scanner.c"
++#line 3335 "Zend/zend_language_scanner.c"
yy209:
YYDEBUG(209, *YYCURSOR);
yych = *++YYCURSOR;
ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
/* errno isn't checked since we allow HUGE_VAL/INF overflow */
ZEND_ASSERT(end == yytext + yyleng);
- RETURN_TOKEN(T_DNUMBER);
+ RETURN_TOKEN_WITH_VAL(T_DNUMBER);
}
}
- #line 3386 "Zend/zend_language_scanner.c"
-#line 3209 "Zend/zend_language_scanner.c"
++#line 3387 "Zend/zend_language_scanner.c"
yy213:
YYDEBUG(213, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(218, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1831 "Zend/zend_language_scanner.l"
-#line 1691 "Zend/zend_language_scanner.l"
++#line 1832 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
/* errno isn't checked since we allow HUGE_VAL/INF overflow */
ZEND_ASSERT(end == hex + len);
- RETURN_TOKEN(T_DNUMBER);
+ RETURN_TOKEN_WITH_VAL(T_DNUMBER);
}
}
- #line 3440 "Zend/zend_language_scanner.c"
-#line 3263 "Zend/zend_language_scanner.c"
++#line 3441 "Zend/zend_language_scanner.c"
yy219:
YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_SL_EQUAL);
}
- #line 3479 "Zend/zend_language_scanner.c"
-#line 3302 "Zend/zend_language_scanner.c"
++#line 3480 "Zend/zend_language_scanner.c"
yy223:
YYDEBUG(223, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_SPACESHIP);
}
- #line 3489 "Zend/zend_language_scanner.c"
-#line 3312 "Zend/zend_language_scanner.c"
++#line 3490 "Zend/zend_language_scanner.c"
yy225:
YYDEBUG(225, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_IS_IDENTICAL);
}
- #line 3499 "Zend/zend_language_scanner.c"
-#line 3322 "Zend/zend_language_scanner.c"
++#line 3500 "Zend/zend_language_scanner.c"
yy227:
YYDEBUG(227, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_SR_EQUAL);
}
- #line 3509 "Zend/zend_language_scanner.c"
-#line 3332 "Zend/zend_language_scanner.c"
++#line 3510 "Zend/zend_language_scanner.c"
yy229:
YYDEBUG(229, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_LOGICAL_AND);
}
- #line 3537 "Zend/zend_language_scanner.c"
-#line 3360 "Zend/zend_language_scanner.c"
++#line 3538 "Zend/zend_language_scanner.c"
yy234:
YYDEBUG(234, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_EXIT);
}
- #line 3622 "Zend/zend_language_scanner.c"
-#line 3445 "Zend/zend_language_scanner.c"
++#line 3623 "Zend/zend_language_scanner.c"
yy247:
YYDEBUG(247, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_FOR);
}
- #line 3708 "Zend/zend_language_scanner.c"
-#line 3531 "Zend/zend_language_scanner.c"
++#line 3709 "Zend/zend_language_scanner.c"
yy257:
YYDEBUG(257, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_NEW);
}
- #line 3781 "Zend/zend_language_scanner.c"
-#line 3604 "Zend/zend_language_scanner.c"
++#line 3782 "Zend/zend_language_scanner.c"
yy269:
YYDEBUG(269, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_TRY);
}
- #line 3858 "Zend/zend_language_scanner.c"
-#line 3681 "Zend/zend_language_scanner.c"
++#line 3859 "Zend/zend_language_scanner.c"
yy280:
YYDEBUG(280, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_USE);
}
- #line 3877 "Zend/zend_language_scanner.c"
-#line 3700 "Zend/zend_language_scanner.c"
++#line 3878 "Zend/zend_language_scanner.c"
yy283:
YYDEBUG(283, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_VAR);
}
- #line 3890 "Zend/zend_language_scanner.c"
-#line 3713 "Zend/zend_language_scanner.c"
++#line 3891 "Zend/zend_language_scanner.c"
yy285:
YYDEBUG(285, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_LOGICAL_XOR);
}
- #line 3909 "Zend/zend_language_scanner.c"
-#line 3732 "Zend/zend_language_scanner.c"
++#line 3910 "Zend/zend_language_scanner.c"
yy288:
YYDEBUG(288, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CASE);
}
- #line 4127 "Zend/zend_language_scanner.c"
-#line 3950 "Zend/zend_language_scanner.c"
++#line 4128 "Zend/zend_language_scanner.c"
yy319:
YYDEBUG(319, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ECHO);
}
- #line 4182 "Zend/zend_language_scanner.c"
-#line 4005 "Zend/zend_language_scanner.c"
++#line 4183 "Zend/zend_language_scanner.c"
yy328:
YYDEBUG(328, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ELSE);
}
- #line 4210 "Zend/zend_language_scanner.c"
-#line 4033 "Zend/zend_language_scanner.c"
++#line 4211 "Zend/zend_language_scanner.c"
yy330:
YYDEBUG(330, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_EVAL);
}
- #line 4259 "Zend/zend_language_scanner.c"
-#line 4082 "Zend/zend_language_scanner.c"
++#line 4260 "Zend/zend_language_scanner.c"
yy338:
YYDEBUG(338, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_EXIT);
}
- #line 4272 "Zend/zend_language_scanner.c"
-#line 4095 "Zend/zend_language_scanner.c"
++#line 4273 "Zend/zend_language_scanner.c"
yy340:
YYDEBUG(340, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_GOTO);
}
- #line 4315 "Zend/zend_language_scanner.c"
-#line 4138 "Zend/zend_language_scanner.c"
++#line 4316 "Zend/zend_language_scanner.c"
yy347:
YYDEBUG(347, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_LIST);
}
- #line 4368 "Zend/zend_language_scanner.c"
-#line 4191 "Zend/zend_language_scanner.c"
++#line 4369 "Zend/zend_language_scanner.c"
yy354:
YYDEBUG(354, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_INT_CAST);
}
- #line 4559 "Zend/zend_language_scanner.c"
-#line 4382 "Zend/zend_language_scanner.c"
++#line 4560 "Zend/zend_language_scanner.c"
yy386:
YYDEBUG(386, *YYCURSOR);
yych = *++YYCURSOR;
yy397:
YYDEBUG(397, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2268 "Zend/zend_language_scanner.l"
-#line 2080 "Zend/zend_language_scanner.l"
++#line 2269 "Zend/zend_language_scanner.l"
{
char *s;
- int bprefix = (yytext[0] != '<') ? 1 : 0;
+ unsigned char *saved_cursor;
+ int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
+ zend_bool is_heredoc = 1;
CG(zend_lineno)++;
heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
RETURN_TOKEN(T_START_HEREDOC);
}
- #line 4788 "Zend/zend_language_scanner.c"
-#line 4526 "Zend/zend_language_scanner.c"
++#line 4789 "Zend/zend_language_scanner.c"
yy398:
YYDEBUG(398, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ARRAY);
}
- #line 4812 "Zend/zend_language_scanner.c"
-#line 4550 "Zend/zend_language_scanner.c"
++#line 4813 "Zend/zend_language_scanner.c"
yy402:
YYDEBUG(402, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_BREAK);
}
- #line 4825 "Zend/zend_language_scanner.c"
-#line 4563 "Zend/zend_language_scanner.c"
++#line 4826 "Zend/zend_language_scanner.c"
yy404:
YYDEBUG(404, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CATCH);
}
- #line 4844 "Zend/zend_language_scanner.c"
-#line 4582 "Zend/zend_language_scanner.c"
++#line 4845 "Zend/zend_language_scanner.c"
yy407:
YYDEBUG(407, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CLASS);
}
- #line 4857 "Zend/zend_language_scanner.c"
-#line 4595 "Zend/zend_language_scanner.c"
++#line 4858 "Zend/zend_language_scanner.c"
yy409:
YYDEBUG(409, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CLONE);
}
- #line 4870 "Zend/zend_language_scanner.c"
-#line 4608 "Zend/zend_language_scanner.c"
++#line 4871 "Zend/zend_language_scanner.c"
yy411:
YYDEBUG(411, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CONST);
}
- #line 4883 "Zend/zend_language_scanner.c"
-#line 4621 "Zend/zend_language_scanner.c"
++#line 4884 "Zend/zend_language_scanner.c"
yy413:
YYDEBUG(413, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_EMPTY);
}
- #line 4920 "Zend/zend_language_scanner.c"
-#line 4658 "Zend/zend_language_scanner.c"
++#line 4921 "Zend/zend_language_scanner.c"
yy419:
YYDEBUG(419, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ENDIF);
}
- #line 4945 "Zend/zend_language_scanner.c"
-#line 4683 "Zend/zend_language_scanner.c"
++#line 4946 "Zend/zend_language_scanner.c"
yy423:
YYDEBUG(423, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_FINAL);
}
- #line 4991 "Zend/zend_language_scanner.c"
-#line 4729 "Zend/zend_language_scanner.c"
++#line 4992 "Zend/zend_language_scanner.c"
yy428:
YYDEBUG(428, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ISSET);
}
- #line 5052 "Zend/zend_language_scanner.c"
-#line 4790 "Zend/zend_language_scanner.c"
++#line 5053 "Zend/zend_language_scanner.c"
yy438:
YYDEBUG(438, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_PRINT);
}
- #line 5071 "Zend/zend_language_scanner.c"
-#line 4809 "Zend/zend_language_scanner.c"
++#line 5072 "Zend/zend_language_scanner.c"
yy441:
YYDEBUG(441, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_THROW);
}
- #line 5126 "Zend/zend_language_scanner.c"
-#line 4864 "Zend/zend_language_scanner.c"
++#line 5127 "Zend/zend_language_scanner.c"
yy450:
YYDEBUG(450, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_TRAIT);
}
- #line 5139 "Zend/zend_language_scanner.c"
-#line 4877 "Zend/zend_language_scanner.c"
++#line 5140 "Zend/zend_language_scanner.c"
yy452:
YYDEBUG(452, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_UNSET);
}
- #line 5152 "Zend/zend_language_scanner.c"
-#line 4890 "Zend/zend_language_scanner.c"
++#line 5153 "Zend/zend_language_scanner.c"
yy454:
YYDEBUG(454, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_WHILE);
}
- #line 5165 "Zend/zend_language_scanner.c"
-#line 4903 "Zend/zend_language_scanner.c"
++#line 5166 "Zend/zend_language_scanner.c"
yy456:
YYDEBUG(456, *YYCURSOR);
yyaccept = 6;
{
RETURN_TOKEN(T_YIELD);
}
- #line 5187 "Zend/zend_language_scanner.c"
-#line 4925 "Zend/zend_language_scanner.c"
++#line 5188 "Zend/zend_language_scanner.c"
yy458:
YYDEBUG(458, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_BOOL_CAST);
}
- #line 5283 "Zend/zend_language_scanner.c"
-#line 5021 "Zend/zend_language_scanner.c"
++#line 5284 "Zend/zend_language_scanner.c"
yy474:
YYDEBUG(474, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_DOUBLE_CAST);
}
- #line 5317 "Zend/zend_language_scanner.c"
-#line 5055 "Zend/zend_language_scanner.c"
++#line 5318 "Zend/zend_language_scanner.c"
yy480:
YYDEBUG(480, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ELSEIF);
}
- #line 5386 "Zend/zend_language_scanner.c"
-#line 5124 "Zend/zend_language_scanner.c"
++#line 5387 "Zend/zend_language_scanner.c"
yy491:
YYDEBUG(491, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ENDFOR);
}
- #line 5420 "Zend/zend_language_scanner.c"
-#line 5158 "Zend/zend_language_scanner.c"
++#line 5421 "Zend/zend_language_scanner.c"
yy494:
YYDEBUG(494, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_GLOBAL);
}
- #line 5469 "Zend/zend_language_scanner.c"
-#line 5207 "Zend/zend_language_scanner.c"
++#line 5470 "Zend/zend_language_scanner.c"
yy502:
YYDEBUG(502, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_PUBLIC);
}
- #line 5530 "Zend/zend_language_scanner.c"
-#line 5268 "Zend/zend_language_scanner.c"
++#line 5531 "Zend/zend_language_scanner.c"
yy512:
YYDEBUG(512, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_RETURN);
}
- #line 5549 "Zend/zend_language_scanner.c"
-#line 5287 "Zend/zend_language_scanner.c"
++#line 5550 "Zend/zend_language_scanner.c"
yy515:
YYDEBUG(515, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_STATIC);
}
- #line 5562 "Zend/zend_language_scanner.c"
-#line 5300 "Zend/zend_language_scanner.c"
++#line 5563 "Zend/zend_language_scanner.c"
yy517:
YYDEBUG(517, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_SWITCH);
}
- #line 5575 "Zend/zend_language_scanner.c"
-#line 5313 "Zend/zend_language_scanner.c"
++#line 5576 "Zend/zend_language_scanner.c"
yy519:
YYDEBUG(519, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_ARRAY_CAST);
}
- #line 5659 "Zend/zend_language_scanner.c"
-#line 5397 "Zend/zend_language_scanner.c"
++#line 5660 "Zend/zend_language_scanner.c"
yy532:
YYDEBUG(532, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_UNSET_CAST);
}
- #line 5709 "Zend/zend_language_scanner.c"
-#line 5447 "Zend/zend_language_scanner.c"
++#line 5710 "Zend/zend_language_scanner.c"
yy540:
YYDEBUG(540, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_DECLARE);
}
- #line 5740 "Zend/zend_language_scanner.c"
-#line 5478 "Zend/zend_language_scanner.c"
++#line 5741 "Zend/zend_language_scanner.c"
yy545:
YYDEBUG(545, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_DEFAULT);
}
- #line 5753 "Zend/zend_language_scanner.c"
-#line 5491 "Zend/zend_language_scanner.c"
++#line 5754 "Zend/zend_language_scanner.c"
yy547:
YYDEBUG(547, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_EXTENDS);
}
- #line 5790 "Zend/zend_language_scanner.c"
-#line 5528 "Zend/zend_language_scanner.c"
++#line 5791 "Zend/zend_language_scanner.c"
yy553:
YYDEBUG(553, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_FINALLY);
}
- #line 5803 "Zend/zend_language_scanner.c"
-#line 5541 "Zend/zend_language_scanner.c"
++#line 5804 "Zend/zend_language_scanner.c"
yy555:
YYDEBUG(555, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_FOREACH);
}
- #line 5816 "Zend/zend_language_scanner.c"
-#line 5554 "Zend/zend_language_scanner.c"
++#line 5817 "Zend/zend_language_scanner.c"
yy557:
YYDEBUG(557, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_INCLUDE);
}
- #line 5854 "Zend/zend_language_scanner.c"
-#line 5592 "Zend/zend_language_scanner.c"
++#line 5855 "Zend/zend_language_scanner.c"
yy561:
YYDEBUG(561, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_PRIVATE);
}
- #line 5891 "Zend/zend_language_scanner.c"
-#line 5629 "Zend/zend_language_scanner.c"
++#line 5892 "Zend/zend_language_scanner.c"
yy567:
YYDEBUG(567, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_REQUIRE);
}
- #line 5923 "Zend/zend_language_scanner.c"
-#line 5661 "Zend/zend_language_scanner.c"
++#line 5924 "Zend/zend_language_scanner.c"
yy570:
YYDEBUG(570, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(573, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1917 "Zend/zend_language_scanner.l"
-#line 1773 "Zend/zend_language_scanner.l"
++#line 1918 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DIR);
}
- #line 5947 "Zend/zend_language_scanner.c"
-#line 5685 "Zend/zend_language_scanner.c"
++#line 5948 "Zend/zend_language_scanner.c"
yy574:
YYDEBUG(574, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_STRING_CAST);
}
- #line 5996 "Zend/zend_language_scanner.c"
-#line 5734 "Zend/zend_language_scanner.c"
++#line 5997 "Zend/zend_language_scanner.c"
yy583:
YYDEBUG(583, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_OBJECT_CAST);
}
- #line 6006 "Zend/zend_language_scanner.c"
-#line 5744 "Zend/zend_language_scanner.c"
++#line 6007 "Zend/zend_language_scanner.c"
yy585:
YYDEBUG(585, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ABSTRACT);
}
- #line 6019 "Zend/zend_language_scanner.c"
-#line 5757 "Zend/zend_language_scanner.c"
++#line 6020 "Zend/zend_language_scanner.c"
yy587:
YYDEBUG(587, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CALLABLE);
}
- #line 6032 "Zend/zend_language_scanner.c"
-#line 5770 "Zend/zend_language_scanner.c"
++#line 6033 "Zend/zend_language_scanner.c"
yy589:
YYDEBUG(589, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_CONTINUE);
}
- #line 6045 "Zend/zend_language_scanner.c"
-#line 5783 "Zend/zend_language_scanner.c"
++#line 6046 "Zend/zend_language_scanner.c"
yy591:
YYDEBUG(591, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ENDWHILE);
}
- #line 6076 "Zend/zend_language_scanner.c"
-#line 5814 "Zend/zend_language_scanner.c"
++#line 6077 "Zend/zend_language_scanner.c"
yy596:
YYDEBUG(596, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_FUNCTION);
}
- #line 6089 "Zend/zend_language_scanner.c"
-#line 5827 "Zend/zend_language_scanner.c"
++#line 6090 "Zend/zend_language_scanner.c"
yy598:
YYDEBUG(598, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(609, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1913 "Zend/zend_language_scanner.l"
-#line 1769 "Zend/zend_language_scanner.l"
++#line 1914 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FILE);
}
- #line 6161 "Zend/zend_language_scanner.c"
-#line 5899 "Zend/zend_language_scanner.c"
++#line 6162 "Zend/zend_language_scanner.c"
yy610:
YYDEBUG(610, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(613, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1909 "Zend/zend_language_scanner.l"
-#line 1765 "Zend/zend_language_scanner.l"
++#line 1910 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_LINE);
}
- #line 6186 "Zend/zend_language_scanner.c"
-#line 5924 "Zend/zend_language_scanner.c"
++#line 6187 "Zend/zend_language_scanner.c"
yy614:
YYDEBUG(614, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ENDSWITCH);
}
- #line 6227 "Zend/zend_language_scanner.c"
-#line 5965 "Zend/zend_language_scanner.c"
++#line 6228 "Zend/zend_language_scanner.c"
yy621:
YYDEBUG(621, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_INSTEADOF);
}
- #line 6258 "Zend/zend_language_scanner.c"
-#line 5996 "Zend/zend_language_scanner.c"
++#line 6259 "Zend/zend_language_scanner.c"
yy626:
YYDEBUG(626, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_INTERFACE);
}
- #line 6271 "Zend/zend_language_scanner.c"
-#line 6009 "Zend/zend_language_scanner.c"
++#line 6272 "Zend/zend_language_scanner.c"
yy628:
YYDEBUG(628, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_NAMESPACE);
}
- #line 6284 "Zend/zend_language_scanner.c"
-#line 6022 "Zend/zend_language_scanner.c"
++#line 6285 "Zend/zend_language_scanner.c"
yy630:
YYDEBUG(630, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_PROTECTED);
}
- #line 6297 "Zend/zend_language_scanner.c"
-#line 6035 "Zend/zend_language_scanner.c"
++#line 6298 "Zend/zend_language_scanner.c"
yy632:
YYDEBUG(632, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(635, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1893 "Zend/zend_language_scanner.l"
-#line 1749 "Zend/zend_language_scanner.l"
++#line 1894 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CLASS_C);
}
- #line 6322 "Zend/zend_language_scanner.c"
-#line 6060 "Zend/zend_language_scanner.c"
++#line 6323 "Zend/zend_language_scanner.c"
yy636:
YYDEBUG(636, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(641, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1897 "Zend/zend_language_scanner.l"
-#line 1753 "Zend/zend_language_scanner.l"
++#line 1898 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_TRAIT_C);
}
- #line 6358 "Zend/zend_language_scanner.c"
-#line 6096 "Zend/zend_language_scanner.c"
++#line 6359 "Zend/zend_language_scanner.c"
yy642:
YYDEBUG(642, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ENDDECLARE);
}
- #line 6371 "Zend/zend_language_scanner.c"
-#line 6109 "Zend/zend_language_scanner.c"
++#line 6372 "Zend/zend_language_scanner.c"
yy644:
YYDEBUG(644, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_ENDFOREACH);
}
- #line 6384 "Zend/zend_language_scanner.c"
-#line 6122 "Zend/zend_language_scanner.c"
++#line 6385 "Zend/zend_language_scanner.c"
yy646:
YYDEBUG(646, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_IMPLEMENTS);
}
- #line 6397 "Zend/zend_language_scanner.c"
-#line 6135 "Zend/zend_language_scanner.c"
++#line 6398 "Zend/zend_language_scanner.c"
yy648:
YYDEBUG(648, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_INSTANCEOF);
}
- #line 6416 "Zend/zend_language_scanner.c"
-#line 6154 "Zend/zend_language_scanner.c"
++#line 6417 "Zend/zend_language_scanner.c"
yy651:
YYDEBUG(651, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(656, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1905 "Zend/zend_language_scanner.l"
-#line 1761 "Zend/zend_language_scanner.l"
++#line 1906 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_METHOD_C);
}
- #line 6468 "Zend/zend_language_scanner.c"
-#line 6206 "Zend/zend_language_scanner.c"
++#line 6469 "Zend/zend_language_scanner.c"
yy657:
YYDEBUG(657, *YYCURSOR);
yych = *++YYCURSOR;
HANDLE_NEWLINES(yytext, yyleng);
RETURN_TOKEN(T_YIELD_FROM);
}
- #line 6498 "Zend/zend_language_scanner.c"
-#line 6236 "Zend/zend_language_scanner.c"
++#line 6499 "Zend/zend_language_scanner.c"
yy662:
YYDEBUG(662, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_INCLUDE_ONCE);
}
- #line 6527 "Zend/zend_language_scanner.c"
-#line 6265 "Zend/zend_language_scanner.c"
++#line 6528 "Zend/zend_language_scanner.c"
yy667:
YYDEBUG(667, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_REQUIRE_ONCE);
}
- #line 6540 "Zend/zend_language_scanner.c"
-#line 6278 "Zend/zend_language_scanner.c"
++#line 6541 "Zend/zend_language_scanner.c"
yy669:
YYDEBUG(669, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(670, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1901 "Zend/zend_language_scanner.l"
-#line 1757 "Zend/zend_language_scanner.l"
++#line 1902 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FUNC_C);
}
- #line 6553 "Zend/zend_language_scanner.c"
-#line 6291 "Zend/zend_language_scanner.c"
++#line 6554 "Zend/zend_language_scanner.c"
yy671:
YYDEBUG(671, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(675, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1921 "Zend/zend_language_scanner.l"
-#line 1777 "Zend/zend_language_scanner.l"
++#line 1922 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_NS_C);
}
- #line 6583 "Zend/zend_language_scanner.c"
-#line 6321 "Zend/zend_language_scanner.c"
++#line 6584 "Zend/zend_language_scanner.c"
yy676:
YYDEBUG(676, *YYCURSOR);
yych = *++YYCURSOR;
{
RETURN_TOKEN(T_HALT_COMPILER);
}
- #line 6601 "Zend/zend_language_scanner.c"
-#line 6339 "Zend/zend_language_scanner.c"
++#line 6602 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
yy_pop_state();
goto restart;
}
- #line 6673 "Zend/zend_language_scanner.c"
-#line 6411 "Zend/zend_language_scanner.c"
++#line 6674 "Zend/zend_language_scanner.c"
yy683:
YYDEBUG(683, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(685, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1292 "Zend/zend_language_scanner.l"
+#line 1428 "Zend/zend_language_scanner.l"
{
- HANDLE_NEWLINES(yytext, yyleng);
- RETURN_TOKEN(T_WHITESPACE);
+ goto return_whitespace;
}
- #line 6689 "Zend/zend_language_scanner.c"
-#line 6428 "Zend/zend_language_scanner.c"
++#line 6690 "Zend/zend_language_scanner.c"
yy686:
YYDEBUG(686, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(689, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1301 "Zend/zend_language_scanner.l"
+#line 1436 "Zend/zend_language_scanner.l"
{
yy_pop_state();
- zend_copy_value(zendlval, yytext, yyleng);
- RETURN_TOKEN(T_STRING);
+ RETURN_TOKEN_WITH_STR(T_STRING, 0);
}
- #line 6711 "Zend/zend_language_scanner.c"
-#line 6451 "Zend/zend_language_scanner.c"
++#line 6712 "Zend/zend_language_scanner.c"
yy690:
YYDEBUG(690, *YYCURSOR);
++YYCURSOR;
{
RETURN_TOKEN(T_OBJECT_OPERATOR);
}
- #line 6721 "Zend/zend_language_scanner.c"
-#line 6461 "Zend/zend_language_scanner.c"
++#line 6722 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_BACKQUOTE:
yy695:
YYDEBUG(695, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2493 "Zend/zend_language_scanner.l"
-#line 2217 "Zend/zend_language_scanner.l"
++#line 2494 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
yyleng = YYCURSOR - SCNG(yy_text);
- zend_scan_escape_string(zendlval, yytext, yyleng, '`');
- RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
+ if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
+ || !PARSER_MODE()) {
+ RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
+ } else {
+ RETURN_TOKEN(T_ERROR);
+ }
}
- #line 6819 "Zend/zend_language_scanner.c"
-#line 6555 "Zend/zend_language_scanner.c"
++#line 6820 "Zend/zend_language_scanner.c"
yy696:
YYDEBUG(696, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(698, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2433 "Zend/zend_language_scanner.l"
-#line 2161 "Zend/zend_language_scanner.l"
++#line 2434 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN('`');
}
- #line 6848 "Zend/zend_language_scanner.c"
-#line 6584 "Zend/zend_language_scanner.c"
++#line 6849 "Zend/zend_language_scanner.c"
yy699:
YYDEBUG(699, *YYCURSOR);
yych = *++YYCURSOR;
yy702:
YYDEBUG(702, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2022 "Zend/zend_language_scanner.l"
-#line 1869 "Zend/zend_language_scanner.l"
++#line 2023 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 6873 "Zend/zend_language_scanner.c"
-#line 6610 "Zend/zend_language_scanner.c"
++#line 6874 "Zend/zend_language_scanner.c"
yy703:
YYDEBUG(703, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_VARNAME);
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
}
- #line 6884 "Zend/zend_language_scanner.c"
-#line 6621 "Zend/zend_language_scanner.c"
++#line 6885 "Zend/zend_language_scanner.c"
yy705:
YYDEBUG(705, *YYCURSOR);
++YYCURSOR;
YYDEBUG(706, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2421 "Zend/zend_language_scanner.l"
-#line 2148 "Zend/zend_language_scanner.l"
++#line 2422 "Zend/zend_language_scanner.l"
{
- Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
RETURN_TOKEN(T_CURLY_OPEN);
}
- #line 6896 "Zend/zend_language_scanner.c"
-#line 6634 "Zend/zend_language_scanner.c"
++#line 6897 "Zend/zend_language_scanner.c"
yy707:
YYDEBUG(707, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(710, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2016 "Zend/zend_language_scanner.l"
-#line 1862 "Zend/zend_language_scanner.l"
++#line 2017 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 6916 "Zend/zend_language_scanner.c"
-#line 6655 "Zend/zend_language_scanner.c"
++#line 6917 "Zend/zend_language_scanner.c"
yy711:
YYDEBUG(711, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(713, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2008 "Zend/zend_language_scanner.l"
-#line 1853 "Zend/zend_language_scanner.l"
++#line 2009 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 6940 "Zend/zend_language_scanner.c"
-#line 6680 "Zend/zend_language_scanner.c"
++#line 6941 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_DOUBLE_QUOTES:
yy717:
YYDEBUG(717, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2439 "Zend/zend_language_scanner.l"
-#line 2167 "Zend/zend_language_scanner.l"
++#line 2440 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
double_quotes_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
- zend_scan_escape_string(zendlval, yytext, yyleng, '"');
- RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
+ if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
+ || !PARSER_MODE()) {
+ RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
+ } else {
+ RETURN_TOKEN(T_ERROR);
+ }
}
- #line 7046 "Zend/zend_language_scanner.c"
-#line 6782 "Zend/zend_language_scanner.c"
++#line 7047 "Zend/zend_language_scanner.c"
yy718:
YYDEBUG(718, *YYCURSOR);
++YYCURSOR;
YYDEBUG(719, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2428 "Zend/zend_language_scanner.l"
-#line 2156 "Zend/zend_language_scanner.l"
++#line 2429 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN('"');
}
- #line 7057 "Zend/zend_language_scanner.c"
-#line 6793 "Zend/zend_language_scanner.c"
++#line 7058 "Zend/zend_language_scanner.c"
yy720:
YYDEBUG(720, *YYCURSOR);
yych = *++YYCURSOR;
yy724:
YYDEBUG(724, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2022 "Zend/zend_language_scanner.l"
-#line 1869 "Zend/zend_language_scanner.l"
++#line 2023 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7100 "Zend/zend_language_scanner.c"
-#line 6837 "Zend/zend_language_scanner.c"
++#line 7101 "Zend/zend_language_scanner.c"
yy725:
YYDEBUG(725, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_VARNAME);
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
}
- #line 7111 "Zend/zend_language_scanner.c"
-#line 6848 "Zend/zend_language_scanner.c"
++#line 7112 "Zend/zend_language_scanner.c"
yy727:
YYDEBUG(727, *YYCURSOR);
++YYCURSOR;
YYDEBUG(728, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2421 "Zend/zend_language_scanner.l"
-#line 2148 "Zend/zend_language_scanner.l"
++#line 2422 "Zend/zend_language_scanner.l"
{
- Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
RETURN_TOKEN(T_CURLY_OPEN);
}
- #line 7123 "Zend/zend_language_scanner.c"
-#line 6861 "Zend/zend_language_scanner.c"
++#line 7124 "Zend/zend_language_scanner.c"
yy729:
YYDEBUG(729, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(732, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2016 "Zend/zend_language_scanner.l"
-#line 1862 "Zend/zend_language_scanner.l"
++#line 2017 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7143 "Zend/zend_language_scanner.c"
-#line 6882 "Zend/zend_language_scanner.c"
++#line 7144 "Zend/zend_language_scanner.c"
yy733:
YYDEBUG(733, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(735, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2008 "Zend/zend_language_scanner.l"
-#line 1853 "Zend/zend_language_scanner.l"
++#line 2009 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7167 "Zend/zend_language_scanner.c"
-#line 6907 "Zend/zend_language_scanner.c"
++#line 7168 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_HEREDOC:
yy739:
YYDEBUG(739, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2539 "Zend/zend_language_scanner.l"
-#line 2259 "Zend/zend_language_scanner.l"
++#line 2540 "Zend/zend_language_scanner.l"
{
- int newline = 0;
-
zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+ int newline = 0, indentation = 0, spacing = 0;
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
}
heredoc_scan_done:
+
yyleng = YYCURSOR - SCNG(yy_text);
+ ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
+
+ if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
+ zend_bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
+ zend_string *copy = Z_STR_P(zendlval);
+
+ if (!strip_multiline_string_indentation(
+ zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
+ newline_at_start, newline != 0)) {
+ RETURN_TOKEN(T_ERROR);
+ }
- zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0);
- RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
+ if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
+ zend_string_efree(copy);
+ RETURN_TOKEN(T_ERROR);
+ }
+
+ zend_string_efree(copy);
+ } else {
+ HANDLE_NEWLINES(yytext, yyleng - newline);
+ }
+
+ RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
}
- #line 7336 "Zend/zend_language_scanner.c"
-#line 7029 "Zend/zend_language_scanner.c"
++#line 7337 "Zend/zend_language_scanner.c"
yy740:
YYDEBUG(740, *YYCURSOR);
yych = *++YYCURSOR;
yy744:
YYDEBUG(744, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2022 "Zend/zend_language_scanner.l"
-#line 1869 "Zend/zend_language_scanner.l"
++#line 2023 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7379 "Zend/zend_language_scanner.c"
-#line 7073 "Zend/zend_language_scanner.c"
++#line 7380 "Zend/zend_language_scanner.c"
yy745:
YYDEBUG(745, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_VARNAME);
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
}
- #line 7390 "Zend/zend_language_scanner.c"
-#line 7084 "Zend/zend_language_scanner.c"
++#line 7391 "Zend/zend_language_scanner.c"
yy747:
YYDEBUG(747, *YYCURSOR);
++YYCURSOR;
YYDEBUG(748, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2421 "Zend/zend_language_scanner.l"
-#line 2148 "Zend/zend_language_scanner.l"
++#line 2422 "Zend/zend_language_scanner.l"
{
- Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
RETURN_TOKEN(T_CURLY_OPEN);
}
- #line 7402 "Zend/zend_language_scanner.c"
-#line 7097 "Zend/zend_language_scanner.c"
++#line 7403 "Zend/zend_language_scanner.c"
yy749:
YYDEBUG(749, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(752, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2016 "Zend/zend_language_scanner.l"
-#line 1862 "Zend/zend_language_scanner.l"
++#line 2017 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7422 "Zend/zend_language_scanner.c"
-#line 7118 "Zend/zend_language_scanner.c"
++#line 7423 "Zend/zend_language_scanner.c"
yy753:
YYDEBUG(753, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(755, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2008 "Zend/zend_language_scanner.l"
-#line 1853 "Zend/zend_language_scanner.l"
++#line 2009 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7446 "Zend/zend_language_scanner.c"
-#line 7143 "Zend/zend_language_scanner.c"
++#line 7447 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_VARNAME:
yy_push_state(ST_IN_SCRIPTING);
goto restart;
}
- #line 7510 "Zend/zend_language_scanner.c"
-#line 7207 "Zend/zend_language_scanner.c"
++#line 7511 "Zend/zend_language_scanner.c"
yy760:
YYDEBUG(760, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
++YYCURSOR;
YYDEBUG(765, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1603 "Zend/zend_language_scanner.l"
+#line 1737 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
- zend_copy_value(zendlval, yytext, yyleng);
yy_pop_state();
yy_push_state(ST_IN_SCRIPTING);
- RETURN_TOKEN(T_STRING_VARNAME);
+ RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
}
- #line 7564 "Zend/zend_language_scanner.c"
-#line 7262 "Zend/zend_language_scanner.c"
++#line 7565 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_VAR_OFFSET:
++YYCURSOR;
YYDEBUG(769, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2748 "Zend/zend_language_scanner.l"
-#line 2390 "Zend/zend_language_scanner.l"
++#line 2749 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
- #line 7662 "Zend/zend_language_scanner.c"
-#line 7360 "Zend/zend_language_scanner.c"
++#line 7663 "Zend/zend_language_scanner.c"
yy770:
YYDEBUG(770, *YYCURSOR);
++YYCURSOR;
YYDEBUG(771, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2036 "Zend/zend_language_scanner.l"
-#line 1884 "Zend/zend_language_scanner.l"
++#line 2037 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
yy_pop_state();
ZVAL_NULL(zendlval);
- RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
+ RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
}
- #line 7676 "Zend/zend_language_scanner.c"
-#line 7374 "Zend/zend_language_scanner.c"
++#line 7677 "Zend/zend_language_scanner.c"
yy772:
YYDEBUG(772, *YYCURSOR);
++YYCURSOR;
yy773:
YYDEBUG(773, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2031 "Zend/zend_language_scanner.l"
-#line 1879 "Zend/zend_language_scanner.l"
++#line 2032 "Zend/zend_language_scanner.l"
{
/* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
RETURN_TOKEN(yytext[0]);
}
- #line 7688 "Zend/zend_language_scanner.c"
-#line 7386 "Zend/zend_language_scanner.c"
++#line 7689 "Zend/zend_language_scanner.c"
yy774:
YYDEBUG(774, *YYCURSOR);
yych = *++YYCURSOR;
yy776:
YYDEBUG(776, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1859 "Zend/zend_language_scanner.l"
-#line 1719 "Zend/zend_language_scanner.l"
++#line 1860 "Zend/zend_language_scanner.l"
{ /* Offset could be treated as a long */
if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
char *end;
string:
ZVAL_STRINGL(zendlval, yytext, yyleng);
}
- RETURN_TOKEN(T_NUM_STRING);
+ RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
}
- #line 7739 "Zend/zend_language_scanner.c"
-#line 7437 "Zend/zend_language_scanner.c"
++#line 7740 "Zend/zend_language_scanner.c"
yy777:
YYDEBUG(777, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(781, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2044 "Zend/zend_language_scanner.l"
-#line 1892 "Zend/zend_language_scanner.l"
++#line 2045 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, yytext, yyleng);
- RETURN_TOKEN(T_STRING);
+ RETURN_TOKEN_WITH_STR(T_STRING, 0);
}
- #line 7765 "Zend/zend_language_scanner.c"
-#line 7464 "Zend/zend_language_scanner.c"
++#line 7766 "Zend/zend_language_scanner.c"
yy782:
YYDEBUG(782, *YYCURSOR);
++YYCURSOR;
YYDEBUG(783, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2026 "Zend/zend_language_scanner.l"
-#line 1874 "Zend/zend_language_scanner.l"
++#line 2027 "Zend/zend_language_scanner.l"
{
yy_pop_state();
RETURN_TOKEN(']');
}
- #line 7776 "Zend/zend_language_scanner.c"
-#line 7475 "Zend/zend_language_scanner.c"
++#line 7777 "Zend/zend_language_scanner.c"
yy784:
YYDEBUG(784, *YYCURSOR);
++YYCURSOR;
yy786:
YYDEBUG(786, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2022 "Zend/zend_language_scanner.l"
-#line 1869 "Zend/zend_language_scanner.l"
++#line 2023 "Zend/zend_language_scanner.l"
{
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- RETURN_TOKEN(T_VARIABLE);
+ RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
}
- #line 7805 "Zend/zend_language_scanner.c"
-#line 7505 "Zend/zend_language_scanner.c"
++#line 7806 "Zend/zend_language_scanner.c"
yy787:
YYDEBUG(787, *YYCURSOR);
++YYCURSOR;
yy789:
YYDEBUG(789, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1875 "Zend/zend_language_scanner.l"
-#line 1735 "Zend/zend_language_scanner.l"
++#line 1876 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
- ZVAL_STRINGL(zendlval, yytext, yyleng);
- RETURN_TOKEN(T_NUM_STRING);
+ if (yyleng == 1) {
+ ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
+ } else {
+ ZVAL_STRINGL(zendlval, yytext, yyleng);
+ }
+ RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
}
- #line 7826 "Zend/zend_language_scanner.c"
-#line 7522 "Zend/zend_language_scanner.c"
++#line 7827 "Zend/zend_language_scanner.c"
yy790:
YYDEBUG(790, *YYCURSOR);
yych = *++YYCURSOR;
yy800:
YYDEBUG(800, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1957 "Zend/zend_language_scanner.l"
-#line 1804 "Zend/zend_language_scanner.l"
++#line 1958 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
if (readsize < yyleng) {
yyless(readsize);
}
+ } else if (yyleng == 1) {
+ ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
} else {
- ZVAL_STRINGL(zendlval, yytext, yyleng);
+ ZVAL_STRINGL(zendlval, yytext, yyleng);
}
HANDLE_NEWLINES(yytext, yyleng);
- RETURN_TOKEN(T_INLINE_HTML);
+ RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
}
- #line 7923 "Zend/zend_language_scanner.c"
-#line 7617 "Zend/zend_language_scanner.c"
++#line 7924 "Zend/zend_language_scanner.c"
yy801:
YYDEBUG(801, *YYCURSOR);
yych = *++YYCURSOR;
yy803:
YYDEBUG(803, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1945 "Zend/zend_language_scanner.l"
-#line 1795 "Zend/zend_language_scanner.l"
++#line 1946 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
BEGIN(ST_IN_SCRIPTING);
goto inline_char_handler;
}
}
- #line 7951 "Zend/zend_language_scanner.c"
-#line 7642 "Zend/zend_language_scanner.c"
++#line 7952 "Zend/zend_language_scanner.c"
yy804:
YYDEBUG(804, *YYCURSOR);
++YYCURSOR;
YYDEBUG(805, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1926 "Zend/zend_language_scanner.l"
-#line 1782 "Zend/zend_language_scanner.l"
++#line 1927 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
+ if (PARSER_MODE()) {
+ RETURN_TOKEN(T_ECHO);
+ }
RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
}
- #line 7965 "Zend/zend_language_scanner.c"
-#line 7653 "Zend/zend_language_scanner.c"
++#line 7966 "Zend/zend_language_scanner.c"
yy806:
YYDEBUG(806, *YYCURSOR);
yych = *++YYCURSOR;
yy811:
YYDEBUG(811, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 1935 "Zend/zend_language_scanner.l"
-#line 1788 "Zend/zend_language_scanner.l"
++#line 1936 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
+ if (PARSER_MODE()) {
+ SKIP_TOKEN(T_OPEN_TAG);
+ }
RETURN_TOKEN(T_OPEN_TAG);
}
- #line 8005 "Zend/zend_language_scanner.c"
-#line 7690 "Zend/zend_language_scanner.c"
++#line 8006 "Zend/zend_language_scanner.c"
yy812:
YYDEBUG(812, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(816, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2407 "Zend/zend_language_scanner.l"
-#line 2134 "Zend/zend_language_scanner.l"
++#line 2408 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN(T_END_HEREDOC);
}
- #line 8033 "Zend/zend_language_scanner.c"
-#line 7718 "Zend/zend_language_scanner.c"
++#line 8034 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_NOWDOC:
YYDEBUG(817, *YYCURSOR);
++YYCURSOR;
YYDEBUG(820, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
- #line 2660 "Zend/zend_language_scanner.l"
-#line 2333 "Zend/zend_language_scanner.l"
++#line 2661 "Zend/zend_language_scanner.l"
{
- int newline = 0;
-
zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+ int newline = 0, indentation = 0, spacing = -1;
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
nowdoc_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
+ ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
+
+ if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
+ zend_bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
+ if (!strip_multiline_string_indentation(
+ zendlval, indentation, spacing == HEREDOC_USING_SPACES,
+ newline_at_start, newline != 0)) {
+ RETURN_TOKEN(T_ERROR);
+ }
+ }
- zend_copy_value(zendlval, yytext, yyleng - newline);
HANDLE_NEWLINES(yytext, yyleng - newline);
- RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
+ RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
}
- #line 8130 "Zend/zend_language_scanner.c"
-#line 7784 "Zend/zend_language_scanner.c"
++#line 8131 "Zend/zend_language_scanner.c"
}
- #line 2757 "Zend/zend_language_scanner.l"
-#line 2399 "Zend/zend_language_scanner.l"
++#line 2758 "Zend/zend_language_scanner.l"
+
+emit_token_with_str:
+ zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
+
+emit_token_with_val:
+ if (PARSER_MODE()) {
+ ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
+ elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
+ }
+
+emit_token:
+ if (SCNG(on_event)) {
+ SCNG(on_event)(ON_TOKEN, token, start_line, SCNG(on_event_context));
+ }
+ return token;
+
+return_whitespace:
+ HANDLE_NEWLINES(yytext, yyleng);
+ if (SCNG(on_event)) {
+ SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, SCNG(on_event_context));
+ }
+ if (PARSER_MODE()) {
+ start_line = CG(zend_lineno);
+ goto restart;
+ } else {
+ return T_WHITESPACE;
+ }
+
+skip_token:
+ if (SCNG(on_event)) {
+ SCNG(on_event)(ON_TOKEN, token, start_line, SCNG(on_event_context));
+ }
+ start_line = CG(zend_lineno);
+ goto restart;
}