]> granicus.if.org Git - re2c/commitdiff
- Regenerate with current version
authorhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Sun, 22 Apr 2007 18:34:43 +0000 (18:34 +0000)
committerhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Sun, 22 Apr 2007 18:34:43 +0000 (18:34 +0000)
re2c/bootstrap/scanner.cc

index fc4425c87a638d216e23441041412864423b1a0b..d31d82d335804b41342ef439bb70513441ac4056 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.11.1.dev on Sat Apr 21 11:15:09 2007 */
+/* Generated by re2c 0.13.0.dev on Sun Apr 22 14:24:30 2007 */
 #line 1 "scanner.re"
 /* $Id$ */
 #include <stdlib.h>
@@ -94,40 +94,39 @@ int Scanner::echo()
        
        tok = cursor;
 echo:
-{
 
-#line 100 "scanner.cc"
-       {
-               YYCTYPE yych;
-               unsigned int yyaccept = 0;
+#line 99 "scanner.cc"
+{
+       YYCTYPE yych;
+       unsigned int yyaccept = 0;
 
-               if((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
-               yych = *YYCURSOR;
-               if(yych <= ')') {
-                       if(yych <= 0x00) goto yy7;
-                       if(yych == 0x0A) goto yy5;
-                       goto yy9;
-               } else {
-                       if(yych <= '*') goto yy4;
-                       if(yych != '/') goto yy9;
-               }
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych == '*') goto yy16;
+       if((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
+       yych = *YYCURSOR;
+       if(yych <= ')') {
+               if(yych <= 0x00) goto yy7;
+               if(yych == 0x0A) goto yy5;
+               goto yy9;
+       } else {
+               if(yych <= '*') goto yy4;
+               if(yych != '/') goto yy9;
+       }
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == '*') goto yy16;
 yy3:
 #line 204 "scanner.re"
-               {
+       {
                                        goto echo;
                                }
-#line 123 "scanner.cc"
+#line 122 "scanner.cc"
 yy4:
-               yych = *++YYCURSOR;
-               if(yych == '/') goto yy10;
-               goto yy3;
+       yych = *++YYCURSOR;
+       if(yych == '/') goto yy10;
+       goto yy3;
 yy5:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 180 "scanner.re"
-               {
+       {
                                        if (ignore_eoc)
                                        {
                                                ignore_cnt++;
@@ -140,11 +139,11 @@ yy5:
                                        cline++;
                                        goto echo;
                                }
-#line 144 "scanner.cc"
+#line 143 "scanner.cc"
 yy7:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 193 "scanner.re"
-               {
+       {
                                        if (!ignore_eoc)
                                        {
                                                out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1);
@@ -155,18 +154,18 @@ yy7:
                                                RETURN(0);
                                        }
                                }
-#line 159 "scanner.cc"
+#line 158 "scanner.cc"
 yy9:
-               yych = *++YYCURSOR;
-               goto yy3;
+       yych = *++YYCURSOR;
+       goto yy3;
 yy10:
-               yyaccept = 1;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych == 0x0A) goto yy14;
-               if(yych == 0x0D) goto yy12;
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == 0x0A) goto yy14;
+       if(yych == 0x0D) goto yy12;
 yy11:
 #line 163 "scanner.re"
-               {
+       {
                                        if (ignore_eoc)
                                        {
                                                if (ignore_cnt)
@@ -183,21 +182,21 @@ yy11:
                                        tok = pos = cursor;
                                        goto echo;
                                }
-#line 187 "scanner.cc"
+#line 186 "scanner.cc"
 yy12:
-               yych = *++YYCURSOR;
-               if(yych == 0x0A) goto yy14;
+       yych = *++YYCURSOR;
+       if(yych == 0x0A) goto yy14;
 yy13:
-               YYCURSOR = YYMARKER;
-               if(yyaccept <= 0) {
-                       goto yy3;
-               } else {
-                       goto yy11;
-               }
+       YYCURSOR = YYMARKER;
+       if(yyaccept <= 0) {
+               goto yy3;
+       } else {
+               goto yy11;
+       }
 yy14:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 145 "scanner.re"
-               {
+       {
                                        cline++;
                                        if (ignore_eoc)
                                        {
@@ -215,40 +214,40 @@ yy14:
                                        tok = pos = cursor;
                                        goto echo;
                                }
-#line 219 "scanner.cc"
+#line 218 "scanner.cc"
 yy16:
-               yych = *++YYCURSOR;
-               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;
-               }
+       yych = *++YYCURSOR;
+       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 == 'g') goto yy47;
-               goto yy13;
+       yych = *++YYCURSOR;
+       if(yych == 'g') goto yy47;
+       goto yy13;
 yy19:
-               yych = *++YYCURSOR;
-               if(yych == 'e') goto yy34;
-               goto yy13;
+       yych = *++YYCURSOR;
+       if(yych == 'e') goto yy34;
+       goto yy13;
 yy20:
-               yych = *++YYCURSOR;
-               if(yych == 'a') goto yy26;
-               goto yy13;
+       yych = *++YYCURSOR;
+       if(yych == 'a') goto yy26;
+       goto yy13;
 yy21:
-               yych = *++YYCURSOR;
-               if(yych != 'e') goto yy13;
-               yych = *++YYCURSOR;
-               if(yych != '2') goto yy13;
-               yych = *++YYCURSOR;
-               if(yych != 'c') goto yy13;
-               ++YYCURSOR;
+       yych = *++YYCURSOR;
+       if(yych != 'e') goto yy13;
+       yych = *++YYCURSOR;
+       if(yych != '2') goto yy13;
+       yych = *++YYCURSOR;
+       if(yych != 'c') goto yy13;
+       ++YYCURSOR;
 #line 114 "scanner.re"
-               {
+       {
                                        if (bUsedYYMaxFill && bSinglePass)
                                        {
                                                fatal("found scanner block after YYMAXFILL declaration");
@@ -257,23 +256,23 @@ yy21:
                                        tok = cursor;
                                        RETURN(1);
                                }
-#line 261 "scanner.cc"
+#line 260 "scanner.cc"
 yy26:
-               yych = *++YYCURSOR;
-               if(yych != 'x') 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;
+       yych = *++YYCURSOR;
+       if(yych != 'x') 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 123 "scanner.re"
-               {
+       {
                                        if (bUsedYYMaxFill)
                                        {
                                                fatal("cannot generate YYMAXFILL twice");
@@ -284,67 +283,66 @@ yy26:
                                        bUsedYYMaxFill = true;
                                        goto echo;
                                }
-#line 288 "scanner.cc"
+#line 287 "scanner.cc"
 yy34:
-               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;
+       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 134 "scanner.re"
-               {
+       {
                                        tok = pos = cursor;
                                        genGetState(out, topIndent, 0);
                                        ignore_eoc = true;
                                        goto echo;
                                }
-#line 320 "scanner.cc"
+#line 319 "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;
+       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 140 "scanner.re"
-               {
+       {
                                        tok = pos = cursor;
                                        ignore_eoc = true;
                                        goto echo;
                                }
-#line 347 "scanner.cc"
-       }
+#line 346 "scanner.cc"
 }
 #line 207 "scanner.re"
 
@@ -368,7 +366,11 @@ scan:
        {
                goto value;
        }
+
+#line 371 "scanner.cc"
 {
+       YYCTYPE yych;
+       unsigned int yyaccept = 0;
        static const unsigned char yybm[] = {
                112, 112, 112, 112, 112, 112, 112, 112, 
                112, 122,   8, 112, 112, 120, 112, 112, 
@@ -403,542 +405,539 @@ scan:
                112, 112, 112, 112, 112, 112, 112, 112, 
                112, 112, 112, 112, 112, 112, 112, 112, 
        };
-
-#line 408 "scanner.cc"
-       {
-               YYCTYPE yych;
-               unsigned int yyaccept = 0;
-               if((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-               yych = *YYCURSOR;
-               if(yych <= '/') {
-                       if(yych <= '"') {
-                               if(yych <= 0x0C) {
-                                       if(yych <= 0x08) goto yy87;
-                                       if(yych <= 0x09) goto yy81;
-                                       if(yych <= 0x0A) goto yy83;
+       if((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
+       if(yych <= '/') {
+               if(yych <= '"') {
+                       if(yych <= 0x0C) {
+                               if(yych <= 0x08) goto yy87;
+                               if(yych <= 0x09) goto yy81;
+                               if(yych <= 0x0A) goto yy83;
+                               goto yy87;
+                       } else {
+                               if(yych <= 0x1F) {
+                                       if(yych <= 0x0D) goto yy85;
                                        goto yy87;
                                } else {
-                                       if(yych <= 0x1F) {
-                                               if(yych <= 0x0D) goto yy85;
-                                               goto yy87;
-                                       } else {
-                                               if(yych <= ' ') goto yy81;
-                                               if(yych <= '!') goto yy87;
-                                               goto yy66;
-                                       }
+                                       if(yych <= ' ') goto yy81;
+                                       if(yych <= '!') goto yy87;
+                                       goto yy66;
                                }
+                       }
+               } else {
+                       if(yych <= '*') {
+                               if(yych <= '&') goto yy87;
+                               if(yych <= '\'') goto yy68;
+                               if(yych <= ')') goto yy73;
+                               goto yy64;
                        } else {
-                               if(yych <= '*') {
-                                       if(yych <= '&') goto yy87;
-                                       if(yych <= '\'') goto yy68;
-                                       if(yych <= ')') goto yy73;
-                                       goto yy64;
+                               if(yych <= ',') {
+                                       if(yych <= '+') goto yy74;
+                                       goto yy73;
                                } else {
-                                       if(yych <= ',') {
-                                               if(yych <= '+') goto yy74;
-                                               goto yy73;
-                                       } else {
-                                               if(yych <= '-') goto yy87;
-                                               if(yych <= '.') goto yy79;
-                                               goto yy62;
-                                       }
+                                       if(yych <= '-') goto yy87;
+                                       if(yych <= '.') goto yy79;
+                                       goto yy62;
                                }
                        }
-               } else {
-                       if(yych <= '\\') {
-                               if(yych <= '>') {
-                                       if(yych <= ':') goto yy87;
-                                       if(yych == '<') goto yy72;
-                                       goto yy73;
+               }
+       } else {
+               if(yych <= '\\') {
+                       if(yych <= '>') {
+                               if(yych <= ':') goto yy87;
+                               if(yych == '<') goto yy72;
+                               goto yy73;
+                       } else {
+                               if(yych <= '@') {
+                                       if(yych <= '?') goto yy74;
+                                       goto yy87;
                                } else {
-                                       if(yych <= '@') {
-                                               if(yych <= '?') goto yy74;
-                                               goto yy87;
-                                       } else {
-                                               if(yych <= 'Z') goto yy78;
-                                               if(yych <= '[') goto yy70;
-                                               goto yy73;
-                                       }
+                                       if(yych <= 'Z') goto yy78;
+                                       if(yych <= '[') goto yy70;
+                                       goto yy73;
                                }
+                       }
+               } else {
+                       if(yych <= 'q') {
+                               if(yych == '_') goto yy78;
+                               if(yych <= '`') goto yy87;
+                               goto yy78;
                        } else {
-                               if(yych <= 'q') {
-                                       if(yych == '_') goto yy78;
-                                       if(yych <= '`') goto yy87;
+                               if(yych <= 'z') {
+                                       if(yych <= 'r') goto yy76;
                                        goto yy78;
                                } else {
-                                       if(yych <= 'z') {
-                                               if(yych <= 'r') goto yy76;
-                                               goto yy78;
-                                       } else {
-                                               if(yych <= '{') goto yy60;
-                                               if(yych <= '|') goto yy73;
-                                               goto yy87;
-                                       }
+                                       if(yych <= '{') goto yy60;
+                                       if(yych <= '|') goto yy73;
+                                       goto yy87;
                                }
                        }
                }
+       }
 yy60:
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych <= '/') {
-                       if(yych == ',') goto yy133;
-               } else {
-                       if(yych <= '0') goto yy130;
-                       if(yych <= '9') goto yy131;
-               }
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/') {
+               if(yych == ',') goto yy133;
+       } else {
+               if(yych <= '0') goto yy130;
+               if(yych <= '9') goto yy131;
+       }
 yy61:
 #line 229 "scanner.re"
-               {
+       {
                                        depth = 1;
                                        goto code;
                                }
-#line 496 "scanner.cc"
+#line 493 "scanner.cc"
 yy62:
-               ++YYCURSOR;
-               if((yych = *YYCURSOR) == '*') goto yy128;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) == '*') goto yy128;
 yy63:
 #line 282 "scanner.re"
-               {
+       {
                                        RETURN(*tok);
                                }
-#line 505 "scanner.cc"
+#line 502 "scanner.cc"
 yy64:
-               ++YYCURSOR;
-               if((yych = *YYCURSOR) == '/') goto yy126;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) == '/') goto yy126;
 #line 286 "scanner.re"
-               {
+       {
                                        yylval.op = *tok;
                                        RETURN(STAR);
                                }
-#line 514 "scanner.cc"
+#line 511 "scanner.cc"
 yy66:
-               yyaccept = 1;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych != 0x0A) goto yy122;
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych != 0x0A) goto yy122;
 yy67:
 #line 256 "scanner.re"
-               {
+       {
                                        fatal("unterminated string constant (missing \")");
                                }
-#line 524 "scanner.cc"
+#line 521 "scanner.cc"
 yy68:
-               yyaccept = 2;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych != 0x0A) goto yy117;
+       yyaccept = 2;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych != 0x0A) goto yy117;
 yy69:
 #line 259 "scanner.re"
-               {
+       {
                                        fatal("unterminated string constant (missing ')");
                                }
-#line 534 "scanner.cc"
+#line 531 "scanner.cc"
 yy70:
-               yyaccept = 3;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych == 0x0A) goto yy71;
-               if(yych == '^') goto yy108;
-               goto yy107;
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == 0x0A) goto yy71;
+       if(yych == '^') goto yy108;
+       goto yy107;
 yy71:
 #line 275 "scanner.re"
-               {
+       {
                                        fatal("unterminated range (missing ])");
                                }
-#line 546 "scanner.cc"
+#line 543 "scanner.cc"
 yy72:
-               yyaccept = 4;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych == '>') goto yy101;
-               goto yy63;
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == '>') goto yy101;
+       goto yy63;
 yy73:
-               yych = *++YYCURSOR;
-               goto yy63;
+       yych = *++YYCURSOR;
+       goto yy63;
 yy74:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 290 "scanner.re"
-               {
+       {
                                        yylval.op = *tok;
                                        RETURN(CLOSE);
                                }
-#line 562 "scanner.cc"
+#line 559 "scanner.cc"
 yy76:
-               ++YYCURSOR;
-               if((yych = *YYCURSOR) == 'e') goto yy93;
-               goto yy92;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) == 'e') goto yy93;
+       goto yy92;
 yy77:
 #line 330 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.symbol = Symbol::find(token());
                                        return ID;
                                }
-#line 574 "scanner.cc"
+#line 571 "scanner.cc"
 yy78:
-               yych = *++YYCURSOR;
-               goto yy92;
+       yych = *++YYCURSOR;
+       goto yy92;
 yy79:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 336 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.regexp = mkDot();
                                        return RANGE;
                                }
-#line 586 "scanner.cc"
+#line 583 "scanner.cc"
 yy81:
-               ++YYCURSOR;
-               yych = *YYCURSOR;
-               goto yy90;
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy90;
 yy82:
 #line 342 "scanner.re"
-               {
+       {
                                        goto scan;
                                }
-#line 596 "scanner.cc"
+#line 593 "scanner.cc"
 yy83:
-               ++YYCURSOR;
+       ++YYCURSOR;
 yy84:
 #line 346 "scanner.re"
-               {
+       {
                                        if(cursor == eof) RETURN(0);
                                        pos = cursor;
                                        cline++;
                                        goto scan;
                                }
-#line 607 "scanner.cc"
+#line 604 "scanner.cc"
 yy85:
-               ++YYCURSOR;
-               if((yych = *YYCURSOR) == 0x0A) goto yy88;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) == 0x0A) goto yy88;
 yy86:
 #line 353 "scanner.re"
-               {
+       {
                                        std::ostringstream msg;
                                        msg << "unexpected character: ";
                                        prtChOrHex(msg, *tok);
                                        fatal(msg.str().c_str());
                                        goto scan;
                                }
-#line 620 "scanner.cc"
+#line 617 "scanner.cc"
 yy87:
-               yych = *++YYCURSOR;
-               goto yy86;
+       yych = *++YYCURSOR;
+       goto yy86;
 yy88:
-               yych = *++YYCURSOR;
-               goto yy84;
+       yych = *++YYCURSOR;
+       goto yy84;
 yy89:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy90:
-               if(yybm[0+yych] & 2) {
-                       goto yy89;
-               }
-               goto yy82;
+       if(yybm[0+yych] & 2) {
+               goto yy89;
+       }
+       goto yy82;
 yy91:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy92:
-               if(yybm[0+yych] & 4) {
-                       goto yy91;
-               }
-               goto yy77;
+       if(yybm[0+yych] & 4) {
+               goto yy91;
+       }
+       goto yy77;
 yy93:
-               yych = *++YYCURSOR;
-               if(yych != '2') goto yy92;
-               yych = *++YYCURSOR;
-               if(yych != 'c') goto yy92;
-               yyaccept = 5;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych != ':') goto yy92;
+       yych = *++YYCURSOR;
+       if(yych != '2') goto yy92;
+       yych = *++YYCURSOR;
+       if(yych != 'c') goto yy92;
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych != ':') goto yy92;
 yy96:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych <= '^') {
-                       if(yych <= '@') goto yy97;
-                       if(yych <= 'Z') goto yy98;
-               } else {
-                       if(yych == '`') goto yy97;
-                       if(yych <= 'z') goto yy98;
-               }
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych <= '^') {
+               if(yych <= '@') goto yy97;
+               if(yych <= 'Z') goto yy98;
+       } else {
+               if(yych == '`') goto yy97;
+               if(yych <= 'z') goto yy98;
+       }
 yy97:
-               YYCURSOR = YYMARKER;
-               if(yyaccept <= 3) {
-                       if(yyaccept <= 1) {
-                               if(yyaccept <= 0) {
-                                       goto yy61;
-                               } else {
-                                       goto yy67;
-                               }
+       YYCURSOR = YYMARKER;
+       if(yyaccept <= 3) {
+               if(yyaccept <= 1) {
+                       if(yyaccept <= 0) {
+                               goto yy61;
                        } else {
-                               if(yyaccept <= 2) {
-                                       goto yy69;
-                               } else {
-                                       goto yy71;
-                               }
+                               goto yy67;
                        }
                } else {
-                       if(yyaccept <= 5) {
-                               if(yyaccept <= 4) {
-                                       goto yy63;
-                               } else {
-                                       goto yy77;
-                               }
+                       if(yyaccept <= 2) {
+                               goto yy69;
                        } else {
-                               if(yyaccept <= 6) {
-                                       goto yy100;
-                               } else {
-                                       goto yy134;
-                               }
+                               goto yy71;
                        }
                }
-yy98:
-               yyaccept = 6;
-               YYMARKER = ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych <= 'Z') {
-                       if(yych <= '9') {
-                               if(yych >= '0') goto yy98;
+       } else {
+               if(yyaccept <= 5) {
+                       if(yyaccept <= 4) {
+                               goto yy63;
                        } else {
-                               if(yych <= ':') goto yy96;
-                               if(yych >= 'A') goto yy98;
+                               goto yy77;
                        }
                } else {
-                       if(yych <= '_') {
-                               if(yych >= '_') goto yy98;
+                       if(yyaccept <= 6) {
+                               goto yy100;
                        } else {
-                               if(yych <= '`') goto yy100;
-                               if(yych <= 'z') goto yy98;
+                               goto yy134;
                        }
                }
+       }
+yy98:
+       yyaccept = 6;
+       YYMARKER = ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych <= 'Z') {
+               if(yych <= '9') {
+                       if(yych >= '0') goto yy98;
+               } else {
+                       if(yych <= ':') goto yy96;
+                       if(yych >= 'A') goto yy98;
+               }
+       } else {
+               if(yych <= '_') {
+                       if(yych >= '_') goto yy98;
+               } else {
+                       if(yych <= '`') goto yy100;
+                       if(yych <= 'z') goto yy98;
+               }
+       }
 yy100:
 #line 322 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        tok+= 5; /* skip "re2c:" */
                                        iscfg = 1;
                                        yylval.str = new Str(token());
                                        return CONFIG;
                                }
-#line 724 "scanner.cc"
+#line 721 "scanner.cc"
 yy101:
-               YYCTXMARKER = YYCURSOR + 1;
-               yych = *++YYCURSOR;
-               goto yy103;
+       YYCTXMARKER = YYCURSOR + 1;
+       yych = *++YYCURSOR;
+       goto yy103;
 yy102:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy103:
-               if(yybm[0+yych] & 8) {
-                       goto yy102;
-               }
-               if(yych != '{') goto yy97;
-               ++YYCURSOR;
-               YYCURSOR = YYCTXMARKER;
+       if(yybm[0+yych] & 8) {
+               goto yy102;
+       }
+       if(yych != '{') goto yy97;
+       ++YYCURSOR;
+       YYCURSOR = YYCTXMARKER;
 #line 279 "scanner.re"
-               {
+       {
                                        RETURN(NOCOND);
                                }
-#line 744 "scanner.cc"
+#line 741 "scanner.cc"
 yy106:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy107:
-               if(yybm[0+yych] & 16) {
-                       goto yy106;
-               }
-               if(yych <= '[') goto yy97;
-               if(yych <= '\\') goto yy110;
-               goto yy111;
+       if(yybm[0+yych] & 16) {
+               goto yy106;
+       }
+       if(yych <= '[') goto yy97;
+       if(yych <= '\\') goto yy110;
+       goto yy111;
 yy108:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych <= '[') {
-                       if(yych == 0x0A) goto yy97;
-                       goto yy108;
-               } else {
-                       if(yych <= '\\') goto yy113;
-                       if(yych <= ']') goto yy114;
-                       goto yy108;
-               }
-yy110:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych <= '[') {
                if(yych == 0x0A) goto yy97;
-               goto yy106;
+               goto yy108;
+       } else {
+               if(yych <= '\\') goto yy113;
+               if(yych <= ']') goto yy114;
+               goto yy108;
+       }
+yy110:
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy97;
+       goto yy106;
 yy111:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 269 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.regexp = ranToRE(token());
                                        return RANGE;
                                }
-#line 782 "scanner.cc"
+#line 779 "scanner.cc"
 yy113:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy97;
-               goto yy108;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy97;
+       goto yy108;
 yy114:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 263 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.regexp = invToRE(token());
                                        return RANGE;
                                }
-#line 797 "scanner.cc"
+#line 794 "scanner.cc"
 yy116:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy117:
-               if(yybm[0+yych] & 32) {
-                       goto yy116;
-               }
-               if(yych <= '&') goto yy97;
-               if(yych <= '\'') goto yy119;
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy97;
+       if(yybm[0+yych] & 32) {
                goto yy116;
+       }
+       if(yych <= '&') goto yy97;
+       if(yych <= '\'') goto yy119;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy97;
+       goto yy116;
 yy119:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 250 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.regexp = strToCaseInsensitiveRE(token());
                                        return STRING;
                                }
-#line 821 "scanner.cc"
+#line 818 "scanner.cc"
 yy121:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy122:
-               if(yybm[0+yych] & 64) {
-                       goto yy121;
-               }
-               if(yych <= '!') goto yy97;
-               if(yych <= '"') goto yy124;
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy97;
+       if(yybm[0+yych] & 64) {
                goto yy121;
+       }
+       if(yych <= '!') goto yy97;
+       if(yych <= '"') goto yy124;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy97;
+       goto yy121;
 yy124:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 244 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.regexp = strToRE(token());
                                        return STRING;
                                }
-#line 845 "scanner.cc"
+#line 842 "scanner.cc"
 yy126:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 239 "scanner.re"
-               {
+       {
                                        tok = cursor;
                                        RETURN(0);
                                }
-#line 853 "scanner.cc"
+#line 850 "scanner.cc"
 yy128:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 234 "scanner.re"
-               {
+       {
                                        depth = 1;
                                        goto comment;
                                }
-#line 861 "scanner.cc"
+#line 858 "scanner.cc"
 yy130:
-               yych = *++YYCURSOR;
-               if(yych == ',') goto yy144;
-               goto yy132;
+       yych = *++YYCURSOR;
+       if(yych == ',') goto yy144;
+       goto yy132;
 yy131:
-               ++YYCURSOR;
-               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
 yy132:
-               if(yybm[0+yych] & 128) {
-                       goto yy131;
-               }
-               if(yych == ',') goto yy137;
-               if(yych == '}') goto yy135;
-               goto yy97;
+       if(yybm[0+yych] & 128) {
+               goto yy131;
+       }
+       if(yych == ',') goto yy137;
+       if(yych == '}') goto yy135;
+       goto yy97;
 yy133:
-               ++YYCURSOR;
+       ++YYCURSOR;
 yy134:
 #line 318 "scanner.re"
-               {
+       {
                                        fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
                                }
-#line 884 "scanner.cc"
+#line 881 "scanner.cc"
 yy135:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 300 "scanner.re"
-               {
+       {
                                        yylval.extop.minsize = atoi((char *)tok+1);
                                        yylval.extop.maxsize = atoi((char *)tok+1);
                                        RETURN(CLOSESIZE);
                                }
-#line 893 "scanner.cc"
+#line 890 "scanner.cc"
 yy137:
-               yyaccept = 7;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych <= '/') goto yy134;
-               if(yych <= '9') goto yy140;
-               if(yych != '}') goto yy134;
-               ++YYCURSOR;
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/') goto yy134;
+       if(yych <= '9') goto yy140;
+       if(yych != '}') goto yy134;
+       ++YYCURSOR;
 #line 312 "scanner.re"
-               {
+       {
                                        yylval.extop.minsize = atoi((char *)tok+1);
                                        yylval.extop.maxsize = -1;
                                        RETURN(CLOSESIZE);
                                }
-#line 907 "scanner.cc"
+#line 904 "scanner.cc"
 yy140:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych <= '/') goto yy97;
-               if(yych <= '9') goto yy140;
-               if(yych != '}') goto yy97;
-               ++YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych <= '/') goto yy97;
+       if(yych <= '9') goto yy140;
+       if(yych != '}') goto yy97;
+       ++YYCURSOR;
 #line 306 "scanner.re"
-               {
+       {
                                        yylval.extop.minsize = atoi((char *)tok+1);
                                        yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
                                        RETURN(CLOSESIZE);
                                }
-#line 922 "scanner.cc"
+#line 919 "scanner.cc"
 yy144:
-               yyaccept = 7;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych <= '/') goto yy134;
-               if(yych <= '9') goto yy140;
-               if(yych != '}') goto yy134;
-               ++YYCURSOR;
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych <= '/') goto yy134;
+       if(yych <= '9') goto yy140;
+       if(yych != '}') goto yy134;
+       ++YYCURSOR;
 #line 295 "scanner.re"
-               {
+       {
                                        yylval.op = '*';
                                        RETURN(CLOSE);
                                }
-#line 935 "scanner.cc"
-       }
+#line 932 "scanner.cc"
 }
 #line 360 "scanner.re"
 
 
 code:
+
+#line 939 "scanner.cc"
 {
+       YYCTYPE yych;
        static const unsigned char yybm[] = {
                192, 192, 192, 192, 192, 192, 192, 192, 
                192, 192,   0, 192, 192, 192, 192, 192, 
@@ -973,33 +972,29 @@ code:
                192, 192, 192, 192, 192, 192, 192, 192, 
                192, 192, 192, 192, 192, 192, 192, 192, 
        };
-
-#line 978 "scanner.cc"
-       {
-               YYCTYPE yych;
-               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-               yych = *YYCURSOR;
-               if(yych <= '&') {
-                       if(yych <= 0x0A) {
-                               if(yych <= 0x00) goto yy155;
-                               if(yych <= 0x09) goto yy157;
-                               goto yy153;
-                       } else {
-                               if(yych == '"') goto yy159;
-                               goto yy157;
-                       }
+       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
+       if(yych <= '&') {
+               if(yych <= 0x0A) {
+                       if(yych <= 0x00) goto yy155;
+                       if(yych <= 0x09) goto yy157;
+                       goto yy153;
                } else {
-                       if(yych <= '{') {
-                               if(yych <= '\'') goto yy160;
-                               if(yych <= 'z') goto yy157;
-                               goto yy151;
-                       } else {
-                               if(yych != '}') goto yy157;
-                       }
+                       if(yych == '"') goto yy159;
+                       goto yy157;
                }
-               ++YYCURSOR;
+       } else {
+               if(yych <= '{') {
+                       if(yych <= '\'') goto yy160;
+                       if(yych <= 'z') goto yy157;
+                       goto yy151;
+               } else {
+                       if(yych != '}') goto yy157;
+               }
+       }
+       ++YYCURSOR;
 #line 364 "scanner.re"
-               {
+       {
                                        if(--depth == 0)
                                        {
                                                cur = cursor;
@@ -1008,19 +1003,19 @@ code:
                                        }
                                        goto code;
                                }
-#line 1012 "scanner.cc"
+#line 1007 "scanner.cc"
 yy151:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 373 "scanner.re"
-               {
+       {
                                        ++depth;
                                        goto code;
                                }
-#line 1020 "scanner.cc"
+#line 1015 "scanner.cc"
 yy153:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 377 "scanner.re"
-               {
+       {
                                        if(cursor == eof)
                                        {
                                                fatal("missing '}'");
@@ -1029,11 +1024,11 @@ yy153:
                                        cline++;
                                        goto code;
                                }
-#line 1033 "scanner.cc"
+#line 1028 "scanner.cc"
 yy155:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 386 "scanner.re"
-               {
+       {
                                        if(cursor == eof)
                                        {
                                                if (depth)
@@ -1044,100 +1039,98 @@ yy155:
                                        }
                                        goto code;
                                }
-#line 1048 "scanner.cc"
+#line 1043 "scanner.cc"
 yy157:
-               ++YYCURSOR;
+       ++YYCURSOR;
 yy158:
 #line 397 "scanner.re"
-               {
+       {
                                        goto code;
                                }
-#line 1056 "scanner.cc"
+#line 1051 "scanner.cc"
 yy159:
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych == 0x0A) goto yy158;
-               goto yy166;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == 0x0A) goto yy158;
+       goto yy166;
 yy160:
-               yych = *(YYMARKER = ++YYCURSOR);
-               if(yych == 0x0A) goto yy158;
-               goto yy162;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych == 0x0A) goto yy158;
+       goto yy162;
 yy161:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy162:
-               if(yybm[0+yych] & 64) {
-                       goto yy161;
-               }
-               if(yych <= '&') goto yy163;
-               if(yych <= '\'') goto yy157;
-               goto yy164;
+       if(yybm[0+yych] & 64) {
+               goto yy161;
+       }
+       if(yych <= '&') goto yy163;
+       if(yych <= '\'') goto yy157;
+       goto yy164;
 yy163:
-               YYCURSOR = YYMARKER;
-               goto yy158;
+       YYCURSOR = YYMARKER;
+       goto yy158;
 yy164:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy163;
-               goto yy161;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy163;
+       goto yy161;
 yy165:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy166:
-               if(yybm[0+yych] & 128) {
-                       goto yy165;
-               }
-               if(yych <= '!') goto yy163;
-               if(yych <= '"') goto yy157;
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy163;
+       if(yybm[0+yych] & 128) {
                goto yy165;
        }
+       if(yych <= '!') goto yy163;
+       if(yych <= '"') goto yy157;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy163;
+       goto yy165;
 }
 #line 400 "scanner.re"
 
 
 comment:
-{
 
-#line 1108 "scanner.cc"
-       {
-               YYCTYPE yych;
-               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-               yych = *YYCURSOR;
-               if(yych <= ')') {
-                       if(yych == 0x0A) goto yy173;
-                       goto yy175;
-               } else {
-                       if(yych <= '*') goto yy170;
-                       if(yych == '/') goto yy172;
-                       goto yy175;
-               }
+#line 1101 "scanner.cc"
+{
+       YYCTYPE yych;
+       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
+       if(yych <= ')') {
+               if(yych == 0x0A) goto yy173;
+               goto yy175;
+       } else {
+               if(yych <= '*') goto yy170;
+               if(yych == '/') goto yy172;
+               goto yy175;
+       }
 yy170:
-               ++YYCURSOR;
-               if((yych = *YYCURSOR) == '/') goto yy178;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) == '/') goto yy178;
 yy171:
 #line 428 "scanner.re"
-               {
+       {
                                        if(cursor == eof)
                                        {
                                                RETURN(0);
                                        }
                                        goto comment;
                                }
-#line 1133 "scanner.cc"
+#line 1126 "scanner.cc"
 yy172:
-               yych = *++YYCURSOR;
-               if(yych == '*') goto yy176;
-               goto yy171;
+       yych = *++YYCURSOR;
+       if(yych == '*') goto yy176;
+       goto yy171;
 yy173:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 419 "scanner.re"
-               {
+       {
                                        if(cursor == eof)
                                        {
                                                RETURN(0);
@@ -1146,23 +1139,23 @@ yy173:
                                        cline++;
                                        goto comment;
                                }
-#line 1150 "scanner.cc"
+#line 1143 "scanner.cc"
 yy175:
-               yych = *++YYCURSOR;
-               goto yy171;
+       yych = *++YYCURSOR;
+       goto yy171;
 yy176:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 414 "scanner.re"
-               {
+       {
                                        ++depth;
                                        fatal("ambiguous /* found");
                                        goto comment;
                                }
-#line 1162 "scanner.cc"
+#line 1155 "scanner.cc"
 yy178:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 404 "scanner.re"
-               {
+       {
                                        if(--depth == 0)
                                        {
                                                goto scan;
@@ -1172,14 +1165,16 @@ yy178:
                                                goto comment;
                                        }
                                }
-#line 1176 "scanner.cc"
-       }
+#line 1169 "scanner.cc"
 }
 #line 435 "scanner.re"
 
 
 config:
+
+#line 1176 "scanner.cc"
 {
+       YYCTYPE yych;
        static const unsigned char yybm[] = {
                  0,   0,   0,   0,   0,   0,   0,   0, 
                  0, 128,   0,   0,   0,   0,   0,   0, 
@@ -1214,72 +1209,70 @@ config:
                  0,   0,   0,   0,   0,   0,   0,   0, 
                  0,   0,   0,   0,   0,   0,   0,   0, 
        };
-
-#line 1219 "scanner.cc"
-       {
-               YYCTYPE yych;
-               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-               yych = *YYCURSOR;
-               if(yych <= 0x1F) {
-                       if(yych != 0x09) goto yy186;
-               } else {
-                       if(yych <= ' ') goto yy182;
-                       if(yych == '=') goto yy184;
-                       goto yy186;
-               }
+       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
+       if(yych <= 0x1F) {
+               if(yych != 0x09) goto yy186;
+       } else {
+               if(yych <= ' ') goto yy182;
+               if(yych == '=') goto yy184;
+               goto yy186;
+       }
 yy182:
-               ++YYCURSOR;
-               yych = *YYCURSOR;
-               goto yy191;
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy191;
 yy183:
 #line 439 "scanner.re"
-               {
+       {
                                        goto config;
                                }
-#line 1240 "scanner.cc"
+#line 1231 "scanner.cc"
 yy184:
-               ++YYCURSOR;
-               yych = *YYCURSOR;
-               goto yy189;
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy189;
 yy185:
 #line 442 "scanner.re"
-               {
+       {
                                        iscfg = 2;
                                        cur = cursor;
                                        RETURN('=');
                                }
-#line 1252 "scanner.cc"
+#line 1243 "scanner.cc"
 yy186:
-               ++YYCURSOR;
+       ++YYCURSOR;
 #line 447 "scanner.re"
-               {
+       {
                                        fatal("missing '='");
                                }
-#line 1259 "scanner.cc"
+#line 1250 "scanner.cc"
 yy188:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy189:
-               if(yybm[0+yych] & 128) {
-                       goto yy188;
-               }
-               goto yy185;
+       if(yybm[0+yych] & 128) {
+               goto yy188;
+       }
+       goto yy185;
 yy190:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy191:
-               if(yych == 0x09) goto yy190;
-               if(yych == ' ') goto yy190;
-               goto yy183;
-       }
+       if(yych == 0x09) goto yy190;
+       if(yych == ' ') goto yy190;
+       goto yy183;
 }
 #line 450 "scanner.re"
 
 
 value:
+
+#line 1274 "scanner.cc"
 {
+       YYCTYPE yych;
        static const unsigned char yybm[] = {
                248, 248, 248, 248, 248, 248, 248, 248, 
                248, 192,   0, 248, 248, 192, 248, 248, 
@@ -1314,204 +1307,199 @@ value:
                248, 248, 248, 248, 248, 248, 248, 248, 
                248, 248, 248, 248, 248, 248, 248, 248, 
        };
-
-#line 1319 "scanner.cc"
-       {
-               YYCTYPE yych;
-               if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-               yych = *YYCURSOR;
-               if(yych <= '&') {
-                       if(yych <= 0x0D) {
-                               if(yych <= 0x08) goto yy200;
-                               if(yych <= 0x0A) goto yy194;
-                               if(yych <= 0x0C) goto yy200;
+       if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
+       if(yych <= '&') {
+               if(yych <= 0x0D) {
+                       if(yych <= 0x08) goto yy200;
+                       if(yych <= 0x0A) goto yy194;
+                       if(yych <= 0x0C) goto yy200;
+               } else {
+                       if(yych <= ' ') {
+                               if(yych <= 0x1F) goto yy200;
                        } else {
-                               if(yych <= ' ') {
-                                       if(yych <= 0x1F) goto yy200;
-                               } else {
-                                       if(yych == '"') goto yy202;
-                                       goto yy200;
-                               }
+                               if(yych == '"') goto yy202;
+                               goto yy200;
                        }
+               }
+       } else {
+               if(yych <= '/') {
+                       if(yych <= '\'') goto yy204;
+                       if(yych == '-') goto yy197;
+                       goto yy200;
                } else {
-                       if(yych <= '/') {
-                               if(yych <= '\'') goto yy204;
-                               if(yych == '-') goto yy197;
-                               goto yy200;
+                       if(yych <= '9') {
+                               if(yych <= '0') goto yy195;
+                               goto yy198;
                        } else {
-                               if(yych <= '9') {
-                                       if(yych <= '0') goto yy195;
-                                       goto yy198;
-                               } else {
-                                       if(yych != ';') goto yy200;
-                               }
+                               if(yych != ';') goto yy200;
                        }
                }
+       }
 yy194:
 #line 460 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.str = new Str(token());
                                        iscfg = 0;
                                        return VALUE;
                                }
-#line 1359 "scanner.cc"
+#line 1348 "scanner.cc"
 yy195:
-               ++YYCURSOR;
-               if(yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy200;
-               }
+       ++YYCURSOR;
+       if(yybm[0+(yych = *YYCURSOR)] & 8) {
+               goto yy200;
+       }
 yy196:
 #line 454 "scanner.re"
-               {
+       {
                                        cur = cursor;
                                        yylval.number = atoi(token().to_string().c_str());
                                        iscfg = 0;
                                        return NUMBER;
                                }
-#line 1373 "scanner.cc"
+#line 1362 "scanner.cc"
 yy197:
-               yych = *++YYCURSOR;
-               if(yych <= '0') goto yy201;
-               if(yych >= ':') goto yy201;
+       yych = *++YYCURSOR;
+       if(yych <= '0') goto yy201;
+       if(yych >= ':') goto yy201;
 yy198:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yybm[0+yych] & 4) {
-                       goto yy198;
-               }
-               if(yych <= 0x0D) {
-                       if(yych <= 0x08) goto yy200;
-                       if(yych <= 0x0A) goto yy196;
-                       if(yych >= 0x0D) goto yy196;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yybm[0+yych] & 4) {
+               goto yy198;
+       }
+       if(yych <= 0x0D) {
+               if(yych <= 0x08) goto yy200;
+               if(yych <= 0x0A) goto yy196;
+               if(yych >= 0x0D) goto yy196;
+       } else {
+               if(yych <= ' ') {
+                       if(yych >= ' ') goto yy196;
                } else {
-                       if(yych <= ' ') {
-                               if(yych >= ' ') goto yy196;
-                       } else {
-                               if(yych == ';') goto yy196;
-                       }
+                       if(yych == ';') goto yy196;
                }
+       }
 yy200:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
 yy201:
-               if(yybm[0+yych] & 8) {
-                       goto yy200;
-               }
-               goto yy194;
+       if(yybm[0+yych] & 8) {
+               goto yy200;
+       }
+       goto yy194;
 yy202:
-               YYMARKER = ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yybm[0+yych] & 16) {
-                       goto yy202;
-               }
-               if(yych <= '!') {
-                       if(yych == 0x0A) goto yy194;
-                       goto yy212;
-               } else {
-                       if(yych <= '"') goto yy200;
-                       if(yych <= '[') goto yy212;
-                       goto yy214;
-               }
+       YYMARKER = ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yybm[0+yych] & 16) {
+               goto yy202;
+       }
+       if(yych <= '!') {
+               if(yych == 0x0A) goto yy194;
+               goto yy212;
+       } else {
+               if(yych <= '"') goto yy200;
+               if(yych <= '[') goto yy212;
+               goto yy214;
+       }
 yy204:
-               YYMARKER = ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yybm[0+yych] & 32) {
-                       goto yy204;
-               }
-               if(yych <= '&') {
-                       if(yych == 0x0A) goto yy194;
-               } else {
-                       if(yych <= '\'') goto yy200;
-                       if(yych >= '\\') goto yy209;
-               }
+       YYMARKER = ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yybm[0+yych] & 32) {
+               goto yy204;
+       }
+       if(yych <= '&') {
+               if(yych == 0x0A) goto yy194;
+       } else {
+               if(yych <= '\'') goto yy200;
+               if(yych >= '\\') goto yy209;
+       }
 yy206:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yybm[0+yych] & 64) {
-                       goto yy206;
-               }
-               if(yych <= '&') goto yy208;
-               if(yych <= '\'') goto yy210;
-               goto yy211;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yybm[0+yych] & 64) {
+               goto yy206;
+       }
+       if(yych <= '&') goto yy208;
+       if(yych <= '\'') goto yy210;
+       goto yy211;
 yy208:
-               YYCURSOR = YYMARKER;
-               goto yy194;
+       YYCURSOR = YYMARKER;
+       goto yy194;
 yy209:
-               YYMARKER = ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych <= 0x0D) {
-                       if(yych <= 0x09) {
-                               if(yych <= 0x08) goto yy204;
-                               goto yy206;
-                       } else {
-                               if(yych <= 0x0A) goto yy194;
-                               if(yych <= 0x0C) goto yy204;
-                               goto yy206;
-                       }
+       YYMARKER = ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych <= 0x0D) {
+               if(yych <= 0x09) {
+                       if(yych <= 0x08) goto yy204;
+                       goto yy206;
                } else {
-                       if(yych <= ' ') {
-                               if(yych <= 0x1F) goto yy204;
-                               goto yy206;
-                       } else {
-                               if(yych == ';') goto yy206;
-                               goto yy204;
-                       }
+                       if(yych <= 0x0A) goto yy194;
+                       if(yych <= 0x0C) goto yy204;
+                       goto yy206;
                }
+       } else {
+               if(yych <= ' ') {
+                       if(yych <= 0x1F) goto yy204;
+                       goto yy206;
+               } else {
+                       if(yych == ';') goto yy206;
+                       goto yy204;
+               }
+       }
 yy210:
-               yych = *++YYCURSOR;
-               goto yy194;
+       yych = *++YYCURSOR;
+       goto yy194;
 yy211:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy208;
-               goto yy206;
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy208;
+       goto yy206;
 yy212:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yybm[0+yych] & 128) {
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yybm[0+yych] & 128) {
+               goto yy212;
+       }
+       if(yych <= '!') goto yy208;
+       if(yych <= '"') goto yy210;
+       goto yy215;
+yy214:
+       YYMARKER = ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych <= 0x0D) {
+               if(yych <= 0x09) {
+                       if(yych <= 0x08) goto yy202;
+                       goto yy212;
+               } else {
+                       if(yych <= 0x0A) goto yy194;
+                       if(yych <= 0x0C) goto yy202;
                        goto yy212;
                }
-               if(yych <= '!') goto yy208;
-               if(yych <= '"') goto yy210;
-               goto yy215;
-yy214:
-               YYMARKER = ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych <= 0x0D) {
-                       if(yych <= 0x09) {
-                               if(yych <= 0x08) goto yy202;
-                               goto yy212;
-                       } else {
-                               if(yych <= 0x0A) goto yy194;
-                               if(yych <= 0x0C) goto yy202;
-                               goto yy212;
-                       }
+       } else {
+               if(yych <= ' ') {
+                       if(yych <= 0x1F) goto yy202;
+                       goto yy212;
                } else {
-                       if(yych <= ' ') {
-                               if(yych <= 0x1F) goto yy202;
-                               goto yy212;
-                       } else {
-                               if(yych == ';') goto yy212;
-                               goto yy202;
-                       }
+                       if(yych == ';') goto yy212;
+                       goto yy202;
                }
-yy215:
-               ++YYCURSOR;
-               if(YYLIMIT == YYCURSOR) YYFILL(1);
-               yych = *YYCURSOR;
-               if(yych == 0x0A) goto yy208;
-               goto yy212;
        }
+yy215:
+       ++YYCURSOR;
+       if(YYLIMIT == YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if(yych == 0x0A) goto yy208;
+       goto yy212;
 }
 #line 466 "scanner.re"