-/* Generated by re2c 0.10.1.dev on Sat Feb 25 13:38:57 2006 */
+/* Generated by re2c 0.10.2.dev on Sat Apr 8 20:31:13 2006 */
#line 1 "scanner.re"
/* $Id$ */
#include <stdlib.h>
#line 96 "scanner.cc"
{
YYCTYPE yych;
- unsigned int yyaccept = 0;
- if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ if((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
yych = *YYCURSOR;
if(yych <= ')') {
if(yych <= 0x00) goto yy7;
if(yych <= '*') goto yy4;
if(yych != '/') goto yy9;
}
- yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == '*') goto yy12;
yy3:
-#line 141 "scanner.re"
+#line 147 "scanner.re"
{
goto echo;
}
-#line 119 "scanner.cc"
+#line 117 "scanner.cc"
yy4:
yych = *++YYCURSOR;
if(yych == '/') goto yy10;
goto yy3;
yy5:
++YYCURSOR;
-#line 130 "scanner.re"
+#line 136 "scanner.re"
{
out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok));
tok = pos = cursor; cline++;
goto echo;
}
-#line 132 "scanner.cc"
+#line 130 "scanner.cc"
yy7:
++YYCURSOR;
-#line 135 "scanner.re"
+#line 141 "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 142 "scanner.cc"
+#line 140 "scanner.cc"
yy9:
yych = *++YYCURSOR;
goto yy3;
yy10:
++YYCURSOR;
-#line 121 "scanner.re"
+#line 127 "scanner.re"
{
if (ignore_eoc) {
ignore_eoc = false;
tok = pos = cursor;
goto echo;
}
-#line 158 "scanner.cc"
+#line 156 "scanner.cc"
yy12:
yych = *++YYCURSOR;
if(yych == '!') goto yy14;
yy13:
YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy3;
- }
+ goto yy3;
yy14:
yych = *++YYCURSOR;
- if(yych == 'm') goto yy15;
- if(yych == 'r') goto yy16;
- goto yy13;
-yy15:
+ if(yych <= 'l') {
+ if(yych != 'g') goto yy13;
+ } else {
+ if(yych <= 'm') goto yy16;
+ if(yych == 'r') goto yy17;
+ goto yy13;
+ }
yych = *++YYCURSOR;
- if(yych == 'a') goto yy21;
+ if(yych == 'e') goto yy30;
goto yy13;
yy16:
+ yych = *++YYCURSOR;
+ if(yych == 'a') goto yy22;
+ goto yy13;
+yy17:
yych = *++YYCURSOR;
if(yych != 'e') goto yy13;
yych = *++YYCURSOR;
tok = cursor;
RETURN(1);
}
-#line 190 "scanner.cc"
-yy21:
+#line 193 "scanner.cc"
+yy22:
yych = *++YYCURSOR;
if(yych != 'x') goto yy13;
yych = *++YYCURSOR;
ignore_eoc = true;
goto echo;
}
-#line 212 "scanner.cc"
+#line 215 "scanner.cc"
+yy30:
+ yych = *++YYCURSOR;
+ if(yych != 't') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 's') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 't') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 'a') goto yy13;
+ yych = *++YYCURSOR;
+ if(yych != 't') 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 121 "scanner.re"
+ {
+ tok = pos = cursor;
+ genGetState(out, topIndent, 0);
+ ignore_eoc = true;
+ goto echo;
+ }
+#line 247 "scanner.cc"
}
-#line 144 "scanner.re"
+#line 150 "scanner.re"
}
goto value;
}
-#line 237 "scanner.cc"
+#line 272 "scanner.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
if(yych <= '/') {
if(yych <= '!') {
if(yych <= 0x0C) {
- if(yych <= 0x08) goto yy56;
- if(yych <= 0x09) goto yy50;
- if(yych <= 0x0A) goto yy52;
- goto yy56;
+ if(yych <= 0x08) goto yy70;
+ if(yych <= 0x09) goto yy64;
+ if(yych <= 0x0A) goto yy66;
+ goto yy70;
} else {
- if(yych <= 0x0D) goto yy54;
- if(yych == ' ') goto yy50;
- goto yy56;
+ if(yych <= 0x0D) goto yy68;
+ if(yych == ' ') goto yy64;
+ goto yy70;
}
} else {
if(yych <= ')') {
- if(yych <= '"') goto yy37;
- if(yych <= '&') goto yy56;
- if(yych <= '\'') goto yy39;
- goto yy43;
+ if(yych <= '"') goto yy51;
+ if(yych <= '&') goto yy70;
+ if(yych <= '\'') goto yy53;
+ goto yy57;
} else {
if(yych <= '+') {
- if(yych <= '*') goto yy35;
- goto yy44;
+ if(yych <= '*') goto yy49;
+ goto yy58;
} else {
- if(yych <= '-') goto yy56;
- if(yych <= '.') goto yy48;
- goto yy33;
+ if(yych <= '-') goto yy70;
+ if(yych <= '.') goto yy62;
+ goto yy47;
}
}
}
} else {
if(yych <= 'Z') {
if(yych <= '=') {
- if(yych == ';') goto yy43;
- if(yych <= '<') goto yy56;
- goto yy43;
+ if(yych == ';') goto yy57;
+ if(yych <= '<') goto yy70;
+ goto yy57;
} else {
- if(yych == '?') goto yy44;
- if(yych <= '@') goto yy56;
- goto yy47;
+ if(yych == '?') goto yy58;
+ if(yych <= '@') goto yy70;
+ goto yy61;
}
} else {
if(yych <= 'q') {
- if(yych <= '[') goto yy41;
- if(yych <= '\\') goto yy43;
- if(yych <= '`') goto yy56;
- goto yy47;
+ if(yych <= '[') goto yy55;
+ if(yych <= '\\') goto yy57;
+ if(yych <= '`') goto yy70;
+ goto yy61;
} else {
if(yych <= 'z') {
- if(yych <= 'r') goto yy45;
- goto yy47;
+ if(yych <= 'r') goto yy59;
+ goto yy61;
} else {
- if(yych <= '{') goto yy31;
- if(yych <= '|') goto yy43;
- goto yy56;
+ if(yych <= '{') goto yy45;
+ if(yych <= '|') goto yy57;
+ goto yy70;
}
}
}
}
-yy31:
+yy45:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') {
- if(yych == ',') goto yy97;
+ if(yych == ',') goto yy111;
} else {
- if(yych <= '0') goto yy94;
- if(yych <= '9') goto yy95;
+ if(yych <= '0') goto yy108;
+ if(yych <= '9') goto yy109;
}
-yy32:
-#line 166 "scanner.re"
+yy46:
+#line 172 "scanner.re"
{ depth = 1;
goto code;
}
-#line 315 "scanner.cc"
-yy33:
+#line 350 "scanner.cc"
+yy47:
++YYCURSOR;
- if((yych = *YYCURSOR) == '*') goto yy92;
-yy34:
-#line 196 "scanner.re"
+ if((yych = *YYCURSOR) == '*') goto yy106;
+yy48:
+#line 202 "scanner.re"
{ RETURN(*tok); }
-#line 322 "scanner.cc"
-yy35:
+#line 357 "scanner.cc"
+yy49:
++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy90;
-yy36:
-#line 198 "scanner.re"
+ if((yych = *YYCURSOR) == '/') goto yy104;
+yy50:
+#line 204 "scanner.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
-#line 330 "scanner.cc"
-yy37:
+#line 365 "scanner.cc"
+yy51:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy86;
-yy38:
-#line 183 "scanner.re"
+ if(yych != 0x0A) goto yy100;
+yy52:
+#line 189 "scanner.re"
{ fatal("unterminated string constant (missing \")"); }
-#line 338 "scanner.cc"
-yy39:
+#line 373 "scanner.cc"
+yy53:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy81;
-yy40:
-#line 184 "scanner.re"
+ if(yych != 0x0A) goto yy95;
+yy54:
+#line 190 "scanner.re"
{ fatal("unterminated string constant (missing ')"); }
-#line 346 "scanner.cc"
-yy41:
+#line 381 "scanner.cc"
+yy55:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy42;
- if(yych == '^') goto yy72;
- goto yy71;
-yy42:
-#line 194 "scanner.re"
+ if(yych == 0x0A) goto yy56;
+ if(yych == '^') goto yy86;
+ goto yy85;
+yy56:
+#line 200 "scanner.re"
{ fatal("unterminated range (missing ])"); }
-#line 356 "scanner.cc"
-yy43:
+#line 391 "scanner.cc"
+yy57:
yych = *++YYCURSOR;
- goto yy34;
-yy44:
+ goto yy48;
+yy58:
yych = *++YYCURSOR;
- goto yy36;
-yy45:
+ goto yy50;
+yy59:
++YYCURSOR;
- if((yych = *YYCURSOR) == 'e') goto yy62;
- goto yy61;
-yy46:
-#line 225 "scanner.re"
+ if((yych = *YYCURSOR) == 'e') goto yy76;
+ goto yy75;
+yy60:
+#line 231 "scanner.re"
{ cur = cursor;
yylval.symbol = Symbol::find(token());
return ID; }
-#line 372 "scanner.cc"
-yy47:
+#line 407 "scanner.cc"
+yy61:
yych = *++YYCURSOR;
- goto yy61;
-yy48:
+ goto yy75;
+yy62:
++YYCURSOR;
-#line 229 "scanner.re"
+#line 235 "scanner.re"
{ cur = cursor;
yylval.regexp = mkDot();
return RANGE;
}
-#line 383 "scanner.cc"
-yy50:
+#line 418 "scanner.cc"
+yy64:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy59;
-yy51:
-#line 234 "scanner.re"
+ goto yy73;
+yy65:
+#line 240 "scanner.re"
{ goto scan; }
-#line 391 "scanner.cc"
-yy52:
+#line 426 "scanner.cc"
+yy66:
++YYCURSOR;
-yy53:
-#line 236 "scanner.re"
+yy67:
+#line 242 "scanner.re"
{ if(cursor == eof) RETURN(0);
pos = cursor; cline++;
goto scan;
}
-#line 400 "scanner.cc"
-yy54:
+#line 435 "scanner.cc"
+yy68:
++YYCURSOR;
- if((yych = *YYCURSOR) == 0x0A) goto yy57;
-yy55:
-#line 241 "scanner.re"
+ if((yych = *YYCURSOR) == 0x0A) goto yy71;
+yy69:
+#line 247 "scanner.re"
{ std::ostringstream msg;
msg << "unexpected character: ";
prtChOrHex(msg, *tok);
fatal(msg.str().c_str());
goto scan;
}
-#line 412 "scanner.cc"
-yy56:
+#line 447 "scanner.cc"
+yy70:
yych = *++YYCURSOR;
- goto yy55;
-yy57:
+ goto yy69;
+yy71:
yych = *++YYCURSOR;
- goto yy53;
-yy58:
+ goto yy67;
+yy72:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy59:
- if(yych == 0x09) goto yy58;
- if(yych == ' ') goto yy58;
- goto yy51;
-yy60:
+yy73:
+ if(yych == 0x09) goto yy72;
+ if(yych == ' ') goto yy72;
+ goto yy65;
+yy74:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy61:
+yy75:
if(yych <= '@') {
- if(yych <= '/') goto yy46;
- if(yych <= '9') goto yy60;
- goto yy46;
+ if(yych <= '/') goto yy60;
+ if(yych <= '9') goto yy74;
+ goto yy60;
} else {
- if(yych <= 'Z') goto yy60;
- if(yych <= '`') goto yy46;
- if(yych <= 'z') goto yy60;
- goto yy46;
+ if(yych <= 'Z') goto yy74;
+ if(yych <= '`') goto yy60;
+ if(yych <= 'z') goto yy74;
+ goto yy60;
}
-yy62:
+yy76:
yych = *++YYCURSOR;
- if(yych != '2') goto yy61;
+ if(yych != '2') goto yy75;
yych = *++YYCURSOR;
- if(yych != 'c') goto yy61;
+ if(yych != 'c') goto yy75;
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != ':') goto yy61;
-yy65:
+ if(yych != ':') goto yy75;
+yy79:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych <= '@') goto yy66;
- if(yych <= 'Z') goto yy67;
- if(yych <= '`') goto yy66;
- if(yych <= 'z') goto yy67;
-yy66:
+ if(yych <= '@') goto yy80;
+ if(yych <= 'Z') goto yy81;
+ if(yych <= '`') goto yy80;
+ if(yych <= 'z') goto yy81;
+yy80:
YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy32;
- case 1: goto yy38;
- case 2: goto yy40;
- case 3: goto yy42;
- case 6: goto yy98;
- case 5: goto yy69;
- case 4: goto yy46;
+ 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;
}
-yy67:
+yy81:
yyaccept = 5;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 'Z') {
if(yych <= '9') {
- if(yych >= '0') goto yy67;
+ if(yych >= '0') goto yy81;
} else {
- if(yych <= ':') goto yy65;
- if(yych >= 'A') goto yy67;
+ if(yych <= ':') goto yy79;
+ if(yych >= 'A') goto yy81;
}
} else {
if(yych <= '_') {
- if(yych >= '_') goto yy67;
+ if(yych >= '_') goto yy81;
} else {
- if(yych <= '`') goto yy69;
- if(yych <= 'z') goto yy67;
+ if(yych <= '`') goto yy83;
+ if(yych <= 'z') goto yy81;
}
}
-yy69:
-#line 218 "scanner.re"
+yy83:
+#line 224 "scanner.re"
{ cur = cursor;
tok+= 5; /* skip "re2c:" */
iscfg = 1;
yylval.str = new Str(token());
return CONFIG;
}
-#line 497 "scanner.cc"
-yy70:
+#line 532 "scanner.cc"
+yy84:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy71:
+yy85:
if(yych <= '[') {
- if(yych == 0x0A) goto yy66;
- goto yy70;
+ if(yych == 0x0A) goto yy80;
+ goto yy84;
} else {
- if(yych <= '\\') goto yy74;
- if(yych <= ']') goto yy75;
- goto yy70;
+ if(yych <= '\\') goto yy88;
+ if(yych <= ']') goto yy89;
+ goto yy84;
}
-yy72:
+yy86:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '[') {
- if(yych == 0x0A) goto yy66;
- goto yy72;
+ if(yych == 0x0A) goto yy80;
+ goto yy86;
} else {
- if(yych <= '\\') goto yy77;
- if(yych <= ']') goto yy78;
- goto yy72;
+ if(yych <= '\\') goto yy91;
+ if(yych <= ']') goto yy92;
+ goto yy86;
}
-yy74:
+yy88:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy66;
- goto yy70;
-yy75:
+ if(yych == 0x0A) goto yy80;
+ goto yy84;
+yy89:
++YYCURSOR;
-#line 190 "scanner.re"
+#line 196 "scanner.re"
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 535 "scanner.cc"
-yy77:
+#line 570 "scanner.cc"
+yy91:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy66;
- goto yy72;
-yy78:
+ if(yych == 0x0A) goto yy80;
+ goto yy86;
+yy92:
++YYCURSOR;
-#line 186 "scanner.re"
+#line 192 "scanner.re"
{ cur = cursor;
yylval.regexp = invToRE(token());
return RANGE; }
-#line 548 "scanner.cc"
-yy80:
+#line 583 "scanner.cc"
+yy94:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy81:
+yy95:
if(yych <= '&') {
- if(yych == 0x0A) goto yy66;
- goto yy80;
+ if(yych == 0x0A) goto yy80;
+ goto yy94;
} else {
- if(yych <= '\'') goto yy83;
- if(yych != '\\') goto yy80;
+ if(yych <= '\'') goto yy97;
+ if(yych != '\\') goto yy94;
}
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy66;
- goto yy80;
-yy83:
+ if(yych == 0x0A) goto yy80;
+ goto yy94;
+yy97:
++YYCURSOR;
-#line 179 "scanner.re"
+#line 185 "scanner.re"
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 572 "scanner.cc"
-yy85:
+#line 607 "scanner.cc"
+yy99:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy86:
+yy100:
if(yych <= '!') {
- if(yych == 0x0A) goto yy66;
- goto yy85;
+ if(yych == 0x0A) goto yy80;
+ goto yy99;
} else {
- if(yych <= '"') goto yy88;
- if(yych != '\\') goto yy85;
+ if(yych <= '"') goto yy102;
+ if(yych != '\\') goto yy99;
}
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy66;
- goto yy85;
-yy88:
+ if(yych == 0x0A) goto yy80;
+ goto yy99;
+yy102:
++YYCURSOR;
-#line 175 "scanner.re"
+#line 181 "scanner.re"
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 596 "scanner.cc"
-yy90:
+#line 631 "scanner.cc"
+yy104:
++YYCURSOR;
-#line 172 "scanner.re"
+#line 178 "scanner.re"
{ tok = cursor;
RETURN(0); }
-#line 602 "scanner.cc"
-yy92:
+#line 637 "scanner.cc"
+yy106:
++YYCURSOR;
-#line 169 "scanner.re"
+#line 175 "scanner.re"
{ depth = 1;
goto comment; }
-#line 608 "scanner.cc"
-yy94:
+#line 643 "scanner.cc"
+yy108:
yych = *++YYCURSOR;
- if(yych == ',') goto yy108;
- goto yy96;
-yy95:
+ if(yych == ',') goto yy122;
+ goto yy110;
+yy109:
++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy96:
+yy110:
if(yych <= '/') {
- if(yych == ',') goto yy101;
- goto yy66;
+ if(yych == ',') goto yy115;
+ goto yy80;
} else {
- if(yych <= '9') goto yy95;
- if(yych == '}') goto yy99;
- goto yy66;
+ if(yych <= '9') goto yy109;
+ if(yych == '}') goto yy113;
+ goto yy80;
}
-yy97:
+yy111:
++YYCURSOR;
-yy98:
-#line 216 "scanner.re"
+yy112:
+#line 222 "scanner.re"
{ fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); }
-#line 631 "scanner.cc"
-yy99:
+#line 666 "scanner.cc"
+yy113:
++YYCURSOR;
-#line 204 "scanner.re"
+#line 210 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 638 "scanner.cc"
-yy101:
+#line 673 "scanner.cc"
+yy115:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy98;
- if(yych <= '9') goto yy104;
- if(yych != '}') goto yy98;
+ if(yych <= '/') goto yy112;
+ if(yych <= '9') goto yy118;
+ if(yych != '}') goto yy112;
++YYCURSOR;
-#line 212 "scanner.re"
+#line 218 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 650 "scanner.cc"
-yy104:
+#line 685 "scanner.cc"
+yy118:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych <= '/') goto yy66;
- if(yych <= '9') goto yy104;
- if(yych != '}') goto yy66;
+ if(yych <= '/') goto yy80;
+ if(yych <= '9') goto yy118;
+ if(yych != '}') goto yy80;
++YYCURSOR;
-#line 208 "scanner.re"
+#line 214 "scanner.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 663 "scanner.cc"
-yy108:
+#line 698 "scanner.cc"
+yy122:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy98;
- if(yych <= '9') goto yy104;
- if(yych != '}') goto yy98;
+ if(yych <= '/') goto yy112;
+ if(yych <= '9') goto yy118;
+ if(yych != '}') goto yy112;
++YYCURSOR;
-#line 201 "scanner.re"
+#line 207 "scanner.re"
{ yylval.op = '*';
RETURN(CLOSE); }
-#line 674 "scanner.cc"
+#line 709 "scanner.cc"
}
-#line 247 "scanner.re"
+#line 253 "scanner.re"
code:
-#line 681 "scanner.cc"
+#line 716 "scanner.cc"
{
YYCTYPE yych;
- unsigned int yyaccept = 0;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&') {
if(yych <= 0x0A) {
- if(yych <= 0x09) goto yy119;
- goto yy117;
+ if(yych <= 0x09) goto yy133;
+ goto yy131;
} else {
- if(yych == '"') goto yy121;
- goto yy119;
+ if(yych == '"') goto yy135;
+ goto yy133;
}
} else {
if(yych <= '{') {
- if(yych <= '\'') goto yy122;
- if(yych <= 'z') goto yy119;
- goto yy115;
+ if(yych <= '\'') goto yy136;
+ if(yych <= 'z') goto yy133;
+ goto yy129;
} else {
- if(yych != '}') goto yy119;
+ if(yych != '}') goto yy133;
}
}
++YYCURSOR;
-#line 251 "scanner.re"
+#line 257 "scanner.re"
{ if(--depth == 0){
cur = cursor;
yylval.token = new Token(token(), tline);
return CODE;
}
goto code; }
-#line 712 "scanner.cc"
-yy115:
+#line 746 "scanner.cc"
+yy129:
++YYCURSOR;
-#line 257 "scanner.re"
+#line 263 "scanner.re"
{ ++depth;
goto code; }
-#line 718 "scanner.cc"
-yy117:
+#line 752 "scanner.cc"
+yy131:
++YYCURSOR;
-#line 259 "scanner.re"
+#line 265 "scanner.re"
{ if(cursor == eof) fatal("missing '}'");
pos = cursor; cline++;
goto code;
}
-#line 726 "scanner.cc"
-yy119:
+#line 760 "scanner.cc"
+yy133:
++YYCURSOR;
-yy120:
-#line 263 "scanner.re"
+yy134:
+#line 269 "scanner.re"
{ goto code; }
-#line 732 "scanner.cc"
-yy121:
- yyaccept = 0;
+#line 766 "scanner.cc"
+yy135:
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy120;
- goto yy128;
-yy122:
- yyaccept = 0;
+ if(yych == 0x0A) goto yy134;
+ goto yy142;
+yy136:
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy120;
- goto yy124;
-yy123:
+ if(yych == 0x0A) goto yy134;
+ goto yy138;
+yy137:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy124:
+yy138:
if(yych <= '&') {
- if(yych != 0x0A) goto yy123;
+ if(yych != 0x0A) goto yy137;
} else {
- if(yych <= '\'') goto yy119;
- if(yych == '\\') goto yy126;
- goto yy123;
+ if(yych <= '\'') goto yy133;
+ if(yych == '\\') goto yy140;
+ goto yy137;
}
-yy125:
+yy139:
YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy120;
- }
-yy126:
+ goto yy134;
+yy140:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy125;
- goto yy123;
-yy127:
+ if(yych == 0x0A) goto yy139;
+ goto yy137;
+yy141:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy128:
+yy142:
if(yych <= '!') {
- if(yych == 0x0A) goto yy125;
- goto yy127;
+ if(yych == 0x0A) goto yy139;
+ goto yy141;
} else {
- if(yych <= '"') goto yy119;
- if(yych != '\\') goto yy127;
+ if(yych <= '"') goto yy133;
+ if(yych != '\\') goto yy141;
}
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy125;
- goto yy127;
+ if(yych == 0x0A) goto yy139;
+ goto yy141;
}
-#line 264 "scanner.re"
+#line 270 "scanner.re"
comment:
-#line 789 "scanner.cc"
+#line 819 "scanner.cc"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ')') {
- if(yych == 0x0A) goto yy135;
- goto yy137;
+ if(yych == 0x0A) goto yy149;
+ goto yy151;
} else {
- if(yych <= '*') goto yy132;
- if(yych == '/') goto yy134;
- goto yy137;
+ if(yych <= '*') goto yy146;
+ if(yych == '/') goto yy148;
+ goto yy151;
}
-yy132:
+yy146:
++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy140;
-yy133:
-#line 279 "scanner.re"
+ if((yych = *YYCURSOR) == '/') goto yy154;
+yy147:
+#line 285 "scanner.re"
{ if(cursor == eof) RETURN(0);
goto comment; }
-#line 809 "scanner.cc"
-yy134:
+#line 839 "scanner.cc"
+yy148:
yych = *++YYCURSOR;
- if(yych == '*') goto yy138;
- goto yy133;
-yy135:
+ if(yych == '*') goto yy152;
+ goto yy147;
+yy149:
++YYCURSOR;
-#line 275 "scanner.re"
+#line 281 "scanner.re"
{ if(cursor == eof) RETURN(0);
tok = pos = cursor; cline++;
goto comment;
}
-#line 821 "scanner.cc"
-yy137:
+#line 851 "scanner.cc"
+yy151:
yych = *++YYCURSOR;
- goto yy133;
-yy138:
+ goto yy147;
+yy152:
++YYCURSOR;
-#line 272 "scanner.re"
+#line 278 "scanner.re"
{ ++depth;
fatal("ambiguous /* found");
goto comment; }
-#line 831 "scanner.cc"
-yy140:
+#line 861 "scanner.cc"
+yy154:
++YYCURSOR;
-#line 268 "scanner.re"
+#line 274 "scanner.re"
{ if(--depth == 0)
goto scan;
else
goto comment; }
-#line 839 "scanner.cc"
+#line 869 "scanner.cc"
}
-#line 281 "scanner.re"
+#line 287 "scanner.re"
config:
-#line 846 "scanner.cc"
+#line 876 "scanner.cc"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= 0x1F) {
- if(yych != 0x09) goto yy148;
+ if(yych != 0x09) goto yy162;
} else {
- if(yych <= ' ') goto yy144;
- if(yych == '=') goto yy146;
- goto yy148;
+ if(yych <= ' ') goto yy158;
+ if(yych == '=') goto yy160;
+ goto yy162;
}
-yy144:
+yy158:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy153;
-yy145:
-#line 285 "scanner.re"
+ goto yy167;
+yy159:
+#line 291 "scanner.re"
{ goto config; }
-#line 865 "scanner.cc"
-yy146:
+#line 895 "scanner.cc"
+yy160:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy151;
-yy147:
-#line 286 "scanner.re"
+ goto yy165;
+yy161:
+#line 292 "scanner.re"
{ iscfg = 2;
cur = cursor;
RETURN('=');
}
-#line 876 "scanner.cc"
-yy148:
+#line 906 "scanner.cc"
+yy162:
++YYCURSOR;
-#line 290 "scanner.re"
+#line 296 "scanner.re"
{ fatal("missing '='"); }
-#line 881 "scanner.cc"
-yy150:
+#line 911 "scanner.cc"
+yy164:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy151:
- if(yych == 0x09) goto yy150;
- if(yych == ' ') goto yy150;
- goto yy147;
-yy152:
+yy165:
+ if(yych == 0x09) goto yy164;
+ if(yych == ' ') goto yy164;
+ goto yy161;
+yy166:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy153:
- if(yych == 0x09) goto yy152;
- if(yych == ' ') goto yy152;
- goto yy145;
+yy167:
+ if(yych == 0x09) goto yy166;
+ if(yych == ' ') goto yy166;
+ goto yy159;
}
-#line 291 "scanner.re"
+#line 297 "scanner.re"
value:
-#line 904 "scanner.cc"
+#line 934 "scanner.cc"
{
YYCTYPE yych;
- unsigned int yyaccept = 0;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '&') {
if(yych <= 0x0D) {
- if(yych <= 0x08) goto yy162;
- if(yych <= 0x0A) goto yy156;
- if(yych <= 0x0C) goto yy162;
+ if(yych <= 0x08) goto yy176;
+ if(yych <= 0x0A) goto yy170;
+ if(yych <= 0x0C) goto yy176;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy162;
+ if(yych <= 0x1F) goto yy176;
} else {
- if(yych == '"') goto yy164;
- goto yy162;
+ if(yych == '"') goto yy178;
+ goto yy176;
}
}
} else {
if(yych <= '/') {
- if(yych <= '\'') goto yy166;
- if(yych == '-') goto yy159;
- goto yy162;
+ if(yych <= '\'') goto yy180;
+ if(yych == '-') goto yy173;
+ goto yy176;
} else {
if(yych <= '9') {
- if(yych <= '0') goto yy157;
- goto yy160;
+ if(yych <= '0') goto yy171;
+ goto yy174;
} else {
- if(yych != ';') goto yy162;
+ if(yych != ';') goto yy176;
}
}
}
-yy156:
-#line 300 "scanner.re"
+yy170:
+#line 306 "scanner.re"
{ cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-#line 944 "scanner.cc"
-yy157:
+#line 973 "scanner.cc"
+yy171:
++YYCURSOR;
if((yych = *YYCURSOR) <= 0x0D) {
- if(yych <= 0x08) goto yy162;
- if(yych <= 0x0A) goto yy158;
- if(yych <= 0x0C) goto yy162;
+ if(yych <= 0x08) goto yy176;
+ if(yych <= 0x0A) goto yy172;
+ if(yych <= 0x0C) goto yy176;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy162;
+ if(yych <= 0x1F) goto yy176;
} else {
- if(yych != ';') goto yy162;
+ if(yych != ';') goto yy176;
}
}
-yy158:
-#line 295 "scanner.re"
+yy172:
+#line 301 "scanner.re"
{ cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-#line 965 "scanner.cc"
-yy159:
+#line 994 "scanner.cc"
+yy173:
yych = *++YYCURSOR;
- if(yych <= '0') goto yy163;
- if(yych >= ':') goto yy163;
-yy160:
+ if(yych <= '0') goto yy177;
+ if(yych >= ':') goto yy177;
+yy174:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x1F) {
if(yych <= 0x0A) {
- if(yych >= 0x09) goto yy158;
+ if(yych >= 0x09) goto yy172;
} else {
- if(yych == 0x0D) goto yy158;
+ if(yych == 0x0D) goto yy172;
}
} else {
if(yych <= '9') {
- if(yych <= ' ') goto yy158;
- if(yych >= '0') goto yy160;
+ if(yych <= ' ') goto yy172;
+ if(yych >= '0') goto yy174;
} else {
- if(yych == ';') goto yy158;
+ if(yych == ';') goto yy172;
}
}
-yy162:
+yy176:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy163:
+yy177:
if(yych <= 0x0D) {
- if(yych <= 0x08) goto yy162;
- if(yych <= 0x0A) goto yy156;
- if(yych <= 0x0C) goto yy162;
- goto yy156;
+ if(yych <= 0x08) goto yy176;
+ if(yych <= 0x0A) goto yy170;
+ if(yych <= 0x0C) goto yy176;
+ goto yy170;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy162;
- goto yy156;
+ if(yych <= 0x1F) goto yy176;
+ goto yy170;
} else {
- if(yych == ';') goto yy156;
- goto yy162;
+ if(yych == ';') goto yy170;
+ goto yy176;
}
}
-yy164:
- yyaccept = 0;
+yy178:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= ' ') {
if(yych <= 0x0A) {
- if(yych <= 0x08) goto yy164;
- if(yych <= 0x09) goto yy174;
- goto yy156;
+ if(yych <= 0x08) goto yy178;
+ if(yych <= 0x09) goto yy188;
+ goto yy170;
} else {
- if(yych == 0x0D) goto yy174;
- if(yych <= 0x1F) goto yy164;
- goto yy174;
+ if(yych == 0x0D) goto yy188;
+ if(yych <= 0x1F) goto yy178;
+ goto yy188;
}
} else {
if(yych <= ':') {
- if(yych == '"') goto yy162;
- goto yy164;
+ if(yych == '"') goto yy176;
+ goto yy178;
} else {
- if(yych <= ';') goto yy174;
- if(yych == '\\') goto yy176;
- goto yy164;
+ if(yych <= ';') goto yy188;
+ if(yych == '\\') goto yy190;
+ goto yy178;
}
}
-yy166:
- yyaccept = 0;
+yy180:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= ' ') {
if(yych <= 0x0A) {
- if(yych <= 0x08) goto yy166;
- if(yych >= 0x0A) goto yy156;
+ if(yych <= 0x08) goto yy180;
+ if(yych >= 0x0A) goto yy170;
} else {
- if(yych == 0x0D) goto yy168;
- if(yych <= 0x1F) goto yy166;
+ if(yych == 0x0D) goto yy182;
+ if(yych <= 0x1F) goto yy180;
}
} else {
if(yych <= ':') {
- if(yych == '\'') goto yy162;
- goto yy166;
+ if(yych == '\'') goto yy176;
+ goto yy180;
} else {
- if(yych <= ';') goto yy168;
- if(yych == '\\') goto yy171;
- goto yy166;
+ if(yych <= ';') goto yy182;
+ if(yych == '\\') goto yy185;
+ goto yy180;
}
}
-yy168:
+yy182:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '&') {
- if(yych != 0x0A) goto yy168;
+ if(yych != 0x0A) goto yy182;
} else {
- if(yych <= '\'') goto yy172;
- if(yych == '\\') goto yy173;
- goto yy168;
+ if(yych <= '\'') goto yy186;
+ if(yych == '\\') goto yy187;
+ goto yy182;
}
-yy170:
+yy184:
YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy156;
- }
-yy171:
- yyaccept = 0;
+ goto yy170;
+yy185:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x0D) {
if(yych <= 0x09) {
- if(yych <= 0x08) goto yy166;
- goto yy168;
+ if(yych <= 0x08) goto yy180;
+ goto yy182;
} else {
- if(yych <= 0x0A) goto yy156;
- if(yych <= 0x0C) goto yy166;
- goto yy168;
+ if(yych <= 0x0A) goto yy170;
+ if(yych <= 0x0C) goto yy180;
+ goto yy182;
}
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy166;
- goto yy168;
+ if(yych <= 0x1F) goto yy180;
+ goto yy182;
} else {
- if(yych == ';') goto yy168;
- goto yy166;
+ if(yych == ';') goto yy182;
+ goto yy180;
}
}
-yy172:
+yy186:
yych = *++YYCURSOR;
- goto yy156;
-yy173:
+ goto yy170;
+yy187:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy170;
- goto yy168;
-yy174:
+ if(yych == 0x0A) goto yy184;
+ goto yy182;
+yy188:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '!') {
- if(yych == 0x0A) goto yy170;
- goto yy174;
+ if(yych == 0x0A) goto yy184;
+ goto yy188;
} else {
- if(yych <= '"') goto yy172;
- if(yych == '\\') goto yy177;
- goto yy174;
+ if(yych <= '"') goto yy186;
+ if(yych == '\\') goto yy191;
+ goto yy188;
}
-yy176:
- yyaccept = 0;
+yy190:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x0D) {
if(yych <= 0x09) {
- if(yych <= 0x08) goto yy164;
- goto yy174;
+ if(yych <= 0x08) goto yy178;
+ goto yy188;
} else {
- if(yych <= 0x0A) goto yy156;
- if(yych <= 0x0C) goto yy164;
- goto yy174;
+ if(yych <= 0x0A) goto yy170;
+ if(yych <= 0x0C) goto yy178;
+ goto yy188;
}
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy164;
- goto yy174;
+ if(yych <= 0x1F) goto yy178;
+ goto yy188;
} else {
- if(yych == ';') goto yy174;
- goto yy164;
+ if(yych == ';') goto yy188;
+ goto yy178;
}
}
-yy177:
+yy191:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy170;
- goto yy174;
+ if(yych == 0x0A) goto yy184;
+ goto yy188;
}
-#line 305 "scanner.re"
+#line 311 "scanner.re"
}