-/* Generated by re2c 0.13.6 */
+/* Generated by re2c 0.13.7.5 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
yy4:
YYDEBUG(4, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1712 "Zend/zend_language_scanner.l"
+#line 1754 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
yy7:
YYDEBUG(7, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1703 "Zend/zend_language_scanner.l"
+#line 1745 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
BEGIN(ST_IN_SCRIPTING);
++YYCURSOR;
YYDEBUG(9, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1690 "Zend/zend_language_scanner.l"
+#line 1732 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
yy15:
YYDEBUG(15, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1696 "Zend/zend_language_scanner.l"
+#line 1738 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
yyc_ST_BACKQUOTE:
{
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,
+ 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(17, *YYCURSOR);
YYFILL(2);
yy20:
YYDEBUG(20, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2122 "Zend/zend_language_scanner.l"
+#line 2164 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
++YYCURSOR;
YYDEBUG(23, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2066 "Zend/zend_language_scanner.l"
+#line 2108 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '`';
++YYCURSOR;
YYDEBUG(26, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2053 "Zend/zend_language_scanner.l"
+#line 2095 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
goto yy27;
}
if (yych == '-') goto yy32;
- if (yych == '[') goto yy34;
+ if (yych <= '@') goto yy29;
+ if (yych <= '[') goto yy34;
yy29:
YYDEBUG(29, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1415 "Zend/zend_language_scanner.c"
+#line 1416 "Zend/zend_language_scanner.c"
yy30:
YYDEBUG(30, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_VARNAME);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1426 "Zend/zend_language_scanner.c"
+#line 1427 "Zend/zend_language_scanner.c"
yy32:
YYDEBUG(32, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(35, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1770 "Zend/zend_language_scanner.l"
+#line 1812 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1447 "Zend/zend_language_scanner.c"
+#line 1448 "Zend/zend_language_scanner.c"
yy36:
YYDEBUG(36, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(38, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1761 "Zend/zend_language_scanner.l"
+#line 1803 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1472 "Zend/zend_language_scanner.c"
+#line 1473 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_DOUBLE_QUOTES:
{
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,
+ 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(39, *YYCURSOR);
YYFILL(2);
yy42:
YYDEBUG(42, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2072 "Zend/zend_language_scanner.l"
+#line 2114 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
zend_scan_escape_string(zendlval, yytext, yyleng, '"');
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1589 "Zend/zend_language_scanner.c"
+#line 1590 "Zend/zend_language_scanner.c"
yy43:
YYDEBUG(43, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(45, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2061 "Zend/zend_language_scanner.l"
+#line 2103 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '"';
}
-#line 1605 "Zend/zend_language_scanner.c"
+#line 1606 "Zend/zend_language_scanner.c"
yy46:
YYDEBUG(46, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(48, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2053 "Zend/zend_language_scanner.l"
+#line 2095 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1622 "Zend/zend_language_scanner.c"
+#line 1623 "Zend/zend_language_scanner.c"
yy49:
YYDEBUG(49, *YYCURSOR);
yyaccept = 0;
goto yy49;
}
if (yych == '-') goto yy54;
- if (yych == '[') goto yy56;
+ if (yych <= '@') goto yy51;
+ if (yych <= '[') goto yy56;
yy51:
YYDEBUG(51, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1643 "Zend/zend_language_scanner.c"
+#line 1645 "Zend/zend_language_scanner.c"
yy52:
YYDEBUG(52, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_VARNAME);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1654 "Zend/zend_language_scanner.c"
+#line 1656 "Zend/zend_language_scanner.c"
yy54:
YYDEBUG(54, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(57, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1770 "Zend/zend_language_scanner.l"
+#line 1812 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1675 "Zend/zend_language_scanner.c"
+#line 1677 "Zend/zend_language_scanner.c"
yy58:
YYDEBUG(58, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(60, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1761 "Zend/zend_language_scanner.l"
+#line 1803 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1700 "Zend/zend_language_scanner.c"
+#line 1702 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(64, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2039 "Zend/zend_language_scanner.l"
+#line 2081 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
BEGIN(ST_IN_SCRIPTING);
return T_END_HEREDOC;
}
-#line 1724 "Zend/zend_language_scanner.c"
+#line 1726 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_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,
+ 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(65, *YYCURSOR);
YYFILL(2);
yy68:
YYDEBUG(68, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2164 "Zend/zend_language_scanner.l"
+#line 2206 "Zend/zend_language_scanner.l"
{
int newline = 0;
zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1859 "Zend/zend_language_scanner.c"
+#line 1861 "Zend/zend_language_scanner.c"
yy69:
YYDEBUG(69, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(72, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2053 "Zend/zend_language_scanner.l"
+#line 2095 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1881 "Zend/zend_language_scanner.c"
+#line 1883 "Zend/zend_language_scanner.c"
yy73:
YYDEBUG(73, *YYCURSOR);
yyaccept = 0;
goto yy73;
}
if (yych == '-') goto yy78;
- if (yych == '[') goto yy80;
+ if (yych <= '@') goto yy75;
+ if (yych <= '[') goto yy80;
yy75:
YYDEBUG(75, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1902 "Zend/zend_language_scanner.c"
+#line 1905 "Zend/zend_language_scanner.c"
yy76:
YYDEBUG(76, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_VARNAME);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1913 "Zend/zend_language_scanner.c"
+#line 1916 "Zend/zend_language_scanner.c"
yy78:
YYDEBUG(78, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1770 "Zend/zend_language_scanner.l"
+#line 1812 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1934 "Zend/zend_language_scanner.c"
+#line 1937 "Zend/zend_language_scanner.c"
yy82:
YYDEBUG(82, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(84, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1761 "Zend/zend_language_scanner.l"
+#line 1803 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1959 "Zend/zend_language_scanner.c"
+#line 1962 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_IN_SCRIPTING:
{
static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 192, 64, 0, 0, 64, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 192, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 60, 44, 44, 44, 44, 44, 44,
- 44, 44, 0, 0, 0, 0, 0, 0,
- 0, 36, 36, 36, 36, 36, 36, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 0, 0, 0, 0, 4,
- 0, 36, 36, 36, 36, 36, 36, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 0, 0, 0, 0, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 192, 64, 0, 0, 64, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 192, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 60, 44, 44, 44, 44, 44, 44,
+ 44, 44, 0, 0, 0, 0, 0, 0,
+ 0, 36, 36, 36, 36, 36, 36, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 0, 0, 0, 0, 4,
+ 0, 36, 36, 36, 36, 36, 36, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 0, 0, 0, 0, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
};
YYDEBUG(85, *YYCURSOR);
YYFILL(16);
yy88:
YYDEBUG(88, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1842 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 2147 "Zend/zend_language_scanner.c"
+#line 2150 "Zend/zend_language_scanner.c"
yy89:
YYDEBUG(89, *YYCURSOR);
yych = *++YYCURSOR;
{
return yytext[0];
}
-#line 2383 "Zend/zend_language_scanner.c"
+#line 2386 "Zend/zend_language_scanner.c"
yy104:
YYDEBUG(104, *YYCURSOR);
++YYCURSOR;
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 2397 "Zend/zend_language_scanner.c"
+#line 2400 "Zend/zend_language_scanner.c"
yy106:
YYDEBUG(106, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_NS_SEPARATOR;
}
-#line 2412 "Zend/zend_language_scanner.c"
+#line 2415 "Zend/zend_language_scanner.c"
yy109:
YYDEBUG(109, *YYCURSOR);
yyaccept = 1;
yy_push_state(ST_IN_SCRIPTING);
return '{';
}
-#line 2646 "Zend/zend_language_scanner.c"
+#line 2649 "Zend/zend_language_scanner.c"
yy134:
YYDEBUG(134, *YYCURSOR);
++YYCURSOR;
}
return '}';
}
-#line 2660 "Zend/zend_language_scanner.c"
+#line 2663 "Zend/zend_language_scanner.c"
yy136:
YYDEBUG(136, *YYCURSOR);
yyaccept = 2;
yy137:
YYDEBUG(137, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1597 "Zend/zend_language_scanner.l"
+#line 1602 "Zend/zend_language_scanner.l"
{
+ char *end;
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
- ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, NULL, 0));
+ errno = 0;
+ ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0));
+ /* This isn't an assert, we need to ensure 019 isn't valid octal
+ * Because the lexing itself doesn't do that for us
+ */
+ if (end != yytext + yyleng) {
+ zend_error_noreturn(E_COMPILE_ERROR, "Invalid numeric literal");
+ }
+ ZEND_ASSERT(!errno);
} else {
errno = 0;
- ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, NULL, 0));
+ ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0));
if (errno == ERANGE) { /* Overflow */
+ errno = 0;
if (yytext[0] == '0') { /* octal overflow */
- ZVAL_DOUBLE(zendlval, zend_oct_strtod(yytext, NULL));
+ errno = 0;
+ ZVAL_DOUBLE(zendlval, zend_oct_strtod(yytext, &end));
} else {
- ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
+ ZVAL_DOUBLE(zendlval, zend_strtod(yytext, &end));
+ }
+ /* Also not an assert for the same reason */
+ if (end != yytext + yyleng) {
+ zend_error_noreturn(E_COMPILE_ERROR, "Invalid numeric literal");
}
+ ZEND_ASSERT(!errno);
return T_DNUMBER;
}
+ /* Also not an assert for the same reason */
+ if (end != yytext + yyleng) {
+ zend_error_noreturn(E_COMPILE_ERROR, "Invalid numeric literal");
+ }
+ ZEND_ASSERT(!errno);
}
return T_LNUMBER;
}
-#line 2706 "Zend/zend_language_scanner.c"
+#line 2730 "Zend/zend_language_scanner.c"
yy138:
YYDEBUG(138, *YYCURSOR);
yyaccept = 2;
yy141:
YYDEBUG(141, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1806 "Zend/zend_language_scanner.l"
+#line 1848 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
return T_COMMENT;
}
-#line 2763 "Zend/zend_language_scanner.c"
+#line 2787 "Zend/zend_language_scanner.c"
yy142:
YYDEBUG(142, *YYCURSOR);
++YYCURSOR;
yy143:
YYDEBUG(143, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1874 "Zend/zend_language_scanner.l"
+#line 1916 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
}
return T_CONSTANT_ENCAPSED_STRING;
}
-#line 2838 "Zend/zend_language_scanner.c"
+#line 2862 "Zend/zend_language_scanner.c"
yy144:
YYDEBUG(144, *YYCURSOR);
++YYCURSOR;
yy145:
YYDEBUG(145, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1943 "Zend/zend_language_scanner.l"
+#line 1985 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-#line 2886 "Zend/zend_language_scanner.c"
+#line 2910 "Zend/zend_language_scanner.c"
yy146:
YYDEBUG(146, *YYCURSOR);
++YYCURSOR;
YYDEBUG(147, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2033 "Zend/zend_language_scanner.l"
+#line 2075 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-#line 2897 "Zend/zend_language_scanner.c"
+#line 2921 "Zend/zend_language_scanner.c"
yy148:
YYDEBUG(148, *YYCURSOR);
++YYCURSOR;
YYDEBUG(149, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2295 "Zend/zend_language_scanner.l"
+#line 2337 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 2912 "Zend/zend_language_scanner.c"
+#line 2936 "Zend/zend_language_scanner.c"
yy150:
YYDEBUG(150, *YYCURSOR);
++YYCURSOR;
yy154:
YYDEBUG(154, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1652 "Zend/zend_language_scanner.l"
+#line 1690 "Zend/zend_language_scanner.l"
{
- ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
+ 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 T_DNUMBER;
}
-#line 2944 "Zend/zend_language_scanner.c"
+#line 2972 "Zend/zend_language_scanner.c"
yy155:
YYDEBUG(155, *YYCURSOR);
yyaccept = 2;
{
char *bin = yytext + 2; /* Skip "0b" */
int len = yyleng - 2;
+ char *end;
/* Skip any leading 0s */
while (*bin == '0') {
if (len == 0) {
ZVAL_LONG(zendlval, 0);
} else {
- ZVAL_LONG(zendlval, ZEND_STRTOL(bin, NULL, 2));
+ errno = 0;
+ ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
+ ZEND_ASSERT(!errno && end == yytext + yyleng);
}
return T_LNUMBER;
} else {
- ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, NULL));
+ ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, &end));
+ /* errno isn't checked since we allow HUGE_VAL/INF overflow */
+ ZEND_ASSERT(end == yytext + yyleng);
return T_DNUMBER;
}
}
-#line 3059 "Zend/zend_language_scanner.c"
+#line 3092 "Zend/zend_language_scanner.c"
yy167:
YYDEBUG(167, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(169, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1615 "Zend/zend_language_scanner.l"
+#line 1641 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
+ char *end;
/* Skip any leading 0s */
while (*hex == '0') {
if (len == 0) {
ZVAL_LONG(zendlval, 0);
} else {
- ZVAL_LONG(zendlval, ZEND_STRTOL(hex, NULL, 16));
+ errno = 0;
+ ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
+ ZEND_ASSERT(!errno && end == hex + len);
}
return T_LNUMBER;
} else {
- ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, NULL));
+ ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, &end));
+ /* errno isn't checked since we allow HUGE_VAL/INF overflow */
+ ZEND_ASSERT(end == hex + len);
return T_DNUMBER;
}
}
-#line 3094 "Zend/zend_language_scanner.c"
+#line 3132 "Zend/zend_language_scanner.c"
yy170:
YYDEBUG(170, *YYCURSOR);
++YYCURSOR;
yy172:
YYDEBUG(172, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 3124 "Zend/zend_language_scanner.c"
+#line 3162 "Zend/zend_language_scanner.c"
yy173:
YYDEBUG(173, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_LOGICAL_XOR;
}
-#line 3142 "Zend/zend_language_scanner.c"
+#line 3180 "Zend/zend_language_scanner.c"
yy176:
YYDEBUG(176, *YYCURSOR);
++YYCURSOR;
{
return T_LOGICAL_OR;
}
-#line 3155 "Zend/zend_language_scanner.c"
+#line 3193 "Zend/zend_language_scanner.c"
yy178:
YYDEBUG(178, *YYCURSOR);
++YYCURSOR;
{
return T_XOR_EQUAL;
}
-#line 3165 "Zend/zend_language_scanner.c"
+#line 3203 "Zend/zend_language_scanner.c"
yy180:
YYDEBUG(180, *YYCURSOR);
++YYCURSOR;
{
return T_BOOLEAN_OR;
}
-#line 3175 "Zend/zend_language_scanner.c"
+#line 3213 "Zend/zend_language_scanner.c"
yy182:
YYDEBUG(182, *YYCURSOR);
++YYCURSOR;
{
return T_OR_EQUAL;
}
-#line 3185 "Zend/zend_language_scanner.c"
+#line 3223 "Zend/zend_language_scanner.c"
yy184:
YYDEBUG(184, *YYCURSOR);
++YYCURSOR;
{
return T_BOOLEAN_AND;
}
-#line 3195 "Zend/zend_language_scanner.c"
+#line 3233 "Zend/zend_language_scanner.c"
yy186:
YYDEBUG(186, *YYCURSOR);
++YYCURSOR;
{
return T_AND_EQUAL;
}
-#line 3205 "Zend/zend_language_scanner.c"
+#line 3243 "Zend/zend_language_scanner.c"
yy188:
YYDEBUG(188, *YYCURSOR);
++YYCURSOR;
{
return T_MOD_EQUAL;
}
-#line 3215 "Zend/zend_language_scanner.c"
+#line 3253 "Zend/zend_language_scanner.c"
yy190:
YYDEBUG(190, *YYCURSOR);
yyaccept = 4;
yy191:
YYDEBUG(191, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1835 "Zend/zend_language_scanner.l"
+#line 1877 "Zend/zend_language_scanner.l"
{
int doc_com;
return T_COMMENT;
}
-#line 3257 "Zend/zend_language_scanner.c"
+#line 3295 "Zend/zend_language_scanner.c"
yy192:
YYDEBUG(192, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_DIV_EQUAL;
}
-#line 3271 "Zend/zend_language_scanner.c"
+#line 3309 "Zend/zend_language_scanner.c"
yy195:
YYDEBUG(195, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_POW;
}
-#line 3299 "Zend/zend_language_scanner.c"
+#line 3337 "Zend/zend_language_scanner.c"
yy200:
YYDEBUG(200, *YYCURSOR);
++YYCURSOR;
{
return T_MUL_EQUAL;
}
-#line 3309 "Zend/zend_language_scanner.c"
+#line 3347 "Zend/zend_language_scanner.c"
yy202:
YYDEBUG(202, *YYCURSOR);
++YYCURSOR;
{
return T_POW_EQUAL;
}
-#line 3319 "Zend/zend_language_scanner.c"
+#line 3357 "Zend/zend_language_scanner.c"
yy204:
YYDEBUG(204, *YYCURSOR);
++YYCURSOR;
{
return T_SR;
}
-#line 3330 "Zend/zend_language_scanner.c"
+#line 3368 "Zend/zend_language_scanner.c"
yy206:
YYDEBUG(206, *YYCURSOR);
++YYCURSOR;
{
return T_IS_GREATER_OR_EQUAL;
}
-#line 3340 "Zend/zend_language_scanner.c"
+#line 3378 "Zend/zend_language_scanner.c"
yy208:
YYDEBUG(208, *YYCURSOR);
++YYCURSOR;
{
return T_SR_EQUAL;
}
-#line 3350 "Zend/zend_language_scanner.c"
+#line 3388 "Zend/zend_language_scanner.c"
yy210:
YYDEBUG(210, *YYCURSOR);
yyaccept = 5;
{
return T_SL;
}
-#line 3365 "Zend/zend_language_scanner.c"
+#line 3403 "Zend/zend_language_scanner.c"
yy212:
YYDEBUG(212, *YYCURSOR);
++YYCURSOR;
{
return T_IS_SMALLER_OR_EQUAL;
}
-#line 3375 "Zend/zend_language_scanner.c"
+#line 3413 "Zend/zend_language_scanner.c"
yy214:
YYDEBUG(214, *YYCURSOR);
++YYCURSOR;
{
return T_IS_NOT_EQUAL;
}
-#line 3386 "Zend/zend_language_scanner.c"
+#line 3424 "Zend/zend_language_scanner.c"
yy216:
YYDEBUG(216, *YYCURSOR);
++YYCURSOR;
{
return T_SL_EQUAL;
}
-#line 3396 "Zend/zend_language_scanner.c"
+#line 3434 "Zend/zend_language_scanner.c"
yy218:
YYDEBUG(218, *YYCURSOR);
++YYCURSOR;
yy228:
YYDEBUG(228, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1985 "Zend/zend_language_scanner.l"
+#line 2027 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
return T_START_HEREDOC;
}
-#line 3548 "Zend/zend_language_scanner.c"
+#line 3586 "Zend/zend_language_scanner.c"
yy229:
YYDEBUG(229, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_IS_NOT_IDENTICAL;
}
-#line 3592 "Zend/zend_language_scanner.c"
+#line 3630 "Zend/zend_language_scanner.c"
yy235:
YYDEBUG(235, *YYCURSOR);
++YYCURSOR;
{
return T_PLUS_EQUAL;
}
-#line 3602 "Zend/zend_language_scanner.c"
+#line 3640 "Zend/zend_language_scanner.c"
yy237:
YYDEBUG(237, *YYCURSOR);
++YYCURSOR;
{
return T_INC;
}
-#line 3612 "Zend/zend_language_scanner.c"
+#line 3650 "Zend/zend_language_scanner.c"
yy239:
YYDEBUG(239, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_LIST;
}
-#line 3635 "Zend/zend_language_scanner.c"
+#line 3673 "Zend/zend_language_scanner.c"
yy243:
YYDEBUG(243, *YYCURSOR);
++YYCURSOR;
{
return T_IS_EQUAL;
}
-#line 3646 "Zend/zend_language_scanner.c"
+#line 3684 "Zend/zend_language_scanner.c"
yy245:
YYDEBUG(245, *YYCURSOR);
++YYCURSOR;
{
return T_DOUBLE_ARROW;
}
-#line 3656 "Zend/zend_language_scanner.c"
+#line 3694 "Zend/zend_language_scanner.c"
yy247:
YYDEBUG(247, *YYCURSOR);
++YYCURSOR;
{
return T_IS_IDENTICAL;
}
-#line 3666 "Zend/zend_language_scanner.c"
+#line 3704 "Zend/zend_language_scanner.c"
yy249:
YYDEBUG(249, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(268, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1685 "Zend/zend_language_scanner.l"
+#line 1727 "Zend/zend_language_scanner.l"
{
return T_NS_C;
}
-#line 3800 "Zend/zend_language_scanner.c"
+#line 3838 "Zend/zend_language_scanner.c"
yy269:
YYDEBUG(269, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(273, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1681 "Zend/zend_language_scanner.l"
+#line 1723 "Zend/zend_language_scanner.l"
{
return T_DIR;
}
-#line 3824 "Zend/zend_language_scanner.c"
+#line 3862 "Zend/zend_language_scanner.c"
yy274:
YYDEBUG(274, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(279, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1673 "Zend/zend_language_scanner.l"
+#line 1715 "Zend/zend_language_scanner.l"
{
return T_LINE;
}
-#line 3853 "Zend/zend_language_scanner.c"
+#line 3891 "Zend/zend_language_scanner.c"
yy280:
YYDEBUG(280, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(287, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1669 "Zend/zend_language_scanner.l"
+#line 1711 "Zend/zend_language_scanner.l"
{
return T_METHOD_C;
}
-#line 3892 "Zend/zend_language_scanner.c"
+#line 3930 "Zend/zend_language_scanner.c"
yy288:
YYDEBUG(288, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(298, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1665 "Zend/zend_language_scanner.l"
+#line 1707 "Zend/zend_language_scanner.l"
{
return T_FUNC_C;
}
-#line 3947 "Zend/zend_language_scanner.c"
+#line 3985 "Zend/zend_language_scanner.c"
yy299:
YYDEBUG(299, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(303, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1677 "Zend/zend_language_scanner.l"
+#line 1719 "Zend/zend_language_scanner.l"
{
return T_FILE;
}
-#line 3971 "Zend/zend_language_scanner.c"
+#line 4009 "Zend/zend_language_scanner.c"
yy304:
YYDEBUG(304, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(310, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1661 "Zend/zend_language_scanner.l"
+#line 1703 "Zend/zend_language_scanner.l"
{
return T_TRAIT_C;
}
-#line 4005 "Zend/zend_language_scanner.c"
+#line 4043 "Zend/zend_language_scanner.c"
yy311:
YYDEBUG(311, *YYCURSOR);
yych = *++YYCURSOR;
}
YYDEBUG(317, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1657 "Zend/zend_language_scanner.l"
+#line 1699 "Zend/zend_language_scanner.l"
{
return T_CLASS_C;
}
-#line 4039 "Zend/zend_language_scanner.c"
+#line 4077 "Zend/zend_language_scanner.c"
yy318:
YYDEBUG(318, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_HALT_COMPILER;
}
-#line 4105 "Zend/zend_language_scanner.c"
+#line 4143 "Zend/zend_language_scanner.c"
yy331:
YYDEBUG(331, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_USE;
}
-#line 4129 "Zend/zend_language_scanner.c"
+#line 4167 "Zend/zend_language_scanner.c"
yy335:
YYDEBUG(335, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_UNSET;
}
-#line 4152 "Zend/zend_language_scanner.c"
+#line 4190 "Zend/zend_language_scanner.c"
yy339:
YYDEBUG(339, *YYCURSOR);
++YYCURSOR;
{
return T_INT_CAST;
}
-#line 4328 "Zend/zend_language_scanner.c"
+#line 4366 "Zend/zend_language_scanner.c"
yy357:
YYDEBUG(357, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_DOUBLE_CAST;
}
-#line 4376 "Zend/zend_language_scanner.c"
+#line 4414 "Zend/zend_language_scanner.c"
yy366:
YYDEBUG(366, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_STRING_CAST;
}
-#line 4450 "Zend/zend_language_scanner.c"
+#line 4488 "Zend/zend_language_scanner.c"
yy380:
YYDEBUG(380, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ARRAY_CAST;
}
-#line 4487 "Zend/zend_language_scanner.c"
+#line 4525 "Zend/zend_language_scanner.c"
yy387:
YYDEBUG(387, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_OBJECT_CAST;
}
-#line 4529 "Zend/zend_language_scanner.c"
+#line 4567 "Zend/zend_language_scanner.c"
yy395:
YYDEBUG(395, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_BOOL_CAST;
}
-#line 4574 "Zend/zend_language_scanner.c"
+#line 4612 "Zend/zend_language_scanner.c"
yy403:
YYDEBUG(403, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_UNSET_CAST;
}
-#line 4638 "Zend/zend_language_scanner.c"
+#line 4676 "Zend/zend_language_scanner.c"
yy415:
YYDEBUG(415, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_VAR;
}
-#line 4656 "Zend/zend_language_scanner.c"
+#line 4694 "Zend/zend_language_scanner.c"
yy418:
YYDEBUG(418, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_NEW;
}
-#line 4680 "Zend/zend_language_scanner.c"
+#line 4718 "Zend/zend_language_scanner.c"
yy422:
YYDEBUG(422, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_NAMESPACE;
}
-#line 4723 "Zend/zend_language_scanner.c"
+#line 4761 "Zend/zend_language_scanner.c"
yy430:
YYDEBUG(430, *YYCURSOR);
++YYCURSOR;
yy431:
YYDEBUG(431, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1868 "Zend/zend_language_scanner.l"
+#line 1910 "Zend/zend_language_scanner.l"
{
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-#line 4737 "Zend/zend_language_scanner.c"
+#line 4775 "Zend/zend_language_scanner.c"
yy432:
YYDEBUG(432, *YYCURSOR);
++YYCURSOR;
{
return T_COALESCE;
}
-#line 4747 "Zend/zend_language_scanner.c"
+#line 4785 "Zend/zend_language_scanner.c"
yy434:
YYDEBUG(434, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_CONCAT_EQUAL;
}
-#line 4782 "Zend/zend_language_scanner.c"
+#line 4820 "Zend/zend_language_scanner.c"
yy440:
YYDEBUG(440, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ELLIPSIS;
}
-#line 4795 "Zend/zend_language_scanner.c"
+#line 4833 "Zend/zend_language_scanner.c"
yy443:
YYDEBUG(443, *YYCURSOR);
++YYCURSOR;
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-#line 4805 "Zend/zend_language_scanner.c"
+#line 4843 "Zend/zend_language_scanner.c"
yy445:
YYDEBUG(445, *YYCURSOR);
++YYCURSOR;
{
return T_MINUS_EQUAL;
}
-#line 4831 "Zend/zend_language_scanner.c"
+#line 4869 "Zend/zend_language_scanner.c"
yy449:
YYDEBUG(449, *YYCURSOR);
++YYCURSOR;
{
return T_DEC;
}
-#line 4841 "Zend/zend_language_scanner.c"
+#line 4879 "Zend/zend_language_scanner.c"
yy451:
YYDEBUG(451, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_LOOKING_FOR_PROPERTY);
return T_OBJECT_OPERATOR;
}
-#line 4852 "Zend/zend_language_scanner.c"
+#line 4890 "Zend/zend_language_scanner.c"
yy453:
YYDEBUG(453, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_PUBLIC;
}
-#line 4901 "Zend/zend_language_scanner.c"
+#line 4939 "Zend/zend_language_scanner.c"
yy460:
YYDEBUG(460, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_PROTECTED;
}
-#line 4960 "Zend/zend_language_scanner.c"
+#line 4998 "Zend/zend_language_scanner.c"
yy469:
YYDEBUG(469, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_PRIVATE;
}
-#line 4994 "Zend/zend_language_scanner.c"
+#line 5032 "Zend/zend_language_scanner.c"
yy475:
YYDEBUG(475, *YYCURSOR);
++YYCURSOR;
{
return T_PRINT;
}
-#line 5007 "Zend/zend_language_scanner.c"
+#line 5045 "Zend/zend_language_scanner.c"
yy477:
YYDEBUG(477, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_GOTO;
}
-#line 5036 "Zend/zend_language_scanner.c"
+#line 5074 "Zend/zend_language_scanner.c"
yy482:
YYDEBUG(482, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_GLOBAL;
}
-#line 5064 "Zend/zend_language_scanner.c"
+#line 5102 "Zend/zend_language_scanner.c"
yy487:
YYDEBUG(487, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_BREAK;
}
-#line 5105 "Zend/zend_language_scanner.c"
+#line 5143 "Zend/zend_language_scanner.c"
yy495:
YYDEBUG(495, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_SWITCH;
}
-#line 5149 "Zend/zend_language_scanner.c"
+#line 5187 "Zend/zend_language_scanner.c"
yy503:
YYDEBUG(503, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_STATIC;
}
-#line 5177 "Zend/zend_language_scanner.c"
+#line 5215 "Zend/zend_language_scanner.c"
yy508:
YYDEBUG(508, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_AS;
}
-#line 5208 "Zend/zend_language_scanner.c"
+#line 5246 "Zend/zend_language_scanner.c"
yy513:
YYDEBUG(513, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ARRAY;
}
-#line 5231 "Zend/zend_language_scanner.c"
+#line 5269 "Zend/zend_language_scanner.c"
yy517:
YYDEBUG(517, *YYCURSOR);
++YYCURSOR;
{
return T_LOGICAL_AND;
}
-#line 5244 "Zend/zend_language_scanner.c"
+#line 5282 "Zend/zend_language_scanner.c"
yy519:
YYDEBUG(519, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ABSTRACT;
}
-#line 5282 "Zend/zend_language_scanner.c"
+#line 5320 "Zend/zend_language_scanner.c"
yy526:
YYDEBUG(526, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_WHILE;
}
-#line 5310 "Zend/zend_language_scanner.c"
+#line 5348 "Zend/zend_language_scanner.c"
yy531:
YYDEBUG(531, *YYCURSOR);
++YYCURSOR;
{
return T_IF;
}
-#line 5323 "Zend/zend_language_scanner.c"
+#line 5361 "Zend/zend_language_scanner.c"
yy533:
YYDEBUG(533, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ISSET;
}
-#line 5379 "Zend/zend_language_scanner.c"
+#line 5417 "Zend/zend_language_scanner.c"
yy540:
YYDEBUG(540, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_INCLUDE;
}
-#line 5437 "Zend/zend_language_scanner.c"
+#line 5475 "Zend/zend_language_scanner.c"
yy548:
YYDEBUG(548, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_INCLUDE_ONCE;
}
-#line 5470 "Zend/zend_language_scanner.c"
+#line 5508 "Zend/zend_language_scanner.c"
yy554:
YYDEBUG(554, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_INTERFACE;
}
-#line 5508 "Zend/zend_language_scanner.c"
+#line 5546 "Zend/zend_language_scanner.c"
yy561:
YYDEBUG(561, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_INSTEADOF;
}
-#line 5562 "Zend/zend_language_scanner.c"
+#line 5600 "Zend/zend_language_scanner.c"
yy569:
YYDEBUG(569, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_INSTANCEOF;
}
-#line 5595 "Zend/zend_language_scanner.c"
+#line 5633 "Zend/zend_language_scanner.c"
yy575:
YYDEBUG(575, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_IMPLEMENTS;
}
-#line 5643 "Zend/zend_language_scanner.c"
+#line 5681 "Zend/zend_language_scanner.c"
yy584:
YYDEBUG(584, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_TRY;
}
-#line 5675 "Zend/zend_language_scanner.c"
+#line 5713 "Zend/zend_language_scanner.c"
yy588:
YYDEBUG(588, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_TRAIT;
}
-#line 5698 "Zend/zend_language_scanner.c"
+#line 5736 "Zend/zend_language_scanner.c"
yy592:
YYDEBUG(592, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_THROW;
}
-#line 5721 "Zend/zend_language_scanner.c"
+#line 5759 "Zend/zend_language_scanner.c"
yy596:
YYDEBUG(596, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_YIELD;
}
-#line 5749 "Zend/zend_language_scanner.c"
+#line 5787 "Zend/zend_language_scanner.c"
yy601:
YYDEBUG(601, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_REQUIRE;
}
-#line 5814 "Zend/zend_language_scanner.c"
+#line 5852 "Zend/zend_language_scanner.c"
yy609:
YYDEBUG(609, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_REQUIRE_ONCE;
}
-#line 5847 "Zend/zend_language_scanner.c"
+#line 5885 "Zend/zend_language_scanner.c"
yy615:
YYDEBUG(615, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_RETURN;
}
-#line 5870 "Zend/zend_language_scanner.c"
+#line 5908 "Zend/zend_language_scanner.c"
yy619:
YYDEBUG(619, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_CONTINUE;
}
-#line 5964 "Zend/zend_language_scanner.c"
+#line 6002 "Zend/zend_language_scanner.c"
yy630:
YYDEBUG(630, *YYCURSOR);
++YYCURSOR;
{
return T_CONST;
}
-#line 5977 "Zend/zend_language_scanner.c"
+#line 6015 "Zend/zend_language_scanner.c"
yy632:
YYDEBUG(632, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_CLONE;
}
-#line 6006 "Zend/zend_language_scanner.c"
+#line 6044 "Zend/zend_language_scanner.c"
yy637:
YYDEBUG(637, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_CLASS;
}
-#line 6024 "Zend/zend_language_scanner.c"
+#line 6062 "Zend/zend_language_scanner.c"
yy640:
YYDEBUG(640, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_CALLABLE;
}
-#line 6074 "Zend/zend_language_scanner.c"
+#line 6112 "Zend/zend_language_scanner.c"
yy649:
YYDEBUG(649, *YYCURSOR);
++YYCURSOR;
{
return T_CASE;
}
-#line 6087 "Zend/zend_language_scanner.c"
+#line 6125 "Zend/zend_language_scanner.c"
yy651:
YYDEBUG(651, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_CATCH;
}
-#line 6105 "Zend/zend_language_scanner.c"
+#line 6143 "Zend/zend_language_scanner.c"
yy654:
YYDEBUG(654, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_FUNCTION;
}
-#line 6160 "Zend/zend_language_scanner.c"
+#line 6198 "Zend/zend_language_scanner.c"
yy664:
YYDEBUG(664, *YYCURSOR);
++YYCURSOR;
{
return T_FOR;
}
-#line 6188 "Zend/zend_language_scanner.c"
+#line 6226 "Zend/zend_language_scanner.c"
yy666:
YYDEBUG(666, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_FOREACH;
}
-#line 6216 "Zend/zend_language_scanner.c"
+#line 6254 "Zend/zend_language_scanner.c"
yy671:
YYDEBUG(671, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_FINAL;
}
-#line 6254 "Zend/zend_language_scanner.c"
+#line 6292 "Zend/zend_language_scanner.c"
yy675:
YYDEBUG(675, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_FINALLY;
}
-#line 6272 "Zend/zend_language_scanner.c"
+#line 6310 "Zend/zend_language_scanner.c"
yy678:
YYDEBUG(678, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_DO;
}
-#line 6307 "Zend/zend_language_scanner.c"
+#line 6345 "Zend/zend_language_scanner.c"
yy682:
YYDEBUG(682, *YYCURSOR);
++YYCURSOR;
{
return T_EXIT;
}
-#line 6320 "Zend/zend_language_scanner.c"
+#line 6358 "Zend/zend_language_scanner.c"
yy684:
YYDEBUG(684, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_DEFAULT;
}
-#line 6359 "Zend/zend_language_scanner.c"
+#line 6397 "Zend/zend_language_scanner.c"
yy691:
YYDEBUG(691, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_DECLARE;
}
-#line 6387 "Zend/zend_language_scanner.c"
+#line 6425 "Zend/zend_language_scanner.c"
yy696:
YYDEBUG(696, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_EXTENDS;
}
-#line 6471 "Zend/zend_language_scanner.c"
+#line 6509 "Zend/zend_language_scanner.c"
yy709:
YYDEBUG(709, *YYCURSOR);
++YYCURSOR;
{
return T_EXIT;
}
-#line 6484 "Zend/zend_language_scanner.c"
+#line 6522 "Zend/zend_language_scanner.c"
yy711:
YYDEBUG(711, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_EVAL;
}
-#line 6502 "Zend/zend_language_scanner.c"
+#line 6540 "Zend/zend_language_scanner.c"
yy714:
YYDEBUG(714, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ENDWHILE;
}
-#line 6576 "Zend/zend_language_scanner.c"
+#line 6614 "Zend/zend_language_scanner.c"
yy725:
YYDEBUG(725, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ENDSWITCH;
}
-#line 6609 "Zend/zend_language_scanner.c"
+#line 6647 "Zend/zend_language_scanner.c"
yy731:
YYDEBUG(731, *YYCURSOR);
++YYCURSOR;
{
return T_ENDIF;
}
-#line 6622 "Zend/zend_language_scanner.c"
+#line 6660 "Zend/zend_language_scanner.c"
yy733:
YYDEBUG(733, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ENDFOR;
}
-#line 6655 "Zend/zend_language_scanner.c"
+#line 6693 "Zend/zend_language_scanner.c"
yy736:
YYDEBUG(736, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ENDFOREACH;
}
-#line 6683 "Zend/zend_language_scanner.c"
+#line 6721 "Zend/zend_language_scanner.c"
yy741:
YYDEBUG(741, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ENDDECLARE;
}
-#line 6721 "Zend/zend_language_scanner.c"
+#line 6759 "Zend/zend_language_scanner.c"
yy748:
YYDEBUG(748, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_EMPTY;
}
-#line 6744 "Zend/zend_language_scanner.c"
+#line 6782 "Zend/zend_language_scanner.c"
yy752:
YYDEBUG(752, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ELSE;
}
-#line 6777 "Zend/zend_language_scanner.c"
+#line 6815 "Zend/zend_language_scanner.c"
yy755:
YYDEBUG(755, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ELSEIF;
}
-#line 6795 "Zend/zend_language_scanner.c"
+#line 6833 "Zend/zend_language_scanner.c"
yy758:
YYDEBUG(758, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_ECHO;
}
-#line 6813 "Zend/zend_language_scanner.c"
+#line 6851 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
{
static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 0, 0, 128, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 0, 0, 0, 0, 0, 0,
- 0, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 0, 0, 0, 0, 64,
- 0, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 0, 0, 0, 0, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 0, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0,
+ 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 0, 0, 0, 0, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 0, 0, 0, 0, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
};
YYDEBUG(761, *YYCURSOR);
YYFILL(2);
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 6891 "Zend/zend_language_scanner.c"
+#line 6929 "Zend/zend_language_scanner.c"
yy765:
YYDEBUG(765, *YYCURSOR);
++YYCURSOR;
yy_pop_state();
goto restart;
}
-#line 6905 "Zend/zend_language_scanner.c"
+#line 6943 "Zend/zend_language_scanner.c"
yy767:
YYDEBUG(767, *YYCURSOR);
++YYCURSOR;
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 6920 "Zend/zend_language_scanner.c"
+#line 6958 "Zend/zend_language_scanner.c"
yy769:
YYDEBUG(769, *YYCURSOR);
yych = *++YYCURSOR;
{
return T_OBJECT_OPERATOR;
}
-#line 6945 "Zend/zend_language_scanner.c"
+#line 6983 "Zend/zend_language_scanner.c"
yy774:
YYDEBUG(774, *YYCURSOR);
++YYCURSOR;
yyc_ST_LOOKING_FOR_VARNAME:
{
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,
+ 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(776, *YYCURSOR);
YYFILL(2);
yy_push_state(ST_IN_SCRIPTING);
goto restart;
}
-#line 7037 "Zend/zend_language_scanner.c"
+#line 7075 "Zend/zend_language_scanner.c"
yy780:
YYDEBUG(780, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
goto yy781;
}
- if (yych == '[') goto yy784;
+ if (yych <= '@') goto yy783;
+ if (yych <= '[') goto yy784;
if (yych == '}') goto yy784;
+yy783:
YYDEBUG(783, *YYCURSOR);
YYCURSOR = YYMARKER;
goto yy779;
yy_push_state(ST_IN_SCRIPTING);
return T_STRING_VARNAME;
}
-#line 7070 "Zend/zend_language_scanner.c"
+#line 7110 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_NOWDOC:
++YYCURSOR;
YYDEBUG(789, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2238 "Zend/zend_language_scanner.l"
+#line 2280 "Zend/zend_language_scanner.l"
{
int newline = 0;
HANDLE_NEWLINES(yytext, yyleng - newline);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7137 "Zend/zend_language_scanner.c"
+#line 7177 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
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,
- 240, 240, 112, 112, 112, 112, 112, 112,
- 112, 112, 0, 0, 0, 0, 0, 0,
- 0, 80, 80, 80, 80, 80, 80, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 0, 0, 0, 16,
- 0, 80, 80, 80, 80, 80, 80, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 0, 0, 0, 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, 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, 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, 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,
+ 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,
+ 240, 240, 112, 112, 112, 112, 112, 112,
+ 112, 112, 0, 0, 0, 0, 0, 0,
+ 0, 80, 80, 80, 80, 80, 80, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 0, 0, 0, 0, 16,
+ 0, 80, 80, 80, 80, 80, 80, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 0, 0, 0, 0, 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, 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, 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, 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,
};
YYDEBUG(790, *YYCURSOR);
YYFILL(3);
yy793:
YYDEBUG(793, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1638 "Zend/zend_language_scanner.l"
+#line 1669 "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)) {
- ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, NULL, 10));
+ char *end;
+ errno = 0;
+ ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
+ if (errno == ERANGE) {
+ goto string;
+ }
+ ZEND_ASSERT(end == yytext + yyleng);
} else {
+string:
ZVAL_STRINGL(zendlval, yytext, yyleng);
}
return T_NUM_STRING;
}
-#line 7253 "Zend/zend_language_scanner.c"
+#line 7300 "Zend/zend_language_scanner.c"
yy794:
YYDEBUG(794, *YYCURSOR);
yych = *++YYCURSOR;
yy796:
YYDEBUG(796, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1787 "Zend/zend_language_scanner.l"
+#line 1829 "Zend/zend_language_scanner.l"
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-#line 7278 "Zend/zend_language_scanner.c"
+#line 7325 "Zend/zend_language_scanner.c"
yy797:
YYDEBUG(797, *YYCURSOR);
++YYCURSOR;
YYDEBUG(798, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1782 "Zend/zend_language_scanner.l"
+#line 1824 "Zend/zend_language_scanner.l"
{
yy_pop_state();
return ']';
}
-#line 7289 "Zend/zend_language_scanner.c"
+#line 7336 "Zend/zend_language_scanner.c"
yy799:
YYDEBUG(799, *YYCURSOR);
yych = *++YYCURSOR;
++YYCURSOR;
YYDEBUG(801, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1834 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
ZVAL_NULL(zendlval);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7307 "Zend/zend_language_scanner.c"
+#line 7354 "Zend/zend_language_scanner.c"
yy802:
YYDEBUG(802, *YYCURSOR);
++YYCURSOR;
yy803:
YYDEBUG(803, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1842 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 7321 "Zend/zend_language_scanner.c"
+#line 7368 "Zend/zend_language_scanner.c"
yy804:
YYDEBUG(804, *YYCURSOR);
++YYCURSOR;
YYDEBUG(805, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2295 "Zend/zend_language_scanner.l"
+#line 2337 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7336 "Zend/zend_language_scanner.c"
+#line 7383 "Zend/zend_language_scanner.c"
yy806:
YYDEBUG(806, *YYCURSOR);
++YYCURSOR;
yy810:
YYDEBUG(810, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 7377 "Zend/zend_language_scanner.c"
+#line 7424 "Zend/zend_language_scanner.c"
yy811:
YYDEBUG(811, *YYCURSOR);
++YYCURSOR;
yy818:
YYDEBUG(818, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1647 "Zend/zend_language_scanner.l"
+#line 1685 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
ZVAL_STRINGL(zendlval, yytext, yyleng);
return T_NUM_STRING;
}
-#line 7422 "Zend/zend_language_scanner.c"
+#line 7469 "Zend/zend_language_scanner.c"
yy819:
YYDEBUG(819, *YYCURSOR);
++YYCURSOR;
goto yy818;
}
}
-#line 2304 "Zend/zend_language_scanner.l"
+#line 2346 "Zend/zend_language_scanner.l"
}