-/* Generated by re2c 0.9.2 on Sun Mar 14 23:47:55 2004 */
+/* Generated by re2c 0.9.2 on Mon Apr 19 03:45:41 2004 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
yy15:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- if(yych <= ':'){
+ if(yych <= '/'){
if(yych <= '"'){
if(yych <= '\n'){
- if(yych <= '\b') goto yy35;
- if(yych <= '\t') goto yy31;
- goto yy33;
+ if(yych <= '\b') goto yy37;
+ if(yych <= '\t') goto yy33;
+ goto yy35;
} else {
- if(yych == ' ') goto yy31;
- if(yych <= '!') goto yy35;
+ if(yych == ' ') goto yy33;
+ if(yych <= '!') goto yy37;
goto yy23;
}
} else {
- if(yych <= '*'){
- if(yych <= '\'') goto yy35;
- if(yych <= ')') goto yy27;
- goto yy21;
+ if(yych <= ')'){
+ if(yych <= '&') goto yy37;
+ if(yych <= '\'') goto yy25;
+ goto yy29;
} else {
- if(yych <= '+') goto yy28;
- if(yych == '/') goto yy19;
- goto yy35;
+ if(yych <= '*') goto yy21;
+ if(yych <= '+') goto yy30;
+ if(yych <= '.') goto yy37;
+ goto yy19;
}
}
} else {
- if(yych <= 'Z'){
- if(yych <= '='){
- if(yych == '<') goto yy35;
- goto yy27;
+ if(yych <= '@'){
+ if(yych <= '<'){
+ if(yych == ';') goto yy29;
+ goto yy37;
} else {
- if(yych == '?') goto yy28;
- if(yych <= '@') goto yy35;
- goto yy29;
+ if(yych <= '=') goto yy29;
+ if(yych == '?') goto yy30;
+ goto yy37;
}
} else {
if(yych <= '`'){
- if(yych <= '[') goto yy25;
- if(yych <= '\\') goto yy27;
- goto yy35;
+ if(yych <= 'Z') goto yy31;
+ if(yych <= '[') goto yy27;
+ if(yych <= '\\') goto yy29;
+ goto yy37;
} else {
- if(yych <= 'z') goto yy29;
+ if(yych <= 'z') goto yy31;
if(yych <= '{') goto yy17;
- if(yych <= '|') goto yy27;
- goto yy35;
+ if(yych <= '|') goto yy29;
+ goto yy37;
}
}
}
yy17: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') goto yy18;
- if(yych <= '9') goto yy56;
+ if(yych <= '9') goto yy62;
goto yy18;
yy18:
#line 106 "scanner.re"
{ depth = 1;
goto code;
}
-#line 132 "re2c-output.c"
+#line 134 "re2c-output.c"
yy19: yych = *++YYCURSOR;
- if(yych == '*') goto yy54;
+ if(yych == '*') goto yy60;
goto yy20;
yy20:
-#line 125 "scanner.re"
+#line 130 "scanner.re"
{ RETURN(*tok); }
-#line 139 "re2c-output.c"
+#line 141 "re2c-output.c"
yy21: yych = *++YYCURSOR;
- if(yych == '/') goto yy52;
+ if(yych == '/') goto yy58;
goto yy22;
yy22:
-#line 127 "scanner.re"
+#line 132 "scanner.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
-#line 147 "re2c-output.c"
+#line 149 "re2c-output.c"
yy23: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != '\n') goto yy48;
+ if(yych != '\n') goto yy54;
goto yy24;
yy24:
-#line 118 "scanner.re"
+#line 123 "scanner.re"
{ fatal("bad string"); }
-#line 155 "re2c-output.c"
+#line 157 "re2c-output.c"
yy25: yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != '\n') goto yy42;
+ if(yych != '\n') goto yy49;
goto yy26;
yy26:
-#line 123 "scanner.re"
+#line 158 "scanner.re"
+{ cerr << "unexpected character: " << *tok << endl;
+ goto scan;
+ }
+#line 167 "re2c-output.c"
+yy27: yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych != '\n') goto yy43;
+ goto yy28;
+yy28:
+#line 128 "scanner.re"
{ fatal("bad character constant"); }
-#line 163 "re2c-output.c"
-yy27: yych = *++YYCURSOR;
+#line 175 "re2c-output.c"
+yy29: yych = *++YYCURSOR;
goto yy20;
-yy28: yych = *++YYCURSOR;
+yy30: yych = *++YYCURSOR;
goto yy22;
-yy29: yych = *++YYCURSOR;
- goto yy40;
-yy30:
-#line 142 "scanner.re"
+yy31: yych = *++YYCURSOR;
+ goto yy41;
+yy32:
+#line 147 "scanner.re"
{ cur = cursor;
yylval.symbol = Symbol::find(token());
return ID; }
-#line 175 "re2c-output.c"
-yy31: yych = *++YYCURSOR;
- goto yy38;
-yy32:
-#line 146 "scanner.re"
-{ goto scan; }
-#line 181 "re2c-output.c"
+#line 187 "re2c-output.c"
yy33: yych = *++YYCURSOR;
- goto yy34;
+ goto yy39;
yy34:
-#line 148 "scanner.re"
-{ if(cursor == eof) RETURN(0);
- pos = cursor; cline++;
- goto scan;
- }
-#line 190 "re2c-output.c"
+#line 151 "scanner.re"
+{ goto scan; }
+#line 193 "re2c-output.c"
yy35: yych = *++YYCURSOR;
goto yy36;
yy36:
#line 153 "scanner.re"
-{ cerr << "unexpected character: " << *tok << endl;
+{ if(cursor == eof) RETURN(0);
+ pos = cursor; cline++;
goto scan;
- }
-#line 198 "re2c-output.c"
-yy37: ++YYCURSOR;
+ }
+#line 202 "re2c-output.c"
+yy37: yych = *++YYCURSOR;
+ goto yy26;
+yy38: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy38;
-yy38: if(yych == '\t') goto yy37;
- if(yych == ' ') goto yy37;
- goto yy32;
-yy39: ++YYCURSOR;
+ goto yy39;
+yy39: if(yych == '\t') goto yy38;
+ if(yych == ' ') goto yy38;
+ goto yy34;
+yy40: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy40;
-yy40: if(yych <= '@'){
- if(yych <= '/') goto yy30;
- if(yych <= '9') goto yy39;
- goto yy30;
+ goto yy41;
+yy41: if(yych <= '@'){
+ if(yych <= '/') goto yy32;
+ if(yych <= '9') goto yy40;
+ goto yy32;
} else {
- if(yych <= 'Z') goto yy39;
- if(yych <= '`') goto yy30;
- if(yych <= 'z') goto yy39;
- goto yy30;
+ if(yych <= 'Z') goto yy40;
+ if(yych <= '`') goto yy32;
+ if(yych <= 'z') goto yy40;
+ goto yy32;
}
-yy41: ++YYCURSOR;
+yy42: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy42;
-yy42: if(yych <= '['){
- if(yych != '\n') goto yy41;
- goto yy43;
+ goto yy43;
+yy43: if(yych <= '['){
+ if(yych != '\n') goto yy42;
+ goto yy44;
} else {
- if(yych <= '\\') goto yy44;
- if(yych <= ']') goto yy45;
- goto yy41;
+ if(yych <= '\\') goto yy45;
+ if(yych <= ']') goto yy46;
+ goto yy42;
}
-yy43: YYCURSOR = YYMARKER;
+yy44: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy18;
case 1: goto yy24;
+ case 3: goto yy28;
case 2: goto yy26;
}
-yy44: ++YYCURSOR;
+yy45: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy43;
- goto yy41;
-yy45: yych = *++YYCURSOR;
- goto yy46;
-yy46:
-#line 120 "scanner.re"
+ if(yych == '\n') goto yy44;
+ goto yy42;
+yy46: yych = *++YYCURSOR;
+ goto yy47;
+yy47:
+#line 125 "scanner.re"
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 250 "re2c-output.c"
-yy47: ++YYCURSOR;
+#line 257 "re2c-output.c"
+yy48: ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy49;
+yy49: if(yych <= '&'){
+ if(yych == '\n') goto yy44;
+ goto yy48;
+ } else {
+ if(yych <= '\'') goto yy51;
+ if(yych != '\\') goto yy48;
+ goto yy50;
+ }
+yy50: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ if(yych == '\n') goto yy44;
goto yy48;
-yy48: if(yych <= '!'){
- if(yych == '\n') goto yy43;
- goto yy47;
+yy51: yych = *++YYCURSOR;
+ goto yy52;
+yy52:
+#line 119 "scanner.re"
+{ cur = cursor;
+ yylval.regexp = strToCaseInsensitiveRE(token());
+ return STRING; }
+#line 282 "re2c-output.c"
+yy53: ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy54;
+yy54: if(yych <= '!'){
+ if(yych == '\n') goto yy44;
+ goto yy53;
} else {
- if(yych <= '"') goto yy50;
- if(yych != '\\') goto yy47;
- goto yy49;
+ if(yych <= '"') goto yy56;
+ if(yych != '\\') goto yy53;
+ goto yy55;
}
-yy49: ++YYCURSOR;
+yy55: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy43;
- goto yy47;
-yy50: yych = *++YYCURSOR;
- goto yy51;
-yy51:
+ if(yych == '\n') goto yy44;
+ goto yy53;
+yy56: yych = *++YYCURSOR;
+ goto yy57;
+yy57:
#line 115 "scanner.re"
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 275 "re2c-output.c"
-yy52: yych = *++YYCURSOR;
- goto yy53;
-yy53:
+#line 307 "re2c-output.c"
+yy58: yych = *++YYCURSOR;
+ goto yy59;
+yy59:
#line 112 "scanner.re"
{ tok = cursor;
RETURN(0); }
-#line 282 "re2c-output.c"
-yy54: yych = *++YYCURSOR;
- goto yy55;
-yy55:
+#line 314 "re2c-output.c"
+yy60: yych = *++YYCURSOR;
+ goto yy61;
+yy61:
#line 109 "scanner.re"
{ depth = 1;
goto comment; }
-#line 289 "re2c-output.c"
-yy56: ++YYCURSOR;
+#line 321 "re2c-output.c"
+yy62: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy57;
-yy57: if(yych <= '/'){
- if(yych == ',') goto yy60;
- goto yy43;
+ goto yy63;
+yy63: if(yych <= '/'){
+ if(yych == ',') goto yy66;
+ goto yy44;
} else {
- if(yych <= '9') goto yy56;
- if(yych != '}') goto yy43;
- goto yy58;
+ if(yych <= '9') goto yy62;
+ if(yych != '}') goto yy44;
+ goto yy64;
}
-yy58: yych = *++YYCURSOR;
- goto yy59;
-yy59:
-#line 130 "scanner.re"
+yy64: yych = *++YYCURSOR;
+ goto yy65;
+yy65:
+#line 135 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 309 "re2c-output.c"
-yy60: yych = *++YYCURSOR;
- if(yych != '}') goto yy64;
- goto yy61;
-yy61: yych = *++YYCURSOR;
- goto yy62;
-yy62:
-#line 138 "scanner.re"
+#line 341 "re2c-output.c"
+yy66: yych = *++YYCURSOR;
+ if(yych != '}') goto yy70;
+ goto yy67;
+yy67: yych = *++YYCURSOR;
+ goto yy68;
+yy68:
+#line 143 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 320 "re2c-output.c"
-yy63: ++YYCURSOR;
+#line 352 "re2c-output.c"
+yy69: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy64;
-yy64: if(yych <= '/') goto yy43;
- if(yych <= '9') goto yy63;
- if(yych != '}') goto yy43;
- goto yy65;
-yy65: yych = *++YYCURSOR;
- goto yy66;
-yy66:
-#line 134 "scanner.re"
+ goto yy70;
+yy70: if(yych <= '/') goto yy44;
+ if(yych <= '9') goto yy69;
+ if(yych != '}') goto yy44;
+ goto yy71;
+yy71: yych = *++YYCURSOR;
+ goto yy72;
+yy72:
+#line 139 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 336 "re2c-output.c"
+#line 368 "re2c-output.c"
}
-#line 156 "scanner.re"
+#line 161 "scanner.re"
code:
-#line 340 "re2c-output.c"
+#line 372 "re2c-output.c"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy67;
-yy68: ++YYCURSOR;
-yy67:
+ goto yy73;
+yy74: ++YYCURSOR;
+yy73:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&'){
if(yych <= '\n'){
- if(yych <= '\t') goto yy75;
- goto yy73;
+ if(yych <= '\t') goto yy81;
+ goto yy79;
} else {
- if(yych == '"') goto yy77;
- goto yy75;
+ if(yych == '"') goto yy83;
+ goto yy81;
}
} else {
if(yych <= '{'){
- if(yych <= '\'') goto yy78;
- if(yych <= 'z') goto yy75;
- goto yy71;
+ if(yych <= '\'') goto yy84;
+ if(yych <= 'z') goto yy81;
+ goto yy77;
} else {
- if(yych != '}') goto yy75;
- goto yy69;
+ if(yych != '}') goto yy81;
+ goto yy75;
}
}
-yy69: yych = *++YYCURSOR;
- goto yy70;
-yy70:
-#line 160 "scanner.re"
+yy75: yych = *++YYCURSOR;
+ goto yy76;
+yy76:
+#line 165 "scanner.re"
{ if(--depth == 0){
cur = cursor;
yylval.token = new Token(token(), tline);
return CODE;
}
goto code; }
-#line 377 "re2c-output.c"
-yy71: yych = *++YYCURSOR;
- goto yy72;
-yy72:
-#line 166 "scanner.re"
+#line 409 "re2c-output.c"
+yy77: yych = *++YYCURSOR;
+ goto yy78;
+yy78:
+#line 171 "scanner.re"
{ ++depth;
goto code; }
-#line 384 "re2c-output.c"
-yy73: yych = *++YYCURSOR;
- goto yy74;
-yy74:
-#line 168 "scanner.re"
+#line 416 "re2c-output.c"
+yy79: yych = *++YYCURSOR;
+ goto yy80;
+yy80:
+#line 173 "scanner.re"
{ if(cursor == eof) fatal("missing '}'");
pos = cursor; cline++;
goto code;
}
-#line 393 "re2c-output.c"
-yy75: yych = *++YYCURSOR;
- goto yy76;
-yy76:
-#line 172 "scanner.re"
+#line 425 "re2c-output.c"
+yy81: yych = *++YYCURSOR;
+ goto yy82;
+yy82:
+#line 177 "scanner.re"
{ goto code; }
-#line 399 "re2c-output.c"
-yy77: yyaccept = 0;
+#line 431 "re2c-output.c"
+yy83: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == '\n') goto yy76;
- goto yy84;
-yy78: yyaccept = 0;
+ if(yych == '\n') goto yy82;
+ goto yy90;
+yy84: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == '\n') goto yy76;
- goto yy80;
-yy79: ++YYCURSOR;
+ if(yych == '\n') goto yy82;
+ goto yy86;
+yy85: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy80;
-yy80: if(yych <= '&'){
- if(yych != '\n') goto yy79;
- goto yy81;
+ goto yy86;
+yy86: if(yych <= '&'){
+ if(yych != '\n') goto yy85;
+ goto yy87;
} else {
- if(yych <= '\'') goto yy75;
- if(yych == '\\') goto yy82;
- goto yy79;
+ if(yych <= '\'') goto yy81;
+ if(yych == '\\') goto yy88;
+ goto yy85;
}
-yy81: YYCURSOR = YYMARKER;
+yy87: YYCURSOR = YYMARKER;
switch(yyaccept){
- case 0: goto yy76;
+ case 0: goto yy82;
}
-yy82: ++YYCURSOR;
+yy88: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy81;
- goto yy79;
-yy83: ++YYCURSOR;
+ if(yych == '\n') goto yy87;
+ goto yy85;
+yy89: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy84;
-yy84: if(yych <= '!'){
- if(yych == '\n') goto yy81;
- goto yy83;
+ goto yy90;
+yy90: if(yych <= '!'){
+ if(yych == '\n') goto yy87;
+ goto yy89;
} else {
- if(yych <= '"') goto yy75;
- if(yych != '\\') goto yy83;
- goto yy85;
+ if(yych <= '"') goto yy81;
+ if(yych != '\\') goto yy89;
+ goto yy91;
}
-yy85: ++YYCURSOR;
+yy91: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy81;
- goto yy83;
+ if(yych == '\n') goto yy87;
+ goto yy89;
}
-#line 173 "scanner.re"
+#line 178 "scanner.re"
comment:
-#line 449 "re2c-output.c"
+#line 481 "re2c-output.c"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy86;
-yy87: ++YYCURSOR;
-yy86:
+ goto yy92;
+yy93: ++YYCURSOR;
+yy92:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ')'){
- if(yych == '\n') goto yy91;
- goto yy93;
+ if(yych == '\n') goto yy97;
+ goto yy99;
} else {
- if(yych <= '*') goto yy88;
- if(yych == '/') goto yy90;
- goto yy93;
+ if(yych <= '*') goto yy94;
+ if(yych == '/') goto yy96;
+ goto yy99;
}
-yy88: yych = *++YYCURSOR;
- if(yych == '/') goto yy96;
- goto yy89;
-yy89:
-#line 187 "scanner.re"
+yy94: yych = *++YYCURSOR;
+ if(yych == '/') goto yy102;
+ goto yy95;
+yy95:
+#line 192 "scanner.re"
{ goto comment; }
-#line 472 "re2c-output.c"
-yy90: yych = *++YYCURSOR;
- if(yych == '*') goto yy94;
- goto yy89;
-yy91: yych = *++YYCURSOR;
- goto yy92;
-yy92:
-#line 183 "scanner.re"
+#line 504 "re2c-output.c"
+yy96: yych = *++YYCURSOR;
+ if(yych == '*') goto yy100;
+ goto yy95;
+yy97: yych = *++YYCURSOR;
+ goto yy98;
+yy98:
+#line 188 "scanner.re"
{ if(cursor == eof) RETURN(0);
tok = pos = cursor; cline++;
goto comment;
}
-#line 484 "re2c-output.c"
-yy93: yych = *++YYCURSOR;
- goto yy89;
-yy94: yych = *++YYCURSOR;
+#line 516 "re2c-output.c"
+yy99: yych = *++YYCURSOR;
goto yy95;
-yy95:
-#line 181 "scanner.re"
+yy100: yych = *++YYCURSOR;
+ goto yy101;
+yy101:
+#line 186 "scanner.re"
{ ++depth;
goto comment; }
-#line 493 "re2c-output.c"
-yy96: yych = *++YYCURSOR;
- goto yy97;
-yy97:
-#line 177 "scanner.re"
+#line 525 "re2c-output.c"
+yy102: yych = *++YYCURSOR;
+ goto yy103;
+yy103:
+#line 182 "scanner.re"
{ if(--depth == 0)
goto scan;
else
goto comment; }
-#line 502 "re2c-output.c"
+#line 534 "re2c-output.c"
}
-#line 188 "scanner.re"
+#line 193 "scanner.re"
}