-/* Generated by re2c 0.10.2.dev on Sat Apr 8 20:31:13 2006 */
+/* Generated by re2c 0.10.2.dev on Sat Apr 15 08:54:49 2006 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
#line 96 "scanner.cc"
{
YYCTYPE yych;
+ unsigned int yyaccept = 0;
if((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
yych = *YYCURSOR;
if(yych <= '*') goto yy4;
if(yych != '/') goto yy9;
}
+ yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == '*') goto yy12;
+ if(yych == '*') goto yy16;
yy3:
-#line 147 "scanner.re"
+#line 165 "scanner.re"
{
goto echo;
}
-#line 117 "scanner.cc"
+#line 119 "scanner.cc"
yy4:
yych = *++YYCURSOR;
if(yych == '/') goto yy10;
goto yy3;
yy5:
++YYCURSOR;
-#line 136 "scanner.re"
+#line 150 "scanner.re"
{
- out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
+ if (!ignore_eoc) {
+ out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
+ }
tok = pos = cursor; cline++;
goto echo;
}
-#line 130 "scanner.cc"
+#line 134 "scanner.cc"
yy7:
++YYCURSOR;
-#line 141 "scanner.re"
+#line 157 "scanner.re"
{
- out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0
+ if (!ignore_eoc) {
+ 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 140 "scanner.cc"
+#line 146 "scanner.cc"
yy9:
yych = *++YYCURSOR;
goto yy3;
yy10:
- ++YYCURSOR;
-#line 127 "scanner.re"
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == 0x0A) goto yy14;
+ if(yych == 0x0D) goto yy12;
+yy11:
+#line 141 "scanner.re"
{
if (ignore_eoc) {
ignore_eoc = false;
tok = pos = cursor;
goto echo;
}
-#line 156 "scanner.cc"
+#line 166 "scanner.cc"
yy12:
yych = *++YYCURSOR;
- if(yych == '!') goto yy14;
+ if(yych == 0x0A) goto yy14;
yy13:
YYCURSOR = YYMARKER;
- goto yy3;
+ switch(yyaccept) {
+ case 1: goto yy11;
+ case 0: goto yy3;
+ }
yy14:
+ ++YYCURSOR;
+#line 132 "scanner.re"
+ {
+ if (ignore_eoc) {
+ ignore_eoc = false;
+ } else {
+ out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
+ }
+ tok = pos = cursor; cline++;
+ goto echo;
+ }
+#line 188 "scanner.cc"
+yy16:
yych = *++YYCURSOR;
- if(yych <= 'l') {
- if(yych != 'g') goto yy13;
- } else {
- if(yych <= 'm') goto yy16;
- if(yych == 'r') goto yy17;
- goto yy13;
+ if(yych != '!') goto yy13;
+ yych = *++YYCURSOR;
+ switch(yych){
+ case 'g': goto yy19;
+ case 'i': goto yy18;
+ case 'm': goto yy20;
+ case 'r': goto yy21;
+ default: goto yy13;
}
+yy18:
yych = *++YYCURSOR;
- if(yych == 'e') goto yy30;
+ if(yych == 'g') goto yy47;
goto yy13;
-yy16:
+yy19:
+ yych = *++YYCURSOR;
+ if(yych == 'e') goto yy34;
+ goto yy13;
+yy20:
yych = *++YYCURSOR;
- if(yych == 'a') goto yy22;
+ if(yych == 'a') goto yy26;
goto yy13;
-yy17:
+yy21:
yych = *++YYCURSOR;
if(yych != 'e') goto yy13;
yych = *++YYCURSOR;
tok = cursor;
RETURN(1);
}
-#line 193 "scanner.cc"
-yy22:
+#line 226 "scanner.cc"
+yy26:
yych = *++YYCURSOR;
if(yych != 'x') goto yy13;
yych = *++YYCURSOR;
ignore_eoc = true;
goto echo;
}
-#line 215 "scanner.cc"
-yy30:
+#line 248 "scanner.cc"
+yy34:
yych = *++YYCURSOR;
if(yych != 't') goto yy13;
yych = *++YYCURSOR;
ignore_eoc = true;
goto echo;
}
-#line 247 "scanner.cc"
+#line 280 "scanner.cc"
+yy47:
+ yych = *++YYCURSOR;
+ if(yych != 'n') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'o') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'r') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'e') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != ':') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'r') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'e') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != '2') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'c') goto yy13;
+ ++YYCURSOR;
+#line 127 "scanner.re"
+ {
+ tok = pos = cursor;
+ ignore_eoc = true;
+ goto echo;
+ }
+#line 307 "scanner.cc"
}
-#line 150 "scanner.re"
+#line 168 "scanner.re"
}
goto value;
}
-#line 272 "scanner.cc"
+#line 332 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if(yych <= '/') {
if(yych <= '!') {
if(yych <= 0x0C) {
- if(yych <= 0x08) goto yy70;
- if(yych <= 0x09) goto yy64;
- if(yych <= 0x0A) goto yy66;
- goto yy70;
+ if(yych <= 0x08) goto yy85;
+ if(yych <= 0x09) goto yy79;
+ if(yych <= 0x0A) goto yy81;
+ goto yy85;
} else {
- if(yych <= 0x0D) goto yy68;
- if(yych == ' ') goto yy64;
- goto yy70;
+ if(yych <= 0x0D) goto yy83;
+ if(yych == ' ') goto yy79;
+ goto yy85;
}
} else {
if(yych <= ')') {
- if(yych <= '"') goto yy51;
- if(yych <= '&') goto yy70;
- if(yych <= '\'') goto yy53;
- goto yy57;
+ if(yych <= '"') goto yy66;
+ if(yych <= '&') goto yy85;
+ if(yych <= '\'') goto yy68;
+ goto yy72;
} else {
if(yych <= '+') {
- if(yych <= '*') goto yy49;
- goto yy58;
+ if(yych <= '*') goto yy64;
+ goto yy73;
} else {
- if(yych <= '-') goto yy70;
- if(yych <= '.') goto yy62;
- goto yy47;
+ if(yych <= '-') goto yy85;
+ if(yych <= '.') goto yy77;
+ goto yy62;
}
}
}
} else {
if(yych <= 'Z') {
if(yych <= '=') {
- if(yych == ';') goto yy57;
- if(yych <= '<') goto yy70;
- goto yy57;
+ if(yych == ';') goto yy72;
+ if(yych <= '<') goto yy85;
+ goto yy72;
} else {
- if(yych == '?') goto yy58;
- if(yych <= '@') goto yy70;
- goto yy61;
+ if(yych == '?') goto yy73;
+ if(yych <= '@') goto yy85;
+ goto yy76;
}
} else {
if(yych <= 'q') {
- if(yych <= '[') goto yy55;
- if(yych <= '\\') goto yy57;
- if(yych <= '`') goto yy70;
- goto yy61;
+ if(yych <= '[') goto yy70;
+ if(yych <= '\\') goto yy72;
+ if(yych <= '`') goto yy85;
+ goto yy76;
} else {
if(yych <= 'z') {
- if(yych <= 'r') goto yy59;
- goto yy61;
+ if(yych <= 'r') goto yy74;
+ goto yy76;
} else {
- if(yych <= '{') goto yy45;
- if(yych <= '|') goto yy57;
- goto yy70;
+ if(yych <= '{') goto yy60;
+ if(yych <= '|') goto yy72;
+ goto yy85;
}
}
}
}
-yy45:
+yy60:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') {
- if(yych == ',') goto yy111;
+ if(yych == ',') goto yy126;
} else {
- if(yych <= '0') goto yy108;
- if(yych <= '9') goto yy109;
+ if(yych <= '0') goto yy123;
+ if(yych <= '9') goto yy124;
}
-yy46:
-#line 172 "scanner.re"
+yy61:
+#line 190 "scanner.re"
{ depth = 1;
goto code;
}
-#line 350 "scanner.cc"
-yy47:
+#line 410 "scanner.cc"
+yy62:
++YYCURSOR;
- if((yych = *YYCURSOR) == '*') goto yy106;
-yy48:
-#line 202 "scanner.re"
+ if((yych = *YYCURSOR) == '*') goto yy121;
+yy63:
+#line 220 "scanner.re"
{ RETURN(*tok); }
-#line 357 "scanner.cc"
-yy49:
+#line 417 "scanner.cc"
+yy64:
++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy104;
-yy50:
-#line 204 "scanner.re"
+ if((yych = *YYCURSOR) == '/') goto yy119;
+yy65:
+#line 222 "scanner.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
-#line 365 "scanner.cc"
-yy51:
+#line 425 "scanner.cc"
+yy66:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy100;
-yy52:
-#line 189 "scanner.re"
+ if(yych != 0x0A) goto yy115;
+yy67:
+#line 207 "scanner.re"
{ fatal("unterminated string constant (missing \")"); }
-#line 373 "scanner.cc"
-yy53:
+#line 433 "scanner.cc"
+yy68:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy95;
-yy54:
-#line 190 "scanner.re"
+ if(yych != 0x0A) goto yy110;
+yy69:
+#line 208 "scanner.re"
{ fatal("unterminated string constant (missing ')"); }
-#line 381 "scanner.cc"
-yy55:
+#line 441 "scanner.cc"
+yy70:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy56;
- if(yych == '^') goto yy86;
- goto yy85;
-yy56:
-#line 200 "scanner.re"
+ if(yych == 0x0A) goto yy71;
+ if(yych == '^') goto yy101;
+ goto yy100;
+yy71:
+#line 218 "scanner.re"
{ fatal("unterminated range (missing ])"); }
-#line 391 "scanner.cc"
-yy57:
+#line 451 "scanner.cc"
+yy72:
yych = *++YYCURSOR;
- goto yy48;
-yy58:
+ goto yy63;
+yy73:
yych = *++YYCURSOR;
- goto yy50;
-yy59:
+ goto yy65;
+yy74:
++YYCURSOR;
- if((yych = *YYCURSOR) == 'e') goto yy76;
- goto yy75;
-yy60:
-#line 231 "scanner.re"
+ if((yych = *YYCURSOR) == 'e') goto yy91;
+ goto yy90;
+yy75:
+#line 249 "scanner.re"
{ cur = cursor;
yylval.symbol = Symbol::find(token());
return ID; }
-#line 407 "scanner.cc"
-yy61:
+#line 467 "scanner.cc"
+yy76:
yych = *++YYCURSOR;
- goto yy75;
-yy62:
+ goto yy90;
+yy77:
++YYCURSOR;
-#line 235 "scanner.re"
+#line 253 "scanner.re"
{ cur = cursor;
yylval.regexp = mkDot();
return RANGE;
}
-#line 418 "scanner.cc"
-yy64:
+#line 478 "scanner.cc"
+yy79:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy73;
-yy65:
-#line 240 "scanner.re"
+ goto yy88;
+yy80:
+#line 258 "scanner.re"
{ goto scan; }
-#line 426 "scanner.cc"
-yy66:
+#line 486 "scanner.cc"
+yy81:
++YYCURSOR;
-yy67:
-#line 242 "scanner.re"
+yy82:
+#line 260 "scanner.re"
{ if(cursor == eof) RETURN(0);
pos = cursor; cline++;
goto scan;
}
-#line 435 "scanner.cc"
-yy68:
+#line 495 "scanner.cc"
+yy83:
++YYCURSOR;
- if((yych = *YYCURSOR) == 0x0A) goto yy71;
-yy69:
-#line 247 "scanner.re"
+ if((yych = *YYCURSOR) == 0x0A) goto yy86;
+yy84:
+#line 265 "scanner.re"
{ std::ostringstream msg;
msg << "unexpected character: ";
prtChOrHex(msg, *tok);
fatal(msg.str().c_str());
goto scan;
}
-#line 447 "scanner.cc"
-yy70:
+#line 507 "scanner.cc"
+yy85:
yych = *++YYCURSOR;
- goto yy69;
-yy71:
+ goto yy84;
+yy86:
yych = *++YYCURSOR;
- goto yy67;
-yy72:
+ goto yy82;
+yy87:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy73:
- if(yych == 0x09) goto yy72;
- if(yych == ' ') goto yy72;
- goto yy65;
-yy74:
+yy88:
+ if(yych == 0x09) goto yy87;
+ if(yych == ' ') goto yy87;
+ goto yy80;
+yy89:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy75:
+yy90:
if(yych <= '@') {
- if(yych <= '/') goto yy60;
- if(yych <= '9') goto yy74;
- goto yy60;
+ if(yych <= '/') goto yy75;
+ if(yych <= '9') goto yy89;
+ goto yy75;
} else {
- if(yych <= 'Z') goto yy74;
- if(yych <= '`') goto yy60;
- if(yych <= 'z') goto yy74;
- goto yy60;
+ if(yych <= 'Z') goto yy89;
+ if(yych <= '`') goto yy75;
+ if(yych <= 'z') goto yy89;
+ goto yy75;
}
-yy76:
+yy91:
yych = *++YYCURSOR;
- if(yych != '2') goto yy75;
+ if(yych != '2') goto yy90;
yych = *++YYCURSOR;
- if(yych != 'c') goto yy75;
+ if(yych != 'c') goto yy90;
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != ':') goto yy75;
-yy79:
+ if(yych != ':') goto yy90;
+yy94:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych <= '@') goto yy80;
- if(yych <= 'Z') goto yy81;
- if(yych <= '`') goto yy80;
- if(yych <= 'z') goto yy81;
-yy80:
+ if(yych <= '@') goto yy95;
+ if(yych <= 'Z') goto yy96;
+ if(yych <= '`') goto yy95;
+ if(yych <= 'z') goto yy96;
+yy95:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy46;
- case 1: goto yy52;
- case 2: goto yy54;
- case 3: goto yy56;
- case 6: goto yy112;
- case 5: goto yy83;
- case 4: goto yy60;
+ case 0: goto yy61;
+ case 1: goto yy67;
+ case 2: goto yy69;
+ case 3: goto yy71;
+ case 6: goto yy127;
+ case 5: goto yy98;
+ case 4: goto yy75;
}
-yy81:
+yy96:
yyaccept = 5;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 'Z') {
if(yych <= '9') {
- if(yych >= '0') goto yy81;
+ if(yych >= '0') goto yy96;
} else {
- if(yych <= ':') goto yy79;
- if(yych >= 'A') goto yy81;
+ if(yych <= ':') goto yy94;
+ if(yych >= 'A') goto yy96;
}
} else {
if(yych <= '_') {
- if(yych >= '_') goto yy81;
+ if(yych >= '_') goto yy96;
} else {
- if(yych <= '`') goto yy83;
- if(yych <= 'z') goto yy81;
+ if(yych <= '`') goto yy98;
+ if(yych <= 'z') goto yy96;
}
}
-yy83:
-#line 224 "scanner.re"
+yy98:
+#line 242 "scanner.re"
{ cur = cursor;
tok+= 5; /* skip "re2c:" */
iscfg = 1;
yylval.str = new Str(token());
return CONFIG;
}
-#line 532 "scanner.cc"
-yy84:
+#line 592 "scanner.cc"
+yy99:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy85:
+yy100:
if(yych <= '[') {
- if(yych == 0x0A) goto yy80;
- goto yy84;
+ if(yych == 0x0A) goto yy95;
+ goto yy99;
} else {
- if(yych <= '\\') goto yy88;
- if(yych <= ']') goto yy89;
- goto yy84;
+ if(yych <= '\\') goto yy103;
+ if(yych <= ']') goto yy104;
+ goto yy99;
}
-yy86:
+yy101:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '[') {
- if(yych == 0x0A) goto yy80;
- goto yy86;
+ if(yych == 0x0A) goto yy95;
+ goto yy101;
} else {
- if(yych <= '\\') goto yy91;
- if(yych <= ']') goto yy92;
- goto yy86;
+ if(yych <= '\\') goto yy106;
+ if(yych <= ']') goto yy107;
+ goto yy101;
}
-yy88:
+yy103:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy80;
- goto yy84;
-yy89:
+ if(yych == 0x0A) goto yy95;
+ goto yy99;
+yy104:
++YYCURSOR;
-#line 196 "scanner.re"
+#line 214 "scanner.re"
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 570 "scanner.cc"
-yy91:
+#line 630 "scanner.cc"
+yy106:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy80;
- goto yy86;
-yy92:
+ if(yych == 0x0A) goto yy95;
+ goto yy101;
+yy107:
++YYCURSOR;
-#line 192 "scanner.re"
+#line 210 "scanner.re"
{ cur = cursor;
yylval.regexp = invToRE(token());
return RANGE; }
-#line 583 "scanner.cc"
-yy94:
+#line 643 "scanner.cc"
+yy109:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy95:
+yy110:
if(yych <= '&') {
- if(yych == 0x0A) goto yy80;
- goto yy94;
+ if(yych == 0x0A) goto yy95;
+ goto yy109;
} else {
- if(yych <= '\'') goto yy97;
- if(yych != '\\') goto yy94;
+ if(yych <= '\'') goto yy112;
+ if(yych != '\\') goto yy109;
}
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy80;
- goto yy94;
-yy97:
+ if(yych == 0x0A) goto yy95;
+ goto yy109;
+yy112:
++YYCURSOR;
-#line 185 "scanner.re"
+#line 203 "scanner.re"
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 607 "scanner.cc"
-yy99:
+#line 667 "scanner.cc"
+yy114:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy100:
+yy115:
if(yych <= '!') {
- if(yych == 0x0A) goto yy80;
- goto yy99;
+ if(yych == 0x0A) goto yy95;
+ goto yy114;
} else {
- if(yych <= '"') goto yy102;
- if(yych != '\\') goto yy99;
+ if(yych <= '"') goto yy117;
+ if(yych != '\\') goto yy114;
}
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy80;
- goto yy99;
-yy102:
+ if(yych == 0x0A) goto yy95;
+ goto yy114;
+yy117:
++YYCURSOR;
-#line 181 "scanner.re"
+#line 199 "scanner.re"
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 631 "scanner.cc"
-yy104:
+#line 691 "scanner.cc"
+yy119:
++YYCURSOR;
-#line 178 "scanner.re"
+#line 196 "scanner.re"
{ tok = cursor;
RETURN(0); }
-#line 637 "scanner.cc"
-yy106:
+#line 697 "scanner.cc"
+yy121:
++YYCURSOR;
-#line 175 "scanner.re"
+#line 193 "scanner.re"
{ depth = 1;
goto comment; }
-#line 643 "scanner.cc"
-yy108:
+#line 703 "scanner.cc"
+yy123:
yych = *++YYCURSOR;
- if(yych == ',') goto yy122;
- goto yy110;
-yy109:
+ if(yych == ',') goto yy137;
+ goto yy125;
+yy124:
++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy110:
+yy125:
if(yych <= '/') {
- if(yych == ',') goto yy115;
- goto yy80;
+ if(yych == ',') goto yy130;
+ goto yy95;
} else {
- if(yych <= '9') goto yy109;
- if(yych == '}') goto yy113;
- goto yy80;
+ if(yych <= '9') goto yy124;
+ if(yych == '}') goto yy128;
+ goto yy95;
}
-yy111:
+yy126:
++YYCURSOR;
-yy112:
-#line 222 "scanner.re"
+yy127:
+#line 240 "scanner.re"
{ fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); }
-#line 666 "scanner.cc"
-yy113:
+#line 726 "scanner.cc"
+yy128:
++YYCURSOR;
-#line 210 "scanner.re"
+#line 228 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 673 "scanner.cc"
-yy115:
+#line 733 "scanner.cc"
+yy130:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy112;
- if(yych <= '9') goto yy118;
- if(yych != '}') goto yy112;
+ if(yych <= '/') goto yy127;
+ if(yych <= '9') goto yy133;
+ if(yych != '}') goto yy127;
++YYCURSOR;
-#line 218 "scanner.re"
+#line 236 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 685 "scanner.cc"
-yy118:
+#line 745 "scanner.cc"
+yy133:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych <= '/') goto yy80;
- if(yych <= '9') goto yy118;
- if(yych != '}') goto yy80;
+ if(yych <= '/') goto yy95;
+ if(yych <= '9') goto yy133;
+ if(yych != '}') goto yy95;
++YYCURSOR;
-#line 214 "scanner.re"
+#line 232 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 698 "scanner.cc"
-yy122:
+#line 758 "scanner.cc"
+yy137:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy112;
- if(yych <= '9') goto yy118;
- if(yych != '}') goto yy112;
+ if(yych <= '/') goto yy127;
+ if(yych <= '9') goto yy133;
+ if(yych != '}') goto yy127;
++YYCURSOR;
-#line 207 "scanner.re"
+#line 225 "scanner.re"
{ yylval.op = '*';
RETURN(CLOSE); }
-#line 709 "scanner.cc"
+#line 769 "scanner.cc"
}
-#line 253 "scanner.re"
+#line 271 "scanner.re"
code:
-#line 716 "scanner.cc"
+#line 776 "scanner.cc"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&') {
if(yych <= 0x0A) {
- if(yych <= 0x09) goto yy133;
- goto yy131;
+ if(yych <= 0x09) goto yy148;
+ goto yy146;
} else {
- if(yych == '"') goto yy135;
- goto yy133;
+ if(yych == '"') goto yy150;
+ goto yy148;
}
} else {
if(yych <= '{') {
- if(yych <= '\'') goto yy136;
- if(yych <= 'z') goto yy133;
- goto yy129;
+ if(yych <= '\'') goto yy151;
+ if(yych <= 'z') goto yy148;
+ goto yy144;
} else {
- if(yych != '}') goto yy133;
+ if(yych != '}') goto yy148;
}
}
++YYCURSOR;
-#line 257 "scanner.re"
+#line 275 "scanner.re"
{ if(--depth == 0){
cur = cursor;
yylval.token = new Token(token(), tline);
return CODE;
}
goto code; }
-#line 746 "scanner.cc"
-yy129:
+#line 806 "scanner.cc"
+yy144:
++YYCURSOR;
-#line 263 "scanner.re"
+#line 281 "scanner.re"
{ ++depth;
goto code; }
-#line 752 "scanner.cc"
-yy131:
+#line 812 "scanner.cc"
+yy146:
++YYCURSOR;
-#line 265 "scanner.re"
+#line 283 "scanner.re"
{ if(cursor == eof) fatal("missing '}'");
pos = cursor; cline++;
goto code;
}
-#line 760 "scanner.cc"
-yy133:
+#line 820 "scanner.cc"
+yy148:
++YYCURSOR;
-yy134:
-#line 269 "scanner.re"
+yy149:
+#line 287 "scanner.re"
{ goto code; }
-#line 766 "scanner.cc"
-yy135:
+#line 826 "scanner.cc"
+yy150:
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy134;
- goto yy142;
-yy136:
+ if(yych == 0x0A) goto yy149;
+ goto yy157;
+yy151:
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy134;
- goto yy138;
-yy137:
+ if(yych == 0x0A) goto yy149;
+ goto yy153;
+yy152:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy138:
+yy153:
if(yych <= '&') {
- if(yych != 0x0A) goto yy137;
+ if(yych != 0x0A) goto yy152;
} else {
- if(yych <= '\'') goto yy133;
- if(yych == '\\') goto yy140;
- goto yy137;
+ if(yych <= '\'') goto yy148;
+ if(yych == '\\') goto yy155;
+ goto yy152;
}
-yy139:
+yy154:
YYCURSOR = YYMARKER;
- goto yy134;
-yy140:
+ goto yy149;
+yy155:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy139;
- goto yy137;
-yy141:
+ if(yych == 0x0A) goto yy154;
+ goto yy152;
+yy156:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy142:
+yy157:
if(yych <= '!') {
- if(yych == 0x0A) goto yy139;
- goto yy141;
+ if(yych == 0x0A) goto yy154;
+ goto yy156;
} else {
- if(yych <= '"') goto yy133;
- if(yych != '\\') goto yy141;
+ if(yych <= '"') goto yy148;
+ if(yych != '\\') goto yy156;
}
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy139;
- goto yy141;
+ if(yych == 0x0A) goto yy154;
+ goto yy156;
}
-#line 270 "scanner.re"
+#line 288 "scanner.re"
comment:
-#line 819 "scanner.cc"
+#line 879 "scanner.cc"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ')') {
- if(yych == 0x0A) goto yy149;
- goto yy151;
+ if(yych == 0x0A) goto yy164;
+ goto yy166;
} else {
- if(yych <= '*') goto yy146;
- if(yych == '/') goto yy148;
- goto yy151;
+ if(yych <= '*') goto yy161;
+ if(yych == '/') goto yy163;
+ goto yy166;
}
-yy146:
+yy161:
++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy154;
-yy147:
-#line 285 "scanner.re"
+ if((yych = *YYCURSOR) == '/') goto yy169;
+yy162:
+#line 303 "scanner.re"
{ if(cursor == eof) RETURN(0);
goto comment; }
-#line 839 "scanner.cc"
-yy148:
+#line 899 "scanner.cc"
+yy163:
yych = *++YYCURSOR;
- if(yych == '*') goto yy152;
- goto yy147;
-yy149:
+ if(yych == '*') goto yy167;
+ goto yy162;
+yy164:
++YYCURSOR;
-#line 281 "scanner.re"
+#line 299 "scanner.re"
{ if(cursor == eof) RETURN(0);
tok = pos = cursor; cline++;
goto comment;
}
-#line 851 "scanner.cc"
-yy151:
+#line 911 "scanner.cc"
+yy166:
yych = *++YYCURSOR;
- goto yy147;
-yy152:
+ goto yy162;
+yy167:
++YYCURSOR;
-#line 278 "scanner.re"
+#line 296 "scanner.re"
{ ++depth;
fatal("ambiguous /* found");
goto comment; }
-#line 861 "scanner.cc"
-yy154:
+#line 921 "scanner.cc"
+yy169:
++YYCURSOR;
-#line 274 "scanner.re"
+#line 292 "scanner.re"
{ if(--depth == 0)
goto scan;
else
goto comment; }
-#line 869 "scanner.cc"
+#line 929 "scanner.cc"
}
-#line 287 "scanner.re"
+#line 305 "scanner.re"
config:
-#line 876 "scanner.cc"
+#line 936 "scanner.cc"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= 0x1F) {
- if(yych != 0x09) goto yy162;
+ if(yych != 0x09) goto yy177;
} else {
- if(yych <= ' ') goto yy158;
- if(yych == '=') goto yy160;
- goto yy162;
+ if(yych <= ' ') goto yy173;
+ if(yych == '=') goto yy175;
+ goto yy177;
}
-yy158:
+yy173:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy167;
-yy159:
-#line 291 "scanner.re"
+ goto yy182;
+yy174:
+#line 309 "scanner.re"
{ goto config; }
-#line 895 "scanner.cc"
-yy160:
+#line 955 "scanner.cc"
+yy175:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy165;
-yy161:
-#line 292 "scanner.re"
+ goto yy180;
+yy176:
+#line 310 "scanner.re"
{ iscfg = 2;
cur = cursor;
RETURN('=');
}
-#line 906 "scanner.cc"
-yy162:
+#line 966 "scanner.cc"
+yy177:
++YYCURSOR;
-#line 296 "scanner.re"
+#line 314 "scanner.re"
{ fatal("missing '='"); }
-#line 911 "scanner.cc"
-yy164:
+#line 971 "scanner.cc"
+yy179:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy165:
- if(yych == 0x09) goto yy164;
- if(yych == ' ') goto yy164;
- goto yy161;
-yy166:
+yy180:
+ if(yych == 0x09) goto yy179;
+ if(yych == ' ') goto yy179;
+ goto yy176;
+yy181:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy167:
- if(yych == 0x09) goto yy166;
- if(yych == ' ') goto yy166;
- goto yy159;
+yy182:
+ if(yych == 0x09) goto yy181;
+ if(yych == ' ') goto yy181;
+ goto yy174;
}
-#line 297 "scanner.re"
+#line 315 "scanner.re"
value:
-#line 934 "scanner.cc"
+#line 994 "scanner.cc"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&') {
if(yych <= 0x0D) {
- if(yych <= 0x08) goto yy176;
- if(yych <= 0x0A) goto yy170;
- if(yych <= 0x0C) goto yy176;
+ if(yych <= 0x08) goto yy191;
+ if(yych <= 0x0A) goto yy185;
+ if(yych <= 0x0C) goto yy191;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy176;
+ if(yych <= 0x1F) goto yy191;
} else {
- if(yych == '"') goto yy178;
- goto yy176;
+ if(yych == '"') goto yy193;
+ goto yy191;
}
}
} else {
if(yych <= '/') {
- if(yych <= '\'') goto yy180;
- if(yych == '-') goto yy173;
- goto yy176;
+ if(yych <= '\'') goto yy195;
+ if(yych == '-') goto yy188;
+ goto yy191;
} else {
if(yych <= '9') {
- if(yych <= '0') goto yy171;
- goto yy174;
+ if(yych <= '0') goto yy186;
+ goto yy189;
} else {
- if(yych != ';') goto yy176;
+ if(yych != ';') goto yy191;
}
}
}
-yy170:
-#line 306 "scanner.re"
+yy185:
+#line 324 "scanner.re"
{ cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-#line 973 "scanner.cc"
-yy171:
+#line 1033 "scanner.cc"
+yy186:
++YYCURSOR;
if((yych = *YYCURSOR) <= 0x0D) {
- if(yych <= 0x08) goto yy176;
- if(yych <= 0x0A) goto yy172;
- if(yych <= 0x0C) goto yy176;
+ if(yych <= 0x08) goto yy191;
+ if(yych <= 0x0A) goto yy187;
+ if(yych <= 0x0C) goto yy191;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy176;
+ if(yych <= 0x1F) goto yy191;
} else {
- if(yych != ';') goto yy176;
+ if(yych != ';') goto yy191;
}
}
-yy172:
-#line 301 "scanner.re"
+yy187:
+#line 319 "scanner.re"
{ cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-#line 994 "scanner.cc"
-yy173:
+#line 1054 "scanner.cc"
+yy188:
yych = *++YYCURSOR;
- if(yych <= '0') goto yy177;
- if(yych >= ':') goto yy177;
-yy174:
+ if(yych <= '0') goto yy192;
+ if(yych >= ':') goto yy192;
+yy189:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x1F) {
if(yych <= 0x0A) {
- if(yych >= 0x09) goto yy172;
+ if(yych >= 0x09) goto yy187;
} else {
- if(yych == 0x0D) goto yy172;
+ if(yych == 0x0D) goto yy187;
}
} else {
if(yych <= '9') {
- if(yych <= ' ') goto yy172;
- if(yych >= '0') goto yy174;
+ if(yych <= ' ') goto yy187;
+ if(yych >= '0') goto yy189;
} else {
- if(yych == ';') goto yy172;
+ if(yych == ';') goto yy187;
}
}
-yy176:
+yy191:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy177:
+yy192:
if(yych <= 0x0D) {
- if(yych <= 0x08) goto yy176;
- if(yych <= 0x0A) goto yy170;
- if(yych <= 0x0C) goto yy176;
- goto yy170;
+ if(yych <= 0x08) goto yy191;
+ if(yych <= 0x0A) goto yy185;
+ if(yych <= 0x0C) goto yy191;
+ goto yy185;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy176;
- goto yy170;
+ if(yych <= 0x1F) goto yy191;
+ goto yy185;
} else {
- if(yych == ';') goto yy170;
- goto yy176;
+ if(yych == ';') goto yy185;
+ goto yy191;
}
}
-yy178:
+yy193:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= ' ') {
if(yych <= 0x0A) {
- if(yych <= 0x08) goto yy178;
- if(yych <= 0x09) goto yy188;
- goto yy170;
+ if(yych <= 0x08) goto yy193;
+ if(yych <= 0x09) goto yy203;
+ goto yy185;
} else {
- if(yych == 0x0D) goto yy188;
- if(yych <= 0x1F) goto yy178;
- goto yy188;
+ if(yych == 0x0D) goto yy203;
+ if(yych <= 0x1F) goto yy193;
+ goto yy203;
}
} else {
if(yych <= ':') {
- if(yych == '"') goto yy176;
- goto yy178;
+ if(yych == '"') goto yy191;
+ goto yy193;
} else {
- if(yych <= ';') goto yy188;
- if(yych == '\\') goto yy190;
- goto yy178;
+ if(yych <= ';') goto yy203;
+ if(yych == '\\') goto yy205;
+ goto yy193;
}
}
-yy180:
+yy195:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= ' ') {
if(yych <= 0x0A) {
- if(yych <= 0x08) goto yy180;
- if(yych >= 0x0A) goto yy170;
+ if(yych <= 0x08) goto yy195;
+ if(yych >= 0x0A) goto yy185;
} else {
- if(yych == 0x0D) goto yy182;
- if(yych <= 0x1F) goto yy180;
+ if(yych == 0x0D) goto yy197;
+ if(yych <= 0x1F) goto yy195;
}
} else {
if(yych <= ':') {
- if(yych == '\'') goto yy176;
- goto yy180;
+ if(yych == '\'') goto yy191;
+ goto yy195;
} else {
- if(yych <= ';') goto yy182;
- if(yych == '\\') goto yy185;
- goto yy180;
+ if(yych <= ';') goto yy197;
+ if(yych == '\\') goto yy200;
+ goto yy195;
}
}
-yy182:
+yy197:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '&') {
- if(yych != 0x0A) goto yy182;
+ if(yych != 0x0A) goto yy197;
} else {
- if(yych <= '\'') goto yy186;
- if(yych == '\\') goto yy187;
- goto yy182;
+ if(yych <= '\'') goto yy201;
+ if(yych == '\\') goto yy202;
+ goto yy197;
}
-yy184:
+yy199:
YYCURSOR = YYMARKER;
- goto yy170;
-yy185:
+ goto yy185;
+yy200:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x0D) {
if(yych <= 0x09) {
- if(yych <= 0x08) goto yy180;
- goto yy182;
+ if(yych <= 0x08) goto yy195;
+ goto yy197;
} else {
- if(yych <= 0x0A) goto yy170;
- if(yych <= 0x0C) goto yy180;
- goto yy182;
+ if(yych <= 0x0A) goto yy185;
+ if(yych <= 0x0C) goto yy195;
+ goto yy197;
}
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy180;
- goto yy182;
+ if(yych <= 0x1F) goto yy195;
+ goto yy197;
} else {
- if(yych == ';') goto yy182;
- goto yy180;
+ if(yych == ';') goto yy197;
+ goto yy195;
}
}
-yy186:
+yy201:
yych = *++YYCURSOR;
- goto yy170;
-yy187:
+ goto yy185;
+yy202:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy184;
- goto yy182;
-yy188:
+ if(yych == 0x0A) goto yy199;
+ goto yy197;
+yy203:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '!') {
- if(yych == 0x0A) goto yy184;
- goto yy188;
+ if(yych == 0x0A) goto yy199;
+ goto yy203;
} else {
- if(yych <= '"') goto yy186;
- if(yych == '\\') goto yy191;
- goto yy188;
+ if(yych <= '"') goto yy201;
+ if(yych == '\\') goto yy206;
+ goto yy203;
}
-yy190:
+yy205:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x0D) {
if(yych <= 0x09) {
- if(yych <= 0x08) goto yy178;
- goto yy188;
+ if(yych <= 0x08) goto yy193;
+ goto yy203;
} else {
- if(yych <= 0x0A) goto yy170;
- if(yych <= 0x0C) goto yy178;
- goto yy188;
+ if(yych <= 0x0A) goto yy185;
+ if(yych <= 0x0C) goto yy193;
+ goto yy203;
}
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy178;
- goto yy188;
+ if(yych <= 0x1F) goto yy193;
+ goto yy203;
} else {
- if(yych == ';') goto yy188;
- goto yy178;
+ if(yych == ';') goto yy203;
+ goto yy193;
}
}
-yy191:
+yy206:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy184;
- goto yy188;
+ if(yych == 0x0A) goto yy199;
+ goto yy203;
}
-#line 311 "scanner.re"
+#line 329 "scanner.re"
}