]> granicus.if.org Git - re2c/commitdiff
- No need for '#line' directives in bootstrap code, use -i
authorhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Sun, 6 May 2007 23:03:33 +0000 (23:03 +0000)
committerhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Sun, 6 May 2007 23:03:33 +0000 (23:03 +0000)
# This minimizes difs on the generated scanner

re2c/Makefile.am
re2c/bootstrap/scanner.cc

index 30634131273e7389558f056a35729c510f325b3f..a36b2942873ac182ab5f6fbd64dc9cbb2ea1e53b 100755 (executable)
@@ -15,7 +15,7 @@ man_MANS     = re2c.1
 YFLAGS       = -d
 
 RE2C         = re2c$(EXEEXT)
-RE2CFLAGS    = -b
+RE2CFLAGS    = -bi
 
 CLEANFILES   = parser.cc y.tab.c y.tab.h scanner.cc re2c.1 .version
 
index 2bb3d6d98764eab76f8845c512a31837b5c68a8f..42a353fa6bdadc6212e2bb3e8e03d9c8f5358ab3 100644 (file)
@@ -1,5 +1,4 @@
-/* Generated by re2c 0.13.0.dev on Sun May  6 23:11:01 2007 */
-#line 1 "scanner.re"
+/* Generated by re2c 0.13.0.dev on Mon May  7 00:59:10 2007 */
 /* $Id$ */
 #include <stdlib.h>
 #include <string.h>
@@ -78,7 +77,6 @@ char *Scanner::fill(char *cursor)
        return cursor;
 }
 
-#line 98 "scanner.re"
 
 
 int Scanner::echo()
@@ -95,7 +93,6 @@ int Scanner::echo()
        tok = cursor;
 echo:
 
-#line 99 "scanner.cc"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -114,18 +111,15 @@ echo:
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '*') goto yy16;
 yy3:
-#line 221 "scanner.re"
        {
                                        goto echo;
                                }
-#line 122 "scanner.cc"
 yy4:
        yych = *++YYCURSOR;
        if(yych == '/') goto yy10;
        goto yy3;
 yy5:
        ++YYCURSOR;
-#line 197 "scanner.re"
        {
                                        if (ignore_eoc)
                                        {
@@ -139,10 +133,8 @@ yy5:
                                        cline++;
                                        goto echo;
                                }
-#line 143 "scanner.cc"
 yy7:
        ++YYCURSOR;
-#line 210 "scanner.re"
        {
                                        if (!ignore_eoc)
                                        {
@@ -154,7 +146,6 @@ yy7:
                                                RETURN(0);
                                        }
                                }
-#line 158 "scanner.cc"
 yy9:
        yych = *++YYCURSOR;
        goto yy3;
@@ -164,7 +155,6 @@ yy10:
        if(yych == 0x0A) goto yy14;
        if(yych == 0x0D) goto yy12;
 yy11:
-#line 180 "scanner.re"
        {
                                        if (ignore_eoc)
                                        {
@@ -182,7 +172,6 @@ yy11:
                                        tok = pos = cursor;
                                        goto echo;
                                }
-#line 186 "scanner.cc"
 yy12:
        yych = *++YYCURSOR;
        if(yych == 0x0A) goto yy14;
@@ -195,7 +184,6 @@ yy13:
        }
 yy14:
        ++YYCURSOR;
-#line 162 "scanner.re"
        {
                                        cline++;
                                        if (ignore_eoc)
@@ -214,7 +202,6 @@ yy14:
                                        tok = pos = cursor;
                                        goto echo;
                                }
-#line 218 "scanner.cc"
 yy16:
        yych = *++YYCURSOR;
        if(yych != '!') goto yy13;
@@ -251,7 +238,6 @@ yy22:
        yych = *++YYCURSOR;
        if(yych != 'c') goto yy13;
        ++YYCURSOR;
-#line 114 "scanner.re"
        {
                                        if (bUsedYYMaxFill && bSinglePass)
                                        {
@@ -261,7 +247,6 @@ yy22:
                                        tok = cursor;
                                        RETURN(1);
                                }
-#line 265 "scanner.cc"
 yy27:
        yych = *++YYCURSOR;
        if(yych != 'x') goto yy13;
@@ -276,7 +261,6 @@ yy27:
        yych = *++YYCURSOR;
        if(yych != 'c') goto yy13;
        ++YYCURSOR;
-#line 123 "scanner.re"
        {
                                        if (bUsedYYMaxFill)
                                        {
@@ -288,7 +272,6 @@ yy27:
                                        bUsedYYMaxFill = true;
                                        goto echo;
                                }
-#line 292 "scanner.cc"
 yy35:
        yych = *++YYCURSOR;
        if(yych != 't') goto yy13;
@@ -313,14 +296,12 @@ yy35:
        yych = *++YYCURSOR;
        if(yych != 'c') goto yy13;
        ++YYCURSOR;
-#line 134 "scanner.re"
        {
                                        tok = pos = cursor;
                                        genGetStateGoto(out, topIndent, 0);
                                        ignore_eoc = true;
                                        goto echo;
                                }
-#line 324 "scanner.cc"
 yy48:
        yych = *++YYCURSOR;
        if(yych != 'n') goto yy13;
@@ -341,13 +322,11 @@ yy48:
        yych = *++YYCURSOR;
        if(yych != 'c') goto yy13;
        ++YYCURSOR;
-#line 140 "scanner.re"
        {
                                        tok = pos = cursor;
                                        ignore_eoc = true;
                                        goto echo;
                                }
-#line 351 "scanner.cc"
 yy59:
        yych = *++YYCURSOR;
        if(yych != 'p') goto yy13;
@@ -366,7 +345,6 @@ yy59:
        yych = *++YYCURSOR;
        if(yych != 'c') goto yy13;
        ++YYCURSOR;
-#line 145 "scanner.re"
        {
                                        if (bSinglePass)
                                        {
@@ -384,9 +362,7 @@ yy59:
                                        }
                                        goto echo;
                                }
-#line 388 "scanner.cc"
 }
-#line 224 "scanner.re"
 
 }
 
@@ -409,7 +385,6 @@ scan:
                goto value;
        }
 
