-/* Generated by re2c 0.9.4 on Sun Oct 31 21:27:49 2004 */
+/* Generated by re2c 0.9.4 on Sun Oct 31 23:17:13 2004 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
bot = buf;
}
if((cnt = in.rdbuf()->sgetn((char*) lim, BSIZE)) != BSIZE){
- eof = &lim[cnt]; *eof++ = '\n';
+ eof = &lim[cnt]; *eof++ = '\0';
}
lim += cnt;
}
return cursor;
}
-#line 74 "scanner.re"
+#line 75 "scanner.re"
int Scanner::echo(std::ostream &out){
// Catch EOF
if (eof && cursor == eof)
+ {
return 0;
+ }
tok = cursor;
echo:
yy0:
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy4;
- if(yych != '/') goto yy6;
- goto yy2;
+ if(yych <= 0x0A){
+ if(yych <= 0x00) goto yy6;
+ if(yych <= 0x09) goto yy8;
+ goto yy4;
+ } else {
+ if(yych != '/') goto yy8;
+ goto yy2;
+ }
yy2: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == '*') goto yy7;
+ if(yych == '*') goto yy9;
goto yy3;
yy3:
-#line 93 "scanner.re"
+#line 97 "scanner.re"
{ goto echo; }
-#line 26 "scanner.cc"
+#line 31 "scanner.cc"
yy4: ++YYCURSOR;
goto yy5;
yy5:
-#line 89 "scanner.re"
-{ if(cursor == eof) RETURN(0);
- out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
+#line 92 "scanner.re"
+{ out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
tok = pos = cursor; cline++;
goto echo; }
-#line 35 "scanner.cc"
-yy6: yych = *++YYCURSOR;
+#line 39 "scanner.cc"
+yy6: ++YYCURSOR;
+ goto yy7;
+yy7:
+#line 95 "scanner.re"
+{ out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0
+ if(cursor == eof) { RETURN(0); } }
+#line 46 "scanner.cc"
+yy8: yych = *++YYCURSOR;
goto yy3;
-yy7: yych = *++YYCURSOR;
- if(yych == '!') goto yy9;
- goto yy8;
-yy8: YYCURSOR = YYMARKER;
+yy9: yych = *++YYCURSOR;
+ if(yych == '!') goto yy11;
+ goto yy10;
+yy10: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy3;
}
-yy9: yych = *++YYCURSOR;
- if(yych != 'r') goto yy8;
- goto yy10;
-yy10: yych = *++YYCURSOR;
- if(yych != 'e') goto yy8;
- goto yy11;
yy11: yych = *++YYCURSOR;
- if(yych != '2') goto yy8;
+ if(yych != 'r') goto yy10;
goto yy12;
yy12: yych = *++YYCURSOR;
- if(yych != 'c') goto yy8;
+ if(yych != 'e') goto yy10;
goto yy13;
-yy13: ++YYCURSOR;
+yy13: yych = *++YYCURSOR;
+ if(yych != '2') goto yy10;
goto yy14;
-yy14:
-#line 86 "scanner.re"
+yy14: yych = *++YYCURSOR;
+ if(yych != 'c') goto yy10;
+ goto yy15;
+yy15: ++YYCURSOR;
+ goto yy16;
+yy16:
+#line 89 "scanner.re"
{ out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok));
tok = cursor;
RETURN(1); }
-#line 64 "scanner.cc"
+#line 75 "scanner.cc"
}
-#line 94 "scanner.re"
+#line 98 "scanner.re"
}
tline = cline;
tok = cursor;
-#line 68 "scanner.cc"
+#line 79 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy15;
-yy16: ++YYCURSOR;
-yy15:
+ goto yy17;
+yy18: ++YYCURSOR;
+yy17:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '/'){
if(yych <= '"'){
if(yych <= 0x0A){
- if(yych <= 0x08) goto yy37;
- if(yych <= 0x09) goto yy33;
- goto yy35;
+ if(yych <= 0x08) goto yy39;
+ if(yych <= 0x09) goto yy35;
+ goto yy37;
} else {
- if(yych == ' ') goto yy33;
- if(yych <= '!') goto yy37;
- goto yy23;
+ if(yych == ' ') goto yy35;
+ if(yych <= '!') goto yy39;
+ goto yy25;
}
} else {
if(yych <= ')'){
- if(yych <= '&') goto yy37;
- if(yych <= '\'') goto yy25;
- goto yy29;
+ if(yych <= '&') goto yy39;
+ if(yych <= '\'') goto yy27;
+ goto yy31;
} else {
- if(yych <= '*') goto yy21;
- if(yych <= '+') goto yy30;
- if(yych <= '.') goto yy37;
- goto yy19;
+ if(yych <= '*') goto yy23;
+ if(yych <= '+') goto yy32;
+ if(yych <= '.') goto yy39;
+ goto yy21;
}
}
} else {
if(yych <= '@'){
if(yych <= '<'){
- if(yych == ';') goto yy29;
- goto yy37;
+ if(yych == ';') goto yy31;
+ goto yy39;
} else {
- if(yych <= '=') goto yy29;
- if(yych == '?') goto yy30;
- goto yy37;
+ if(yych <= '=') goto yy31;
+ if(yych == '?') goto yy32;
+ goto yy39;
}
} else {
if(yych <= '`'){
- if(yych <= 'Z') goto yy31;
- if(yych <= '[') goto yy27;
- if(yych <= '\\') goto yy29;
- goto yy37;
+ if(yych <= 'Z') goto yy33;
+ if(yych <= '[') goto yy29;
+ if(yych <= '\\') goto yy31;
+ goto yy39;
} else {
- if(yych <= 'z') goto yy31;
- if(yych <= '{') goto yy17;
- if(yych <= '|') goto yy29;
- goto yy37;
+ if(yych <= 'z') goto yy33;
+ if(yych <= '{') goto yy19;
+ if(yych <= '|') goto yy31;
+ goto yy39;
}
}
}
-yy17: yyaccept = 0;
+yy19: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy18;
- if(yych <= '9') goto yy63;
- goto yy18;
-yy18:
-#line 107 "scanner.re"
+ if(yych <= '/') goto yy20;
+ if(yych <= '9') goto yy65;
+ goto yy20;
+yy20:
+#line 111 "scanner.re"
{ depth = 1;
goto code;
}
-#line 134 "scanner.cc"
-yy19: ++YYCURSOR;
- if((yych = *YYCURSOR) == '*') goto yy61;
- goto yy20;
-yy20:
-#line 133 "scanner.re"
-{ RETURN(*tok); }
-#line 141 "scanner.cc"
+#line 145 "scanner.cc"
yy21: ++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy59;
+ if((yych = *YYCURSOR) == '*') goto yy63;
goto yy22;
yy22:
-#line 135 "scanner.re"
-{ yylval.op = *tok;
- RETURN(CLOSE); }
-#line 149 "scanner.cc"
-yy23: yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy55;
+#line 137 "scanner.re"
+{ RETURN(*tok); }
+#line 152 "scanner.cc"
+yy23: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '/') goto yy61;
goto yy24;
yy24:
-#line 124 "scanner.re"
-{ fatal("unterminated string constant (missing \")"); }
-#line 157 "scanner.cc"
-yy25: yyaccept = 2;
+#line 139 "scanner.re"
+{ yylval.op = *tok;
+ RETURN(CLOSE); }
+#line 160 "scanner.cc"
+yy25: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy50;
+ if(yych != 0x0A) goto yy57;
goto yy26;
yy26:
-#line 125 "scanner.re"
-{ fatal("unterminated string constant (missing ')"); }
-#line 165 "scanner.cc"
-yy27: yyaccept = 3;
+#line 128 "scanner.re"
+{ fatal("unterminated string constant (missing \")"); }
+#line 168 "scanner.cc"
+yy27: yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy44;
+ if(yych != 0x0A) goto yy52;
goto yy28;
yy28:
-#line 131 "scanner.re"
+#line 129 "scanner.re"
+{ fatal("unterminated string constant (missing ')"); }
+#line 176 "scanner.cc"
+yy29: yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych != 0x0A) goto yy46;
+ goto yy30;
+yy30:
+#line 135 "scanner.re"
{ fatal("unterminated range (missing ])"); }
-#line 173 "scanner.cc"
-yy29: yych = *++YYCURSOR;
- goto yy20;
-yy30: yych = *++YYCURSOR;
+#line 184 "scanner.cc"
+yy31: yych = *++YYCURSOR;
goto yy22;
-yy31: ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy42;
-yy32:
-#line 150 "scanner.re"
-{ cur = cursor;
- yylval.symbol = Symbol::find(token());
- return ID; }
-#line 185 "scanner.cc"
+yy32: yych = *++YYCURSOR;
+ goto yy24;
yy33: ++YYCURSOR;
yych = *YYCURSOR;
- goto yy40;
+ goto yy44;
yy34:
#line 154 "scanner.re"
-{ goto scan; }
-#line 191 "scanner.cc"
+{ cur = cursor;
+ yylval.symbol = Symbol::find(token());
+ return ID; }
+#line 196 "scanner.cc"
yy35: ++YYCURSOR;
- goto yy36;
+ yych = *YYCURSOR;
+ goto yy42;
yy36:
-#line 156 "scanner.re"
+#line 158 "scanner.re"
+{ goto scan; }
+#line 202 "scanner.cc"
+yy37: ++YYCURSOR;
+ goto yy38;
+yy38:
+#line 160 "scanner.re"
{ if(cursor == eof) RETURN(0);
pos = cursor; cline++;
goto scan;
}
-#line 200 "scanner.cc"
-yy37: ++YYCURSOR;
- goto yy38;
-yy38:
-#line 161 "scanner.re"
+#line 211 "scanner.cc"
+yy39: ++YYCURSOR;
+ goto yy40;
+yy40:
+#line 165 "scanner.re"
{ std::cerr << "unexpected character: " << *tok << std::endl;
goto scan;
}
-#line 208 "scanner.cc"
-yy39: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy40;
-yy40: if(yych == 0x09) goto yy39;
- if(yych == ' ') goto yy39;
- goto yy34;
+#line 219 "scanner.cc"
yy41: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy42;
-yy42: if(yych <= '@'){
- if(yych <= '/') goto yy32;
- if(yych <= '9') goto yy41;
- goto yy32;
- } else {
- if(yych <= 'Z') goto yy41;
- if(yych <= '`') goto yy32;
- if(yych <= 'z') goto yy41;
- goto yy32;
- }
+yy42: if(yych == 0x09) goto yy41;
+ if(yych == ' ') goto yy41;
+ goto yy36;
yy43: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy44;
-yy44: if(yych <= '['){
- if(yych != 0x0A) goto yy43;
- goto yy45;
+yy44: if(yych <= '@'){
+ if(yych <= '/') goto yy34;
+ if(yych <= '9') goto yy43;
+ goto yy34;
} else {
- if(yych <= '\\') goto yy46;
- if(yych <= ']') goto yy47;
- goto yy43;
+ if(yych <= 'Z') goto yy43;
+ if(yych <= '`') goto yy34;
+ if(yych <= 'z') goto yy43;
+ goto yy34;
}
-yy45: YYCURSOR = YYMARKER;
+yy45: ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy46;
+yy46: if(yych <= '['){
+ if(yych != 0x0A) goto yy45;
+ goto yy47;
+ } else {
+ if(yych <= '\\') goto yy48;
+ if(yych <= ']') goto yy49;
+ goto yy45;
+ }
+yy47: YYCURSOR = YYMARKER;
switch(yyaccept){
- case 0: goto yy18;
- case 1: goto yy24;
- case 2: goto yy26;
- case 3: goto yy28;
+ case 0: goto yy20;
+ case 1: goto yy26;
+ case 2: goto yy28;
+ case 3: goto yy30;
}
-yy46: ++YYCURSOR;
+yy48: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy45;
- goto yy43;
-yy47: ++YYCURSOR;
- goto yy48;
-yy48:
-#line 127 "scanner.re"
+ if(yych == 0x0A) goto yy47;
+ goto yy45;
+yy49: ++YYCURSOR;
+ goto yy50;
+yy50:
+#line 131 "scanner.re"
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 265 "scanner.cc"
-yy49: ++YYCURSOR;
+#line 276 "scanner.cc"
+yy51: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy50;
-yy50: if(yych <= '&'){
- if(yych == 0x0A) goto yy45;
- goto yy49;
- } else {
- if(yych <= '\'') goto yy52;
- if(yych != '\\') goto yy49;
+ goto yy52;
+yy52: if(yych <= '&'){
+ if(yych == 0x0A) goto yy47;
goto yy51;
+ } else {
+ if(yych <= '\'') goto yy54;
+ if(yych != '\\') goto yy51;
+ goto yy53;
}
-yy51: ++YYCURSOR;
+yy53: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy45;
- goto yy49;
-yy52: ++YYCURSOR;
- goto yy53;
-yy53:
-#line 120 "scanner.re"
+ if(yych == 0x0A) goto yy47;
+ goto yy51;
+yy54: ++YYCURSOR;
+ goto yy55;
+yy55:
+#line 124 "scanner.re"
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 292 "scanner.cc"
-yy54: ++YYCURSOR;
+#line 303 "scanner.cc"
+yy56: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy55;
-yy55: if(yych <= '!'){
- if(yych == 0x0A) goto yy45;
- goto yy54;
- } else {
- if(yych <= '"') goto yy57;
- if(yych != '\\') goto yy54;
+ goto yy57;
+yy57: if(yych <= '!'){
+ if(yych == 0x0A) goto yy47;
goto yy56;
+ } else {
+ if(yych <= '"') goto yy59;
+ if(yych != '\\') goto yy56;
+ goto yy58;
}
-yy56: ++YYCURSOR;
+yy58: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy45;
- goto yy54;
-yy57: ++YYCURSOR;
- goto yy58;
-yy58:
-#line 116 "scanner.re"
-{ cur = cursor;
- yylval.regexp = strToRE(token());
- return STRING; }
-#line 319 "scanner.cc"
+ if(yych == 0x0A) goto yy47;
+ goto yy56;
yy59: ++YYCURSOR;
goto yy60;
yy60:
-#line 113 "scanner.re"
-{ tok = cursor;
- RETURN(0); }
-#line 326 "scanner.cc"
+#line 120 "scanner.re"
+{ cur = cursor;
+ yylval.regexp = strToRE(token());
+ return STRING; }
+#line 330 "scanner.cc"
yy61: ++YYCURSOR;
goto yy62;
yy62:
-#line 110 "scanner.re"
+#line 117 "scanner.re"
+{ tok = cursor;
+ RETURN(0); }
+#line 337 "scanner.cc"
+yy63: ++YYCURSOR;
+ goto yy64;
+yy64:
+#line 114 "scanner.re"
{ depth = 1;
goto comment; }
-#line 333 "scanner.cc"
-yy63: ++YYCURSOR;
+#line 344 "scanner.cc"
+yy65: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy64;
-yy64: if(yych <= '/'){
- if(yych == ',') goto yy67;
- goto yy45;
+ goto yy66;
+yy66: if(yych <= '/'){
+ if(yych == ',') goto yy69;
+ goto yy47;
} else {
- if(yych <= '9') goto yy63;
- if(yych != '}') goto yy45;
- goto yy65;
+ if(yych <= '9') goto yy65;
+ if(yych != '}') goto yy47;
+ goto yy67;
}
-yy65: ++YYCURSOR;
- goto yy66;
-yy66:
-#line 138 "scanner.re"
+yy67: ++YYCURSOR;
+ goto yy68;
+yy68:
+#line 142 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 354 "scanner.cc"
-yy67: yych = *++YYCURSOR;
- if(yych != '}') goto yy71;
- goto yy68;
-yy68: ++YYCURSOR;
- goto yy69;
-yy69:
-#line 146 "scanner.re"
+#line 365 "scanner.cc"
+yy69: yych = *++YYCURSOR;
+ if(yych != '}') goto yy73;
+ goto yy70;
+yy70: ++YYCURSOR;
+ goto yy71;
+yy71:
+#line 150 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 365 "scanner.cc"
-yy70: ++YYCURSOR;
+#line 376 "scanner.cc"
+yy72: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy71;
-yy71: if(yych <= '/') goto yy45;
- if(yych <= '9') goto yy70;
- if(yych != '}') goto yy45;
- goto yy72;
-yy72: ++YYCURSOR;
goto yy73;
-yy73:
-#line 142 "scanner.re"
+yy73: if(yych <= '/') goto yy47;
+ if(yych <= '9') goto yy72;
+ if(yych != '}') goto yy47;
+ goto yy74;
+yy74: ++YYCURSOR;
+ goto yy75;
+yy75:
+#line 146 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 382 "scanner.cc"
+#line 393 "scanner.cc"
}
-#line 164 "scanner.re"
+#line 168 "scanner.re"
code:
-#line 386 "scanner.cc"
+#line 397 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy74;
-yy75: ++YYCURSOR;
-yy74:
+ goto yy76;
+yy77: ++YYCURSOR;
+yy76:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&'){
if(yych <= 0x0A){
- if(yych <= 0x09) goto yy82;
- goto yy80;
- } else {
- if(yych == '"') goto yy84;
+ if(yych <= 0x09) goto yy84;
goto yy82;
+ } else {
+ if(yych == '"') goto yy86;
+ goto yy84;
}
} else {
if(yych <= '{'){
- if(yych <= '\'') goto yy85;
- if(yych <= 'z') goto yy82;
- goto yy78;
+ if(yych <= '\'') goto yy87;
+ if(yych <= 'z') goto yy84;
+ goto yy80;
} else {
- if(yych != '}') goto yy82;
- goto yy76;
+ if(yych != '}') goto yy84;
+ goto yy78;
}
}
-yy76: ++YYCURSOR;
- goto yy77;
-yy77:
-#line 168 "scanner.re"
+yy78: ++YYCURSOR;
+ goto yy79;
+yy79:
+#line 172 "scanner.re"
{ if(--depth == 0){
cur = cursor;
yylval.token = new Token(token(), tline);
return CODE;
}
goto code; }
-#line 423 "scanner.cc"
-yy78: ++YYCURSOR;
- goto yy79;
-yy79:
-#line 174 "scanner.re"
-{ ++depth;
- goto code; }
-#line 430 "scanner.cc"
+#line 434 "scanner.cc"
yy80: ++YYCURSOR;
goto yy81;
yy81:
-#line 176 "scanner.re"
-{ if(cursor == eof) fatal("missing '}'");
- pos = cursor; cline++;
- goto code;
- }
-#line 439 "scanner.cc"
+#line 178 "scanner.re"
+{ ++depth;
+ goto code; }
+#line 441 "scanner.cc"
yy82: ++YYCURSOR;
goto yy83;
yy83:
#line 180 "scanner.re"
+{ if(cursor == eof) fatal("missing '}'");
+ pos = cursor; cline++;
+ goto code;
+ }
+#line 450 "scanner.cc"
+yy84: ++YYCURSOR;
+ goto yy85;
+yy85:
+#line 184 "scanner.re"
{ goto code; }
-#line 445 "scanner.cc"
-yy84: yyaccept = 0;
+#line 456 "scanner.cc"
+yy86: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy83;
- goto yy91;
-yy85: yyaccept = 0;
+ if(yych == 0x0A) goto yy85;
+ goto yy93;
+yy87: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy83;
- goto yy87;
-yy86: ++YYCURSOR;
+ if(yych == 0x0A) goto yy85;
+ goto yy89;
+yy88: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy87;
-yy87: if(yych <= '&'){
- if(yych != 0x0A) goto yy86;
- goto yy88;
+ goto yy89;
+yy89: if(yych <= '&'){
+ if(yych != 0x0A) goto yy88;
+ goto yy90;
} else {
- if(yych <= '\'') goto yy82;
- if(yych == '\\') goto yy89;
- goto yy86;
+ if(yych <= '\'') goto yy84;
+ if(yych == '\\') goto yy91;
+ goto yy88;
}
-yy88: YYCURSOR = YYMARKER;
+yy90: YYCURSOR = YYMARKER;
switch(yyaccept){
- case 0: goto yy83;
+ case 0: goto yy85;
}
-yy89: ++YYCURSOR;
+yy91: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy88;
- goto yy86;
-yy90: ++YYCURSOR;
+ if(yych == 0x0A) goto yy90;
+ goto yy88;
+yy92: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- goto yy91;
-yy91: if(yych <= '!'){
- if(yych == 0x0A) goto yy88;
- goto yy90;
- } else {
- if(yych <= '"') goto yy82;
- if(yych != '\\') goto yy90;
+ goto yy93;
+yy93: if(yych <= '!'){
+ if(yych == 0x0A) goto yy90;
goto yy92;
+ } else {
+ if(yych <= '"') goto yy84;
+ if(yych != '\\') goto yy92;
+ goto yy94;
}
-yy92: ++YYCURSOR;
+yy94: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy88;
- goto yy90;
+ if(yych == 0x0A) goto yy90;
+ goto yy92;
}
-#line 181 "scanner.re"
+#line 185 "scanner.re"
comment:
-#line 499 "scanner.cc"
+#line 510 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy93;
-yy94: ++YYCURSOR;
-yy93:
+ goto yy95;
+yy96: ++YYCURSOR;
+yy95:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ')'){
- if(yych == 0x0A) goto yy98;
- goto yy100;
+ if(yych == 0x0A) goto yy100;
+ goto yy102;
} else {
- if(yych <= '*') goto yy95;
- if(yych == '/') goto yy97;
- goto yy100;
+ if(yych <= '*') goto yy97;
+ if(yych == '/') goto yy99;
+ goto yy102;
}
-yy95: ++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy103;
- goto yy96;
-yy96:
-#line 195 "scanner.re"
+yy97: ++YYCURSOR;
+ if((yych = *YYCURSOR) == '/') goto yy105;
+ goto yy98;
+yy98:
+#line 199 "scanner.re"
{ goto comment; }
-#line 522 "scanner.cc"
-yy97: yych = *++YYCURSOR;
- if(yych == '*') goto yy101;
- goto yy96;
-yy98: ++YYCURSOR;
- goto yy99;
-yy99:
-#line 191 "scanner.re"
+#line 533 "scanner.cc"
+yy99: yych = *++YYCURSOR;
+ if(yych == '*') goto yy103;
+ goto yy98;
+yy100: ++YYCURSOR;
+ goto yy101;
+yy101:
+#line 195 "scanner.re"
{ if(cursor == eof) RETURN(0);
tok = pos = cursor; cline++;
goto comment;
}
-#line 534 "scanner.cc"
-yy100: yych = *++YYCURSOR;
- goto yy96;
-yy101: ++YYCURSOR;
- goto yy102;
-yy102:
-#line 189 "scanner.re"
-{ ++depth;
- goto comment; }
-#line 543 "scanner.cc"
+#line 545 "scanner.cc"
+yy102: yych = *++YYCURSOR;
+ goto yy98;
yy103: ++YYCURSOR;
goto yy104;
yy104:
-#line 185 "scanner.re"
+#line 193 "scanner.re"
+{ ++depth;
+ goto comment; }
+#line 554 "scanner.cc"
+yy105: ++YYCURSOR;
+ goto yy106;
+yy106:
+#line 189 "scanner.re"
{ if(--depth == 0)
goto scan;
else
goto comment; }
-#line 552 "scanner.cc"
+#line 563 "scanner.cc"
}
-#line 196 "scanner.re"
+#line 200 "scanner.re"
}