-/* Generated by re2c 0.9.2 on Mon Apr 19 03:45:41 2004 */
+/* Generated by re2c 0.9.2 on Mon Apr 19 04:31:02 2004 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
yy17: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') goto yy18;
- if(yych <= '9') goto yy62;
+ if(yych <= '9') goto yy63;
goto yy18;
yy18:
#line 106 "scanner.re"
}
#line 134 "re2c-output.c"
yy19: yych = *++YYCURSOR;
- if(yych == '*') goto yy60;
+ if(yych == '*') goto yy61;
goto yy20;
yy20:
-#line 130 "scanner.re"
+#line 132 "scanner.re"
{ RETURN(*tok); }
#line 141 "re2c-output.c"
yy21: yych = *++YYCURSOR;
- if(yych == '/') goto yy58;
+ if(yych == '/') goto yy59;
goto yy22;
yy22:
-#line 132 "scanner.re"
+#line 134 "scanner.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
#line 149 "re2c-output.c"
yy23: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != '\n') goto yy54;
+ if(yych != '\n') goto yy55;
goto yy24;
yy24:
#line 123 "scanner.re"
-{ fatal("bad string"); }
+{ fatal("unterminated string constant (missing \")"); }
#line 157 "re2c-output.c"
yy25: yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != '\n') goto yy49;
+ if(yych != '\n') goto yy50;
goto yy26;
yy26:
-#line 158 "scanner.re"
-{ cerr << "unexpected character: " << *tok << endl;
- goto scan;
- }
-#line 167 "re2c-output.c"
+#line 124 "scanner.re"
+{ fatal("unterminated string constant (missing ')"); }
+#line 165 "re2c-output.c"
yy27: yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != '\n') goto yy43;
+ if(yych != '\n') goto yy44;
goto yy28;
yy28:
-#line 128 "scanner.re"
-{ fatal("bad character constant"); }
-#line 175 "re2c-output.c"
+#line 130 "scanner.re"
+{ fatal("unterminated range (missing ])"); }
+#line 173 "re2c-output.c"
yy29: yych = *++YYCURSOR;
goto yy20;
yy30: yych = *++YYCURSOR;
goto yy22;
yy31: yych = *++YYCURSOR;
- goto yy41;
+ goto yy42;
yy32:
-#line 147 "scanner.re"
+#line 149 "scanner.re"
{ cur = cursor;
yylval.symbol = Symbol::find(token());
return ID; }
-#line 187 "re2c-output.c"
+#line 185 "re2c-output.c"
yy33: yych = *++YYCURSOR;
- goto yy39;
+ goto yy40;
yy34:
-#line 151 "scanner.re"
+#line 153 "scanner.re"
{ goto scan; }
-#line 193 "re2c-output.c"
+#line 191 "re2c-output.c"
yy35: yych = *++YYCURSOR;
goto yy36;
yy36:
-#line 153 "scanner.re"
+#line 155 "scanner.re"
{ if(cursor == eof) RETURN(0);
pos = cursor; cline++;
goto scan;
}
-#line 202 "re2c-output.c"
+#line 200 "re2c-output.c"
yy37: yych = *++YYCURSOR;
- goto yy26;
-yy38: ++YYCURSOR;
+ goto yy38;
+yy38:
+#line 160 "scanner.re"
+{ cerr << "unexpected character: " << *tok << endl;
+ goto scan;
+ }
+#line 208 "re2c-output.c"
+yy39: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy39;
-yy39: if(yych == '\t') goto yy38;
- if(yych == ' ') goto yy38;
+ goto yy40;
+yy40: if(yych == '\t') goto yy39;
+ if(yych == ' ') goto yy39;
goto yy34;
-yy40: ++YYCURSOR;
+yy41: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy41;
-yy41: if(yych <= '@'){
+ goto yy42;
+yy42: if(yych <= '@'){
if(yych <= '/') goto yy32;
- if(yych <= '9') goto yy40;
+ if(yych <= '9') goto yy41;
goto yy32;
} else {
- if(yych <= 'Z') goto yy40;
+ if(yych <= 'Z') goto yy41;
if(yych <= '`') goto yy32;
- if(yych <= 'z') goto yy40;
+ if(yych <= 'z') goto yy41;
goto yy32;
}
-yy42: ++YYCURSOR;
+yy43: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy43;
-yy43: if(yych <= '['){
- if(yych != '\n') goto yy42;
- goto yy44;
+ goto yy44;
+yy44: if(yych <= '['){
+ if(yych != '\n') goto yy43;
+ goto yy45;
} else {
- if(yych <= '\\') goto yy45;
- if(yych <= ']') goto yy46;
- goto yy42;
+ if(yych <= '\\') goto yy46;
+ if(yych <= ']') goto yy47;
+ goto yy43;
}
-yy44: YYCURSOR = YYMARKER;
+yy45: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy18;
case 1: goto yy24;
- case 3: goto yy28;
case 2: goto yy26;
+ case 3: goto yy28;
}
-yy45: ++YYCURSOR;
+yy46: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy44;
- goto yy42;
-yy46: yych = *++YYCURSOR;
- goto yy47;
-yy47:
-#line 125 "scanner.re"
+ if(yych == '\n') goto yy45;
+ goto yy43;
+yy47: yych = *++YYCURSOR;
+ goto yy48;
+yy48:
+#line 126 "scanner.re"
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 257 "re2c-output.c"
-yy48: ++YYCURSOR;
+#line 261 "re2c-output.c"
+yy49: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy49;
-yy49: if(yych <= '&'){
- if(yych == '\n') goto yy44;
- goto yy48;
+ goto yy50;
+yy50: if(yych <= '&'){
+ if(yych == '\n') goto yy45;
+ goto yy49;
} else {
- if(yych <= '\'') goto yy51;
- if(yych != '\\') goto yy48;
- goto yy50;
+ if(yych <= '\'') goto yy52;
+ if(yych != '\\') goto yy49;
+ goto yy51;
}
-yy50: ++YYCURSOR;
+yy51: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy44;
- goto yy48;
-yy51: yych = *++YYCURSOR;
- goto yy52;
-yy52:
+ if(yych == '\n') goto yy45;
+ goto yy49;
+yy52: yych = *++YYCURSOR;
+ goto yy53;
+yy53:
#line 119 "scanner.re"
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 282 "re2c-output.c"
-yy53: ++YYCURSOR;
+#line 286 "re2c-output.c"
+yy54: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy54;
-yy54: if(yych <= '!'){
- if(yych == '\n') goto yy44;
- goto yy53;
+ goto yy55;
+yy55: if(yych <= '!'){
+ if(yych == '\n') goto yy45;
+ goto yy54;
} else {
- if(yych <= '"') goto yy56;
- if(yych != '\\') goto yy53;
- goto yy55;
+ if(yych <= '"') goto yy57;
+ if(yych != '\\') goto yy54;
+ goto yy56;
}
-yy55: ++YYCURSOR;
+yy56: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy44;
- goto yy53;
-yy56: yych = *++YYCURSOR;
- goto yy57;
-yy57:
+ if(yych == '\n') goto yy45;
+ goto yy54;
+yy57: yych = *++YYCURSOR;
+ goto yy58;
+yy58:
#line 115 "scanner.re"
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 307 "re2c-output.c"
-yy58: yych = *++YYCURSOR;
- goto yy59;
-yy59:
+#line 311 "re2c-output.c"
+yy59: yych = *++YYCURSOR;
+ goto yy60;
+yy60:
#line 112 "scanner.re"
{ tok = cursor;
RETURN(0); }
-#line 314 "re2c-output.c"
-yy60: yych = *++YYCURSOR;
- goto yy61;
-yy61:
+#line 318 "re2c-output.c"
+yy61: yych = *++YYCURSOR;
+ goto yy62;
+yy62:
#line 109 "scanner.re"
{ depth = 1;
goto comment; }
-#line 321 "re2c-output.c"
-yy62: ++YYCURSOR;
+#line 325 "re2c-output.c"
+yy63: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy63;
-yy63: if(yych <= '/'){
- if(yych == ',') goto yy66;
- goto yy44;
+ goto yy64;
+yy64: if(yych <= '/'){
+ if(yych == ',') goto yy67;
+ goto yy45;
} else {
- if(yych <= '9') goto yy62;
- if(yych != '}') goto yy44;
- goto yy64;
+ if(yych <= '9') goto yy63;
+ if(yych != '}') goto yy45;
+ goto yy65;
}
-yy64: yych = *++YYCURSOR;
- goto yy65;
-yy65:
-#line 135 "scanner.re"
+yy65: yych = *++YYCURSOR;
+ goto yy66;
+yy66:
+#line 137 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 341 "re2c-output.c"
-yy66: yych = *++YYCURSOR;
- if(yych != '}') goto yy70;
- goto yy67;
+#line 345 "re2c-output.c"
yy67: yych = *++YYCURSOR;
+ if(yych != '}') goto yy71;
goto yy68;
-yy68:
-#line 143 "scanner.re"
+yy68: yych = *++YYCURSOR;
+ goto yy69;
+yy69:
+#line 145 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 352 "re2c-output.c"
-yy69: ++YYCURSOR;
+#line 356 "re2c-output.c"
+yy70: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy70;
-yy70: if(yych <= '/') goto yy44;
- if(yych <= '9') goto yy69;
- if(yych != '}') goto yy44;
goto yy71;
-yy71: yych = *++YYCURSOR;
+yy71: if(yych <= '/') goto yy45;
+ if(yych <= '9') goto yy70;
+ if(yych != '}') goto yy45;
goto yy72;
-yy72:
-#line 139 "scanner.re"
+yy72: yych = *++YYCURSOR;
+ goto yy73;
+yy73:
+#line 141 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 368 "re2c-output.c"
+#line 372 "re2c-output.c"
}
-#line 161 "scanner.re"
+#line 163 "scanner.re"
code:
-#line 372 "re2c-output.c"
+#line 376 "re2c-output.c"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy73;
-yy74: ++YYCURSOR;
-yy73:
+ goto yy74;
+yy75: ++YYCURSOR;
+yy74:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&'){
if(yych <= '\n'){
- if(yych <= '\t') goto yy81;
- goto yy79;
+ if(yych <= '\t') goto yy82;
+ goto yy80;
} else {
- if(yych == '"') goto yy83;
- goto yy81;
+ if(yych == '"') goto yy84;
+ goto yy82;
}
} else {
if(yych <= '{'){
- if(yych <= '\'') goto yy84;
- if(yych <= 'z') goto yy81;
- goto yy77;
+ if(yych <= '\'') goto yy85;
+ if(yych <= 'z') goto yy82;
+ goto yy78;
} else {
- if(yych != '}') goto yy81;
- goto yy75;
+ if(yych != '}') goto yy82;
+ goto yy76;
}
}
-yy75: yych = *++YYCURSOR;
- goto yy76;
-yy76:
-#line 165 "scanner.re"
+yy76: yych = *++YYCURSOR;
+ goto yy77;
+yy77:
+#line 167 "scanner.re"
{ if(--depth == 0){
cur = cursor;
yylval.token = new Token(token(), tline);
return CODE;
}
goto code; }
-#line 409 "re2c-output.c"
-yy77: yych = *++YYCURSOR;
- goto yy78;
-yy78:
-#line 171 "scanner.re"
+#line 413 "re2c-output.c"
+yy78: yych = *++YYCURSOR;
+ goto yy79;
+yy79:
+#line 173 "scanner.re"
{ ++depth;
goto code; }
-#line 416 "re2c-output.c"
-yy79: yych = *++YYCURSOR;
- goto yy80;
-yy80:
-#line 173 "scanner.re"
+#line 420 "re2c-output.c"
+yy80: yych = *++YYCURSOR;
+ goto yy81;
+yy81:
+#line 175 "scanner.re"
{ if(cursor == eof) fatal("missing '}'");
pos = cursor; cline++;
goto code;
}
-#line 425 "re2c-output.c"
-yy81: yych = *++YYCURSOR;
- goto yy82;
-yy82:
-#line 177 "scanner.re"
+#line 429 "re2c-output.c"
+yy82: yych = *++YYCURSOR;
+ goto yy83;
+yy83:
+#line 179 "scanner.re"
{ goto code; }
-#line 431 "re2c-output.c"
-yy83: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == '\n') goto yy82;
- goto yy90;
+#line 435 "re2c-output.c"
yy84: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == '\n') goto yy82;
- goto yy86;
-yy85: ++YYCURSOR;
+ if(yych == '\n') goto yy83;
+ goto yy91;
+yy85: yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == '\n') goto yy83;
+ goto yy87;
+yy86: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy86;
-yy86: if(yych <= '&'){
- if(yych != '\n') goto yy85;
- goto yy87;
+ goto yy87;
+yy87: if(yych <= '&'){
+ if(yych != '\n') goto yy86;
+ goto yy88;
} else {
- if(yych <= '\'') goto yy81;
- if(yych == '\\') goto yy88;
- goto yy85;
+ if(yych <= '\'') goto yy82;
+ if(yych == '\\') goto yy89;
+ goto yy86;
}
-yy87: YYCURSOR = YYMARKER;
+yy88: YYCURSOR = YYMARKER;
switch(yyaccept){
- case 0: goto yy82;
+ case 0: goto yy83;
}
-yy88: ++YYCURSOR;
+yy89: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy87;
- goto yy85;
-yy89: ++YYCURSOR;
+ if(yych == '\n') goto yy88;
+ goto yy86;
+yy90: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy90;
-yy90: if(yych <= '!'){
- if(yych == '\n') goto yy87;
- goto yy89;
+ goto yy91;
+yy91: if(yych <= '!'){
+ if(yych == '\n') goto yy88;
+ goto yy90;
} else {
- if(yych <= '"') goto yy81;
- if(yych != '\\') goto yy89;
- goto yy91;
+ if(yych <= '"') goto yy82;
+ if(yych != '\\') goto yy90;
+ goto yy92;
}
-yy91: ++YYCURSOR;
+yy92: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == '\n') goto yy87;
- goto yy89;
+ if(yych == '\n') goto yy88;
+ goto yy90;
}
-#line 178 "scanner.re"
+#line 180 "scanner.re"
comment:
-#line 481 "re2c-output.c"
+#line 485 "re2c-output.c"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy92;
-yy93: ++YYCURSOR;
-yy92:
+ goto yy93;
+yy94: ++YYCURSOR;
+yy93:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ')'){
- if(yych == '\n') goto yy97;
- goto yy99;
+ if(yych == '\n') goto yy98;
+ goto yy100;
} else {
- if(yych <= '*') goto yy94;
- if(yych == '/') goto yy96;
- goto yy99;
+ if(yych <= '*') goto yy95;
+ if(yych == '/') goto yy97;
+ goto yy100;
}
-yy94: yych = *++YYCURSOR;
- if(yych == '/') goto yy102;
- goto yy95;
-yy95:
-#line 192 "scanner.re"
+yy95: yych = *++YYCURSOR;
+ if(yych == '/') goto yy103;
+ goto yy96;
+yy96:
+#line 194 "scanner.re"
{ goto comment; }
-#line 504 "re2c-output.c"
-yy96: yych = *++YYCURSOR;
- if(yych == '*') goto yy100;
- goto yy95;
+#line 508 "re2c-output.c"
yy97: yych = *++YYCURSOR;
- goto yy98;
-yy98:
-#line 188 "scanner.re"
+ if(yych == '*') goto yy101;
+ goto yy96;
+yy98: yych = *++YYCURSOR;
+ goto yy99;
+yy99:
+#line 190 "scanner.re"
{ if(cursor == eof) RETURN(0);
tok = pos = cursor; cline++;
goto comment;
}
-#line 516 "re2c-output.c"
-yy99: yych = *++YYCURSOR;
- goto yy95;
+#line 520 "re2c-output.c"
yy100: yych = *++YYCURSOR;
- goto yy101;
-yy101:
-#line 186 "scanner.re"
+ goto yy96;
+yy101: yych = *++YYCURSOR;
+ goto yy102;
+yy102:
+#line 188 "scanner.re"
{ ++depth;
goto comment; }
-#line 525 "re2c-output.c"
-yy102: yych = *++YYCURSOR;
- goto yy103;
-yy103:
-#line 182 "scanner.re"
+#line 529 "re2c-output.c"
+yy103: yych = *++YYCURSOR;
+ goto yy104;
+yy104:
+#line 184 "scanner.re"
{ if(--depth == 0)
goto scan;
else
goto comment; }
-#line 534 "re2c-output.c"
+#line 538 "re2c-output.c"
}
-#line 193 "scanner.re"
+#line 195 "scanner.re"
}