-#line 413 "scanner.cc"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -526,50 +501,40 @@ yy71:
                if(yych <= '9') goto yy145;
        }
 yy72:
-#line 246 "scanner.re"
        {
                                        depth = 1;
                                        goto code;
                                }
-#line 535 "scanner.cc"
 yy73:
        ++YYCURSOR;
        if((yych = *YYCURSOR) == '*') goto yy142;
 yy74:
-#line 299 "scanner.re"
        {
                                        RETURN(*tok);
                                }
-#line 544 "scanner.cc"
 yy75:
        ++YYCURSOR;
        if((yych = *YYCURSOR) == '/') goto yy140;
-#line 303 "scanner.re"
        {
                                        yylval.op = *tok;
                                        RETURN(STAR);
                                }
-#line 553 "scanner.cc"
 yy77:
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != 0x0A) goto yy136;
 yy78:
-#line 273 "scanner.re"
        {
                                        fatal("unterminated string constant (missing \")");
                                }
-#line 563 "scanner.cc"
 yy79:
        yyaccept = 2;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != 0x0A) goto yy131;
 yy80:
-#line 276 "scanner.re"
        {
                                        fatal("unterminated string constant (missing ')");
                                }
-#line 573 "scanner.cc"
 yy81:
        yyaccept = 3;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -577,11 +542,9 @@ yy81:
        if(yych == '^') goto yy122;
        goto yy121;
 yy82:
-#line 292 "scanner.re"
        {
                                        fatal("unterminated range (missing ])");
                                }
-#line 585 "scanner.cc"
 yy83:
        yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -592,62 +555,51 @@ yy84:
        goto yy74;
 yy85:
        ++YYCURSOR;
-#line 307 "scanner.re"
        {
                                        yylval.op = *tok;
                                        RETURN(CLOSE);
                                }
-#line 601 "scanner.cc"
 yy87:
        ++YYCURSOR;
        if((yych = *YYCURSOR) == 'e') goto yy104;
        goto yy103;
 yy88:
-#line 347 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.symbol = Symbol::find(token());
                                        return ID;
                                }
-#line 613 "scanner.cc"
 yy89:
        yych = *++YYCURSOR;
        goto yy103;
 yy90:
        ++YYCURSOR;
-#line 353 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.regexp = mkDot();
                                        return RANGE;
                                }
-#line 625 "scanner.cc"
 yy92:
        ++YYCURSOR;
        yych = *YYCURSOR;
        goto yy101;
 yy93:
-#line 359 "scanner.re"
        {
                                        goto scan;
                                }
-#line 635 "scanner.cc"
 yy94:
        ++YYCURSOR;
 yy95:
-#line 363 "scanner.re"
        {
                                        if(cursor == eof) RETURN(0);
                                        pos = cursor;
                                        cline++;
                                        goto scan;
                                }
-#line 646 "scanner.cc"
 yy96:
        ++YYCURSOR;
        if((yych = *YYCURSOR) == 0x0A) goto yy99;
 yy97:
-#line 370 "scanner.re"
        {
                                        std::ostringstream msg;
                                        msg << "unexpected character: ";
@@ -655,7 +607,6 @@ yy97:
                                        fatal(msg.str().c_str());
                                        goto scan;
                                }
