diff options
author | Felipe Pena <felipe@php.net> | 2010-07-11 21:53:17 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-07-11 21:53:17 +0000 |
commit | 8ced178bd8ab1ff006bc4c6fc57e761c2f4433ed (patch) | |
tree | ae5cd92f207b977cf1b954cda7cde755a2fab98a | |
parent | 5e3aa497986ff17f7517b3f93798e2383580d491 (diff) | |
download | php-git-8ced178bd8ab1ff006bc4c6fc57e761c2f4433ed.tar.gz |
- Fixed namespace with braces rules
- Fixed scanner to just return the tokens, not yytext[0]
-rw-r--r-- | Zend/zend_compile.c | 8 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 10 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 581 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 13 | ||||
-rw-r--r-- | Zend/zend_language_scanner_defs.h | 2 |
5 files changed, 297 insertions, 317 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 2016f6d1d3..8c7972f3c4 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -6116,19 +6116,19 @@ int zendparse(TSRMLS_D) /* {{{ */ ParseFree(pParser, free); return 1; } - +//ParseTrace(stderr, "LEMON >> "); while (1) { znode zendlval; zendlval.op_type = IS_CONST; INIT_PZVAL(&zendlval.u.constant); -again: - Z_TYPE(zendlval.u.constant) = IS_LONG; if (CG(increment_lineno)) { CG(zend_lineno)++; CG(increment_lineno) = 0; } +again: + Z_TYPE(zendlval.u.constant) = IS_LONG; /* Call the scanner */ token = lex_scan(&zendlval.u.constant TSRMLS_CC); @@ -6153,7 +6153,7 @@ again: CG(increment_lineno) = 1; } if (CG(has_bracketed_namespaces) && !CG(in_namespace)) { - break; + goto again; } token = T_SEMICOLON; default: diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 617c3834aa..1515b4391c 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -129,16 +129,18 @@ top_statement_list ::= . namespace_name(A) ::= STRING(B). { A = B; } namespace_name(A) ::= namespace_name(B) NS_SEPARATOR STRING(C). { zend_do_build_namespace_name(&A, &B, &C TSRMLS_CC); } -namespace_start ::= NAMESPACE LBRACE. { zend_do_begin_namespace(NULL, 1 TSRMLS_CC); } +namespace_start ::= NAMESPACE. { zend_do_begin_namespace(NULL, 1 TSRMLS_CC); } +namespace_start2 ::= NAMESPACE namespace_name(B). { zend_do_begin_namespace(&B, 1 TSRMLS_CC); } + +top_statement ::= SEMICOLON. { zend_do_ticks(TSRMLS_C); } top_statement ::= statement. { zend_verify_namespace(TSRMLS_C); } top_statement ::= function_declaration_statement. { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); } top_statement ::= class_declaration_statement. { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); } top_statement ::= HALT_COMPILER LPAREN RPAREN SEMICOLON. { zend_do_halt_compiler_register(TSRMLS_C); } top_statement ::= NAMESPACE namespace_name(B) SEMICOLON. { zend_do_begin_namespace(&B, 0 TSRMLS_CC); } -top_statement ::= NAMESPACE namespace_name(B) LBRACE. { zend_do_begin_namespace(&B, 1 TSRMLS_CC); } -top_statement ::= top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } -top_statement ::= namespace_start top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } +top_statement ::= namespace_start2 LBRACE top_statement_list_i RBRACE. { zend_do_end_namespace(TSRMLS_C); } +top_statement ::= namespace_start LBRACE top_statement_list RBRACE. { zend_do_end_namespace(TSRMLS_C); } top_statement ::= USE use_declarations SEMICOLON. { zend_verify_namespace(TSRMLS_C); } top_statement ::= constant_declaration SEMICOLON. { zend_verify_namespace(TSRMLS_C); } diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index c60ac7e50e..1598aa4203 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Sat Jul 10 16:00:37 2010 */ +/* Generated by re2c 0.13.5 on Sun Jul 11 18:23:43 2010 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -951,7 +951,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1740 "Zend/zend_language_scanner.l" +#line 1734 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1034,7 +1034,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1728 "Zend/zend_language_scanner.l" +#line 1722 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1053,7 +1053,7 @@ yy7: if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1705 "Zend/zend_language_scanner.l" +#line 1699 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1251,7 +1251,7 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" +#line 1655 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@ -1295,7 +1295,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1673 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1313,7 +1313,7 @@ yy45: ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1692 "Zend/zend_language_scanner.l" +#line 1686 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1352,7 +1352,7 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1718 "Zend/zend_language_scanner.l" +#line 1712 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1432,7 +1432,7 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2202 "Zend/zend_language_scanner.l" +#line 2191 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1484,7 +1484,7 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2146 "Zend/zend_language_scanner.l" +#line 2135 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return T_BACKQUOTE; @@ -1499,7 +1499,7 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 "Zend/zend_language_scanner.l" +#line 2122 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1522,7 +1522,7 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1821 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -1534,7 +1534,7 @@ yy66: ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1454 "Zend/zend_language_scanner.l" +#line 1448 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; @@ -1553,7 +1553,7 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1813 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1579,7 +1579,7 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1809 "Zend/zend_language_scanner.l" +#line 1803 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1655,7 +1655,7 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2152 "Zend/zend_language_scanner.l" +#line 2141 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1715,7 +1715,7 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2141 "Zend/zend_language_scanner.l" +#line 2130 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return T_QUOTE; @@ -1730,7 +1730,7 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 "Zend/zend_language_scanner.l" +#line 2122 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1753,7 +1753,7 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1821 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -1765,7 +1765,7 @@ yy88: ++YYCURSOR; YYDEBUG(89, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1454 "Zend/zend_language_scanner.l" +#line 1448 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; @@ -1784,7 +1784,7 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1813 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1810,7 +1810,7 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1809 "Zend/zend_language_scanner.l" +#line 1803 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1829,7 +1829,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2120 "Zend/zend_language_scanner.l" +#line 2109 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -1903,7 +1903,7 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2244 "Zend/zend_language_scanner.l" +#line 2233 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1989,7 +1989,7 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 "Zend/zend_language_scanner.l" +#line 2122 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -2012,7 +2012,7 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1821 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -2024,7 +2024,7 @@ yy112: ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1454 "Zend/zend_language_scanner.l" +#line 1448 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; @@ -2043,7 +2043,7 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1819 "Zend/zend_language_scanner.l" +#line 1813 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2069,7 +2069,7 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1809 "Zend/zend_language_scanner.l" +#line 1803 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2242,7 +2242,7 @@ yy123: if ((yych = *YYCURSOR) == '>') goto yy282; YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 868 "Zend/zend_language_scanner.l" +#line 867 "Zend/zend_language_scanner.l" { return T_QUESTION_MARK; } @@ -2269,7 +2269,7 @@ yy125: yy126: YYDEBUG(126, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1843 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -2528,7 +2528,7 @@ yy139: } YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1403 "Zend/zend_language_scanner.l" +#line 1402 "Zend/zend_language_scanner.l" { return T_MINUS; } @@ -2541,7 +2541,7 @@ yy141: yy142: YYDEBUG(142, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1025 "Zend/zend_language_scanner.l" +#line 1024 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -2555,7 +2555,7 @@ yy143: ++YYCURSOR; YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1050 "Zend/zend_language_scanner.l" +#line 1049 "Zend/zend_language_scanner.l" { return T_SEMICOLON; } @@ -2565,7 +2565,7 @@ yy145: ++YYCURSOR; YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1054 "Zend/zend_language_scanner.l" +#line 1053 "Zend/zend_language_scanner.l" { return T_COMMA; } @@ -2579,7 +2579,7 @@ yy147: yy148: YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1058 "Zend/zend_language_scanner.l" +#line 1057 "Zend/zend_language_scanner.l" { return T_DOT; } @@ -2590,7 +2590,7 @@ yy149: if ((yych = *YYCURSOR) == ':') goto yy534; YYDEBUG(150, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1066 "Zend/zend_language_scanner.l" +#line 1065 "Zend/zend_language_scanner.l" { return T_COLON; } @@ -2600,7 +2600,7 @@ yy151: ++YYCURSOR; YYDEBUG(152, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1070 "Zend/zend_language_scanner.l" +#line 1069 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } @@ -2680,7 +2680,7 @@ yy155: yy156: YYDEBUG(156, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1419 "Zend/zend_language_scanner.l" +#line 1418 "Zend/zend_language_scanner.l" { return T_LPAREN; } @@ -2715,7 +2715,7 @@ yy159: yy160: YYDEBUG(160, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1282 "Zend/zend_language_scanner.l" +#line 1281 "Zend/zend_language_scanner.l" { return T_EQUAL; } @@ -2759,7 +2759,7 @@ yy163: if (yych == '=') goto yy305; YYDEBUG(164, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1399 "Zend/zend_language_scanner.l" +#line 1398 "Zend/zend_language_scanner.l" { return T_PLUS; } @@ -2770,7 +2770,7 @@ yy165: if ((yych = *YYCURSOR) == '=') goto yy302; YYDEBUG(166, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1290 "Zend/zend_language_scanner.l" +#line 1289 "Zend/zend_language_scanner.l" { return T_BOOL_NOT; } @@ -2789,7 +2789,7 @@ yy167: yy168: YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1303 "Zend/zend_language_scanner.l" +#line 1302 "Zend/zend_language_scanner.l" { return T_IS_SMALLER; } @@ -2799,7 +2799,7 @@ yy169: ++YYCURSOR; YYDEBUG(170, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1294 "Zend/zend_language_scanner.l" +#line 1293 "Zend/zend_language_scanner.l" { return T_BW_NOT; } @@ -2813,7 +2813,7 @@ yy171: yy172: YYDEBUG(172, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1311 "Zend/zend_language_scanner.l" +#line 1310 "Zend/zend_language_scanner.l" { return T_IS_GREATER; } @@ -2824,7 +2824,7 @@ yy173: if ((yych = *YYCURSOR) == '=') goto yy260; YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1411 "Zend/zend_language_scanner.l" +#line 1410 "Zend/zend_language_scanner.l" { return T_MULT; } @@ -2840,7 +2840,7 @@ yy175: } YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1407 "Zend/zend_language_scanner.l" +#line 1406 "Zend/zend_language_scanner.l" { return T_DIV; } @@ -2854,7 +2854,7 @@ yy177: yy178: YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1415 "Zend/zend_language_scanner.l" +#line 1414 "Zend/zend_language_scanner.l" { return T_MOD; } @@ -2866,7 +2866,7 @@ yy179: if (yych == '=') goto yy244; YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1391 "Zend/zend_language_scanner.l" +#line 1390 "Zend/zend_language_scanner.l" { return T_BW_AND; } @@ -2878,7 +2878,7 @@ yy181: if (yych == '|') goto yy238; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1387 "Zend/zend_language_scanner.l" +#line 1386 "Zend/zend_language_scanner.l" { return T_BW_OR; } @@ -2889,7 +2889,7 @@ yy183: if ((yych = *YYCURSOR) == '=') goto yy236; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1395 "Zend/zend_language_scanner.l" +#line 1394 "Zend/zend_language_scanner.l" { return T_BW_XOR; } @@ -2905,7 +2905,7 @@ yy186: ++YYCURSOR; YYDEBUG(187, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1423 "Zend/zend_language_scanner.l" +#line 1422 "Zend/zend_language_scanner.l" { return T_RPAREN; } @@ -2915,7 +2915,7 @@ yy188: ++YYCURSOR; YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1427 "Zend/zend_language_scanner.l" +#line 1426 "Zend/zend_language_scanner.l" { return T_LBRACKET; } @@ -2925,7 +2925,7 @@ yy190: ++YYCURSOR; YYDEBUG(191, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1431 "Zend/zend_language_scanner.l" +#line 1430 "Zend/zend_language_scanner.l" { return T_RBRACKET; } @@ -2935,7 +2935,7 @@ yy192: ++YYCURSOR; YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1435 "Zend/zend_language_scanner.l" +#line 1434 "Zend/zend_language_scanner.l" { return T_AT; } @@ -2955,7 +2955,7 @@ yy194: yy195: YYDEBUG(195, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1439 "Zend/zend_language_scanner.l" +#line 1438 "Zend/zend_language_scanner.l" { return T_DOLLAR; } @@ -2965,7 +2965,7 @@ yy196: ++YYCURSOR; YYDEBUG(197, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1448 "Zend/zend_language_scanner.l" +#line 1442 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_LBRACE; @@ -2976,7 +2976,7 @@ yy198: ++YYCURSOR; YYDEBUG(199, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1460 "Zend/zend_language_scanner.l" +#line 1454 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -3007,7 +3007,7 @@ yy200: yy201: YYDEBUG(201, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1486 "Zend/zend_language_scanner.l" +#line 1480 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); @@ -3056,7 +3056,7 @@ yy204: yy205: YYDEBUG(205, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1861 "Zend/zend_language_scanner.l" +#line 1850 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -3097,7 +3097,7 @@ yy206: yy207: YYDEBUG(207, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1952 "Zend/zend_language_scanner.l" +#line 1941 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -3174,7 +3174,7 @@ yy208: yy209: YYDEBUG(209, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2023 "Zend/zend_language_scanner.l" +#line 2012 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -3221,7 +3221,7 @@ yy210: ++YYCURSOR; YYDEBUG(211, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2114 "Zend/zend_language_scanner.l" +#line 2103 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return T_BACKQUOTE; @@ -3232,7 +3232,7 @@ yy212: ++YYCURSOR; YYDEBUG(213, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2375 "Zend/zend_language_scanner.l" +#line 2364 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3268,7 +3268,7 @@ yy216: yy218: YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1547 "Zend/zend_language_scanner.l" +#line 1541 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; @@ -3363,7 +3363,7 @@ yy227: } YYDEBUG(229, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1507 "Zend/zend_language_scanner.l" +#line 1501 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3409,7 +3409,7 @@ yy230: yy232: YYDEBUG(232, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1821 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -3429,7 +3429,7 @@ yy234: } YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1375 "Zend/zend_language_scanner.l" +#line 1374 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } @@ -3439,7 +3439,7 @@ yy236: ++YYCURSOR; YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1355 "Zend/zend_language_scanner.l" +#line 1354 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } @@ -3449,7 +3449,7 @@ yy238: ++YYCURSOR; YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1359 "Zend/zend_language_scanner.l" +#line 1358 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } @@ -3459,7 +3459,7 @@ yy240: ++YYCURSOR; YYDEBUG(241, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1351 "Zend/zend_language_scanner.l" +#line 1350 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } @@ -3469,7 +3469,7 @@ yy242: ++YYCURSOR; YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1363 "Zend/zend_language_scanner.l" +#line 1362 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } @@ -3479,7 +3479,7 @@ yy244: ++YYCURSOR; YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1347 "Zend/zend_language_scanner.l" +#line 1346 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } @@ -3492,7 +3492,7 @@ yy246: yy247: YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1938 "Zend/zend_language_scanner.l" +#line 1927 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3502,7 +3502,7 @@ yy247: return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } else { yyless(1); - return yytext[0]; + return T_MOD; } } #line 3509 "Zend/zend_language_scanner.c" @@ -3511,7 +3511,7 @@ yy248: ++YYCURSOR; YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1335 "Zend/zend_language_scanner.l" +#line 1334 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } @@ -3533,7 +3533,7 @@ yy252: yy253: YYDEBUG(253, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1895 "Zend/zend_language_scanner.l" +#line 1884 "Zend/zend_language_scanner.l" { int doc_com; @@ -3577,7 +3577,7 @@ yy255: ++YYCURSOR; YYDEBUG(256, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1327 "Zend/zend_language_scanner.l" +#line 1326 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } @@ -3604,7 +3604,7 @@ yy260: ++YYCURSOR; YYDEBUG(261, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1323 "Zend/zend_language_scanner.l" +#line 1322 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } @@ -3615,7 +3615,7 @@ yy262: if ((yych = *YYCURSOR) == '=') goto yy266; YYDEBUG(263, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1383 "Zend/zend_language_scanner.l" +#line 1382 "Zend/zend_language_scanner.l" { return T_SR; } @@ -3625,7 +3625,7 @@ yy264: ++YYCURSOR; YYDEBUG(265, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1307 "Zend/zend_language_scanner.l" +#line 1306 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } @@ -3635,7 +3635,7 @@ yy266: ++YYCURSOR; YYDEBUG(267, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1343 "Zend/zend_language_scanner.l" +#line 1342 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } @@ -3650,7 +3650,7 @@ yy268: yy269: YYDEBUG(269, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1379 "Zend/zend_language_scanner.l" +#line 1378 "Zend/zend_language_scanner.l" { return T_SL; } @@ -3666,7 +3666,7 @@ yy271: ++YYCURSOR; YYDEBUG(272, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1299 "Zend/zend_language_scanner.l" +#line 1298 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } @@ -3677,7 +3677,7 @@ yy273: yy274: YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1286 "Zend/zend_language_scanner.l" +#line 1285 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } @@ -3734,7 +3734,7 @@ yy282: yy283: YYDEBUG(283, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1929 "Zend/zend_language_scanner.l" +#line 1918 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -3757,7 +3757,7 @@ yy286: ++YYCURSOR; YYDEBUG(287, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1339 "Zend/zend_language_scanner.l" +#line 1338 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } @@ -3866,7 +3866,7 @@ yy297: yy298: YYDEBUG(298, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2065 "Zend/zend_language_scanner.l" +#line 2054 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3954,7 +3954,7 @@ yy302: ++YYCURSOR; YYDEBUG(304, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1274 "Zend/zend_language_scanner.l" +#line 1273 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } @@ -3964,7 +3964,7 @@ yy305: ++YYCURSOR; YYDEBUG(306, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1315 "Zend/zend_language_scanner.l" +#line 1314 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } @@ -3974,7 +3974,7 @@ yy307: ++YYCURSOR; YYDEBUG(308, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1262 "Zend/zend_language_scanner.l" +#line 1261 "Zend/zend_language_scanner.l" { return T_INC; } @@ -3993,7 +3993,7 @@ yy310: } YYDEBUG(311, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1367 "Zend/zend_language_scanner.l" +#line 1366 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } @@ -4076,7 +4076,7 @@ yy320: ++YYCURSOR; YYDEBUG(321, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1257 "Zend/zend_language_scanner.l" +#line 1256 "Zend/zend_language_scanner.l" { yyless((sizeof("object") - 1)); return T_OBJECT_HINT; @@ -4174,7 +4174,7 @@ yy330: ++YYCURSOR; YYDEBUG(331, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1230 "Zend/zend_language_scanner.l" +#line 1229 "Zend/zend_language_scanner.l" { if (yytext[3] == 'e') { yyless((sizeof("integer") - 1)); @@ -4199,7 +4199,7 @@ yy333: } YYDEBUG(334, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1198 "Zend/zend_language_scanner.l" +#line 1197 "Zend/zend_language_scanner.l" { return T_LIST; } @@ -4210,7 +4210,7 @@ yy335: if ((yych = *YYCURSOR) == '=') goto yy339; YYDEBUG(336, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1278 "Zend/zend_language_scanner.l" +#line 1277 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } @@ -4220,7 +4220,7 @@ yy337: ++YYCURSOR; YYDEBUG(338, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1194 "Zend/zend_language_scanner.l" +#line 1193 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } @@ -4230,7 +4230,7 @@ yy339: ++YYCURSOR; YYDEBUG(340, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1270 "Zend/zend_language_scanner.l" +#line 1269 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } @@ -4356,7 +4356,7 @@ yy356: } YYDEBUG(359, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1651 "Zend/zend_language_scanner.l" +#line 1645 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@ -4386,7 +4386,7 @@ yy361: } YYDEBUG(364, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1624 "Zend/zend_language_scanner.l" +#line 1618 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@ -4438,7 +4438,7 @@ yy367: } YYDEBUG(370, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1606 "Zend/zend_language_scanner.l" +#line 1600 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; @@ -4479,7 +4479,7 @@ yy375: } YYDEBUG(378, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1585 "Zend/zend_language_scanner.l" +#line 1579 "Zend/zend_language_scanner.l" { char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; @@ -4551,7 +4551,7 @@ yy386: } YYDEBUG(389, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1569 "Zend/zend_language_scanner.l" +#line 1563 "Zend/zend_language_scanner.l" { char *func_name = NULL; @@ -4587,7 +4587,7 @@ yy391: } YYDEBUG(394, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1612 "Zend/zend_language_scanner.l" +#line 1606 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4629,7 +4629,7 @@ yy398: } YYDEBUG(401, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1553 "Zend/zend_language_scanner.l" +#line 1547 "Zend/zend_language_scanner.l" { char *class_name = NULL; @@ -4707,7 +4707,7 @@ yy413: } YYDEBUG(414, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1162 "Zend/zend_language_scanner.l" +#line 1161 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } @@ -4731,7 +4731,7 @@ yy417: } YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1142 "Zend/zend_language_scanner.l" +#line 1141 "Zend/zend_language_scanner.l" { return T_USE; } @@ -4754,7 +4754,7 @@ yy421: } YYDEBUG(422, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1190 "Zend/zend_language_scanner.l" +#line 1189 "Zend/zend_language_scanner.l" { return T_UNSET; } @@ -4940,7 +4940,7 @@ yy438: ++YYCURSOR; YYDEBUG(440, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1086 "Zend/zend_language_scanner.l" +#line 1085 "Zend/zend_language_scanner.l" { return T_INT_CAST; } @@ -4988,7 +4988,7 @@ yy446: ++YYCURSOR; YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1090 "Zend/zend_language_scanner.l" +#line 1089 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } @@ -5068,7 +5068,7 @@ yy461: ++YYCURSOR; YYDEBUG(464, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1098 "Zend/zend_language_scanner.l" +#line 1097 "Zend/zend_language_scanner.l" { return T_SCALAR_CAST; } @@ -5105,7 +5105,7 @@ yy468: ++YYCURSOR; YYDEBUG(471, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1094 "Zend/zend_language_scanner.l" +#line 1093 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } @@ -5142,7 +5142,7 @@ yy475: ++YYCURSOR; YYDEBUG(478, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1102 "Zend/zend_language_scanner.l" +#line 1101 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } @@ -5184,7 +5184,7 @@ yy483: ++YYCURSOR; YYDEBUG(486, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1106 "Zend/zend_language_scanner.l" +#line 1105 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } @@ -5229,7 +5229,7 @@ yy492: ++YYCURSOR; YYDEBUG(494, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1110 "Zend/zend_language_scanner.l" +#line 1109 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } @@ -5293,7 +5293,7 @@ yy503: ++YYCURSOR; YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1114 "Zend/zend_language_scanner.l" +#line 1113 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } @@ -5311,7 +5311,7 @@ yy508: } YYDEBUG(509, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1082 "Zend/zend_language_scanner.l" +#line 1081 "Zend/zend_language_scanner.l" { return T_VAR; } @@ -5429,7 +5429,7 @@ yy522: ++YYCURSOR; YYDEBUG(523, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1225 "Zend/zend_language_scanner.l" +#line 1224 "Zend/zend_language_scanner.l" { yyless(7); return T_NUMERIC_HINT; @@ -5443,7 +5443,7 @@ yy524: } YYDEBUG(525, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1074 "Zend/zend_language_scanner.l" +#line 1073 "Zend/zend_language_scanner.l" { return T_NEW; } @@ -5486,7 +5486,7 @@ yy532: } YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1138 "Zend/zend_language_scanner.l" +#line 1137 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } @@ -5496,7 +5496,7 @@ yy534: ++YYCURSOR; YYDEBUG(535, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1062 "Zend/zend_language_scanner.l" +#line 1061 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } @@ -5522,7 +5522,7 @@ yy538: ++YYCURSOR; YYDEBUG(539, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1331 "Zend/zend_language_scanner.l" +#line 1330 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } @@ -5548,7 +5548,7 @@ yy542: ++YYCURSOR; YYDEBUG(543, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1319 "Zend/zend_language_scanner.l" +#line 1318 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } @@ -5558,7 +5558,7 @@ yy544: ++YYCURSOR; YYDEBUG(545, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1266 "Zend/zend_language_scanner.l" +#line 1265 "Zend/zend_language_scanner.l" { return T_DEC; } @@ -5568,7 +5568,7 @@ yy546: ++YYCURSOR; YYDEBUG(547, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1020 "Zend/zend_language_scanner.l" +#line 1019 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; @@ -5618,7 +5618,7 @@ yy553: } YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1186 "Zend/zend_language_scanner.l" +#line 1185 "Zend/zend_language_scanner.l" { return T_PUBLIC; } @@ -5677,7 +5677,7 @@ yy562: } YYDEBUG(563, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1182 "Zend/zend_language_scanner.l" +#line 1181 "Zend/zend_language_scanner.l" { return T_PROTECTED; } @@ -5711,7 +5711,7 @@ yy568: } YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1178 "Zend/zend_language_scanner.l" +#line 1177 "Zend/zend_language_scanner.l" { return T_PRIVATE; } @@ -5724,7 +5724,7 @@ yy570: } YYDEBUG(571, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 996 "Zend/zend_language_scanner.l" +#line 995 "Zend/zend_language_scanner.l" { return T_PRINT; } @@ -5753,7 +5753,7 @@ yy575: } YYDEBUG(576, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 988 "Zend/zend_language_scanner.l" +#line 987 "Zend/zend_language_scanner.l" { return T_GOTO; } @@ -5781,7 +5781,7 @@ yy580: } YYDEBUG(581, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1150 "Zend/zend_language_scanner.l" +#line 1149 "Zend/zend_language_scanner.l" { return T_GLOBAL; } @@ -5834,7 +5834,7 @@ yy590: } YYDEBUG(591, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 980 "Zend/zend_language_scanner.l" +#line 979 "Zend/zend_language_scanner.l" { return T_BREAK; } @@ -5943,7 +5943,7 @@ yy598: ++YYCURSOR; YYDEBUG(599, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1206 "Zend/zend_language_scanner.l" +#line 1205 "Zend/zend_language_scanner.l" { if (yytext[4] == 'e') { yyless((sizeof("boolean") - 1)); @@ -6079,7 +6079,7 @@ yy611: ++YYCURSOR; YYDEBUG(612, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1215 "Zend/zend_language_scanner.l" +#line 1214 "Zend/zend_language_scanner.l" { yyless(6); return T_STRING_HINT; @@ -6140,7 +6140,7 @@ yy620: } YYDEBUG(621, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 964 "Zend/zend_language_scanner.l" +#line 963 "Zend/zend_language_scanner.l" { return T_SWITCH; } @@ -6185,7 +6185,7 @@ yy628: } YYDEBUG(629, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1166 "Zend/zend_language_scanner.l" +#line 1165 "Zend/zend_language_scanner.l" { return T_STATIC; } @@ -6281,7 +6281,7 @@ yy638: ++YYCURSOR; YYDEBUG(639, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1220 "Zend/zend_language_scanner.l" +#line 1219 "Zend/zend_language_scanner.l" { yyless(6); return T_SCALAR_HINT; @@ -6313,7 +6313,7 @@ yy643: } YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 960 "Zend/zend_language_scanner.l" +#line 959 "Zend/zend_language_scanner.l" { return T_AS; } @@ -6336,7 +6336,7 @@ yy647: } YYDEBUG(648, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1202 "Zend/zend_language_scanner.l" +#line 1201 "Zend/zend_language_scanner.l" { return T_ARRAY; } @@ -6349,7 +6349,7 @@ yy649: } YYDEBUG(650, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1371 "Zend/zend_language_scanner.l" +#line 1370 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } @@ -6387,7 +6387,7 @@ yy656: } YYDEBUG(657, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1170 "Zend/zend_language_scanner.l" +#line 1169 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } @@ -6415,7 +6415,7 @@ yy661: } YYDEBUG(662, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 920 "Zend/zend_language_scanner.l" +#line 919 "Zend/zend_language_scanner.l" { return T_WHILE; } @@ -6428,7 +6428,7 @@ yy663: } YYDEBUG(664, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 904 "Zend/zend_language_scanner.l" +#line 903 "Zend/zend_language_scanner.l" { return T_IF; } @@ -6484,7 +6484,7 @@ yy670: } YYDEBUG(671, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1154 "Zend/zend_language_scanner.l" +#line 1153 "Zend/zend_language_scanner.l" { return T_ISSET; } @@ -6584,7 +6584,7 @@ yy678: yy679: YYDEBUG(679, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1122 "Zend/zend_language_scanner.l" +#line 1121 "Zend/zend_language_scanner.l" { return T_INCLUDE; } @@ -6617,7 +6617,7 @@ yy684: } YYDEBUG(685, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1126 "Zend/zend_language_scanner.l" +#line 1125 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } @@ -6675,7 +6675,7 @@ yy693: } YYDEBUG(694, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1004 "Zend/zend_language_scanner.l" +#line 1003 "Zend/zend_language_scanner.l" { return T_INTERFACE; } @@ -6729,7 +6729,7 @@ yy701: } YYDEBUG(702, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1146 "Zend/zend_language_scanner.l" +#line 1145 "Zend/zend_language_scanner.l" { return T_INSTEADOF; } @@ -6762,7 +6762,7 @@ yy707: } YYDEBUG(708, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 956 "Zend/zend_language_scanner.l" +#line 955 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } @@ -6810,7 +6810,7 @@ yy716: } YYDEBUG(717, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1016 "Zend/zend_language_scanner.l" +#line 1015 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } @@ -6842,7 +6842,7 @@ yy719: } YYDEBUG(721, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 892 "Zend/zend_language_scanner.l" +#line 891 "Zend/zend_language_scanner.l" { return T_TRY; } @@ -6865,7 +6865,7 @@ yy724: } YYDEBUG(725, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1008 "Zend/zend_language_scanner.l" +#line 1007 "Zend/zend_language_scanner.l" { return T_TRAIT; } @@ -6888,7 +6888,7 @@ yy728: } YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 900 "Zend/zend_language_scanner.l" +#line 899 "Zend/zend_language_scanner.l" { return T_THROW; } @@ -7034,7 +7034,7 @@ yy744: ++YYCURSOR; YYDEBUG(745, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1252 "Zend/zend_language_scanner.l" +#line 1251 "Zend/zend_language_scanner.l" { yyless((sizeof("resource") - 1)); return T_RESOURCE_HINT; @@ -7116,7 +7116,7 @@ yy751: ++YYCURSOR; YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1241 "Zend/zend_language_scanner.l" +#line 1240 "Zend/zend_language_scanner.l" { if (yytext[4] == 'l') { yyless((sizeof("double") - 1)); @@ -7164,7 +7164,7 @@ yy756: yy757: YYDEBUG(757, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1130 "Zend/zend_language_scanner.l" +#line 1129 "Zend/zend_language_scanner.l" { return T_REQUIRE; } @@ -7197,7 +7197,7 @@ yy762: } YYDEBUG(763, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1134 "Zend/zend_language_scanner.l" +#line 1133 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } @@ -7220,7 +7220,7 @@ yy766: } YYDEBUG(767, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 888 "Zend/zend_language_scanner.l" +#line 887 "Zend/zend_language_scanner.l" { return T_RETURN; } @@ -7305,7 +7305,7 @@ yy777: } YYDEBUG(778, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 984 "Zend/zend_language_scanner.l" +#line 983 "Zend/zend_language_scanner.l" { return T_CONTINUE; } @@ -7318,7 +7318,7 @@ yy779: } YYDEBUG(780, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 884 "Zend/zend_language_scanner.l" +#line 883 "Zend/zend_language_scanner.l" { return T_CONST; } @@ -7347,7 +7347,7 @@ yy784: } YYDEBUG(785, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1078 "Zend/zend_language_scanner.l" +#line 1077 "Zend/zend_language_scanner.l" { return T_CLONE; } @@ -7365,7 +7365,7 @@ yy787: } YYDEBUG(788, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1000 "Zend/zend_language_scanner.l" +#line 999 "Zend/zend_language_scanner.l" { return T_CLASS; } @@ -7389,7 +7389,7 @@ yy791: } YYDEBUG(792, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 972 "Zend/zend_language_scanner.l" +#line 971 "Zend/zend_language_scanner.l" { return T_CASE; } @@ -7407,7 +7407,7 @@ yy794: } YYDEBUG(795, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 896 "Zend/zend_language_scanner.l" +#line 895 "Zend/zend_language_scanner.l" { return T_CATCH; } @@ -7468,7 +7468,7 @@ yy805: } YYDEBUG(806, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 880 "Zend/zend_language_scanner.l" +#line 879 "Zend/zend_language_scanner.l" { return T_FUNCTION; } @@ -7496,7 +7496,7 @@ yy807: yy808: YYDEBUG(808, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 932 "Zend/zend_language_scanner.l" +#line 931 "Zend/zend_language_scanner.l" { return T_FOR; } @@ -7524,7 +7524,7 @@ yy812: } YYDEBUG(813, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 940 "Zend/zend_language_scanner.l" +#line 939 "Zend/zend_language_scanner.l" { return T_FOREACH; } @@ -7558,7 +7558,7 @@ yy818: } YYDEBUG(819, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1174 "Zend/zend_language_scanner.l" +#line 1173 "Zend/zend_language_scanner.l" { return T_FINAL; } @@ -7608,7 +7608,7 @@ yy822: yy823: YYDEBUG(823, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 928 "Zend/zend_language_scanner.l" +#line 927 "Zend/zend_language_scanner.l" { return T_DO; } @@ -7637,7 +7637,7 @@ yy827: } YYDEBUG(828, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 876 "Zend/zend_language_scanner.l" +#line 875 "Zend/zend_language_scanner.l" { return T_EXIT; } @@ -7676,7 +7676,7 @@ yy834: } YYDEBUG(835, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 976 "Zend/zend_language_scanner.l" +#line 975 "Zend/zend_language_scanner.l" { return T_DEFAULT; } @@ -7704,7 +7704,7 @@ yy839: } YYDEBUG(840, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 948 "Zend/zend_language_scanner.l" +#line 947 "Zend/zend_language_scanner.l" { return T_DECLARE; } @@ -7788,7 +7788,7 @@ yy852: } YYDEBUG(853, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1012 "Zend/zend_language_scanner.l" +#line 1011 "Zend/zend_language_scanner.l" { return T_EXTENDS; } @@ -7801,7 +7801,7 @@ yy854: } YYDEBUG(855, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 872 "Zend/zend_language_scanner.l" +#line 871 "Zend/zend_language_scanner.l" { return T_EXIT; } @@ -7819,7 +7819,7 @@ yy857: } YYDEBUG(858, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1118 "Zend/zend_language_scanner.l" +#line 1117 "Zend/zend_language_scanner.l" { return T_EVAL; } @@ -7893,7 +7893,7 @@ yy868: } YYDEBUG(869, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 924 "Zend/zend_language_scanner.l" +#line 923 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } @@ -7926,7 +7926,7 @@ yy874: } YYDEBUG(875, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 968 "Zend/zend_language_scanner.l" +#line 967 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } @@ -7939,7 +7939,7 @@ yy876: } YYDEBUG(877, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 912 "Zend/zend_language_scanner.l" +#line 911 "Zend/zend_language_scanner.l" { return T_ENDIF; } @@ -7972,7 +7972,7 @@ yy879: yy880: YYDEBUG(880, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 936 "Zend/zend_language_scanner.l" +#line 935 "Zend/zend_language_scanner.l" { return T_ENDFOR; } @@ -8000,7 +8000,7 @@ yy884: } YYDEBUG(885, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 944 "Zend/zend_language_scanner.l" +#line 943 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } @@ -8038,7 +8038,7 @@ yy891: } YYDEBUG(892, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 952 "Zend/zend_language_scanner.l" +#line 951 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } @@ -8061,7 +8061,7 @@ yy895: } YYDEBUG(896, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1158 "Zend/zend_language_scanner.l" +#line 1157 "Zend/zend_language_scanner.l" { return T_EMPTY; } @@ -8094,7 +8094,7 @@ yy898: yy899: YYDEBUG(899, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 916 "Zend/zend_language_scanner.l" +#line 915 "Zend/zend_language_scanner.l" { return T_ELSE; } @@ -8112,7 +8112,7 @@ yy901: } YYDEBUG(902, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 908 "Zend/zend_language_scanner.l" +#line 907 "Zend/zend_language_scanner.l" { return T_ELSEIF; } @@ -8130,7 +8130,7 @@ yy904: } YYDEBUG(905, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 992 "Zend/zend_language_scanner.l" +#line 991 "Zend/zend_language_scanner.l" { return T_ECHO; } @@ -8207,7 +8207,7 @@ yy908: yy909: YYDEBUG(909, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1025 "Zend/zend_language_scanner.l" +#line 1024 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -8223,7 +8223,7 @@ yy910: yy911: YYDEBUG(911, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1044 "Zend/zend_language_scanner.l" +#line 1043 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); @@ -8238,7 +8238,7 @@ yy912: yy913: YYDEBUG(913, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1037 "Zend/zend_language_scanner.l" +#line 1036 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); @@ -8266,7 +8266,7 @@ yy917: ++YYCURSOR; YYDEBUG(918, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1033 "Zend/zend_language_scanner.l" +#line 1032 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } @@ -8340,7 +8340,7 @@ yy923: yy924: YYDEBUG(924, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1469 "Zend/zend_language_scanner.l" +#line 1463 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -8354,7 +8354,7 @@ yy925: ++YYCURSOR; YYDEBUG(926, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1478 "Zend/zend_language_scanner.l" +#line 1472 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); @@ -8383,7 +8383,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(932, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2316 "Zend/zend_language_scanner.l" +#line 2305 "Zend/zend_language_scanner.l" { int newline = 0; @@ -8482,22 +8482,22 @@ yyc_ST_VAR_OFFSET: if (yych <= '/') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy949; - if (yych <= '\n') goto yy945; - goto yy949; + if (yych <= 0x08) goto yy948; + if (yych <= '\n') goto yy944; + goto yy948; } else { - if (yych <= '\r') goto yy945; - if (yych <= 0x1F) goto yy949; - goto yy945; + if (yych <= '\r') goto yy944; + if (yych <= 0x1F) goto yy948; + goto yy944; } } else { if (yych <= '$') { - if (yych <= '"') goto yy944; - if (yych <= '#') goto yy945; + if (yych <= '"') goto yy948; + if (yych <= '#') goto yy944; goto yy938; } else { - if (yych == '\'') goto yy945; - goto yy944; + if (yych == '\'') goto yy944; + goto yy948; } } } else { @@ -8505,22 +8505,22 @@ yyc_ST_VAR_OFFSET: if (yych <= '@') { if (yych <= '0') goto yy935; if (yych <= '9') goto yy937; - goto yy944; + goto yy948; } else { - if (yych <= 'Z') goto yy947; + if (yych <= 'Z') goto yy946; if (yych <= '[') goto yy940; - goto yy945; + goto yy944; } } else { if (yych <= '_') { if (yych <= ']') goto yy942; - if (yych <= '^') goto yy944; - goto yy947; + if (yych <= '^') goto yy948; + goto yy946; } else { - if (yych <= '`') goto yy944; - if (yych <= 'z') goto yy947; - if (yych <= '~') goto yy944; - goto yy947; + if (yych <= '`') goto yy948; + if (yych <= 'z') goto yy946; + if (yych <= '~') goto yy948; + goto yy946; } } } @@ -8530,15 +8530,15 @@ yy935: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '/') goto yy936; - if (yych <= '9') goto yy960; + if (yych <= '9') goto yy958; } else { - if (yych <= 'X') goto yy958; - if (yych == 'x') goto yy958; + if (yych <= 'X') goto yy956; + if (yych == 'x') goto yy956; } yy936: YYDEBUG(936, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1528 "Zend/zend_language_scanner.l" +#line 1522 "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)) { zendlval->value.lval = strtol(yytext, NULL, 10); @@ -8554,59 +8554,59 @@ yy936: yy937: YYDEBUG(937, *YYCURSOR); yych = *++YYCURSOR; - goto yy957; + goto yy955; yy938: YYDEBUG(938, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { if (yych <= '@') goto yy939; - if (yych <= 'Z') goto yy953; - if (yych >= '_') goto yy953; + if (yych <= 'Z') goto yy951; + if (yych >= '_') goto yy951; } else { if (yych <= '`') goto yy939; - if (yych <= 'z') goto yy953; - if (yych >= 0x7F) goto yy953; + if (yych <= 'z') goto yy951; + if (yych >= 0x7F) goto yy951; } yy939: YYDEBUG(939, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1842 "Zend/zend_language_scanner.l" +#line 2364 "Zend/zend_language_scanner.l" { - /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ - return yytext[0]; + if (YYCURSOR > YYLIMIT) { + return 0; + } + + zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + goto restart; } -#line 8579 "Zend/zend_language_scanner.c" +#line 8583 "Zend/zend_language_scanner.c" yy940: YYDEBUG(940, *YYCURSOR); ++YYCURSOR; YYDEBUG(941, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1833 "Zend/zend_language_scanner.l" +#line 1827 "Zend/zend_language_scanner.l" { return T_LBRACKET; } -#line 8589 "Zend/zend_language_scanner.c" +#line 8593 "Zend/zend_language_scanner.c" yy942: YYDEBUG(942, *YYCURSOR); ++YYCURSOR; YYDEBUG(943, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1837 "Zend/zend_language_scanner.l" +#line 1831 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return T_RBRACKET; } -#line 8600 "Zend/zend_language_scanner.c" +#line 8604 "Zend/zend_language_scanner.c" yy944: YYDEBUG(944, *YYCURSOR); - yych = *++YYCURSOR; - goto yy939; -yy945: - YYDEBUG(945, *YYCURSOR); ++YYCURSOR; - YYDEBUG(946, *YYCURSOR); + YYDEBUG(945, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1836 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -8614,129 +8614,118 @@ yy945: return T_ENCAPSED_AND_WHITESPACE; } #line 8617 "Zend/zend_language_scanner.c" -yy947: - YYDEBUG(947, *YYCURSOR); +yy946: + YYDEBUG(946, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy952; -yy948: - YYDEBUG(948, *YYCURSOR); + goto yy950; +yy947: + YYDEBUG(947, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1843 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } #line 8632 "Zend/zend_language_scanner.c" +yy948: + YYDEBUG(948, *YYCURSOR); + yych = *++YYCURSOR; + goto yy939; yy949: YYDEBUG(949, *YYCURSOR); ++YYCURSOR; - YYDEBUG(950, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2375 "Zend/zend_language_scanner.l" - { - if (YYCURSOR > YYLIMIT) { - return 0; - } - - zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); - goto restart; -} -#line 8647 "Zend/zend_language_scanner.c" -yy951: - YYDEBUG(951, *YYCURSOR); - ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy952: - YYDEBUG(952, *YYCURSOR); +yy950: + YYDEBUG(950, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy951; + goto yy949; } - goto yy948; -yy953: - YYDEBUG(953, *YYCURSOR); + goto yy947; +yy951: + YYDEBUG(951, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(954, *YYCURSOR); + YYDEBUG(952, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy953; + if (yych >= '0') goto yy951; } else { - if (yych <= '@') goto yy955; - if (yych <= 'Z') goto yy953; + if (yych <= '@') goto yy953; + if (yych <= 'Z') goto yy951; } } else { if (yych <= '`') { - if (yych <= '_') goto yy953; + if (yych <= '_') goto yy951; } else { - if (yych <= 'z') goto yy953; - if (yych >= 0x7F) goto yy953; + if (yych <= 'z') goto yy951; + if (yych >= 0x7F) goto yy951; } } -yy955: - YYDEBUG(955, *YYCURSOR); +yy953: + YYDEBUG(953, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1821 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 8689 "Zend/zend_language_scanner.c" -yy956: - YYDEBUG(956, *YYCURSOR); +#line 8678 "Zend/zend_language_scanner.c" +yy954: + YYDEBUG(954, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy957: - YYDEBUG(957, *YYCURSOR); +yy955: + YYDEBUG(955, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy956; + goto yy954; } goto yy936; -yy958: - YYDEBUG(958, *YYCURSOR); +yy956: + YYDEBUG(956, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy963; + goto yy961; } - YYDEBUG(959, *YYCURSOR); + YYDEBUG(957, *YYCURSOR); YYCURSOR = YYMARKER; goto yy936; -yy960: - YYDEBUG(960, *YYCURSOR); +yy958: + YYDEBUG(958, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(961, *YYCURSOR); - if (yych <= '/') goto yy962; - if (yych <= '9') goto yy960; -yy962: - YYDEBUG(962, *YYCURSOR); + YYDEBUG(959, *YYCURSOR); + if (yych <= '/') goto yy960; + if (yych <= '9') goto yy958; +yy960: + YYDEBUG(960, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1540 "Zend/zend_language_scanner.l" +#line 1534 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } -#line 8728 "Zend/zend_language_scanner.c" -yy963: - YYDEBUG(963, *YYCURSOR); +#line 8717 "Zend/zend_language_scanner.c" +yy961: + YYDEBUG(961, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(964, *YYCURSOR); + YYDEBUG(962, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy963; + goto yy961; } - goto yy962; + goto yy960; } } -#line 2384 "Zend/zend_language_scanner.l" +#line 2373 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index f4c15bb460..f47c3c2ffe 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -858,7 +858,6 @@ HNUM "0x"[0-9a-fA-F]+ LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* WHITESPACE [ \n\r\t]+ TABS_AND_SPACES [ \t]* -TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@] ANY_CHAR [^] NEWLINE ("\r"|"\n"|"\r\n") @@ -1440,11 +1439,6 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_DOLLAR; } -<ST_IN_SCRIPTING>{TOKENS} { - return yytext[0]; -} - - <ST_IN_SCRIPTING>"{" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_LBRACE; @@ -1839,11 +1833,6 @@ inline_html: return T_RBRACKET; } -<ST_VAR_OFFSET>{TOKENS}|[{}"`] { - /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ - return yytext[0]; -} - <ST_VAR_OFFSET>[ \n\r\t\\'#] { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -1944,7 +1933,7 @@ inline_html: return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } else { yyless(1); - return yytext[0]; + return T_MOD; } } diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 1de5ccf7fc..689d24d9e5 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Sat Jul 10 16:00:37 2010 */ +/* Generated by re2c 0.13.5 on Sun Jul 11 18:23:43 2010 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { |