summaryrefslogtreecommitdiff
path: root/Zend/zend_language_scanner.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_language_scanner.c')
-rw-r--r--Zend/zend_language_scanner.c710
1 files changed, 321 insertions, 389 deletions
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index 3b10615513..90fe7c4597 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -561,11 +561,10 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR
zend_op_array *retval=NULL;
int compiler_result;
zend_bool compilation_successful=0;
- znode retval_znode;
+ zval retval_zv;
zend_bool original_in_compilation = CG(in_compilation);
- retval_znode.op_type = IS_CONST;
- ZVAL_LONG(&retval_znode.u.constant, 1);
+ ZVAL_LONG(&retval_zv, 1);
zend_save_lexical_state(&original_lex_state TSRMLS_CC);
@@ -585,12 +584,17 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR
CG(active_op_array) = op_array;
zend_stack_push(&CG(context_stack), (void *) &CG(context));
zend_init_compiler_context(TSRMLS_C);
+ CG(ast_arena) = zend_arena_create(1024 * 32);
compiler_result = zendparse(TSRMLS_C);
- zend_do_return(&retval_znode, 0 TSRMLS_CC);
- CG(in_compilation) = original_in_compilation;
if (compiler_result != 0) { /* parser error */
zend_bailout();
}
+ zend_compile_top_stmt(CG(ast) TSRMLS_CC);
+ zend_ast_destroy(CG(ast));
+ zend_arena_destroy(CG(ast_arena));
+ zend_do_end_compilation(TSRMLS_C);
+ zend_emit_final_return(&retval_zv TSRMLS_CC);
+ CG(in_compilation) = original_in_compilation;
compilation_successful=1;
}
@@ -752,6 +756,7 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
zend_stack_push(&CG(context_stack), (void *) &CG(context));
zend_init_compiler_context(TSRMLS_C);
BEGIN(ST_IN_SCRIPTING);
+ CG(ast_arena) = zend_arena_create(1024 * 32);
compiler_result = zendparse(TSRMLS_C);
if (SCNG(script_filtered)) {
@@ -766,7 +771,11 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
efree(op_array);
retval = NULL;
} else {
- zend_do_return(NULL, 0 TSRMLS_CC);
+ zend_compile_top_stmt(CG(ast) TSRMLS_CC);
+ zend_ast_destroy(CG(ast));
+ zend_arena_destroy(CG(ast_arena));
+ zend_do_end_compilation(TSRMLS_C);
+ zend_emit_final_return(NULL TSRMLS_CC);
CG(active_op_array) = original_active_op_array;
pass_two(op_array TSRMLS_CC);
zend_release_labels(0 TSRMLS_CC);
@@ -876,15 +885,6 @@ ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter
ZVAL_STRINGL(zendlval, yytext, yyleng); \
}
-// TODO: some extensions might need content, but we don't copy it intentional ???
-#if 0
-# define DUMMY_STRINGL(zendlval, yytext, yyleng) \
- ZVAL_STRINGL(zendlval, yytext, yyleng)
-#else
-# define DUMMY_STRINGL(zendlval, yytext, yyleng) \
- ZVAL_EMPTY_STRING(zendlval)
-#endif
-
static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
{
register char *s, *t;
@@ -1115,7 +1115,7 @@ yyc_INITIAL:
yy3:
YYDEBUG(3, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1779 "Zend/zend_language_scanner.l"
+#line 1714 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1194,34 +1194,32 @@ yy5:
yy6:
YYDEBUG(6, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1769 "Zend/zend_language_scanner.l"
+#line 1705 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
- DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
goto inline_char_handler;
}
}
-#line 1208 "Zend/zend_language_scanner.c"
+#line 1207 "Zend/zend_language_scanner.c"
yy7:
YYDEBUG(7, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy43;
YYDEBUG(8, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1750 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
- DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
goto inline_char_handler;
}
}
-#line 1225 "Zend/zend_language_scanner.c"
+#line 1223 "Zend/zend_language_scanner.c"
yy9:
YYDEBUG(9, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1407,7 +1405,7 @@ yy35:
++YYCURSOR;
YYDEBUG(38, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1716 "Zend/zend_language_scanner.l"
+#line 1657 "Zend/zend_language_scanner.l"
{
YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
@@ -1418,11 +1416,10 @@ yy35:
}
HANDLE_NEWLINES(yytext, yyleng);
- DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1426 "Zend/zend_language_scanner.c"
+#line 1423 "Zend/zend_language_scanner.c"
yy39:
YYDEBUG(39, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1449,29 +1446,27 @@ yy43:
++YYCURSOR;
YYDEBUG(44, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1732 "Zend/zend_language_scanner.l"
+#line 1672 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
- DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
} else {
goto inline_char_handler;
}
}
-#line 1463 "Zend/zend_language_scanner.c"
+#line 1459 "Zend/zend_language_scanner.c"
yy45:
YYDEBUG(45, *YYCURSOR);
++YYCURSOR;
YYDEBUG(46, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1743 "Zend/zend_language_scanner.l"
+#line 1682 "Zend/zend_language_scanner.l"
{
- DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
}
-#line 1475 "Zend/zend_language_scanner.c"
+#line 1470 "Zend/zend_language_scanner.c"
yy47:
YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1498,14 +1493,13 @@ yy50:
yy51:
YYDEBUG(51, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1761 "Zend/zend_language_scanner.l"
+#line 1698 "Zend/zend_language_scanner.l"
{
- DUMMY_STRINGL(zendlval, yytext, yyleng);
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1509 "Zend/zend_language_scanner.c"
+#line 1503 "Zend/zend_language_scanner.c"
yy52:
YYDEBUG(52, *YYCURSOR);
++YYCURSOR;
@@ -1576,7 +1570,7 @@ yyc_ST_BACKQUOTE:
yy56:
YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2222 "Zend/zend_language_scanner.l"
+#line 2155 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1617,7 +1611,7 @@ yy56:
zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1621 "Zend/zend_language_scanner.c"
+#line 1615 "Zend/zend_language_scanner.c"
yy57:
YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1628,12 +1622,12 @@ yy58:
++YYCURSOR;
YYDEBUG(59, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2166 "Zend/zend_language_scanner.l"
+#line 2099 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '`';
}
-#line 1637 "Zend/zend_language_scanner.c"
+#line 1631 "Zend/zend_language_scanner.c"
yy60:
YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1643,14 +1637,14 @@ yy61:
++YYCURSOR;
YYDEBUG(62, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2153 "Zend/zend_language_scanner.l"
+#line 2086 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1654 "Zend/zend_language_scanner.c"
+#line 1648 "Zend/zend_language_scanner.c"
yy63:
YYDEBUG(63, *YYCURSOR);
yyaccept = 0;
@@ -1666,23 +1660,23 @@ yy63:
yy65:
YYDEBUG(65, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1860 "Zend/zend_language_scanner.l"
+#line 1795 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1675 "Zend/zend_language_scanner.c"
+#line 1669 "Zend/zend_language_scanner.c"
yy66:
YYDEBUG(66, *YYCURSOR);
++YYCURSOR;
YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1483 "Zend/zend_language_scanner.l"
+#line 1482 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1686 "Zend/zend_language_scanner.c"
+#line 1680 "Zend/zend_language_scanner.c"
yy68:
YYDEBUG(68, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1696,14 +1690,14 @@ yy70:
++YYCURSOR;
YYDEBUG(71, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1788 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1707 "Zend/zend_language_scanner.c"
+#line 1701 "Zend/zend_language_scanner.c"
yy72:
YYDEBUG(72, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1721,14 +1715,14 @@ yy73:
++YYCURSOR;
YYDEBUG(74, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1844 "Zend/zend_language_scanner.l"
+#line 1779 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1732 "Zend/zend_language_scanner.c"
+#line 1726 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_DOUBLE_QUOTES:
@@ -1796,7 +1790,7 @@ yy77:
yy78:
YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2172 "Zend/zend_language_scanner.l"
+#line 2105 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1845,7 +1839,7 @@ double_quotes_scan_done:
zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1849 "Zend/zend_language_scanner.c"
+#line 1843 "Zend/zend_language_scanner.c"
yy79:
YYDEBUG(79, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1856,12 +1850,12 @@ yy80:
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2161 "Zend/zend_language_scanner.l"
+#line 2094 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '"';
}
-#line 1865 "Zend/zend_language_scanner.c"
+#line 1859 "Zend/zend_language_scanner.c"
yy82:
YYDEBUG(82, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1871,14 +1865,14 @@ yy83:
++YYCURSOR;
YYDEBUG(84, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2153 "Zend/zend_language_scanner.l"
+#line 2086 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1882 "Zend/zend_language_scanner.c"
+#line 1876 "Zend/zend_language_scanner.c"
yy85:
YYDEBUG(85, *YYCURSOR);
yyaccept = 0;
@@ -1894,23 +1888,23 @@ yy85:
yy87:
YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1860 "Zend/zend_language_scanner.l"
+#line 1795 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1903 "Zend/zend_language_scanner.c"
+#line 1897 "Zend/zend_language_scanner.c"
yy88:
YYDEBUG(88, *YYCURSOR);
++YYCURSOR;
YYDEBUG(89, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1483 "Zend/zend_language_scanner.l"
+#line 1482 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1914 "Zend/zend_language_scanner.c"
+#line 1908 "Zend/zend_language_scanner.c"
yy90:
YYDEBUG(90, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1924,14 +1918,14 @@ yy92:
++YYCURSOR;
YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1788 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1935 "Zend/zend_language_scanner.c"
+#line 1929 "Zend/zend_language_scanner.c"
yy94:
YYDEBUG(94, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1949,14 +1943,14 @@ yy95:
++YYCURSOR;
YYDEBUG(96, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1844 "Zend/zend_language_scanner.l"
+#line 1779 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1960 "Zend/zend_language_scanner.c"
+#line 1954 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_END_HEREDOC:
@@ -1967,7 +1961,7 @@ yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(100, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2139 "Zend/zend_language_scanner.l"
+#line 2072 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
@@ -1980,7 +1974,7 @@ yyc_ST_END_HEREDOC:
BEGIN(ST_IN_SCRIPTING);
return T_END_HEREDOC;
}
-#line 1984 "Zend/zend_language_scanner.c"
+#line 1978 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_HEREDOC:
{
@@ -2042,7 +2036,7 @@ yy103:
yy104:
YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2264 "Zend/zend_language_scanner.l"
+#line 2197 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -2115,7 +2109,7 @@ heredoc_scan_done:
zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 2119 "Zend/zend_language_scanner.c"
+#line 2113 "Zend/zend_language_scanner.c"
yy105:
YYDEBUG(105, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2130,14 +2124,14 @@ yy107:
++YYCURSOR;
YYDEBUG(108, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2153 "Zend/zend_language_scanner.l"
+#line 2086 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
yyless(1);
return T_CURLY_OPEN;
}
-#line 2141 "Zend/zend_language_scanner.c"
+#line 2135 "Zend/zend_language_scanner.c"
yy109:
YYDEBUG(109, *YYCURSOR);
yyaccept = 0;
@@ -2153,23 +2147,23 @@ yy109:
yy111:
YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1860 "Zend/zend_language_scanner.l"
+#line 1795 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 2162 "Zend/zend_language_scanner.c"
+#line 2156 "Zend/zend_language_scanner.c"
yy112:
YYDEBUG(112, *YYCURSOR);
++YYCURSOR;
YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1483 "Zend/zend_language_scanner.l"
+#line 1482 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 2173 "Zend/zend_language_scanner.c"
+#line 2167 "Zend/zend_language_scanner.c"
yy114:
YYDEBUG(114, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2183,14 +2177,14 @@ yy116:
++YYCURSOR;
YYDEBUG(117, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1788 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 2194 "Zend/zend_language_scanner.c"
+#line 2188 "Zend/zend_language_scanner.c"
yy118:
YYDEBUG(118, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2208,14 +2202,14 @@ yy119:
++YYCURSOR;
YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1844 "Zend/zend_language_scanner.l"
+#line 1779 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 2219 "Zend/zend_language_scanner.c"
+#line 2213 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_IN_SCRIPTING:
@@ -2398,12 +2392,12 @@ yy123:
yy124:
YYDEBUG(124, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1882 "Zend/zend_language_scanner.l"
+#line 1817 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 2407 "Zend/zend_language_scanner.c"
+#line 2401 "Zend/zend_language_scanner.c"
yy125:
YYDEBUG(125, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2635,11 +2629,11 @@ yy138:
yy139:
YYDEBUG(139, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1472 "Zend/zend_language_scanner.l"
+#line 1471 "Zend/zend_language_scanner.l"
{
return yytext[0];
}
-#line 2643 "Zend/zend_language_scanner.c"
+#line 2637 "Zend/zend_language_scanner.c"
yy140:
YYDEBUG(140, *YYCURSOR);
++YYCURSOR;
@@ -2650,11 +2644,10 @@ yy141:
yyleng = YYCURSOR - SCNG(yy_text);
#line 1194 "Zend/zend_language_scanner.l"
{
- DUMMY_STRINGL(zendlval, yytext, yyleng);
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 2658 "Zend/zend_language_scanner.c"
+#line 2651 "Zend/zend_language_scanner.c"
yy142:
YYDEBUG(142, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2665,11 +2658,11 @@ yy143:
++YYCURSOR;
YYDEBUG(144, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1220 "Zend/zend_language_scanner.l"
+#line 1219 "Zend/zend_language_scanner.l"
{
return T_NS_SEPARATOR;
}
-#line 2673 "Zend/zend_language_scanner.c"
+#line 2666 "Zend/zend_language_scanner.c"
yy145:
YYDEBUG(145, *YYCURSOR);
yyaccept = 1;
@@ -2903,18 +2896,18 @@ yy168:
++YYCURSOR;
YYDEBUG(169, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1477 "Zend/zend_language_scanner.l"
+#line 1476 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return '{';
}
-#line 2912 "Zend/zend_language_scanner.c"
+#line 2905 "Zend/zend_language_scanner.c"
yy170:
YYDEBUG(170, *YYCURSOR);
++YYCURSOR;
YYDEBUG(171, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1489 "Zend/zend_language_scanner.l"
+#line 1488 "Zend/zend_language_scanner.l"
{
RESET_DOC_COMMENT();
if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2922,7 +2915,7 @@ yy170:
}
return '}';
}
-#line 2926 "Zend/zend_language_scanner.c"
+#line 2919 "Zend/zend_language_scanner.c"
yy172:
YYDEBUG(172, *YYCURSOR);
yyaccept = 2;
@@ -2950,7 +2943,7 @@ yy172:
yy173:
YYDEBUG(173, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1537 "Zend/zend_language_scanner.l"
+#line 1536 "Zend/zend_language_scanner.l"
{
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, NULL, 0));
@@ -2968,7 +2961,7 @@ yy173:
}
return T_LNUMBER;
}
-#line 2972 "Zend/zend_language_scanner.c"
+#line 2965 "Zend/zend_language_scanner.c"
yy174:
YYDEBUG(174, *YYCURSOR);
yyaccept = 2;
@@ -2996,7 +2989,7 @@ yy176:
yy177:
YYDEBUG(177, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1888 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
@@ -3030,14 +3023,14 @@ yy177:
return T_COMMENT;
}
-#line 3034 "Zend/zend_language_scanner.c"
+#line 3027 "Zend/zend_language_scanner.c"
yy178:
YYDEBUG(178, *YYCURSOR);
++YYCURSOR;
yy179:
YYDEBUG(179, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1974 "Zend/zend_language_scanner.l"
+#line 1907 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
@@ -3105,14 +3098,14 @@ yy179:
}
return T_CONSTANT_ENCAPSED_STRING;
}
-#line 3109 "Zend/zend_language_scanner.c"
+#line 3102 "Zend/zend_language_scanner.c"
yy180:
YYDEBUG(180, *YYCURSOR);
++YYCURSOR;
yy181:
YYDEBUG(181, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2043 "Zend/zend_language_scanner.l"
+#line 1976 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -3153,24 +3146,24 @@ yy181:
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-#line 3157 "Zend/zend_language_scanner.c"
+#line 3150 "Zend/zend_language_scanner.c"
yy182:
YYDEBUG(182, *YYCURSOR);
++YYCURSOR;
YYDEBUG(183, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2133 "Zend/zend_language_scanner.l"
+#line 2066 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-#line 3168 "Zend/zend_language_scanner.c"
+#line 3161 "Zend/zend_language_scanner.c"
yy184:
YYDEBUG(184, *YYCURSOR);
++YYCURSOR;
YYDEBUG(185, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2395 "Zend/zend_language_scanner.l"
+#line 2328 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -3179,7 +3172,7 @@ yy184:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 3183 "Zend/zend_language_scanner.c"
+#line 3176 "Zend/zend_language_scanner.c"
yy186:
YYDEBUG(186, *YYCURSOR);
++YYCURSOR;
@@ -3206,12 +3199,12 @@ yy188:
yy190:
YYDEBUG(190, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1592 "Zend/zend_language_scanner.l"
+#line 1591 "Zend/zend_language_scanner.l"
{
ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
return T_DNUMBER;
}
-#line 3215 "Zend/zend_language_scanner.c"
+#line 3208 "Zend/zend_language_scanner.c"
yy191:
YYDEBUG(191, *YYCURSOR);
yyaccept = 2;
@@ -3303,7 +3296,7 @@ yy200:
}
YYDEBUG(202, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1514 "Zend/zend_language_scanner.l"
+#line 1513 "Zend/zend_language_scanner.l"
{
char *bin = yytext + 2; /* Skip "0b" */
int len = yyleng - 2;
@@ -3326,7 +3319,7 @@ yy200:
return T_DNUMBER;
}
}
-#line 3330 "Zend/zend_language_scanner.c"
+#line 3323 "Zend/zend_language_scanner.c"
yy203:
YYDEBUG(203, *YYCURSOR);
++YYCURSOR;
@@ -3338,7 +3331,7 @@ yy203:
}
YYDEBUG(205, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1555 "Zend/zend_language_scanner.l"
+#line 1554 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
@@ -3361,7 +3354,7 @@ yy203:
return T_DNUMBER;
}
}
-#line 3365 "Zend/zend_language_scanner.c"
+#line 3358 "Zend/zend_language_scanner.c"
yy206:
YYDEBUG(206, *YYCURSOR);
++YYCURSOR;
@@ -3370,13 +3363,12 @@ yy206:
yy207:
YYDEBUG(207, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1955 "Zend/zend_language_scanner.l"
+#line 1890 "Zend/zend_language_scanner.l"
{
- DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-#line 3380 "Zend/zend_language_scanner.c"
+#line 3372 "Zend/zend_language_scanner.c"
yy208:
YYDEBUG(208, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3410,12 +3402,12 @@ yy210:
yy212:
YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1860 "Zend/zend_language_scanner.l"
+#line 1795 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 3419 "Zend/zend_language_scanner.c"
+#line 3411 "Zend/zend_language_scanner.c"
yy213:
YYDEBUG(213, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3429,11 +3421,11 @@ yy214:
}
YYDEBUG(215, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1460 "Zend/zend_language_scanner.l"
+#line 1459 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_XOR;
}
-#line 3437 "Zend/zend_language_scanner.c"
+#line 3429 "Zend/zend_language_scanner.c"
yy216:
YYDEBUG(216, *YYCURSOR);
++YYCURSOR;
@@ -3442,61 +3434,61 @@ yy216:
}
YYDEBUG(217, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1452 "Zend/zend_language_scanner.l"
+#line 1451 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_OR;
}
-#line 3450 "Zend/zend_language_scanner.c"
+#line 3442 "Zend/zend_language_scanner.c"
yy218:
YYDEBUG(218, *YYCURSOR);
++YYCURSOR;
YYDEBUG(219, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1440 "Zend/zend_language_scanner.l"
+#line 1439 "Zend/zend_language_scanner.l"
{
return T_XOR_EQUAL;
}
-#line 3460 "Zend/zend_language_scanner.c"
+#line 3452 "Zend/zend_language_scanner.c"
yy220:
YYDEBUG(220, *YYCURSOR);
++YYCURSOR;
YYDEBUG(221, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1444 "Zend/zend_language_scanner.l"
+#line 1443 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_OR;
}
-#line 3470 "Zend/zend_language_scanner.c"
+#line 3462 "Zend/zend_language_scanner.c"
yy222:
YYDEBUG(222, *YYCURSOR);
++YYCURSOR;
YYDEBUG(223, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1436 "Zend/zend_language_scanner.l"
+#line 1435 "Zend/zend_language_scanner.l"
{
return T_OR_EQUAL;
}
-#line 3480 "Zend/zend_language_scanner.c"
+#line 3472 "Zend/zend_language_scanner.c"
yy224:
YYDEBUG(224, *YYCURSOR);
++YYCURSOR;
YYDEBUG(225, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1448 "Zend/zend_language_scanner.l"
+#line 1447 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_AND;
}
-#line 3490 "Zend/zend_language_scanner.c"
+#line 3482 "Zend/zend_language_scanner.c"
yy226:
YYDEBUG(226, *YYCURSOR);
++YYCURSOR;
YYDEBUG(227, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1432 "Zend/zend_language_scanner.l"
+#line 1431 "Zend/zend_language_scanner.l"
{
return T_AND_EQUAL;
}
-#line 3500 "Zend/zend_language_scanner.c"
+#line 3492 "Zend/zend_language_scanner.c"
yy228:
YYDEBUG(228, *YYCURSOR);
++YYCURSOR;
@@ -3505,28 +3497,27 @@ yy228:
yy229:
YYDEBUG(229, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1962 "Zend/zend_language_scanner.l"
+#line 1896 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
BEGIN(INITIAL);
- DUMMY_STRINGL(zendlval, yytext, yyleng);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
} else {
yyless(1);
return yytext[0];
}
}
-#line 3520 "Zend/zend_language_scanner.c"
+#line 3511 "Zend/zend_language_scanner.c"
yy230:
YYDEBUG(230, *YYCURSOR);
++YYCURSOR;
YYDEBUG(231, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1420 "Zend/zend_language_scanner.l"
+#line 1419 "Zend/zend_language_scanner.l"
{
return T_MOD_EQUAL;
}
-#line 3530 "Zend/zend_language_scanner.c"
+#line 3521 "Zend/zend_language_scanner.c"
yy232:
YYDEBUG(232, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3544,7 +3535,7 @@ yy234:
yy235:
YYDEBUG(235, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1922 "Zend/zend_language_scanner.l"
+#line 1857 "Zend/zend_language_scanner.l"
{
int doc_com;
@@ -3577,7 +3568,7 @@ yy235:
return T_COMMENT;
}
-#line 3581 "Zend/zend_language_scanner.c"
+#line 3572 "Zend/zend_language_scanner.c"
yy236:
YYDEBUG(236, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3587,11 +3578,11 @@ yy237:
++YYCURSOR;
YYDEBUG(238, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1412 "Zend/zend_language_scanner.l"
+#line 1411 "Zend/zend_language_scanner.l"
{
return T_DIV_EQUAL;
}
-#line 3595 "Zend/zend_language_scanner.c"
+#line 3586 "Zend/zend_language_scanner.c"
yy239:
YYDEBUG(239, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3615,62 +3606,62 @@ yy242:
if ((yych = *YYCURSOR) == '=') goto yy246;
YYDEBUG(243, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1404 "Zend/zend_language_scanner.l"
+#line 1403 "Zend/zend_language_scanner.l"
{
return T_POW;
}
-#line 3623 "Zend/zend_language_scanner.c"
+#line 3614 "Zend/zend_language_scanner.c"
yy244:
YYDEBUG(244, *YYCURSOR);
++YYCURSOR;
YYDEBUG(245, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1400 "Zend/zend_language_scanner.l"
+#line 1399 "Zend/zend_language_scanner.l"
{
return T_MUL_EQUAL;
}
-#line 3633 "Zend/zend_language_scanner.c"
+#line 3624 "Zend/zend_language_scanner.c"
yy246:
YYDEBUG(246, *YYCURSOR);
++YYCURSOR;
YYDEBUG(247, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1408 "Zend/zend_language_scanner.l"
+#line 1407 "Zend/zend_language_scanner.l"
{
return T_POW_EQUAL;
}
-#line 3643 "Zend/zend_language_scanner.c"
+#line 3634 "Zend/zend_language_scanner.c"
yy248:
YYDEBUG(248, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy252;
YYDEBUG(249, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1468 "Zend/zend_language_scanner.l"
+#line 1467 "Zend/zend_language_scanner.l"
{
return T_SR;
}
-#line 3654 "Zend/zend_language_scanner.c"
+#line 3645 "Zend/zend_language_scanner.c"
yy250:
YYDEBUG(250, *YYCURSOR);
++YYCURSOR;
YYDEBUG(251, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1388 "Zend/zend_language_scanner.l"
+#line 1387 "Zend/zend_language_scanner.l"
{
return T_IS_GREATER_OR_EQUAL;
}
-#line 3664 "Zend/zend_language_scanner.c"
+#line 3655 "Zend/zend_language_scanner.c"
yy252:
YYDEBUG(252, *YYCURSOR);
++YYCURSOR;
YYDEBUG(253, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1428 "Zend/zend_language_scanner.l"
+#line 1427 "Zend/zend_language_scanner.l"
{
return T_SR_EQUAL;
}
-#line 3674 "Zend/zend_language_scanner.c"
+#line 3665 "Zend/zend_language_scanner.c"
yy254:
YYDEBUG(254, *YYCURSOR);
yyaccept = 5;
@@ -3681,11 +3672,11 @@ yy254:
yy255:
YYDEBUG(255, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1464 "Zend/zend_language_scanner.l"
+#line 1463 "Zend/zend_language_scanner.l"
{
return T_SL;
}
-#line 3689 "Zend/zend_language_scanner.c"
+#line 3680 "Zend/zend_language_scanner.c"
yy256:
YYDEBUG(256, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3697,22 +3688,22 @@ yy257:
++YYCURSOR;
YYDEBUG(258, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1384 "Zend/zend_language_scanner.l"
+#line 1383 "Zend/zend_language_scanner.l"
{
return T_IS_SMALLER_OR_EQUAL;
}
-#line 3705 "Zend/zend_language_scanner.c"
+#line 3696 "Zend/zend_language_scanner.c"
yy259:
YYDEBUG(259, *YYCURSOR);
++YYCURSOR;
yy260:
YYDEBUG(260, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1380 "Zend/zend_language_scanner.l"
+#line 1379 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_EQUAL;
}
-#line 3716 "Zend/zend_language_scanner.c"
+#line 3707 "Zend/zend_language_scanner.c"
yy261:
YYDEBUG(261, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3763,11 +3754,11 @@ yy268:
++YYCURSOR;
YYDEBUG(269, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1424 "Zend/zend_language_scanner.l"
+#line 1423 "Zend/zend_language_scanner.l"
{
return T_SL_EQUAL;
}
-#line 3771 "Zend/zend_language_scanner.c"
+#line 3762 "Zend/zend_language_scanner.c"
yy270:
YYDEBUG(270, *YYCURSOR);
++YYCURSOR;
@@ -3872,7 +3863,7 @@ yy279:
yy280:
YYDEBUG(280, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2085 "Zend/zend_language_scanner.l"
+#line 2018 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3919,7 +3910,7 @@ yy280:
return T_START_HEREDOC;
}
-#line 3923 "Zend/zend_language_scanner.c"
+#line 3914 "Zend/zend_language_scanner.c"
yy281:
YYDEBUG(281, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3959,31 +3950,31 @@ yy284:
++YYCURSOR;
YYDEBUG(286, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1372 "Zend/zend_language_scanner.l"
+#line 1371 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_IDENTICAL;
}
-#line 3967 "Zend/zend_language_scanner.c"
+#line 3958 "Zend/zend_language_scanner.c"
yy287:
YYDEBUG(287, *YYCURSOR);
++YYCURSOR;
YYDEBUG(288, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1392 "Zend/zend_language_scanner.l"
+#line 1391 "Zend/zend_language_scanner.l"
{
return T_PLUS_EQUAL;
}
-#line 3977 "Zend/zend_language_scanner.c"
+#line 3968 "Zend/zend_language_scanner.c"
yy289:
YYDEBUG(289, *YYCURSOR);
++YYCURSOR;
YYDEBUG(290, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1360 "Zend/zend_language_scanner.l"
+#line 1359 "Zend/zend_language_scanner.l"
{
return T_INC;
}
-#line 3987 "Zend/zend_language_scanner.c"
+#line 3978 "Zend/zend_language_scanner.c"
yy291:
YYDEBUG(291, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4002,42 +3993,42 @@ yy293:
}
YYDEBUG(294, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1348 "Zend/zend_language_scanner.l"
+#line 1347 "Zend/zend_language_scanner.l"
{
return T_LIST;
}
-#line 4010 "Zend/zend_language_scanner.c"
+#line 4001 "Zend/zend_language_scanner.c"
yy295:
YYDEBUG(295, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy299;
YYDEBUG(296, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1376 "Zend/zend_language_scanner.l"
+#line 1375 "Zend/zend_language_scanner.l"
{
return T_IS_EQUAL;
}
-#line 4021 "Zend/zend_language_scanner.c"
+#line 4012 "Zend/zend_language_scanner.c"
yy297:
YYDEBUG(297, *YYCURSOR);
++YYCURSOR;
YYDEBUG(298, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1344 "Zend/zend_language_scanner.l"
+#line 1343 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_ARROW;
}
-#line 4031 "Zend/zend_language_scanner.c"
+#line 4022 "Zend/zend_language_scanner.c"
yy299:
YYDEBUG(299, *YYCURSOR);
++YYCURSOR;
YYDEBUG(300, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1368 "Zend/zend_language_scanner.l"
+#line 1367 "Zend/zend_language_scanner.l"
{
return T_IS_IDENTICAL;
}
-#line 4041 "Zend/zend_language_scanner.c"
+#line 4032 "Zend/zend_language_scanner.c"
yy301:
YYDEBUG(301, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4167,16 +4158,11 @@ yy317:
}
YYDEBUG(320, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1707 "Zend/zend_language_scanner.l"
+#line 1653 "Zend/zend_language_scanner.l"
{
- if (Z_TYPE(CG(current_namespace)) != IS_UNDEF) {
- ZVAL_DUP(zendlval, &CG(current_namespace));
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
return T_NS_C;
}
-#line 4180 "Zend/zend_language_scanner.c"
+#line 4166 "Zend/zend_language_scanner.c"
yy321:
YYDEBUG(321, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4196,7 +4182,7 @@ yy322:
}
YYDEBUG(325, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1682 "Zend/zend_language_scanner.l"
+#line 1628 "Zend/zend_language_scanner.l"
{
zend_string *filename = zend_get_compiled_filename(TSRMLS_C);
zend_string *dirname;
@@ -4221,7 +4207,7 @@ yy322:
ZVAL_STR(zendlval, dirname);
return T_DIR;
}
-#line 4225 "Zend/zend_language_scanner.c"
+#line 4211 "Zend/zend_language_scanner.c"
yy326:
YYDEBUG(326, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4246,12 +4232,12 @@ yy328:
}
YYDEBUG(331, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1666 "Zend/zend_language_scanner.l"
+#line 1612 "Zend/zend_language_scanner.l"
{
ZVAL_LONG(zendlval, CG(zend_lineno));
return T_LINE;
}
-#line 4255 "Zend/zend_language_scanner.c"
+#line 4241 "Zend/zend_language_scanner.c"
yy332:
YYDEBUG(332, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4286,39 +4272,11 @@ yy336:
}
YYDEBUG(339, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1634 "Zend/zend_language_scanner.l"
+#line 1608 "Zend/zend_language_scanner.l"
{
- if (CG(active_class_entry)) {
- int len = 0;
-
- if (CG(active_class_entry)->name) {
- len += CG(active_class_entry)->name->len;
- }
- if (CG(active_op_array) && CG(active_op_array)->function_name) {
- len += sizeof("::")-1;
- len += CG(active_op_array)->function_name->len;
- }
- ZVAL_NEW_STR(zendlval, zend_string_alloc(len, 0));
- len = 0;
- if (CG(active_class_entry)->name) {
- memcpy(Z_STRVAL_P(zendlval), CG(active_class_entry)->name->val, CG(active_class_entry)->name->len);
- len += CG(active_class_entry)->name->len;
- }
- if (CG(active_op_array) && CG(active_op_array)->function_name) {
- memcpy(Z_STRVAL_P(zendlval) + len, "::", sizeof("::")-1);
- len += sizeof("::")-1;
- memcpy(Z_STRVAL_P(zendlval) + len, CG(active_op_array)->function_name->val, CG(active_op_array)->function_name->len);
- len += CG(active_op_array)->function_name->len;
- }
- Z_STRVAL_P(zendlval)[len] = 0;
- } else if (CG(active_op_array) && CG(active_op_array)->function_name) {
- ZVAL_STR(zendlval, zend_string_copy(CG(active_op_array)->function_name));
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
return T_METHOD_C;
}
-#line 4322 "Zend/zend_language_scanner.c"
+#line 4280 "Zend/zend_language_scanner.c"
yy340:
YYDEBUG(340, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4369,17 +4327,11 @@ yy347:
}
YYDEBUG(350, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1624 "Zend/zend_language_scanner.l"
+#line 1604 "Zend/zend_language_scanner.l"
{
- zend_op_array *op_array = CG(active_op_array);
- if (op_array && op_array->function_name) {
- ZVAL_STR(zendlval, zend_string_copy(op_array->function_name));
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
return T_FUNC_C;
}
-#line 4383 "Zend/zend_language_scanner.c"
+#line 4335 "Zend/zend_language_scanner.c"
yy351:
YYDEBUG(351, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4399,7 +4351,7 @@ yy352:
}
YYDEBUG(355, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1671 "Zend/zend_language_scanner.l"
+#line 1617 "Zend/zend_language_scanner.l"
{
zend_string *filename = zend_get_compiled_filename(TSRMLS_C);
@@ -4410,7 +4362,7 @@ yy352:
}
return T_FILE;
}
-#line 4414 "Zend/zend_language_scanner.c"
+#line 4366 "Zend/zend_language_scanner.c"
yy356:
YYDEBUG(356, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4440,17 +4392,11 @@ yy359:
}
YYDEBUG(362, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1614 "Zend/zend_language_scanner.l"
+#line 1600 "Zend/zend_language_scanner.l"
{
- zend_class_entry *ce = CG(active_class_entry);
- if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
- ZVAL_STR(zendlval, zend_string_copy(ce->name));
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
return T_TRAIT_C;
}
-#line 4454 "Zend/zend_language_scanner.c"
+#line 4400 "Zend/zend_language_scanner.c"
yy363:
YYDEBUG(363, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4480,24 +4426,11 @@ yy366:
}
YYDEBUG(369, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1597 "Zend/zend_language_scanner.l"
+#line 1596 "Zend/zend_language_scanner.l"
{
- zend_class_entry *ce = CG(active_class_entry);
- if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
- /* We create a special __CLASS__ constant that is going to be resolved
- at run-time */
- ZVAL_STRINGL(zendlval, "__CLASS__", sizeof("__CLASS__") - 1);
- Z_TYPE_INFO_P(zendlval) = IS_CONSTANT_EX;
- } else {
- if (ce && ce->name) {
- ZVAL_STR(zendlval, zend_string_copy(ce->name));
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
- }
return T_CLASS_C;
}
-#line 4501 "Zend/zend_language_scanner.c"
+#line 4434 "Zend/zend_language_scanner.c"
yy370:
YYDEBUG(370, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4559,11 +4492,11 @@ yy381:
}
YYDEBUG(382, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1312 "Zend/zend_language_scanner.l"
+#line 1311 "Zend/zend_language_scanner.l"
{
return T_HALT_COMPILER;
}
-#line 4567 "Zend/zend_language_scanner.c"
+#line 4500 "Zend/zend_language_scanner.c"
yy383:
YYDEBUG(383, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4583,11 +4516,11 @@ yy385:
}
YYDEBUG(386, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1292 "Zend/zend_language_scanner.l"
+#line 1291 "Zend/zend_language_scanner.l"
{
return T_USE;
}
-#line 4591 "Zend/zend_language_scanner.c"
+#line 4524 "Zend/zend_language_scanner.c"
yy387:
YYDEBUG(387, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4606,11 +4539,11 @@ yy389:
}
YYDEBUG(390, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1340 "Zend/zend_language_scanner.l"
+#line 1339 "Zend/zend_language_scanner.l"
{
return T_UNSET;
}
-#line 4614 "Zend/zend_language_scanner.c"
+#line 4547 "Zend/zend_language_scanner.c"
yy391:
YYDEBUG(391, *YYCURSOR);
++YYCURSOR;
@@ -4782,11 +4715,11 @@ yy406:
++YYCURSOR;
YYDEBUG(408, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1240 "Zend/zend_language_scanner.l"
+#line 1239 "Zend/zend_language_scanner.l"
{
return T_INT_CAST;
}
-#line 4790 "Zend/zend_language_scanner.c"
+#line 4723 "Zend/zend_language_scanner.c"
yy409:
YYDEBUG(409, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4830,11 +4763,11 @@ yy414:
++YYCURSOR;
YYDEBUG(417, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1244 "Zend/zend_language_scanner.l"
+#line 1243 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_CAST;
}
-#line 4838 "Zend/zend_language_scanner.c"
+#line 4771 "Zend/zend_language_scanner.c"
yy418:
YYDEBUG(418, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4904,11 +4837,11 @@ yy428:
++YYCURSOR;
YYDEBUG(431, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1248 "Zend/zend_language_scanner.l"
+#line 1247 "Zend/zend_language_scanner.l"
{
return T_STRING_CAST;
}
-#line 4912 "Zend/zend_language_scanner.c"
+#line 4845 "Zend/zend_language_scanner.c"
yy432:
YYDEBUG(432, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4941,11 +4874,11 @@ yy435:
++YYCURSOR;
YYDEBUG(438, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1252 "Zend/zend_language_scanner.l"
+#line 1251 "Zend/zend_language_scanner.l"
{
return T_ARRAY_CAST;
}
-#line 4949 "Zend/zend_language_scanner.c"
+#line 4882 "Zend/zend_language_scanner.c"
yy439:
YYDEBUG(439, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4983,11 +4916,11 @@ yy443:
++YYCURSOR;
YYDEBUG(446, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1256 "Zend/zend_language_scanner.l"
+#line 1255 "Zend/zend_language_scanner.l"
{
return T_OBJECT_CAST;
}
-#line 4991 "Zend/zend_language_scanner.c"
+#line 4924 "Zend/zend_language_scanner.c"
yy447:
YYDEBUG(447, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5028,11 +4961,11 @@ yy452:
++YYCURSOR;
YYDEBUG(454, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1260 "Zend/zend_language_scanner.l"
+#line 1259 "Zend/zend_language_scanner.l"
{
return T_BOOL_CAST;
}
-#line 5036 "Zend/zend_language_scanner.c"
+#line 4969 "Zend/zend_language_scanner.c"
yy455:
YYDEBUG(455, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5092,11 +5025,11 @@ yy463:
++YYCURSOR;
YYDEBUG(466, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1264 "Zend/zend_language_scanner.l"
+#line 1263 "Zend/zend_language_scanner.l"
{
return T_UNSET_CAST;
}
-#line 5100 "Zend/zend_language_scanner.c"
+#line 5033 "Zend/zend_language_scanner.c"
yy467:
YYDEBUG(467, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5110,11 +5043,11 @@ yy468:
}
YYDEBUG(469, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1236 "Zend/zend_language_scanner.l"
+#line 1235 "Zend/zend_language_scanner.l"
{
return T_VAR;
}
-#line 5118 "Zend/zend_language_scanner.c"
+#line 5051 "Zend/zend_language_scanner.c"
yy470:
YYDEBUG(470, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5134,11 +5067,11 @@ yy472:
}
YYDEBUG(473, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1228 "Zend/zend_language_scanner.l"
+#line 1227 "Zend/zend_language_scanner.l"
{
return T_NEW;
}
-#line 5142 "Zend/zend_language_scanner.c"
+#line 5075 "Zend/zend_language_scanner.c"
yy474:
YYDEBUG(474, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5177,11 +5110,11 @@ yy480:
}
YYDEBUG(481, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1288 "Zend/zend_language_scanner.l"
+#line 1287 "Zend/zend_language_scanner.l"
{
return T_NAMESPACE;
}
-#line 5185 "Zend/zend_language_scanner.c"
+#line 5118 "Zend/zend_language_scanner.c"
yy482:
YYDEBUG(482, *YYCURSOR);
yyaccept = 3;
@@ -5203,11 +5136,11 @@ yy484:
++YYCURSOR;
YYDEBUG(485, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1416 "Zend/zend_language_scanner.l"
+#line 1415 "Zend/zend_language_scanner.l"
{
return T_CONCAT_EQUAL;
}
-#line 5211 "Zend/zend_language_scanner.c"
+#line 5144 "Zend/zend_language_scanner.c"
yy486:
YYDEBUG(486, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5216,21 +5149,21 @@ yy486:
++YYCURSOR;
YYDEBUG(488, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1224 "Zend/zend_language_scanner.l"
+#line 1223 "Zend/zend_language_scanner.l"
{
return T_ELLIPSIS;
}
-#line 5224 "Zend/zend_language_scanner.c"
+#line 5157 "Zend/zend_language_scanner.c"
yy489:
YYDEBUG(489, *YYCURSOR);
++YYCURSOR;
YYDEBUG(490, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1216 "Zend/zend_language_scanner.l"
+#line 1215 "Zend/zend_language_scanner.l"
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-#line 5234 "Zend/zend_language_scanner.c"
+#line 5167 "Zend/zend_language_scanner.c"
yy491:
YYDEBUG(491, *YYCURSOR);
++YYCURSOR;
@@ -5252,21 +5185,21 @@ yy493:
++YYCURSOR;
YYDEBUG(494, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1396 "Zend/zend_language_scanner.l"
+#line 1395 "Zend/zend_language_scanner.l"
{
return T_MINUS_EQUAL;
}
-#line 5260 "Zend/zend_language_scanner.c"
+#line 5193 "Zend/zend_language_scanner.c"
yy495:
YYDEBUG(495, *YYCURSOR);
++YYCURSOR;
YYDEBUG(496, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1364 "Zend/zend_language_scanner.l"
+#line 1363 "Zend/zend_language_scanner.l"
{
return T_DEC;
}
-#line 5270 "Zend/zend_language_scanner.c"
+#line 5203 "Zend/zend_language_scanner.c"
yy497:
YYDEBUG(497, *YYCURSOR);
++YYCURSOR;
@@ -5277,7 +5210,7 @@ yy497:
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
return T_OBJECT_OPERATOR;
}
-#line 5281 "Zend/zend_language_scanner.c"
+#line 5214 "Zend/zend_language_scanner.c"
yy499:
YYDEBUG(499, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5322,11 +5255,11 @@ yy504:
}
YYDEBUG(505, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1336 "Zend/zend_language_scanner.l"
+#line 1335 "Zend/zend_language_scanner.l"
{
return T_PUBLIC;
}
-#line 5330 "Zend/zend_language_scanner.c"
+#line 5263 "Zend/zend_language_scanner.c"
yy506:
YYDEBUG(506, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5381,11 +5314,11 @@ yy513:
}
YYDEBUG(514, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1332 "Zend/zend_language_scanner.l"
+#line 1331 "Zend/zend_language_scanner.l"
{
return T_PROTECTED;
}
-#line 5389 "Zend/zend_language_scanner.c"
+#line 5322 "Zend/zend_language_scanner.c"
yy515:
YYDEBUG(515, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5415,11 +5348,11 @@ yy519:
}
YYDEBUG(520, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1328 "Zend/zend_language_scanner.l"
+#line 1327 "Zend/zend_language_scanner.l"
{
return T_PRIVATE;
}
-#line 5423 "Zend/zend_language_scanner.c"
+#line 5356 "Zend/zend_language_scanner.c"
yy521:
YYDEBUG(521, *YYCURSOR);
++YYCURSOR;
@@ -5432,7 +5365,7 @@ yy521:
{
return T_PRINT;
}
-#line 5436 "Zend/zend_language_scanner.c"
+#line 5369 "Zend/zend_language_scanner.c"
yy523:
YYDEBUG(523, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5461,7 +5394,7 @@ yy526:
{
return T_GOTO;
}
-#line 5465 "Zend/zend_language_scanner.c"
+#line 5398 "Zend/zend_language_scanner.c"
yy528:
YYDEBUG(528, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5485,11 +5418,11 @@ yy531:
}
YYDEBUG(532, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
+#line 1299 "Zend/zend_language_scanner.l"
{
return T_GLOBAL;
}
-#line 5493 "Zend/zend_language_scanner.c"
+#line 5426 "Zend/zend_language_scanner.c"
yy533:
YYDEBUG(533, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5530,7 +5463,7 @@ yy539:
{
return T_BREAK;
}
-#line 5534 "Zend/zend_language_scanner.c"
+#line 5467 "Zend/zend_language_scanner.c"
yy541:
YYDEBUG(541, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5574,7 +5507,7 @@ yy547:
{
return T_SWITCH;
}
-#line 5578 "Zend/zend_language_scanner.c"
+#line 5511 "Zend/zend_language_scanner.c"
yy549:
YYDEBUG(549, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5598,11 +5531,11 @@ yy552:
}
YYDEBUG(553, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1316 "Zend/zend_language_scanner.l"
+#line 1315 "Zend/zend_language_scanner.l"
{
return T_STATIC;
}
-#line 5606 "Zend/zend_language_scanner.c"
+#line 5539 "Zend/zend_language_scanner.c"
yy554:
YYDEBUG(554, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5633,7 +5566,7 @@ yy557:
{
return T_AS;
}
-#line 5637 "Zend/zend_language_scanner.c"
+#line 5570 "Zend/zend_language_scanner.c"
yy559:
YYDEBUG(559, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5652,11 +5585,11 @@ yy561:
}
YYDEBUG(562, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1352 "Zend/zend_language_scanner.l"
+#line 1351 "Zend/zend_language_scanner.l"
{
return T_ARRAY;
}
-#line 5660 "Zend/zend_language_scanner.c"
+#line 5593 "Zend/zend_language_scanner.c"
yy563:
YYDEBUG(563, *YYCURSOR);
++YYCURSOR;
@@ -5665,11 +5598,11 @@ yy563:
}
YYDEBUG(564, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1456 "Zend/zend_language_scanner.l"
+#line 1455 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_AND;
}
-#line 5673 "Zend/zend_language_scanner.c"
+#line 5606 "Zend/zend_language_scanner.c"
yy565:
YYDEBUG(565, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5703,11 +5636,11 @@ yy570:
}
YYDEBUG(571, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1320 "Zend/zend_language_scanner.l"
+#line 1319 "Zend/zend_language_scanner.l"
{
return T_ABSTRACT;
}
-#line 5711 "Zend/zend_language_scanner.c"
+#line 5644 "Zend/zend_language_scanner.c"
yy572:
YYDEBUG(572, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5735,7 +5668,7 @@ yy575:
{
return T_WHILE;
}
-#line 5739 "Zend/zend_language_scanner.c"
+#line 5672 "Zend/zend_language_scanner.c"
yy577:
YYDEBUG(577, *YYCURSOR);
++YYCURSOR;
@@ -5748,7 +5681,7 @@ yy577:
{
return T_IF;
}
-#line 5752 "Zend/zend_language_scanner.c"
+#line 5685 "Zend/zend_language_scanner.c"
yy579:
YYDEBUG(579, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5800,11 +5733,11 @@ yy584:
}
YYDEBUG(585, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1304 "Zend/zend_language_scanner.l"
+#line 1303 "Zend/zend_language_scanner.l"
{
return T_ISSET;
}
-#line 5808 "Zend/zend_language_scanner.c"
+#line 5741 "Zend/zend_language_scanner.c"
yy586:
YYDEBUG(586, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5858,11 +5791,11 @@ yy592:
yy593:
YYDEBUG(593, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1272 "Zend/zend_language_scanner.l"
+#line 1271 "Zend/zend_language_scanner.l"
{
return T_INCLUDE;
}
-#line 5866 "Zend/zend_language_scanner.c"
+#line 5799 "Zend/zend_language_scanner.c"
yy594:
YYDEBUG(594, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5891,11 +5824,11 @@ yy598:
}
YYDEBUG(599, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1276 "Zend/zend_language_scanner.l"
+#line 1275 "Zend/zend_language_scanner.l"
{
return T_INCLUDE_ONCE;
}
-#line 5899 "Zend/zend_language_scanner.c"
+#line 5832 "Zend/zend_language_scanner.c"
yy600:
YYDEBUG(600, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5933,7 +5866,7 @@ yy605:
{
return T_INTERFACE;
}
-#line 5937 "Zend/zend_language_scanner.c"
+#line 5870 "Zend/zend_language_scanner.c"
yy607:
YYDEBUG(607, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5983,11 +5916,11 @@ yy613:
}
YYDEBUG(614, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1296 "Zend/zend_language_scanner.l"
+#line 1295 "Zend/zend_language_scanner.l"
{
return T_INSTEADOF;
}
-#line 5991 "Zend/zend_language_scanner.c"
+#line 5924 "Zend/zend_language_scanner.c"
yy615:
YYDEBUG(615, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6020,7 +5953,7 @@ yy619:
{
return T_INSTANCEOF;
}
-#line 6024 "Zend/zend_language_scanner.c"
+#line 5957 "Zend/zend_language_scanner.c"
yy621:
YYDEBUG(621, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6068,7 +6001,7 @@ yy628:
{
return T_IMPLEMENTS;
}
-#line 6072 "Zend/zend_language_scanner.c"
+#line 6005 "Zend/zend_language_scanner.c"
yy630:
YYDEBUG(630, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6100,7 +6033,7 @@ yy631:
{
return T_TRY;
}
-#line 6104 "Zend/zend_language_scanner.c"
+#line 6037 "Zend/zend_language_scanner.c"
yy634:
YYDEBUG(634, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6123,7 +6056,7 @@ yy636:
{
return T_TRAIT;
}
-#line 6127 "Zend/zend_language_scanner.c"
+#line 6060 "Zend/zend_language_scanner.c"
yy638:
YYDEBUG(638, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6146,7 +6079,7 @@ yy640:
{
return T_THROW;
}
-#line 6150 "Zend/zend_language_scanner.c"
+#line 6083 "Zend/zend_language_scanner.c"
yy642:
YYDEBUG(642, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6174,7 +6107,7 @@ yy645:
{
return T_YIELD;
}
-#line 6178 "Zend/zend_language_scanner.c"
+#line 6111 "Zend/zend_language_scanner.c"
yy647:
YYDEBUG(647, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6235,11 +6168,11 @@ yy653:
yy654:
YYDEBUG(654, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1280 "Zend/zend_language_scanner.l"
+#line 1279 "Zend/zend_language_scanner.l"
{
return T_REQUIRE;
}
-#line 6243 "Zend/zend_language_scanner.c"
+#line 6176 "Zend/zend_language_scanner.c"
yy655:
YYDEBUG(655, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6268,11 +6201,11 @@ yy659:
}
YYDEBUG(660, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1284 "Zend/zend_language_scanner.l"
+#line 1283 "Zend/zend_language_scanner.l"
{
return T_REQUIRE_ONCE;
}
-#line 6276 "Zend/zend_language_scanner.c"
+#line 6209 "Zend/zend_language_scanner.c"
yy661:
YYDEBUG(661, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6295,7 +6228,7 @@ yy663:
{
return T_RETURN;
}
-#line 6299 "Zend/zend_language_scanner.c"
+#line 6232 "Zend/zend_language_scanner.c"
yy665:
YYDEBUG(665, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6389,7 +6322,7 @@ yy674:
{
return T_CONTINUE;
}
-#line 6393 "Zend/zend_language_scanner.c"
+#line 6326 "Zend/zend_language_scanner.c"
yy676:
YYDEBUG(676, *YYCURSOR);
++YYCURSOR;
@@ -6402,7 +6335,7 @@ yy676:
{
return T_CONST;
}
-#line 6406 "Zend/zend_language_scanner.c"
+#line 6339 "Zend/zend_language_scanner.c"
yy678:
YYDEBUG(678, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6427,11 +6360,11 @@ yy681:
}
YYDEBUG(682, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1232 "Zend/zend_language_scanner.l"
+#line 1231 "Zend/zend_language_scanner.l"
{
return T_CLONE;
}
-#line 6435 "Zend/zend_language_scanner.c"
+#line 6368 "Zend/zend_language_scanner.c"
yy683:
YYDEBUG(683, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6449,7 +6382,7 @@ yy684:
{
return T_CLASS;
}
-#line 6453 "Zend/zend_language_scanner.c"
+#line 6386 "Zend/zend_language_scanner.c"
yy686:
YYDEBUG(686, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6495,11 +6428,11 @@ yy693:
}
YYDEBUG(694, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1356 "Zend/zend_language_scanner.l"
+#line 1355 "Zend/zend_language_scanner.l"
{
return T_CALLABLE;
}
-#line 6503 "Zend/zend_language_scanner.c"
+#line 6436 "Zend/zend_language_scanner.c"
yy695:
YYDEBUG(695, *YYCURSOR);
++YYCURSOR;
@@ -6512,7 +6445,7 @@ yy695:
{
return T_CASE;
}
-#line 6516 "Zend/zend_language_scanner.c"
+#line 6449 "Zend/zend_language_scanner.c"
yy697:
YYDEBUG(697, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6530,7 +6463,7 @@ yy698:
{
return T_CATCH;
}
-#line 6534 "Zend/zend_language_scanner.c"
+#line 6467 "Zend/zend_language_scanner.c"
yy700:
YYDEBUG(700, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6585,7 +6518,7 @@ yy708:
{
return T_FUNCTION;
}
-#line 6589 "Zend/zend_language_scanner.c"
+#line 6522 "Zend/zend_language_scanner.c"
yy710:
YYDEBUG(710, *YYCURSOR);
++YYCURSOR;
@@ -6613,7 +6546,7 @@ yy711:
{
return T_FOR;
}
-#line 6617 "Zend/zend_language_scanner.c"
+#line 6550 "Zend/zend_language_scanner.c"
yy712:
YYDEBUG(712, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6641,7 +6574,7 @@ yy715:
{
return T_FOREACH;
}
-#line 6645 "Zend/zend_language_scanner.c"
+#line 6578 "Zend/zend_language_scanner.c"
yy717:
YYDEBUG(717, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6675,11 +6608,11 @@ yy719:
yy720:
YYDEBUG(720, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1324 "Zend/zend_language_scanner.l"
+#line 1323 "Zend/zend_language_scanner.l"
{
return T_FINAL;
}
-#line 6683 "Zend/zend_language_scanner.c"
+#line 6616 "Zend/zend_language_scanner.c"
yy721:
YYDEBUG(721, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6697,7 +6630,7 @@ yy722:
{
return T_FINALLY;
}
-#line 6701 "Zend/zend_language_scanner.c"
+#line 6634 "Zend/zend_language_scanner.c"
yy724:
YYDEBUG(724, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6732,7 +6665,7 @@ yy726:
{
return T_DO;
}
-#line 6736 "Zend/zend_language_scanner.c"
+#line 6669 "Zend/zend_language_scanner.c"
yy728:
YYDEBUG(728, *YYCURSOR);
++YYCURSOR;
@@ -6745,7 +6678,7 @@ yy728:
{
return T_EXIT;
}
-#line 6749 "Zend/zend_language_scanner.c"
+#line 6682 "Zend/zend_language_scanner.c"
yy730:
YYDEBUG(730, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6784,7 +6717,7 @@ yy735:
{
return T_DEFAULT;
}
-#line 6788 "Zend/zend_language_scanner.c"
+#line 6721 "Zend/zend_language_scanner.c"
yy737:
YYDEBUG(737, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6812,7 +6745,7 @@ yy740:
{
return T_DECLARE;
}
-#line 6816 "Zend/zend_language_scanner.c"
+#line 6749 "Zend/zend_language_scanner.c"
yy742:
YYDEBUG(742, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6896,7 +6829,7 @@ yy753:
{
return T_EXTENDS;
}
-#line 6900 "Zend/zend_language_scanner.c"
+#line 6833 "Zend/zend_language_scanner.c"
yy755:
YYDEBUG(755, *YYCURSOR);
++YYCURSOR;
@@ -6909,7 +6842,7 @@ yy755:
{
return T_EXIT;
}
-#line 6913 "Zend/zend_language_scanner.c"
+#line 6846 "Zend/zend_language_scanner.c"
yy757:
YYDEBUG(757, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6923,11 +6856,11 @@ yy758:
}
YYDEBUG(759, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1268 "Zend/zend_language_scanner.l"
+#line 1267 "Zend/zend_language_scanner.l"
{
return T_EVAL;
}
-#line 6931 "Zend/zend_language_scanner.c"
+#line 6864 "Zend/zend_language_scanner.c"
yy760:
YYDEBUG(760, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7001,7 +6934,7 @@ yy769:
{
return T_ENDWHILE;
}
-#line 7005 "Zend/zend_language_scanner.c"
+#line 6938 "Zend/zend_language_scanner.c"
yy771:
YYDEBUG(771, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7034,7 +6967,7 @@ yy775:
{
return T_ENDSWITCH;
}
-#line 7038 "Zend/zend_language_scanner.c"
+#line 6971 "Zend/zend_language_scanner.c"
yy777:
YYDEBUG(777, *YYCURSOR);
++YYCURSOR;
@@ -7047,7 +6980,7 @@ yy777:
{
return T_ENDIF;
}
-#line 7051 "Zend/zend_language_scanner.c"
+#line 6984 "Zend/zend_language_scanner.c"
yy779:
YYDEBUG(779, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7080,7 +7013,7 @@ yy781:
{
return T_ENDFOR;
}
-#line 7084 "Zend/zend_language_scanner.c"
+#line 7017 "Zend/zend_language_scanner.c"
yy782:
YYDEBUG(782, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7108,7 +7041,7 @@ yy785:
{
return T_ENDFOREACH;
}
-#line 7112 "Zend/zend_language_scanner.c"
+#line 7045 "Zend/zend_language_scanner.c"
yy787:
YYDEBUG(787, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7146,7 +7079,7 @@ yy792:
{
return T_ENDDECLARE;
}
-#line 7150 "Zend/zend_language_scanner.c"
+#line 7083 "Zend/zend_language_scanner.c"
yy794:
YYDEBUG(794, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7165,11 +7098,11 @@ yy796:
}
YYDEBUG(797, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1308 "Zend/zend_language_scanner.l"
+#line 1307 "Zend/zend_language_scanner.l"
{
return T_EMPTY;
}
-#line 7173 "Zend/zend_language_scanner.c"
+#line 7106 "Zend/zend_language_scanner.c"
yy798:
YYDEBUG(798, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7202,7 +7135,7 @@ yy800:
{
return T_ELSE;
}
-#line 7206 "Zend/zend_language_scanner.c"
+#line 7139 "Zend/zend_language_scanner.c"
yy801:
YYDEBUG(801, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7220,7 +7153,7 @@ yy802:
{
return T_ELSEIF;
}
-#line 7224 "Zend/zend_language_scanner.c"
+#line 7157 "Zend/zend_language_scanner.c"
yy804:
YYDEBUG(804, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7238,7 +7171,7 @@ yy805:
{
return T_ECHO;
}
-#line 7242 "Zend/zend_language_scanner.c"
+#line 7175 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7313,11 +7246,10 @@ yy810:
yyleng = YYCURSOR - SCNG(yy_text);
#line 1194 "Zend/zend_language_scanner.l"
{
- DUMMY_STRINGL(zendlval, yytext, yyleng);
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 7321 "Zend/zend_language_scanner.c"
+#line 7253 "Zend/zend_language_scanner.c"
yy811:
YYDEBUG(811, *YYCURSOR);
++YYCURSOR;
@@ -7325,13 +7257,13 @@ yy811:
yy812:
YYDEBUG(812, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1210 "Zend/zend_language_scanner.l"
+#line 1209 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
goto restart;
}
-#line 7335 "Zend/zend_language_scanner.c"
+#line 7267 "Zend/zend_language_scanner.c"
yy813:
YYDEBUG(813, *YYCURSOR);
++YYCURSOR;
@@ -7340,13 +7272,13 @@ yy813:
yy814:
YYDEBUG(814, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1204 "Zend/zend_language_scanner.l"
+#line 1203 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 7350 "Zend/zend_language_scanner.c"
+#line 7282 "Zend/zend_language_scanner.c"
yy815:
YYDEBUG(815, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7367,11 +7299,11 @@ yy818:
++YYCURSOR;
YYDEBUG(819, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1200 "Zend/zend_language_scanner.l"
+#line 1199 "Zend/zend_language_scanner.l"
{
return T_OBJECT_OPERATOR;
}
-#line 7375 "Zend/zend_language_scanner.c"
+#line 7307 "Zend/zend_language_scanner.c"
yy820:
YYDEBUG(820, *YYCURSOR);
++YYCURSOR;
@@ -7456,14 +7388,14 @@ yy824:
yy825:
YYDEBUG(825, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1507 "Zend/zend_language_scanner.l"
+#line 1506 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
goto restart;
}
-#line 7467 "Zend/zend_language_scanner.c"
+#line 7399 "Zend/zend_language_scanner.c"
yy826:
YYDEBUG(826, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7488,7 +7420,7 @@ yy830:
++YYCURSOR;
YYDEBUG(831, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1498 "Zend/zend_language_scanner.l"
+#line 1497 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
zend_copy_value(zendlval, yytext, yyleng);
@@ -7496,7 +7428,7 @@ yy830:
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return T_STRING_VARNAME;
}
-#line 7500 "Zend/zend_language_scanner.c"
+#line 7432 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_NOWDOC:
@@ -7507,7 +7439,7 @@ yyc_ST_NOWDOC:
++YYCURSOR;
YYDEBUG(835, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2338 "Zend/zend_language_scanner.l"
+#line 2271 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -7563,7 +7495,7 @@ nowdoc_scan_done:
HANDLE_NEWLINES(yytext, yyleng - newline);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7567 "Zend/zend_language_scanner.c"
+#line 7499 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
@@ -7670,7 +7602,7 @@ yy838:
yy839:
YYDEBUG(839, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1578 "Zend/zend_language_scanner.l"
+#line 1577 "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));
@@ -7679,7 +7611,7 @@ yy839:
}
return T_NUM_STRING;
}
-#line 7683 "Zend/zend_language_scanner.c"
+#line 7615 "Zend/zend_language_scanner.c"
yy840:
YYDEBUG(840, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7699,23 +7631,23 @@ yy841:
yy842:
YYDEBUG(842, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1870 "Zend/zend_language_scanner.l"
+#line 1805 "Zend/zend_language_scanner.l"
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-#line 7708 "Zend/zend_language_scanner.c"
+#line 7640 "Zend/zend_language_scanner.c"
yy843:
YYDEBUG(843, *YYCURSOR);
++YYCURSOR;
YYDEBUG(844, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1865 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
return ']';
}
-#line 7719 "Zend/zend_language_scanner.c"
+#line 7651 "Zend/zend_language_scanner.c"
yy845:
YYDEBUG(845, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7725,14 +7657,14 @@ yy846:
++YYCURSOR;
YYDEBUG(847, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1875 "Zend/zend_language_scanner.l"
+#line 1810 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
yy_pop_state(TSRMLS_C);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7736 "Zend/zend_language_scanner.c"
+#line 7668 "Zend/zend_language_scanner.c"
yy848:
YYDEBUG(848, *YYCURSOR);
++YYCURSOR;
@@ -7741,18 +7673,18 @@ yy848:
yy849:
YYDEBUG(849, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1882 "Zend/zend_language_scanner.l"
+#line 1817 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 7750 "Zend/zend_language_scanner.c"
+#line 7682 "Zend/zend_language_scanner.c"
yy850:
YYDEBUG(850, *YYCURSOR);
++YYCURSOR;
YYDEBUG(851, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2395 "Zend/zend_language_scanner.l"
+#line 2328 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -7761,7 +7693,7 @@ yy850:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7765 "Zend/zend_language_scanner.c"
+#line 7697 "Zend/zend_language_scanner.c"
yy852:
YYDEBUG(852, *YYCURSOR);
++YYCURSOR;
@@ -7797,12 +7729,12 @@ yy854:
yy856:
YYDEBUG(856, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1860 "Zend/zend_language_scanner.l"
+#line 1795 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 7806 "Zend/zend_language_scanner.c"
+#line 7738 "Zend/zend_language_scanner.c"
yy857:
YYDEBUG(857, *YYCURSOR);
++YYCURSOR;
@@ -7842,12 +7774,12 @@ yy862:
yy864:
YYDEBUG(864, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1586 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
ZVAL_STRINGL(zendlval, yytext, yyleng);
return T_NUM_STRING;
}
-#line 7851 "Zend/zend_language_scanner.c"
+#line 7783 "Zend/zend_language_scanner.c"
yy865:
YYDEBUG(865, *YYCURSOR);
++YYCURSOR;
@@ -7870,6 +7802,6 @@ yy867:
goto yy864;
}
}
-#line 2404 "Zend/zend_language_scanner.l"
+#line 2337 "Zend/zend_language_scanner.l"
}