-#line 659 "scanner.cc"
 yy98:
        yych = *++YYCURSOR;
        goto yy97;
@@ -752,7 +703,6 @@ yy109:
                }
        }
 yy111:
-#line 339 "scanner.re"
        {
                                        cur = cursor;
                                        tok+= 5; /* skip "re2c:" */
@@ -760,7 +710,6 @@ yy111:
                                        yylval.str = new Str(token());
                                        return CONFIG;
                                }
-#line 764 "scanner.cc"
 yy112:
        yych = *++YYCURSOR;
        if(yych <= '^') {
@@ -804,11 +753,9 @@ yy117:
        if(yych != '{') goto yy108;
        ++YYCURSOR;
        YYCURSOR = YYCTXMARKER;
-#line 296 "scanner.re"
        {
                                        RETURN(NOCOND);
                                }
-#line 812 "scanner.cc"
 yy120:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -840,13 +787,11 @@ yy124:
        goto yy120;
 yy125:
        ++YYCURSOR;
-#line 286 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.regexp = ranToRE(token());
                                        return RANGE;
                                }
-#line 850 "scanner.cc"
 yy127:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -855,13 +800,11 @@ yy127:
        goto yy122;
 yy128:
        ++YYCURSOR;
-#line 280 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.regexp = invToRE(token());
                                        return RANGE;
                                }
-#line 865 "scanner.cc"
 yy130:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -879,13 +822,11 @@ yy131:
        goto yy130;
 yy133:
        ++YYCURSOR;
-#line 267 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.regexp = strToCaseInsensitiveRE(token());
                                        return STRING;
                                }
-#line 889 "scanner.cc"
 yy135:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -903,29 +844,23 @@ yy136:
        goto yy135;
 yy138:
        ++YYCURSOR;
-#line 261 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.regexp = strToRE(token());
                                        return STRING;
                                }
-#line 913 "scanner.cc"
 yy140:
        ++YYCURSOR;
-#line 256 "scanner.re"
        {
                                        tok = cursor;
                                        RETURN(0);
                                }
-#line 921 "scanner.cc"
 yy142:
        ++YYCURSOR;
-#line 251 "scanner.re"
        {
                                        depth = 1;
                                        goto comment;
                                }
-#line 929 "scanner.cc"
 yy144:
        yych = *++YYCURSOR;
        if(yych == ',') goto yy158;
@@ -944,20 +879,16 @@ yy146:
 yy147:
        ++YYCURSOR;
 yy148:
-#line 335 "scanner.re"
        {
                                        fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
                                }
-#line 952 "scanner.cc"
 yy149:
        ++YYCURSOR;
-#line 317 "scanner.re"
        {
                                        yylval.extop.minsize = atoi((char *)tok+1);
                                        yylval.extop.maxsize = atoi((char *)tok+1);
                                        RETURN(CLOSESIZE);
                                }
-#line 961 "scanner.cc"
 yy151:
        yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -965,13 +896,11 @@ yy151:
        if(yych <= '9') goto yy154;
        if(yych != '}') goto yy148;
        ++YYCURSOR;
-#line 329 "scanner.re"
        {
                                        yylval.extop.minsize = atoi((char *)tok+1);
                                        yylval.extop.maxsize = -1;
                                        RETURN(CLOSESIZE);
                                }
-#line 975 "scanner.cc"
 yy154:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -980,13 +909,11 @@ yy154:
        if(yych <= '9') goto yy154;
        if(yych != '}') goto yy108;
        ++YYCURSOR;
-#line 323 "scanner.re"
        {
                                        yylval.extop.minsize = atoi((char *)tok+1);
                                        yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
                                        RETURN(CLOSESIZE);
                                }
-#line 990 "scanner.cc"
 yy158:
        yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -994,19 +921,15 @@ yy158:
        if(yych <= '9') goto yy154;
        if(yych != '}') goto yy148;
        ++YYCURSOR;
-#line 312 "scanner.re"
        {
                                        yylval.op = '*';
                                        RETURN(CLOSE);
                                }
-#line 1003 "scanner.cc"
 }
-#line 377 "scanner.re"
 
 
 code:
 
-#line 1010 "scanner.cc"
 {
        YYCTYPE yych;
        static const unsigned char yybm[] = {
@@ -1064,7 +987,6 @@ code:
                }
        }
        ++YYCURSOR;
-#line 381 "scanner.re"
        {
                                        if(--depth == 0)
                                        {
@@ -1074,18 +996,14 @@ code:
                                        }
                                        goto code;
                                }
