From: helly Date: Mon, 5 Jun 2006 22:35:23 +0000 (+0000) Subject: - Regenerate bootstrap files X-Git-Tag: 0.13.6~268 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73a2a94f225e5c42882d441c0a251691b0270ec3;p=re2c - Regenerate bootstrap files --- diff --git a/re2c/bootstrap/parser.cc b/re2c/bootstrap/parser.cc index 3dab7451..2617f37a 100644 --- a/re2c/bootstrap/parser.cc +++ b/re2c/bootstrap/parser.cc @@ -1204,12 +1204,12 @@ yyreduce: case 6: #line 96 "parser.y" - { in->config(*(yyvsp[-3].str), *(yyvsp[-1].str)); } + { in->config(*(yyvsp[-3].str), *(yyvsp[-1].str)); delete (yyvsp[-3].str); delete (yyvsp[-1].str); } break; case 7: #line 98 "parser.y" - { in->config(*(yyvsp[-3].str), (yyvsp[-1].number)); } + { in->config(*(yyvsp[-3].str), (yyvsp[-1].number)); delete (yyvsp[-3].str); } break; case 8: @@ -1635,6 +1635,10 @@ void parse(Scanner& i, std::ostream& o) } o << sourceFileInfo; } + + RegExp::vFreeList.clear(); + Range::vFreeList.clear(); + Symbol::ClearTable(); } } // end namespace re2c diff --git a/re2c/bootstrap/scanner.cc b/re2c/bootstrap/scanner.cc index 8b945350..50235cff 100644 --- a/re2c/bootstrap/scanner.cc +++ b/re2c/bootstrap/scanner.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.10.2.dev on Sun Apr 16 20:12:14 2006 */ +/* Generated by re2c 0.11.0.dev on Mon Jun 5 18:17:13 2006 */ #line 1 "scanner.re" /* $Id$ */ #include @@ -175,9 +175,10 @@ yy12: if(yych == 0x0A) goto yy14; yy13: YYCURSOR = YYMARKER; - switch(yyaccept) { - case 1: goto yy11; - case 0: goto yy3; + if(yyaccept <= 0) { + goto yy3; + } else { + goto yy11; } yy14: ++YYCURSOR; @@ -196,12 +197,12 @@ yy14: tok = pos = cursor; goto echo; } -#line 200 "scanner.cc" +#line 201 "scanner.cc" yy16: yych = *++YYCURSOR; if(yych != '!') goto yy13; yych = *++YYCURSOR; - switch(yych){ + switch(yych) { case 'g': goto yy19; case 'i': goto yy18; case 'm': goto yy20; @@ -237,7 +238,7 @@ yy21: tok = cursor; RETURN(1); } -#line 241 "scanner.cc" +#line 242 "scanner.cc" yy26: yych = *++YYCURSOR; if(yych != 'x') goto yy13; @@ -263,7 +264,7 @@ yy26: bUsedYYMaxFill = true; goto echo; } -#line 267 "scanner.cc" +#line 268 "scanner.cc" yy34: yych = *++YYCURSOR; if(yych != 't') goto yy13; @@ -295,7 +296,7 @@ yy34: ignore_eoc = true; goto echo; } -#line 299 "scanner.cc" +#line 300 "scanner.cc" yy47: yych = *++YYCURSOR; if(yych != 'n') goto yy13; @@ -322,7 +323,7 @@ yy47: ignore_eoc = true; goto echo; } -#line 326 "scanner.cc" +#line 327 "scanner.cc" } #line 187 "scanner.re" @@ -347,7 +348,7 @@ scan: goto value; } -#line 351 "scanner.cc" +#line 352 "scanner.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -425,14 +426,14 @@ yy61: { depth = 1; goto code; } -#line 429 "scanner.cc" +#line 430 "scanner.cc" yy62: ++YYCURSOR; if((yych = *YYCURSOR) == '*') goto yy121; yy63: #line 239 "scanner.re" { RETURN(*tok); } -#line 436 "scanner.cc" +#line 437 "scanner.cc" yy64: ++YYCURSOR; if((yych = *YYCURSOR) == '/') goto yy119; @@ -440,7 +441,7 @@ yy65: #line 241 "scanner.re" { yylval.op = *tok; RETURN(CLOSE); } -#line 444 "scanner.cc" +#line 445 "scanner.cc" yy66: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -448,7 +449,7 @@ yy66: yy67: #line 226 "scanner.re" { fatal("unterminated string constant (missing \")"); } -#line 452 "scanner.cc" +#line 453 "scanner.cc" yy68: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -456,7 +457,7 @@ yy68: yy69: #line 227 "scanner.re" { fatal("unterminated string constant (missing ')"); } -#line 460 "scanner.cc" +#line 461 "scanner.cc" yy70: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); @@ -466,7 +467,7 @@ yy70: yy71: #line 237 "scanner.re" { fatal("unterminated range (missing ])"); } -#line 470 "scanner.cc" +#line 471 "scanner.cc" yy72: yych = *++YYCURSOR; goto yy63; @@ -482,7 +483,7 @@ yy75: { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } -#line 486 "scanner.cc" +#line 487 "scanner.cc" yy76: yych = *++YYCURSOR; goto yy90; @@ -493,7 +494,7 @@ yy77: yylval.regexp = mkDot(); return RANGE; } -#line 497 "scanner.cc" +#line 498 "scanner.cc" yy79: ++YYCURSOR; yych = *YYCURSOR; @@ -501,7 +502,7 @@ yy79: yy80: #line 277 "scanner.re" { goto scan; } -#line 505 "scanner.cc" +#line 506 "scanner.cc" yy81: ++YYCURSOR; yy82: @@ -510,7 +511,7 @@ yy82: pos = cursor; cline++; goto scan; } -#line 514 "scanner.cc" +#line 515 "scanner.cc" yy83: ++YYCURSOR; if((yych = *YYCURSOR) == 0x0A) goto yy86; @@ -522,7 +523,7 @@ yy84: fatal(msg.str().c_str()); goto scan; } -#line 526 "scanner.cc" +#line 527 "scanner.cc" yy85: yych = *++YYCURSOR; goto yy84; @@ -570,14 +571,30 @@ yy94: if(yych <= 'z') goto yy96; yy95: YYCURSOR = YYMARKER; - switch(yyaccept) { - case 0: goto yy61; - case 1: goto yy67; - case 2: goto yy69; - case 3: goto yy71; - case 6: goto yy127; - case 5: goto yy98; - case 4: goto yy75; + if(yyaccept <= 3) { + if(yyaccept <= 1) { + if(yyaccept <= 0) { + goto yy61; + } else { + goto yy67; + } + } else { + if(yyaccept <= 2) { + goto yy69; + } else { + goto yy71; + } + } + } else { + if(yyaccept <= 5) { + if(yyaccept <= 4) { + goto yy75; + } else { + goto yy98; + } + } else { + goto yy127; + } } yy96: yyaccept = 5; @@ -607,7 +624,7 @@ yy98: yylval.str = new Str(token()); return CONFIG; } -#line 611 "scanner.cc" +#line 628 "scanner.cc" yy99: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -645,7 +662,7 @@ yy104: { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } -#line 649 "scanner.cc" +#line 666 "scanner.cc" yy106: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -658,7 +675,7 @@ yy107: { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } -#line 662 "scanner.cc" +#line 679 "scanner.cc" yy109: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -682,7 +699,7 @@ yy112: { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } -#line 686 "scanner.cc" +#line 703 "scanner.cc" yy114: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -706,19 +723,19 @@ yy117: { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } -#line 710 "scanner.cc" +#line 727 "scanner.cc" yy119: ++YYCURSOR; #line 215 "scanner.re" { tok = cursor; RETURN(0); } -#line 716 "scanner.cc" +#line 733 "scanner.cc" yy121: ++YYCURSOR; #line 212 "scanner.re" { depth = 1; goto comment; } -#line 722 "scanner.cc" +#line 739 "scanner.cc" yy123: yych = *++YYCURSOR; if(yych == ',') goto yy137; @@ -741,14 +758,14 @@ yy126: yy127: #line 259 "scanner.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } -#line 745 "scanner.cc" +#line 762 "scanner.cc" yy128: ++YYCURSOR; #line 247 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } -#line 752 "scanner.cc" +#line 769 "scanner.cc" yy130: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); @@ -760,7 +777,7 @@ yy130: { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } -#line 764 "scanner.cc" +#line 781 "scanner.cc" yy133: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -773,7 +790,7 @@ yy133: { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } -#line 777 "scanner.cc" +#line 794 "scanner.cc" yy137: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); @@ -784,14 +801,14 @@ yy137: #line 244 "scanner.re" { yylval.op = '*'; RETURN(CLOSE); } -#line 788 "scanner.cc" +#line 805 "scanner.cc" } #line 290 "scanner.re" code: -#line 795 "scanner.cc" +#line 812 "scanner.cc" { YYCTYPE yych; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -821,13 +838,13 @@ code: return CODE; } goto code; } -#line 825 "scanner.cc" +#line 842 "scanner.cc" yy144: ++YYCURSOR; #line 300 "scanner.re" { ++depth; goto code; } -#line 831 "scanner.cc" +#line 848 "scanner.cc" yy146: ++YYCURSOR; #line 302 "scanner.re" @@ -835,13 +852,13 @@ yy146: pos = cursor; cline++; goto code; } -#line 839 "scanner.cc" +#line 856 "scanner.cc" yy148: ++YYCURSOR; yy149: #line 306 "scanner.re" { goto code; } -#line 845 "scanner.cc" +#line 862 "scanner.cc" yy150: yych = *(YYMARKER = ++YYCURSOR); if(yych == 0x0A) goto yy149; @@ -894,7 +911,7 @@ yy157: comment: -#line 898 "scanner.cc" +#line 915 "scanner.cc" { YYCTYPE yych; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -914,7 +931,7 @@ yy162: #line 322 "scanner.re" { if(cursor == eof) RETURN(0); goto comment; } -#line 918 "scanner.cc" +#line 935 "scanner.cc" yy163: yych = *++YYCURSOR; if(yych == '*') goto yy167; @@ -926,7 +943,7 @@ yy164: tok = pos = cursor; cline++; goto comment; } -#line 930 "scanner.cc" +#line 947 "scanner.cc" yy166: yych = *++YYCURSOR; goto yy162; @@ -936,7 +953,7 @@ yy167: { ++depth; fatal("ambiguous /* found"); goto comment; } -#line 940 "scanner.cc" +#line 957 "scanner.cc" yy169: ++YYCURSOR; #line 311 "scanner.re" @@ -944,14 +961,14 @@ yy169: goto scan; else goto comment; } -#line 948 "scanner.cc" +#line 965 "scanner.cc" } #line 324 "scanner.re" config: -#line 955 "scanner.cc" +#line 972 "scanner.cc" { YYCTYPE yych; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -970,7 +987,7 @@ yy173: yy174: #line 328 "scanner.re" { goto config; } -#line 974 "scanner.cc" +#line 991 "scanner.cc" yy175: ++YYCURSOR; yych = *YYCURSOR; @@ -981,12 +998,12 @@ yy176: cur = cursor; RETURN('='); } -#line 985 "scanner.cc" +#line 1002 "scanner.cc" yy177: ++YYCURSOR; #line 333 "scanner.re" { fatal("missing '='"); } -#line 990 "scanner.cc" +#line 1007 "scanner.cc" yy179: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -1009,7 +1026,7 @@ yy182: value: -#line 1013 "scanner.cc" +#line 1030 "scanner.cc" { YYCTYPE yych; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -1048,7 +1065,7 @@ yy185: iscfg = 0; return VALUE; } -#line 1052 "scanner.cc" +#line 1069 "scanner.cc" yy186: ++YYCURSOR; if((yych = *YYCURSOR) <= 0x0D) { @@ -1069,7 +1086,7 @@ yy187: iscfg = 0; return NUMBER; } -#line 1073 "scanner.cc" +#line 1090 "scanner.cc" yy188: yych = *++YYCURSOR; if(yych <= '0') goto yy192; @@ -1256,5 +1273,12 @@ void Scanner::fatal(uint ofs, const char *msg) const exit(1); } -} // end namespace re2c +Scanner::~Scanner() +{ + if (bot) + { + delete [] bot; + } +} +} // end namespace re2c