-/* Generated by re2c 0.9.7.dev on Sun Apr 24 19:04:17 2005 */
+/* Generated by re2c 0.9.8 on Sun Jun 26 14:33:21 2005 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
tok = cursor;
echo:
-#line 131 "scanner.cc"
+#line 85 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept;
{
goto echo;
}
-#line 158 "scanner.cc"
+#line 112 "scanner.cc"
yy4: yych = *++YYCURSOR;
if(yych == '/') goto yy10;
goto yy3;
tok = pos = cursor; cline++; oline++;
goto echo;
}
-#line 171 "scanner.cc"
+#line 125 "scanner.cc"
yy7: ++YYCURSOR;
goto yy8;
yy8:
RETURN(0);
}
}
-#line 182 "scanner.cc"
+#line 136 "scanner.cc"
yy9: yych = *++YYCURSOR;
goto yy3;
yy10: ++YYCURSOR;
tok = pos = cursor;
goto echo;
}
-#line 198 "scanner.cc"
+#line 152 "scanner.cc"
yy12: yych = *++YYCURSOR;
if(yych == '!') goto yy14;
goto yy13;
tok = cursor;
RETURN(1);
}
-#line 231 "scanner.cc"
+#line 185 "scanner.cc"
yy21: yych = *++YYCURSOR;
if(yych != 'x') goto yy13;
goto yy22;
ignore_eoc = true;
goto echo;
}
-#line 260 "scanner.cc"
+#line 214 "scanner.cc"
}
#line 125 "scanner.re"
tline = cline;
tok = cursor;
-#line 334 "scanner.cc"
+#line 230 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept;
{ depth = 1;
goto code;
}
-#line 400 "scanner.cc"
+#line 296 "scanner.cc"
yy33: ++YYCURSOR;
if((yych = *YYCURSOR) == '*') goto yy75;
goto yy34;
yy34:
#line 164 "scanner.re"
{ RETURN(*tok); }
-#line 407 "scanner.cc"
+#line 303 "scanner.cc"
yy35: ++YYCURSOR;
if((yych = *YYCURSOR) == '/') goto yy73;
goto yy36;
#line 166 "scanner.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
-#line 415 "scanner.cc"
+#line 311 "scanner.cc"
yy37: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
if(yych != 0x0A) goto yy69;
yy38:
#line 155 "scanner.re"
{ fatal("unterminated string constant (missing \")"); }
-#line 423 "scanner.cc"
+#line 319 "scanner.cc"
yy39: yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if(yych != 0x0A) goto yy64;
yy40:
#line 156 "scanner.re"
{ fatal("unterminated string constant (missing ')"); }
-#line 431 "scanner.cc"
+#line 327 "scanner.cc"
yy41: yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if(yych != 0x0A) goto yy58;
yy42:
#line 162 "scanner.re"
{ fatal("unterminated range (missing ])"); }
-#line 439 "scanner.cc"
+#line 335 "scanner.cc"
yy43: yych = *++YYCURSOR;
goto yy34;
yy44: yych = *++YYCURSOR;
{ cur = cursor;
yylval.symbol = Symbol::find(token());
return ID; }
-#line 451 "scanner.cc"
+#line 348 "scanner.cc"
yy47: ++YYCURSOR;
yych = *YYCURSOR;
goto yy54;
yy48:
#line 185 "scanner.re"
{ goto scan; }
-#line 457 "scanner.cc"
+#line 355 "scanner.cc"
yy49: ++YYCURSOR;
goto yy50;
yy50:
pos = cursor; cline++;
goto scan;
}
-#line 466 "scanner.cc"
+#line 364 "scanner.cc"
yy51: ++YYCURSOR;
goto yy52;
yy52:
{ std::cerr << "unexpected character: " << *tok << std::endl;
goto scan;
}
-#line 474 "scanner.cc"
+#line 372 "scanner.cc"
yy53: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 531 "scanner.cc"
+#line 425 "scanner.cc"
yy63: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 558 "scanner.cc"
+#line 450 "scanner.cc"
yy68: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 585 "scanner.cc"
+#line 475 "scanner.cc"
yy73: ++YYCURSOR;
goto yy74;
yy74:
#line 144 "scanner.re"
{ tok = cursor;
RETURN(0); }
-#line 592 "scanner.cc"
+#line 482 "scanner.cc"
yy75: ++YYCURSOR;
goto yy76;
yy76:
#line 141 "scanner.re"
{ depth = 1;
goto comment; }
-#line 599 "scanner.cc"
+#line 489 "scanner.cc"
yy77: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 620 "scanner.cc"
+#line 509 "scanner.cc"
yy81: yych = *++YYCURSOR;
if(yych != '}') goto yy85;
goto yy82;
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 631 "scanner.cc"
+#line 520 "scanner.cc"
yy84: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 648 "scanner.cc"
+#line 536 "scanner.cc"
}
#line 195 "scanner.re"
code:
-#line 669 "scanner.cc"
+#line 543 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept;
return CODE;
}
goto code; }
-#line 706 "scanner.cc"
+#line 580 "scanner.cc"
yy92: ++YYCURSOR;
goto yy93;
yy93:
#line 205 "scanner.re"
{ ++depth;
goto code; }
-#line 713 "scanner.cc"
+#line 587 "scanner.cc"
yy94: ++YYCURSOR;
goto yy95;
yy95:
pos = cursor; cline++;
goto code;
}
-#line 722 "scanner.cc"
+#line 596 "scanner.cc"
yy96: ++YYCURSOR;
goto yy97;
yy97:
#line 211 "scanner.re"
{ goto code; }
-#line 728 "scanner.cc"
+#line 602 "scanner.cc"
yy98: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 0x0A) goto yy97;
comment:
-#line 797 "scanner.cc"
+#line 655 "scanner.cc"
{
YYCTYPE yych;
goto yy107;
yy110:
#line 226 "scanner.re"
{ goto comment; }
-#line 819 "scanner.cc"
+#line 677 "scanner.cc"
yy111: yych = *++YYCURSOR;
if(yych == '*') goto yy115;
goto yy110;
tok = pos = cursor; cline++;
goto comment;
}
-#line 831 "scanner.cc"
+#line 689 "scanner.cc"
yy114: yych = *++YYCURSOR;
goto yy110;
yy115: ++YYCURSOR;
#line 220 "scanner.re"
{ ++depth;
goto comment; }
-#line 840 "scanner.cc"
+#line 698 "scanner.cc"
yy117: ++YYCURSOR;
goto yy118;
yy118:
goto scan;
else
goto comment; }
-#line 849 "scanner.cc"
+#line 707 "scanner.cc"
}
#line 227 "scanner.re"