-#line 1078 "scanner.cc"
 yy165:
        ++YYCURSOR;
-#line 390 "scanner.re"
        {
                                        ++depth;
                                        goto code;
                                }
-#line 1086 "scanner.cc"
 yy167:
        ++YYCURSOR;
-#line 394 "scanner.re"
        {
                                        if(cursor == eof)
                                        {
@@ -1095,10 +1013,8 @@ yy167:
                                        cline++;
                                        goto code;
                                }
-#line 1099 "scanner.cc"
 yy169:
        ++YYCURSOR;
-#line 403 "scanner.re"
        {
                                        if(cursor == eof)
                                        {
@@ -1110,15 +1026,12 @@ yy169:
                                        }
                                        goto code;
                                }
-#line 1114 "scanner.cc"
 yy171:
        ++YYCURSOR;
 yy172:
-#line 414 "scanner.re"
        {
                                        goto code;
                                }
-#line 1122 "scanner.cc"
 yy173:
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == 0x0A) goto yy172;
@@ -1163,12 +1076,10 @@ yy180:
        if(yych == 0x0A) goto yy177;
        goto yy179;
 }
-#line 417 "scanner.re"
 
 
 comment:
 
-#line 1172 "scanner.cc"
 {
        YYCTYPE yych;
        if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -1185,7 +1096,6 @@ yy184:
        ++YYCURSOR;
        if((yych = *YYCURSOR) == '/') goto yy192;
 yy185:
-#line 445 "scanner.re"
        {
                                        if(cursor == eof)
                                        {
@@ -1193,14 +1103,12 @@ yy185:
                                        }
                                        goto comment;
                                }
-#line 1197 "scanner.cc"
 yy186:
        yych = *++YYCURSOR;
        if(yych == '*') goto yy190;
        goto yy185;
 yy187:
        ++YYCURSOR;
-#line 436 "scanner.re"
        {
                                        if(cursor == eof)
                                        {
@@ -1210,22 +1118,18 @@ yy187:
                                        cline++;
                                        goto comment;
                                }
-#line 1214 "scanner.cc"
 yy189:
        yych = *++YYCURSOR;
        goto yy185;
 yy190:
        ++YYCURSOR;
-#line 431 "scanner.re"
        {
                                        ++depth;
                                        fatal("ambiguous /* found");
                                        goto comment;
                                }
-#line 1226 "scanner.cc"
 yy192:
        ++YYCURSOR;
-#line 421 "scanner.re"
        {
                                        if(--depth == 0)
                                        {
@@ -1236,14 +1140,11 @@ yy192:
                                                goto comment;
                                        }
                                }
-#line 1240 "scanner.cc"
 }
-#line 452 "scanner.re"
 
 
 config:
 
-#line 1247 "scanner.cc"
 {
        YYCTYPE yych;
        static const unsigned char yybm[] = {
@@ -1294,30 +1195,24 @@ yy196:
        yych = *YYCURSOR;
        goto yy205;
 yy197:
-#line 456 "scanner.re"
        {
                                        goto config;
                                }
-#line 1302 "scanner.cc"
 yy198:
        ++YYCURSOR;
        yych = *YYCURSOR;
        goto yy203;
 yy199:
-#line 459 "scanner.re"
        {
                                        iscfg = 2;
                                        cur = cursor;
                                        RETURN('=');
                                }
-#line 1314 "scanner.cc"
 yy200:
        ++YYCURSOR;
-#line 464 "scanner.re"
        {
                                        fatal("missing '='");
                                }
-#line 1321 "scanner.cc"
 yy202:
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
@@ -1336,12 +1231,10 @@ yy205:
        if(yych == ' ') goto yy204;
        goto yy197;
 }
-#line 467 "scanner.re"
 
 
 value:
 
-#line 1345 "scanner.cc"
 {
        YYCTYPE yych;
        static const unsigned char yybm[] = {
@@ -1408,28 +1301,24 @@ value:
                }
        }
 yy208:
-#line 477 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.str = new Str(token());
                                        iscfg = 0;
                                        return VALUE;
                                }
-#line 1419 "scanner.cc"
 yy209:
        ++YYCURSOR;
        if(yybm[0+(yych = *YYCURSOR)] & 8) {
                goto yy214;
        }
 yy210:
-#line 471 "scanner.re"
        {
                                        cur = cursor;
                                        yylval.number = atoi(token().to_string().c_str());
                                        iscfg = 0;
                                        return NUMBER;
                                }
-#line 1433 "scanner.cc"
 yy211:
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy215;
@@ -1572,7 +1461,6 @@ yy229:
        if(yych == 0x0A) goto yy222;
        goto yy226;
 }
-#line 483 "scanner.re"
 
 }