diff options
author | Sara Golemon <pollita@php.net> | 2015-01-19 08:39:52 -0800 |
---|---|---|
committer | Sara Golemon <sgolemon@fb.com> | 2015-01-19 10:43:57 -0800 |
commit | 1010b0ea4f4b9f96ae744f04c1191ac228580e48 (patch) | |
tree | 08c2356da4763c1779029dfe39d49cacfae3c3a3 | |
parent | 1fdd558e39beeeca9166eef4311b98f1926f642b (diff) | |
download | php-git-1010b0ea4f4b9f96ae744f04c1191ac228580e48.tar.gz |
Provide compiler hook for altering the AST pre-compilation.
-rw-r--r-- | Zend/zend_ast.c | 2 | ||||
-rw-r--r-- | Zend/zend_ast.h | 3 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 694 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 6 |
4 files changed, 361 insertions, 344 deletions
diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index c85608f2ee..24fe8bd6f9 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -23,6 +23,8 @@ #include "zend_API.h" #include "zend_operators.h" +ZEND_API zend_ast_process_t zend_ast_process = NULL; + static inline void *zend_ast_alloc(size_t size) { return zend_arena_alloc(&CG(ast_arena), size); } diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h index 4ce0f5de27..999dfd3c6c 100644 --- a/Zend/zend_ast.h +++ b/Zend/zend_ast.h @@ -186,6 +186,9 @@ typedef struct _zend_ast_decl { zend_ast *child[3]; } zend_ast_decl; +typedef void (*zend_ast_process_t)(zend_ast *ast); +extern zend_ast_process_t zend_ast_process; + ZEND_API zend_ast *zend_ast_create_zval_ex(zval *zv, zend_ast_attr attr); ZEND_API zend_ast *zend_ast_create_ex(zend_ast_kind kind, zend_ast_attr attr, ...); diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 2eea0f3aa0..bb7c596689 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -588,6 +588,9 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type) if (compiler_result != 0) { /* parser error */ zend_bailout(); } + if (zend_ast_process) { + zend_ast_process(CG(ast)); + } zend_compile_top_stmt(CG(ast)); zend_ast_destroy(CG(ast)); zend_arena_destroy(CG(ast_arena)); @@ -749,6 +752,9 @@ zend_op_array *compile_string(zval *source_string, char *filename) 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(NULL); @@ -1073,7 +1079,7 @@ restart: SCNG(yy_text) = YYCURSOR; -#line 1077 "Zend/zend_language_scanner.c" +#line 1083 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1127,7 +1133,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1754 "Zend/zend_language_scanner.l" +#line 1760 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1172,7 +1178,7 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1176 "Zend/zend_language_scanner.c" +#line 1182 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1190,7 +1196,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1745 "Zend/zend_language_scanner.l" +#line 1751 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); @@ -1199,18 +1205,18 @@ yy6: goto inline_char_handler; } } -#line 1203 "Zend/zend_language_scanner.c" +#line 1209 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1732 "Zend/zend_language_scanner.l" +#line 1738 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG_WITH_ECHO; } -#line 1214 "Zend/zend_language_scanner.c" +#line 1220 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1241,13 +1247,13 @@ yy13: yy14: YYDEBUG(14, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1738 "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 1251 "Zend/zend_language_scanner.c" +#line 1257 "Zend/zend_language_scanner.c" yy15: YYDEBUG(15, *YYCURSOR); ++YYCURSOR; @@ -1317,7 +1323,7 @@ yyc_ST_BACKQUOTE: yy19: YYDEBUG(19, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2164 "Zend/zend_language_scanner.l" +#line 2170 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1358,7 +1364,7 @@ yy19: zend_scan_escape_string(zendlval, yytext, yyleng, '`'); return T_ENCAPSED_AND_WHITESPACE; } -#line 1362 "Zend/zend_language_scanner.c" +#line 1368 "Zend/zend_language_scanner.c" yy20: YYDEBUG(20, *YYCURSOR); yych = *++YYCURSOR; @@ -1369,12 +1375,12 @@ yy21: ++YYCURSOR; YYDEBUG(22, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2108 "Zend/zend_language_scanner.l" +#line 2114 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1378 "Zend/zend_language_scanner.c" +#line 1384 "Zend/zend_language_scanner.c" yy23: YYDEBUG(23, *YYCURSOR); yych = *++YYCURSOR; @@ -1384,14 +1390,14 @@ yy24: ++YYCURSOR; YYDEBUG(25, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2095 "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 1395 "Zend/zend_language_scanner.c" +#line 1401 "Zend/zend_language_scanner.c" yy26: YYDEBUG(26, *YYCURSOR); yyaccept = 0; @@ -1407,23 +1413,23 @@ yy26: yy28: YYDEBUG(28, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1825 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1416 "Zend/zend_language_scanner.c" +#line 1422 "Zend/zend_language_scanner.c" yy29: YYDEBUG(29, *YYCURSOR); ++YYCURSOR; YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1543 "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 1427 "Zend/zend_language_scanner.c" +#line 1433 "Zend/zend_language_scanner.c" yy31: YYDEBUG(31, *YYCURSOR); yych = *++YYCURSOR; @@ -1437,14 +1443,14 @@ yy33: ++YYCURSOR; YYDEBUG(34, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1812 "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 1448 "Zend/zend_language_scanner.c" +#line 1454 "Zend/zend_language_scanner.c" yy35: YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; @@ -1462,14 +1468,14 @@ yy36: ++YYCURSOR; YYDEBUG(37, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1803 "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 1473 "Zend/zend_language_scanner.c" +#line 1479 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1537,7 +1543,7 @@ yy40: yy41: YYDEBUG(41, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2114 "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; @@ -1586,7 +1592,7 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"'); return T_ENCAPSED_AND_WHITESPACE; } -#line 1590 "Zend/zend_language_scanner.c" +#line 1596 "Zend/zend_language_scanner.c" yy42: YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; @@ -1597,12 +1603,12 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2103 "Zend/zend_language_scanner.l" +#line 2109 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1606 "Zend/zend_language_scanner.c" +#line 1612 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; @@ -1612,14 +1618,14 @@ yy46: ++YYCURSOR; YYDEBUG(47, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2095 "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 1623 "Zend/zend_language_scanner.c" +#line 1629 "Zend/zend_language_scanner.c" yy48: YYDEBUG(48, *YYCURSOR); yyaccept = 0; @@ -1635,23 +1641,23 @@ yy48: yy50: YYDEBUG(50, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1825 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1644 "Zend/zend_language_scanner.c" +#line 1650 "Zend/zend_language_scanner.c" yy51: YYDEBUG(51, *YYCURSOR); ++YYCURSOR; YYDEBUG(52, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1543 "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 1655 "Zend/zend_language_scanner.c" +#line 1661 "Zend/zend_language_scanner.c" yy53: YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; @@ -1665,14 +1671,14 @@ yy55: ++YYCURSOR; YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1812 "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 1676 "Zend/zend_language_scanner.c" +#line 1682 "Zend/zend_language_scanner.c" yy57: YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; @@ -1690,14 +1696,14 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1803 "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 1701 "Zend/zend_language_scanner.c" +#line 1707 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1708,7 +1714,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2081 "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)); @@ -1721,7 +1727,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1725 "Zend/zend_language_scanner.c" +#line 1731 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1783,7 +1789,7 @@ yy66: yy67: YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2206 "Zend/zend_language_scanner.l" +#line 2212 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1856,7 +1862,7 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0); return T_ENCAPSED_AND_WHITESPACE; } -#line 1860 "Zend/zend_language_scanner.c" +#line 1866 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; @@ -1871,14 +1877,14 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2095 "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 1882 "Zend/zend_language_scanner.c" +#line 1888 "Zend/zend_language_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yyaccept = 0; @@ -1894,23 +1900,23 @@ yy72: yy74: YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1825 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1903 "Zend/zend_language_scanner.c" +#line 1909 "Zend/zend_language_scanner.c" yy75: YYDEBUG(75, *YYCURSOR); ++YYCURSOR; YYDEBUG(76, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1543 "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 1914 "Zend/zend_language_scanner.c" +#line 1920 "Zend/zend_language_scanner.c" yy77: YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; @@ -1924,14 +1930,14 @@ yy79: ++YYCURSOR; YYDEBUG(80, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1812 "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 1935 "Zend/zend_language_scanner.c" +#line 1941 "Zend/zend_language_scanner.c" yy81: YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; @@ -1949,14 +1955,14 @@ yy82: ++YYCURSOR; YYDEBUG(83, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1803 "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 1960 "Zend/zend_language_scanner.c" +#line 1966 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2139,12 +2145,12 @@ yy86: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1842 "Zend/zend_language_scanner.l" +#line 1848 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 2148 "Zend/zend_language_scanner.c" +#line 2154 "Zend/zend_language_scanner.c" yy88: YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; @@ -2376,11 +2382,11 @@ yy101: yy102: YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1532 "Zend/zend_language_scanner.l" +#line 1538 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2384 "Zend/zend_language_scanner.c" +#line 2390 "Zend/zend_language_scanner.c" yy103: YYDEBUG(103, *YYCURSOR); ++YYCURSOR; @@ -2389,12 +2395,12 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1251 "Zend/zend_language_scanner.l" +#line 1257 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2398 "Zend/zend_language_scanner.c" +#line 2404 "Zend/zend_language_scanner.c" yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; @@ -2405,11 +2411,11 @@ yy106: ++YYCURSOR; YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1276 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2413 "Zend/zend_language_scanner.c" +#line 2419 "Zend/zend_language_scanner.c" yy108: YYDEBUG(108, *YYCURSOR); yyaccept = 1; @@ -2638,18 +2644,18 @@ yy131: ++YYCURSOR; YYDEBUG(132, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1537 "Zend/zend_language_scanner.l" +#line 1543 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); return '{'; } -#line 2647 "Zend/zend_language_scanner.c" +#line 2653 "Zend/zend_language_scanner.c" yy133: YYDEBUG(133, *YYCURSOR); ++YYCURSOR; YYDEBUG(134, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1549 "Zend/zend_language_scanner.l" +#line 1555 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2657,7 +2663,7 @@ yy133: } return '}'; } -#line 2661 "Zend/zend_language_scanner.c" +#line 2667 "Zend/zend_language_scanner.c" yy135: YYDEBUG(135, *YYCURSOR); yyaccept = 2; @@ -2685,7 +2691,7 @@ yy135: yy136: YYDEBUG(136, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1602 "Zend/zend_language_scanner.l" +#line 1608 "Zend/zend_language_scanner.l" { char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -2724,7 +2730,7 @@ yy136: } return T_LNUMBER; } -#line 2728 "Zend/zend_language_scanner.c" +#line 2734 "Zend/zend_language_scanner.c" yy137: YYDEBUG(137, *YYCURSOR); yyaccept = 2; @@ -2752,7 +2758,7 @@ yy139: yy140: YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1848 "Zend/zend_language_scanner.l" +#line 1854 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2781,14 +2787,14 @@ yy140: return T_COMMENT; } -#line 2785 "Zend/zend_language_scanner.c" +#line 2791 "Zend/zend_language_scanner.c" yy141: YYDEBUG(141, *YYCURSOR); ++YYCURSOR; yy142: YYDEBUG(142, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1916 "Zend/zend_language_scanner.l" +#line 1922 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2856,14 +2862,14 @@ yy142: } return T_CONSTANT_ENCAPSED_STRING; } -#line 2860 "Zend/zend_language_scanner.c" +#line 2866 "Zend/zend_language_scanner.c" yy143: YYDEBUG(143, *YYCURSOR); ++YYCURSOR; yy144: YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1985 "Zend/zend_language_scanner.l" +#line 1991 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2904,24 +2910,24 @@ yy144: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 2908 "Zend/zend_language_scanner.c" +#line 2914 "Zend/zend_language_scanner.c" yy145: YYDEBUG(145, *YYCURSOR); ++YYCURSOR; YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2075 "Zend/zend_language_scanner.l" +#line 2081 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 2919 "Zend/zend_language_scanner.c" +#line 2925 "Zend/zend_language_scanner.c" yy147: YYDEBUG(147, *YYCURSOR); ++YYCURSOR; YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2337 "Zend/zend_language_scanner.l" +#line 2343 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -2930,7 +2936,7 @@ yy147: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 2934 "Zend/zend_language_scanner.c" +#line 2940 "Zend/zend_language_scanner.c" yy149: YYDEBUG(149, *YYCURSOR); ++YYCURSOR; @@ -2957,7 +2963,7 @@ yy151: yy153: YYDEBUG(153, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1690 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { const char *end; @@ -2966,7 +2972,7 @@ yy153: ZEND_ASSERT(end == yytext + yyleng); return T_DNUMBER; } -#line 2970 "Zend/zend_language_scanner.c" +#line 2976 "Zend/zend_language_scanner.c" yy154: YYDEBUG(154, *YYCURSOR); yyaccept = 2; @@ -3058,7 +3064,7 @@ yy163: } YYDEBUG(165, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1574 "Zend/zend_language_scanner.l" +#line 1580 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3086,7 +3092,7 @@ yy163: return T_DNUMBER; } } -#line 3090 "Zend/zend_language_scanner.c" +#line 3096 "Zend/zend_language_scanner.c" yy166: YYDEBUG(166, *YYCURSOR); ++YYCURSOR; @@ -3098,7 +3104,7 @@ yy166: } YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1641 "Zend/zend_language_scanner.l" +#line 1647 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3126,7 +3132,7 @@ yy166: return T_DNUMBER; } } -#line 3130 "Zend/zend_language_scanner.c" +#line 3136 "Zend/zend_language_scanner.c" yy169: YYDEBUG(169, *YYCURSOR); ++YYCURSOR; @@ -3151,12 +3157,12 @@ yy169: yy171: YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1825 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 3160 "Zend/zend_language_scanner.c" +#line 3166 "Zend/zend_language_scanner.c" yy172: YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; @@ -3170,11 +3176,11 @@ yy173: } YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1520 "Zend/zend_language_scanner.l" +#line 1526 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3178 "Zend/zend_language_scanner.c" +#line 3184 "Zend/zend_language_scanner.c" yy175: YYDEBUG(175, *YYCURSOR); ++YYCURSOR; @@ -3183,71 +3189,71 @@ yy175: } YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1512 "Zend/zend_language_scanner.l" +#line 1518 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3191 "Zend/zend_language_scanner.c" +#line 3197 "Zend/zend_language_scanner.c" yy177: YYDEBUG(177, *YYCURSOR); ++YYCURSOR; YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1500 "Zend/zend_language_scanner.l" +#line 1506 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3201 "Zend/zend_language_scanner.c" +#line 3207 "Zend/zend_language_scanner.c" yy179: YYDEBUG(179, *YYCURSOR); ++YYCURSOR; YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1504 "Zend/zend_language_scanner.l" +#line 1510 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3211 "Zend/zend_language_scanner.c" +#line 3217 "Zend/zend_language_scanner.c" yy181: YYDEBUG(181, *YYCURSOR); ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1496 "Zend/zend_language_scanner.l" +#line 1502 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3221 "Zend/zend_language_scanner.c" +#line 3227 "Zend/zend_language_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); ++YYCURSOR; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1508 "Zend/zend_language_scanner.l" +#line 1514 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3231 "Zend/zend_language_scanner.c" +#line 3237 "Zend/zend_language_scanner.c" yy185: YYDEBUG(185, *YYCURSOR); ++YYCURSOR; YYDEBUG(186, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1492 "Zend/zend_language_scanner.l" +#line 1498 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3241 "Zend/zend_language_scanner.c" +#line 3247 "Zend/zend_language_scanner.c" yy187: YYDEBUG(187, *YYCURSOR); ++YYCURSOR; YYDEBUG(188, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1480 "Zend/zend_language_scanner.l" +#line 1486 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3251 "Zend/zend_language_scanner.c" +#line 3257 "Zend/zend_language_scanner.c" yy189: YYDEBUG(189, *YYCURSOR); yyaccept = 4; @@ -3256,7 +3262,7 @@ yy189: yy190: YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1877 "Zend/zend_language_scanner.l" +#line 1883 "Zend/zend_language_scanner.l" { int doc_com; @@ -3289,7 +3295,7 @@ yy190: return T_COMMENT; } -#line 3293 "Zend/zend_language_scanner.c" +#line 3299 "Zend/zend_language_scanner.c" yy191: YYDEBUG(191, *YYCURSOR); yych = *++YYCURSOR; @@ -3299,11 +3305,11 @@ yy192: ++YYCURSOR; YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1472 "Zend/zend_language_scanner.l" +#line 1478 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3307 "Zend/zend_language_scanner.c" +#line 3313 "Zend/zend_language_scanner.c" yy194: YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; @@ -3327,62 +3333,62 @@ yy197: if ((yych = *YYCURSOR) == '=') goto yy201; YYDEBUG(198, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1470 "Zend/zend_language_scanner.l" { return T_POW; } -#line 3335 "Zend/zend_language_scanner.c" +#line 3341 "Zend/zend_language_scanner.c" yy199: YYDEBUG(199, *YYCURSOR); ++YYCURSOR; YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1460 "Zend/zend_language_scanner.l" +#line 1466 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3345 "Zend/zend_language_scanner.c" +#line 3351 "Zend/zend_language_scanner.c" yy201: YYDEBUG(201, *YYCURSOR); ++YYCURSOR; YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1468 "Zend/zend_language_scanner.l" +#line 1474 "Zend/zend_language_scanner.l" { return T_POW_EQUAL; } -#line 3355 "Zend/zend_language_scanner.c" +#line 3361 "Zend/zend_language_scanner.c" yy203: YYDEBUG(203, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy207; YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1528 "Zend/zend_language_scanner.l" +#line 1534 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3366 "Zend/zend_language_scanner.c" +#line 3372 "Zend/zend_language_scanner.c" yy205: YYDEBUG(205, *YYCURSOR); ++YYCURSOR; YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1448 "Zend/zend_language_scanner.l" +#line 1454 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3376 "Zend/zend_language_scanner.c" +#line 3382 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); ++YYCURSOR; YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1488 "Zend/zend_language_scanner.l" +#line 1494 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3386 "Zend/zend_language_scanner.c" +#line 3392 "Zend/zend_language_scanner.c" yy209: YYDEBUG(209, *YYCURSOR); yyaccept = 5; @@ -3393,42 +3399,42 @@ yy209: yy210: YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1524 "Zend/zend_language_scanner.l" +#line 1530 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3401 "Zend/zend_language_scanner.c" +#line 3407 "Zend/zend_language_scanner.c" yy211: YYDEBUG(211, *YYCURSOR); ++YYCURSOR; YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1444 "Zend/zend_language_scanner.l" +#line 1450 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3411 "Zend/zend_language_scanner.c" +#line 3417 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); ++YYCURSOR; yy214: YYDEBUG(214, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1440 "Zend/zend_language_scanner.l" +#line 1446 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3422 "Zend/zend_language_scanner.c" +#line 3428 "Zend/zend_language_scanner.c" yy215: YYDEBUG(215, *YYCURSOR); ++YYCURSOR; YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1484 "Zend/zend_language_scanner.l" +#line 1490 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3432 "Zend/zend_language_scanner.c" +#line 3438 "Zend/zend_language_scanner.c" yy217: YYDEBUG(217, *YYCURSOR); ++YYCURSOR; @@ -3533,7 +3539,7 @@ yy226: yy227: YYDEBUG(227, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2027 "Zend/zend_language_scanner.l" +#line 2033 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3580,7 +3586,7 @@ yy227: return T_START_HEREDOC; } -#line 3584 "Zend/zend_language_scanner.c" +#line 3590 "Zend/zend_language_scanner.c" yy228: YYDEBUG(228, *YYCURSOR); yych = *++YYCURSOR; @@ -3620,31 +3626,31 @@ yy231: ++YYCURSOR; YYDEBUG(233, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1432 "Zend/zend_language_scanner.l" +#line 1438 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3628 "Zend/zend_language_scanner.c" +#line 3634 "Zend/zend_language_scanner.c" yy234: YYDEBUG(234, *YYCURSOR); ++YYCURSOR; YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1452 "Zend/zend_language_scanner.l" +#line 1458 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3638 "Zend/zend_language_scanner.c" +#line 3644 "Zend/zend_language_scanner.c" yy236: YYDEBUG(236, *YYCURSOR); ++YYCURSOR; YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1420 "Zend/zend_language_scanner.l" +#line 1426 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3648 "Zend/zend_language_scanner.c" +#line 3654 "Zend/zend_language_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; @@ -3663,42 +3669,42 @@ yy240: } YYDEBUG(241, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1408 "Zend/zend_language_scanner.l" +#line 1414 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3671 "Zend/zend_language_scanner.c" +#line 3677 "Zend/zend_language_scanner.c" yy242: YYDEBUG(242, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy246; YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1436 "Zend/zend_language_scanner.l" +#line 1442 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3682 "Zend/zend_language_scanner.c" +#line 3688 "Zend/zend_language_scanner.c" yy244: YYDEBUG(244, *YYCURSOR); ++YYCURSOR; YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1404 "Zend/zend_language_scanner.l" +#line 1410 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 3692 "Zend/zend_language_scanner.c" +#line 3698 "Zend/zend_language_scanner.c" yy246: YYDEBUG(246, *YYCURSOR); ++YYCURSOR; YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1428 "Zend/zend_language_scanner.l" +#line 1434 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 3702 "Zend/zend_language_scanner.c" +#line 3708 "Zend/zend_language_scanner.c" yy248: YYDEBUG(248, *YYCURSOR); yych = *++YYCURSOR; @@ -3828,11 +3834,11 @@ yy264: } YYDEBUG(267, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1727 "Zend/zend_language_scanner.l" +#line 1733 "Zend/zend_language_scanner.l" { return T_NS_C; } -#line 3836 "Zend/zend_language_scanner.c" +#line 3842 "Zend/zend_language_scanner.c" yy268: YYDEBUG(268, *YYCURSOR); yych = *++YYCURSOR; @@ -3852,11 +3858,11 @@ yy269: } YYDEBUG(272, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1723 "Zend/zend_language_scanner.l" +#line 1729 "Zend/zend_language_scanner.l" { return T_DIR; } -#line 3860 "Zend/zend_language_scanner.c" +#line 3866 "Zend/zend_language_scanner.c" yy273: YYDEBUG(273, *YYCURSOR); yych = *++YYCURSOR; @@ -3881,11 +3887,11 @@ yy275: } YYDEBUG(278, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1715 "Zend/zend_language_scanner.l" +#line 1721 "Zend/zend_language_scanner.l" { return T_LINE; } -#line 3889 "Zend/zend_language_scanner.c" +#line 3895 "Zend/zend_language_scanner.c" yy279: YYDEBUG(279, *YYCURSOR); yych = *++YYCURSOR; @@ -3920,11 +3926,11 @@ yy283: } YYDEBUG(286, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1711 "Zend/zend_language_scanner.l" +#line 1717 "Zend/zend_language_scanner.l" { return T_METHOD_C; } -#line 3928 "Zend/zend_language_scanner.c" +#line 3934 "Zend/zend_language_scanner.c" yy287: YYDEBUG(287, *YYCURSOR); yych = *++YYCURSOR; @@ -3975,11 +3981,11 @@ yy294: } YYDEBUG(297, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1707 "Zend/zend_language_scanner.l" +#line 1713 "Zend/zend_language_scanner.l" { return T_FUNC_C; } -#line 3983 "Zend/zend_language_scanner.c" +#line 3989 "Zend/zend_language_scanner.c" yy298: YYDEBUG(298, *YYCURSOR); yych = *++YYCURSOR; @@ -3999,11 +4005,11 @@ yy299: } YYDEBUG(302, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1719 "Zend/zend_language_scanner.l" +#line 1725 "Zend/zend_language_scanner.l" { return T_FILE; } -#line 4007 "Zend/zend_language_scanner.c" +#line 4013 "Zend/zend_language_scanner.c" yy303: YYDEBUG(303, *YYCURSOR); yych = *++YYCURSOR; @@ -4033,11 +4039,11 @@ yy306: } YYDEBUG(309, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1703 "Zend/zend_language_scanner.l" +#line 1709 "Zend/zend_language_scanner.l" { return T_TRAIT_C; } -#line 4041 "Zend/zend_language_scanner.c" +#line 4047 "Zend/zend_language_scanner.c" yy310: YYDEBUG(310, *YYCURSOR); yych = *++YYCURSOR; @@ -4067,11 +4073,11 @@ yy313: } YYDEBUG(316, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1699 "Zend/zend_language_scanner.l" +#line 1705 "Zend/zend_language_scanner.l" { return T_CLASS_C; } -#line 4075 "Zend/zend_language_scanner.c" +#line 4081 "Zend/zend_language_scanner.c" yy317: YYDEBUG(317, *YYCURSOR); yych = *++YYCURSOR; @@ -4133,11 +4139,11 @@ yy328: } YYDEBUG(329, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1372 "Zend/zend_language_scanner.l" +#line 1378 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4141 "Zend/zend_language_scanner.c" +#line 4147 "Zend/zend_language_scanner.c" yy330: YYDEBUG(330, *YYCURSOR); yych = *++YYCURSOR; @@ -4157,11 +4163,11 @@ yy332: } YYDEBUG(333, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1352 "Zend/zend_language_scanner.l" +#line 1358 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4165 "Zend/zend_language_scanner.c" +#line 4171 "Zend/zend_language_scanner.c" yy334: YYDEBUG(334, *YYCURSOR); yych = *++YYCURSOR; @@ -4180,11 +4186,11 @@ yy336: } YYDEBUG(337, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1400 "Zend/zend_language_scanner.l" +#line 1406 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4188 "Zend/zend_language_scanner.c" +#line 4194 "Zend/zend_language_scanner.c" yy338: YYDEBUG(338, *YYCURSOR); ++YYCURSOR; @@ -4356,11 +4362,11 @@ yy353: ++YYCURSOR; YYDEBUG(355, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1300 "Zend/zend_language_scanner.l" +#line 1306 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4364 "Zend/zend_language_scanner.c" +#line 4370 "Zend/zend_language_scanner.c" yy356: YYDEBUG(356, *YYCURSOR); yych = *++YYCURSOR; @@ -4404,11 +4410,11 @@ yy361: ++YYCURSOR; YYDEBUG(364, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1304 "Zend/zend_language_scanner.l" +#line 1310 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4412 "Zend/zend_language_scanner.c" +#line 4418 "Zend/zend_language_scanner.c" yy365: YYDEBUG(365, *YYCURSOR); yych = *++YYCURSOR; @@ -4478,11 +4484,11 @@ yy375: ++YYCURSOR; YYDEBUG(378, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1308 "Zend/zend_language_scanner.l" +#line 1314 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4486 "Zend/zend_language_scanner.c" +#line 4492 "Zend/zend_language_scanner.c" yy379: YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; @@ -4515,11 +4521,11 @@ yy382: ++YYCURSOR; YYDEBUG(385, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1312 "Zend/zend_language_scanner.l" +#line 1318 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4523 "Zend/zend_language_scanner.c" +#line 4529 "Zend/zend_language_scanner.c" yy386: YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; @@ -4557,11 +4563,11 @@ yy390: ++YYCURSOR; YYDEBUG(393, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1316 "Zend/zend_language_scanner.l" +#line 1322 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4565 "Zend/zend_language_scanner.c" +#line 4571 "Zend/zend_language_scanner.c" yy394: YYDEBUG(394, *YYCURSOR); yych = *++YYCURSOR; @@ -4602,11 +4608,11 @@ yy399: ++YYCURSOR; YYDEBUG(401, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1320 "Zend/zend_language_scanner.l" +#line 1326 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4610 "Zend/zend_language_scanner.c" +#line 4616 "Zend/zend_language_scanner.c" yy402: YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; @@ -4666,11 +4672,11 @@ yy410: ++YYCURSOR; YYDEBUG(413, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1324 "Zend/zend_language_scanner.l" +#line 1330 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4674 "Zend/zend_language_scanner.c" +#line 4680 "Zend/zend_language_scanner.c" yy414: YYDEBUG(414, *YYCURSOR); yych = *++YYCURSOR; @@ -4684,11 +4690,11 @@ yy415: } YYDEBUG(416, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1296 "Zend/zend_language_scanner.l" +#line 1302 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 4692 "Zend/zend_language_scanner.c" +#line 4698 "Zend/zend_language_scanner.c" yy417: YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; @@ -4708,11 +4714,11 @@ yy419: } YYDEBUG(420, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1288 "Zend/zend_language_scanner.l" +#line 1294 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 4716 "Zend/zend_language_scanner.c" +#line 4722 "Zend/zend_language_scanner.c" yy421: YYDEBUG(421, *YYCURSOR); yych = *++YYCURSOR; @@ -4751,11 +4757,11 @@ yy427: } YYDEBUG(428, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1348 "Zend/zend_language_scanner.l" +#line 1354 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 4759 "Zend/zend_language_scanner.c" +#line 4765 "Zend/zend_language_scanner.c" yy429: YYDEBUG(429, *YYCURSOR); ++YYCURSOR; @@ -4764,22 +4770,22 @@ yy429: yy430: YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1910 "Zend/zend_language_scanner.l" +#line 1916 "Zend/zend_language_scanner.l" { BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 4773 "Zend/zend_language_scanner.c" +#line 4779 "Zend/zend_language_scanner.c" yy431: YYDEBUG(431, *YYCURSOR); ++YYCURSOR; YYDEBUG(432, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1284 "Zend/zend_language_scanner.l" +#line 1290 "Zend/zend_language_scanner.l" { return T_COALESCE; } -#line 4783 "Zend/zend_language_scanner.c" +#line 4789 "Zend/zend_language_scanner.c" yy433: YYDEBUG(433, *YYCURSOR); yych = *++YYCURSOR; @@ -4810,11 +4816,11 @@ yy437: ++YYCURSOR; YYDEBUG(438, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1476 "Zend/zend_language_scanner.l" +#line 1482 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 4818 "Zend/zend_language_scanner.c" +#line 4824 "Zend/zend_language_scanner.c" yy439: YYDEBUG(439, *YYCURSOR); yych = *++YYCURSOR; @@ -4823,21 +4829,21 @@ yy439: ++YYCURSOR; YYDEBUG(441, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1280 "Zend/zend_language_scanner.l" +#line 1286 "Zend/zend_language_scanner.l" { return T_ELLIPSIS; } -#line 4831 "Zend/zend_language_scanner.c" +#line 4837 "Zend/zend_language_scanner.c" yy442: YYDEBUG(442, *YYCURSOR); ++YYCURSOR; YYDEBUG(443, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1272 "Zend/zend_language_scanner.l" +#line 1278 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 4841 "Zend/zend_language_scanner.c" +#line 4847 "Zend/zend_language_scanner.c" yy444: YYDEBUG(444, *YYCURSOR); ++YYCURSOR; @@ -4859,32 +4865,32 @@ yy446: ++YYCURSOR; YYDEBUG(447, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1456 "Zend/zend_language_scanner.l" +#line 1462 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 4867 "Zend/zend_language_scanner.c" +#line 4873 "Zend/zend_language_scanner.c" yy448: YYDEBUG(448, *YYCURSOR); ++YYCURSOR; YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1424 "Zend/zend_language_scanner.l" +#line 1430 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 4877 "Zend/zend_language_scanner.c" +#line 4883 "Zend/zend_language_scanner.c" yy450: YYDEBUG(450, *YYCURSOR); ++YYCURSOR; YYDEBUG(451, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1246 "Zend/zend_language_scanner.l" +#line 1252 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY); return T_OBJECT_OPERATOR; } -#line 4888 "Zend/zend_language_scanner.c" +#line 4894 "Zend/zend_language_scanner.c" yy452: YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; @@ -4929,11 +4935,11 @@ yy457: } YYDEBUG(458, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1396 "Zend/zend_language_scanner.l" +#line 1402 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 4937 "Zend/zend_language_scanner.c" +#line 4943 "Zend/zend_language_scanner.c" yy459: YYDEBUG(459, *YYCURSOR); yych = *++YYCURSOR; @@ -4988,11 +4994,11 @@ yy466: } YYDEBUG(467, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1392 "Zend/zend_language_scanner.l" +#line 1398 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 4996 "Zend/zend_language_scanner.c" +#line 5002 "Zend/zend_language_scanner.c" yy468: YYDEBUG(468, *YYCURSOR); yych = *++YYCURSOR; @@ -5022,11 +5028,11 @@ yy472: } YYDEBUG(473, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1388 "Zend/zend_language_scanner.l" +#line 1394 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5030 "Zend/zend_language_scanner.c" +#line 5036 "Zend/zend_language_scanner.c" yy474: YYDEBUG(474, *YYCURSOR); ++YYCURSOR; @@ -5035,11 +5041,11 @@ yy474: } YYDEBUG(475, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1222 "Zend/zend_language_scanner.l" +#line 1228 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5043 "Zend/zend_language_scanner.c" +#line 5049 "Zend/zend_language_scanner.c" yy476: YYDEBUG(476, *YYCURSOR); yych = *++YYCURSOR; @@ -5064,11 +5070,11 @@ yy479: } YYDEBUG(480, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1214 "Zend/zend_language_scanner.l" +#line 1220 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5072 "Zend/zend_language_scanner.c" +#line 5078 "Zend/zend_language_scanner.c" yy481: YYDEBUG(481, *YYCURSOR); yych = *++YYCURSOR; @@ -5092,11 +5098,11 @@ yy484: } YYDEBUG(485, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1360 "Zend/zend_language_scanner.l" +#line 1366 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5100 "Zend/zend_language_scanner.c" +#line 5106 "Zend/zend_language_scanner.c" yy486: YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; @@ -5133,11 +5139,11 @@ yy492: } YYDEBUG(493, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1206 "Zend/zend_language_scanner.l" +#line 1212 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5141 "Zend/zend_language_scanner.c" +#line 5147 "Zend/zend_language_scanner.c" yy494: YYDEBUG(494, *YYCURSOR); yych = *++YYCURSOR; @@ -5177,11 +5183,11 @@ yy500: } YYDEBUG(501, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1190 "Zend/zend_language_scanner.l" +#line 1196 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5185 "Zend/zend_language_scanner.c" +#line 5191 "Zend/zend_language_scanner.c" yy502: YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; @@ -5205,11 +5211,11 @@ yy505: } YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1376 "Zend/zend_language_scanner.l" +#line 1382 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5213 "Zend/zend_language_scanner.c" +#line 5219 "Zend/zend_language_scanner.c" yy507: YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; @@ -5236,11 +5242,11 @@ yy510: } YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1186 "Zend/zend_language_scanner.l" +#line 1192 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5244 "Zend/zend_language_scanner.c" +#line 5250 "Zend/zend_language_scanner.c" yy512: YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; @@ -5259,11 +5265,11 @@ yy514: } YYDEBUG(515, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1412 "Zend/zend_language_scanner.l" +#line 1418 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5267 "Zend/zend_language_scanner.c" +#line 5273 "Zend/zend_language_scanner.c" yy516: YYDEBUG(516, *YYCURSOR); ++YYCURSOR; @@ -5272,11 +5278,11 @@ yy516: } YYDEBUG(517, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1516 "Zend/zend_language_scanner.l" +#line 1522 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5280 "Zend/zend_language_scanner.c" +#line 5286 "Zend/zend_language_scanner.c" yy518: YYDEBUG(518, *YYCURSOR); yych = *++YYCURSOR; @@ -5310,11 +5316,11 @@ yy523: } YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1380 "Zend/zend_language_scanner.l" +#line 1386 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5318 "Zend/zend_language_scanner.c" +#line 5324 "Zend/zend_language_scanner.c" yy525: YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; @@ -5338,11 +5344,11 @@ yy528: } YYDEBUG(529, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1146 "Zend/zend_language_scanner.l" +#line 1152 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5346 "Zend/zend_language_scanner.c" +#line 5352 "Zend/zend_language_scanner.c" yy530: YYDEBUG(530, *YYCURSOR); ++YYCURSOR; @@ -5351,11 +5357,11 @@ yy530: } YYDEBUG(531, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1130 "Zend/zend_language_scanner.l" +#line 1136 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5359 "Zend/zend_language_scanner.c" +#line 5365 "Zend/zend_language_scanner.c" yy532: YYDEBUG(532, *YYCURSOR); yych = *++YYCURSOR; @@ -5407,11 +5413,11 @@ yy537: } YYDEBUG(538, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1364 "Zend/zend_language_scanner.l" +#line 1370 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5415 "Zend/zend_language_scanner.c" +#line 5421 "Zend/zend_language_scanner.c" yy539: YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; @@ -5465,11 +5471,11 @@ yy545: yy546: YYDEBUG(546, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1332 "Zend/zend_language_scanner.l" +#line 1338 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5473 "Zend/zend_language_scanner.c" +#line 5479 "Zend/zend_language_scanner.c" yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; @@ -5498,11 +5504,11 @@ yy551: } YYDEBUG(552, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1336 "Zend/zend_language_scanner.l" +#line 1342 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 5506 "Zend/zend_language_scanner.c" +#line 5512 "Zend/zend_language_scanner.c" yy553: YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; @@ -5536,11 +5542,11 @@ yy558: } YYDEBUG(559, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1230 "Zend/zend_language_scanner.l" +#line 1236 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 5544 "Zend/zend_language_scanner.c" +#line 5550 "Zend/zend_language_scanner.c" yy560: YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; @@ -5590,11 +5596,11 @@ yy566: } YYDEBUG(567, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1356 "Zend/zend_language_scanner.l" +#line 1362 "Zend/zend_language_scanner.l" { return T_INSTEADOF; } -#line 5598 "Zend/zend_language_scanner.c" +#line 5604 "Zend/zend_language_scanner.c" yy568: YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; @@ -5623,11 +5629,11 @@ yy572: } YYDEBUG(573, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1182 "Zend/zend_language_scanner.l" +#line 1188 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 5631 "Zend/zend_language_scanner.c" +#line 5637 "Zend/zend_language_scanner.c" yy574: YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; @@ -5671,11 +5677,11 @@ yy581: } YYDEBUG(582, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1242 "Zend/zend_language_scanner.l" +#line 1248 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 5679 "Zend/zend_language_scanner.c" +#line 5685 "Zend/zend_language_scanner.c" yy583: YYDEBUG(583, *YYCURSOR); yych = *++YYCURSOR; @@ -5703,11 +5709,11 @@ yy584: } YYDEBUG(586, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1114 "Zend/zend_language_scanner.l" +#line 1120 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 5711 "Zend/zend_language_scanner.c" +#line 5717 "Zend/zend_language_scanner.c" yy587: YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; @@ -5726,11 +5732,11 @@ yy589: } YYDEBUG(590, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1234 "Zend/zend_language_scanner.l" +#line 1240 "Zend/zend_language_scanner.l" { return T_TRAIT; } -#line 5734 "Zend/zend_language_scanner.c" +#line 5740 "Zend/zend_language_scanner.c" yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; @@ -5749,11 +5755,11 @@ yy593: } YYDEBUG(594, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1126 "Zend/zend_language_scanner.l" +#line 1132 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 5757 "Zend/zend_language_scanner.c" +#line 5763 "Zend/zend_language_scanner.c" yy595: YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; @@ -5777,11 +5783,11 @@ yy598: } YYDEBUG(599, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1110 "Zend/zend_language_scanner.l" +#line 1116 "Zend/zend_language_scanner.l" { return T_YIELD; } -#line 5785 "Zend/zend_language_scanner.c" +#line 5791 "Zend/zend_language_scanner.c" yy600: YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; @@ -5842,11 +5848,11 @@ yy606: yy607: YYDEBUG(607, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1340 "Zend/zend_language_scanner.l" +#line 1346 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 5850 "Zend/zend_language_scanner.c" +#line 5856 "Zend/zend_language_scanner.c" yy608: YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; @@ -5875,11 +5881,11 @@ yy612: } YYDEBUG(613, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1344 "Zend/zend_language_scanner.l" +#line 1350 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 5883 "Zend/zend_language_scanner.c" +#line 5889 "Zend/zend_language_scanner.c" yy614: YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; @@ -5898,11 +5904,11 @@ yy616: } YYDEBUG(617, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1106 "Zend/zend_language_scanner.l" +#line 1112 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 5906 "Zend/zend_language_scanner.c" +#line 5912 "Zend/zend_language_scanner.c" yy618: YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; @@ -5992,11 +5998,11 @@ yy627: } YYDEBUG(628, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1210 "Zend/zend_language_scanner.l" +#line 1216 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6000 "Zend/zend_language_scanner.c" +#line 6006 "Zend/zend_language_scanner.c" yy629: YYDEBUG(629, *YYCURSOR); ++YYCURSOR; @@ -6005,11 +6011,11 @@ yy629: } YYDEBUG(630, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1102 "Zend/zend_language_scanner.l" +#line 1108 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6013 "Zend/zend_language_scanner.c" +#line 6019 "Zend/zend_language_scanner.c" yy631: YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; @@ -6034,11 +6040,11 @@ yy634: } YYDEBUG(635, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1292 "Zend/zend_language_scanner.l" +#line 1298 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6042 "Zend/zend_language_scanner.c" +#line 6048 "Zend/zend_language_scanner.c" yy636: YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; @@ -6052,11 +6058,11 @@ yy637: } YYDEBUG(638, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1226 "Zend/zend_language_scanner.l" +#line 1232 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6060 "Zend/zend_language_scanner.c" +#line 6066 "Zend/zend_language_scanner.c" yy639: YYDEBUG(639, *YYCURSOR); yych = *++YYCURSOR; @@ -6102,11 +6108,11 @@ yy646: } YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1416 "Zend/zend_language_scanner.l" +#line 1422 "Zend/zend_language_scanner.l" { return T_CALLABLE; } -#line 6110 "Zend/zend_language_scanner.c" +#line 6116 "Zend/zend_language_scanner.c" yy648: YYDEBUG(648, *YYCURSOR); ++YYCURSOR; @@ -6115,11 +6121,11 @@ yy648: } YYDEBUG(649, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1198 "Zend/zend_language_scanner.l" +#line 1204 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6123 "Zend/zend_language_scanner.c" +#line 6129 "Zend/zend_language_scanner.c" yy650: YYDEBUG(650, *YYCURSOR); yych = *++YYCURSOR; @@ -6133,11 +6139,11 @@ yy651: } YYDEBUG(652, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1118 "Zend/zend_language_scanner.l" +#line 1124 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6141 "Zend/zend_language_scanner.c" +#line 6147 "Zend/zend_language_scanner.c" yy653: YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; @@ -6188,11 +6194,11 @@ yy661: } YYDEBUG(662, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1098 "Zend/zend_language_scanner.l" +#line 1104 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6196 "Zend/zend_language_scanner.c" +#line 6202 "Zend/zend_language_scanner.c" yy663: YYDEBUG(663, *YYCURSOR); ++YYCURSOR; @@ -6216,11 +6222,11 @@ yy663: yy664: YYDEBUG(664, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1158 "Zend/zend_language_scanner.l" +#line 1164 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6224 "Zend/zend_language_scanner.c" +#line 6230 "Zend/zend_language_scanner.c" yy665: YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; @@ -6244,11 +6250,11 @@ yy668: } YYDEBUG(669, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1166 "Zend/zend_language_scanner.l" +#line 1172 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6252 "Zend/zend_language_scanner.c" +#line 6258 "Zend/zend_language_scanner.c" yy670: YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; @@ -6282,11 +6288,11 @@ yy672: yy673: YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1384 "Zend/zend_language_scanner.l" +#line 1390 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6290 "Zend/zend_language_scanner.c" +#line 6296 "Zend/zend_language_scanner.c" yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; @@ -6300,11 +6306,11 @@ yy675: } YYDEBUG(676, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1122 "Zend/zend_language_scanner.l" +#line 1128 "Zend/zend_language_scanner.l" { return T_FINALLY; } -#line 6308 "Zend/zend_language_scanner.c" +#line 6314 "Zend/zend_language_scanner.c" yy677: YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; @@ -6335,11 +6341,11 @@ yy679: } YYDEBUG(680, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1154 "Zend/zend_language_scanner.l" +#line 1160 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6343 "Zend/zend_language_scanner.c" +#line 6349 "Zend/zend_language_scanner.c" yy681: YYDEBUG(681, *YYCURSOR); ++YYCURSOR; @@ -6348,11 +6354,11 @@ yy681: } YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1094 "Zend/zend_language_scanner.l" +#line 1100 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6356 "Zend/zend_language_scanner.c" +#line 6362 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; @@ -6387,11 +6393,11 @@ yy688: } YYDEBUG(689, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1202 "Zend/zend_language_scanner.l" +#line 1208 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6395 "Zend/zend_language_scanner.c" +#line 6401 "Zend/zend_language_scanner.c" yy690: YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; @@ -6415,11 +6421,11 @@ yy693: } YYDEBUG(694, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1174 "Zend/zend_language_scanner.l" +#line 1180 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6423 "Zend/zend_language_scanner.c" +#line 6429 "Zend/zend_language_scanner.c" yy695: YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; @@ -6499,11 +6505,11 @@ yy706: } YYDEBUG(707, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1238 "Zend/zend_language_scanner.l" +#line 1244 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6507 "Zend/zend_language_scanner.c" +#line 6513 "Zend/zend_language_scanner.c" yy708: YYDEBUG(708, *YYCURSOR); ++YYCURSOR; @@ -6512,11 +6518,11 @@ yy708: } YYDEBUG(709, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1090 "Zend/zend_language_scanner.l" +#line 1096 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6520 "Zend/zend_language_scanner.c" +#line 6526 "Zend/zend_language_scanner.c" yy710: YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; @@ -6530,11 +6536,11 @@ yy711: } YYDEBUG(712, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1328 "Zend/zend_language_scanner.l" +#line 1334 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6538 "Zend/zend_language_scanner.c" +#line 6544 "Zend/zend_language_scanner.c" yy713: YYDEBUG(713, *YYCURSOR); yych = *++YYCURSOR; @@ -6604,11 +6610,11 @@ yy722: } YYDEBUG(723, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1150 "Zend/zend_language_scanner.l" +#line 1156 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6612 "Zend/zend_language_scanner.c" +#line 6618 "Zend/zend_language_scanner.c" yy724: YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; @@ -6637,11 +6643,11 @@ yy728: } YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1194 "Zend/zend_language_scanner.l" +#line 1200 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 6645 "Zend/zend_language_scanner.c" +#line 6651 "Zend/zend_language_scanner.c" yy730: YYDEBUG(730, *YYCURSOR); ++YYCURSOR; @@ -6650,11 +6656,11 @@ yy730: } YYDEBUG(731, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1138 "Zend/zend_language_scanner.l" +#line 1144 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 6658 "Zend/zend_language_scanner.c" +#line 6664 "Zend/zend_language_scanner.c" yy732: YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; @@ -6683,11 +6689,11 @@ yy733: yy734: YYDEBUG(734, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1162 "Zend/zend_language_scanner.l" +#line 1168 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 6691 "Zend/zend_language_scanner.c" +#line 6697 "Zend/zend_language_scanner.c" yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; @@ -6711,11 +6717,11 @@ yy738: } YYDEBUG(739, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1170 "Zend/zend_language_scanner.l" +#line 1176 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 6719 "Zend/zend_language_scanner.c" +#line 6725 "Zend/zend_language_scanner.c" yy740: YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; @@ -6749,11 +6755,11 @@ yy745: } YYDEBUG(746, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1178 "Zend/zend_language_scanner.l" +#line 1184 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 6757 "Zend/zend_language_scanner.c" +#line 6763 "Zend/zend_language_scanner.c" yy747: YYDEBUG(747, *YYCURSOR); yych = *++YYCURSOR; @@ -6772,11 +6778,11 @@ yy749: } YYDEBUG(750, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1368 "Zend/zend_language_scanner.l" +#line 1374 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 6780 "Zend/zend_language_scanner.c" +#line 6786 "Zend/zend_language_scanner.c" yy751: YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; @@ -6805,11 +6811,11 @@ yy752: yy753: YYDEBUG(753, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1142 "Zend/zend_language_scanner.l" +#line 1148 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 6813 "Zend/zend_language_scanner.c" +#line 6819 "Zend/zend_language_scanner.c" yy754: YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; @@ -6823,11 +6829,11 @@ yy755: } YYDEBUG(756, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1134 "Zend/zend_language_scanner.l" +#line 1140 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 6831 "Zend/zend_language_scanner.c" +#line 6837 "Zend/zend_language_scanner.c" yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; @@ -6841,11 +6847,11 @@ yy758: } YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1218 "Zend/zend_language_scanner.l" +#line 1224 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 6849 "Zend/zend_language_scanner.c" +#line 6855 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6918,12 +6924,12 @@ yy762: yy763: YYDEBUG(763, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1251 "Zend/zend_language_scanner.l" +#line 1257 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 6927 "Zend/zend_language_scanner.c" +#line 6933 "Zend/zend_language_scanner.c" yy764: YYDEBUG(764, *YYCURSOR); ++YYCURSOR; @@ -6931,13 +6937,13 @@ yy764: yy765: YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1266 "Zend/zend_language_scanner.l" +#line 1272 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); goto restart; } -#line 6941 "Zend/zend_language_scanner.c" +#line 6947 "Zend/zend_language_scanner.c" yy766: YYDEBUG(766, *YYCURSOR); ++YYCURSOR; @@ -6946,13 +6952,13 @@ yy766: yy767: YYDEBUG(767, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1260 "Zend/zend_language_scanner.l" +#line 1266 "Zend/zend_language_scanner.l" { yy_pop_state(); zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 6956 "Zend/zend_language_scanner.c" +#line 6962 "Zend/zend_language_scanner.c" yy768: YYDEBUG(768, *YYCURSOR); yych = *++YYCURSOR; @@ -6973,11 +6979,11 @@ yy771: ++YYCURSOR; YYDEBUG(772, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1256 "Zend/zend_language_scanner.l" +#line 1262 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 6981 "Zend/zend_language_scanner.c" +#line 6987 "Zend/zend_language_scanner.c" yy773: YYDEBUG(773, *YYCURSOR); ++YYCURSOR; @@ -7062,14 +7068,14 @@ yy777: yy778: YYDEBUG(778, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1567 "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 7073 "Zend/zend_language_scanner.c" +#line 7079 "Zend/zend_language_scanner.c" yy779: YYDEBUG(779, *YYCURSOR); yych = *++YYCURSOR; @@ -7094,7 +7100,7 @@ yy783: ++YYCURSOR; YYDEBUG(784, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1558 "Zend/zend_language_scanner.l" +#line 1564 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7102,7 +7108,7 @@ yy783: yy_push_state(ST_IN_SCRIPTING); return T_STRING_VARNAME; } -#line 7106 "Zend/zend_language_scanner.c" +#line 7112 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: @@ -7113,7 +7119,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(788, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2280 "Zend/zend_language_scanner.l" +#line 2286 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7169,7 +7175,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7173 "Zend/zend_language_scanner.c" +#line 7179 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7276,7 +7282,7 @@ yy791: yy792: YYDEBUG(792, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1669 "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; @@ -7292,7 +7298,7 @@ string: } return T_NUM_STRING; } -#line 7296 "Zend/zend_language_scanner.c" +#line 7302 "Zend/zend_language_scanner.c" yy793: YYDEBUG(793, *YYCURSOR); yych = *++YYCURSOR; @@ -7312,23 +7318,23 @@ yy794: yy795: YYDEBUG(795, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1829 "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 7321 "Zend/zend_language_scanner.c" +#line 7327 "Zend/zend_language_scanner.c" yy796: YYDEBUG(796, *YYCURSOR); ++YYCURSOR; YYDEBUG(797, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1824 "Zend/zend_language_scanner.l" +#line 1830 "Zend/zend_language_scanner.l" { yy_pop_state(); return ']'; } -#line 7332 "Zend/zend_language_scanner.c" +#line 7338 "Zend/zend_language_scanner.c" yy798: YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; @@ -7338,7 +7344,7 @@ yy799: ++YYCURSOR; YYDEBUG(800, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1834 "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); @@ -7346,7 +7352,7 @@ yy799: ZVAL_NULL(zendlval); return T_ENCAPSED_AND_WHITESPACE; } -#line 7350 "Zend/zend_language_scanner.c" +#line 7356 "Zend/zend_language_scanner.c" yy801: YYDEBUG(801, *YYCURSOR); ++YYCURSOR; @@ -7355,18 +7361,18 @@ yy801: yy802: YYDEBUG(802, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1842 "Zend/zend_language_scanner.l" +#line 1848 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7364 "Zend/zend_language_scanner.c" +#line 7370 "Zend/zend_language_scanner.c" yy803: YYDEBUG(803, *YYCURSOR); ++YYCURSOR; YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2337 "Zend/zend_language_scanner.l" +#line 2343 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7375,7 +7381,7 @@ yy803: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7379 "Zend/zend_language_scanner.c" +#line 7385 "Zend/zend_language_scanner.c" yy805: YYDEBUG(805, *YYCURSOR); ++YYCURSOR; @@ -7411,12 +7417,12 @@ yy807: yy809: YYDEBUG(809, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1825 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 7420 "Zend/zend_language_scanner.c" +#line 7426 "Zend/zend_language_scanner.c" yy810: YYDEBUG(810, *YYCURSOR); ++YYCURSOR; @@ -7456,12 +7462,12 @@ yy815: yy817: YYDEBUG(817, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1685 "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 7465 "Zend/zend_language_scanner.c" +#line 7471 "Zend/zend_language_scanner.c" yy818: YYDEBUG(818, *YYCURSOR); ++YYCURSOR; @@ -7484,6 +7490,6 @@ yy820: goto yy817; } } -#line 2346 "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 6d2a737f8e..38e817f84b 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -586,6 +586,9 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type) if (compiler_result != 0) { /* parser error */ zend_bailout(); } + if (zend_ast_process) { + zend_ast_process(CG(ast)); + } zend_compile_top_stmt(CG(ast)); zend_ast_destroy(CG(ast)); zend_arena_destroy(CG(ast_arena)); @@ -747,6 +750,9 @@ zend_op_array *compile_string(zval *source_string, char *filename) 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(NULL); |