From: helly Date: Fri, 20 Jan 2006 00:13:52 +0000 (+0000) Subject: - Added re2c:startlabel configuration. X-Git-Tag: 0.13.6~496 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=973a4d45e73bac3624059309673e5fdb8ae6050f;p=re2c - Added re2c:startlabel configuration. - Fixed code generation to not generate unreachable code for initial state. --- diff --git a/CHANGELOG b/CHANGELOG index d1353ebc..96f928fe 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,7 @@ Version 0.10.0 (????-??-??) --------------------------- +- Added re2c:startlabel configuration. +- Fixed code generation to not generate unreachable code for initial state. - Added support for c/c++ compatible \u and \U unicode notation. - Added ability to control indendation. - Made scanner error out in case an ambiguous /* is found. diff --git a/bootstrap/scanner.cc b/bootstrap/scanner.cc index c50b2b3a..e05504f8 100644 --- a/bootstrap/scanner.cc +++ b/bootstrap/scanner.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.10.0.dev on Tue Jan 17 20:32:59 2006 */ +/* Generated by re2c 0.10.0.dev on Thu Jan 19 23:45:52 2006 */ #line 1 "scanner.re" /* $Id$ */ #include @@ -92,9 +92,6 @@ echo: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; -yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if(yych <= ')') { @@ -104,38 +101,31 @@ yy0: } else { if(yych <= '*') goto yy4; if(yych != '/') goto yy9; - goto yy2; } -yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych == '*') goto yy12; - goto yy3; yy3: #line 137 "scanner.re" { goto echo; } -#line 120 "scanner.cc" +#line 114 "scanner.cc" yy4: yych = *++YYCURSOR; if(yych == '/') goto yy10; goto yy3; yy5: ++YYCURSOR; - goto yy6; -yy6: #line 126 "scanner.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; oline++; goto echo; } -#line 135 "scanner.cc" +#line 127 "scanner.cc" yy7: ++YYCURSOR; - goto yy8; -yy8: #line 131 "scanner.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 @@ -143,14 +133,12 @@ yy8: RETURN(0); } } -#line 147 "scanner.cc" +#line 137 "scanner.cc" yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; - goto yy11; -yy11: #line 117 "scanner.re" { if (ignore_eoc) { @@ -161,11 +149,10 @@ yy11: tok = pos = cursor; goto echo; } -#line 165 "scanner.cc" +#line 153 "scanner.cc" yy12: yych = *++YYCURSOR; if(yych == '!') goto yy14; - goto yy13; yy13: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -183,54 +170,32 @@ yy15: yy16: yych = *++YYCURSOR; if(yych != 'e') goto yy13; - goto yy17; -yy17: yych = *++YYCURSOR; if(yych != '2') goto yy13; - goto yy18; -yy18: yych = *++YYCURSOR; if(yych != 'c') goto yy13; - goto yy19; -yy19: ++YYCURSOR; - goto yy20; -yy20: #line 106 "scanner.re" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } -#line 206 "scanner.cc" +#line 185 "scanner.cc" yy21: yych = *++YYCURSOR; if(yych != 'x') goto yy13; - goto yy22; -yy22: yych = *++YYCURSOR; if(yych != ':') goto yy13; - goto yy23; -yy23: yych = *++YYCURSOR; if(yych != 'r') goto yy13; - goto yy24; -yy24: yych = *++YYCURSOR; if(yych != 'e') goto yy13; - goto yy25; -yy25: yych = *++YYCURSOR; if(yych != '2') goto yy13; - goto yy26; -yy26: yych = *++YYCURSOR; if(yych != 'c') goto yy13; - goto yy27; -yy27: ++YYCURSOR; - goto yy28; -yy28: #line 111 "scanner.re" { out << "#define YYMAXFILL " << maxFill << std::endl; @@ -238,7 +203,7 @@ yy28: ignore_eoc = true; goto echo; } -#line 242 "scanner.cc" +#line 207 "scanner.cc" } #line 140 "scanner.re" @@ -263,13 +228,10 @@ scan: goto value; } -#line 267 "scanner.cc" +#line 232 "scanner.cc" { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy29; - ++YYCURSOR; -yy29: if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if(yych <= '/') { @@ -335,53 +297,47 @@ yy31: yych = *(YYMARKER = ++YYCURSOR); if(yych <= '/') { if(yych == ',') goto yy97; - goto yy32; } else { if(yych <= '0') goto yy94; if(yych <= '9') goto yy95; - goto yy32; } yy32: #line 162 "scanner.re" { depth = 1; goto code; } -#line 350 "scanner.cc" +#line 310 "scanner.cc" yy33: ++YYCURSOR; if((yych = *YYCURSOR) == '*') goto yy92; - goto yy34; yy34: #line 192 "scanner.re" { RETURN(*tok); } -#line 358 "scanner.cc" +#line 317 "scanner.cc" yy35: ++YYCURSOR; if((yych = *YYCURSOR) == '/') goto yy90; - goto yy36; yy36: #line 194 "scanner.re" { yylval.op = *tok; RETURN(CLOSE); } -#line 367 "scanner.cc" +#line 325 "scanner.cc" yy37: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yych != 0x0A) goto yy86; - goto yy38; yy38: #line 179 "scanner.re" { fatal("unterminated string constant (missing \")"); } -#line 376 "scanner.cc" +#line 333 "scanner.cc" yy39: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if(yych != 0x0A) goto yy81; - goto yy40; yy40: #line 180 "scanner.re" { fatal("unterminated string constant (missing ')"); } -#line 385 "scanner.cc" +#line 341 "scanner.cc" yy41: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); @@ -391,7 +347,7 @@ yy41: yy42: #line 190 "scanner.re" { fatal("unterminated range (missing ])"); } -#line 395 "scanner.cc" +#line 351 "scanner.cc" yy43: yych = *++YYCURSOR; goto yy34; @@ -407,20 +363,18 @@ yy46: { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } -#line 411 "scanner.cc" +#line 367 "scanner.cc" yy47: yych = *++YYCURSOR; goto yy61; yy48: ++YYCURSOR; - goto yy49; -yy49: #line 225 "scanner.re" { cur = cursor; yylval.regexp = mkDot(); return RANGE; } -#line 424 "scanner.cc" +#line 378 "scanner.cc" yy50: ++YYCURSOR; yych = *YYCURSOR; @@ -428,21 +382,19 @@ yy50: yy51: #line 230 "scanner.re" { goto scan; } -#line 432 "scanner.cc" +#line 386 "scanner.cc" yy52: ++YYCURSOR; - goto yy53; yy53: #line 232 "scanner.re" { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } -#line 442 "scanner.cc" +#line 395 "scanner.cc" yy54: ++YYCURSOR; if((yych = *YYCURSOR) == 0x0A) goto yy57; - goto yy55; yy55: #line 237 "scanner.re" { std::cerr << "line " << tline << ", column " << (tchar + 1) @@ -457,7 +409,7 @@ yy55: } goto scan; } -#line 461 "scanner.cc" +#line 413 "scanner.cc" yy56: yych = *++YYCURSOR; goto yy55; @@ -468,7 +420,6 @@ yy58: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy59; yy59: if(yych == 0x09) goto yy58; if(yych == ' ') goto yy58; @@ -477,7 +428,6 @@ yy60: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy61; yy61: if(yych <= '@') { if(yych <= '/') goto yy46; @@ -492,16 +442,11 @@ yy61: yy62: yych = *++YYCURSOR; if(yych != '2') goto yy61; - goto yy63; -yy63: yych = *++YYCURSOR; if(yych != 'c') goto yy61; - goto yy64; -yy64: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if(yych != ':') goto yy61; - goto yy65; yy65: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -510,7 +455,6 @@ yy65: if(yych <= 'Z') goto yy67; if(yych <= '`') goto yy66; if(yych <= 'z') goto yy67; - goto yy66; yy66: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -527,25 +471,19 @@ yy67: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy68; -yy68: if(yych <= 'Z') { if(yych <= '9') { if(yych >= '0') goto yy67; - goto yy69; } else { if(yych <= ':') goto yy65; if(yych >= 'A') goto yy67; - goto yy69; } } else { if(yych <= '_') { if(yych >= '_') goto yy67; - goto yy69; } else { if(yych <= '`') goto yy69; if(yych <= 'z') goto yy67; - goto yy69; } } yy69: @@ -556,12 +494,11 @@ yy69: yylval.str = new Str(token()); return CONFIG; } -#line 560 "scanner.cc" +#line 498 "scanner.cc" yy70: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy71; yy71: if(yych <= '[') { if(yych == 0x0A) goto yy66; @@ -575,8 +512,6 @@ yy72: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy73; -yy73: if(yych <= '[') { if(yych == 0x0A) goto yy66; goto yy72; @@ -593,13 +528,11 @@ yy74: goto yy70; yy75: ++YYCURSOR; - goto yy76; -yy76: #line 186 "scanner.re" { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } -#line 603 "scanner.cc" +#line 536 "scanner.cc" yy77: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -608,18 +541,15 @@ yy77: goto yy72; yy78: ++YYCURSOR; - goto yy79; -yy79: #line 182 "scanner.re" { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } -#line 618 "scanner.cc" +#line 549 "scanner.cc" yy80: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy81; yy81: if(yych <= '&') { if(yych == 0x0A) goto yy66; @@ -627,9 +557,7 @@ yy81: } else { if(yych <= '\'') goto yy83; if(yych != '\\') goto yy80; - goto yy82; } -yy82: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -637,18 +565,15 @@ yy82: goto yy80; yy83: ++YYCURSOR; - goto yy84; -yy84: #line 175 "scanner.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } -#line 647 "scanner.cc" +#line 573 "scanner.cc" yy85: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy86; yy86: if(yych <= '!') { if(yych == 0x0A) goto yy66; @@ -656,9 +581,7 @@ yy86: } else { if(yych <= '"') goto yy88; if(yych != '\\') goto yy85; - goto yy87; } -yy87: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -666,29 +589,23 @@ yy87: goto yy85; yy88: ++YYCURSOR; - goto yy89; -yy89: #line 171 "scanner.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } -#line 676 "scanner.cc" +#line 597 "scanner.cc" yy90: ++YYCURSOR; - goto yy91; -yy91: #line 168 "scanner.re" { tok = cursor; RETURN(0); } -#line 684 "scanner.cc" +#line 603 "scanner.cc" yy92: ++YYCURSOR; - goto yy93; -yy93: #line 165 "scanner.re" { depth = 1; goto comment; } -#line 692 "scanner.cc" +#line 609 "scanner.cc" yy94: yych = *++YYCURSOR; if(yych == ',') goto yy108; @@ -697,7 +614,6 @@ yy95: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - goto yy96; yy96: if(yych <= '/') { if(yych == ',') goto yy101; @@ -709,83 +625,63 @@ yy96: } yy97: ++YYCURSOR; - goto yy98; yy98: #line 212 "scanner.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } -#line 717 "scanner.cc" +#line 632 "scanner.cc" yy99: ++YYCURSOR; - goto yy100; -yy100: #line 200 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } -#line 726 "scanner.cc" +#line 639 "scanner.cc" yy101: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '/') goto yy98; if(yych <= '9') goto yy104; if(yych != '}') goto yy98; - goto yy102; -yy102: ++YYCURSOR; - goto yy103; -yy103: #line 208 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } -#line 742 "scanner.cc" +#line 651 "scanner.cc" yy104: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy105; -yy105: if(yych <= '/') goto yy66; if(yych <= '9') goto yy104; if(yych != '}') goto yy66; - goto yy106; -yy106: ++YYCURSOR; - goto yy107; -yy107: #line 204 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } -#line 761 "scanner.cc" +#line 664 "scanner.cc" yy108: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '/') goto yy98; if(yych <= '9') goto yy104; if(yych != '}') goto yy98; - goto yy109; -yy109: ++YYCURSOR; - goto yy110; -yy110: #line 197 "scanner.re" { yylval.op = '*'; RETURN(CLOSE); } -#line 776 "scanner.cc" +#line 675 "scanner.cc" } #line 249 "scanner.re" code: -#line 783 "scanner.cc" +#line 682 "scanner.cc" { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy111; - ++YYCURSOR; -yy111: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '&') { @@ -803,13 +699,9 @@ yy111: goto yy115; } else { if(yych != '}') goto yy119; - goto yy113; } } -yy113: ++YYCURSOR; - goto yy114; -yy114: #line 253 "scanner.re" { if(--depth == 0){ cur = cursor; @@ -817,32 +709,27 @@ yy114: return CODE; } goto code; } -#line 821 "scanner.cc" +#line 713 "scanner.cc" yy115: ++YYCURSOR; - goto yy116; -yy116: #line 259 "scanner.re" { ++depth; goto code; } -#line 829 "scanner.cc" +#line 719 "scanner.cc" yy117: ++YYCURSOR; - goto yy118; -yy118: #line 261 "scanner.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } -#line 839 "scanner.cc" +#line 727 "scanner.cc" yy119: ++YYCURSOR; - goto yy120; yy120: #line 265 "scanner.re" { goto code; } -#line 846 "scanner.cc" +#line 733 "scanner.cc" yy121: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -857,11 +744,9 @@ yy123: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy124; yy124: if(yych <= '&') { if(yych != 0x0A) goto yy123; - goto yy125; } else { if(yych <= '\'') goto yy119; if(yych == '\\') goto yy126; @@ -882,7 +767,6 @@ yy127: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy128; yy128: if(yych <= '!') { if(yych == 0x0A) goto yy125; @@ -890,9 +774,7 @@ yy128: } else { if(yych <= '"') goto yy119; if(yych != '\\') goto yy127; - goto yy129; } -yy129: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -904,12 +786,9 @@ yy129: comment: -#line 908 "scanner.cc" +#line 790 "scanner.cc" { YYCTYPE yych; - goto yy130; - ++YYCURSOR; -yy130: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= ')') { @@ -923,64 +802,53 @@ yy130: yy132: ++YYCURSOR; if((yych = *YYCURSOR) == '/') goto yy140; - goto yy133; yy133: #line 281 "scanner.re" { goto comment; } -#line 931 "scanner.cc" +#line 809 "scanner.cc" yy134: yych = *++YYCURSOR; if(yych == '*') goto yy138; goto yy133; yy135: ++YYCURSOR; - goto yy136; -yy136: #line 277 "scanner.re" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } -#line 945 "scanner.cc" +#line 821 "scanner.cc" yy137: yych = *++YYCURSOR; goto yy133; yy138: ++YYCURSOR; - goto yy139; -yy139: #line 274 "scanner.re" { ++depth; fatal("ambiguous /* found"); goto comment; } -#line 957 "scanner.cc" +#line 831 "scanner.cc" yy140: ++YYCURSOR; - goto yy141; -yy141: #line 270 "scanner.re" { if(--depth == 0) goto scan; else goto comment; } -#line 967 "scanner.cc" +#line 839 "scanner.cc" } #line 282 "scanner.re" config: -#line 974 "scanner.cc" +#line 846 "scanner.cc" { YYCTYPE yych; - goto yy142; - ++YYCURSOR; -yy142: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= 0x1F) { if(yych != 0x09) goto yy148; - goto yy144; } else { if(yych <= ' ') goto yy144; if(yych == '=') goto yy146; @@ -993,7 +861,7 @@ yy144: yy145: #line 286 "scanner.re" { goto config; } -#line 997 "scanner.cc" +#line 865 "scanner.cc" yy146: ++YYCURSOR; yych = *YYCURSOR; @@ -1004,19 +872,16 @@ yy147: cur = cursor; RETURN('='); } -#line 1008 "scanner.cc" +#line 876 "scanner.cc" yy148: ++YYCURSOR; - goto yy149; -yy149: #line 291 "scanner.re" { fatal("missing '='"); } -#line 1015 "scanner.cc" +#line 881 "scanner.cc" yy150: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy151; yy151: if(yych == 0x09) goto yy150; if(yych == ' ') goto yy150; @@ -1025,7 +890,6 @@ yy152: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy153; yy153: if(yych == 0x09) goto yy152; if(yych == ' ') goto yy152; @@ -1036,13 +900,10 @@ yy153: value: -#line 1040 "scanner.cc" +#line 904 "scanner.cc" { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy154; - ++YYCURSOR; -yy154: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '&') { @@ -1050,11 +911,9 @@ yy154: if(yych <= 0x08) goto yy162; if(yych <= 0x0A) goto yy156; if(yych <= 0x0C) goto yy162; - goto yy156; } else { if(yych <= ' ') { if(yych <= 0x1F) goto yy162; - goto yy156; } else { if(yych == '"') goto yy164; goto yy162; @@ -1071,7 +930,6 @@ yy154: goto yy160; } else { if(yych != ';') goto yy162; - goto yy156; } } } @@ -1082,21 +940,18 @@ yy156: iscfg = 0; return VALUE; } -#line 1086 "scanner.cc" +#line 944 "scanner.cc" yy157: ++YYCURSOR; if((yych = *YYCURSOR) <= 0x0D) { if(yych <= 0x08) goto yy162; if(yych <= 0x0A) goto yy158; if(yych <= 0x0C) goto yy162; - goto yy158; } else { if(yych <= ' ') { if(yych <= 0x1F) goto yy162; - goto yy158; } else { if(yych != ';') goto yy162; - goto yy158; } } yy158: @@ -1106,41 +961,33 @@ yy158: iscfg = 0; return NUMBER; } -#line 1110 "scanner.cc" +#line 965 "scanner.cc" yy159: yych = *++YYCURSOR; if(yych <= '0') goto yy163; if(yych >= ':') goto yy163; - goto yy160; yy160: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy161; -yy161: if(yych <= 0x1F) { if(yych <= 0x0A) { if(yych >= 0x09) goto yy158; - goto yy162; } else { if(yych == 0x0D) goto yy158; - goto yy162; } } else { if(yych <= '9') { if(yych <= ' ') goto yy158; if(yych >= '0') goto yy160; - goto yy162; } else { if(yych == ';') goto yy158; - goto yy162; } } yy162: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy163; yy163: if(yych <= 0x0D) { if(yych <= 0x08) goto yy162; @@ -1161,8 +1008,6 @@ yy164: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy165; -yy165: if(yych <= ' ') { if(yych <= 0x0A) { if(yych <= 0x08) goto yy164; @@ -1188,17 +1033,13 @@ yy166: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy167; -yy167: if(yych <= ' ') { if(yych <= 0x0A) { if(yych <= 0x08) goto yy166; if(yych >= 0x0A) goto yy156; - goto yy168; } else { if(yych == 0x0D) goto yy168; if(yych <= 0x1F) goto yy166; - goto yy168; } } else { if(yych <= ':') { @@ -1214,11 +1055,8 @@ yy168: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy169; -yy169: if(yych <= '&') { if(yych != 0x0A) goto yy168; - goto yy170; } else { if(yych <= '\'') goto yy172; if(yych == '\\') goto yy173; @@ -1265,8 +1103,6 @@ yy174: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy175; -yy175: if(yych <= '!') { if(yych == 0x0A) goto yy170; goto yy174; @@ -1321,46 +1157,4 @@ void Scanner::fatal(const char *msg) const fatal(0, msg); } -void Scanner::config(const Str& cfg, int num) -{ - if (cfg.to_string() == "indent:top") - { - if (num < 0) - { - fatal("configuration 'indent:top' must be a positive integer"); - } - topIndent = num; - } - else if (cfg.to_string() == "yybm:hex") - { - yybmHexTable = num != 0; - } - else - { - fatal("unrecognized configuration name or illegal integer value"); - } -} - -void Scanner::config(const Str& cfg, const Str& val) -{ - if (cfg.to_string() == "indent:string") - { - if (val.len >= 2 && val.str[0] == val.str[val.len-1] - && (val.str[0] == '"' || val.str[0] == '\'')) - { - SubStr tmp(val.str + 1, val.len - 2); - unescape(tmp, indString); - } - else - { - indString = val.to_string(); - } - return; - } - else - { - fatal("unrecognized configuration name or illegal string value"); - } -} - } // end namespace re2c diff --git a/code.cc b/code.cc index 190a5709..cde4772e 100644 --- a/code.cc +++ b/code.cc @@ -364,16 +364,46 @@ void Enter::emit(std::ostream &o, uint ind, bool &readCh) const if (state->link) { o << indent(ind) << "++YYCURSOR;\n"; - o << "yy" << label << ":\n"; - oline += 2; + oline++; + if (vUsedLabels.count(label)) + { + o << "yy" << label << ":\n"; + oline++; + } need(o, ind, state->depth, readCh); } else { /* we shouldn't need 'rule-following' protection here */ o << indent(ind) << "yych = *++YYCURSOR;\n"; + oline++; + if (vUsedLabels.count(label)) + { + o << "yy" << label << ":\n"; + oline++; + } + readCh = false; + } +} + +void Initial::emit(std::ostream &o, uint ind, bool &readCh) const +{ + if (!startLabelName.empty()) + { + o << startLabelName << ":\n"; + oline++; + } + if (vUsedLabels.count(label)) + { o << "yy" << label << ":\n"; - oline += 2; + oline++; + } + if (state->link) + { + need(o, ind, state->depth, readCh); + } + else + { readCh = false; } } @@ -1327,8 +1357,15 @@ void DFA::emit(std::ostream &o, uint ind) uint start_label = label; - vUsedLabels.insert(label); - (void) new Enter(head, label++); + (void) new Initial(head, label++); + + if (bUseStartLabel) + { + if (startLabelName.empty()) + { + vUsedLabels.insert(start_label); + } + } for (s = head; s; s = s->next) { @@ -1357,7 +1394,7 @@ void DFA::emit(std::ostream &o, uint ind) o << "#line " << oline++ << " \"" << outputFileName << "\"\n"; } - if ( hasFillLabels == false ) + if (hasFillLabels == false) { o << indent(ind++) << "{\n"; o << indent(ind) << "YYCTYPE yych;\n"; @@ -1374,17 +1411,12 @@ void DFA::emit(std::ostream &o, uint ind) oline += 2; } - if ( hasFillLabels == false ) - { - o << indent(ind) << "goto yy" << start_label << ";\n"; - ++oline; - } - - if (hasFillLabels == true ) + if (hasFillLabels == true) { + vUsedLabels.insert(start_label); o << indent(ind) << "switch(YYGETSTATE())\n"; o << indent(ind) << "{\n"; - o << indent(ind) << "case -1: goto yy0;\n"; + o << indent(ind) << "case -1: goto yy" << start_label << ";\n"; for (size_t i=0; i= 2 && val.str[0] == val.str[val.len-1] + && (val.str[0] == '"' || val.str[0] == '\'')) + { + SubStr tmp(val.str + 1, val.len - 2); + unescape(tmp, indString); + } + else + { + indString = val.to_string(); + } + return; + } + else if (cfg.to_string() == "startlabel") + { + if (val.len >= 2 && val.str[0] == val.str[val.len-1] + && (val.str[0] == '"' || val.str[0] == '\'')) + { + SubStr tmp(val.str + 1, val.len - 2); + unescape(tmp, startLabelName); + } + else + { + startLabelName = val.to_string(); + } + bUseStartLabel = !startLabelName.empty(); + } + else + { + fatal("unrecognized configuration name or illegal string value"); + } } } // end namespace re2c diff --git a/dfa.h b/dfa.h index 0059b6a5..b3959564 100644 --- a/dfa.h +++ b/dfa.h @@ -48,7 +48,6 @@ protected: class Match: public Action { - public: Match(State*); void emit(std::ostream&, uint, bool&) const; @@ -57,7 +56,6 @@ public: class Enter: public Action { - public: uint label; @@ -66,6 +64,13 @@ public: void emit(std::ostream&, uint, bool&) const; }; +class Initial: public Enter +{ +public: + Initial(State*, uint); + void emit(std::ostream&, uint, bool&) const; +}; + class Save: public Match { @@ -300,6 +305,9 @@ inline bool Match::isMatch() const inline Enter::Enter(State *s, uint l) : Action(s), label(l) { } +inline Initial::Initial(State *s, uint l) : Enter(s, l) +{ } + inline Save::Save(State *s, uint i) : Match(s), selector(i) { } diff --git a/globals.h b/globals.h index f8bc0a00..95d5a807 100644 --- a/globals.h +++ b/globals.h @@ -20,6 +20,8 @@ extern bool sFlag; extern bool wFlag; extern bool bUsedYYAccept; +extern bool bUseStartLabel; +extern std::string startLabelName; extern unsigned int oline; extern uint maxFill; diff --git a/main.cc b/main.cc index 447a041d..9c5828e5 100644 --- a/main.cc +++ b/main.cc @@ -27,6 +27,8 @@ bool iFlag = false; bool sFlag = false; bool wFlag = false; bool bUsedYYAccept = false; +bool bUseStartLabel= true; +std::string startLabelName; unsigned int oline = 1; uint maxFill = 1; diff --git a/re2c.1.in b/re2c.1.in index 144ee6c9..c0153118 100644 --- a/re2c.1.in +++ b/re2c.1.in @@ -7,6 +7,10 @@ .ds rx regular expression .ds lx \fIl\fP-expression \"$Log$ +\"Revision 1.37 2006/01/20 00:13:52 helly +\"- Added re2c:startlabel configuration. +\"- Fixed code generation to not generate unreachable code for initial state. +\" \"Revision 1.36 2006/01/02 16:00:59 helly \"- Update docu \" @@ -504,6 +508,14 @@ not want any indendation at all you can simply set this to \fB""\fP. \fIre2c:yybm:hex\fP \fB=\fP 0 \fB;\fP If set to zero then a decimal table is being used else a hexadecimal table will be generated. +.TP +\fIre2c:startlabel\fP \fB=\fP 1 \fB;\fP +If set to a non zero integer then the start label of the next scanner blocks +will be generated even if not used by the scanner itself. Otherwise the normal +\fByy0\fP like start label is only being generated if needed. If set to a text +value then a label with that text will be generated regardless of whether the +normal start label is being used or not. This setting is being reset to \fB0\fP +after a start label has been generated. .SH "A LARGER EXAMPLE" .LP diff --git a/run_tests.sh.in b/run_tests.sh.in index a576ee31..33d828e7 100644 --- a/run_tests.sh.in +++ b/run_tests.sh.in @@ -10,6 +10,7 @@ for x in @top_srcdir@/test/*.re; do outname=@builddir@/test/`basename ${x%.re}.temp` difname=@builddir@/test/`basename ${x%.re}.diff` @builddir@/re2c $switches $x 2>&1 | sed -e "s,$x,`basename $x`,g" -e "s,/\* Generated by re2c .*\*/,/\* Generated by re2c \*/,g" > $outname +# if diff -u -I '#line [0-9]*' ${x%.re}.c $outname > $difname; then if diff -u ${x%.re}.c $outname > $difname; then echo "Passed." rm $outname diff --git a/scanner.re b/scanner.re index 2d1f4e27..b6fd6b10 100644 --- a/scanner.re +++ b/scanner.re @@ -318,46 +318,4 @@ void Scanner::fatal(const char *msg) const fatal(0, msg); } -void Scanner::config(const Str& cfg, int num) -{ - if (cfg.to_string() == "indent:top") - { - if (num < 0) - { - fatal("configuration 'indent:top' must be a positive integer"); - } - topIndent = num; - } - else if (cfg.to_string() == "yybm:hex") - { - yybmHexTable = num != 0; - } - else - { - fatal("unrecognized configuration name or illegal integer value"); - } -} - -void Scanner::config(const Str& cfg, const Str& val) -{ - if (cfg.to_string() == "indent:string") - { - if (val.len >= 2 && val.str[0] == val.str[val.len-1] - && (val.str[0] == '"' || val.str[0] == '\'')) - { - SubStr tmp(val.str + 1, val.len - 2); - unescape(tmp, indString); - } - else - { - indString = val.to_string(); - } - return; - } - else - { - fatal("unrecognized configuration name or illegal string value"); - } -} - } // end namespace re2c diff --git a/test/bug1054496.c b/test/bug1054496.c index 792920ed..b31c02ac 100755 --- a/test/bug1054496.c +++ b/test/bug1054496.c @@ -23,8 +23,6 @@ cont: #line 24 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; @@ -93,12 +91,12 @@ yy2: yy3: #line 25 "bug1054496.re" { goto cont; } -#line 95 "" +#line 93 "" yy4: ++YYCURSOR; #line 24 "bug1054496.re" { RET(TAG_EOI); } -#line 100 "" +#line 98 "" yy6: yych = *++YYCURSOR; goto yy3; @@ -162,7 +160,7 @@ yy7: yy8: #line 22 "bug1054496.re" { RET(TAG_A); } -#line 163 "" +#line 161 "" yy9: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -225,7 +223,7 @@ yy9: yy11: #line 23 "bug1054496.re" { RET(TAG_TAG); } -#line 225 "" +#line 223 "" } #line 26 "bug1054496.re" diff --git a/test/bug1163046.c b/test/bug1163046.c index 8f224219..df3e40d6 100755 --- a/test/bug1163046.c +++ b/test/bug1163046.c @@ -20,8 +20,6 @@ next: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 45) YYFILL(45); yych = *YYCURSOR; @@ -41,7 +39,7 @@ yy2: yy3: #line 23 "bug1163046.re" { goto next; } -#line 44 "" +#line 42 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -49,7 +47,7 @@ yy5: ++YYCURSOR; #line 25 "bug1163046.re" { return false; } -#line 52 "" +#line 50 "" yy7: yych = *++YYCURSOR; switch(yych){ @@ -352,7 +350,7 @@ yy51: if (token == start || *(token - 1) == '\n') return true; else goto next; } -#line 323 "" +#line 321 "" } #line 26 "bug1163046.re" diff --git a/test/bug1187785.c b/test/bug1187785.c index 1166acf1..362f3d41 100755 --- a/test/bug1187785.c +++ b/test/bug1187785.c @@ -24,8 +24,6 @@ cont: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -296,7 +294,7 @@ yy2: yy3: #line 23 "bug1187785.re" { goto cont; } -#line 299 "" +#line 297 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -571,7 +569,7 @@ yy8: ++YYCURSOR; #line 22 "bug1187785.re" { RET(1); } -#line 573 "" +#line 571 "" } #line 24 "bug1187785.re" diff --git a/test/bug1297658.c b/test/bug1297658.c index f02516c3..9281abf8 100644 --- a/test/bug1297658.c +++ b/test/bug1297658.c @@ -61,8 +61,6 @@ std: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; @@ -85,7 +83,7 @@ yy3: { RET(UNEXPECTED); } -#line 89 "" +#line 87 "" yy4: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -98,7 +96,7 @@ yy5: { RET(FCON); } -#line 102 "" +#line 100 "" yy6: ++YYCURSOR; #line 66 "bug1297658.re" @@ -107,7 +105,7 @@ yy6: if(1||s.cur == s.eof) RET(EOI); goto std; } -#line 111 "" +#line 109 "" yy8: yych = *++YYCURSOR; goto yy3; diff --git a/test/bug1390174.c b/test/bug1390174.c index e2528c77..7e70aa50 100755 --- a/test/bug1390174.c +++ b/test/bug1390174.c @@ -19,8 +19,6 @@ const char *q; { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -42,13 +40,13 @@ yy2: yy3: #line 19 "bug1390174.re" {RET(0);} -#line 44 "" +#line 42 "" yy4: ++YYCURSOR; yy5: #line 18 "bug1390174.re" {RET(1);} -#line 50 "" +#line 48 "" yy6: yych = *++YYCURSOR; goto yy3; diff --git a/test/c.c b/test/c.c index 18f3d620..d32b46b0 100644 --- a/test/c.c +++ b/test/c.c @@ -130,8 +130,6 @@ std: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; @@ -242,7 +240,7 @@ yy2: yy3: #line 222 "c.re" { RET('/'); } -#line 239 "" +#line 237 "" yy4: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -252,7 +250,7 @@ yy4: yy5: #line 171 "c.re" { RET(ID); } -#line 249 "" +#line 247 "" yy6: yych = *++YYCURSOR; switch(yych){ @@ -365,7 +363,7 @@ yy21: yy22: #line 175 "c.re" { RET(ICON); } -#line 358 "" +#line 356 "" yy23: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -383,7 +381,7 @@ yy25: printf("unexpected character: %c\n", *s->tok); goto std; } -#line 376 "" +#line 374 "" yy26: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -404,7 +402,7 @@ yy26: yy27: #line 215 "c.re" { RET('.'); } -#line 397 "" +#line 395 "" yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -422,7 +420,7 @@ yy29: yy30: #line 225 "c.re" { RET('>'); } -#line 415 "" +#line 413 "" yy31: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -433,7 +431,7 @@ yy31: yy32: #line 224 "c.re" { RET('<'); } -#line 426 "" +#line 424 "" yy33: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -444,7 +442,7 @@ yy33: yy34: #line 220 "c.re" { RET('+'); } -#line 437 "" +#line 435 "" yy35: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -456,7 +454,7 @@ yy35: yy36: #line 219 "c.re" { RET('-'); } -#line 449 "" +#line 447 "" yy37: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -466,7 +464,7 @@ yy37: yy38: #line 221 "c.re" { RET('*'); } -#line 459 "" +#line 457 "" yy39: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -476,7 +474,7 @@ yy39: yy40: #line 223 "c.re" { RET('%'); } -#line 469 "" +#line 467 "" yy41: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -487,7 +485,7 @@ yy41: yy42: #line 216 "c.re" { RET('&'); } -#line 480 "" +#line 478 "" yy43: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -497,7 +495,7 @@ yy43: yy44: #line 226 "c.re" { RET('^'); } -#line 490 "" +#line 488 "" yy45: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -508,7 +506,7 @@ yy45: yy46: #line 227 "c.re" { RET('|'); } -#line 501 "" +#line 499 "" yy47: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -518,7 +516,7 @@ yy47: yy48: #line 210 "c.re" { RET('='); } -#line 511 "" +#line 509 "" yy49: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -528,62 +526,62 @@ yy49: yy50: #line 217 "c.re" { RET('!'); } -#line 521 "" +#line 519 "" yy51: ++YYCURSOR; #line 205 "c.re" { RET(';'); } -#line 526 "" +#line 524 "" yy53: ++YYCURSOR; #line 206 "c.re" { RET('{'); } -#line 531 "" +#line 529 "" yy55: ++YYCURSOR; #line 207 "c.re" { RET('}'); } -#line 536 "" +#line 534 "" yy57: ++YYCURSOR; #line 208 "c.re" { RET(','); } -#line 541 "" +#line 539 "" yy59: ++YYCURSOR; #line 209 "c.re" { RET(':'); } -#line 546 "" +#line 544 "" yy61: ++YYCURSOR; #line 211 "c.re" { RET('('); } -#line 551 "" +#line 549 "" yy63: ++YYCURSOR; #line 212 "c.re" { RET(')'); } -#line 556 "" +#line 554 "" yy65: ++YYCURSOR; #line 213 "c.re" { RET('['); } -#line 561 "" +#line 559 "" yy67: ++YYCURSOR; #line 214 "c.re" { RET(']'); } -#line 566 "" +#line 564 "" yy69: ++YYCURSOR; #line 218 "c.re" { RET('~'); } -#line 571 "" +#line 569 "" yy71: ++YYCURSOR; #line 228 "c.re" { RET('?'); } -#line 576 "" +#line 574 "" yy73: ++YYCURSOR; yych = *YYCURSOR; @@ -591,7 +589,7 @@ yy73: yy74: #line 231 "c.re" { goto std; } -#line 584 "" +#line 582 "" yy75: ++YYCURSOR; #line 234 "c.re" @@ -600,7 +598,7 @@ yy75: s->pos = cursor; s->line++; goto std; } -#line 593 "" +#line 591 "" yy77: yych = *++YYCURSOR; goto yy25; @@ -620,77 +618,77 @@ yy80: ++YYCURSOR; #line 204 "c.re" { RET(NEQ); } -#line 611 "" +#line 609 "" yy82: ++YYCURSOR; #line 203 "c.re" { RET(EQL); } -#line 616 "" +#line 614 "" yy84: ++YYCURSOR; #line 200 "c.re" { RET(OROR); } -#line 621 "" +#line 619 "" yy86: ++YYCURSOR; #line 193 "c.re" { RET(OREQ); } -#line 626 "" +#line 624 "" yy88: ++YYCURSOR; #line 192 "c.re" { RET(XOREQ); } -#line 631 "" +#line 629 "" yy90: ++YYCURSOR; #line 199 "c.re" { RET(ANDAND); } -#line 636 "" +#line 634 "" yy92: ++YYCURSOR; #line 191 "c.re" { RET(ANDEQ); } -#line 641 "" +#line 639 "" yy94: ++YYCURSOR; #line 190 "c.re" { RET(MODEQ); } -#line 646 "" +#line 644 "" yy96: ++YYCURSOR; #line 188 "c.re" { RET(MULEQ); } -#line 651 "" +#line 649 "" yy98: ++YYCURSOR; #line 198 "c.re" { RET(DEREF); } -#line 656 "" +#line 654 "" yy100: ++YYCURSOR; #line 197 "c.re" { RET(DECR); } -#line 661 "" +#line 659 "" yy102: ++YYCURSOR; #line 187 "c.re" { RET(SUBEQ); } -#line 666 "" +#line 664 "" yy104: ++YYCURSOR; #line 196 "c.re" { RET(INCR); } -#line 671 "" +#line 669 "" yy106: ++YYCURSOR; #line 186 "c.re" { RET(ADDEQ); } -#line 676 "" +#line 674 "" yy108: ++YYCURSOR; #line 201 "c.re" { RET(LEQ); } -#line 681 "" +#line 679 "" yy110: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -700,17 +698,17 @@ yy110: yy111: #line 195 "c.re" { RET(LSHIFT); } -#line 691 "" +#line 689 "" yy112: ++YYCURSOR; #line 185 "c.re" { RET(LSHIFTEQ); } -#line 696 "" +#line 694 "" yy114: ++YYCURSOR; #line 202 "c.re" { RET(GEQ); } -#line 701 "" +#line 699 "" yy116: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -720,12 +718,12 @@ yy116: yy117: #line 194 "c.re" { RET(RSHIFT); } -#line 711 "" +#line 709 "" yy118: ++YYCURSOR; #line 184 "c.re" { RET(RSHIFTEQ); } -#line 716 "" +#line 714 "" yy120: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -776,7 +774,7 @@ yy124: ++YYCURSOR; #line 181 "c.re" { RET(SCON); } -#line 758 "" +#line 756 "" yy126: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -889,7 +887,7 @@ yy132: yy134: #line 178 "c.re" { RET(FCON); } -#line 863 "" +#line 861 "" yy135: yych = *++YYCURSOR; switch(yych){ @@ -950,7 +948,7 @@ yy140: ++YYCURSOR; #line 183 "c.re" { RET(ELLIPSIS); } -#line 920 "" +#line 918 "" yy142: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -1568,7 +1566,7 @@ yy184: yy185: #line 169 "c.re" { RET(WHILE); } -#line 1478 "" +#line 1476 "" yy186: yych = *++YYCURSOR; switch(yych){ @@ -1683,7 +1681,7 @@ yy193: yy194: #line 168 "c.re" { RET(VOLATILE); } -#line 1590 "" +#line 1588 "" yy195: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1755,7 +1753,7 @@ yy195: yy196: #line 167 "c.re" { RET(VOID); } -#line 1659 "" +#line 1657 "" yy197: yych = *++YYCURSOR; switch(yych){ @@ -1870,7 +1868,7 @@ yy204: yy205: #line 166 "c.re" { RET(UNSIGNED); } -#line 1771 "" +#line 1769 "" yy206: yych = *++YYCURSOR; switch(yych){ @@ -1948,7 +1946,7 @@ yy207: yy208: #line 165 "c.re" { RET(UNION); } -#line 1846 "" +#line 1844 "" yy209: yych = *++YYCURSOR; switch(yych){ @@ -2050,7 +2048,7 @@ yy214: yy215: #line 164 "c.re" { RET(TYPEDEF); } -#line 1945 "" +#line 1943 "" yy216: yych = *++YYCURSOR; switch(yych){ @@ -2166,7 +2164,7 @@ yy223: yy224: #line 163 "c.re" { RET(SWITCH); } -#line 2058 "" +#line 2056 "" yy225: yych = *++YYCURSOR; switch(yych){ @@ -2262,7 +2260,7 @@ yy229: yy230: #line 162 "c.re" { RET(STRUCT); } -#line 2151 "" +#line 2149 "" yy231: yych = *++YYCURSOR; switch(yych){ @@ -2346,7 +2344,7 @@ yy233: yy234: #line 161 "c.re" { RET(STATIC); } -#line 2232 "" +#line 2230 "" yy235: yych = *++YYCURSOR; switch(yych){ @@ -2442,7 +2440,7 @@ yy239: yy240: #line 160 "c.re" { RET(SIZEOF); } -#line 2325 "" +#line 2323 "" yy241: yych = *++YYCURSOR; switch(yych){ @@ -2526,7 +2524,7 @@ yy243: yy244: #line 159 "c.re" { RET(SIGNED); } -#line 2406 "" +#line 2404 "" yy245: yych = *++YYCURSOR; switch(yych){ @@ -2610,7 +2608,7 @@ yy247: yy248: #line 158 "c.re" { RET(SHORT); } -#line 2487 "" +#line 2485 "" yy249: yych = *++YYCURSOR; switch(yych){ @@ -2713,7 +2711,7 @@ yy254: yy255: #line 157 "c.re" { RET(RETURN); } -#line 2587 "" +#line 2585 "" yy256: yych = *++YYCURSOR; switch(yych){ @@ -2809,7 +2807,7 @@ yy260: yy261: #line 156 "c.re" { RET(REGISTER); } -#line 2680 "" +#line 2678 "" yy262: yych = *++YYCURSOR; switch(yych){ @@ -2893,7 +2891,7 @@ yy264: yy265: #line 155 "c.re" { RET(LONG); } -#line 2761 "" +#line 2759 "" yy266: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2965,7 +2963,7 @@ yy266: yy267: #line 153 "c.re" { RET(IF); } -#line 2830 "" +#line 2828 "" yy268: yych = *++YYCURSOR; switch(yych){ @@ -3043,7 +3041,7 @@ yy269: yy270: #line 154 "c.re" { RET(INT); } -#line 2905 "" +#line 2903 "" yy271: yych = *++YYCURSOR; switch(yych){ @@ -3127,7 +3125,7 @@ yy273: yy274: #line 152 "c.re" { RET(GOTO); } -#line 2986 "" +#line 2984 "" yy275: yych = *++YYCURSOR; switch(yych){ @@ -3211,7 +3209,7 @@ yy277: yy278: #line 151 "c.re" { RET(FOR); } -#line 3067 "" +#line 3065 "" yy279: yych = *++YYCURSOR; switch(yych){ @@ -3295,7 +3293,7 @@ yy281: yy282: #line 150 "c.re" { RET(FLOAT); } -#line 3148 "" +#line 3146 "" yy283: yych = *++YYCURSOR; switch(yych){ @@ -3403,7 +3401,7 @@ yy289: yy290: #line 149 "c.re" { RET(EXTERN); } -#line 3253 "" +#line 3251 "" yy291: yych = *++YYCURSOR; switch(yych){ @@ -3481,7 +3479,7 @@ yy292: yy293: #line 148 "c.re" { RET(ENUM); } -#line 3328 "" +#line 3326 "" yy294: yych = *++YYCURSOR; switch(yych){ @@ -3559,7 +3557,7 @@ yy295: yy296: #line 147 "c.re" { RET(ELSE); } -#line 3403 "" +#line 3401 "" yy297: yych = *++YYCURSOR; switch(yych){ @@ -3637,7 +3635,7 @@ yy298: yy299: #line 145 "c.re" { RET(DO); } -#line 3477 "" +#line 3475 "" yy300: yych = *++YYCURSOR; switch(yych){ @@ -3727,7 +3725,7 @@ yy303: yy304: #line 146 "c.re" { RET(DOUBLE); } -#line 3564 "" +#line 3562 "" yy305: yych = *++YYCURSOR; switch(yych){ @@ -3823,7 +3821,7 @@ yy309: yy310: #line 144 "c.re" { RET(DEFAULT); } -#line 3657 "" +#line 3655 "" yy311: yych = *++YYCURSOR; switch(yych){ @@ -3950,7 +3948,7 @@ yy320: yy321: #line 143 "c.re" { RET(CONTINUE); } -#line 3781 "" +#line 3779 "" yy322: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -4022,7 +4020,7 @@ yy322: yy323: #line 142 "c.re" { RET(CONST); } -#line 3850 "" +#line 3848 "" yy324: yych = *++YYCURSOR; switch(yych){ @@ -4100,7 +4098,7 @@ yy325: yy326: #line 141 "c.re" { RET(CHAR); } -#line 3925 "" +#line 3923 "" yy327: yych = *++YYCURSOR; switch(yych){ @@ -4178,7 +4176,7 @@ yy328: yy329: #line 140 "c.re" { RET(CASE); } -#line 4000 "" +#line 3998 "" yy330: yych = *++YYCURSOR; switch(yych){ @@ -4268,7 +4266,7 @@ yy333: yy334: #line 139 "c.re" { RET(BREAK); } -#line 4087 "" +#line 4085 "" yy335: yych = *++YYCURSOR; switch(yych){ @@ -4352,29 +4350,26 @@ yy337: yy338: #line 138 "c.re" { RET(AUTO); } -#line 4168 "" +#line 4166 "" yy339: ++YYCURSOR; #line 189 "c.re" { RET(DIVEQ); } -#line 4173 "" +#line 4171 "" yy341: ++YYCURSOR; #line 136 "c.re" { goto comment; } -#line 4178 "" +#line 4176 "" } #line 245 "c.re" comment: -#line 4185 "" +#line 4183 "" { YYCTYPE yych; - goto yy343; - ++YYCURSOR; -yy343: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -4391,7 +4386,7 @@ yy345: yy346: #line 256 "c.re" { goto comment; } -#line 4207 "" +#line 4202 "" yy347: ++YYCURSOR; #line 251 "c.re" @@ -4400,7 +4395,7 @@ yy347: s->tok = s->pos = cursor; s->line++; goto comment; } -#line 4216 "" +#line 4211 "" yy349: yych = *++YYCURSOR; goto yy346; @@ -4408,7 +4403,7 @@ yy350: ++YYCURSOR; #line 249 "c.re" { goto std; } -#line 4224 "" +#line 4219 "" } #line 257 "c.re" diff --git a/test/cmmap.c b/test/cmmap.c index b77f574f..dbff8783 100644 --- a/test/cmmap.c +++ b/test/cmmap.c @@ -113,8 +113,6 @@ std: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; @@ -225,7 +223,7 @@ yy2: yy3: #line 205 "cmmap.re" { RET('/'); } -#line 222 "" +#line 220 "" yy4: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -235,7 +233,7 @@ yy4: yy5: #line 154 "cmmap.re" { RET(ID); } -#line 232 "" +#line 230 "" yy6: yych = *++YYCURSOR; switch(yych){ @@ -348,7 +346,7 @@ yy21: yy22: #line 158 "cmmap.re" { RET(ICON); } -#line 341 "" +#line 339 "" yy23: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -366,7 +364,7 @@ yy25: printf("unexpected character: %c\n", *s->tok); goto std; } -#line 359 "" +#line 357 "" yy26: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -387,7 +385,7 @@ yy26: yy27: #line 198 "cmmap.re" { RET('.'); } -#line 380 "" +#line 378 "" yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -405,7 +403,7 @@ yy29: yy30: #line 208 "cmmap.re" { RET('>'); } -#line 398 "" +#line 396 "" yy31: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -416,7 +414,7 @@ yy31: yy32: #line 207 "cmmap.re" { RET('<'); } -#line 409 "" +#line 407 "" yy33: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -427,7 +425,7 @@ yy33: yy34: #line 203 "cmmap.re" { RET('+'); } -#line 420 "" +#line 418 "" yy35: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -439,7 +437,7 @@ yy35: yy36: #line 202 "cmmap.re" { RET('-'); } -#line 432 "" +#line 430 "" yy37: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -449,7 +447,7 @@ yy37: yy38: #line 204 "cmmap.re" { RET('*'); } -#line 442 "" +#line 440 "" yy39: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -459,7 +457,7 @@ yy39: yy40: #line 206 "cmmap.re" { RET('%'); } -#line 452 "" +#line 450 "" yy41: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -470,7 +468,7 @@ yy41: yy42: #line 199 "cmmap.re" { RET('&'); } -#line 463 "" +#line 461 "" yy43: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -480,7 +478,7 @@ yy43: yy44: #line 209 "cmmap.re" { RET('^'); } -#line 473 "" +#line 471 "" yy45: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -491,7 +489,7 @@ yy45: yy46: #line 210 "cmmap.re" { RET('|'); } -#line 484 "" +#line 482 "" yy47: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -501,7 +499,7 @@ yy47: yy48: #line 193 "cmmap.re" { RET('='); } -#line 494 "" +#line 492 "" yy49: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -511,62 +509,62 @@ yy49: yy50: #line 200 "cmmap.re" { RET('!'); } -#line 504 "" +#line 502 "" yy51: ++YYCURSOR; #line 188 "cmmap.re" { RET(';'); } -#line 509 "" +#line 507 "" yy53: ++YYCURSOR; #line 189 "cmmap.re" { RET('{'); } -#line 514 "" +#line 512 "" yy55: ++YYCURSOR; #line 190 "cmmap.re" { RET('}'); } -#line 519 "" +#line 517 "" yy57: ++YYCURSOR; #line 191 "cmmap.re" { RET(','); } -#line 524 "" +#line 522 "" yy59: ++YYCURSOR; #line 192 "cmmap.re" { RET(':'); } -#line 529 "" +#line 527 "" yy61: ++YYCURSOR; #line 194 "cmmap.re" { RET('('); } -#line 534 "" +#line 532 "" yy63: ++YYCURSOR; #line 195 "cmmap.re" { RET(')'); } -#line 539 "" +#line 537 "" yy65: ++YYCURSOR; #line 196 "cmmap.re" { RET('['); } -#line 544 "" +#line 542 "" yy67: ++YYCURSOR; #line 197 "cmmap.re" { RET(']'); } -#line 549 "" +#line 547 "" yy69: ++YYCURSOR; #line 201 "cmmap.re" { RET('~'); } -#line 554 "" +#line 552 "" yy71: ++YYCURSOR; #line 211 "cmmap.re" { RET('?'); } -#line 559 "" +#line 557 "" yy73: ++YYCURSOR; yych = *YYCURSOR; @@ -574,7 +572,7 @@ yy73: yy74: #line 214 "cmmap.re" { goto std; } -#line 567 "" +#line 565 "" yy75: ++YYCURSOR; #line 217 "cmmap.re" @@ -583,7 +581,7 @@ yy75: s->pos = cursor; s->line++; goto std; } -#line 576 "" +#line 574 "" yy77: yych = *++YYCURSOR; goto yy25; @@ -603,77 +601,77 @@ yy80: ++YYCURSOR; #line 187 "cmmap.re" { RET(NEQ); } -#line 594 "" +#line 592 "" yy82: ++YYCURSOR; #line 186 "cmmap.re" { RET(EQL); } -#line 599 "" +#line 597 "" yy84: ++YYCURSOR; #line 183 "cmmap.re" { RET(OROR); } -#line 604 "" +#line 602 "" yy86: ++YYCURSOR; #line 176 "cmmap.re" { RET(OREQ); } -#line 609 "" +#line 607 "" yy88: ++YYCURSOR; #line 175 "cmmap.re" { RET(XOREQ); } -#line 614 "" +#line 612 "" yy90: ++YYCURSOR; #line 182 "cmmap.re" { RET(ANDAND); } -#line 619 "" +#line 617 "" yy92: ++YYCURSOR; #line 174 "cmmap.re" { RET(ANDEQ); } -#line 624 "" +#line 622 "" yy94: ++YYCURSOR; #line 173 "cmmap.re" { RET(MODEQ); } -#line 629 "" +#line 627 "" yy96: ++YYCURSOR; #line 171 "cmmap.re" { RET(MULEQ); } -#line 634 "" +#line 632 "" yy98: ++YYCURSOR; #line 181 "cmmap.re" { RET(DEREF); } -#line 639 "" +#line 637 "" yy100: ++YYCURSOR; #line 180 "cmmap.re" { RET(DECR); } -#line 644 "" +#line 642 "" yy102: ++YYCURSOR; #line 170 "cmmap.re" { RET(SUBEQ); } -#line 649 "" +#line 647 "" yy104: ++YYCURSOR; #line 179 "cmmap.re" { RET(INCR); } -#line 654 "" +#line 652 "" yy106: ++YYCURSOR; #line 169 "cmmap.re" { RET(ADDEQ); } -#line 659 "" +#line 657 "" yy108: ++YYCURSOR; #line 184 "cmmap.re" { RET(LEQ); } -#line 664 "" +#line 662 "" yy110: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -683,17 +681,17 @@ yy110: yy111: #line 178 "cmmap.re" { RET(LSHIFT); } -#line 674 "" +#line 672 "" yy112: ++YYCURSOR; #line 168 "cmmap.re" { RET(LSHIFTEQ); } -#line 679 "" +#line 677 "" yy114: ++YYCURSOR; #line 185 "cmmap.re" { RET(GEQ); } -#line 684 "" +#line 682 "" yy116: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -703,12 +701,12 @@ yy116: yy117: #line 177 "cmmap.re" { RET(RSHIFT); } -#line 694 "" +#line 692 "" yy118: ++YYCURSOR; #line 167 "cmmap.re" { RET(RSHIFTEQ); } -#line 699 "" +#line 697 "" yy120: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -759,7 +757,7 @@ yy124: ++YYCURSOR; #line 164 "cmmap.re" { RET(SCON); } -#line 741 "" +#line 739 "" yy126: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -872,7 +870,7 @@ yy132: yy134: #line 161 "cmmap.re" { RET(FCON); } -#line 846 "" +#line 844 "" yy135: yych = *++YYCURSOR; switch(yych){ @@ -933,7 +931,7 @@ yy140: ++YYCURSOR; #line 166 "cmmap.re" { RET(ELLIPSIS); } -#line 903 "" +#line 901 "" yy142: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -1551,7 +1549,7 @@ yy184: yy185: #line 152 "cmmap.re" { RET(WHILE); } -#line 1461 "" +#line 1459 "" yy186: yych = *++YYCURSOR; switch(yych){ @@ -1666,7 +1664,7 @@ yy193: yy194: #line 151 "cmmap.re" { RET(VOLATILE); } -#line 1573 "" +#line 1571 "" yy195: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1738,7 +1736,7 @@ yy195: yy196: #line 150 "cmmap.re" { RET(VOID); } -#line 1642 "" +#line 1640 "" yy197: yych = *++YYCURSOR; switch(yych){ @@ -1853,7 +1851,7 @@ yy204: yy205: #line 149 "cmmap.re" { RET(UNSIGNED); } -#line 1754 "" +#line 1752 "" yy206: yych = *++YYCURSOR; switch(yych){ @@ -1931,7 +1929,7 @@ yy207: yy208: #line 148 "cmmap.re" { RET(UNION); } -#line 1829 "" +#line 1827 "" yy209: yych = *++YYCURSOR; switch(yych){ @@ -2033,7 +2031,7 @@ yy214: yy215: #line 147 "cmmap.re" { RET(TYPEDEF); } -#line 1928 "" +#line 1926 "" yy216: yych = *++YYCURSOR; switch(yych){ @@ -2149,7 +2147,7 @@ yy223: yy224: #line 146 "cmmap.re" { RET(SWITCH); } -#line 2041 "" +#line 2039 "" yy225: yych = *++YYCURSOR; switch(yych){ @@ -2245,7 +2243,7 @@ yy229: yy230: #line 145 "cmmap.re" { RET(STRUCT); } -#line 2134 "" +#line 2132 "" yy231: yych = *++YYCURSOR; switch(yych){ @@ -2329,7 +2327,7 @@ yy233: yy234: #line 144 "cmmap.re" { RET(STATIC); } -#line 2215 "" +#line 2213 "" yy235: yych = *++YYCURSOR; switch(yych){ @@ -2425,7 +2423,7 @@ yy239: yy240: #line 143 "cmmap.re" { RET(SIZEOF); } -#line 2308 "" +#line 2306 "" yy241: yych = *++YYCURSOR; switch(yych){ @@ -2509,7 +2507,7 @@ yy243: yy244: #line 142 "cmmap.re" { RET(SIGNED); } -#line 2389 "" +#line 2387 "" yy245: yych = *++YYCURSOR; switch(yych){ @@ -2593,7 +2591,7 @@ yy247: yy248: #line 141 "cmmap.re" { RET(SHORT); } -#line 2470 "" +#line 2468 "" yy249: yych = *++YYCURSOR; switch(yych){ @@ -2696,7 +2694,7 @@ yy254: yy255: #line 140 "cmmap.re" { RET(RETURN); } -#line 2570 "" +#line 2568 "" yy256: yych = *++YYCURSOR; switch(yych){ @@ -2792,7 +2790,7 @@ yy260: yy261: #line 139 "cmmap.re" { RET(REGISTER); } -#line 2663 "" +#line 2661 "" yy262: yych = *++YYCURSOR; switch(yych){ @@ -2876,7 +2874,7 @@ yy264: yy265: #line 138 "cmmap.re" { RET(LONG); } -#line 2744 "" +#line 2742 "" yy266: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2948,7 +2946,7 @@ yy266: yy267: #line 136 "cmmap.re" { RET(IF); } -#line 2813 "" +#line 2811 "" yy268: yych = *++YYCURSOR; switch(yych){ @@ -3026,7 +3024,7 @@ yy269: yy270: #line 137 "cmmap.re" { RET(INT); } -#line 2888 "" +#line 2886 "" yy271: yych = *++YYCURSOR; switch(yych){ @@ -3110,7 +3108,7 @@ yy273: yy274: #line 135 "cmmap.re" { RET(GOTO); } -#line 2969 "" +#line 2967 "" yy275: yych = *++YYCURSOR; switch(yych){ @@ -3194,7 +3192,7 @@ yy277: yy278: #line 134 "cmmap.re" { RET(FOR); } -#line 3050 "" +#line 3048 "" yy279: yych = *++YYCURSOR; switch(yych){ @@ -3278,7 +3276,7 @@ yy281: yy282: #line 133 "cmmap.re" { RET(FLOAT); } -#line 3131 "" +#line 3129 "" yy283: yych = *++YYCURSOR; switch(yych){ @@ -3386,7 +3384,7 @@ yy289: yy290: #line 132 "cmmap.re" { RET(EXTERN); } -#line 3236 "" +#line 3234 "" yy291: yych = *++YYCURSOR; switch(yych){ @@ -3464,7 +3462,7 @@ yy292: yy293: #line 131 "cmmap.re" { RET(ENUM); } -#line 3311 "" +#line 3309 "" yy294: yych = *++YYCURSOR; switch(yych){ @@ -3542,7 +3540,7 @@ yy295: yy296: #line 130 "cmmap.re" { RET(ELSE); } -#line 3386 "" +#line 3384 "" yy297: yych = *++YYCURSOR; switch(yych){ @@ -3620,7 +3618,7 @@ yy298: yy299: #line 128 "cmmap.re" { RET(DO); } -#line 3460 "" +#line 3458 "" yy300: yych = *++YYCURSOR; switch(yych){ @@ -3710,7 +3708,7 @@ yy303: yy304: #line 129 "cmmap.re" { RET(DOUBLE); } -#line 3547 "" +#line 3545 "" yy305: yych = *++YYCURSOR; switch(yych){ @@ -3806,7 +3804,7 @@ yy309: yy310: #line 127 "cmmap.re" { RET(DEFAULT); } -#line 3640 "" +#line 3638 "" yy311: yych = *++YYCURSOR; switch(yych){ @@ -3933,7 +3931,7 @@ yy320: yy321: #line 126 "cmmap.re" { RET(CONTINUE); } -#line 3764 "" +#line 3762 "" yy322: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -4005,7 +4003,7 @@ yy322: yy323: #line 125 "cmmap.re" { RET(CONST); } -#line 3833 "" +#line 3831 "" yy324: yych = *++YYCURSOR; switch(yych){ @@ -4083,7 +4081,7 @@ yy325: yy326: #line 124 "cmmap.re" { RET(CHAR); } -#line 3908 "" +#line 3906 "" yy327: yych = *++YYCURSOR; switch(yych){ @@ -4161,7 +4159,7 @@ yy328: yy329: #line 123 "cmmap.re" { RET(CASE); } -#line 3983 "" +#line 3981 "" yy330: yych = *++YYCURSOR; switch(yych){ @@ -4251,7 +4249,7 @@ yy333: yy334: #line 122 "cmmap.re" { RET(BREAK); } -#line 4070 "" +#line 4068 "" yy335: yych = *++YYCURSOR; switch(yych){ @@ -4335,29 +4333,26 @@ yy337: yy338: #line 121 "cmmap.re" { RET(AUTO); } -#line 4151 "" +#line 4149 "" yy339: ++YYCURSOR; #line 172 "cmmap.re" { RET(DIVEQ); } -#line 4156 "" +#line 4154 "" yy341: ++YYCURSOR; #line 119 "cmmap.re" { goto comment; } -#line 4161 "" +#line 4159 "" } #line 228 "cmmap.re" comment: -#line 4168 "" +#line 4166 "" { YYCTYPE yych; - goto yy343; - ++YYCURSOR; -yy343: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -4374,7 +4369,7 @@ yy345: yy346: #line 239 "cmmap.re" { goto comment; } -#line 4190 "" +#line 4185 "" yy347: ++YYCURSOR; #line 234 "cmmap.re" @@ -4383,7 +4378,7 @@ yy347: s->tok = s->pos = cursor; s->line++; goto comment; } -#line 4199 "" +#line 4194 "" yy349: yych = *++YYCURSOR; goto yy346; @@ -4391,7 +4386,7 @@ yy350: ++YYCURSOR; #line 232 "cmmap.re" { goto std; } -#line 4207 "" +#line 4202 "" } #line 240 "cmmap.re" diff --git a/test/cnokw.c b/test/cnokw.c index a2e9f3eb..b5f08989 100644 --- a/test/cnokw.c +++ b/test/cnokw.c @@ -130,8 +130,6 @@ std: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; @@ -242,7 +240,7 @@ yy2: yy3: #line 189 "cnokw.re" { RET('/'); } -#line 242 "" +#line 240 "" yy4: ++YYCURSOR; yych = *YYCURSOR; @@ -250,7 +248,7 @@ yy4: yy5: #line 138 "cnokw.re" { RET(ID); } -#line 250 "" +#line 248 "" yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -266,7 +264,7 @@ yy6: yy7: #line 142 "cnokw.re" { RET(ICON); } -#line 262 "" +#line 260 "" yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -284,7 +282,7 @@ yy10: printf("unexpected character: %c\n", *s->tok); goto std; } -#line 280 "" +#line 278 "" yy11: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -305,7 +303,7 @@ yy11: yy12: #line 182 "cnokw.re" { RET('.'); } -#line 301 "" +#line 299 "" yy13: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -323,7 +321,7 @@ yy14: yy15: #line 192 "cnokw.re" { RET('>'); } -#line 319 "" +#line 317 "" yy16: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -334,7 +332,7 @@ yy16: yy17: #line 191 "cnokw.re" { RET('<'); } -#line 330 "" +#line 328 "" yy18: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -345,7 +343,7 @@ yy18: yy19: #line 187 "cnokw.re" { RET('+'); } -#line 341 "" +#line 339 "" yy20: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -357,7 +355,7 @@ yy20: yy21: #line 186 "cnokw.re" { RET('-'); } -#line 353 "" +#line 351 "" yy22: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -367,7 +365,7 @@ yy22: yy23: #line 188 "cnokw.re" { RET('*'); } -#line 363 "" +#line 361 "" yy24: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -377,7 +375,7 @@ yy24: yy25: #line 190 "cnokw.re" { RET('%'); } -#line 373 "" +#line 371 "" yy26: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -388,7 +386,7 @@ yy26: yy27: #line 183 "cnokw.re" { RET('&'); } -#line 384 "" +#line 382 "" yy28: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -398,7 +396,7 @@ yy28: yy29: #line 193 "cnokw.re" { RET('^'); } -#line 394 "" +#line 392 "" yy30: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -409,7 +407,7 @@ yy30: yy31: #line 194 "cnokw.re" { RET('|'); } -#line 405 "" +#line 403 "" yy32: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -419,7 +417,7 @@ yy32: yy33: #line 177 "cnokw.re" { RET('='); } -#line 415 "" +#line 413 "" yy34: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -429,62 +427,62 @@ yy34: yy35: #line 184 "cnokw.re" { RET('!'); } -#line 425 "" +#line 423 "" yy36: ++YYCURSOR; #line 172 "cnokw.re" { RET(';'); } -#line 430 "" +#line 428 "" yy38: ++YYCURSOR; #line 173 "cnokw.re" { RET('{'); } -#line 435 "" +#line 433 "" yy40: ++YYCURSOR; #line 174 "cnokw.re" { RET('}'); } -#line 440 "" +#line 438 "" yy42: ++YYCURSOR; #line 175 "cnokw.re" { RET(','); } -#line 445 "" +#line 443 "" yy44: ++YYCURSOR; #line 176 "cnokw.re" { RET(':'); } -#line 450 "" +#line 448 "" yy46: ++YYCURSOR; #line 178 "cnokw.re" { RET('('); } -#line 455 "" +#line 453 "" yy48: ++YYCURSOR; #line 179 "cnokw.re" { RET(')'); } -#line 460 "" +#line 458 "" yy50: ++YYCURSOR; #line 180 "cnokw.re" { RET('['); } -#line 465 "" +#line 463 "" yy52: ++YYCURSOR; #line 181 "cnokw.re" { RET(']'); } -#line 470 "" +#line 468 "" yy54: ++YYCURSOR; #line 185 "cnokw.re" { RET('~'); } -#line 475 "" +#line 473 "" yy56: ++YYCURSOR; #line 195 "cnokw.re" { RET('?'); } -#line 480 "" +#line 478 "" yy58: ++YYCURSOR; yych = *YYCURSOR; @@ -492,7 +490,7 @@ yy58: yy59: #line 198 "cnokw.re" { goto std; } -#line 488 "" +#line 486 "" yy60: ++YYCURSOR; #line 201 "cnokw.re" @@ -501,7 +499,7 @@ yy60: s->pos = cursor; s->line++; goto std; } -#line 497 "" +#line 495 "" yy62: yych = *++YYCURSOR; goto yy10; @@ -521,77 +519,77 @@ yy65: ++YYCURSOR; #line 171 "cnokw.re" { RET(NEQ); } -#line 515 "" +#line 513 "" yy67: ++YYCURSOR; #line 170 "cnokw.re" { RET(EQL); } -#line 520 "" +#line 518 "" yy69: ++YYCURSOR; #line 167 "cnokw.re" { RET(OROR); } -#line 525 "" +#line 523 "" yy71: ++YYCURSOR; #line 160 "cnokw.re" { RET(OREQ); } -#line 530 "" +#line 528 "" yy73: ++YYCURSOR; #line 159 "cnokw.re" { RET(XOREQ); } -#line 535 "" +#line 533 "" yy75: ++YYCURSOR; #line 166 "cnokw.re" { RET(ANDAND); } -#line 540 "" +#line 538 "" yy77: ++YYCURSOR; #line 158 "cnokw.re" { RET(ANDEQ); } -#line 545 "" +#line 543 "" yy79: ++YYCURSOR; #line 157 "cnokw.re" { RET(MODEQ); } -#line 550 "" +#line 548 "" yy81: ++YYCURSOR; #line 155 "cnokw.re" { RET(MULEQ); } -#line 555 "" +#line 553 "" yy83: ++YYCURSOR; #line 165 "cnokw.re" { RET(DEREF); } -#line 560 "" +#line 558 "" yy85: ++YYCURSOR; #line 164 "cnokw.re" { RET(DECR); } -#line 565 "" +#line 563 "" yy87: ++YYCURSOR; #line 154 "cnokw.re" { RET(SUBEQ); } -#line 570 "" +#line 568 "" yy89: ++YYCURSOR; #line 163 "cnokw.re" { RET(INCR); } -#line 575 "" +#line 573 "" yy91: ++YYCURSOR; #line 153 "cnokw.re" { RET(ADDEQ); } -#line 580 "" +#line 578 "" yy93: ++YYCURSOR; #line 168 "cnokw.re" { RET(LEQ); } -#line 585 "" +#line 583 "" yy95: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -601,17 +599,17 @@ yy95: yy96: #line 162 "cnokw.re" { RET(LSHIFT); } -#line 595 "" +#line 593 "" yy97: ++YYCURSOR; #line 152 "cnokw.re" { RET(LSHIFTEQ); } -#line 600 "" +#line 598 "" yy99: ++YYCURSOR; #line 169 "cnokw.re" { RET(GEQ); } -#line 605 "" +#line 603 "" yy101: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -621,12 +619,12 @@ yy101: yy102: #line 161 "cnokw.re" { RET(RSHIFT); } -#line 615 "" +#line 613 "" yy103: ++YYCURSOR; #line 151 "cnokw.re" { RET(RSHIFTEQ); } -#line 620 "" +#line 618 "" yy105: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -677,7 +675,7 @@ yy109: ++YYCURSOR; #line 148 "cnokw.re" { RET(SCON); } -#line 662 "" +#line 660 "" yy111: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -790,7 +788,7 @@ yy117: yy119: #line 145 "cnokw.re" { RET(FCON); } -#line 767 "" +#line 765 "" yy120: yych = *++YYCURSOR; switch(yych){ @@ -851,7 +849,7 @@ yy125: ++YYCURSOR; #line 150 "cnokw.re" { RET(ELLIPSIS); } -#line 824 "" +#line 822 "" yy127: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -1384,24 +1382,21 @@ yy166: ++YYCURSOR; #line 156 "cnokw.re" { RET(DIVEQ); } -#line 1300 "" +#line 1298 "" yy168: ++YYCURSOR; #line 136 "cnokw.re" { goto comment; } -#line 1305 "" +#line 1303 "" } #line 212 "cnokw.re" comment: -#line 1312 "" +#line 1310 "" { YYCTYPE yych; - goto yy170; - ++YYCURSOR; -yy170: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -1418,7 +1413,7 @@ yy172: yy173: #line 223 "cnokw.re" { goto comment; } -#line 1334 "" +#line 1329 "" yy174: ++YYCURSOR; #line 218 "cnokw.re" @@ -1427,7 +1422,7 @@ yy174: s->tok = s->pos = cursor; s->line++; goto comment; } -#line 1343 "" +#line 1338 "" yy176: yych = *++YYCURSOR; goto yy173; @@ -1435,7 +1430,7 @@ yy177: ++YYCURSOR; #line 216 "cnokw.re" { goto std; } -#line 1351 "" +#line 1346 "" } #line 224 "cnokw.re" diff --git a/test/config1.c b/test/config1.c index 02ade0c4..3a0c0a14 100755 --- a/test/config1.c +++ b/test/config1.c @@ -14,8 +14,6 @@ char *scan0(char *p) #line 15 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -39,12 +37,12 @@ yy2: yy3: #line 13 "config1.re" { return YYCURSOR; } -#line 43 "" +#line 41 "" yy4: ++YYCURSOR; #line 14 "config1.re" { return NULL; } -#line 48 "" +#line 46 "" yy6: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -72,12 +70,9 @@ char *scan1(char *p) { char *q; -#line 76 "" +#line 74 "" { YYCTYPE yych; - goto yy8; - ++YYCURSOR; -yy8: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -100,12 +95,12 @@ yy10: yy11: #line 23 "config1.re" { return YYCURSOR; } -#line 104 "" +#line 99 "" yy12: ++YYCURSOR; #line 24 "config1.re" { return NULL; } -#line 109 "" +#line 104 "" yy14: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -133,12 +128,9 @@ char *scan(char *p) { char *q; -#line 137 "" +#line 132 "" { YYCTYPE yych; - goto yy16; - ++YYCURSOR; -yy16: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -161,12 +153,12 @@ yy18: yy19: #line 32 "config1.re" { return YYCURSOR; } -#line 165 "" +#line 157 "" yy20: ++YYCURSOR; #line 33 "config1.re" { return NULL; } -#line 170 "" +#line 162 "" yy22: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/config2.s.c b/test/config2.s.c index 8d61bcc3..22893c08 100755 --- a/test/config2.s.c +++ b/test/config2.s.c @@ -14,8 +14,6 @@ char *scan0(char *p) #line 15 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -30,27 +28,27 @@ yy0: ++YYCURSOR; #line 13 "config2.s.re" { return YYCURSOR; } -#line 34 "" +#line 32 "" yy4: ++YYCURSOR; #line 14 "config2.s.re" { return YYCURSOR; } -#line 39 "" +#line 37 "" yy6: ++YYCURSOR; #line 15 "config2.s.re" { return YYCURSOR; } -#line 44 "" +#line 42 "" yy8: ++YYCURSOR; #line 16 "config2.s.re" { return YYCURSOR; } -#line 49 "" +#line 47 "" yy10: ++YYCURSOR; #line 17 "config2.s.re" { return NULL; } -#line 54 "" +#line 52 "" } #line 18 "config2.s.re" @@ -60,12 +58,9 @@ char *scan1(char *p) { char *q; -#line 64 "" +#line 62 "" { YYCTYPE yych; - goto yy12; - ++YYCURSOR; -yy12: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych <= 'b') { @@ -79,27 +74,27 @@ yy12: ++YYCURSOR; #line 26 "config2.s.re" { return YYCURSOR; } -#line 83 "" +#line 78 "" yy16: ++YYCURSOR; #line 27 "config2.s.re" { return YYCURSOR; } -#line 88 "" +#line 83 "" yy18: ++YYCURSOR; #line 28 "config2.s.re" { return YYCURSOR; } -#line 93 "" +#line 88 "" yy20: ++YYCURSOR; #line 29 "config2.s.re" { return YYCURSOR; } -#line 98 "" +#line 93 "" yy22: ++YYCURSOR; #line 30 "config2.s.re" { return NULL; } -#line 103 "" +#line 98 "" } #line 31 "config2.s.re" @@ -109,12 +104,9 @@ char *scan(char *p) { char *q; -#line 113 "" +#line 108 "" { YYCTYPE yych; -goto yy24; -++YYCURSOR; -yy24: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych <= 'b') { @@ -128,27 +120,27 @@ goto yy34; ++YYCURSOR; #line 39 "config2.s.re" { return YYCURSOR; } -#line 132 "" +#line 124 "" yy28: ++YYCURSOR; #line 40 "config2.s.re" { return YYCURSOR; } -#line 137 "" +#line 129 "" yy30: ++YYCURSOR; #line 41 "config2.s.re" { return YYCURSOR; } -#line 142 "" +#line 134 "" yy32: ++YYCURSOR; #line 42 "config2.s.re" { return YYCURSOR; } -#line 147 "" +#line 139 "" yy34: ++YYCURSOR; #line 43 "config2.s.re" { return NULL; } -#line 152 "" +#line 144 "" } #line 44 "config2.s.re" diff --git a/test/config3.c b/test/config3.c new file mode 100755 index 00000000..30c6ebb4 --- /dev/null +++ b/test/config3.c @@ -0,0 +1,242 @@ +/* Generated by re2c */ +#line 1 "config2.re" +#define NULL ((char*) 0) +#define YYCTYPE char +#define YYCURSOR p +#define YYLIMIT p +#define YYMARKER q +#define YYFILL(n) + +char *scan0(char *p) +{ + char *q; + +#line 15 "" +{ + YYCTYPE yych; + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy2; + default: goto yy4; + } +yy2: + ++YYCURSOR; + yych = *YYCURSOR; + goto yy7; +yy3: +#line 13 "config2.re" + { return YYCURSOR; } +#line 40 "" +yy4: + ++YYCURSOR; +#line 14 "config2.re" + { return NULL; } +#line 45 "" +yy6: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy7: + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy6; + default: goto yy3; + } +} +#line 15 "config2.re" + +} + +char *scan1(char *p) +{ + char *q; + +#line 73 "" +{ + YYCTYPE yych; +yy8: + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy10; + default: goto yy12; + } +yy10: + ++YYCURSOR; + yych = *YYCURSOR; + goto yy15; +yy11: +#line 23 "config2.re" + { return YYCURSOR; } +#line 99 "" +yy12: + ++YYCURSOR; +#line 24 "config2.re" + { return NULL; } +#line 104 "" +yy14: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy15: + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy14; + default: goto yy11; + } +} +#line 25 "config2.re" + +} + +char *scan2(char *p) +{ + char *q; + +#line 132 "" +{ + YYCTYPE yych; +startLabel: + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy18; + default: goto yy20; + } +yy18: + ++YYCURSOR; + yych = *YYCURSOR; + goto yy23; +yy19: +#line 33 "config2.re" + { return YYCURSOR; } +#line 158 "" +yy20: + ++YYCURSOR; +#line 34 "config2.re" + { return NULL; } +#line 163 "" +yy22: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy23: + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy22; + default: goto yy19; + } +} +#line 35 "config2.re" + +} + +char *scan(char *p) +{ + char *q; + +#line 191 "" +{ + YYCTYPE yych; + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy26; + default: goto yy28; + } +yy26: + ++YYCURSOR; + yych = *YYCURSOR; + goto yy31; +yy27: +#line 43 "config2.re" + { return YYCURSOR; } +#line 216 "" +yy28: + ++YYCURSOR; +#line 44 "config2.re" + { return NULL; } +#line 221 "" +yy30: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy31: + switch(yych){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy30; + default: goto yy27; + } +} +#line 45 "config2.re" + +} diff --git a/test/config3.re b/test/config3.re new file mode 100755 index 00000000..91a0d9c1 --- /dev/null +++ b/test/config3.re @@ -0,0 +1,46 @@ +#define NULL ((char*) 0) +#define YYCTYPE char +#define YYCURSOR p +#define YYLIMIT p +#define YYMARKER q +#define YYFILL(n) + +char *scan0(char *p) +{ + char *q; +/*!re2c + re2c:startlabel = 0; + [0-9]+ { return YYCURSOR; } + [\000-\377] { return NULL; } +*/ +} + +char *scan1(char *p) +{ + char *q; +/*!re2c + re2c:startlabel = 1; + [0-9]+ { return YYCURSOR; } + [\000-\377] { return NULL; } +*/ +} + +char *scan2(char *p) +{ + char *q; +/*!re2c + re2c:startlabel = "startLabel"; + [0-9]+ { return YYCURSOR; } + [\000-\377] { return NULL; } +*/ +} + +char *scan(char *p) +{ + char *q; +/*!re2c + re2c:startlabel = ; + [0-9]+ { return YYCURSOR; } + [\000-\377] { return NULL; } +*/ +} diff --git a/test/cunroll.c b/test/cunroll.c index 98f0c329..b6a1b0c9 100644 --- a/test/cunroll.c +++ b/test/cunroll.c @@ -130,8 +130,6 @@ std: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; @@ -242,7 +240,7 @@ yy2: yy3: #line 200 "cunroll.re" { RET('/'); } -#line 242 "" +#line 240 "" yy4: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -314,7 +312,7 @@ yy4: yy5: #line 141 "cunroll.re" { RET(ID); } -#line 311 "" +#line 309 "" yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -330,7 +328,7 @@ yy6: yy7: #line 153 "cunroll.re" { RET(ICON); } -#line 323 "" +#line 321 "" yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -348,7 +346,7 @@ yy10: printf("unexpected character: %c\n", *s->tok); goto std; } -#line 341 "" +#line 339 "" yy11: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -369,7 +367,7 @@ yy11: yy12: #line 193 "cunroll.re" { RET('.'); } -#line 362 "" +#line 360 "" yy13: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -387,7 +385,7 @@ yy14: yy15: #line 203 "cunroll.re" { RET('>'); } -#line 380 "" +#line 378 "" yy16: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -398,7 +396,7 @@ yy16: yy17: #line 202 "cunroll.re" { RET('<'); } -#line 391 "" +#line 389 "" yy18: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -409,7 +407,7 @@ yy18: yy19: #line 198 "cunroll.re" { RET('+'); } -#line 402 "" +#line 400 "" yy20: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -421,7 +419,7 @@ yy20: yy21: #line 197 "cunroll.re" { RET('-'); } -#line 414 "" +#line 412 "" yy22: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -431,7 +429,7 @@ yy22: yy23: #line 199 "cunroll.re" { RET('*'); } -#line 424 "" +#line 422 "" yy24: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -441,7 +439,7 @@ yy24: yy25: #line 201 "cunroll.re" { RET('%'); } -#line 434 "" +#line 432 "" yy26: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -452,7 +450,7 @@ yy26: yy27: #line 194 "cunroll.re" { RET('&'); } -#line 445 "" +#line 443 "" yy28: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -462,7 +460,7 @@ yy28: yy29: #line 204 "cunroll.re" { RET('^'); } -#line 455 "" +#line 453 "" yy30: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -473,7 +471,7 @@ yy30: yy31: #line 205 "cunroll.re" { RET('|'); } -#line 466 "" +#line 464 "" yy32: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -483,7 +481,7 @@ yy32: yy33: #line 188 "cunroll.re" { RET('='); } -#line 476 "" +#line 474 "" yy34: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -493,62 +491,62 @@ yy34: yy35: #line 195 "cunroll.re" { RET('!'); } -#line 486 "" +#line 484 "" yy36: ++YYCURSOR; #line 183 "cunroll.re" { RET(';'); } -#line 491 "" +#line 489 "" yy38: ++YYCURSOR; #line 184 "cunroll.re" { RET('{'); } -#line 496 "" +#line 494 "" yy40: ++YYCURSOR; #line 185 "cunroll.re" { RET('}'); } -#line 501 "" +#line 499 "" yy42: ++YYCURSOR; #line 186 "cunroll.re" { RET(','); } -#line 506 "" +#line 504 "" yy44: ++YYCURSOR; #line 187 "cunroll.re" { RET(':'); } -#line 511 "" +#line 509 "" yy46: ++YYCURSOR; #line 189 "cunroll.re" { RET('('); } -#line 516 "" +#line 514 "" yy48: ++YYCURSOR; #line 190 "cunroll.re" { RET(')'); } -#line 521 "" +#line 519 "" yy50: ++YYCURSOR; #line 191 "cunroll.re" { RET('['); } -#line 526 "" +#line 524 "" yy52: ++YYCURSOR; #line 192 "cunroll.re" { RET(']'); } -#line 531 "" +#line 529 "" yy54: ++YYCURSOR; #line 196 "cunroll.re" { RET('~'); } -#line 536 "" +#line 534 "" yy56: ++YYCURSOR; #line 206 "cunroll.re" { RET('?'); } -#line 541 "" +#line 539 "" yy58: ++YYCURSOR; yych = *YYCURSOR; @@ -556,7 +554,7 @@ yy58: yy59: #line 209 "cunroll.re" { goto std; } -#line 549 "" +#line 547 "" yy60: ++YYCURSOR; #line 212 "cunroll.re" @@ -565,7 +563,7 @@ yy60: s->pos = cursor; s->line++; goto std; } -#line 558 "" +#line 556 "" yy62: yych = *++YYCURSOR; goto yy10; @@ -585,77 +583,77 @@ yy65: ++YYCURSOR; #line 182 "cunroll.re" { RET(NEQ); } -#line 576 "" +#line 574 "" yy67: ++YYCURSOR; #line 181 "cunroll.re" { RET(EQL); } -#line 581 "" +#line 579 "" yy69: ++YYCURSOR; #line 178 "cunroll.re" { RET(OROR); } -#line 586 "" +#line 584 "" yy71: ++YYCURSOR; #line 171 "cunroll.re" { RET(OREQ); } -#line 591 "" +#line 589 "" yy73: ++YYCURSOR; #line 170 "cunroll.re" { RET(XOREQ); } -#line 596 "" +#line 594 "" yy75: ++YYCURSOR; #line 177 "cunroll.re" { RET(ANDAND); } -#line 601 "" +#line 599 "" yy77: ++YYCURSOR; #line 169 "cunroll.re" { RET(ANDEQ); } -#line 606 "" +#line 604 "" yy79: ++YYCURSOR; #line 168 "cunroll.re" { RET(MODEQ); } -#line 611 "" +#line 609 "" yy81: ++YYCURSOR; #line 166 "cunroll.re" { RET(MULEQ); } -#line 616 "" +#line 614 "" yy83: ++YYCURSOR; #line 176 "cunroll.re" { RET(DEREF); } -#line 621 "" +#line 619 "" yy85: ++YYCURSOR; #line 175 "cunroll.re" { RET(DECR); } -#line 626 "" +#line 624 "" yy87: ++YYCURSOR; #line 165 "cunroll.re" { RET(SUBEQ); } -#line 631 "" +#line 629 "" yy89: ++YYCURSOR; #line 174 "cunroll.re" { RET(INCR); } -#line 636 "" +#line 634 "" yy91: ++YYCURSOR; #line 164 "cunroll.re" { RET(ADDEQ); } -#line 641 "" +#line 639 "" yy93: ++YYCURSOR; #line 179 "cunroll.re" { RET(LEQ); } -#line 646 "" +#line 644 "" yy95: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -665,17 +663,17 @@ yy95: yy96: #line 173 "cunroll.re" { RET(LSHIFT); } -#line 656 "" +#line 654 "" yy97: ++YYCURSOR; #line 163 "cunroll.re" { RET(LSHIFTEQ); } -#line 661 "" +#line 659 "" yy99: ++YYCURSOR; #line 180 "cunroll.re" { RET(GEQ); } -#line 666 "" +#line 664 "" yy101: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -685,12 +683,12 @@ yy101: yy102: #line 172 "cunroll.re" { RET(RSHIFT); } -#line 676 "" +#line 674 "" yy103: ++YYCURSOR; #line 162 "cunroll.re" { RET(RSHIFTEQ); } -#line 681 "" +#line 679 "" yy105: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -741,7 +739,7 @@ yy109: ++YYCURSOR; #line 159 "cunroll.re" { RET(SCON); } -#line 723 "" +#line 721 "" yy111: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -854,7 +852,7 @@ yy117: yy119: #line 156 "cunroll.re" { RET(FCON); } -#line 828 "" +#line 826 "" yy120: yych = *++YYCURSOR; switch(yych){ @@ -915,7 +913,7 @@ yy125: ++YYCURSOR; #line 161 "cunroll.re" { RET(ELLIPSIS); } -#line 885 "" +#line 883 "" yy127: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -1444,7 +1442,7 @@ yy164: yy165: #line 142 "cunroll.re" { RET(ID); } -#line 1357 "" +#line 1355 "" yy166: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1516,7 +1514,7 @@ yy166: yy167: #line 143 "cunroll.re" { RET(ID); } -#line 1426 "" +#line 1424 "" yy168: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1588,7 +1586,7 @@ yy168: yy169: #line 144 "cunroll.re" { RET(ID); } -#line 1495 "" +#line 1493 "" yy170: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1660,7 +1658,7 @@ yy170: yy171: #line 145 "cunroll.re" { RET(ID); } -#line 1564 "" +#line 1562 "" yy172: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1732,7 +1730,7 @@ yy172: yy173: #line 146 "cunroll.re" { RET(ID); } -#line 1633 "" +#line 1631 "" yy174: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1804,7 +1802,7 @@ yy174: yy175: #line 147 "cunroll.re" { RET(ID); } -#line 1702 "" +#line 1700 "" yy176: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1876,7 +1874,7 @@ yy176: yy177: #line 148 "cunroll.re" { RET(ID); } -#line 1771 "" +#line 1769 "" yy178: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -1950,29 +1948,26 @@ yy178: yy180: #line 149 "cunroll.re" { RET(ID); } -#line 1842 "" +#line 1840 "" yy181: ++YYCURSOR; #line 167 "cunroll.re" { RET(DIVEQ); } -#line 1847 "" +#line 1845 "" yy183: ++YYCURSOR; #line 138 "cunroll.re" { goto comment; } -#line 1852 "" +#line 1850 "" } #line 223 "cunroll.re" comment: -#line 1859 "" +#line 1857 "" { YYCTYPE yych; - goto yy185; - ++YYCURSOR; -yy185: if((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; switch(yych){ @@ -1990,7 +1985,7 @@ yy187: yy188: #line 242 "cunroll.re" { goto comment; } -#line 1882 "" +#line 1877 "" yy189: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2005,7 +2000,7 @@ yy190: s->tok = s->pos = cursor; s->line++; goto comment; } -#line 1896 "" +#line 1891 "" yy191: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2016,7 +2011,7 @@ yy191: yy192: #line 234 "cunroll.re" { goto comment; } -#line 1906 "" +#line 1901 "" yy193: yych = *++YYCURSOR; goto yy188; @@ -2030,7 +2025,7 @@ yy194: yy195: #line 235 "cunroll.re" { goto comment; } -#line 1919 "" +#line 1914 "" yy196: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2041,7 +2036,7 @@ yy196: yy197: #line 236 "cunroll.re" { goto comment; } -#line 1929 "" +#line 1924 "" yy198: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2052,7 +2047,7 @@ yy198: yy199: #line 237 "cunroll.re" { goto comment; } -#line 1939 "" +#line 1934 "" yy200: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2063,7 +2058,7 @@ yy200: yy201: #line 238 "cunroll.re" { goto comment; } -#line 1949 "" +#line 1944 "" yy202: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2074,7 +2069,7 @@ yy202: yy203: #line 239 "cunroll.re" { goto comment; } -#line 1959 "" +#line 1954 "" yy204: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2085,17 +2080,17 @@ yy204: yy205: #line 240 "cunroll.re" { goto comment; } -#line 1969 "" +#line 1964 "" yy206: ++YYCURSOR; #line 241 "cunroll.re" { goto comment; } -#line 1974 "" +#line 1969 "" yy208: ++YYCURSOR; #line 227 "cunroll.re" { goto std; } -#line 1979 "" +#line 1974 "" } #line 243 "cunroll.re" diff --git a/test/cvsignore.b.c b/test/cvsignore.b.c index b98b4777..b4c2f40b 100755 --- a/test/cvsignore.b.c +++ b/test/cvsignore.b.c @@ -78,8 +78,6 @@ loop: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; @@ -97,7 +95,7 @@ yy0: yy3: #line 53 "cvsignore.b.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 101 "" +#line 99 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -138,7 +136,7 @@ yy15: ++YYCURSOR; #line 48 "cvsignore.b.re" { APPEND(L"$" L"Date$"); goto loop; } -#line 142 "" +#line 140 "" yy17: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -160,7 +158,7 @@ yy21: ++YYCURSOR; #line 49 "cvsignore.b.re" { APPEND(L"$" L"Id$"); goto loop; } -#line 164 "" +#line 162 "" yy23: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -182,7 +180,7 @@ yy28: ++YYCURSOR; #line 50 "cvsignore.b.re" { APPEND(L"$" L"Log$"); goto loop; } -#line 186 "" +#line 184 "" yy30: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -214,7 +212,7 @@ yy40: ++YYCURSOR; #line 51 "cvsignore.b.re" { APPEND(L"$" L"Revision$"); goto loop; } -#line 218 "" +#line 216 "" yy42: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -242,7 +240,7 @@ yy50: ++YYCURSOR; #line 52 "cvsignore.b.re" { APPEND(L"$" L"Source$"); goto loop; } -#line 246 "" +#line 244 "" yy52: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/cvsignore.c b/test/cvsignore.c index 1e9cd2f7..36aab03d 100755 --- a/test/cvsignore.c +++ b/test/cvsignore.c @@ -43,8 +43,6 @@ loop: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; @@ -66,7 +64,7 @@ yy2: yy3: #line 53 "cvsignore.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 70 "" +#line 68 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -134,7 +132,7 @@ yy15: ++YYCURSOR; #line 48 "cvsignore.re" { APPEND(L"$" L"Date$"); goto loop; } -#line 138 "" +#line 136 "" yy17: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -162,7 +160,7 @@ yy21: ++YYCURSOR; #line 49 "cvsignore.re" { APPEND(L"$" L"Id$"); goto loop; } -#line 166 "" +#line 164 "" yy23: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -196,7 +194,7 @@ yy28: ++YYCURSOR; #line 50 "cvsignore.re" { APPEND(L"$" L"Log$"); goto loop; } -#line 200 "" +#line 198 "" yy30: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -260,7 +258,7 @@ yy40: ++YYCURSOR; #line 51 "cvsignore.re" { APPEND(L"$" L"Revision$"); goto loop; } -#line 264 "" +#line 262 "" yy42: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -312,7 +310,7 @@ yy50: ++YYCURSOR; #line 52 "cvsignore.re" { APPEND(L"$" L"Source$"); goto loop; } -#line 316 "" +#line 314 "" yy52: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/cvsignore.s.c b/test/cvsignore.s.c index eb0d3d4e..e354eb2d 100755 --- a/test/cvsignore.s.c +++ b/test/cvsignore.s.c @@ -43,8 +43,6 @@ loop: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; @@ -62,7 +60,7 @@ yy0: yy3: #line 53 "cvsignore.s.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 66 "" +#line 64 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -103,7 +101,7 @@ yy15: ++YYCURSOR; #line 48 "cvsignore.s.re" { APPEND(L"$" L"Date$"); goto loop; } -#line 107 "" +#line 105 "" yy17: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -123,7 +121,7 @@ yy21: ++YYCURSOR; #line 49 "cvsignore.s.re" { APPEND(L"$" L"Id$"); goto loop; } -#line 127 "" +#line 125 "" yy23: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -145,7 +143,7 @@ yy28: ++YYCURSOR; #line 50 "cvsignore.s.re" { APPEND(L"$" L"Log$"); goto loop; } -#line 149 "" +#line 147 "" yy30: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -177,7 +175,7 @@ yy40: ++YYCURSOR; #line 51 "cvsignore.s.re" { APPEND(L"$" L"Revision$"); goto loop; } -#line 181 "" +#line 179 "" yy42: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -205,7 +203,7 @@ yy50: ++YYCURSOR; #line 52 "cvsignore.s.re" { APPEND(L"$" L"Source$"); goto loop; } -#line 209 "" +#line 207 "" yy52: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/cvsignore.w.c b/test/cvsignore.w.c index a7eb6034..658bccf1 100755 --- a/test/cvsignore.w.c +++ b/test/cvsignore.w.c @@ -43,8 +43,6 @@ loop: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; @@ -62,7 +60,7 @@ yy0: yy3: #line 53 "cvsignore.w.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 66 "" +#line 64 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -103,7 +101,7 @@ yy15: ++YYCURSOR; #line 48 "cvsignore.w.re" { APPEND(L"$" L"Date$"); goto loop; } -#line 107 "" +#line 105 "" yy17: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -123,7 +121,7 @@ yy21: ++YYCURSOR; #line 49 "cvsignore.w.re" { APPEND(L"$" L"Id$"); goto loop; } -#line 127 "" +#line 125 "" yy23: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -145,7 +143,7 @@ yy28: ++YYCURSOR; #line 50 "cvsignore.w.re" { APPEND(L"$" L"Log$"); goto loop; } -#line 149 "" +#line 147 "" yy30: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -177,7 +175,7 @@ yy40: ++YYCURSOR; #line 51 "cvsignore.w.re" { APPEND(L"$" L"Revision$"); goto loop; } -#line 181 "" +#line 179 "" yy42: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -205,7 +203,7 @@ yy50: ++YYCURSOR; #line 52 "cvsignore.w.re" { APPEND(L"$" L"Source$"); goto loop; } -#line 209 "" +#line 207 "" yy52: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/cvsignore.wb.c b/test/cvsignore.wb.c index fa41e063..4995ad79 100755 --- a/test/cvsignore.wb.c +++ b/test/cvsignore.wb.c @@ -78,8 +78,6 @@ loop: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; @@ -97,7 +95,7 @@ yy0: yy3: #line 53 "cvsignore.wb.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 101 "" +#line 99 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -138,7 +136,7 @@ yy15: ++YYCURSOR; #line 48 "cvsignore.wb.re" { APPEND(L"$" L"Date$"); goto loop; } -#line 142 "" +#line 140 "" yy17: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -162,7 +160,7 @@ yy21: ++YYCURSOR; #line 49 "cvsignore.wb.re" { APPEND(L"$" L"Id$"); goto loop; } -#line 166 "" +#line 164 "" yy23: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -184,7 +182,7 @@ yy28: ++YYCURSOR; #line 50 "cvsignore.wb.re" { APPEND(L"$" L"Log$"); goto loop; } -#line 188 "" +#line 186 "" yy30: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -216,7 +214,7 @@ yy40: ++YYCURSOR; #line 51 "cvsignore.wb.re" { APPEND(L"$" L"Revision$"); goto loop; } -#line 220 "" +#line 218 "" yy42: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -244,7 +242,7 @@ yy50: ++YYCURSOR; #line 52 "cvsignore.wb.re" { APPEND(L"$" L"Source$"); goto loop; } -#line 248 "" +#line 246 "" yy52: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/error3.c b/test/error3.c index 3f78a0de..86d0c72d 100755 --- a/test/error3.c +++ b/test/error3.c @@ -19,8 +19,6 @@ const char *q; #line 19 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -32,12 +30,12 @@ yy2: ++YYCURSOR; #line 18 "error3.re" {RET(1);} -#line 35 "" +#line 33 "" yy4: ++YYCURSOR; #line 19 "error3.re" {RET(0);} -#line 40 "" +#line 38 "" } #line 20 "error3.re" diff --git a/test/input1.c b/test/input1.c index d3ca59a5..ad323496 100644 --- a/test/input1.c +++ b/test/input1.c @@ -5,8 +5,6 @@ { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -24,7 +22,7 @@ yy2: yy3: #line 4 "input1.re" { return 0; } -#line 28 "" +#line 26 "" yy4: yych = *++YYCURSOR; goto yy3; @@ -52,7 +50,7 @@ yy9: ++YYCURSOR; #line 3 "input1.re" { return 1; } -#line 56 "" +#line 54 "" } #line 6 "input1.re" diff --git a/test/input10.b.c b/test/input10.b.c index ef7c4703..27ec28bd 100755 --- a/test/input10.b.c +++ b/test/input10.b.c @@ -5,8 +5,6 @@ #line 6 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -22,12 +20,12 @@ yy2: ++YYCURSOR; #line 8 "input10.b.re" { return 1; } -#line 26 "" +#line 24 "" yy4: ++YYCURSOR; #line 10 "input10.b.re" { return -1; } -#line 31 "" +#line 29 "" } } #line 12 "input10.b.re" diff --git a/test/input10.c b/test/input10.c index ba39c38e..604983fc 100755 --- a/test/input10.c +++ b/test/input10.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -29,12 +27,12 @@ yy2: ++YYCURSOR; #line 8 "input10.re" { return 1; } -#line 31 "" +#line 29 "" yy4: ++YYCURSOR; #line 10 "input10.re" { return -1; } -#line 36 "" +#line 34 "" } #line 12 "input10.re" diff --git a/test/input10.s.c b/test/input10.s.c index bc0d562f..ca203573 100755 --- a/test/input10.s.c +++ b/test/input10.s.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -21,12 +19,12 @@ yy2: ++YYCURSOR; #line 8 "input10.s.re" { return 1; } -#line 25 "" +#line 23 "" yy4: ++YYCURSOR; #line 10 "input10.s.re" { return -1; } -#line 30 "" +#line 28 "" } #line 12 "input10.s.re" diff --git a/test/input11.b.c b/test/input11.b.c index b7bb7f76..1da8ed77 100755 --- a/test/input11.b.c +++ b/test/input11.b.c @@ -40,8 +40,6 @@ { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; @@ -72,7 +70,7 @@ yy2: yy3: #line 12 "input11.b.re" { return 1; } -#line 76 "" +#line 74 "" yy4: yych = *++YYCURSOR; goto yy14; @@ -81,7 +79,7 @@ yy5: yy6: #line 13 "input11.b.re" { return 2; } -#line 85 "" +#line 83 "" yy7: ++YYCURSOR; if((yych = *YYCURSOR) <= '0') goto yy8; @@ -89,7 +87,7 @@ yy7: yy8: #line 15 "input11.b.re" { return -1; } -#line 93 "" +#line 91 "" yy9: yych = *++YYCURSOR; goto yy12; @@ -144,7 +142,7 @@ yy20: } #line 11 "input11.b.re" { return 0; } -#line 148 "" +#line 146 "" } } #line 17 "input11.b.re" diff --git a/test/input11.c b/test/input11.c index 078bce5b..cdc0e951 100755 --- a/test/input11.c +++ b/test/input11.c @@ -5,8 +5,6 @@ { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; @@ -85,7 +83,7 @@ yy2: yy3: #line 10 "input11.re" { return 1; } -#line 87 "" +#line 85 "" yy4: yych = *++YYCURSOR; goto yy14; @@ -94,7 +92,7 @@ yy5: yy6: #line 11 "input11.re" { return 2; } -#line 96 "" +#line 94 "" yy7: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -112,7 +110,7 @@ yy7: yy8: #line 13 "input11.re" { return -1; } -#line 114 "" +#line 112 "" yy9: yych = *++YYCURSOR; goto yy12; @@ -363,7 +361,7 @@ yy20: yy22: #line 9 "input11.re" { return 0; } -#line 358 "" +#line 356 "" } #line 15 "input11.re" diff --git a/test/input11.s.c b/test/input11.s.c index 400c78be..be679284 100755 --- a/test/input11.s.c +++ b/test/input11.s.c @@ -5,8 +5,6 @@ { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; @@ -37,7 +35,7 @@ yy2: yy3: #line 10 "input11.s.re" { return 1; } -#line 41 "" +#line 39 "" yy4: yych = *++YYCURSOR; goto yy14; @@ -46,7 +44,7 @@ yy5: yy6: #line 11 "input11.s.re" { return 2; } -#line 50 "" +#line 48 "" yy7: ++YYCURSOR; if((yych = *YYCURSOR) <= '0') goto yy8; @@ -54,7 +52,7 @@ yy7: yy8: #line 13 "input11.s.re" { return -1; } -#line 58 "" +#line 56 "" yy9: yych = *++YYCURSOR; goto yy12; @@ -124,7 +122,7 @@ yy20: yy22: #line 9 "input11.s.re" { return 0; } -#line 128 "" +#line 126 "" } #line 15 "input11.s.re" diff --git a/test/input2.c b/test/input2.c index 45816301..36a9f694 100644 --- a/test/input2.c +++ b/test/input2.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -33,7 +31,7 @@ yy6: ++YYCURSOR; #line 3 "input2.re" { return 1; } -#line 37 "" +#line 35 "" } #line 5 "input2.re" diff --git a/test/input3.c b/test/input3.c index bff65997..e0529da8 100644 --- a/test/input3.c +++ b/test/input3.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -33,7 +31,7 @@ yy6: ++YYCURSOR; #line 3 "input3.re" { return 1; } -#line 37 "" +#line 35 "" } #line 5 "input3.re" diff --git a/test/input4.c b/test/input4.c index bff0d00f..f6fdb858 100755 --- a/test/input4.c +++ b/test/input4.c @@ -4,20 +4,18 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy3; #line 3 "input4.re" { return 0; } -#line 16 "" +#line 14 "" yy3: ++YYCURSOR; #line 4 "input4.re" { return 1; } -#line 21 "" +#line 19 "" } #line 7 "input4.re" diff --git a/test/input5.c b/test/input5.c index c7d7befe..2163d603 100755 --- a/test/input5.c +++ b/test/input5.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -17,12 +15,12 @@ yy2: ++YYCURSOR; #line 3 "input5.re" { return 0; } -#line 21 "" +#line 19 "" yy4: ++YYCURSOR; #line 4 "input5.re" { return 1; } -#line 26 "" +#line 24 "" } #line 6 "input5.re" diff --git a/test/input6.c b/test/input6.c index df9cfde3..d994acb2 100755 --- a/test/input6.c +++ b/test/input6.c @@ -4,20 +4,18 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy3; #line 3 "input6.re" { return 0; } -#line 16 "" +#line 14 "" yy3: ++YYCURSOR; #line 4 "input6.re" { return 1; } -#line 21 "" +#line 19 "" } #line 6 "input6.re" diff --git a/test/input7.c b/test/input7.c index 4a8b3b69..eb74ab77 100755 --- a/test/input7.c +++ b/test/input7.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -17,12 +15,12 @@ yy2: ++YYCURSOR; #line 5 "input7.re" { return 0; } -#line 21 "" +#line 19 "" yy4: ++YYCURSOR; #line 6 "input7.re" { return 1; } -#line 26 "" +#line 24 "" } #line 8 "input7.re" diff --git a/test/input8.c b/test/input8.c index b9cc1978..5cb60f54 100755 --- a/test/input8.c +++ b/test/input8.c @@ -5,8 +5,6 @@ { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; @@ -25,12 +23,12 @@ yy2: yy3: #line 6 "input8.re" { return 1; } -#line 29 "" +#line 27 "" yy4: ++YYCURSOR; #line 7 "input8.re" { return 2; } -#line 34 "" +#line 32 "" yy6: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -42,7 +40,7 @@ yy6: yy7: #line 5 "input8.re" { return 0; } -#line 46 "" +#line 44 "" yy8: yych = *++YYCURSOR; switch(yych){ diff --git a/test/input9.c b/test/input9.c index d08fe51d..326193cd 100755 --- a/test/input9.c +++ b/test/input9.c @@ -4,8 +4,6 @@ #line 5 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -28,32 +26,32 @@ yy2: ++YYCURSOR; #line 5 "input9.re" { return 1; } -#line 32 "" +#line 30 "" yy4: ++YYCURSOR; #line 6 "input9.re" { return 2; } -#line 37 "" +#line 35 "" yy6: ++YYCURSOR; #line 7 "input9.re" { return 3; } -#line 42 "" +#line 40 "" yy8: ++YYCURSOR; #line 8 "input9.re" { return 4; } -#line 47 "" +#line 45 "" yy10: ++YYCURSOR; #line 9 "input9.re" { return 5; } -#line 52 "" +#line 50 "" yy12: ++YYCURSOR; #line 10 "input9.re" { return 6; } -#line 57 "" +#line 55 "" yy14: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -63,32 +61,32 @@ yy14: yy15: #line 18 "input9.re" { return 0; } -#line 67 "" +#line 65 "" yy16: ++YYCURSOR; #line 13 "input9.re" { return 8; } -#line 72 "" +#line 70 "" yy18: ++YYCURSOR; #line 14 "input9.re" { return 9; } -#line 77 "" +#line 75 "" yy20: ++YYCURSOR; #line 15 "input9.re" { return 10; } -#line 82 "" +#line 80 "" yy22: ++YYCURSOR; #line 16 "input9.re" { return 11; } -#line 87 "" +#line 85 "" yy24: ++YYCURSOR; #line 17 "input9.re" { return 12; } -#line 92 "" +#line 90 "" yy26: yych = *++YYCURSOR; goto yy15; @@ -96,7 +94,7 @@ yy27: ++YYCURSOR; #line 11 "input9.re" { return 7; } -#line 100 "" +#line 98 "" } #line 20 "input9.re" diff --git a/test/modula.c b/test/modula.c index 12e0a1c9..05fb5790 100644 --- a/test/modula.c +++ b/test/modula.c @@ -67,8 +67,6 @@ std: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 15) YYFILL(15); yych = *YYCURSOR; @@ -173,7 +171,7 @@ yy2: yy3: #line 79 "modula.re" {RETURN(9);} -#line 173 "" +#line 171 "" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -181,7 +179,7 @@ yy4: yy5: #line 69 "modula.re" {RETURN(1);} -#line 181 "" +#line 179 "" yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -199,7 +197,7 @@ yy8: printf("unexpected character: %c\n", *s->tok); goto std; } -#line 199 "" +#line 197 "" yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -211,37 +209,37 @@ yy10: ++YYCURSOR; #line 77 "modula.re" {RETURN(7);} -#line 211 "" +#line 209 "" yy12: ++YYCURSOR; #line 78 "modula.re" {RETURN(8);} -#line 216 "" +#line 214 "" yy14: ++YYCURSOR; #line 80 "modula.re" {RETURN(10);} -#line 221 "" +#line 219 "" yy16: ++YYCURSOR; #line 81 "modula.re" {RETURN(11);} -#line 226 "" +#line 224 "" yy18: ++YYCURSOR; #line 82 "modula.re" {RETURN(12);} -#line 231 "" +#line 229 "" yy20: ++YYCURSOR; #line 83 "modula.re" {RETURN(13);} -#line 236 "" +#line 234 "" yy22: ++YYCURSOR; #line 84 "modula.re" {RETURN(14);} -#line 241 "" +#line 239 "" yy24: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -251,12 +249,12 @@ yy24: yy25: #line 85 "modula.re" {RETURN(15);} -#line 251 "" +#line 249 "" yy26: ++YYCURSOR; #line 87 "modula.re" {RETURN(17);} -#line 256 "" +#line 254 "" yy28: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -266,12 +264,12 @@ yy28: yy29: #line 88 "modula.re" {RETURN(18);} -#line 266 "" +#line 264 "" yy30: ++YYCURSOR; #line 90 "modula.re" {RETURN(20);} -#line 271 "" +#line 269 "" yy32: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -282,12 +280,12 @@ yy32: yy33: #line 91 "modula.re" {RETURN(21);} -#line 282 "" +#line 280 "" yy34: ++YYCURSOR; #line 94 "modula.re" {RETURN(24);} -#line 287 "" +#line 285 "" yy36: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -297,42 +295,42 @@ yy36: yy37: #line 95 "modula.re" {RETURN(25);} -#line 297 "" +#line 295 "" yy38: ++YYCURSOR; #line 97 "modula.re" {RETURN(27);} -#line 302 "" +#line 300 "" yy40: ++YYCURSOR; #line 98 "modula.re" {RETURN(28);} -#line 307 "" +#line 305 "" yy42: ++YYCURSOR; #line 99 "modula.re" {RETURN(29);} -#line 312 "" +#line 310 "" yy44: ++YYCURSOR; #line 100 "modula.re" {RETURN(30);} -#line 317 "" +#line 315 "" yy46: ++YYCURSOR; #line 101 "modula.re" {RETURN(31);} -#line 322 "" +#line 320 "" yy48: ++YYCURSOR; #line 102 "modula.re" {RETURN(32);} -#line 327 "" +#line 325 "" yy50: ++YYCURSOR; #line 103 "modula.re" {RETURN(33);} -#line 332 "" +#line 330 "" yy52: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -343,7 +341,7 @@ yy52: yy53: #line 146 "modula.re" {RETURN(74);} -#line 343 "" +#line 341 "" yy54: yych = *++YYCURSOR; switch(yych){ @@ -476,7 +474,7 @@ yy73: yy74: #line 148 "modula.re" { goto std; } -#line 476 "" +#line 474 "" yy75: ++YYCURSOR; #line 151 "modula.re" @@ -485,7 +483,7 @@ yy75: s->pos = cursor; s->line++; goto std; } -#line 485 "" +#line 483 "" yy77: yych = *++YYCURSOR; goto yy8; @@ -657,7 +655,7 @@ yy85: yy86: #line 144 "modula.re" {RETURN(73);} -#line 652 "" +#line 650 "" yy87: yych = *++YYCURSOR; switch(yych){ @@ -740,7 +738,7 @@ yy89: yy90: #line 143 "modula.re" {RETURN(72);} -#line 733 "" +#line 731 "" yy91: yych = *++YYCURSOR; switch(yych){ @@ -817,7 +815,7 @@ yy92: yy93: #line 142 "modula.re" {RETURN(71);} -#line 808 "" +#line 806 "" yy94: yych = *++YYCURSOR; switch(yych){ @@ -906,7 +904,7 @@ yy97: yy98: #line 141 "modula.re" {RETURN(70);} -#line 895 "" +#line 893 "" yy99: yych = *++YYCURSOR; switch(yych){ @@ -983,7 +981,7 @@ yy100: yy101: #line 139 "modula.re" {RETURN(68);} -#line 970 "" +#line 968 "" yy102: yych = *++YYCURSOR; switch(yych){ @@ -1066,7 +1064,7 @@ yy104: yy105: #line 140 "modula.re" {RETURN(69);} -#line 1051 "" +#line 1049 "" yy106: yych = *++YYCURSOR; switch(yych){ @@ -1143,7 +1141,7 @@ yy107: yy108: #line 138 "modula.re" {RETURN(67);} -#line 1126 "" +#line 1124 "" yy109: yych = *++YYCURSOR; switch(yych){ @@ -1220,7 +1218,7 @@ yy110: yy111: #line 137 "modula.re" {RETURN(66);} -#line 1201 "" +#line 1199 "" yy112: yych = *++YYCURSOR; switch(yych){ @@ -1329,7 +1327,7 @@ yy118: yy119: #line 136 "modula.re" {RETURN(65);} -#line 1308 "" +#line 1306 "" yy120: yych = *++YYCURSOR; switch(yych){ @@ -1412,7 +1410,7 @@ yy122: yy123: #line 135 "modula.re" {RETURN(64);} -#line 1389 "" +#line 1387 "" yy124: yych = *++YYCURSOR; switch(yych){ @@ -1495,7 +1493,7 @@ yy126: yy127: #line 134 "modula.re" {RETURN(63);} -#line 1470 "" +#line 1468 "" yy128: yych = *++YYCURSOR; switch(yych){ @@ -1608,7 +1606,7 @@ yy135: yy136: #line 133 "modula.re" {RETURN(62);} -#line 1581 "" +#line 1579 "" yy137: yych = *++YYCURSOR; switch(yych){ @@ -1727,7 +1725,7 @@ yy145: yy146: #line 132 "modula.re" {RETURN(61);} -#line 1698 "" +#line 1696 "" yy147: yych = *++YYCURSOR; switch(yych){ @@ -1822,7 +1820,7 @@ yy151: yy152: #line 131 "modula.re" {RETURN(60);} -#line 1791 "" +#line 1789 "" yy153: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1893,7 +1891,7 @@ yy153: yy154: #line 129 "modula.re" {RETURN(58);} -#line 1860 "" +#line 1858 "" yy155: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1964,7 +1962,7 @@ yy155: yy156: #line 130 "modula.re" {RETURN(59);} -#line 1929 "" +#line 1927 "" yy157: yych = *++YYCURSOR; switch(yych){ @@ -2041,7 +2039,7 @@ yy158: yy159: #line 128 "modula.re" {RETURN(57);} -#line 2004 "" +#line 2002 "" yy160: yych = *++YYCURSOR; switch(yych){ @@ -2118,7 +2116,7 @@ yy161: yy162: #line 126 "modula.re" {RETURN(55);} -#line 2078 "" +#line 2076 "" yy163: yych = *++YYCURSOR; switch(yych){ @@ -2201,7 +2199,7 @@ yy165: yy166: #line 127 "modula.re" {RETURN(56);} -#line 2159 "" +#line 2157 "" yy167: yych = *++YYCURSOR; switch(yych){ @@ -2284,7 +2282,7 @@ yy169: yy170: #line 125 "modula.re" {RETURN(54);} -#line 2240 "" +#line 2238 "" yy171: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2355,7 +2353,7 @@ yy171: yy172: #line 121 "modula.re" {RETURN(50);} -#line 2309 "" +#line 2307 "" yy173: yych = *++YYCURSOR; switch(yych){ @@ -2432,7 +2430,7 @@ yy174: yy175: #line 124 "modula.re" {RETURN(53);} -#line 2384 "" +#line 2382 "" yy176: yych = *++YYCURSOR; switch(yych){ @@ -2528,7 +2526,7 @@ yy180: yy181: #line 123 "modula.re" {RETURN(52);} -#line 2478 "" +#line 2476 "" yy182: yych = *++YYCURSOR; switch(yych){ @@ -2653,7 +2651,7 @@ yy191: yy192: #line 122 "modula.re" {RETURN(51);} -#line 2601 "" +#line 2599 "" yy193: yych = *++YYCURSOR; switch(yych){ @@ -2742,7 +2740,7 @@ yy196: yy197: #line 120 "modula.re" {RETURN(49);} -#line 2688 "" +#line 2686 "" yy198: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2813,7 +2811,7 @@ yy198: yy199: #line 119 "modula.re" {RETURN(48);} -#line 2757 "" +#line 2755 "" yy200: yych = *++YYCURSOR; switch(yych){ @@ -2927,7 +2925,7 @@ yy207: yy208: #line 118 "modula.re" {RETURN(47);} -#line 2869 "" +#line 2867 "" yy209: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -2998,7 +2996,7 @@ yy209: yy210: #line 117 "modula.re" {RETURN(46);} -#line 2938 "" +#line 2936 "" yy211: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -3069,7 +3067,7 @@ yy211: yy212: #line 116 "modula.re" {RETURN(45);} -#line 3007 "" +#line 3005 "" yy213: yych = *++YYCURSOR; switch(yych){ @@ -3147,7 +3145,7 @@ yy214: yy215: #line 114 "modula.re" {RETURN(43);} -#line 3083 "" +#line 3081 "" yy216: yych = *++YYCURSOR; switch(yych){ @@ -3224,7 +3222,7 @@ yy217: yy218: #line 115 "modula.re" {RETURN(44);} -#line 3158 "" +#line 3156 "" yy219: yych = *++YYCURSOR; switch(yych){ @@ -3307,7 +3305,7 @@ yy221: yy222: #line 113 "modula.re" {RETURN(42);} -#line 3239 "" +#line 3237 "" yy223: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -3378,7 +3376,7 @@ yy223: yy224: #line 112 "modula.re" {RETURN(41);} -#line 3308 "" +#line 3306 "" yy225: yych = *++YYCURSOR; switch(yych){ @@ -3491,7 +3489,7 @@ yy232: yy233: #line 111 "modula.re" {RETURN(40);} -#line 3419 "" +#line 3417 "" yy234: yych = *++YYCURSOR; switch(yych){ @@ -3586,7 +3584,7 @@ yy238: yy239: #line 110 "modula.re" {RETURN(39);} -#line 3512 "" +#line 3510 "" yy240: yych = *++YYCURSOR; switch(yych){ @@ -3663,7 +3661,7 @@ yy241: yy242: #line 109 "modula.re" {RETURN(38);} -#line 3587 "" +#line 3585 "" yy243: yych = *++YYCURSOR; switch(yych){ @@ -3740,7 +3738,7 @@ yy244: yy245: #line 108 "modula.re" {RETURN(37);} -#line 3662 "" +#line 3660 "" yy246: yych = *++YYCURSOR; switch(yych){ @@ -3823,7 +3821,7 @@ yy248: yy249: #line 107 "modula.re" {RETURN(36);} -#line 3743 "" +#line 3741 "" yy250: yych = *++YYCURSOR; switch(yych){ @@ -3918,7 +3916,7 @@ yy254: yy255: #line 106 "modula.re" {RETURN(35);} -#line 3836 "" +#line 3834 "" yy256: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -3989,32 +3987,32 @@ yy256: yy257: #line 105 "modula.re" {RETURN(34);} -#line 3905 "" +#line 3903 "" yy258: ++YYCURSOR; #line 96 "modula.re" {RETURN(26);} -#line 3910 "" +#line 3908 "" yy260: ++YYCURSOR; #line 93 "modula.re" {RETURN(23);} -#line 3915 "" +#line 3913 "" yy262: ++YYCURSOR; #line 92 "modula.re" {RETURN(22);} -#line 3920 "" +#line 3918 "" yy264: ++YYCURSOR; #line 89 "modula.re" {RETURN(19);} -#line 3925 "" +#line 3923 "" yy266: ++YYCURSOR; #line 86 "modula.re" {RETURN(16);} -#line 3930 "" +#line 3928 "" yy268: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -4038,7 +4036,7 @@ yy271: ++YYCURSOR; #line 75 "modula.re" {RETURN(6);} -#line 3954 "" +#line 3952 "" yy273: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -4059,7 +4057,7 @@ yy275: yy276: #line 74 "modula.re" {RETURN(5);} -#line 3975 "" +#line 3973 "" yy277: yyaccept = 0; YYMARKER = ++YYCURSOR; @@ -4115,12 +4113,12 @@ yy281: ++YYCURSOR; #line 73 "modula.re" {RETURN(4);} -#line 4030 "" +#line 4028 "" yy283: ++YYCURSOR; YYCURSOR -= 2;#line 70 "modula.re" {RETURN(1);} -#line 4035 "" +#line 4033 "" yy285: yyaccept = 2; YYMARKER = ++YYCURSOR; @@ -4243,7 +4241,7 @@ yy293: yy294: #line 71 "modula.re" {RETURN(2);} -#line 4155 "" +#line 4153 "" yy295: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); @@ -4270,23 +4268,20 @@ yy295: yy296: #line 72 "modula.re" {RETURN(3);} -#line 4181 "" +#line 4179 "" yy297: ++YYCURSOR; #line 67 "modula.re" { depth = 1; goto comment; } -#line 4186 "" +#line 4184 "" } #line 162 "modula.re" comment: -#line 4192 "" +#line 4190 "" { YYCTYPE yych; - goto yy299; - ++YYCURSOR; -yy299: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -4304,7 +4299,7 @@ yy301: yy302: #line 179 "modula.re" { goto comment; } -#line 4215 "" +#line 4210 "" yy303: yych = *++YYCURSOR; switch(yych){ @@ -4319,7 +4314,7 @@ yy304: s->tok = s->pos = cursor; s->line++; goto comment; } -#line 4230 "" +#line 4225 "" yy306: yych = *++YYCURSOR; goto yy302; @@ -4327,7 +4322,7 @@ yy307: ++YYCURSOR; #line 172 "modula.re" { ++depth; goto comment; } -#line 4238 "" +#line 4233 "" yy309: ++YYCURSOR; #line 166 "modula.re" @@ -4337,7 +4332,7 @@ yy309: else goto comment; } -#line 4248 "" +#line 4243 "" } #line 180 "modula.re" diff --git a/test/push.c b/test/push.c index c5553f04..ff59ed70 100755 --- a/test/push.c +++ b/test/push.c @@ -232,8 +232,6 @@ public: #line 233 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; @@ -326,7 +324,7 @@ yy2: yy3: #line 246 "push.re" { SEND(kIdentifier); } -#line 322 "" +#line 320 "" yy4: yych = *++YYCURSOR; switch(yych){ @@ -376,62 +374,62 @@ yy12: yy13: #line 247 "push.re" { SEND(kDecimalConstant);} -#line 372 "" +#line 370 "" yy14: ++YYCURSOR; #line 249 "push.re" { SEND(kEqual); } -#line 377 "" +#line 375 "" yy16: ++YYCURSOR; #line 250 "push.re" { SEND(kLeftParen); } -#line 382 "" +#line 380 "" yy18: ++YYCURSOR; #line 251 "push.re" { SEND(kRightParen); } -#line 387 "" +#line 385 "" yy20: ++YYCURSOR; #line 252 "push.re" { SEND(kMinus); } -#line 392 "" +#line 390 "" yy22: ++YYCURSOR; #line 253 "push.re" { SEND(kPlus); } -#line 397 "" +#line 395 "" yy24: ++YYCURSOR; #line 254 "push.re" { SEND(kStar); } -#line 402 "" +#line 400 "" yy26: ++YYCURSOR; #line 255 "push.re" { SEND(kSlash); } -#line 407 "" +#line 405 "" yy28: ++YYCURSOR; #line 257 "push.re" { SKIP(); } -#line 412 "" +#line 410 "" yy30: ++YYCURSOR; #line 258 "push.re" { SKIP(); } -#line 417 "" +#line 415 "" yy32: ++YYCURSOR; #line 259 "push.re" { send(kEOF); return 1; } -#line 422 "" +#line 420 "" yy34: ++YYCURSOR; #line 260 "push.re" { SEND(kUnknown); } -#line 427 "" +#line 425 "" yy36: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -616,7 +614,7 @@ yy44: yy45: #line 245 "push.re" { SEND(kReturn); } -#line 606 "" +#line 604 "" yy46: yych = *++YYCURSOR; switch(yych){ @@ -706,7 +704,7 @@ yy49: yy50: #line 244 "push.re" { SEND(kWhile); } -#line 693 "" +#line 691 "" yy51: yych = *++YYCURSOR; switch(yych){ @@ -796,7 +794,7 @@ yy54: yy55: #line 243 "push.re" { SEND(kBreak); } -#line 780 "" +#line 778 "" yy56: yych = *++YYCURSOR; switch(yych){ @@ -880,7 +878,7 @@ yy58: yy59: #line 242 "push.re" { SEND(kGoto); } -#line 861 "" +#line 859 "" yy60: yych = *++YYCURSOR; switch(yych){ @@ -964,7 +962,7 @@ yy62: yy63: #line 241 "push.re" { SEND(kElse); } -#line 942 "" +#line 940 "" yy64: yych = *++YYCURSOR; switch(yych){ @@ -1042,7 +1040,7 @@ yy65: yy66: #line 240 "push.re" { SEND(kFor); } -#line 1017 "" +#line 1015 "" yy67: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -1114,7 +1112,7 @@ yy67: yy68: #line 239 "push.re" { SEND(kIf); } -#line 1086 "" +#line 1084 "" } #line 261 "push.re" diff --git a/test/repeater.c b/test/repeater.c index bf6997e1..8f6aaeb3 100644 --- a/test/repeater.c +++ b/test/repeater.c @@ -19,8 +19,6 @@ const char *q; { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; @@ -43,7 +41,7 @@ yy2: yy3: #line 22 "repeater.re" {RET(5);} -#line 45 "" +#line 43 "" yy4: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -56,7 +54,7 @@ yy4: yy5: #line 23 "repeater.re" {RET(0);} -#line 57 "" +#line 55 "" yy6: yych = *++YYCURSOR; goto yy3; @@ -81,7 +79,7 @@ yy10: ++YYCURSOR; #line 18 "repeater.re" {RET(1);} -#line 81 "" +#line 79 "" yy12: yych = *++YYCURSOR; switch(yych){ @@ -94,7 +92,7 @@ yy13: ++YYCURSOR; #line 19 "repeater.re" {RET(2);} -#line 93 "" +#line 91 "" yy15: yych = *++YYCURSOR; switch(yych){ @@ -115,7 +113,7 @@ yy17: ++YYCURSOR; #line 21 "repeater.re" {RET(4);} -#line 112 "" +#line 110 "" yy19: yych = *++YYCURSOR; switch(yych){ @@ -126,7 +124,7 @@ yy20: ++YYCURSOR; #line 20 "repeater.re" {RET(3);} -#line 123 "" +#line 121 "" yy22: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); diff --git a/test/sample.c b/test/sample.c index d23682ab..b34e53c5 100644 --- a/test/sample.c +++ b/test/sample.c @@ -5,8 +5,6 @@ { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; @@ -58,7 +56,7 @@ yy2: yy3: #line 3 "sample.re" {return ID;} -#line 61 "" +#line 59 "" yy4: yych = *++YYCURSOR; goto yy18; @@ -72,7 +70,7 @@ yy5: yy6: #line 4 "sample.re" {return DEC;} -#line 75 "" +#line 73 "" yy7: yych = *++YYCURSOR; goto yy11; @@ -80,7 +78,7 @@ yy8: ++YYCURSOR; #line 6 "sample.re" {return ERR;} -#line 83 "" +#line 81 "" yy10: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -151,7 +149,7 @@ yy14: yy16: #line 5 "sample.re" {return HEX;} -#line 152 "" +#line 150 "" yy17: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -238,7 +236,7 @@ yy22: yy23: #line 2 "sample.re" {return PRINT;} -#line 239 "" +#line 237 "" } #line 7 "sample.re" diff --git a/test/scanner.c b/test/scanner.c index 5e2fc655..0ddb1a12 100644 --- a/test/scanner.c +++ b/test/scanner.c @@ -79,8 +79,6 @@ echo: { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; @@ -99,7 +97,7 @@ yy2: yy3: #line 91 "scanner.re" { goto echo; } -#line 103 "" +#line 101 "" yy4: ++YYCURSOR; #line 87 "scanner.re" @@ -107,7 +105,7 @@ yy4: out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } -#line 111 "" +#line 109 "" yy6: yych = *++YYCURSOR; goto yy3; @@ -152,7 +150,7 @@ yy13: { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } -#line 156 "" +#line 154 "" } #line 92 "scanner.re" @@ -168,13 +166,10 @@ scan: tline = cline; tok = cursor; -#line 172 "" +#line 170 "" { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy15; - ++YYCURSOR; -yy15: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -270,7 +265,7 @@ yy18: { depth = 1; goto code; } -#line 267 "" +#line 262 "" yy19: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -280,7 +275,7 @@ yy19: yy20: #line 131 "scanner.re" { RETURN(*tok); } -#line 277 "" +#line 272 "" yy21: ++YYCURSOR; switch((yych = *YYCURSOR)) { @@ -291,7 +286,7 @@ yy22: #line 133 "scanner.re" { yylval.op = *tok; RETURN(CLOSE); } -#line 288 "" +#line 283 "" yy23: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -302,7 +297,7 @@ yy23: yy24: #line 122 "scanner.re" { fatal("unterminated string constant (missing \")"); } -#line 299 "" +#line 294 "" yy25: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -313,7 +308,7 @@ yy25: yy26: #line 123 "scanner.re" { fatal("unterminated string constant (missing ')"); } -#line 310 "" +#line 305 "" yy27: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); @@ -324,7 +319,7 @@ yy27: yy28: #line 129 "scanner.re" { fatal("unterminated range (missing ])"); } -#line 321 "" +#line 316 "" yy29: yych = *++YYCURSOR; goto yy20; @@ -340,7 +335,7 @@ yy32: { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } -#line 337 "" +#line 332 "" yy33: ++YYCURSOR; yych = *YYCURSOR; @@ -348,7 +343,7 @@ yy33: yy34: #line 152 "scanner.re" { goto scan; } -#line 345 "" +#line 340 "" yy35: ++YYCURSOR; #line 154 "scanner.re" @@ -356,14 +351,14 @@ yy35: pos = cursor; cline++; goto scan; } -#line 353 "" +#line 348 "" yy37: ++YYCURSOR; #line 159 "scanner.re" { std::cerr << "unexpected character: " << *tok << std::endl; goto scan; } -#line 360 "" +#line 355 "" yy39: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -477,7 +472,7 @@ yy47: { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } -#line 471 "" +#line 466 "" yy49: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -503,7 +498,7 @@ yy52: { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } -#line 497 "" +#line 492 "" yy54: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -529,19 +524,19 @@ yy57: { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } -#line 523 "" +#line 518 "" yy59: ++YYCURSOR; #line 111 "scanner.re" { tok = cursor; RETURN(0); } -#line 529 "" +#line 524 "" yy61: ++YYCURSOR; #line 108 "scanner.re" { depth = 1; goto comment; } -#line 535 "" +#line 530 "" yy63: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -567,7 +562,7 @@ yy65: { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } -#line 561 "" +#line 556 "" yy67: yych = *++YYCURSOR; switch(yych){ @@ -580,7 +575,7 @@ yy68: { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } -#line 574 "" +#line 569 "" yy70: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -606,20 +601,17 @@ yy72: { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } -#line 600 "" +#line 595 "" } #line 162 "scanner.re" code: -#line 607 "" +#line 602 "" { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy74; - ++YYCURSOR; -yy74: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -639,13 +631,13 @@ yy76: return CODE; } goto code; } -#line 633 "" +#line 625 "" yy78: ++YYCURSOR; #line 172 "scanner.re" { ++depth; goto code; } -#line 639 "" +#line 631 "" yy80: ++YYCURSOR; #line 174 "scanner.re" @@ -653,13 +645,13 @@ yy80: pos = cursor; cline++; goto code; } -#line 647 "" +#line 639 "" yy82: ++YYCURSOR; yy83: #line 178 "scanner.re" { goto code; } -#line 653 "" +#line 645 "" yy84: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -723,12 +715,9 @@ yy92: comment: -#line 717 "" +#line 709 "" { YYCTYPE yych; - goto yy93; - ++YYCURSOR; -yy93: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ @@ -746,7 +735,7 @@ yy95: yy96: #line 193 "scanner.re" { goto comment; } -#line 740 "" +#line 729 "" yy97: yych = *++YYCURSOR; switch(yych){ @@ -760,7 +749,7 @@ yy98: tok = pos = cursor; cline++; goto comment; } -#line 754 "" +#line 743 "" yy100: yych = *++YYCURSOR; goto yy96; @@ -769,7 +758,7 @@ yy101: #line 187 "scanner.re" { ++depth; goto comment; } -#line 763 "" +#line 752 "" yy103: ++YYCURSOR; #line 183 "scanner.re" @@ -777,7 +766,7 @@ yy103: goto scan; else goto comment; } -#line 771 "" +#line 760 "" } #line 194 "scanner.re" diff --git a/test/simple.c b/test/simple.c index eb87d1ea..000d2b90 100644 --- a/test/simple.c +++ b/test/simple.c @@ -12,8 +12,6 @@ char *q; #line 13 "" { YYCTYPE yych; - goto yy0; - ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -37,12 +35,12 @@ yy2: yy3: #line 10 "simple.re" {return YYCURSOR;} -#line 41 "" +#line 39 "" yy4: ++YYCURSOR; #line 11 "simple.re" {return NULL;} -#line 46 "" +#line 44 "" yy6: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1);