MFH: Fix bug #47859 parse_ini_file() does not like asterisk (*) in key in the beginning, and allow [*_-] chars at start of ini labels

This commit is contained in:
Brian Shire 2009-05-19 15:59:36 +00:00
parent 59bc60ffbe
commit c80f0bf769
3 changed files with 179 additions and 168 deletions

View File

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.6.dev on Mon Feb 2 19:23:18 2009 */
/* Generated by re2c 0.13.5 on Tue May 19 08:53:54 2009 */
#line 1 "Zend/zend_ini_scanner.l"
/*
+----------------------------------------------------------------------+
@ -339,21 +339,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,
@ -371,7 +371,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);
@ -388,11 +389,8 @@ yyc_INITIAL:
case '\'':
case '(':
case ')':
case '*':
case '+':
case ',':
case '-':
case '.':
case '/':
case ':':
case '<':
@ -406,6 +404,9 @@ yyc_INITIAL:
case '}':
case '~': goto yy10;
case '#': goto yy12;
case '*':
case '-':
case '.': goto yy13;
case '0':
case '1':
case '2':
@ -458,7 +459,7 @@ yyc_INITIAL:
case 'v':
case 'w':
case 'x':
case 'z': goto yy13;
case 'z': goto yy14;
case ';': goto yy15;
case '=': goto yy16;
case 'F':
@ -474,6 +475,14 @@ yyc_INITIAL:
case '[': goto yy23;
default: goto yy3;
}
yy2:
YYDEBUG(2, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 389 "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,7 +533,7 @@ 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);
yyaccept = 1;
@ -532,17 +541,12 @@ yy12:
goto yy57;
yy13:
YYDEBUG(13, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
goto yy26;
yych = *++YYCURSOR;
goto yy29;
yy14:
YYDEBUG(14, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 389 "Zend/zend_ini_scanner.l"
{ /* Get option name */
RETURN_TOKEN(TC_LABEL, yytext, yyleng);
}
#line 546 "Zend/zend_ini_scanner.c"
yych = *++YYCURSOR;
goto yy29;
yy15:
YYDEBUG(15, *YYCURSOR);
yyaccept = 1;
@ -565,27 +569,27 @@ yy17:
}
return '=';
}
#line 569 "Zend/zend_ini_scanner.c"
#line 573 "Zend/zend_ini_scanner.c"
yy18:
YYDEBUG(18, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'A') goto yy46;
if (yych == 'a') goto yy46;
goto yy26;
goto yy29;
yy19:
YYDEBUG(19, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'U') {
if (yych == 'O') goto yy42;
if (yych <= 'T') goto yy26;
if (yych <= 'T') goto yy29;
goto yy43;
} else {
if (yych <= 'o') {
if (yych <= 'n') goto yy26;
if (yych <= 'n') goto yy29;
goto yy42;
} else {
if (yych == 'u') goto yy43;
goto yy26;
goto yy29;
}
}
yy20:
@ -593,15 +597,15 @@ yy20:
yych = *++YYCURSOR;
if (yych <= 'N') {
if (yych == 'F') goto yy37;
if (yych <= 'M') goto yy26;
if (yych <= 'M') goto yy29;
goto yy31;
} else {
if (yych <= 'f') {
if (yych <= 'e') goto yy26;
if (yych <= 'e') goto yy29;
goto yy37;
} else {
if (yych == 'n') goto yy31;
goto yy26;
goto yy29;
}
}
yy21:
@ -609,16 +613,19 @@ yy21:
yych = *++YYCURSOR;
if (yych == 'R') goto yy35;
if (yych == 'r') goto yy35;
goto yy26;
goto yy29;
yy22:
YYDEBUG(22, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'E') goto yy27;
if (yych == 'e') goto yy27;
goto yy26;
if (yych == 'E') goto yy30;
if (yych == 'e') goto yy30;
goto yy29;
yy23:
YYDEBUG(23, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 32) {
goto yy25;
}
YYDEBUG(24, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 327 "Zend/zend_ini_scanner.l"
@ -631,35 +638,17 @@ yy23:
}
return TC_SECTION;
}
#line 635 "Zend/zend_ini_scanner.c"
#line 642 "Zend/zend_ini_scanner.c"
yy25:
YYDEBUG(25, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
yy26:
YYDEBUG(26, *YYCURSOR);
if (yybm[0+yych] & 32) {
goto yy25;
}
if (yych == '[') goto yy28;
goto yy14;
yy27:
YYDEBUG(27, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'S') goto yy31;
if (yych == 's') goto yy31;
goto yy26;
yy28:
YYDEBUG(28, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
YYDEBUG(29, *YYCURSOR);
if (yybm[0+yych] & 64) {
goto yy28;
}
YYDEBUG(30, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 352 "Zend/zend_ini_scanner.l"
{ /* Start of option with offset */
@ -671,14 +660,31 @@ yy28:
RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
}
#line 675 "Zend/zend_ini_scanner.c"
#line 664 "Zend/zend_ini_scanner.c"
yy28:
YYDEBUG(28, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
yy29:
YYDEBUG(29, *YYCURSOR);
if (yybm[0+yych] & 64) {
goto yy28;
}
if (yych == '[') goto yy25;
goto yy2;
yy30:
YYDEBUG(30, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'S') goto yy31;
if (yych != 's') goto yy29;
yy31:
YYDEBUG(31, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 32) {
goto yy25;
if (yybm[0+(yych = *YYCURSOR)] & 64) {
goto yy28;
}
if (yych == '[') goto yy28;
if (yych == '[') goto yy25;
goto yy34;
yy32:
YYDEBUG(32, *YYCURSOR);
@ -687,7 +693,7 @@ yy32:
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
#line 691 "Zend/zend_ini_scanner.c"
#line 697 "Zend/zend_ini_scanner.c"
yy33:
YYDEBUG(33, *YYCURSOR);
++YYCURSOR;
@ -702,25 +708,25 @@ yy35:
YYDEBUG(35, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'U') goto yy36;
if (yych != 'u') goto yy26;
if (yych != 'u') goto yy29;
yy36:
YYDEBUG(36, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'E') goto yy31;
if (yych == 'e') goto yy31;
goto yy26;
goto yy29;
yy37:
YYDEBUG(37, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'F') goto yy38;
if (yych != 'f') goto yy26;
if (yych != 'f') goto yy29;
yy38:
YYDEBUG(38, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 32) {
goto yy25;
if (yybm[0+(yych = *YYCURSOR)] & 64) {
goto yy28;
}
if (yych == '[') goto yy28;
if (yych == '[') goto yy25;
goto yy41;
yy39:
YYDEBUG(39, *YYCURSOR);
@ -729,7 +735,7 @@ yy39:
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
#line 733 "Zend/zend_ini_scanner.c"
#line 739 "Zend/zend_ini_scanner.c"
yy40:
YYDEBUG(40, *YYCURSOR);
++YYCURSOR;
@ -745,32 +751,32 @@ yy42:
yych = *++YYCURSOR;
if (yych <= 'N') {
if (yych <= '.') {
if (yych == '*') goto yy25;
if (yych == '*') goto yy28;
if (yych <= ',') goto yy41;
goto yy25;
goto yy28;
} else {
if (yych <= '9') {
if (yych <= '/') goto yy41;
goto yy25;
goto yy28;
} else {
if (yych <= '@') goto yy41;
if (yych <= 'M') goto yy25;
if (yych <= 'M') goto yy28;
goto yy45;
}
}
} else {
if (yych <= '_') {
if (yych <= 'Z') goto yy25;
if (yych <= '[') goto yy28;
if (yych <= 'Z') goto yy28;
if (yych <= '[') goto yy25;
if (yych <= '^') goto yy41;
goto yy25;
goto yy28;
} else {
if (yych <= 'm') {
if (yych <= '`') goto yy41;
goto yy25;
goto yy28;
} else {
if (yych <= 'n') goto yy45;
if (yych <= 'z') goto yy25;
if (yych <= 'z') goto yy28;
goto yy41;
}
}
@ -779,35 +785,35 @@ yy43:
YYDEBUG(43, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'L') goto yy44;
if (yych != 'l') goto yy26;
if (yych != 'l') goto yy29;
yy44:
YYDEBUG(44, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'L') goto yy38;
if (yych == 'l') goto yy38;
goto yy26;
goto yy29;
yy45:
YYDEBUG(45, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'E') goto yy38;
if (yych == 'e') goto yy38;
goto yy26;
goto yy29;
yy46:
YYDEBUG(46, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'L') goto yy47;
if (yych != 'l') goto yy26;
if (yych != 'l') goto yy29;
yy47:
YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'S') goto yy48;
if (yych != 's') goto yy26;
if (yych != 's') goto yy29;
yy48:
YYDEBUG(48, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'E') goto yy38;
if (yych == 'e') goto yy38;
goto yy26;
goto yy29;
yy49:
YYDEBUG(49, *YYCURSOR);
++YYCURSOR;
@ -841,7 +847,7 @@ yy54:
SCNG(lineno)++;
return END_OF_LINE;
}
#line 845 "Zend/zend_ini_scanner.c"
#line 851 "Zend/zend_ini_scanner.c"
yy55:
YYDEBUG(55, *YYCURSOR);
yych = *++YYCURSOR;
@ -870,7 +876,7 @@ yy59:
SCNG(lineno)++;
return END_OF_LINE;
}
#line 874 "Zend/zend_ini_scanner.c"
#line 880 "Zend/zend_ini_scanner.c"
yy60:
YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
@ -976,7 +982,7 @@ yy68:
zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
return TC_QUOTED_STRING;
}
#line 980 "Zend/zend_ini_scanner.c"
#line 986 "Zend/zend_ini_scanner.c"
yy69:
YYDEBUG(69, *YYCURSOR);
++YYCURSOR;
@ -990,7 +996,7 @@ yy70:
yy_pop_state(TSRMLS_C);
return '"';
}
#line 994 "Zend/zend_ini_scanner.c"
#line 1000 "Zend/zend_ini_scanner.c"
yy71:
YYDEBUG(71, *YYCURSOR);
++YYCURSOR;
@ -1009,7 +1015,7 @@ yy72:
{
return 0;
}
#line 1013 "Zend/zend_ini_scanner.c"
#line 1019 "Zend/zend_ini_scanner.c"
yy73:
YYDEBUG(73, *YYCURSOR);
yyaccept = 1;
@ -1022,7 +1028,7 @@ yy73:
yy75:
YYDEBUG(75, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept == 0) {
if (yyaccept <= 0) {
goto yy68;
} else {
goto yy72;
@ -1130,7 +1136,7 @@ yy88:
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
#line 1134 "Zend/zend_ini_scanner.c"
#line 1140 "Zend/zend_ini_scanner.c"
yy90:
YYDEBUG(90, *YYCURSOR);
++YYCURSOR;
@ -1233,7 +1239,7 @@ yy95:
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
#line 1237 "Zend/zend_ini_scanner.c"
#line 1243 "Zend/zend_ini_scanner.c"
yy96:
YYDEBUG(96, *YYCURSOR);
yyaccept = 0;
@ -1254,7 +1260,7 @@ yy98:
{
return 0;
}
#line 1258 "Zend/zend_ini_scanner.c"
#line 1264 "Zend/zend_ini_scanner.c"
yy99:
YYDEBUG(99, *YYCURSOR);
++YYCURSOR;
@ -1266,7 +1272,7 @@ yy100:
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
return '"';
}
#line 1270 "Zend/zend_ini_scanner.c"
#line 1276 "Zend/zend_ini_scanner.c"
yy101:
YYDEBUG(101, *YYCURSOR);
yych = *++YYCURSOR;
@ -1332,7 +1338,7 @@ yy106:
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
#line 1336 "Zend/zend_ini_scanner.c"
#line 1342 "Zend/zend_ini_scanner.c"
yy107:
YYDEBUG(107, *YYCURSOR);
yyaccept = 3;
@ -1362,7 +1368,7 @@ yy108:
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
#line 1366 "Zend/zend_ini_scanner.c"
#line 1372 "Zend/zend_ini_scanner.c"
yy109:
YYDEBUG(109, *YYCURSOR);
yych = *++YYCURSOR;
@ -1378,7 +1384,7 @@ yy111:
BEGIN(INITIAL);
return ']';
}
#line 1382 "Zend/zend_ini_scanner.c"
#line 1388 "Zend/zend_ini_scanner.c"
yy112:
YYDEBUG(112, *YYCURSOR);
yyaccept = 0;
@ -1414,13 +1420,13 @@ yy116:
YYDEBUG(116, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
if (yyaccept <= 0) {
goto yy95;
} else {
goto yy98;
}
} else {
if (yyaccept == 2) {
if (yyaccept <= 2) {
goto yy106;
} else {
goto yy108;
@ -1677,7 +1683,7 @@ yy133:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
#line 1681 "Zend/zend_ini_scanner.c"
#line 1687 "Zend/zend_ini_scanner.c"
yy137:
YYDEBUG(137, *YYCURSOR);
++YYCURSOR;
@ -1688,7 +1694,7 @@ yy137:
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
#line 1692 "Zend/zend_ini_scanner.c"
#line 1698 "Zend/zend_ini_scanner.c"
yy139:
YYDEBUG(139, *YYCURSOR);
yyaccept = 0;
@ -1804,7 +1810,7 @@ yy146:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
#line 1808 "Zend/zend_ini_scanner.c"
#line 1814 "Zend/zend_ini_scanner.c"
yy147:
YYDEBUG(147, *YYCURSOR);
yyaccept = 0;
@ -1832,7 +1838,7 @@ yy149:
SCNG(lineno)++;
return END_OF_LINE;
}
#line 1836 "Zend/zend_ini_scanner.c"
#line 1842 "Zend/zend_ini_scanner.c"
yy150:
YYDEBUG(150, *YYCURSOR);
yych = *++YYCURSOR;
@ -1851,7 +1857,7 @@ yy152:
BEGIN(INITIAL);
return END_OF_LINE;
}
#line 1855 "Zend/zend_ini_scanner.c"
#line 1861 "Zend/zend_ini_scanner.c"
yy153:
YYDEBUG(153, *YYCURSOR);
yych = *++YYCURSOR;
@ -1879,7 +1885,7 @@ yy157:
SCNG(lineno)++;
return END_OF_LINE;
}
#line 1883 "Zend/zend_ini_scanner.c"
#line 1889 "Zend/zend_ini_scanner.c"
yy158:
YYDEBUG(158, *YYCURSOR);
yych = *++YYCURSOR;
@ -1985,7 +1991,7 @@ yy168:
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
#line 1989 "Zend/zend_ini_scanner.c"
#line 1995 "Zend/zend_ini_scanner.c"
yy169:
YYDEBUG(169, *YYCURSOR);
++YYCURSOR;
@ -1995,7 +2001,7 @@ yy169:
{
return 0;
}
#line 1999 "Zend/zend_ini_scanner.c"
#line 2005 "Zend/zend_ini_scanner.c"
yy171:
YYDEBUG(171, *YYCURSOR);
++YYCURSOR;
@ -2010,7 +2016,7 @@ yy172:
SCNG(lineno)++;
return ']';
}
#line 2014 "Zend/zend_ini_scanner.c"
#line 2020 "Zend/zend_ini_scanner.c"
yy173:
YYDEBUG(173, *YYCURSOR);
++YYCURSOR;
@ -2135,7 +2141,7 @@ yy182:
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
#line 2139 "Zend/zend_ini_scanner.c"
#line 2145 "Zend/zend_ini_scanner.c"
yy183:
YYDEBUG(183, *YYCURSOR);
yyaccept = 0;
@ -2158,7 +2164,7 @@ yy185:
{
return 0;
}
#line 2162 "Zend/zend_ini_scanner.c"
#line 2168 "Zend/zend_ini_scanner.c"
yy186:
YYDEBUG(186, *YYCURSOR);
++YYCURSOR;
@ -2170,7 +2176,7 @@ yy187:
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
return '"';
}
#line 2174 "Zend/zend_ini_scanner.c"
#line 2180 "Zend/zend_ini_scanner.c"
yy188:
YYDEBUG(188, *YYCURSOR);
yych = *++YYCURSOR;
@ -2236,7 +2242,7 @@ yy193:
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
#line 2240 "Zend/zend_ini_scanner.c"
#line 2246 "Zend/zend_ini_scanner.c"
yy194:
YYDEBUG(194, *YYCURSOR);
yyaccept = 3;
@ -2266,7 +2272,7 @@ yy195:
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
#line 2270 "Zend/zend_ini_scanner.c"
#line 2276 "Zend/zend_ini_scanner.c"
yy196:
YYDEBUG(196, *YYCURSOR);
yych = *++YYCURSOR;
@ -2285,7 +2291,7 @@ yy198:
SCNG(lineno)++;
return ']';
}
#line 2289 "Zend/zend_ini_scanner.c"
#line 2295 "Zend/zend_ini_scanner.c"
yy199:
YYDEBUG(199, *YYCURSOR);
++YYCURSOR;
@ -2343,13 +2349,13 @@ yy207:
YYDEBUG(207, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
if (yyaccept <= 0) {
goto yy182;
} else {
goto yy185;
}
} else {
if (yyaccept == 2) {
if (yyaccept <= 2) {
goto yy193;
} else {
goto yy195;
@ -2606,7 +2612,7 @@ yy224:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
#line 2610 "Zend/zend_ini_scanner.c"
#line 2616 "Zend/zend_ini_scanner.c"
yy228:
YYDEBUG(228, *YYCURSOR);
++YYCURSOR;
@ -2617,7 +2623,7 @@ yy228:
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
#line 2621 "Zend/zend_ini_scanner.c"
#line 2627 "Zend/zend_ini_scanner.c"
yy230:
YYDEBUG(230, *YYCURSOR);
yyaccept = 0;
@ -2801,7 +2807,7 @@ yy236:
BEGIN(INITIAL);
return END_OF_LINE;
}
#line 2805 "Zend/zend_ini_scanner.c"
#line 2811 "Zend/zend_ini_scanner.c"
yy237:
YYDEBUG(237, *YYCURSOR);
yyaccept = 0;
@ -2814,7 +2820,7 @@ yy238:
{ /* Get everything else as option/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
#line 2818 "Zend/zend_ini_scanner.c"
#line 2824 "Zend/zend_ini_scanner.c"
yy239:
YYDEBUG(239, *YYCURSOR);
yyaccept = 1;
@ -2827,7 +2833,7 @@ yy240:
{
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
}
#line 2831 "Zend/zend_ini_scanner.c"
#line 2837 "Zend/zend_ini_scanner.c"
yy241:
YYDEBUG(241, *YYCURSOR);
++YYCURSOR;
@ -2840,7 +2846,7 @@ yy242:
SCNG(lineno)++;
return END_OF_LINE;
}
#line 2844 "Zend/zend_ini_scanner.c"
#line 2850 "Zend/zend_ini_scanner.c"
yy243:
YYDEBUG(243, *YYCURSOR);
yych = *++YYCURSOR;
@ -2858,7 +2864,7 @@ yy245:
{ /* Boolean operators */
return yytext[0];
}
#line 2862 "Zend/zend_ini_scanner.c"
#line 2868 "Zend/zend_ini_scanner.c"
yy246:
YYDEBUG(246, *YYCURSOR);
++YYCURSOR;
@ -2870,7 +2876,7 @@ yy247:
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
return '"';
}
#line 2874 "Zend/zend_ini_scanner.c"
#line 2880 "Zend/zend_ini_scanner.c"
yy248:
YYDEBUG(248, *YYCURSOR);
yych = *++YYCURSOR;
@ -2950,7 +2956,7 @@ yy253:
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
#line 2954 "Zend/zend_ini_scanner.c"
#line 2960 "Zend/zend_ini_scanner.c"
yy254:
YYDEBUG(254, *YYCURSOR);
yyaccept = 2;
@ -2967,7 +2973,7 @@ yy255:
BEGIN(INITIAL);
return END_OF_LINE;
}
#line 2971 "Zend/zend_ini_scanner.c"
#line 2977 "Zend/zend_ini_scanner.c"
yy257:
YYDEBUG(257, *YYCURSOR);
yyaccept = 4;
@ -3007,7 +3013,7 @@ yy258:
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
#line 3011 "Zend/zend_ini_scanner.c"
#line 3017 "Zend/zend_ini_scanner.c"
yy259:
YYDEBUG(259, *YYCURSOR);
yyaccept = 4;
@ -3407,13 +3413,13 @@ yy270:
YYCURSOR = YYMARKER;
if (yyaccept <= 3) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
if (yyaccept <= 0) {
goto yy238;
} else {
goto yy240;
}
} else {
if (yyaccept == 2) {
if (yyaccept <= 2) {
goto yy236;
} else {
goto yy253;
@ -3421,7 +3427,7 @@ yy270:
}
} else {
if (yyaccept <= 5) {
if (yyaccept == 4) {
if (yyaccept <= 4) {
goto yy258;
} else {
goto yy275;
@ -3503,7 +3509,7 @@ yy275:
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
#line 3507 "Zend/zend_ini_scanner.c"
#line 3513 "Zend/zend_ini_scanner.c"
yy276:
YYDEBUG(276, *YYCURSOR);
++YYCURSOR;
@ -3707,7 +3713,7 @@ yy282:
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
#line 3711 "Zend/zend_ini_scanner.c"
#line 3717 "Zend/zend_ini_scanner.c"
yy283:
YYDEBUG(283, *YYCURSOR);
++YYCURSOR;
@ -4089,7 +4095,7 @@ yy295:
SCNG(lineno)++;
return END_OF_LINE;
}
#line 4093 "Zend/zend_ini_scanner.c"
#line 4099 "Zend/zend_ini_scanner.c"
yy296:
YYDEBUG(296, *YYCURSOR);
yych = *++YYCURSOR;
@ -4310,7 +4316,7 @@ yy305:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
#line 4314 "Zend/zend_ini_scanner.c"
#line 4320 "Zend/zend_ini_scanner.c"
yy309:
YYDEBUG(309, *YYCURSOR);
++YYCURSOR;
@ -4321,7 +4327,7 @@ yy309:
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
#line 4325 "Zend/zend_ini_scanner.c"
#line 4331 "Zend/zend_ini_scanner.c"
yy311:
YYDEBUG(311, *YYCURSOR);
++YYCURSOR;
@ -4411,43 +4417,48 @@ yyc_ST_VARNAME:
YYDEBUG(318, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
if (yych >= '0') goto yy322;
if (yych <= '@') {
if (yych <= ',') {
if (yych == '*') goto yy323;
goto yy321;
} else {
if (yych <= '@') goto yy320;
if (yych <= 'Z') goto yy322;
if (yych == '/') goto yy321;
if (yych <= '9') goto yy323;
goto yy321;
}
} else {
if (yych <= 'z') {
if (yych != '`') goto yy322;
if (yych <= '`') {
if (yych <= 'Z') goto yy323;
if (yych == '_') goto yy323;
goto yy321;
} else {
if (yych <= 'z') goto yy323;
if (yych == '}') goto yy324;
goto yy321;
}
}
yy320:
YYDEBUG(320, *YYCURSOR);
++YYCURSOR;
YYDEBUG(321, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 502 "Zend/zend_ini_scanner.l"
{
return 0;
}
#line 4438 "Zend/zend_ini_scanner.c"
yy322:
YYDEBUG(322, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
goto yy327;
yy323:
YYDEBUG(323, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 372 "Zend/zend_ini_scanner.l"
{ /* Variable name */
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
}
#line 4451 "Zend/zend_ini_scanner.c"
#line 4448 "Zend/zend_ini_scanner.c"
yy321:
YYDEBUG(321, *YYCURSOR);
++YYCURSOR;
YYDEBUG(322, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
#line 502 "Zend/zend_ini_scanner.l"
{
return 0;
}
#line 4458 "Zend/zend_ini_scanner.c"
yy323:
YYDEBUG(323, *YYCURSOR);
yych = *++YYCURSOR;
goto yy327;
yy324:
YYDEBUG(324, *YYCURSOR);
++YYCURSOR;
@ -4458,7 +4469,7 @@ yy324:
yy_pop_state(TSRMLS_C);
return '}';
}
#line 4462 "Zend/zend_ini_scanner.c"
#line 4473 "Zend/zend_ini_scanner.c"
yy326:
YYDEBUG(326, *YYCURSOR);
++YYCURSOR;
@ -4469,7 +4480,7 @@ yy327:
if (yybm[0+yych] & 128) {
goto yy326;
}
goto yy323;
goto yy320;
}
}
#line 506 "Zend/zend_ini_scanner.l"

View File

@ -308,7 +308,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 "${"

View File

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.6.dev on Mon Feb 2 19:23:18 2009 */
/* Generated by re2c 0.13.5 on Tue May 19 08:53:54 2009 */
#line 3 "Zend/zend_ini_scanner_defs.h"
enum YYCONDTYPE {