summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-03-17 21:33:57 +0100
committerNikita Popov <nikic@php.net>2015-03-17 21:35:42 +0100
commitf1a6c06f14834c0f3ef7769aef3917538f1f693b (patch)
tree9c9307c07a77c222c01f49f679ba31673f596364
parent55da1fb00809f43f1f3a03831573d81e04ba9e63 (diff)
downloadphp-git-f1a6c06f14834c0f3ef7769aef3917538f1f693b.tar.gz
Support ParseException for require etc
-rw-r--r--Zend/tests/require_parse_exception.phpt40
-rw-r--r--Zend/zend_language_scanner.c750
-rw-r--r--Zend/zend_language_scanner.l58
3 files changed, 436 insertions, 412 deletions
diff --git a/Zend/tests/require_parse_exception.phpt b/Zend/tests/require_parse_exception.phpt
new file mode 100644
index 0000000000..ba48675f58
--- /dev/null
+++ b/Zend/tests/require_parse_exception.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Parse exceptions when using require
+--INI--
+allow_url_include=1
+--FILE--
+<?php
+
+
+function test_parse_error($code) {
+ try {
+ require 'data://text/plain;base64,' . base64_encode($code);
+ } catch (ParseException $e) {
+ echo $e->getMessage(), "\n";
+ }
+}
+
+test_parse_error(<<<'EOC'
+<?php
+{ { { { { }
+EOC
+);
+
+test_parse_error(<<<'EOC'
+<?php
+/** doc comment */
+function f() {
+EOC
+);
+
+test_parse_error(<<<'EOC'
+<?php
+empty
+EOC
+);
+
+?>
+--EXPECT--
+syntax error, unexpected end of file
+syntax error, unexpected end of file
+syntax error, unexpected end of file, expecting '('
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index f3638c6b7b..3ddf7e86c3 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -562,15 +562,7 @@ END_EXTERN_C()
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
{
zend_lex_state original_lex_state;
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
- zend_op_array *original_active_op_array = CG(active_op_array);
- int compiler_result;
- zend_bool compilation_successful=0;
- zval retval_zv;
- zend_bool original_in_compilation = CG(in_compilation);
-
- ZVAL_LONG(&retval_zv, 1);
-
+ zend_op_array *op_array = NULL;
zend_save_lexical_state(&original_lex_state);
if (open_file_for_scanning(file_handle)==FAILURE) {
@@ -580,37 +572,37 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
} else {
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
}
- compilation_successful=0;
} else {
- init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE);
+ zend_bool original_in_compilation = CG(in_compilation);
CG(in_compilation) = 1;
- CG(active_op_array) = op_array;
- zend_stack_push(&CG(context_stack), (void *) &CG(context));
- zend_init_compiler_context();
+
+ CG(ast) = NULL;
CG(ast_arena) = zend_arena_create(1024 * 32);
- compiler_result = zendparse();
- if (compiler_result != 0) { /* parser error */
- zend_bailout();
- }
- if (zend_ast_process) {
- zend_ast_process(CG(ast));
+ if (!zendparse()) {
+ zval retval_zv;
+ zend_op_array *original_active_op_array = CG(active_op_array);
+ op_array = emalloc(sizeof(zend_op_array));
+ init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE);
+ CG(active_op_array) = op_array;
+ ZVAL_LONG(&retval_zv, 1);
+
+ zend_stack_push(&CG(context_stack), (void *) &CG(context));
+ zend_init_compiler_context();
+ if (zend_ast_process) {
+ zend_ast_process(CG(ast));
+ }
+ zend_compile_top_stmt(CG(ast));
+ zend_do_end_compilation();
+ zend_emit_final_return(&retval_zv);
+ pass_two(op_array);
+ zend_release_labels(0);
+
+ CG(active_op_array) = original_active_op_array;
}
- zend_compile_top_stmt(CG(ast));
+
zend_ast_destroy(CG(ast));
zend_arena_destroy(CG(ast_arena));
- zend_do_end_compilation();
- zend_emit_final_return(&retval_zv);
CG(in_compilation) = original_in_compilation;
- compilation_successful=1;
- }
-
- CG(active_op_array) = original_active_op_array;
- if (compilation_successful) {
- pass_two(op_array);
- zend_release_labels(0);
- } else {
- efree_size(op_array, sizeof(zend_op_array));
- op_array = NULL;
}
zend_restore_lexical_state(&original_lex_state);
@@ -1083,7 +1075,7 @@ restart:
SCNG(yy_text) = YYCURSOR;
-#line 1087 "Zend/zend_language_scanner.c"
+#line 1079 "Zend/zend_language_scanner.c"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
@@ -1137,7 +1129,7 @@ yyc_INITIAL:
yy3:
YYDEBUG(3, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1768 "Zend/zend_language_scanner.l"
+#line 1760 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1182,7 +1174,7 @@ inline_char_handler:
HANDLE_NEWLINES(yytext, yyleng);
return T_INLINE_HTML;
}
-#line 1186 "Zend/zend_language_scanner.c"
+#line 1178 "Zend/zend_language_scanner.c"
yy4:
YYDEBUG(4, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1200,7 +1192,7 @@ yy5:
yy6:
YYDEBUG(6, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1759 "Zend/zend_language_scanner.l"
+#line 1751 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
BEGIN(ST_IN_SCRIPTING);
@@ -1209,18 +1201,18 @@ yy6:
goto inline_char_handler;
}
}
-#line 1213 "Zend/zend_language_scanner.c"
+#line 1205 "Zend/zend_language_scanner.c"
yy7:
YYDEBUG(7, *YYCURSOR);
++YYCURSOR;
YYDEBUG(8, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1746 "Zend/zend_language_scanner.l"
+#line 1738 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
}
-#line 1224 "Zend/zend_language_scanner.c"
+#line 1216 "Zend/zend_language_scanner.c"
yy9:
YYDEBUG(9, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1251,13 +1243,13 @@ yy13:
yy14:
YYDEBUG(14, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1752 "Zend/zend_language_scanner.l"
+#line 1744 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
-#line 1261 "Zend/zend_language_scanner.c"
+#line 1253 "Zend/zend_language_scanner.c"
yy15:
YYDEBUG(15, *YYCURSOR);
++YYCURSOR;
@@ -1327,7 +1319,7 @@ yyc_ST_BACKQUOTE:
yy19:
YYDEBUG(19, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2178 "Zend/zend_language_scanner.l"
+#line 2170 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1368,7 +1360,7 @@ yy19:
zend_scan_escape_string(zendlval, yytext, yyleng, '`');
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1372 "Zend/zend_language_scanner.c"
+#line 1364 "Zend/zend_language_scanner.c"
yy20:
YYDEBUG(20, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1379,12 +1371,12 @@ yy21:
++YYCURSOR;
YYDEBUG(22, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2122 "Zend/zend_language_scanner.l"
+#line 2114 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '`';
}
-#line 1388 "Zend/zend_language_scanner.c"
+#line 1380 "Zend/zend_language_scanner.c"
yy23:
YYDEBUG(23, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1394,14 +1386,14 @@ yy24:
++YYCURSOR;
YYDEBUG(25, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2109 "Zend/zend_language_scanner.l"
+#line 2101 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1405 "Zend/zend_language_scanner.c"
+#line 1397 "Zend/zend_language_scanner.c"
yy26:
YYDEBUG(26, *YYCURSOR);
yyaccept = 0;
@@ -1417,23 +1409,23 @@ yy26:
yy28:
YYDEBUG(28, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1833 "Zend/zend_language_scanner.l"
+#line 1825 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1426 "Zend/zend_language_scanner.c"
+#line 1418 "Zend/zend_language_scanner.c"
yy29:
YYDEBUG(29, *YYCURSOR);
++YYCURSOR;
YYDEBUG(30, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1557 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1437 "Zend/zend_language_scanner.c"
+#line 1429 "Zend/zend_language_scanner.c"
yy31:
YYDEBUG(31, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1447,14 +1439,14 @@ yy33:
++YYCURSOR;
YYDEBUG(34, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1826 "Zend/zend_language_scanner.l"
+#line 1818 "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 1458 "Zend/zend_language_scanner.c"
+#line 1450 "Zend/zend_language_scanner.c"
yy35:
YYDEBUG(35, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1472,14 +1464,14 @@ yy36:
++YYCURSOR;
YYDEBUG(37, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1817 "Zend/zend_language_scanner.l"
+#line 1809 "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 1483 "Zend/zend_language_scanner.c"
+#line 1475 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_DOUBLE_QUOTES:
@@ -1547,7 +1539,7 @@ yy40:
yy41:
YYDEBUG(41, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2128 "Zend/zend_language_scanner.l"
+#line 2120 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1596,7 +1588,7 @@ double_quotes_scan_done:
zend_scan_escape_string(zendlval, yytext, yyleng, '"');
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1600 "Zend/zend_language_scanner.c"
+#line 1592 "Zend/zend_language_scanner.c"
yy42:
YYDEBUG(42, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1607,12 +1599,12 @@ yy43:
++YYCURSOR;
YYDEBUG(44, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2117 "Zend/zend_language_scanner.l"
+#line 2109 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '"';
}
-#line 1616 "Zend/zend_language_scanner.c"
+#line 1608 "Zend/zend_language_scanner.c"
yy45:
YYDEBUG(45, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1622,14 +1614,14 @@ yy46:
++YYCURSOR;
YYDEBUG(47, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2109 "Zend/zend_language_scanner.l"
+#line 2101 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1633 "Zend/zend_language_scanner.c"
+#line 1625 "Zend/zend_language_scanner.c"
yy48:
YYDEBUG(48, *YYCURSOR);
yyaccept = 0;
@@ -1645,23 +1637,23 @@ yy48:
yy50:
YYDEBUG(50, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1833 "Zend/zend_language_scanner.l"
+#line 1825 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1654 "Zend/zend_language_scanner.c"
+#line 1646 "Zend/zend_language_scanner.c"
yy51:
YYDEBUG(51, *YYCURSOR);
++YYCURSOR;
YYDEBUG(52, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1557 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1665 "Zend/zend_language_scanner.c"
+#line 1657 "Zend/zend_language_scanner.c"
yy53:
YYDEBUG(53, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1675,14 +1667,14 @@ yy55:
++YYCURSOR;
YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1826 "Zend/zend_language_scanner.l"
+#line 1818 "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 1686 "Zend/zend_language_scanner.c"
+#line 1678 "Zend/zend_language_scanner.c"
yy57:
YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1700,14 +1692,14 @@ yy58:
++YYCURSOR;
YYDEBUG(59, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1817 "Zend/zend_language_scanner.l"
+#line 1809 "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 1711 "Zend/zend_language_scanner.c"
+#line 1703 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_END_HEREDOC:
@@ -1718,7 +1710,7 @@ yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(63, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2095 "Zend/zend_language_scanner.l"
+#line 2087 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
@@ -1731,7 +1723,7 @@ yyc_ST_END_HEREDOC:
BEGIN(ST_IN_SCRIPTING);
return T_END_HEREDOC;
}
-#line 1735 "Zend/zend_language_scanner.c"
+#line 1727 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_HEREDOC:
{
@@ -1793,7 +1785,7 @@ yy66:
yy67:
YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2220 "Zend/zend_language_scanner.l"
+#line 2212 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -1866,7 +1858,7 @@ heredoc_scan_done:
zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 1870 "Zend/zend_language_scanner.c"
+#line 1862 "Zend/zend_language_scanner.c"
yy68:
YYDEBUG(68, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1881,14 +1873,14 @@ yy70:
++YYCURSOR;
YYDEBUG(71, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2109 "Zend/zend_language_scanner.l"
+#line 2101 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
yyless(1);
return T_CURLY_OPEN;
}
-#line 1892 "Zend/zend_language_scanner.c"
+#line 1884 "Zend/zend_language_scanner.c"
yy72:
YYDEBUG(72, *YYCURSOR);
yyaccept = 0;
@@ -1904,23 +1896,23 @@ yy72:
yy74:
YYDEBUG(74, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1833 "Zend/zend_language_scanner.l"
+#line 1825 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 1913 "Zend/zend_language_scanner.c"
+#line 1905 "Zend/zend_language_scanner.c"
yy75:
YYDEBUG(75, *YYCURSOR);
++YYCURSOR;
YYDEBUG(76, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1557 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME);
return T_DOLLAR_OPEN_CURLY_BRACES;
}
-#line 1924 "Zend/zend_language_scanner.c"
+#line 1916 "Zend/zend_language_scanner.c"
yy77:
YYDEBUG(77, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1934,14 +1926,14 @@ yy79:
++YYCURSOR;
YYDEBUG(80, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1826 "Zend/zend_language_scanner.l"
+#line 1818 "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 1945 "Zend/zend_language_scanner.c"
+#line 1937 "Zend/zend_language_scanner.c"
yy81:
YYDEBUG(81, *YYCURSOR);
yych = *++YYCURSOR;
@@ -1959,14 +1951,14 @@ yy82:
++YYCURSOR;
YYDEBUG(83, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1817 "Zend/zend_language_scanner.l"
+#line 1809 "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 1970 "Zend/zend_language_scanner.c"
+#line 1962 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_IN_SCRIPTING:
@@ -2149,12 +2141,12 @@ yy86:
yy87:
YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1848 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 2158 "Zend/zend_language_scanner.c"
+#line 2150 "Zend/zend_language_scanner.c"
yy88:
YYDEBUG(88, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2386,11 +2378,11 @@ yy101:
yy102:
YYDEBUG(102, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1546 "Zend/zend_language_scanner.l"
+#line 1538 "Zend/zend_language_scanner.l"
{
return yytext[0];
}
-#line 2394 "Zend/zend_language_scanner.c"
+#line 2386 "Zend/zend_language_scanner.c"
yy103:
YYDEBUG(103, *YYCURSOR);
++YYCURSOR;
@@ -2399,12 +2391,12 @@ yy103:
yy104:
YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
+#line 1253 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 2408 "Zend/zend_language_scanner.c"
+#line 2400 "Zend/zend_language_scanner.c"
yy105:
YYDEBUG(105, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2415,11 +2407,11 @@ yy106:
++YYCURSOR;
YYDEBUG(107, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1286 "Zend/zend_language_scanner.l"
+#line 1278 "Zend/zend_language_scanner.l"
{
return T_NS_SEPARATOR;
}
-#line 2423 "Zend/zend_language_scanner.c"
+#line 2415 "Zend/zend_language_scanner.c"
yy108:
YYDEBUG(108, *YYCURSOR);
yyaccept = 1;
@@ -2648,18 +2640,18 @@ yy131:
++YYCURSOR;
YYDEBUG(132, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1551 "Zend/zend_language_scanner.l"
+#line 1543 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_IN_SCRIPTING);
return '{';
}
-#line 2657 "Zend/zend_language_scanner.c"
+#line 2649 "Zend/zend_language_scanner.c"
yy133:
YYDEBUG(133, *YYCURSOR);
++YYCURSOR;
YYDEBUG(134, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1563 "Zend/zend_language_scanner.l"
+#line 1555 "Zend/zend_language_scanner.l"
{
RESET_DOC_COMMENT();
if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2667,7 +2659,7 @@ yy133:
}
return '}';
}
-#line 2671 "Zend/zend_language_scanner.c"
+#line 2663 "Zend/zend_language_scanner.c"
yy135:
YYDEBUG(135, *YYCURSOR);
yyaccept = 2;
@@ -2695,7 +2687,7 @@ yy135:
yy136:
YYDEBUG(136, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1616 "Zend/zend_language_scanner.l"
+#line 1608 "Zend/zend_language_scanner.l"
{
char *end;
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
@@ -2734,7 +2726,7 @@ yy136:
}
return T_LNUMBER;
}
-#line 2738 "Zend/zend_language_scanner.c"
+#line 2730 "Zend/zend_language_scanner.c"
yy137:
YYDEBUG(137, *YYCURSOR);
yyaccept = 2;
@@ -2762,7 +2754,7 @@ yy139:
yy140:
YYDEBUG(140, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1862 "Zend/zend_language_scanner.l"
+#line 1854 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
@@ -2791,14 +2783,14 @@ yy140:
return T_COMMENT;
}
-#line 2795 "Zend/zend_language_scanner.c"
+#line 2787 "Zend/zend_language_scanner.c"
yy141:
YYDEBUG(141, *YYCURSOR);
++YYCURSOR;
yy142:
YYDEBUG(142, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1930 "Zend/zend_language_scanner.l"
+#line 1922 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
@@ -2866,14 +2858,14 @@ yy142:
}
return T_CONSTANT_ENCAPSED_STRING;
}
-#line 2870 "Zend/zend_language_scanner.c"
+#line 2862 "Zend/zend_language_scanner.c"
yy143:
YYDEBUG(143, *YYCURSOR);
++YYCURSOR;
yy144:
YYDEBUG(144, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1999 "Zend/zend_language_scanner.l"
+#line 1991 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -2914,24 +2906,24 @@ yy144:
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-#line 2918 "Zend/zend_language_scanner.c"
+#line 2910 "Zend/zend_language_scanner.c"
yy145:
YYDEBUG(145, *YYCURSOR);
++YYCURSOR;
YYDEBUG(146, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2089 "Zend/zend_language_scanner.l"
+#line 2081 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-#line 2929 "Zend/zend_language_scanner.c"
+#line 2921 "Zend/zend_language_scanner.c"
yy147:
YYDEBUG(147, *YYCURSOR);
++YYCURSOR;
YYDEBUG(148, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2351 "Zend/zend_language_scanner.l"
+#line 2343 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -2940,7 +2932,7 @@ yy147:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 2944 "Zend/zend_language_scanner.c"
+#line 2936 "Zend/zend_language_scanner.c"
yy149:
YYDEBUG(149, *YYCURSOR);
++YYCURSOR;
@@ -2967,7 +2959,7 @@ yy151:
yy153:
YYDEBUG(153, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1704 "Zend/zend_language_scanner.l"
+#line 1696 "Zend/zend_language_scanner.l"
{
const char *end;
@@ -2976,7 +2968,7 @@ yy153:
ZEND_ASSERT(end == yytext + yyleng);
return T_DNUMBER;
}
-#line 2980 "Zend/zend_language_scanner.c"
+#line 2972 "Zend/zend_language_scanner.c"
yy154:
YYDEBUG(154, *YYCURSOR);
yyaccept = 2;
@@ -3068,7 +3060,7 @@ yy163:
}
YYDEBUG(165, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1588 "Zend/zend_language_scanner.l"
+#line 1580 "Zend/zend_language_scanner.l"
{
char *bin = yytext + 2; /* Skip "0b" */
int len = yyleng - 2;
@@ -3096,7 +3088,7 @@ yy163:
return T_DNUMBER;
}
}
-#line 3100 "Zend/zend_language_scanner.c"
+#line 3092 "Zend/zend_language_scanner.c"
yy166:
YYDEBUG(166, *YYCURSOR);
++YYCURSOR;
@@ -3108,7 +3100,7 @@ yy166:
}
YYDEBUG(168, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1655 "Zend/zend_language_scanner.l"
+#line 1647 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
@@ -3136,7 +3128,7 @@ yy166:
return T_DNUMBER;
}
}
-#line 3140 "Zend/zend_language_scanner.c"
+#line 3132 "Zend/zend_language_scanner.c"
yy169:
YYDEBUG(169, *YYCURSOR);
++YYCURSOR;
@@ -3161,12 +3153,12 @@ yy169:
yy171:
YYDEBUG(171, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1833 "Zend/zend_language_scanner.l"
+#line 1825 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 3170 "Zend/zend_language_scanner.c"
+#line 3162 "Zend/zend_language_scanner.c"
yy172:
YYDEBUG(172, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3180,11 +3172,11 @@ yy173:
}
YYDEBUG(174, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1534 "Zend/zend_language_scanner.l"
+#line 1526 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_XOR;
}
-#line 3188 "Zend/zend_language_scanner.c"
+#line 3180 "Zend/zend_language_scanner.c"
yy175:
YYDEBUG(175, *YYCURSOR);
++YYCURSOR;
@@ -3193,71 +3185,71 @@ yy175:
}
YYDEBUG(176, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1526 "Zend/zend_language_scanner.l"
+#line 1518 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_OR;
}
-#line 3201 "Zend/zend_language_scanner.c"
+#line 3193 "Zend/zend_language_scanner.c"
yy177:
YYDEBUG(177, *YYCURSOR);
++YYCURSOR;
YYDEBUG(178, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1514 "Zend/zend_language_scanner.l"
+#line 1506 "Zend/zend_language_scanner.l"
{
return T_XOR_EQUAL;
}
-#line 3211 "Zend/zend_language_scanner.c"
+#line 3203 "Zend/zend_language_scanner.c"
yy179:
YYDEBUG(179, *YYCURSOR);
++YYCURSOR;
YYDEBUG(180, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1518 "Zend/zend_language_scanner.l"
+#line 1510 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_OR;
}
-#line 3221 "Zend/zend_language_scanner.c"
+#line 3213 "Zend/zend_language_scanner.c"
yy181:
YYDEBUG(181, *YYCURSOR);
++YYCURSOR;
YYDEBUG(182, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1510 "Zend/zend_language_scanner.l"
+#line 1502 "Zend/zend_language_scanner.l"
{
return T_OR_EQUAL;
}
-#line 3231 "Zend/zend_language_scanner.c"
+#line 3223 "Zend/zend_language_scanner.c"
yy183:
YYDEBUG(183, *YYCURSOR);
++YYCURSOR;
YYDEBUG(184, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1522 "Zend/zend_language_scanner.l"
+#line 1514 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_AND;
}
-#line 3241 "Zend/zend_language_scanner.c"
+#line 3233 "Zend/zend_language_scanner.c"
yy185:
YYDEBUG(185, *YYCURSOR);
++YYCURSOR;
YYDEBUG(186, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1506 "Zend/zend_language_scanner.l"
+#line 1498 "Zend/zend_language_scanner.l"
{
return T_AND_EQUAL;
}
-#line 3251 "Zend/zend_language_scanner.c"
+#line 3243 "Zend/zend_language_scanner.c"
yy187:
YYDEBUG(187, *YYCURSOR);
++YYCURSOR;
YYDEBUG(188, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1494 "Zend/zend_language_scanner.l"
+#line 1486 "Zend/zend_language_scanner.l"
{
return T_MOD_EQUAL;
}
-#line 3261 "Zend/zend_language_scanner.c"
+#line 3253 "Zend/zend_language_scanner.c"
yy189:
YYDEBUG(189, *YYCURSOR);
yyaccept = 4;
@@ -3266,7 +3258,7 @@ yy189:
yy190:
YYDEBUG(190, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1891 "Zend/zend_language_scanner.l"
+#line 1883 "Zend/zend_language_scanner.l"
{
int doc_com;
@@ -3299,7 +3291,7 @@ yy190:
return T_COMMENT;
}
-#line 3303 "Zend/zend_language_scanner.c"
+#line 3295 "Zend/zend_language_scanner.c"
yy191:
YYDEBUG(191, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3309,11 +3301,11 @@ yy192:
++YYCURSOR;
YYDEBUG(193, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1486 "Zend/zend_language_scanner.l"
+#line 1478 "Zend/zend_language_scanner.l"
{
return T_DIV_EQUAL;
}
-#line 3317 "Zend/zend_language_scanner.c"
+#line 3309 "Zend/zend_language_scanner.c"
yy194:
YYDEBUG(194, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3337,62 +3329,62 @@ yy197:
if ((yych = *YYCURSOR) == '=') goto yy201;
YYDEBUG(198, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1478 "Zend/zend_language_scanner.l"
+#line 1470 "Zend/zend_language_scanner.l"
{
return T_POW;
}
-#line 3345 "Zend/zend_language_scanner.c"
+#line 3337 "Zend/zend_language_scanner.c"
yy199:
YYDEBUG(199, *YYCURSOR);
++YYCURSOR;
YYDEBUG(200, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1474 "Zend/zend_language_scanner.l"
+#line 1466 "Zend/zend_language_scanner.l"
{
return T_MUL_EQUAL;
}
-#line 3355 "Zend/zend_language_scanner.c"
+#line 3347 "Zend/zend_language_scanner.c"
yy201:
YYDEBUG(201, *YYCURSOR);
++YYCURSOR;
YYDEBUG(202, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1482 "Zend/zend_language_scanner.l"
+#line 1474 "Zend/zend_language_scanner.l"
{
return T_POW_EQUAL;
}
-#line 3365 "Zend/zend_language_scanner.c"
+#line 3357 "Zend/zend_language_scanner.c"
yy203:
YYDEBUG(203, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy207;
YYDEBUG(204, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1542 "Zend/zend_language_scanner.l"
+#line 1534 "Zend/zend_language_scanner.l"
{
return T_SR;
}
-#line 3376 "Zend/zend_language_scanner.c"
+#line 3368 "Zend/zend_language_scanner.c"
yy205:
YYDEBUG(205, *YYCURSOR);
++YYCURSOR;
YYDEBUG(206, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1462 "Zend/zend_language_scanner.l"
+#line 1454 "Zend/zend_language_scanner.l"
{
return T_IS_GREATER_OR_EQUAL;
}
-#line 3386 "Zend/zend_language_scanner.c"
+#line 3378 "Zend/zend_language_scanner.c"
yy207:
YYDEBUG(207, *YYCURSOR);
++YYCURSOR;
YYDEBUG(208, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1502 "Zend/zend_language_scanner.l"
+#line 1494 "Zend/zend_language_scanner.l"
{
return T_SR_EQUAL;
}
-#line 3396 "Zend/zend_language_scanner.c"
+#line 3388 "Zend/zend_language_scanner.c"
yy209:
YYDEBUG(209, *YYCURSOR);
yyaccept = 5;
@@ -3403,53 +3395,53 @@ yy209:
yy210:
YYDEBUG(210, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1538 "Zend/zend_language_scanner.l"
+#line 1530 "Zend/zend_language_scanner.l"
{
return T_SL;
}
-#line 3411 "Zend/zend_language_scanner.c"
+#line 3403 "Zend/zend_language_scanner.c"
yy211:
YYDEBUG(211, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '>') goto yy215;
YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1458 "Zend/zend_language_scanner.l"
+#line 1450 "Zend/zend_language_scanner.l"
{
return T_IS_SMALLER_OR_EQUAL;
}
-#line 3422 "Zend/zend_language_scanner.c"
+#line 3414 "Zend/zend_language_scanner.c"
yy213:
YYDEBUG(213, *YYCURSOR);
++YYCURSOR;
yy214:
YYDEBUG(214, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1450 "Zend/zend_language_scanner.l"
+#line 1442 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_EQUAL;
}
-#line 3433 "Zend/zend_language_scanner.c"
+#line 3425 "Zend/zend_language_scanner.c"
yy215:
YYDEBUG(215, *YYCURSOR);
++YYCURSOR;
YYDEBUG(216, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1446 "Zend/zend_language_scanner.l"
{
return T_SPACESHIP;
}
-#line 3443 "Zend/zend_language_scanner.c"
+#line 3435 "Zend/zend_language_scanner.c"
yy217:
YYDEBUG(217, *YYCURSOR);
++YYCURSOR;
YYDEBUG(218, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1498 "Zend/zend_language_scanner.l"
+#line 1490 "Zend/zend_language_scanner.l"
{
return T_SL_EQUAL;
}
-#line 3453 "Zend/zend_language_scanner.c"
+#line 3445 "Zend/zend_language_scanner.c"
yy219:
YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
@@ -3554,7 +3546,7 @@ yy228:
yy229:
YYDEBUG(229, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2041 "Zend/zend_language_scanner.l"
+#line 2033 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3601,7 +3593,7 @@ yy229:
return T_START_HEREDOC;
}
-#line 3605 "Zend/zend_language_scanner.c"
+#line 3597 "Zend/zend_language_scanner.c"
yy230:
YYDEBUG(230, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3641,31 +3633,31 @@ yy233:
++YYCURSOR;
YYDEBUG(235, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1442 "Zend/zend_language_scanner.l"
+#line 1434 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_IDENTICAL;
}
-#line 3649 "Zend/zend_language_scanner.c"
+#line 3641 "Zend/zend_language_scanner.c"
yy236:
YYDEBUG(236, *YYCURSOR);
++YYCURSOR;
YYDEBUG(237, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1466 "Zend/zend_language_scanner.l"
+#line 1458 "Zend/zend_language_scanner.l"
{
return T_PLUS_EQUAL;
}
-#line 3659 "Zend/zend_language_scanner.c"
+#line 3651 "Zend/zend_language_scanner.c"
yy238:
YYDEBUG(238, *YYCURSOR);
++YYCURSOR;
YYDEBUG(239, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1430 "Zend/zend_language_scanner.l"
+#line 1422 "Zend/zend_language_scanner.l"
{
return T_INC;
}
-#line 3669 "Zend/zend_language_scanner.c"
+#line 3661 "Zend/zend_language_scanner.c"
yy240:
YYDEBUG(240, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3684,42 +3676,42 @@ yy242:
}
YYDEBUG(243, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1418 "Zend/zend_language_scanner.l"
+#line 1410 "Zend/zend_language_scanner.l"
{
return T_LIST;
}
-#line 3692 "Zend/zend_language_scanner.c"
+#line 3684 "Zend/zend_language_scanner.c"
yy244:
YYDEBUG(244, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) == '=') goto yy248;
YYDEBUG(245, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1446 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
{
return T_IS_EQUAL;
}
-#line 3703 "Zend/zend_language_scanner.c"
+#line 3695 "Zend/zend_language_scanner.c"
yy246:
YYDEBUG(246, *YYCURSOR);
++YYCURSOR;
YYDEBUG(247, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1414 "Zend/zend_language_scanner.l"
+#line 1406 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_ARROW;
}
-#line 3713 "Zend/zend_language_scanner.c"
+#line 3705 "Zend/zend_language_scanner.c"
yy248:
YYDEBUG(248, *YYCURSOR);
++YYCURSOR;
YYDEBUG(249, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1438 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
{
return T_IS_IDENTICAL;
}
-#line 3723 "Zend/zend_language_scanner.c"
+#line 3715 "Zend/zend_language_scanner.c"
yy250:
YYDEBUG(250, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3849,11 +3841,11 @@ yy266:
}
YYDEBUG(269, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1741 "Zend/zend_language_scanner.l"
+#line 1733 "Zend/zend_language_scanner.l"
{
return T_NS_C;
}
-#line 3857 "Zend/zend_language_scanner.c"
+#line 3849 "Zend/zend_language_scanner.c"
yy270:
YYDEBUG(270, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3873,11 +3865,11 @@ yy271:
}
YYDEBUG(274, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1737 "Zend/zend_language_scanner.l"
+#line 1729 "Zend/zend_language_scanner.l"
{
return T_DIR;
}
-#line 3881 "Zend/zend_language_scanner.c"
+#line 3873 "Zend/zend_language_scanner.c"
yy275:
YYDEBUG(275, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3902,11 +3894,11 @@ yy277:
}
YYDEBUG(280, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1729 "Zend/zend_language_scanner.l"
+#line 1721 "Zend/zend_language_scanner.l"
{
return T_LINE;
}
-#line 3910 "Zend/zend_language_scanner.c"
+#line 3902 "Zend/zend_language_scanner.c"
yy281:
YYDEBUG(281, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3941,11 +3933,11 @@ yy285:
}
YYDEBUG(288, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1725 "Zend/zend_language_scanner.l"
+#line 1717 "Zend/zend_language_scanner.l"
{
return T_METHOD_C;
}
-#line 3949 "Zend/zend_language_scanner.c"
+#line 3941 "Zend/zend_language_scanner.c"
yy289:
YYDEBUG(289, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3996,11 +3988,11 @@ yy296:
}
YYDEBUG(299, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1721 "Zend/zend_language_scanner.l"
+#line 1713 "Zend/zend_language_scanner.l"
{
return T_FUNC_C;
}
-#line 4004 "Zend/zend_language_scanner.c"
+#line 3996 "Zend/zend_language_scanner.c"
yy300:
YYDEBUG(300, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4020,11 +4012,11 @@ yy301:
}
YYDEBUG(304, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1725 "Zend/zend_language_scanner.l"
{
return T_FILE;
}
-#line 4028 "Zend/zend_language_scanner.c"
+#line 4020 "Zend/zend_language_scanner.c"
yy305:
YYDEBUG(305, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4054,11 +4046,11 @@ yy308:
}
YYDEBUG(311, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1717 "Zend/zend_language_scanner.l"
+#line 1709 "Zend/zend_language_scanner.l"
{
return T_TRAIT_C;
}
-#line 4062 "Zend/zend_language_scanner.c"
+#line 4054 "Zend/zend_language_scanner.c"
yy312:
YYDEBUG(312, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4088,11 +4080,11 @@ yy315:
}
YYDEBUG(318, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1713 "Zend/zend_language_scanner.l"
+#line 1705 "Zend/zend_language_scanner.l"
{
return T_CLASS_C;
}
-#line 4096 "Zend/zend_language_scanner.c"
+#line 4088 "Zend/zend_language_scanner.c"
yy319:
YYDEBUG(319, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4154,11 +4146,11 @@ yy330:
}
YYDEBUG(331, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1382 "Zend/zend_language_scanner.l"
+#line 1374 "Zend/zend_language_scanner.l"
{
return T_HALT_COMPILER;
}
-#line 4162 "Zend/zend_language_scanner.c"
+#line 4154 "Zend/zend_language_scanner.c"
yy332:
YYDEBUG(332, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4178,11 +4170,11 @@ yy334:
}
YYDEBUG(335, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1362 "Zend/zend_language_scanner.l"
+#line 1354 "Zend/zend_language_scanner.l"
{
return T_USE;
}
-#line 4186 "Zend/zend_language_scanner.c"
+#line 4178 "Zend/zend_language_scanner.c"
yy336:
YYDEBUG(336, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4201,11 +4193,11 @@ yy338:
}
YYDEBUG(339, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1410 "Zend/zend_language_scanner.l"
+#line 1402 "Zend/zend_language_scanner.l"
{
return T_UNSET;
}
-#line 4209 "Zend/zend_language_scanner.c"
+#line 4201 "Zend/zend_language_scanner.c"
yy340:
YYDEBUG(340, *YYCURSOR);
++YYCURSOR;
@@ -4377,11 +4369,11 @@ yy355:
++YYCURSOR;
YYDEBUG(357, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1310 "Zend/zend_language_scanner.l"
+#line 1302 "Zend/zend_language_scanner.l"
{
return T_INT_CAST;
}
-#line 4385 "Zend/zend_language_scanner.c"
+#line 4377 "Zend/zend_language_scanner.c"
yy358:
YYDEBUG(358, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4425,11 +4417,11 @@ yy363:
++YYCURSOR;
YYDEBUG(366, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1314 "Zend/zend_language_scanner.l"
+#line 1306 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_CAST;
}
-#line 4433 "Zend/zend_language_scanner.c"
+#line 4425 "Zend/zend_language_scanner.c"
yy367:
YYDEBUG(367, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4499,11 +4491,11 @@ yy377:
++YYCURSOR;
YYDEBUG(380, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1318 "Zend/zend_language_scanner.l"
+#line 1310 "Zend/zend_language_scanner.l"
{
return T_STRING_CAST;
}
-#line 4507 "Zend/zend_language_scanner.c"
+#line 4499 "Zend/zend_language_scanner.c"
yy381:
YYDEBUG(381, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4536,11 +4528,11 @@ yy384:
++YYCURSOR;
YYDEBUG(387, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1322 "Zend/zend_language_scanner.l"
+#line 1314 "Zend/zend_language_scanner.l"
{
return T_ARRAY_CAST;
}
-#line 4544 "Zend/zend_language_scanner.c"
+#line 4536 "Zend/zend_language_scanner.c"
yy388:
YYDEBUG(388, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4578,11 +4570,11 @@ yy392:
++YYCURSOR;
YYDEBUG(395, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1326 "Zend/zend_language_scanner.l"
+#line 1318 "Zend/zend_language_scanner.l"
{
return T_OBJECT_CAST;
}
-#line 4586 "Zend/zend_language_scanner.c"
+#line 4578 "Zend/zend_language_scanner.c"
yy396:
YYDEBUG(396, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4623,11 +4615,11 @@ yy401:
++YYCURSOR;
YYDEBUG(403, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1330 "Zend/zend_language_scanner.l"
+#line 1322 "Zend/zend_language_scanner.l"
{
return T_BOOL_CAST;
}
-#line 4631 "Zend/zend_language_scanner.c"
+#line 4623 "Zend/zend_language_scanner.c"
yy404:
YYDEBUG(404, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4687,11 +4679,11 @@ yy412:
++YYCURSOR;
YYDEBUG(415, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1334 "Zend/zend_language_scanner.l"
+#line 1326 "Zend/zend_language_scanner.l"
{
return T_UNSET_CAST;
}
-#line 4695 "Zend/zend_language_scanner.c"
+#line 4687 "Zend/zend_language_scanner.c"
yy416:
YYDEBUG(416, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4705,11 +4697,11 @@ yy417:
}
YYDEBUG(418, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1306 "Zend/zend_language_scanner.l"
+#line 1298 "Zend/zend_language_scanner.l"
{
return T_VAR;
}
-#line 4713 "Zend/zend_language_scanner.c"
+#line 4705 "Zend/zend_language_scanner.c"
yy419:
YYDEBUG(419, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4729,11 +4721,11 @@ yy421:
}
YYDEBUG(422, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1298 "Zend/zend_language_scanner.l"
+#line 1290 "Zend/zend_language_scanner.l"
{
return T_NEW;
}
-#line 4737 "Zend/zend_language_scanner.c"
+#line 4729 "Zend/zend_language_scanner.c"
yy423:
YYDEBUG(423, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4772,11 +4764,11 @@ yy429:
}
YYDEBUG(430, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1358 "Zend/zend_language_scanner.l"
+#line 1350 "Zend/zend_language_scanner.l"
{
return T_NAMESPACE;
}
-#line 4780 "Zend/zend_language_scanner.c"
+#line 4772 "Zend/zend_language_scanner.c"
yy431:
YYDEBUG(431, *YYCURSOR);
++YYCURSOR;
@@ -4785,22 +4777,22 @@ yy431:
yy432:
YYDEBUG(432, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1924 "Zend/zend_language_scanner.l"
+#line 1916 "Zend/zend_language_scanner.l"
{
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-#line 4794 "Zend/zend_language_scanner.c"
+#line 4786 "Zend/zend_language_scanner.c"
yy433:
YYDEBUG(433, *YYCURSOR);
++YYCURSOR;
YYDEBUG(434, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1294 "Zend/zend_language_scanner.l"
+#line 1286 "Zend/zend_language_scanner.l"
{
return T_COALESCE;
}
-#line 4804 "Zend/zend_language_scanner.c"
+#line 4796 "Zend/zend_language_scanner.c"
yy435:
YYDEBUG(435, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4831,11 +4823,11 @@ yy439:
++YYCURSOR;
YYDEBUG(440, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1490 "Zend/zend_language_scanner.l"
+#line 1482 "Zend/zend_language_scanner.l"
{
return T_CONCAT_EQUAL;
}
-#line 4839 "Zend/zend_language_scanner.c"
+#line 4831 "Zend/zend_language_scanner.c"
yy441:
YYDEBUG(441, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4844,21 +4836,21 @@ yy441:
++YYCURSOR;
YYDEBUG(443, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1290 "Zend/zend_language_scanner.l"
+#line 1282 "Zend/zend_language_scanner.l"
{
return T_ELLIPSIS;
}
-#line 4852 "Zend/zend_language_scanner.c"
+#line 4844 "Zend/zend_language_scanner.c"
yy444:
YYDEBUG(444, *YYCURSOR);
++YYCURSOR;
YYDEBUG(445, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1282 "Zend/zend_language_scanner.l"
+#line 1274 "Zend/zend_language_scanner.l"
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-#line 4862 "Zend/zend_language_scanner.c"
+#line 4854 "Zend/zend_language_scanner.c"
yy446:
YYDEBUG(446, *YYCURSOR);
++YYCURSOR;
@@ -4880,32 +4872,32 @@ yy448:
++YYCURSOR;
YYDEBUG(449, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1470 "Zend/zend_language_scanner.l"
+#line 1462 "Zend/zend_language_scanner.l"
{
return T_MINUS_EQUAL;
}
-#line 4888 "Zend/zend_language_scanner.c"
+#line 4880 "Zend/zend_language_scanner.c"
yy450:
YYDEBUG(450, *YYCURSOR);
++YYCURSOR;
YYDEBUG(451, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1426 "Zend/zend_language_scanner.l"
{
return T_DEC;
}
-#line 4898 "Zend/zend_language_scanner.c"
+#line 4890 "Zend/zend_language_scanner.c"
yy452:
YYDEBUG(452, *YYCURSOR);
++YYCURSOR;
YYDEBUG(453, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1256 "Zend/zend_language_scanner.l"
+#line 1248 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_PROPERTY);
return T_OBJECT_OPERATOR;
}
-#line 4909 "Zend/zend_language_scanner.c"
+#line 4901 "Zend/zend_language_scanner.c"
yy454:
YYDEBUG(454, *YYCURSOR);
yych = *++YYCURSOR;
@@ -4950,11 +4942,11 @@ yy459:
}
YYDEBUG(460, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1406 "Zend/zend_language_scanner.l"
+#line 1398 "Zend/zend_language_scanner.l"
{
return T_PUBLIC;
}
-#line 4958 "Zend/zend_language_scanner.c"
+#line 4950 "Zend/zend_language_scanner.c"
yy461:
YYDEBUG(461, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5009,11 +5001,11 @@ yy468:
}
YYDEBUG(469, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1402 "Zend/zend_language_scanner.l"
+#line 1394 "Zend/zend_language_scanner.l"
{
return T_PROTECTED;
}
-#line 5017 "Zend/zend_language_scanner.c"
+#line 5009 "Zend/zend_language_scanner.c"
yy470:
YYDEBUG(470, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5043,11 +5035,11 @@ yy474:
}
YYDEBUG(475, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1398 "Zend/zend_language_scanner.l"
+#line 1390 "Zend/zend_language_scanner.l"
{
return T_PRIVATE;
}
-#line 5051 "Zend/zend_language_scanner.c"
+#line 5043 "Zend/zend_language_scanner.c"
yy476:
YYDEBUG(476, *YYCURSOR);
++YYCURSOR;
@@ -5056,11 +5048,11 @@ yy476:
}
YYDEBUG(477, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1232 "Zend/zend_language_scanner.l"
+#line 1224 "Zend/zend_language_scanner.l"
{
return T_PRINT;
}
-#line 5064 "Zend/zend_language_scanner.c"
+#line 5056 "Zend/zend_language_scanner.c"
yy478:
YYDEBUG(478, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5085,11 +5077,11 @@ yy481:
}
YYDEBUG(482, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1224 "Zend/zend_language_scanner.l"
+#line 1216 "Zend/zend_language_scanner.l"
{
return T_GOTO;
}
-#line 5093 "Zend/zend_language_scanner.c"
+#line 5085 "Zend/zend_language_scanner.c"
yy483:
YYDEBUG(483, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5113,11 +5105,11 @@ yy486:
}
YYDEBUG(487, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1370 "Zend/zend_language_scanner.l"
+#line 1362 "Zend/zend_language_scanner.l"
{
return T_GLOBAL;
}
-#line 5121 "Zend/zend_language_scanner.c"
+#line 5113 "Zend/zend_language_scanner.c"
yy488:
YYDEBUG(488, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5154,11 +5146,11 @@ yy494:
}
YYDEBUG(495, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1216 "Zend/zend_language_scanner.l"
+#line 1208 "Zend/zend_language_scanner.l"
{
return T_BREAK;
}
-#line 5162 "Zend/zend_language_scanner.c"
+#line 5154 "Zend/zend_language_scanner.c"
yy496:
YYDEBUG(496, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5198,11 +5190,11 @@ yy502:
}
YYDEBUG(503, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1200 "Zend/zend_language_scanner.l"
+#line 1192 "Zend/zend_language_scanner.l"
{
return T_SWITCH;
}
-#line 5206 "Zend/zend_language_scanner.c"
+#line 5198 "Zend/zend_language_scanner.c"
yy504:
YYDEBUG(504, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5226,11 +5218,11 @@ yy507:
}
YYDEBUG(508, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1386 "Zend/zend_language_scanner.l"
+#line 1378 "Zend/zend_language_scanner.l"
{
return T_STATIC;
}
-#line 5234 "Zend/zend_language_scanner.c"
+#line 5226 "Zend/zend_language_scanner.c"
yy509:
YYDEBUG(509, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5257,11 +5249,11 @@ yy512:
}
YYDEBUG(513, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1196 "Zend/zend_language_scanner.l"
+#line 1188 "Zend/zend_language_scanner.l"
{
return T_AS;
}
-#line 5265 "Zend/zend_language_scanner.c"
+#line 5257 "Zend/zend_language_scanner.c"
yy514:
YYDEBUG(514, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5280,11 +5272,11 @@ yy516:
}
YYDEBUG(517, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1422 "Zend/zend_language_scanner.l"
+#line 1414 "Zend/zend_language_scanner.l"
{
return T_ARRAY;
}
-#line 5288 "Zend/zend_language_scanner.c"
+#line 5280 "Zend/zend_language_scanner.c"
yy518:
YYDEBUG(518, *YYCURSOR);
++YYCURSOR;
@@ -5293,11 +5285,11 @@ yy518:
}
YYDEBUG(519, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1530 "Zend/zend_language_scanner.l"
+#line 1522 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_AND;
}
-#line 5301 "Zend/zend_language_scanner.c"
+#line 5293 "Zend/zend_language_scanner.c"
yy520:
YYDEBUG(520, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5331,11 +5323,11 @@ yy525:
}
YYDEBUG(526, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1390 "Zend/zend_language_scanner.l"
+#line 1382 "Zend/zend_language_scanner.l"
{
return T_ABSTRACT;
}
-#line 5339 "Zend/zend_language_scanner.c"
+#line 5331 "Zend/zend_language_scanner.c"
yy527:
YYDEBUG(527, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5359,11 +5351,11 @@ yy530:
}
YYDEBUG(531, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1156 "Zend/zend_language_scanner.l"
+#line 1148 "Zend/zend_language_scanner.l"
{
return T_WHILE;
}
-#line 5367 "Zend/zend_language_scanner.c"
+#line 5359 "Zend/zend_language_scanner.c"
yy532:
YYDEBUG(532, *YYCURSOR);
++YYCURSOR;
@@ -5372,11 +5364,11 @@ yy532:
}
YYDEBUG(533, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1140 "Zend/zend_language_scanner.l"
+#line 1132 "Zend/zend_language_scanner.l"
{
return T_IF;
}
-#line 5380 "Zend/zend_language_scanner.c"
+#line 5372 "Zend/zend_language_scanner.c"
yy534:
YYDEBUG(534, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5428,11 +5420,11 @@ yy539:
}
YYDEBUG(540, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1374 "Zend/zend_language_scanner.l"
+#line 1366 "Zend/zend_language_scanner.l"
{
return T_ISSET;
}
-#line 5436 "Zend/zend_language_scanner.c"
+#line 5428 "Zend/zend_language_scanner.c"
yy541:
YYDEBUG(541, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5486,11 +5478,11 @@ yy547:
yy548:
YYDEBUG(548, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1342 "Zend/zend_language_scanner.l"
+#line 1334 "Zend/zend_language_scanner.l"
{
return T_INCLUDE;
}
-#line 5494 "Zend/zend_language_scanner.c"
+#line 5486 "Zend/zend_language_scanner.c"
yy549:
YYDEBUG(549, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5519,11 +5511,11 @@ yy553:
}
YYDEBUG(554, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1346 "Zend/zend_language_scanner.l"
+#line 1338 "Zend/zend_language_scanner.l"
{
return T_INCLUDE_ONCE;
}
-#line 5527 "Zend/zend_language_scanner.c"
+#line 5519 "Zend/zend_language_scanner.c"
yy555:
YYDEBUG(555, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5557,11 +5549,11 @@ yy560:
}
YYDEBUG(561, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1240 "Zend/zend_language_scanner.l"
+#line 1232 "Zend/zend_language_scanner.l"
{
return T_INTERFACE;
}
-#line 5565 "Zend/zend_language_scanner.c"
+#line 5557 "Zend/zend_language_scanner.c"
yy562:
YYDEBUG(562, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5611,11 +5603,11 @@ yy568:
}
YYDEBUG(569, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1366 "Zend/zend_language_scanner.l"
+#line 1358 "Zend/zend_language_scanner.l"
{
return T_INSTEADOF;
}
-#line 5619 "Zend/zend_language_scanner.c"
+#line 5611 "Zend/zend_language_scanner.c"
yy570:
YYDEBUG(570, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5644,11 +5636,11 @@ yy574:
}
YYDEBUG(575, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1192 "Zend/zend_language_scanner.l"
+#line 1184 "Zend/zend_language_scanner.l"
{
return T_INSTANCEOF;
}
-#line 5652 "Zend/zend_language_scanner.c"
+#line 5644 "Zend/zend_language_scanner.c"
yy576:
YYDEBUG(576, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5692,11 +5684,11 @@ yy583:
}
YYDEBUG(584, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1252 "Zend/zend_language_scanner.l"
+#line 1244 "Zend/zend_language_scanner.l"
{
return T_IMPLEMENTS;
}
-#line 5700 "Zend/zend_language_scanner.c"
+#line 5692 "Zend/zend_language_scanner.c"
yy585:
YYDEBUG(585, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5724,11 +5716,11 @@ yy586:
}
YYDEBUG(588, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1124 "Zend/zend_language_scanner.l"
+#line 1116 "Zend/zend_language_scanner.l"
{
return T_TRY;
}
-#line 5732 "Zend/zend_language_scanner.c"
+#line 5724 "Zend/zend_language_scanner.c"
yy589:
YYDEBUG(589, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5747,11 +5739,11 @@ yy591:
}
YYDEBUG(592, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1244 "Zend/zend_language_scanner.l"
+#line 1236 "Zend/zend_language_scanner.l"
{
return T_TRAIT;
}
-#line 5755 "Zend/zend_language_scanner.c"
+#line 5747 "Zend/zend_language_scanner.c"
yy593:
YYDEBUG(593, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5770,11 +5762,11 @@ yy595:
}
YYDEBUG(596, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1136 "Zend/zend_language_scanner.l"
+#line 1128 "Zend/zend_language_scanner.l"
{
return T_THROW;
}
-#line 5778 "Zend/zend_language_scanner.c"
+#line 5770 "Zend/zend_language_scanner.c"
yy597:
YYDEBUG(597, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5798,11 +5790,11 @@ yy600:
}
YYDEBUG(601, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1120 "Zend/zend_language_scanner.l"
+#line 1112 "Zend/zend_language_scanner.l"
{
return T_YIELD;
}
-#line 5806 "Zend/zend_language_scanner.c"
+#line 5798 "Zend/zend_language_scanner.c"
yy602:
YYDEBUG(602, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5863,11 +5855,11 @@ yy608:
yy609:
YYDEBUG(609, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1350 "Zend/zend_language_scanner.l"
+#line 1342 "Zend/zend_language_scanner.l"
{
return T_REQUIRE;
}
-#line 5871 "Zend/zend_language_scanner.c"
+#line 5863 "Zend/zend_language_scanner.c"
yy610:
YYDEBUG(610, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5896,11 +5888,11 @@ yy614:
}
YYDEBUG(615, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1354 "Zend/zend_language_scanner.l"
+#line 1346 "Zend/zend_language_scanner.l"
{
return T_REQUIRE_ONCE;
}
-#line 5904 "Zend/zend_language_scanner.c"
+#line 5896 "Zend/zend_language_scanner.c"
yy616:
YYDEBUG(616, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5919,11 +5911,11 @@ yy618:
}
YYDEBUG(619, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1116 "Zend/zend_language_scanner.l"
+#line 1108 "Zend/zend_language_scanner.l"
{
return T_RETURN;
}
-#line 5927 "Zend/zend_language_scanner.c"
+#line 5919 "Zend/zend_language_scanner.c"
yy620:
YYDEBUG(620, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6013,11 +6005,11 @@ yy629:
}
YYDEBUG(630, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1220 "Zend/zend_language_scanner.l"
+#line 1212 "Zend/zend_language_scanner.l"
{
return T_CONTINUE;
}
-#line 6021 "Zend/zend_language_scanner.c"
+#line 6013 "Zend/zend_language_scanner.c"
yy631:
YYDEBUG(631, *YYCURSOR);
++YYCURSOR;
@@ -6026,11 +6018,11 @@ yy631:
}
YYDEBUG(632, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1112 "Zend/zend_language_scanner.l"
+#line 1104 "Zend/zend_language_scanner.l"
{
return T_CONST;
}
-#line 6034 "Zend/zend_language_scanner.c"
+#line 6026 "Zend/zend_language_scanner.c"
yy633:
YYDEBUG(633, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6055,11 +6047,11 @@ yy636:
}
YYDEBUG(637, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1302 "Zend/zend_language_scanner.l"
+#line 1294 "Zend/zend_language_scanner.l"
{
return T_CLONE;
}
-#line 6063 "Zend/zend_language_scanner.c"
+#line 6055 "Zend/zend_language_scanner.c"
yy638:
YYDEBUG(638, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6073,11 +6065,11 @@ yy639:
}
YYDEBUG(640, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1236 "Zend/zend_language_scanner.l"
+#line 1228 "Zend/zend_language_scanner.l"
{
return T_CLASS;
}
-#line 6081 "Zend/zend_language_scanner.c"
+#line 6073 "Zend/zend_language_scanner.c"
yy641:
YYDEBUG(641, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6123,11 +6115,11 @@ yy648:
}
YYDEBUG(649, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1426 "Zend/zend_language_scanner.l"
+#line 1418 "Zend/zend_language_scanner.l"
{
return T_CALLABLE;
}
-#line 6131 "Zend/zend_language_scanner.c"
+#line 6123 "Zend/zend_language_scanner.c"
yy650:
YYDEBUG(650, *YYCURSOR);
++YYCURSOR;
@@ -6136,11 +6128,11 @@ yy650:
}
YYDEBUG(651, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1208 "Zend/zend_language_scanner.l"
+#line 1200 "Zend/zend_language_scanner.l"
{
return T_CASE;
}
-#line 6144 "Zend/zend_language_scanner.c"
+#line 6136 "Zend/zend_language_scanner.c"
yy652:
YYDEBUG(652, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6154,11 +6146,11 @@ yy653:
}
YYDEBUG(654, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1128 "Zend/zend_language_scanner.l"
+#line 1120 "Zend/zend_language_scanner.l"
{
return T_CATCH;
}
-#line 6162 "Zend/zend_language_scanner.c"
+#line 6154 "Zend/zend_language_scanner.c"
yy655:
YYDEBUG(655, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6209,11 +6201,11 @@ yy663:
}
YYDEBUG(664, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1108 "Zend/zend_language_scanner.l"
+#line 1100 "Zend/zend_language_scanner.l"
{
return T_FUNCTION;
}
-#line 6217 "Zend/zend_language_scanner.c"
+#line 6209 "Zend/zend_language_scanner.c"
yy665:
YYDEBUG(665, *YYCURSOR);
++YYCURSOR;
@@ -6237,11 +6229,11 @@ yy665:
yy666:
YYDEBUG(666, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1168 "Zend/zend_language_scanner.l"
+#line 1160 "Zend/zend_language_scanner.l"
{
return T_FOR;
}
-#line 6245 "Zend/zend_language_scanner.c"
+#line 6237 "Zend/zend_language_scanner.c"
yy667:
YYDEBUG(667, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6265,11 +6257,11 @@ yy670:
}
YYDEBUG(671, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1176 "Zend/zend_language_scanner.l"
+#line 1168 "Zend/zend_language_scanner.l"
{
return T_FOREACH;
}
-#line 6273 "Zend/zend_language_scanner.c"
+#line 6265 "Zend/zend_language_scanner.c"
yy672:
YYDEBUG(672, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6303,11 +6295,11 @@ yy674:
yy675:
YYDEBUG(675, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1394 "Zend/zend_language_scanner.l"
+#line 1386 "Zend/zend_language_scanner.l"
{
return T_FINAL;
}
-#line 6311 "Zend/zend_language_scanner.c"
+#line 6303 "Zend/zend_language_scanner.c"
yy676:
YYDEBUG(676, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6321,11 +6313,11 @@ yy677:
}
YYDEBUG(678, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1132 "Zend/zend_language_scanner.l"
+#line 1124 "Zend/zend_language_scanner.l"
{
return T_FINALLY;
}
-#line 6329 "Zend/zend_language_scanner.c"
+#line 6321 "Zend/zend_language_scanner.c"
yy679:
YYDEBUG(679, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6356,11 +6348,11 @@ yy681:
}
YYDEBUG(682, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1164 "Zend/zend_language_scanner.l"
+#line 1156 "Zend/zend_language_scanner.l"
{
return T_DO;
}
-#line 6364 "Zend/zend_language_scanner.c"
+#line 6356 "Zend/zend_language_scanner.c"
yy683:
YYDEBUG(683, *YYCURSOR);
++YYCURSOR;
@@ -6369,11 +6361,11 @@ yy683:
}
YYDEBUG(684, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1104 "Zend/zend_language_scanner.l"
+#line 1096 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6377 "Zend/zend_language_scanner.c"
+#line 6369 "Zend/zend_language_scanner.c"
yy685:
YYDEBUG(685, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6408,11 +6400,11 @@ yy690:
}
YYDEBUG(691, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1212 "Zend/zend_language_scanner.l"
+#line 1204 "Zend/zend_language_scanner.l"
{
return T_DEFAULT;
}
-#line 6416 "Zend/zend_language_scanner.c"
+#line 6408 "Zend/zend_language_scanner.c"
yy692:
YYDEBUG(692, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6436,11 +6428,11 @@ yy695:
}
YYDEBUG(696, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1184 "Zend/zend_language_scanner.l"
+#line 1176 "Zend/zend_language_scanner.l"
{
return T_DECLARE;
}
-#line 6444 "Zend/zend_language_scanner.c"
+#line 6436 "Zend/zend_language_scanner.c"
yy697:
YYDEBUG(697, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6520,11 +6512,11 @@ yy708:
}
YYDEBUG(709, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1248 "Zend/zend_language_scanner.l"
+#line 1240 "Zend/zend_language_scanner.l"
{
return T_EXTENDS;
}
-#line 6528 "Zend/zend_language_scanner.c"
+#line 6520 "Zend/zend_language_scanner.c"
yy710:
YYDEBUG(710, *YYCURSOR);
++YYCURSOR;
@@ -6533,11 +6525,11 @@ yy710:
}
YYDEBUG(711, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1100 "Zend/zend_language_scanner.l"
+#line 1092 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6541 "Zend/zend_language_scanner.c"
+#line 6533 "Zend/zend_language_scanner.c"
yy712:
YYDEBUG(712, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6551,11 +6543,11 @@ yy713:
}
YYDEBUG(714, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1338 "Zend/zend_language_scanner.l"
+#line 1330 "Zend/zend_language_scanner.l"
{
return T_EVAL;
}
-#line 6559 "Zend/zend_language_scanner.c"
+#line 6551 "Zend/zend_language_scanner.c"
yy715:
YYDEBUG(715, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6625,11 +6617,11 @@ yy724:
}
YYDEBUG(725, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1160 "Zend/zend_language_scanner.l"
+#line 1152 "Zend/zend_language_scanner.l"
{
return T_ENDWHILE;
}
-#line 6633 "Zend/zend_language_scanner.c"
+#line 6625 "Zend/zend_language_scanner.c"
yy726:
YYDEBUG(726, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6658,11 +6650,11 @@ yy730:
}
YYDEBUG(731, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1204 "Zend/zend_language_scanner.l"
+#line 1196 "Zend/zend_language_scanner.l"
{
return T_ENDSWITCH;
}
-#line 6666 "Zend/zend_language_scanner.c"
+#line 6658 "Zend/zend_language_scanner.c"
yy732:
YYDEBUG(732, *YYCURSOR);
++YYCURSOR;
@@ -6671,11 +6663,11 @@ yy732:
}
YYDEBUG(733, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1148 "Zend/zend_language_scanner.l"
+#line 1140 "Zend/zend_language_scanner.l"
{
return T_ENDIF;
}
-#line 6679 "Zend/zend_language_scanner.c"
+#line 6671 "Zend/zend_language_scanner.c"
yy734:
YYDEBUG(734, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6704,11 +6696,11 @@ yy735:
yy736:
YYDEBUG(736, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1172 "Zend/zend_language_scanner.l"
+#line 1164 "Zend/zend_language_scanner.l"
{
return T_ENDFOR;
}
-#line 6712 "Zend/zend_language_scanner.c"
+#line 6704 "Zend/zend_language_scanner.c"
yy737:
YYDEBUG(737, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6732,11 +6724,11 @@ yy740:
}
YYDEBUG(741, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1180 "Zend/zend_language_scanner.l"
+#line 1172 "Zend/zend_language_scanner.l"
{
return T_ENDFOREACH;
}
-#line 6740 "Zend/zend_language_scanner.c"
+#line 6732 "Zend/zend_language_scanner.c"
yy742:
YYDEBUG(742, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6770,11 +6762,11 @@ yy747:
}
YYDEBUG(748, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1188 "Zend/zend_language_scanner.l"
+#line 1180 "Zend/zend_language_scanner.l"
{
return T_ENDDECLARE;
}
-#line 6778 "Zend/zend_language_scanner.c"
+#line 6770 "Zend/zend_language_scanner.c"
yy749:
YYDEBUG(749, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6793,11 +6785,11 @@ yy751:
}
YYDEBUG(752, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1378 "Zend/zend_language_scanner.l"
+#line 1370 "Zend/zend_language_scanner.l"
{
return T_EMPTY;
}
-#line 6801 "Zend/zend_language_scanner.c"
+#line 6793 "Zend/zend_language_scanner.c"
yy753:
YYDEBUG(753, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6826,11 +6818,11 @@ yy754:
yy755:
YYDEBUG(755, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1152 "Zend/zend_language_scanner.l"
+#line 1144 "Zend/zend_language_scanner.l"
{
return T_ELSE;
}
-#line 6834 "Zend/zend_language_scanner.c"
+#line 6826 "Zend/zend_language_scanner.c"
yy756:
YYDEBUG(756, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6844,11 +6836,11 @@ yy757:
}
YYDEBUG(758, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1144 "Zend/zend_language_scanner.l"
+#line 1136 "Zend/zend_language_scanner.l"
{
return T_ELSEIF;
}
-#line 6852 "Zend/zend_language_scanner.c"
+#line 6844 "Zend/zend_language_scanner.c"
yy759:
YYDEBUG(759, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6862,11 +6854,11 @@ yy760:
}
YYDEBUG(761, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1228 "Zend/zend_language_scanner.l"
+#line 1220 "Zend/zend_language_scanner.l"
{
return T_ECHO;
}
-#line 6870 "Zend/zend_language_scanner.c"
+#line 6862 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
@@ -6939,12 +6931,12 @@ yy764:
yy765:
YYDEBUG(765, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
+#line 1253 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 6948 "Zend/zend_language_scanner.c"
+#line 6940 "Zend/zend_language_scanner.c"
yy766:
YYDEBUG(766, *YYCURSOR);
++YYCURSOR;
@@ -6952,13 +6944,13 @@ yy766:
yy767:
YYDEBUG(767, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1276 "Zend/zend_language_scanner.l"
+#line 1268 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state();
goto restart;
}
-#line 6962 "Zend/zend_language_scanner.c"
+#line 6954 "Zend/zend_language_scanner.c"
yy768:
YYDEBUG(768, *YYCURSOR);
++YYCURSOR;
@@ -6967,13 +6959,13 @@ yy768:
yy769:
YYDEBUG(769, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1270 "Zend/zend_language_scanner.l"
+#line 1262 "Zend/zend_language_scanner.l"
{
yy_pop_state();
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 6977 "Zend/zend_language_scanner.c"
+#line 6969 "Zend/zend_language_scanner.c"
yy770:
YYDEBUG(770, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6994,11 +6986,11 @@ yy773:
++YYCURSOR;
YYDEBUG(774, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1266 "Zend/zend_language_scanner.l"
+#line 1258 "Zend/zend_language_scanner.l"
{
return T_OBJECT_OPERATOR;
}
-#line 7002 "Zend/zend_language_scanner.c"
+#line 6994 "Zend/zend_language_scanner.c"
yy775:
YYDEBUG(775, *YYCURSOR);
++YYCURSOR;
@@ -7083,14 +7075,14 @@ yy779:
yy780:
YYDEBUG(780, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1581 "Zend/zend_language_scanner.l"
+#line 1573 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state();
yy_push_state(ST_IN_SCRIPTING);
goto restart;
}
-#line 7094 "Zend/zend_language_scanner.c"
+#line 7086 "Zend/zend_language_scanner.c"
yy781:
YYDEBUG(781, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7115,7 +7107,7 @@ yy785:
++YYCURSOR;
YYDEBUG(786, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1572 "Zend/zend_language_scanner.l"
+#line 1564 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
zend_copy_value(zendlval, yytext, yyleng);
@@ -7123,7 +7115,7 @@ yy785:
yy_push_state(ST_IN_SCRIPTING);
return T_STRING_VARNAME;
}
-#line 7127 "Zend/zend_language_scanner.c"
+#line 7119 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_NOWDOC:
@@ -7134,7 +7126,7 @@ yyc_ST_NOWDOC:
++YYCURSOR;
YYDEBUG(790, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2294 "Zend/zend_language_scanner.l"
+#line 2286 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -7190,7 +7182,7 @@ nowdoc_scan_done:
HANDLE_NEWLINES(yytext, yyleng - newline);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7194 "Zend/zend_language_scanner.c"
+#line 7186 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
@@ -7297,7 +7289,7 @@ yy793:
yy794:
YYDEBUG(794, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1683 "Zend/zend_language_scanner.l"
+#line 1675 "Zend/zend_language_scanner.l"
{ /* Offset could be treated as a long */
if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
char *end;
@@ -7313,7 +7305,7 @@ string:
}
return T_NUM_STRING;
}
-#line 7317 "Zend/zend_language_scanner.c"
+#line 7309 "Zend/zend_language_scanner.c"
yy795:
YYDEBUG(795, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7333,23 +7325,23 @@ yy796:
yy797:
YYDEBUG(797, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1843 "Zend/zend_language_scanner.l"
+#line 1835 "Zend/zend_language_scanner.l"
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-#line 7342 "Zend/zend_language_scanner.c"
+#line 7334 "Zend/zend_language_scanner.c"
yy798:
YYDEBUG(798, *YYCURSOR);
++YYCURSOR;
YYDEBUG(799, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1830 "Zend/zend_language_scanner.l"
{
yy_pop_state();
return ']';
}
-#line 7353 "Zend/zend_language_scanner.c"
+#line 7345 "Zend/zend_language_scanner.c"
yy800:
YYDEBUG(800, *YYCURSOR);
yych = *++YYCURSOR;
@@ -7359,7 +7351,7 @@ yy801:
++YYCURSOR;
YYDEBUG(802, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1848 "Zend/zend_language_scanner.l"
+#line 1840 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
@@ -7367,7 +7359,7 @@ yy801:
ZVAL_NULL(zendlval);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7371 "Zend/zend_language_scanner.c"
+#line 7363 "Zend/zend_language_scanner.c"
yy803:
YYDEBUG(803, *YYCURSOR);
++YYCURSOR;
@@ -7376,18 +7368,18 @@ yy803:
yy804:
YYDEBUG(804, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1848 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-#line 7385 "Zend/zend_language_scanner.c"
+#line 7377 "Zend/zend_language_scanner.c"
yy805:
YYDEBUG(805, *YYCURSOR);
++YYCURSOR;
YYDEBUG(806, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2351 "Zend/zend_language_scanner.l"
+#line 2343 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -7396,7 +7388,7 @@ yy805:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7400 "Zend/zend_language_scanner.c"
+#line 7392 "Zend/zend_language_scanner.c"
yy807:
YYDEBUG(807, *YYCURSOR);
++YYCURSOR;
@@ -7432,12 +7424,12 @@ yy809:
yy811:
YYDEBUG(811, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1833 "Zend/zend_language_scanner.l"
+#line 1825 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-#line 7441 "Zend/zend_language_scanner.c"
+#line 7433 "Zend/zend_language_scanner.c"
yy812:
YYDEBUG(812, *YYCURSOR);
++YYCURSOR;
@@ -7477,12 +7469,12 @@ yy817:
yy819:
YYDEBUG(819, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1699 "Zend/zend_language_scanner.l"
+#line 1691 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
ZVAL_STRINGL(zendlval, yytext, yyleng);
return T_NUM_STRING;
}
-#line 7486 "Zend/zend_language_scanner.c"
+#line 7478 "Zend/zend_language_scanner.c"
yy820:
YYDEBUG(820, *YYCURSOR);
++YYCURSOR;
@@ -7505,6 +7497,6 @@ yy822:
goto yy819;
}
}
-#line 2360 "Zend/zend_language_scanner.l"
+#line 2352 "Zend/zend_language_scanner.l"
}
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index e4b1314f76..5cf83f506b 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -560,15 +560,7 @@ END_EXTERN_C()
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
{
zend_lex_state original_lex_state;
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
- zend_op_array *original_active_op_array = CG(active_op_array);
- int compiler_result;
- zend_bool compilation_successful=0;
- zval retval_zv;
- zend_bool original_in_compilation = CG(in_compilation);
-
- ZVAL_LONG(&retval_zv, 1);
-
+ zend_op_array *op_array = NULL;
zend_save_lexical_state(&original_lex_state);
if (open_file_for_scanning(file_handle)==FAILURE) {
@@ -578,37 +570,37 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
} else {
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
}
- compilation_successful=0;
} else {
- init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE);
+ zend_bool original_in_compilation = CG(in_compilation);
CG(in_compilation) = 1;
- CG(active_op_array) = op_array;
- zend_stack_push(&CG(context_stack), (void *) &CG(context));
- zend_init_compiler_context();
+
+ CG(ast) = NULL;
CG(ast_arena) = zend_arena_create(1024 * 32);
- compiler_result = zendparse();
- if (compiler_result != 0) { /* parser error */
- zend_bailout();
- }
- if (zend_ast_process) {
- zend_ast_process(CG(ast));
+ if (!zendparse()) {
+ zval retval_zv;
+ zend_op_array *original_active_op_array = CG(active_op_array);
+ op_array = emalloc(sizeof(zend_op_array));
+ init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE);
+ CG(active_op_array) = op_array;
+ ZVAL_LONG(&retval_zv, 1);
+
+ zend_stack_push(&CG(context_stack), (void *) &CG(context));
+ zend_init_compiler_context();
+ if (zend_ast_process) {
+ zend_ast_process(CG(ast));
+ }
+ zend_compile_top_stmt(CG(ast));
+ zend_do_end_compilation();
+ zend_emit_final_return(&retval_zv);
+ pass_two(op_array);
+ zend_release_labels(0);
+
+ CG(active_op_array) = original_active_op_array;
}
- zend_compile_top_stmt(CG(ast));
+
zend_ast_destroy(CG(ast));
zend_arena_destroy(CG(ast_arena));
- zend_do_end_compilation();
- zend_emit_final_return(&retval_zv);
CG(in_compilation) = original_in_compilation;
- compilation_successful=1;
- }
-
- CG(active_op_array) = original_active_op_array;
- if (compilation_successful) {
- pass_two(op_array);
- zend_release_labels(0);
- } else {
- efree_size(op_array, sizeof(zend_op_array));
- op_array = NULL;
}
zend_restore_lexical_state(&original_lex_state);