From 696b664caa382b0d0a5c50b0ef9548494b8cc11a Mon Sep 17 00:00:00 2001 From: Brian Shire Date: Tue, 19 May 2009 15:59:25 +0000 Subject: [PATCH] Fix bug #47859 parse_ini_file() does not like asterisk (*) in key in the beginning, and allow [*_-] chars at start of ini labels --- Zend/zend_ini_scanner.c | 335 ++++++++++++++++++----------------- Zend/zend_ini_scanner.l | 2 +- Zend/zend_ini_scanner_defs.h | 2 +- 3 files changed, 175 insertions(+), 164 deletions(-) diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index 72b2f79dd9..f3cda5f852 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Mon Feb 2 19:30:53 2009 */ +/* Generated by re2c 0.13.5 on Tue May 19 08:46:59 2009 */ #line 1 "Zend/zend_ini_scanner.l" /* +----------------------------------------------------------------------+ @@ -340,21 +340,21 @@ yyc_INITIAL: { static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, - 128, 192, 0, 128, 128, 0, 128, 128, + 128, 160, 0, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 192, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 160, 128, 128, 160, 160, 128, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 128, 128, 128, 128, 128, 128, - 128, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 128, 128, 128, 128, 160, - 128, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 128, 128, 128, 128, 128, + 160, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 192, 128, 128, 192, 192, 128, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 128, 128, 128, 128, 128, 128, + 128, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 128, 128, 128, 128, 192, + 128, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, @@ -372,7 +372,8 @@ yyc_INITIAL: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(1, *YYCURSOR); + + YYDEBUG(0, *YYCURSOR); YYFILL(6); yych = *YYCURSOR; YYDEBUG(-1, yych); @@ -389,11 +390,8 @@ yyc_INITIAL: case '\'': case '(': case ')': - case '*': case '+': case ',': - case '-': - case '.': case '/': case ':': case '<': @@ -406,6 +404,9 @@ yyc_INITIAL: case '|': case '}': case '~': goto yy10; + case '*': + case '-': + case '.': goto yy12; case '0': case '1': case '2': @@ -458,7 +459,7 @@ yyc_INITIAL: case 'v': case 'w': case 'x': - case 'z': goto yy12; + case 'z': goto yy13; case ';': goto yy14; case '=': goto yy15; case 'F': @@ -474,6 +475,14 @@ yyc_INITIAL: case '[': goto yy22; default: goto yy3; } +yy2: + YYDEBUG(2, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 391 "Zend/zend_ini_scanner.l" + { /* Get option name */ + RETURN_TOKEN(TC_LABEL, yytext, yyleng); +} +#line 486 "Zend/zend_ini_scanner.c" yy3: YYDEBUG(3, *YYCURSOR); ++YYCURSOR; @@ -483,7 +492,7 @@ yy3: { return 0; } -#line 487 "Zend/zend_ini_scanner.c" +#line 496 "Zend/zend_ini_scanner.c" yy5: YYDEBUG(5, *YYCURSOR); yyaccept = 0; @@ -497,7 +506,7 @@ yy6: /* eat whitespace */ goto restart; } -#line 501 "Zend/zend_ini_scanner.c" +#line 510 "Zend/zend_ini_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; @@ -509,7 +518,7 @@ yy8: SCNG(lineno)++; return END_OF_LINE; } -#line 513 "Zend/zend_ini_scanner.c" +#line 522 "Zend/zend_ini_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -524,20 +533,15 @@ yy10: { /* Disallow these chars outside option values */ return yytext[0]; } -#line 528 "Zend/zend_ini_scanner.c" +#line 537 "Zend/zend_ini_scanner.c" yy12: YYDEBUG(12, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy25; + yych = *++YYCURSOR; + goto yy28; yy13: YYDEBUG(13, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 391 "Zend/zend_ini_scanner.l" - { /* Get option name */ - RETURN_TOKEN(TC_LABEL, yytext, yyleng); -} -#line 541 "Zend/zend_ini_scanner.c" + yych = *++YYCURSOR; + goto yy28; yy14: YYDEBUG(14, *YYCURSOR); yyaccept = 1; @@ -560,27 +564,27 @@ yy16: } return '='; } -#line 564 "Zend/zend_ini_scanner.c" +#line 568 "Zend/zend_ini_scanner.c" yy17: YYDEBUG(17, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy45; if (yych == 'a') goto yy45; - goto yy25; + goto yy28; yy18: YYDEBUG(18, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'O') goto yy41; - if (yych <= 'T') goto yy25; + if (yych <= 'T') goto yy28; goto yy42; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy25; + if (yych <= 'n') goto yy28; goto yy41; } else { if (yych == 'u') goto yy42; - goto yy25; + goto yy28; } } yy19: @@ -588,15 +592,15 @@ yy19: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'F') goto yy36; - if (yych <= 'M') goto yy25; + if (yych <= 'M') goto yy28; goto yy30; } else { if (yych <= 'f') { - if (yych <= 'e') goto yy25; + if (yych <= 'e') goto yy28; goto yy36; } else { if (yych == 'n') goto yy30; - goto yy25; + goto yy28; } } yy20: @@ -604,16 +608,19 @@ yy20: yych = *++YYCURSOR; if (yych == 'R') goto yy34; if (yych == 'r') goto yy34; - goto yy25; + goto yy28; yy21: YYDEBUG(21, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy26; - if (yych == 'e') goto yy26; - goto yy25; + if (yych == 'E') goto yy29; + if (yych == 'e') goto yy29; + goto yy28; yy22: YYDEBUG(22, *YYCURSOR); ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 32) { + goto yy24; + } YYDEBUG(23, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 329 "Zend/zend_ini_scanner.l" @@ -626,35 +633,17 @@ yy22: } return TC_SECTION; } -#line 630 "Zend/zend_ini_scanner.c" +#line 637 "Zend/zend_ini_scanner.c" yy24: YYDEBUG(24, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy25: YYDEBUG(25, *YYCURSOR); if (yybm[0+yych] & 32) { goto yy24; } - if (yych == '[') goto yy27; - goto yy13; -yy26: YYDEBUG(26, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy30; - if (yych == 's') goto yy30; - goto yy25; -yy27: - YYDEBUG(27, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(28, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy27; - } - YYDEBUG(29, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 354 "Zend/zend_ini_scanner.l" { /* Start of option with offset */ @@ -666,14 +655,31 @@ yy27: RETURN_TOKEN(TC_OFFSET, yytext, yyleng); } -#line 670 "Zend/zend_ini_scanner.c" +#line 659 "Zend/zend_ini_scanner.c" +yy27: + YYDEBUG(27, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; +yy28: + YYDEBUG(28, *YYCURSOR); + if (yybm[0+yych] & 64) { + goto yy27; + } + if (yych == '[') goto yy24; + goto yy2; +yy29: + YYDEBUG(29, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy30; + if (yych != 's') goto yy28; yy30: YYDEBUG(30, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 32) { - goto yy24; + if (yybm[0+(yych = *YYCURSOR)] & 64) { + goto yy27; } - if (yych == '[') goto yy27; + if (yych == '[') goto yy24; goto yy33; yy31: YYDEBUG(31, *YYCURSOR); @@ -682,7 +688,7 @@ yy31: { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 686 "Zend/zend_ini_scanner.c" +#line 692 "Zend/zend_ini_scanner.c" yy32: YYDEBUG(32, *YYCURSOR); ++YYCURSOR; @@ -697,25 +703,25 @@ yy34: YYDEBUG(34, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy35; - if (yych != 'u') goto yy25; + if (yych != 'u') goto yy28; yy35: YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy30; if (yych == 'e') goto yy30; - goto yy25; + goto yy28; yy36: YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy37; - if (yych != 'f') goto yy25; + if (yych != 'f') goto yy28; yy37: YYDEBUG(37, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 32) { - goto yy24; + if (yybm[0+(yych = *YYCURSOR)] & 64) { + goto yy27; } - if (yych == '[') goto yy27; + if (yych == '[') goto yy24; goto yy40; yy38: YYDEBUG(38, *YYCURSOR); @@ -724,7 +730,7 @@ yy38: { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 728 "Zend/zend_ini_scanner.c" +#line 734 "Zend/zend_ini_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); ++YYCURSOR; @@ -740,32 +746,32 @@ yy41: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '.') { - if (yych == '*') goto yy24; + if (yych == '*') goto yy27; if (yych <= ',') goto yy40; - goto yy24; + goto yy27; } else { if (yych <= '9') { if (yych <= '/') goto yy40; - goto yy24; + goto yy27; } else { if (yych <= '@') goto yy40; - if (yych <= 'M') goto yy24; + if (yych <= 'M') goto yy27; goto yy44; } } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy24; - if (yych <= '[') goto yy27; + if (yych <= 'Z') goto yy27; + if (yych <= '[') goto yy24; if (yych <= '^') goto yy40; - goto yy24; + goto yy27; } else { if (yych <= 'm') { if (yych <= '`') goto yy40; - goto yy24; + goto yy27; } else { if (yych <= 'n') goto yy44; - if (yych <= 'z') goto yy24; + if (yych <= 'z') goto yy27; goto yy40; } } @@ -774,35 +780,35 @@ yy42: YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy43; - if (yych != 'l') goto yy25; + if (yych != 'l') goto yy28; yy43: YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy37; if (yych == 'l') goto yy37; - goto yy25; + goto yy28; yy44: YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy37; if (yych == 'e') goto yy37; - goto yy25; + goto yy28; yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy46; - if (yych != 'l') goto yy25; + if (yych != 'l') goto yy28; yy46: YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy47; - if (yych != 's') goto yy25; + if (yych != 's') goto yy28; yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy37; if (yych == 'e') goto yy37; - goto yy25; + goto yy28; yy48: YYDEBUG(48, *YYCURSOR); ++YYCURSOR; @@ -836,7 +842,7 @@ yy53: SCNG(lineno)++; return END_OF_LINE; } -#line 840 "Zend/zend_ini_scanner.c" +#line 846 "Zend/zend_ini_scanner.c" yy54: YYDEBUG(54, *YYCURSOR); yych = *++YYCURSOR; @@ -939,7 +945,7 @@ yy62: zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); return TC_QUOTED_STRING; } -#line 943 "Zend/zend_ini_scanner.c" +#line 949 "Zend/zend_ini_scanner.c" yy63: YYDEBUG(63, *YYCURSOR); ++YYCURSOR; @@ -953,7 +959,7 @@ yy64: yy_pop_state(TSRMLS_C); return '"'; } -#line 957 "Zend/zend_ini_scanner.c" +#line 963 "Zend/zend_ini_scanner.c" yy65: YYDEBUG(65, *YYCURSOR); ++YYCURSOR; @@ -972,7 +978,7 @@ yy66: { return 0; } -#line 976 "Zend/zend_ini_scanner.c" +#line 982 "Zend/zend_ini_scanner.c" yy67: YYDEBUG(67, *YYCURSOR); yyaccept = 1; @@ -985,7 +991,7 @@ yy67: yy69: YYDEBUG(69, *YYCURSOR); YYCURSOR = YYMARKER; - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy62; } else { goto yy66; @@ -1093,7 +1099,7 @@ yy82: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1097 "Zend/zend_ini_scanner.c" +#line 1103 "Zend/zend_ini_scanner.c" yy84: YYDEBUG(84, *YYCURSOR); ++YYCURSOR; @@ -1196,7 +1202,7 @@ yy89: { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 1200 "Zend/zend_ini_scanner.c" +#line 1206 "Zend/zend_ini_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); yyaccept = 0; @@ -1217,7 +1223,7 @@ yy92: { return 0; } -#line 1221 "Zend/zend_ini_scanner.c" +#line 1227 "Zend/zend_ini_scanner.c" yy93: YYDEBUG(93, *YYCURSOR); ++YYCURSOR; @@ -1229,7 +1235,7 @@ yy94: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 1233 "Zend/zend_ini_scanner.c" +#line 1239 "Zend/zend_ini_scanner.c" yy95: YYDEBUG(95, *YYCURSOR); yych = *++YYCURSOR; @@ -1295,7 +1301,7 @@ yy100: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 1299 "Zend/zend_ini_scanner.c" +#line 1305 "Zend/zend_ini_scanner.c" yy101: YYDEBUG(101, *YYCURSOR); yyaccept = 3; @@ -1325,7 +1331,7 @@ yy102: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 1329 "Zend/zend_ini_scanner.c" +#line 1335 "Zend/zend_ini_scanner.c" yy103: YYDEBUG(103, *YYCURSOR); yych = *++YYCURSOR; @@ -1341,7 +1347,7 @@ yy105: BEGIN(INITIAL); return ']'; } -#line 1345 "Zend/zend_ini_scanner.c" +#line 1351 "Zend/zend_ini_scanner.c" yy106: YYDEBUG(106, *YYCURSOR); yyaccept = 0; @@ -1377,13 +1383,13 @@ yy110: YYDEBUG(110, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy89; } else { goto yy92; } } else { - if (yyaccept == 2) { + if (yyaccept <= 2) { goto yy100; } else { goto yy102; @@ -1640,7 +1646,7 @@ yy127: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1644 "Zend/zend_ini_scanner.c" +#line 1650 "Zend/zend_ini_scanner.c" yy131: YYDEBUG(131, *YYCURSOR); ++YYCURSOR; @@ -1651,7 +1657,7 @@ yy131: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1655 "Zend/zend_ini_scanner.c" +#line 1661 "Zend/zend_ini_scanner.c" yy133: YYDEBUG(133, *YYCURSOR); yyaccept = 0; @@ -1767,7 +1773,7 @@ yy140: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1771 "Zend/zend_ini_scanner.c" +#line 1777 "Zend/zend_ini_scanner.c" yy141: YYDEBUG(141, *YYCURSOR); yyaccept = 0; @@ -1795,7 +1801,7 @@ yy143: SCNG(lineno)++; return END_OF_LINE; } -#line 1799 "Zend/zend_ini_scanner.c" +#line 1805 "Zend/zend_ini_scanner.c" yy144: YYDEBUG(144, *YYCURSOR); yych = *++YYCURSOR; @@ -1814,7 +1820,7 @@ yy146: BEGIN(INITIAL); return END_OF_LINE; } -#line 1818 "Zend/zend_ini_scanner.c" +#line 1824 "Zend/zend_ini_scanner.c" yy147: YYDEBUG(147, *YYCURSOR); yych = *++YYCURSOR; @@ -1842,7 +1848,7 @@ yy151: SCNG(lineno)++; return END_OF_LINE; } -#line 1846 "Zend/zend_ini_scanner.c" +#line 1852 "Zend/zend_ini_scanner.c" yy152: YYDEBUG(152, *YYCURSOR); yych = *++YYCURSOR; @@ -1948,7 +1954,7 @@ yy162: { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1952 "Zend/zend_ini_scanner.c" +#line 1958 "Zend/zend_ini_scanner.c" yy163: YYDEBUG(163, *YYCURSOR); ++YYCURSOR; @@ -1958,7 +1964,7 @@ yy163: { return 0; } -#line 1962 "Zend/zend_ini_scanner.c" +#line 1968 "Zend/zend_ini_scanner.c" yy165: YYDEBUG(165, *YYCURSOR); ++YYCURSOR; @@ -1973,7 +1979,7 @@ yy166: SCNG(lineno)++; return ']'; } -#line 1977 "Zend/zend_ini_scanner.c" +#line 1983 "Zend/zend_ini_scanner.c" yy167: YYDEBUG(167, *YYCURSOR); ++YYCURSOR; @@ -2098,7 +2104,7 @@ yy176: { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2102 "Zend/zend_ini_scanner.c" +#line 2108 "Zend/zend_ini_scanner.c" yy177: YYDEBUG(177, *YYCURSOR); yyaccept = 0; @@ -2121,7 +2127,7 @@ yy179: { return 0; } -#line 2125 "Zend/zend_ini_scanner.c" +#line 2131 "Zend/zend_ini_scanner.c" yy180: YYDEBUG(180, *YYCURSOR); ++YYCURSOR; @@ -2133,7 +2139,7 @@ yy181: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2137 "Zend/zend_ini_scanner.c" +#line 2143 "Zend/zend_ini_scanner.c" yy182: YYDEBUG(182, *YYCURSOR); yych = *++YYCURSOR; @@ -2199,7 +2205,7 @@ yy187: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2203 "Zend/zend_ini_scanner.c" +#line 2209 "Zend/zend_ini_scanner.c" yy188: YYDEBUG(188, *YYCURSOR); yyaccept = 3; @@ -2229,7 +2235,7 @@ yy189: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2233 "Zend/zend_ini_scanner.c" +#line 2239 "Zend/zend_ini_scanner.c" yy190: YYDEBUG(190, *YYCURSOR); yych = *++YYCURSOR; @@ -2248,7 +2254,7 @@ yy192: SCNG(lineno)++; return ']'; } -#line 2252 "Zend/zend_ini_scanner.c" +#line 2258 "Zend/zend_ini_scanner.c" yy193: YYDEBUG(193, *YYCURSOR); ++YYCURSOR; @@ -2306,13 +2312,13 @@ yy201: YYDEBUG(201, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy176; } else { goto yy179; } } else { - if (yyaccept == 2) { + if (yyaccept <= 2) { goto yy187; } else { goto yy189; @@ -2569,7 +2575,7 @@ yy218: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2573 "Zend/zend_ini_scanner.c" +#line 2579 "Zend/zend_ini_scanner.c" yy222: YYDEBUG(222, *YYCURSOR); ++YYCURSOR; @@ -2580,7 +2586,7 @@ yy222: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 2584 "Zend/zend_ini_scanner.c" +#line 2590 "Zend/zend_ini_scanner.c" yy224: YYDEBUG(224, *YYCURSOR); yyaccept = 0; @@ -2764,7 +2770,7 @@ yy230: BEGIN(INITIAL); return END_OF_LINE; } -#line 2768 "Zend/zend_ini_scanner.c" +#line 2774 "Zend/zend_ini_scanner.c" yy231: YYDEBUG(231, *YYCURSOR); yyaccept = 0; @@ -2777,7 +2783,7 @@ yy232: { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2781 "Zend/zend_ini_scanner.c" +#line 2787 "Zend/zend_ini_scanner.c" yy233: YYDEBUG(233, *YYCURSOR); yyaccept = 1; @@ -2790,7 +2796,7 @@ yy234: { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 2794 "Zend/zend_ini_scanner.c" +#line 2800 "Zend/zend_ini_scanner.c" yy235: YYDEBUG(235, *YYCURSOR); ++YYCURSOR; @@ -2803,7 +2809,7 @@ yy236: SCNG(lineno)++; return END_OF_LINE; } -#line 2807 "Zend/zend_ini_scanner.c" +#line 2813 "Zend/zend_ini_scanner.c" yy237: YYDEBUG(237, *YYCURSOR); yych = *++YYCURSOR; @@ -2821,7 +2827,7 @@ yy239: { /* Boolean operators */ return yytext[0]; } -#line 2825 "Zend/zend_ini_scanner.c" +#line 2831 "Zend/zend_ini_scanner.c" yy240: YYDEBUG(240, *YYCURSOR); ++YYCURSOR; @@ -2833,7 +2839,7 @@ yy241: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2837 "Zend/zend_ini_scanner.c" +#line 2843 "Zend/zend_ini_scanner.c" yy242: YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; @@ -2913,7 +2919,7 @@ yy247: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2917 "Zend/zend_ini_scanner.c" +#line 2923 "Zend/zend_ini_scanner.c" yy248: YYDEBUG(248, *YYCURSOR); yyaccept = 2; @@ -2930,7 +2936,7 @@ yy249: BEGIN(INITIAL); return END_OF_LINE; } -#line 2934 "Zend/zend_ini_scanner.c" +#line 2940 "Zend/zend_ini_scanner.c" yy251: YYDEBUG(251, *YYCURSOR); yyaccept = 4; @@ -2970,7 +2976,7 @@ yy252: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2974 "Zend/zend_ini_scanner.c" +#line 2980 "Zend/zend_ini_scanner.c" yy253: YYDEBUG(253, *YYCURSOR); yyaccept = 4; @@ -3370,13 +3376,13 @@ yy264: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy232; } else { goto yy234; } } else { - if (yyaccept == 2) { + if (yyaccept <= 2) { goto yy230; } else { goto yy247; @@ -3384,7 +3390,7 @@ yy264: } } else { if (yyaccept <= 5) { - if (yyaccept == 4) { + if (yyaccept <= 4) { goto yy252; } else { goto yy269; @@ -3466,7 +3472,7 @@ yy269: { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 3470 "Zend/zend_ini_scanner.c" +#line 3476 "Zend/zend_ini_scanner.c" yy270: YYDEBUG(270, *YYCURSOR); ++YYCURSOR; @@ -3670,7 +3676,7 @@ yy276: { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 3674 "Zend/zend_ini_scanner.c" +#line 3680 "Zend/zend_ini_scanner.c" yy277: YYDEBUG(277, *YYCURSOR); ++YYCURSOR; @@ -4052,7 +4058,7 @@ yy289: SCNG(lineno)++; return END_OF_LINE; } -#line 4056 "Zend/zend_ini_scanner.c" +#line 4062 "Zend/zend_ini_scanner.c" yy290: YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; @@ -4273,7 +4279,7 @@ yy299: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 4277 "Zend/zend_ini_scanner.c" +#line 4283 "Zend/zend_ini_scanner.c" yy303: YYDEBUG(303, *YYCURSOR); ++YYCURSOR; @@ -4284,7 +4290,7 @@ yy303: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 4288 "Zend/zend_ini_scanner.c" +#line 4294 "Zend/zend_ini_scanner.c" yy305: YYDEBUG(305, *YYCURSOR); ++YYCURSOR; @@ -4374,43 +4380,48 @@ yyc_ST_VARNAME: YYDEBUG(312, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy316; + if (yych <= '@') { + if (yych <= ',') { + if (yych == '*') goto yy317; + goto yy315; } else { - if (yych <= '@') goto yy314; - if (yych <= 'Z') goto yy316; + if (yych == '/') goto yy315; + if (yych <= '9') goto yy317; + goto yy315; } } else { - if (yych <= 'z') { - if (yych != '`') goto yy316; + if (yych <= '`') { + if (yych <= 'Z') goto yy317; + if (yych == '_') goto yy317; + goto yy315; } else { + if (yych <= 'z') goto yy317; if (yych == '}') goto yy318; + goto yy315; } } yy314: YYDEBUG(314, *YYCURSOR); - ++YYCURSOR; + yyleng = YYCURSOR - SCNG(yy_text); +#line 374 "Zend/zend_ini_scanner.l" + { /* Variable name */ + RETURN_TOKEN(TC_VARNAME, yytext, yyleng); +} +#line 4411 "Zend/zend_ini_scanner.c" +yy315: YYDEBUG(315, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(316, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 497 "Zend/zend_ini_scanner.l" { return 0; } -#line 4401 "Zend/zend_ini_scanner.c" -yy316: - YYDEBUG(316, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy321; +#line 4421 "Zend/zend_ini_scanner.c" yy317: YYDEBUG(317, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 374 "Zend/zend_ini_scanner.l" - { /* Variable name */ - RETURN_TOKEN(TC_VARNAME, yytext, yyleng); -} -#line 4414 "Zend/zend_ini_scanner.c" + yych = *++YYCURSOR; + goto yy321; yy318: YYDEBUG(318, *YYCURSOR); ++YYCURSOR; @@ -4421,7 +4432,7 @@ yy318: yy_pop_state(TSRMLS_C); return '}'; } -#line 4425 "Zend/zend_ini_scanner.c" +#line 4436 "Zend/zend_ini_scanner.c" yy320: YYDEBUG(320, *YYCURSOR); ++YYCURSOR; @@ -4432,7 +4443,7 @@ yy321: if (yybm[0+yych] & 128) { goto yy320; } - goto yy317; + goto yy314; } } #line 501 "Zend/zend_ini_scanner.l" diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l index 8e28618ae5..ff1bf3f909 100644 --- a/Zend/zend_ini_scanner.l +++ b/Zend/zend_ini_scanner.l @@ -309,7 +309,7 @@ NEWLINE ("\r"|"\n"|"\r\n") TABS_AND_SPACES [ \t] WHITESPACE [ \t]+ CONSTANT [a-zA-Z][a-zA-Z0-9_]* -LABEL [a-zA-Z0-9_][a-zA-Z0-9*._-]* +LABEL [a-zA-Z0-9*._-]* TOKENS [:,.\[\]"'()|^&+-/*=%$!~<>?@{}] OPERATORS [&|~()!] DOLLAR_CURLY "${" diff --git a/Zend/zend_ini_scanner_defs.h b/Zend/zend_ini_scanner_defs.h index 624c0d57dc..009725b282 100644 --- a/Zend/zend_ini_scanner_defs.h +++ b/Zend/zend_ini_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Mon Feb 2 19:30:53 2009 */ +/* Generated by re2c 0.13.5 on Tue May 19 08:46:59 2009 */ #line 3 "Zend/zend_ini_scanner_defs.h" enum YYCONDTYPE { -- 2.40.0