-/* Generated by re2c 0.10.0.dev on Sun Jan 1 19:37:31 2006 */
+/* Generated by re2c 0.10.0.dev on Mon Jan 2 11:47:26 2006 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
goto yy29;
++YYCURSOR;
yy29:
- if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ if((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if(yych <= '/') {
if(yych <= '!') {
if(yych != ':') goto yy61;
goto yy65;
yy65:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
if(yych <= '@') goto yy66;
if(yych <= 'Z') goto yy67;
if(yych <= '`') goto yy66;
case 1: goto yy38;
case 2: goto yy40;
case 3: goto yy42;
- case 5: goto yy98;
+ case 6: goto yy98;
+ case 5: goto yy69;
case 4: goto yy46;
}
yy67:
- ++YYCURSOR;
+ yyaccept = 5;
+ YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy68;
yy68:
if(yych <= 'Z') {
- if(yych <= '/') goto yy69;
- if(yych <= ':') goto yy67;
- if(yych >= 'A') goto yy67;
- goto yy69;
+ if(yych <= '9') {
+ if(yych >= '0') goto yy67;
+ goto yy69;
+ } else {
+ if(yych <= ':') goto yy65;
+ if(yych >= 'A') goto yy67;
+ goto yy69;
+ }
} else {
if(yych <= '_') {
if(yych >= '_') goto yy67;
yylval.str = new Str(token());
return CONFIG;
}
-#line 551 "scanner.cc"
+#line 559 "scanner.cc"
yy70:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 594 "scanner.cc"
+#line 602 "scanner.cc"
yy77:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = invToRE(token());
return RANGE; }
-#line 609 "scanner.cc"
+#line 617 "scanner.cc"
yy80:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 638 "scanner.cc"
+#line 646 "scanner.cc"
yy85:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 667 "scanner.cc"
+#line 675 "scanner.cc"
yy90:
++YYCURSOR;
goto yy91;
#line 167 "scanner.re"
{ tok = cursor;
RETURN(0); }
-#line 675 "scanner.cc"
+#line 683 "scanner.cc"
yy92:
++YYCURSOR;
goto yy93;
#line 164 "scanner.re"
{ depth = 1;
goto comment; }
-#line 683 "scanner.cc"
+#line 691 "scanner.cc"
yy94:
yych = *++YYCURSOR;
if(yych == ',') goto yy108;
yy98:
#line 211 "scanner.re"
{ fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); }
-#line 708 "scanner.cc"
+#line 716 "scanner.cc"
yy99:
++YYCURSOR;
goto yy100;
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 717 "scanner.cc"
+#line 725 "scanner.cc"
yy101:
- yyaccept = 5;
+ yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') goto yy98;
if(yych <= '9') goto yy104;
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 733 "scanner.cc"
+#line 741 "scanner.cc"
yy104:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 752 "scanner.cc"
+#line 760 "scanner.cc"
yy108:
- yyaccept = 5;
+ yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') goto yy98;
if(yych <= '9') goto yy104;
#line 196 "scanner.re"
{ yylval.op = '*';
RETURN(CLOSE); }
-#line 767 "scanner.cc"
+#line 775 "scanner.cc"
}
#line 248 "scanner.re"
code:
-#line 774 "scanner.cc"
+#line 782 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
return CODE;
}
goto code; }
-#line 812 "scanner.cc"
+#line 820 "scanner.cc"
yy115:
++YYCURSOR;
goto yy116;
#line 258 "scanner.re"
{ ++depth;
goto code; }
-#line 820 "scanner.cc"
+#line 828 "scanner.cc"
yy117:
++YYCURSOR;
goto yy118;
pos = cursor; cline++;
goto code;
}
-#line 830 "scanner.cc"
+#line 838 "scanner.cc"
yy119:
++YYCURSOR;
goto yy120;
yy120:
#line 264 "scanner.re"
{ goto code; }
-#line 837 "scanner.cc"
+#line 845 "scanner.cc"
yy121:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
comment:
-#line 899 "scanner.cc"
+#line 907 "scanner.cc"
{
YYCTYPE yych;
goto yy130;
yy133:
#line 280 "scanner.re"
{ goto comment; }
-#line 922 "scanner.cc"
+#line 930 "scanner.cc"
yy134:
yych = *++YYCURSOR;
if(yych == '*') goto yy138;
tok = pos = cursor; cline++;
goto comment;
}
-#line 936 "scanner.cc"
+#line 944 "scanner.cc"
yy137:
yych = *++YYCURSOR;
goto yy133;
{ ++depth;
fatal("ambiguous /* found");
goto comment; }
-#line 948 "scanner.cc"
+#line 956 "scanner.cc"
yy140:
++YYCURSOR;
goto yy141;
goto scan;
else
goto comment; }
-#line 958 "scanner.cc"
+#line 966 "scanner.cc"
}
#line 281 "scanner.re"
config:
-#line 965 "scanner.cc"
+#line 973 "scanner.cc"
{
YYCTYPE yych;
goto yy142;
yy145:
#line 285 "scanner.re"
{ goto config; }
-#line 988 "scanner.cc"
+#line 996 "scanner.cc"
yy146:
++YYCURSOR;
yych = *YYCURSOR;
cur = cursor;
RETURN('=');
}
-#line 999 "scanner.cc"
+#line 1007 "scanner.cc"
yy148:
++YYCURSOR;
goto yy149;
yy149:
#line 290 "scanner.re"
{ fatal("missing '='"); }
-#line 1006 "scanner.cc"
+#line 1014 "scanner.cc"
yy150:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
value:
-#line 1031 "scanner.cc"
+#line 1039 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
iscfg = 0;
return VALUE;
}
-#line 1077 "scanner.cc"
+#line 1085 "scanner.cc"
yy157:
++YYCURSOR;
if((yych = *YYCURSOR) <= 0x0D) {
iscfg = 0;
return NUMBER;
}
-#line 1101 "scanner.cc"
+#line 1109 "scanner.cc"
yy159:
yych = *++YYCURSOR;
if(yych <= '0') goto yy163;