From: Ulya Trofimovich Date: Wed, 30 Nov 2016 16:48:45 +0000 (+0000) Subject: Added debug options '--dump-dfa-det', '--dump-dfa-tagopt' and '--dump-dfa-min'. X-Git-Tag: 1.0~39^2~215 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=67ebe3f478ed5d73ddbb385c0f1371ca7d9f88d8;p=re2c Added debug options '--dump-dfa-det', '--dump-dfa-tagopt' and '--dump-dfa-min'. --- diff --git a/re2c/Makefile.am b/re2c/Makefile.am index eb4f4759..7da7381d 100644 --- a/re2c/Makefile.am +++ b/re2c/Makefile.am @@ -25,6 +25,7 @@ SRC_HDR = \ src/ir/dfa/cfg/cfg.h \ src/ir/dfa/closure.h \ src/ir/dfa/dfa.h \ + src/ir/dfa/dump.h \ src/ir/dfa/find_state.h \ src/ir/dfa/tagpool.h \ src/ir/nfa/nfa.h \ @@ -105,6 +106,7 @@ SRC = \ src/ir/dfa/closure.cc \ src/ir/dfa/dead_rules.cc \ src/ir/dfa/determinization.cc \ + src/ir/dfa/dump.cc \ src/ir/dfa/fallback_tags.cc \ src/ir/dfa/fillpoints.cc \ src/ir/dfa/find_state.cc \ diff --git a/re2c/bootstrap/src/conf/parse_opts.cc b/re2c/bootstrap/src/conf/parse_opts.cc index d891b503..b8f95619 100644 --- a/re2c/bootstrap/src/conf/parse_opts.cc +++ b/re2c/bootstrap/src/conf/parse_opts.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Wed May 11 11:08:20 2016 */ +/* Generated by re2c 0.16 on Wed Nov 30 14:43:42 2016 */ #line 1 "../src/conf/parse_opts.re" #include "src/codegen/input_api.h" #include "src/conf/msg.h" @@ -73,70 +73,64 @@ opt: }; yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x00) goto yy2; - if (yych == '-') goto yy5; + if (yych == '-') goto yy6; goto yy4; yy2: ++YYCURSOR; -yy3: #line 40 "../src/conf/parse_opts.re" { error ("bad option: %s", *argv); return EXIT_FAIL; } -#line 87 "src/conf/parse_opts.cc" +#line 86 "src/conf/parse_opts.cc" yy4: - yyaccept = 0; - yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - goto yy10; -yy5: + ++YYCURSOR; + yych = (YYCTYPE)*YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy4; + } + goto yy8; +yy6: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= '-') { - if (yych <= 0x00) goto yy11; - if (yych >= '-') goto yy13; + if (yych <= 0x00) goto yy10; + if (yych >= '-') goto yy12; } else { - if (yych == 'W') goto yy15; + if (yych == 'W') goto yy14; } #line 63 "../src/conf/parse_opts.re" { goto opt_short; } -#line 102 "src/conf/parse_opts.cc" -yy7: +#line 104 "src/conf/parse_opts.cc" +yy8: ++YYCURSOR; #line 61 "../src/conf/parse_opts.re" { if (!opts.source (*argv)) return EXIT_FAIL; goto opt; } -#line 107 "src/conf/parse_opts.cc" -yy9: - ++YYCURSOR; - yych = (YYCTYPE)*YYCURSOR; +#line 109 "src/conf/parse_opts.cc" yy10: - if (yybm[0+yych] & 128) { - goto yy9; - } - goto yy7; -yy11: ++YYCURSOR; #line 60 "../src/conf/parse_opts.re" { if (!opts.source ("")) return EXIT_FAIL; goto opt; } -#line 120 "src/conf/parse_opts.cc" -yy13: +#line 114 "src/conf/parse_opts.cc" +yy12: ++YYCURSOR; - if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy17; + if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy16; #line 64 "../src/conf/parse_opts.re" { goto opt_long; } -#line 126 "src/conf/parse_opts.cc" -yy15: - yyaccept = 1; +#line 120 "src/conf/parse_opts.cc" +yy14: + yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'e') { - if (yych <= 0x00) goto yy19; - if (yych >= 'e') goto yy21; + if (yych <= 0x00) goto yy18; + if (yych >= 'e') goto yy20; } else { - if (yych == 'n') goto yy23; + if (yych == 'n') goto yy22; } -yy16: +yy15: #line 68 "../src/conf/parse_opts.re" { option = Warn::W; goto opt_warn; } -#line 139 "src/conf/parse_opts.cc" -yy17: +#line 133 "src/conf/parse_opts.cc" +yy16: ++YYCURSOR; #line 46 "../src/conf/parse_opts.re" { @@ -152,2259 +146,2360 @@ yy17: } goto end; } -#line 156 "src/conf/parse_opts.cc" -yy19: +#line 150 "src/conf/parse_opts.cc" +yy18: ++YYCURSOR; #line 66 "../src/conf/parse_opts.re" { warn.set_all (); goto opt; } -#line 161 "src/conf/parse_opts.cc" -yy21: +#line 155 "src/conf/parse_opts.cc" +yy20: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy24; -yy22: + if (yych == 'r') goto yy23; +yy21: YYCURSOR = YYMARKER; - if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy3; - } else { - goto yy16; - } + if (yyaccept == 0) { + goto yy15; } else { - goto yy28; + goto yy27; } +yy22: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'o') goto yy24; + goto yy21; yy23: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy25; - goto yy22; + if (yych == 'r') goto yy25; + goto yy21; yy24: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy26; - goto yy22; + if (yych == '-') goto yy26; + goto yy21; yy25: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy27; - goto yy22; + if (yych == 'o') goto yy28; + goto yy21; yy26: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy29; - goto yy22; -yy27: - yyaccept = 2; + yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy30; -yy28: + if (yych == 'e') goto yy29; +yy27: #line 69 "../src/conf/parse_opts.re" { option = Warn::WNO; goto opt_warn; } -#line 199 "src/conf/parse_opts.cc" +#line 189 "src/conf/parse_opts.cc" +yy28: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'r') goto yy30; + goto yy21; yy29: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy31; - goto yy22; + goto yy21; yy30: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy32; - goto yy22; + if (yych <= 0x00) goto yy32; + if (yych == '-') goto yy34; + goto yy21; yy31: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy33; - if (yych == '-') goto yy35; - goto yy22; + if (yych == 'r') goto yy36; + goto yy21; yy32: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy37; - goto yy22; -yy33: ++YYCURSOR; #line 67 "../src/conf/parse_opts.re" { warn.set_all_error (); goto opt; } -#line 221 "src/conf/parse_opts.cc" -yy35: +#line 211 "src/conf/parse_opts.cc" +yy34: ++YYCURSOR; #line 70 "../src/conf/parse_opts.re" { option = Warn::WERROR; goto opt_warn; } -#line 226 "src/conf/parse_opts.cc" -yy37: +#line 216 "src/conf/parse_opts.cc" +yy36: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'o') goto yy22; + if (yych != 'o') goto yy21; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'r') goto yy22; + if (yych != 'r') goto yy21; yych = (YYCTYPE)*++YYCURSOR; - if (yych != '-') goto yy22; + if (yych != '-') goto yy21; ++YYCURSOR; #line 71 "../src/conf/parse_opts.re" { option = Warn::WNOERROR; goto opt_warn; } -#line 237 "src/conf/parse_opts.cc" +#line 227 "src/conf/parse_opts.cc" } #line 72 "../src/conf/parse_opts.re" opt_warn: -#line 244 "src/conf/parse_opts.cc" +#line 234 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; switch (yych) { - case 'c': goto yy46; - case 'e': goto yy47; - case 'm': goto yy48; - case 'n': goto yy49; - case 's': goto yy50; - case 'u': goto yy51; - default: goto yy44; + case 'c': goto yy45; + case 'e': goto yy46; + case 'm': goto yy47; + case 'n': goto yy48; + case 's': goto yy49; + case 'u': goto yy50; + default: goto yy43; } -yy44: +yy43: ++YYCURSOR; -yy45: +yy44: #line 77 "../src/conf/parse_opts.re" { error ("bad warning: %s", *argv); return EXIT_FAIL; } -#line 265 "src/conf/parse_opts.cc" +#line 255 "src/conf/parse_opts.cc" +yy45: + yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); + if (yych == 'o') goto yy51; + goto yy44; yy46: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy52; - goto yy45; + if (yych == 'm') goto yy53; + goto yy44; yy47: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy54; - goto yy45; + if (yych == 'a') goto yy54; + goto yy44; yy48: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy55; - goto yy45; + if (yych == 'o') goto yy55; + goto yy44; yy49: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy56; - goto yy45; + if (yych == 'w') goto yy56; + goto yy44; yy50: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'w') goto yy57; - goto yy45; + if (yych == 'n') goto yy57; + if (yych == 's') goto yy58; + goto yy44; yy51: - yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy58; - if (yych == 's') goto yy59; - goto yy45; -yy52: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy60; -yy53: + if (yych == 'n') goto yy59; +yy52: YYCURSOR = YYMARKER; - goto yy45; + goto yy44; +yy53: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'p') goto yy60; + goto yy52; yy54: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy61; - goto yy53; + if (yych == 't') goto yy61; + goto yy52; yy55: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy62; - goto yy53; + if (yych == 'n') goto yy62; + goto yy52; yy56: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy63; - goto yy53; + if (yych == 'a') goto yy63; + goto yy52; yy57: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy64; - goto yy53; + if (yych == 'd') goto yy64; + if (yych == 'r') goto yy65; + goto yy52; yy58: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy65; - if (yych == 'r') goto yy66; - goto yy53; + if (yych == 'e') goto yy66; + goto yy52; yy59: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy67; - goto yy53; + if (yych == 'd') goto yy67; + goto yy52; yy60: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy68; - goto yy53; + if (yych == 't') goto yy68; + goto yy52; yy61: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy69; - goto yy53; + if (yych == 'c') goto yy69; + goto yy52; yy62: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy70; - goto yy53; + if (yych == 'd') goto yy70; + goto yy52; yy63: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy71; - goto yy53; + if (yych == 'p') goto yy71; + goto yy52; yy64: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy72; - goto yy53; + if (yych == 'e') goto yy72; + goto yy52; yy65: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy73; - goto yy53; + goto yy52; yy66: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy74; - goto yy53; + if (yych == 'l') goto yy74; + goto yy52; yy67: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy75; - goto yy53; + if (yych == 'i') goto yy75; + goto yy52; yy68: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy76; - goto yy53; + if (yych == 'y') goto yy76; + goto yy52; yy69: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy77; - goto yy53; + if (yych == 'h') goto yy77; + goto yy52; yy70: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy78; - goto yy53; + if (yych == 'e') goto yy78; + goto yy52; yy71: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy79; - goto yy53; + if (yych == 'p') goto yy79; + goto yy52; yy72: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy80; - goto yy53; + if (yych == 'f') goto yy80; + goto yy52; yy73: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy81; - goto yy53; + if (yych == 'a') goto yy81; + goto yy52; yy74: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy82; - goto yy53; + if (yych == 'e') goto yy82; + goto yy52; yy75: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy83; - goto yy53; + if (yych == 't') goto yy83; + goto yy52; yy76: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy84; - goto yy53; + if (yych == '-') goto yy84; + goto yy52; yy77: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy85; - goto yy53; + goto yy52; yy78: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy86; - goto yy53; + if (yych == 't') goto yy86; + goto yy52; yy79: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy87; - goto yy53; + if (yych == 'e') goto yy87; + goto yy52; yy80: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy88; - goto yy53; + if (yych == 'i') goto yy88; + goto yy52; yy81: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy89; - goto yy53; + if (yych == 'c') goto yy89; + goto yy52; yy82: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy90; - goto yy53; + if (yych == 's') goto yy90; + goto yy52; yy83: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy91; - goto yy53; + if (yych == 'i') goto yy91; + goto yy52; yy84: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy92; - goto yy53; + if (yych == 'c') goto yy92; + goto yy52; yy85: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy93; - goto yy53; + if (yych == 'e') goto yy93; + goto yy52; yy86: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy94; - goto yy53; + goto yy52; yy87: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy95; - goto yy53; + if (yych == 'd') goto yy95; + goto yy52; yy88: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy96; - goto yy53; + if (yych == 'n') goto yy96; + goto yy52; yy89: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy97; - goto yy53; + if (yych == 'h') goto yy97; + goto yy52; yy90: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy98; - goto yy53; + if (yych == 's') goto yy98; + goto yy52; yy91: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy99; - goto yy53; + if (yych == 'o') goto yy99; + goto yy52; yy92: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy100; - goto yy53; + if (yych == 'h') goto yy100; + goto yy52; yy93: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy101; - goto yy53; + if (yych == 'm') goto yy101; + goto yy52; yy94: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy102; - goto yy53; + if (yych == 'r') goto yy102; + goto yy52; yy95: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy103; - goto yy53; + if (yych == '-') goto yy103; + goto yy52; yy96: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy104; - goto yy53; + if (yych == 'e') goto yy104; + goto yy52; yy97: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy105; - goto yy53; + if (yych == 'a') goto yy105; + goto yy52; yy98: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy106; - goto yy53; + if (yych == '-') goto yy106; + goto yy52; yy99: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy107; - goto yy53; + if (yych == 'n') goto yy107; + goto yy52; yy100: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy108; - goto yy53; + if (yych == 'a') goto yy108; + goto yy52; yy101: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy109; - goto yy53; + if (yych == 'p') goto yy109; + goto yy52; yy102: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy110; - goto yy53; + if (yych == 'm') goto yy110; + goto yy52; yy103: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy111; - goto yy53; + if (yych == 'r') goto yy111; + goto yy52; yy104: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy112; - goto yy53; + if (yych == 'd') goto yy112; + goto yy52; yy105: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy113; - goto yy53; + if (yych == 'b') goto yy113; + goto yy52; yy106: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy114; - goto yy53; + if (yych == 'e') goto yy114; + goto yy52; yy107: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy115; - goto yy53; + if (yych == '-') goto yy115; + goto yy52; yy108: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy116; - goto yy53; + if (yych == 'r') goto yy116; + goto yy52; yy109: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy117; - goto yy53; + if (yych == 't') goto yy117; + goto yy52; yy110: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy118; - goto yy53; + if (yych == 'i') goto yy118; + goto yy52; yy111: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy119; - goto yy53; + if (yych == 'a') goto yy119; + goto yy52; yy112: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy120; - goto yy53; + if (yych == '-') goto yy120; + goto yy52; yy113: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy121; - goto yy53; + if (yych == 'l') goto yy121; + goto yy52; yy114: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy122; - goto yy53; + if (yych == 's') goto yy122; + goto yy52; yy115: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy123; - goto yy53; + if (yych == 'o') goto yy123; + goto yy52; yy116: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy124; - goto yy53; + if (yych == 'a') goto yy124; + goto yy52; yy117: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy125; - goto yy53; + if (yych == 'y') goto yy125; + goto yy52; yy118: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy126; - goto yy53; + if (yych == 'n') goto yy126; + goto yy52; yy119: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy127; - goto yy53; + goto yy52; yy120: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy128; - goto yy53; + if (yych == 'c') goto yy128; + goto yy52; yy121: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy129; - goto yy53; + if (yych == 'e') goto yy129; + goto yy52; yy122: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy130; - goto yy53; + if (yych == 'c') goto yy130; + goto yy52; yy123: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy131; - goto yy53; + if (yych == 'r') goto yy131; + goto yy52; yy124: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy132; - goto yy53; + if (yych == 'c') goto yy132; + goto yy52; yy125: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy133; - goto yy53; + if (yych == '-') goto yy133; + goto yy52; yy126: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy134; - goto yy53; + if (yych == 'i') goto yy134; + goto yy52; yy127: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy135; - goto yy53; + if (yych == 'g') goto yy135; + goto yy52; yy128: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy136; - goto yy53; + if (yych == 'o') goto yy136; + goto yy52; yy129: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy137; - goto yy53; + if (yych == '-') goto yy137; + goto yy52; yy130: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy138; - goto yy53; + if (yych == 'a') goto yy138; + goto yy52; yy131: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy139; - goto yy53; + if (yych == 'd') goto yy139; + goto yy52; yy132: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy140; - goto yy53; + if (yych == 't') goto yy140; + goto yy52; yy133: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy141; - goto yy53; + if (yych == 's') goto yy141; + goto yy52; yy134: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy142; - goto yy53; + goto yy52; yy135: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy143; - goto yy53; + if (yych == 'e') goto yy143; + goto yy52; yy136: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy144; - goto yy53; + if (yych == 'n') goto yy144; + goto yy52; yy137: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy145; - goto yy53; + if (yych == 'r') goto yy145; + goto yy52; yy138: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy146; - goto yy53; + if (yych == 'p') goto yy146; + goto yy52; yy139: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy147; - goto yy53; + if (yych == 'e') goto yy147; + goto yy52; yy140: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy148; - goto yy53; + goto yy52; yy141: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy149; - goto yy53; + if (yych == 't') goto yy149; + goto yy52; yy142: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy150; - goto yy53; + goto yy52; yy143: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy151; - goto yy53; + if (yych <= 0x00) goto yy151; + goto yy52; yy144: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy152; - goto yy53; + if (yych == 't') goto yy153; + goto yy52; yy145: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy154; - goto yy53; + if (yych == 'u') goto yy154; + goto yy52; yy146: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy155; - goto yy53; + if (yych == 'e') goto yy155; + goto yy52; yy147: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy156; - goto yy53; + if (yych == 'r') goto yy156; + goto yy52; yy148: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy157; - goto yy53; + goto yy52; yy149: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy158; - goto yy53; + goto yy52; yy150: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy159; - goto yy53; + if (yych == 'i') goto yy159; + goto yy52; yy151: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy160; - goto yy53; -yy152: ++YYCURSOR; #line 85 "../src/conf/parse_opts.re" { warn.set (Warn::SWAPPED_RANGE, option); goto opt; } -#line 694 "src/conf/parse_opts.cc" +#line 684 "src/conf/parse_opts.cc" +yy153: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'r') goto yy160; + goto yy52; yy154: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy161; - goto yy53; + if (yych == 'l') goto yy161; + goto yy52; yy155: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy162; - goto yy53; + if (yych <= 0x00) goto yy162; + goto yy52; yy156: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy163; - goto yy53; + if (yych <= 0x00) goto yy164; + goto yy52; yy157: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy165; - goto yy53; + if (yych == '-') goto yy166; + goto yy52; yy158: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy167; - goto yy53; + if (yych == 'i') goto yy167; + goto yy52; yy159: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy168; - goto yy53; + if (yych == 'c') goto yy168; + goto yy52; yy160: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy169; - goto yy53; + if (yych == 'o') goto yy169; + goto yy52; yy161: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy170; - goto yy53; + if (yych == 'e') goto yy170; + goto yy52; yy162: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy171; - goto yy53; -yy163: ++YYCURSOR; #line 88 "../src/conf/parse_opts.re" { warn.set (Warn::USELESS_ESCAPE, option); goto opt; } -#line 735 "src/conf/parse_opts.cc" -yy165: +#line 725 "src/conf/parse_opts.cc" +yy164: ++YYCURSOR; #line 81 "../src/conf/parse_opts.re" { warn.set (Warn::CONDITION_ORDER, option); goto opt; } -#line 740 "src/conf/parse_opts.cc" +#line 730 "src/conf/parse_opts.cc" +yy166: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'c') goto yy171; + goto yy52; yy167: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy172; - goto yy53; + if (yych == 'n') goto yy172; + goto yy52; yy168: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy173; - goto yy53; + if (yych == '-') goto yy173; + goto yy52; yy169: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy174; - goto yy53; + if (yych == 'l') goto yy174; + goto yy52; yy170: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy175; - goto yy53; + if (yych == 's') goto yy175; + goto yy52; yy171: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy176; - goto yy53; + if (yych == 'l') goto yy176; + goto yy52; yy172: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy177; - goto yy53; + if (yych == 'g') goto yy177; + goto yy52; yy173: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy178; - goto yy53; + if (yych == 't') goto yy178; + goto yy52; yy174: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy179; - goto yy53; + if (yych == '-') goto yy179; + goto yy52; yy175: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy180; - goto yy53; + if (yych <= 0x00) goto yy180; + goto yy52; yy176: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy181; - goto yy53; + if (yych == 'a') goto yy182; + goto yy52; yy177: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy183; - goto yy53; + if (yych <= 0x00) goto yy183; + goto yy52; yy178: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy184; - goto yy53; + if (yych == 'a') goto yy185; + goto yy52; yy179: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy186; - goto yy53; + if (yych == 'f') goto yy186; + goto yy52; yy180: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy187; - goto yy53; -yy181: ++YYCURSOR; #line 87 "../src/conf/parse_opts.re" { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; } -#line 801 "src/conf/parse_opts.cc" -yy183: +#line 791 "src/conf/parse_opts.cc" +yy182: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy188; - goto yy53; -yy184: + if (yych == 's') goto yy187; + goto yy52; +yy183: ++YYCURSOR; #line 83 "../src/conf/parse_opts.re" { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; } -#line 810 "src/conf/parse_opts.cc" +#line 800 "src/conf/parse_opts.cc" +yy185: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'g') goto yy188; + goto yy52; yy186: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy189; - goto yy53; + if (yych == 'l') goto yy189; + goto yy52; yy187: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy190; - goto yy53; + if (yych == 's') goto yy190; + goto yy52; yy188: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy191; - goto yy53; + goto yy52; yy189: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy192; - goto yy53; + if (yych == 'o') goto yy192; + goto yy52; yy190: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy193; - goto yy53; + if (yych <= 0x00) goto yy193; + goto yy52; yy191: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy194; - goto yy53; + if (yych <= 0x00) goto yy195; + goto yy52; yy192: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy196; - goto yy53; + if (yych == 'w') goto yy197; + goto yy52; yy193: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'w') goto yy198; - goto yy53; -yy194: ++YYCURSOR; #line 82 "../src/conf/parse_opts.re" { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; } -#line 847 "src/conf/parse_opts.cc" -yy196: +#line 837 "src/conf/parse_opts.cc" +yy195: ++YYCURSOR; #line 84 "../src/conf/parse_opts.re" { warn.set (Warn::NONDETERMINISTIC_TAGS, option); goto opt; } -#line 852 "src/conf/parse_opts.cc" -yy198: +#line 842 "src/conf/parse_opts.cc" +yy197: yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy53; + if (yych >= 0x01) goto yy52; ++YYCURSOR; #line 86 "../src/conf/parse_opts.re" { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; } -#line 859 "src/conf/parse_opts.cc" +#line 849 "src/conf/parse_opts.cc" } #line 89 "../src/conf/parse_opts.re" opt_short: -#line 866 "src/conf/parse_opts.cc" +#line 856 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'b') { if (yych <= 'D') { if (yych <= '7') { - if (yych <= 0x00) goto yy203; - if (yych == '1') goto yy207; - goto yy205; + if (yych <= 0x00) goto yy202; + if (yych == '1') goto yy206; + goto yy204; } else { if (yych <= '>') { - if (yych <= '8') goto yy209; - goto yy205; + if (yych <= '8') goto yy208; + goto yy204; } else { - if (yych <= '?') goto yy211; - if (yych <= 'C') goto yy205; - goto yy213; + if (yych <= '?') goto yy210; + if (yych <= 'C') goto yy204; + goto yy212; } } } else { if (yych <= 'S') { - if (yych == 'F') goto yy215; - if (yych <= 'R') goto yy205; - goto yy217; + if (yych == 'F') goto yy214; + if (yych <= 'R') goto yy204; + goto yy216; } else { if (yych <= 'U') { - if (yych <= 'T') goto yy219; - goto yy205; + if (yych <= 'T') goto yy218; + goto yy204; } else { - if (yych <= 'V') goto yy221; - if (yych <= 'a') goto yy205; - goto yy223; + if (yych <= 'V') goto yy220; + if (yych <= 'a') goto yy204; + goto yy222; } } } } else { if (yych <= 'o') { if (yych <= 'f') { - if (yych <= 'c') goto yy225; - if (yych <= 'd') goto yy227; - if (yych <= 'e') goto yy229; - goto yy231; + if (yych <= 'c') goto yy224; + if (yych <= 'd') goto yy226; + if (yych <= 'e') goto yy228; + goto yy230; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy233; - goto yy211; + if (yych <= 'g') goto yy232; + goto yy210; } else { - if (yych <= 'i') goto yy235; - if (yych <= 'n') goto yy205; - goto yy237; + if (yych <= 'i') goto yy234; + if (yych <= 'n') goto yy204; + goto yy236; } } } else { if (yych <= 't') { - if (yych <= 'q') goto yy205; - if (yych <= 'r') goto yy239; - if (yych <= 's') goto yy241; - goto yy243; + if (yych <= 'q') goto yy204; + if (yych <= 'r') goto yy238; + if (yych <= 's') goto yy240; + goto yy242; } else { if (yych <= 'v') { - if (yych <= 'u') goto yy245; - goto yy247; + if (yych <= 'u') goto yy244; + goto yy246; } else { - if (yych <= 'w') goto yy249; - if (yych <= 'x') goto yy251; - goto yy205; + if (yych <= 'w') goto yy248; + if (yych <= 'x') goto yy250; + goto yy204; } } } } -yy203: +yy202: ++YYCURSOR; #line 98 "../src/conf/parse_opts.re" { goto opt; } -#line 941 "src/conf/parse_opts.cc" -yy205: +#line 931 "src/conf/parse_opts.cc" +yy204: ++YYCURSOR; #line 94 "../src/conf/parse_opts.re" { error ("bad short option: %s", *argv); return EXIT_FAIL; } -#line 949 "src/conf/parse_opts.cc" -yy207: +#line 939 "src/conf/parse_opts.cc" +yy206: ++YYCURSOR; #line 123 "../src/conf/parse_opts.re" { goto opt_short; } -#line 954 "src/conf/parse_opts.cc" -yy209: +#line 944 "src/conf/parse_opts.cc" +yy208: ++YYCURSOR; #line 118 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } -#line 959 "src/conf/parse_opts.cc" -yy211: +#line 949 "src/conf/parse_opts.cc" +yy210: ++YYCURSOR; #line 99 "../src/conf/parse_opts.re" { usage (); return EXIT_OK; } -#line 964 "src/conf/parse_opts.cc" -yy213: +#line 954 "src/conf/parse_opts.cc" +yy212: ++YYCURSOR; #line 105 "../src/conf/parse_opts.re" { opts.set_target (opt_t::DOT); goto opt_short; } -#line 969 "src/conf/parse_opts.cc" -yy215: +#line 959 "src/conf/parse_opts.cc" +yy214: ++YYCURSOR; #line 107 "../src/conf/parse_opts.re" { opts.set_FFlag (true); goto opt_short; } -#line 974 "src/conf/parse_opts.cc" -yy217: +#line 964 "src/conf/parse_opts.cc" +yy216: ++YYCURSOR; #line 112 "../src/conf/parse_opts.re" { opts.set_target (opt_t::SKELETON); goto opt_short; } -#line 979 "src/conf/parse_opts.cc" -yy219: +#line 969 "src/conf/parse_opts.cc" +yy218: ++YYCURSOR; #line 113 "../src/conf/parse_opts.re" { opts.set_tags (true); goto opt_short; } -#line 984 "src/conf/parse_opts.cc" -yy221: +#line 974 "src/conf/parse_opts.cc" +yy220: ++YYCURSOR; #line 101 "../src/conf/parse_opts.re" { vernum (); return EXIT_OK; } -#line 989 "src/conf/parse_opts.cc" -yy223: +#line 979 "src/conf/parse_opts.cc" +yy222: ++YYCURSOR; #line 102 "../src/conf/parse_opts.re" { opts.set_bFlag (true); goto opt_short; } -#line 994 "src/conf/parse_opts.cc" -yy225: +#line 984 "src/conf/parse_opts.cc" +yy224: ++YYCURSOR; #line 103 "../src/conf/parse_opts.re" { opts.set_cFlag (true); goto opt_short; } -#line 999 "src/conf/parse_opts.cc" -yy227: +#line 989 "src/conf/parse_opts.cc" +yy226: ++YYCURSOR; #line 104 "../src/conf/parse_opts.re" { opts.set_dFlag (true); goto opt_short; } -#line 1004 "src/conf/parse_opts.cc" -yy229: +#line 994 "src/conf/parse_opts.cc" +yy228: ++YYCURSOR; #line 114 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } -#line 1009 "src/conf/parse_opts.cc" -yy231: +#line 999 "src/conf/parse_opts.cc" +yy230: ++YYCURSOR; #line 106 "../src/conf/parse_opts.re" { opts.set_fFlag (true); goto opt_short; } -#line 1014 "src/conf/parse_opts.cc" -yy233: +#line 1004 "src/conf/parse_opts.cc" +yy232: ++YYCURSOR; #line 108 "../src/conf/parse_opts.re" { opts.set_gFlag (true); goto opt_short; } -#line 1019 "src/conf/parse_opts.cc" -yy235: +#line 1009 "src/conf/parse_opts.cc" +yy234: ++YYCURSOR; #line 109 "../src/conf/parse_opts.re" { opts.set_iFlag (true); goto opt_short; } -#line 1024 "src/conf/parse_opts.cc" -yy237: +#line 1014 "src/conf/parse_opts.cc" +yy236: ++YYCURSOR; - if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy253; + if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy252; #line 120 "../src/conf/parse_opts.re" { *argv = YYCURSOR; goto opt_output; } -#line 1030 "src/conf/parse_opts.cc" -yy239: +#line 1020 "src/conf/parse_opts.cc" +yy238: ++YYCURSOR; #line 110 "../src/conf/parse_opts.re" { opts.set_rFlag (true); goto opt_short; } -#line 1035 "src/conf/parse_opts.cc" -yy241: +#line 1025 "src/conf/parse_opts.cc" +yy240: ++YYCURSOR; #line 111 "../src/conf/parse_opts.re" { opts.set_sFlag (true); goto opt_short; } -#line 1040 "src/conf/parse_opts.cc" -yy243: +#line 1030 "src/conf/parse_opts.cc" +yy242: ++YYCURSOR; - if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy255; + if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy254; #line 122 "../src/conf/parse_opts.re" { *argv = YYCURSOR; goto opt_header; } -#line 1046 "src/conf/parse_opts.cc" -yy245: +#line 1036 "src/conf/parse_opts.cc" +yy244: ++YYCURSOR; #line 115 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } -#line 1051 "src/conf/parse_opts.cc" -yy247: +#line 1041 "src/conf/parse_opts.cc" +yy246: ++YYCURSOR; #line 100 "../src/conf/parse_opts.re" { version (); return EXIT_OK; } -#line 1056 "src/conf/parse_opts.cc" -yy249: +#line 1046 "src/conf/parse_opts.cc" +yy248: ++YYCURSOR; #line 116 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } -#line 1061 "src/conf/parse_opts.cc" -yy251: +#line 1051 "src/conf/parse_opts.cc" +yy250: ++YYCURSOR; #line 117 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } -#line 1066 "src/conf/parse_opts.cc" -yy253: +#line 1056 "src/conf/parse_opts.cc" +yy252: ++YYCURSOR; #line 119 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } -#line 1071 "src/conf/parse_opts.cc" -yy255: +#line 1061 "src/conf/parse_opts.cc" +yy254: ++YYCURSOR; #line 121 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } -#line 1076 "src/conf/parse_opts.cc" +#line 1066 "src/conf/parse_opts.cc" } #line 124 "../src/conf/parse_opts.re" opt_long: -#line 1083 "src/conf/parse_opts.cc" +#line 1073 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; switch (yych) { - case 'b': goto yy261; - case 'c': goto yy262; - case 'd': goto yy263; - case 'e': goto yy264; - case 'f': goto yy265; - case 'h': goto yy266; - case 'i': goto yy267; - case 'n': goto yy268; - case 'o': goto yy269; - case 'r': goto yy270; - case 's': goto yy271; - case 't': goto yy272; - case 'u': goto yy273; - case 'v': goto yy274; - case 'w': goto yy275; - default: goto yy259; + case 'b': goto yy260; + case 'c': goto yy261; + case 'd': goto yy262; + case 'e': goto yy263; + case 'f': goto yy264; + case 'h': goto yy265; + case 'i': goto yy266; + case 'n': goto yy267; + case 'o': goto yy268; + case 'r': goto yy269; + case 's': goto yy270; + case 't': goto yy271; + case 'u': goto yy272; + case 'v': goto yy273; + case 'w': goto yy274; + default: goto yy258; } -yy259: +yy258: ++YYCURSOR; -yy260: +yy259: #line 129 "../src/conf/parse_opts.re" { error ("bad long option: %s", *argv); return EXIT_FAIL; } -#line 1113 "src/conf/parse_opts.cc" +#line 1103 "src/conf/parse_opts.cc" +yy260: + yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy275; + goto yy259; yy261: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy276; - goto yy260; + if (yych == 'a') goto yy277; + if (yych == 'o') goto yy278; + goto yy259; yy262: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy278; - if (yych == 'o') goto yy279; - goto yy260; + if (yych <= 'f') { + if (yych <= 'd') goto yy259; + if (yych <= 'e') goto yy279; + goto yy280; + } else { + if (yych == 'u') goto yy281; + goto yy259; + } yy263: - yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych <= 'd') goto yy260; - if (yych <= 'e') goto yy280; - if (yych <= 'f') goto yy281; - goto yy260; -yy264: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'l') { if (yych == 'c') goto yy282; - goto yy260; + goto yy259; } else { if (yych <= 'm') goto yy283; if (yych <= 'n') goto yy284; - goto yy260; + goto yy259; } -yy265: +yy264: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'l') goto yy285; - goto yy260; -yy266: + goto yy259; +yy265: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy286; - goto yy260; -yy267: + goto yy259; +yy266: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'n') goto yy287; - goto yy260; -yy268: + goto yy259; +yy267: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy288; if (yych == 'o') goto yy289; - goto yy260; -yy269: + goto yy259; +yy268: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'u') goto yy290; - goto yy260; -yy270: + goto yy259; +yy269: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy291; - goto yy260; -yy271: + goto yy259; +yy270: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'j') { if (yych == 'i') goto yy292; - goto yy260; + goto yy259; } else { if (yych <= 'k') goto yy293; if (yych == 't') goto yy294; - goto yy260; + goto yy259; } -yy272: +yy271: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy295; if (yych == 'y') goto yy296; - goto yy260; -yy273: + goto yy259; +yy272: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'n') goto yy297; if (yych == 't') goto yy298; - goto yy260; -yy274: + goto yy259; +yy273: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy299; - goto yy260; -yy275: + goto yy259; +yy274: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'i') goto yy300; - goto yy260; -yy276: + goto yy259; +yy275: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy301; -yy277: +yy276: YYCURSOR = YYMARKER; - goto yy260; -yy278: + goto yy259; +yy277: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy302; - goto yy277; -yy279: + goto yy276; +yy278: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy303; - goto yy277; -yy280: + goto yy276; +yy279: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy304; - goto yy277; -yy281: + goto yy276; +yy280: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy305; - goto yy277; + goto yy276; +yy281: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'm') goto yy306; + goto yy276; yy282: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy306; - goto yy277; + if (yych == 'b') goto yy307; + goto yy276; yy283: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy307; - if (yych == 'p') goto yy308; - goto yy277; + if (yych == 'i') goto yy308; + if (yych == 'p') goto yy309; + goto yy276; yy284: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy309; - goto yy277; + if (yych == 'c') goto yy310; + goto yy276; yy285: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy310; - goto yy277; + if (yych == 'e') goto yy311; + goto yy276; yy286: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy311; - goto yy277; + if (yych == 'l') goto yy312; + goto yy276; yy287: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy312; - goto yy277; + if (yych == 'p') goto yy313; + goto yy276; yy288: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy313; - goto yy277; + if (yych == 's') goto yy314; + goto yy276; yy289: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy314; - goto yy277; + if (yych == '-') goto yy315; + goto yy276; yy290: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy315; - goto yy277; + if (yych == 't') goto yy316; + goto yy276; yy291: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy316; - goto yy277; + if (yych == 'u') goto yy317; + goto yy276; yy292: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy317; - goto yy277; + if (yych == 'n') goto yy318; + goto yy276; yy293: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy318; - goto yy277; + if (yych == 'e') goto yy319; + goto yy276; yy294: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy319; - if (yych == 'o') goto yy320; - goto yy277; + if (yych == 'a') goto yy320; + if (yych == 'o') goto yy321; + goto yy276; yy295: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy321; - goto yy277; + if (yych == 'g') goto yy322; + goto yy276; yy296: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy322; - goto yy277; + if (yych == 'p') goto yy323; + goto yy276; yy297: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy323; - goto yy277; + if (yych == 'i') goto yy324; + goto yy276; yy298: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy324; - goto yy277; + if (yych == 'f') goto yy325; + goto yy276; yy299: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy325; - goto yy277; + if (yych == 'r') goto yy326; + goto yy276; yy300: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy326; - goto yy277; + if (yych == 'd') goto yy327; + goto yy276; yy301: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy327; - goto yy277; + if (yych == '-') goto yy328; + goto yy276; yy302: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy328; - goto yy277; + if (yych == 'e') goto yy329; + goto yy276; yy303: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy329; - goto yy277; + if (yych == 'p') goto yy330; + goto yy276; yy304: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy330; - goto yy277; + if (yych == 'u') goto yy331; + goto yy276; yy305: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy331; - goto yy277; + if (yych == '-') goto yy332; + goto yy276; yy306: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy332; - goto yy277; + if (yych == 'p') goto yy333; + goto yy276; yy307: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy334; - goto yy277; + if (yych <= 0x00) goto yy334; + goto yy276; yy308: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy335; - goto yy277; + if (yych == 't') goto yy336; + goto yy276; yy309: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy336; - goto yy277; + if (yych == 't') goto yy337; + goto yy276; yy310: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'x') goto yy337; - goto yy277; + if (yych == 'o') goto yy338; + goto yy276; yy311: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy338; - goto yy277; + if (yych == 'x') goto yy339; + goto yy276; yy312: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy339; - goto yy277; + if (yych == 'p') goto yy340; + goto yy276; yy313: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy340; - goto yy277; + if (yych == 'u') goto yy341; + goto yy276; yy314: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy342; + goto yy276; +yy315: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 'f') { - if (yych == 'd') goto yy341; - goto yy277; + if (yych == 'd') goto yy343; + goto yy276; } else { - if (yych <= 'g') goto yy342; - if (yych == 'v') goto yy343; - goto yy277; + if (yych <= 'g') goto yy344; + if (yych == 'v') goto yy345; + goto yy276; } -yy315: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy344; - goto yy277; yy316: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy345; - goto yy277; + if (yych == 'p') goto yy346; + goto yy276; yy317: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy346; - goto yy277; + if (yych == 's') goto yy347; + goto yy276; yy318: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy347; - goto yy277; + if (yych == 'g') goto yy348; + goto yy276; yy319: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy348; - goto yy277; + if (yych == 'l') goto yy349; + goto yy276; yy320: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy349; - goto yy277; + if (yych == 'r') goto yy350; + goto yy276; yy321: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy350; - goto yy277; + if (yych == 'r') goto yy351; + goto yy276; yy322: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy351; - goto yy277; + if (yych == 's') goto yy352; + goto yy276; yy323: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy352; - goto yy277; + if (yych == 'e') goto yy353; + goto yy276; yy324: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy353; - goto yy277; + if (yych == 'c') goto yy354; + goto yy276; yy325: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy354; - if (yych == 's') goto yy355; - goto yy277; + if (yych == '-') goto yy355; + goto yy276; yy326: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy356; - goto yy277; + if (yych == 'n') goto yy356; + if (yych == 's') goto yy357; + goto yy276; yy327: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'v') goto yy357; - goto yy277; + if (yych == 'e') goto yy358; + goto yy276; yy328: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy358; - goto yy277; + if (yych == 'v') goto yy359; + goto yy276; yy329: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy359; - goto yy277; + if (yych == '-') goto yy360; + goto yy276; yy330: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy360; - goto yy277; + if (yych == 'u') goto yy361; + goto yy276; yy331: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy361; - goto yy277; + if (yych == 'g') goto yy362; + goto yy276; yy332: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'm') goto yy363; + goto yy276; +yy333: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '-') goto yy364; + goto yy276; +yy334: ++YYCURSOR; #line 152 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; } -#line 1427 "src/conf/parse_opts.cc" -yy334: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy362; - goto yy277; -yy335: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy363; - goto yy277; +#line 1433 "src/conf/parse_opts.cc" yy336: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy364; - goto yy277; + if (yych == '-') goto yy365; + goto yy276; yy337: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy365; - goto yy277; + if (yych == 'y') goto yy366; + goto yy276; yy338: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy366; - goto yy277; + if (yych == 'd') goto yy367; + goto yy276; yy339: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy368; - goto yy277; + if (yych == '-') goto yy368; + goto yy276; yy340: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy369; - goto yy277; + if (yych <= 0x00) goto yy369; + goto yy276; yy341: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy370; - goto yy277; + if (yych == 't') goto yy371; + goto yy276; yy342: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy371; - goto yy277; + if (yych == 'e') goto yy372; + goto yy276; yy343: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy372; - goto yy277; + if (yych == 'e') goto yy373; + goto yy276; yy344: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy373; - goto yy277; + if (yych == 'e') goto yy374; + goto yy276; yy345: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy374; - goto yy277; + if (yych == 'e') goto yy375; + goto yy276; yy346: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy375; - goto yy277; + if (yych == 'u') goto yy376; + goto yy276; yy347: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy376; - goto yy277; + if (yych == 'a') goto yy377; + goto yy276; yy348: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy377; - goto yy277; + if (yych == 'l') goto yy378; + goto yy276; yy349: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy378; - goto yy277; + if (yych == 'e') goto yy379; + goto yy276; yy350: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy379; - goto yy277; + if (yych == 't') goto yy380; + goto yy276; yy351: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy381; - goto yy277; + if (yych == 'a') goto yy381; + goto yy276; yy352: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy382; - goto yy277; + if (yych <= 0x00) goto yy382; + goto yy276; yy353: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '1') goto yy383; - if (yych == '8') goto yy384; - goto yy277; + if (yych == '-') goto yy384; + goto yy276; yy354: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy385; - goto yy277; + if (yych == 'o') goto yy385; + goto yy276; yy355: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy386; - goto yy277; + if (yych == '1') goto yy386; + if (yych == '8') goto yy387; + goto yy276; yy356: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy387; - goto yy277; + if (yych == 'u') goto yy388; + goto yy276; yy357: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy388; - goto yy277; + if (yych == 'i') goto yy389; + goto yy276; yy358: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy389; - goto yy277; + if (yych == '-') goto yy390; + goto yy276; yy359: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy390; - goto yy277; + if (yych == 'e') goto yy391; + goto yy276; yy360: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy391; - goto yy277; + if (yych == 'i') goto yy392; + goto yy276; yy361: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy392; - goto yy277; + if (yych == 't') goto yy393; + goto yy276; yy362: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy393; - goto yy277; + if (yych == '-') goto yy394; + goto yy276; yy363: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy394; - goto yy277; + if (yych == 'i') goto yy395; + goto yy276; yy364: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy395; - goto yy277; + if (yych == 'd') goto yy396; + goto yy276; yy365: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy396; - goto yy277; + if (yych == 'd') goto yy397; + goto yy276; yy366: - ++YYCURSOR; -#line 133 "../src/conf/parse_opts.re" - { usage (); return EXIT_OK; } -#line 1561 "src/conf/parse_opts.cc" -yy368: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy397; - goto yy277; -yy369: + if (yych == '-') goto yy398; + goto yy276; +yy367: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy399; - goto yy277; -yy370: + if (yych == 'i') goto yy399; + goto yy276; +yy368: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy400; - goto yy277; + if (yych == 's') goto yy400; + goto yy276; +yy369: + ++YYCURSOR; +#line 133 "../src/conf/parse_opts.re" + { usage (); return EXIT_OK; } +#line 1571 "src/conf/parse_opts.cc" yy371: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy401; - goto yy277; + if (yych <= 0x00) goto yy401; + goto yy276; yy372: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy402; - goto yy277; + if (yych == 'd') goto yy403; + goto yy276; yy373: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy403; - goto yy277; + if (yych == 'b') goto yy404; + goto yy276; yy374: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy404; - goto yy277; + if (yych == 'n') goto yy405; + goto yy276; yy375: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy405; - goto yy277; + if (yych == 'r') goto yy406; + goto yy276; yy376: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy406; - goto yy277; + if (yych == 't') goto yy407; + goto yy276; yy377: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy407; - goto yy277; + if (yych == 'b') goto yy408; + goto yy276; yy378: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy408; - goto yy277; + if (yych == 'e') goto yy409; + goto yy276; yy379: - ++YYCURSOR; -#line 151 "../src/conf/parse_opts.re" - { opts.set_tags (true); goto opt; } -#line 1610 "src/conf/parse_opts.cc" -yy381: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy409; - goto yy277; -yy382: + if (yych == 't') goto yy410; + goto yy276; +yy380: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy410; - goto yy277; -yy383: + if (yych == '-') goto yy411; + goto yy276; +yy381: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '6') goto yy411; - goto yy277; + if (yych == 'b') goto yy412; + goto yy276; +yy382: + ++YYCURSOR; +#line 151 "../src/conf/parse_opts.re" + { opts.set_tags (true); goto opt; } +#line 1620 "src/conf/parse_opts.cc" yy384: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy412; - goto yy277; + if (yych == 'h') goto yy413; + goto yy276; yy385: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy414; - goto yy277; + if (yych == 'd') goto yy414; + goto yy276; yy386: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy415; - goto yy277; + if (yych == '6') goto yy415; + goto yy276; yy387: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy416; - goto yy277; + if (yych <= 0x00) goto yy416; + goto yy276; yy388: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy417; - goto yy277; + if (yych == 'm') goto yy418; + goto yy276; yy389: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy418; - goto yy277; + if (yych == 'o') goto yy419; + goto yy276; yy390: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy419; - goto yy277; + if (yych == 'c') goto yy420; + goto yy276; yy391: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy420; - goto yy277; + if (yych == 'c') goto yy421; + goto yy276; yy392: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy421; - goto yy277; + if (yych == 'n') goto yy422; + goto yy276; yy393: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy422; - goto yy277; + if (yych == 'e') goto yy423; + goto yy276; yy394: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy423; - goto yy277; + if (yych == 'o') goto yy424; + goto yy276; yy395: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy424; - goto yy277; + if (yych == 'n') goto yy425; + goto yy276; yy396: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy425; - goto yy277; + if (yych == 'f') goto yy426; + goto yy276; yy397: - ++YYCURSOR; -#line 160 "../src/conf/parse_opts.re" - { goto opt_input; } -#line 1679 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'o') goto yy427; + goto yy276; +yy398: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'c') goto yy428; + goto yy276; yy399: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy426; - goto yy277; + if (yych == 'n') goto yy429; + goto yy276; yy400: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy427; - goto yy277; + if (yych == 'y') goto yy430; + goto yy276; yy401: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy428; - goto yy277; -yy402: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy429; - goto yy277; + ++YYCURSOR; +#line 160 "../src/conf/parse_opts.re" + { goto opt_input; } +#line 1693 "src/conf/parse_opts.cc" yy403: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy430; - goto yy277; + if (yych == '-') goto yy431; + goto yy276; yy404: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy432; - goto yy277; + if (yych == 'u') goto yy432; + goto yy276; yy405: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy433; - goto yy277; + if (yych == 'e') goto yy433; + goto yy276; yy406: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy434; - goto yy277; + if (yych == 's') goto yy434; + goto yy276; yy407: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy435; - goto yy277; + if (yych <= 0x00) goto yy435; + goto yy276; yy408: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy436; - goto yy277; + if (yych == 'l') goto yy437; + goto yy276; yy409: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy437; - goto yy277; + if (yych == '-') goto yy438; + goto yy276; yy410: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy438; - goto yy277; + if (yych == 'o') goto yy439; + goto yy276; yy411: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy439; - goto yy277; + if (yych == 'c') goto yy440; + goto yy276; yy412: - ++YYCURSOR; -#line 156 "../src/conf/parse_opts.re" - { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; } -#line 1736 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'l') goto yy441; + goto yy276; +yy413: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy442; + goto yy276; yy414: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy441; - goto yy277; + if (yych == 'e') goto yy443; + goto yy276; yy415: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy443; - goto yy277; + if (yych <= 0x00) goto yy444; + goto yy276; yy416: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy444; - goto yy277; -yy417: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy445; - goto yy277; + ++YYCURSOR; +#line 156 "../src/conf/parse_opts.re" + { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; } +#line 1750 "src/conf/parse_opts.cc" yy418: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy446; - if (yych == 'v') goto yy447; - goto yy277; + if (yych <= 0x00) goto yy446; + goto yy276; yy419: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy448; - goto yy277; + if (yych == 'n') goto yy448; + goto yy276; yy420: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy449; - goto yy277; + if (yych == 'h') goto yy449; + goto yy276; yy421: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy450; - goto yy277; + if (yych == 't') goto yy450; + goto yy276; yy422: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy451; - goto yy277; + if (yych == 's') goto yy451; + if (yych == 'v') goto yy452; + goto yy276; yy423: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy452; - goto yy277; + if (yych == 'd') goto yy453; + goto yy276; yy424: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy453; - goto yy277; + if (yych == 'u') goto yy454; + goto yy276; yy425: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy454; - goto yy277; + if (yych == 'i') goto yy455; + goto yy276; yy426: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy455; - goto yy277; + if (yych == 'a') goto yy456; + goto yy276; yy427: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy456; - goto yy277; + if (yych == 't') goto yy457; + goto yy276; yy428: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy457; - goto yy277; + if (yych == 'l') goto yy458; + goto yy276; yy429: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy458; - goto yy277; + if (yych == 'g') goto yy459; + goto yy276; yy430: - ++YYCURSOR; -#line 157 "../src/conf/parse_opts.re" - { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } -#line 1806 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'n') goto yy460; + goto yy276; +yy431: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'i') goto yy461; + goto yy276; yy432: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy459; - goto yy277; + if (yych == 'g') goto yy462; + goto yy276; yy433: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy460; - goto yy277; + if (yych == 'r') goto yy463; + goto yy276; yy434: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy461; - goto yy277; + if (yych == 'i') goto yy464; + goto yy276; yy435: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy462; - goto yy277; -yy436: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy463; - goto yy277; + ++YYCURSOR; +#line 157 "../src/conf/parse_opts.re" + { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } +#line 1824 "src/conf/parse_opts.cc" yy437: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy464; - goto yy277; + if (yych == 'e') goto yy465; + goto yy276; yy438: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy465; - goto yy277; + if (yych == 'p') goto yy466; + goto yy276; yy439: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'n') goto yy467; + goto yy276; +yy440: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'o') goto yy468; + goto yy276; +yy441: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy469; + goto yy276; +yy442: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'a') goto yy470; + goto yy276; +yy443: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy471; + goto yy276; +yy444: ++YYCURSOR; #line 155 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt; } -#line 1839 "src/conf/parse_opts.cc" -yy441: +#line 1857 "src/conf/parse_opts.cc" +yy446: ++YYCURSOR; #line 135 "../src/conf/parse_opts.re" { vernum (); return EXIT_OK; } -#line 1844 "src/conf/parse_opts.cc" -yy443: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy467; - goto yy277; -yy444: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy469; - goto yy277; -yy445: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy470; - goto yy277; -yy446: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy471; - goto yy277; -yy447: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy472; - goto yy277; +#line 1862 "src/conf/parse_opts.cc" yy448: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy473; - goto yy277; + if (yych <= 0x00) goto yy473; + goto yy276; yy449: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy474; - goto yy277; + if (yych == 'a') goto yy475; + goto yy276; yy450: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy475; - goto yy277; + if (yych == 'o') goto yy476; + goto yy276; yy451: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy476; - goto yy277; + if (yych == 'e') goto yy477; + goto yy276; yy452: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy478; - goto yy277; + if (yych == 'e') goto yy478; + goto yy276; yy453: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy479; - goto yy277; + goto yy276; yy454: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy480; - goto yy277; + goto yy276; yy455: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy481; - goto yy277; + if (yych == 'm') goto yy481; + goto yy276; yy456: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy482; - goto yy277; + goto yy276; yy457: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy483; - goto yy277; + if (yych <= 0x00) goto yy483; + goto yy276; yy458: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy484; - goto yy277; + if (yych == 'a') goto yy485; + goto yy276; yy459: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy485; - goto yy277; + if (yych == '-') goto yy486; + goto yy276; yy460: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy487; - goto yy277; + if (yych == 't') goto yy487; + goto yy276; yy461: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy488; - goto yy277; + if (yych == 'f') goto yy488; + goto yy276; yy462: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy490; - goto yy277; + if (yych == '-') goto yy489; + goto yy276; yy463: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy491; - goto yy277; + if (yych == 'a') goto yy490; + goto yy276; yy464: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy492; - goto yy277; + if (yych == 'o') goto yy491; + goto yy276; yy465: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy492; + goto yy276; +yy466: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'a') goto yy494; + goto yy276; +yy467: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy495; + goto yy276; +yy468: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'n') goto yy497; + goto yy276; +yy469: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '-') goto yy498; + goto yy276; +yy470: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'd') goto yy499; + goto yy276; +yy471: ++YYCURSOR; #line 153 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt; } -#line 1937 "src/conf/parse_opts.cc" -yy467: +#line 1959 "src/conf/parse_opts.cc" +yy473: ++YYCURSOR; #line 134 "../src/conf/parse_opts.re" { version (); return EXIT_OK; } -#line 1942 "src/conf/parse_opts.cc" -yy469: +#line 1964 "src/conf/parse_opts.cc" +yy475: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy493; - goto yy277; -yy470: + if (yych == 'r') goto yy500; + goto yy276; +yy476: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy494; - goto yy277; -yy471: + if (yych == 'r') goto yy501; + goto yy276; +yy477: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy495; - goto yy277; -yy472: + if (yych == 'n') goto yy502; + goto yy276; +yy478: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy496; - goto yy277; -yy473: + if (yych == 'r') goto yy503; + goto yy276; +yy479: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy497; - goto yy277; -yy474: + if (yych == 'g') goto yy504; + goto yy276; +yy480: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy498; - goto yy277; -yy475: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy499; - goto yy277; -yy476: - ++YYCURSOR; -#line 139 "../src/conf/parse_opts.re" - { opts.set_target (opt_t::DOT); goto opt; } -#line 1975 "src/conf/parse_opts.cc" -yy478: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy500; - goto yy277; -yy479: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy501; - goto yy277; -yy480: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy502; - goto yy277; + if (yych == 'p') goto yy505; + goto yy276; yy481: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy503; - goto yy277; + if (yych == 'i') goto yy506; + goto yy276; yy482: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy504; - goto yy277; + if (yych <= 'l') { + if (yych == 'd') goto yy507; + goto yy276; + } else { + if (yych <= 'm') goto yy508; + if (yych == 't') goto yy509; + goto yy276; + } yy483: + ++YYCURSOR; +#line 139 "../src/conf/parse_opts.re" + { opts.set_target (opt_t::DOT); goto opt; } +#line 2007 "src/conf/parse_opts.cc" +yy485: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy505; - goto yy277; -yy484: + if (yych == 's') goto yy510; + goto yy276; +yy486: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy506; - goto yy277; -yy485: - ++YYCURSOR; -#line 144 "../src/conf/parse_opts.re" - { opts.set_rFlag (true); goto opt; } -#line 2008 "src/conf/parse_opts.cc" + if (yych == 'p') goto yy511; + goto yy276; yy487: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy507; - goto yy277; + if (yych == 'a') goto yy512; + goto yy276; yy488: - ++YYCURSOR; -#line 150 "../src/conf/parse_opts.re" - { opts.set_target (opt_t::SKELETON); goto opt; } -#line 2017 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy513; + goto yy276; +yy489: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'i') goto yy514; + goto yy276; yy490: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy508; - goto yy277; + if (yych == 't') goto yy515; + goto yy276; yy491: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy509; - goto yy277; + if (yych == 'n') goto yy516; + goto yy276; yy492: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy510; - goto yy277; -yy493: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy511; - goto yy277; + ++YYCURSOR; +#line 144 "../src/conf/parse_opts.re" + { opts.set_rFlag (true); goto opt; } +#line 2040 "src/conf/parse_opts.cc" yy494: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy512; - goto yy277; + if (yych == 's') goto yy517; + goto yy276; yy495: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy513; - goto yy277; -yy496: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy514; - goto yy277; + ++YYCURSOR; +#line 150 "../src/conf/parse_opts.re" + { opts.set_target (opt_t::SKELETON); goto opt; } +#line 2049 "src/conf/parse_opts.cc" yy497: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy515; - goto yy277; + if (yych == 'd') goto yy518; + goto yy276; yy498: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy516; - goto yy277; + if (yych == 's') goto yy519; + goto yy276; yy499: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'z') goto yy517; - goto yy277; + if (yych == 'e') goto yy520; + goto yy276; yy500: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy518; - goto yy277; + if (yych == 's') goto yy521; + goto yy276; yy501: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy519; - goto yy277; + if (yych == 's') goto yy522; + goto yy276; yy502: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'x') goto yy520; - goto yy277; + if (yych == 's') goto yy523; + goto yy276; yy503: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy521; - goto yy277; + if (yych == 't') goto yy524; + goto yy276; yy504: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy523; - goto yy277; + if (yych == 'o') goto yy525; + goto yy276; yy505: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy524; - goto yy277; + if (yych == 'u') goto yy526; + goto yy276; yy506: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy525; - goto yy277; + if (yych == 'z') goto yy527; + goto yy276; yy507: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy527; - goto yy277; + if (yych == 'e') goto yy528; + goto yy276; yy508: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy528; - goto yy277; + if (yych == 'i') goto yy529; + goto yy276; yy509: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy529; - goto yy277; + if (yych == 'a') goto yy530; + goto yy276; yy510: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy530; - goto yy277; + if (yych == 's') goto yy531; + goto yy276; yy511: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy531; - goto yy277; + if (yych == 'o') goto yy532; + goto yy276; yy512: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy533; - goto yy277; + if (yych == 'x') goto yy533; + goto yy276; yy513: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy535; - goto yy277; + if (yych <= 0x00) goto yy534; + goto yy276; yy514: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy536; - goto yy277; + if (yych == 'n') goto yy536; + goto yy276; yy515: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy537; - goto yy277; + if (yych == 'i') goto yy537; + goto yy276; yy516: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy538; - goto yy277; + if (yych <= 0x00) goto yy538; + goto yy276; yy517: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy539; - goto yy277; + if (yych == 's') goto yy540; + goto yy276; yy518: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy540; - goto yy277; + if (yych == 'i') goto yy541; + goto yy276; yy519: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy542; - goto yy277; + if (yych == 't') goto yy542; + goto yy276; yy520: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy543; - goto yy277; + if (yych == 'r') goto yy543; + goto yy276; yy521: - ++YYCURSOR; -#line 145 "../src/conf/parse_opts.re" - { opts.set_sFlag (true); goto opt; } -#line 2146 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy544; + goto yy276; +yy522: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy546; + goto yy276; yy523: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy545; - goto yy277; + if (yych == 'i') goto yy548; + goto yy276; yy524: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy546; - goto yy277; + if (yych == 'e') goto yy549; + goto yy276; yy525: - ++YYCURSOR; -#line 147 "../src/conf/parse_opts.re" - { opts.set_version (false); goto opt; } -#line 2159 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy550; + goto yy276; +yy526: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy551; + goto yy276; yy527: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy547; - goto yy277; + if (yych == 'a') goto yy552; + goto yy276; yy528: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy549; - goto yy277; + if (yych == 't') goto yy553; + goto yy276; yy529: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy550; - goto yy277; + if (yych == 'n') goto yy554; + goto yy276; yy530: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy551; - goto yy277; + if (yych == 'g') goto yy555; + goto yy276; yy531: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy556; + goto yy276; +yy532: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'l') goto yy558; + goto yy276; +yy533: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy559; + goto yy276; +yy534: + ++YYCURSOR; +#line 145 "../src/conf/parse_opts.re" + { opts.set_sFlag (true); goto opt; } +#line 2202 "src/conf/parse_opts.cc" +yy536: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'f') goto yy561; + goto yy276; +yy537: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'o') goto yy562; + goto yy276; +yy538: + ++YYCURSOR; +#line 147 "../src/conf/parse_opts.re" + { opts.set_version (false); goto opt; } +#line 2215 "src/conf/parse_opts.cc" +yy540: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy563; + goto yy276; +yy541: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy565; + goto yy276; +yy542: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'a') goto yy566; + goto yy276; +yy543: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy567; + goto yy276; +yy544: ++YYCURSOR; #line 154 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt; } -#line 2180 "src/conf/parse_opts.cc" -yy533: +#line 2236 "src/conf/parse_opts.cc" +yy546: ++YYCURSOR; #line 136 "../src/conf/parse_opts.re" { opts.set_bFlag (true); goto opt; } -#line 2185 "src/conf/parse_opts.cc" -yy535: +#line 2241 "src/conf/parse_opts.cc" +yy548: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy553; - goto yy277; -yy536: + if (yych == 't') goto yy569; + goto yy276; +yy549: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy554; - goto yy277; -yy537: + if (yych == 'd') goto yy570; + goto yy276; +yy550: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy555; - goto yy277; -yy538: + if (yych == 'o') goto yy571; + goto yy276; +yy551: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy556; - goto yy277; -yy539: + if (yych <= 0x00) goto yy572; + goto yy276; +yy552: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy558; - goto yy277; -yy540: + if (yych == 't') goto yy574; + goto yy276; +yy553: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy575; + goto yy276; +yy554: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy577; + goto yy276; +yy555: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'o') goto yy579; + goto yy276; +yy556: ++YYCURSOR; #line 161 "../src/conf/parse_opts.re" { goto opt_empty_class; } -#line 2210 "src/conf/parse_opts.cc" -yy542: +#line 2278 "src/conf/parse_opts.cc" +yy558: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy559; - goto yy277; -yy543: + if (yych == 'i') goto yy580; + goto yy276; +yy559: ++YYCURSOR; #line 141 "../src/conf/parse_opts.re" { opts.set_FFlag (true); goto opt; } -#line 2219 "src/conf/parse_opts.cc" -yy545: +#line 2287 "src/conf/parse_opts.cc" +yy561: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy560; - goto yy277; -yy546: + if (yych == 'o') goto yy581; + goto yy276; +yy562: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy561; - goto yy277; -yy547: + if (yych == 'n') goto yy582; + goto yy276; +yy563: ++YYCURSOR; #line 163 "../src/conf/parse_opts.re" { goto opt; } -#line 2232 "src/conf/parse_opts.cc" -yy549: +#line 2300 "src/conf/parse_opts.cc" +yy565: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy562; - goto yy277; -yy550: + if (yych == 'i') goto yy583; + goto yy276; +yy566: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy563; - goto yy277; -yy551: + if (yych == 't') goto yy584; + goto yy276; +yy567: ++YYCURSOR; #line 158 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } -#line 2245 "src/conf/parse_opts.cc" -yy553: +#line 2313 "src/conf/parse_opts.cc" +yy569: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy564; - goto yy277; -yy554: + if (yych == 'i') goto yy585; + goto yy276; +yy570: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy565; - goto yy277; -yy555: + if (yych <= 0x00) goto yy586; + goto yy276; +yy571: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy567; - goto yy277; -yy556: + if (yych == 's') goto yy588; + goto yy276; +yy572: ++YYCURSOR; #line 138 "../src/conf/parse_opts.re" { opts.set_dFlag (true); goto opt; } -#line 2262 "src/conf/parse_opts.cc" -yy558: +#line 2330 "src/conf/parse_opts.cc" +yy574: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy568; - goto yy277; -yy559: + if (yych == 'i') goto yy589; + goto yy276; +yy575: + ++YYCURSOR; +#line 165 "../src/conf/parse_opts.re" + { opts.set_dump_dfa_det(true); goto opt; } +#line 2339 "src/conf/parse_opts.cc" +yy577: + ++YYCURSOR; +#line 167 "../src/conf/parse_opts.re" + { opts.set_dump_dfa_min(true); goto opt; } +#line 2344 "src/conf/parse_opts.cc" +yy579: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy569; - goto yy277; -yy560: + if (yych == 'p') goto yy590; + goto yy276; +yy580: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy570; - goto yy277; -yy561: + if (yych == 'c') goto yy591; + goto yy276; +yy581: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy572; - goto yy277; -yy562: + if (yych <= 0x00) goto yy592; + goto yy276; +yy582: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy573; - goto yy277; -yy563: + if (yych == '-') goto yy594; + goto yy276; +yy583: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy574; - goto yy277; -yy564: + if (yych == 'o') goto yy595; + goto yy276; +yy584: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'v') goto yy575; - goto yy277; -yy565: + if (yych == 'e') goto yy596; + goto yy276; +yy585: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'v') goto yy597; + goto yy276; +yy586: ++YYCURSOR; #line 149 "../src/conf/parse_opts.re" { opts.set_bCaseInverted (true); goto opt; } -#line 2295 "src/conf/parse_opts.cc" -yy567: +#line 2377 "src/conf/parse_opts.cc" +yy588: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy576; - goto yy277; -yy568: + if (yych <= 0x00) goto yy598; + goto yy276; +yy589: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy578; - goto yy277; -yy569: + if (yych == 'o') goto yy600; + goto yy276; +yy590: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy579; - goto yy277; -yy570: + if (yych == 't') goto yy601; + goto yy276; +yy591: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'y') goto yy602; + goto yy276; +yy592: ++YYCURSOR; #line 143 "../src/conf/parse_opts.re" { opts.set_iFlag (true); goto opt; } -#line 2312 "src/conf/parse_opts.cc" -yy572: +#line 2398 "src/conf/parse_opts.cc" +yy594: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy580; - goto yy277; -yy573: + if (yych == 'd') goto yy603; + goto yy276; +yy595: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy581; - goto yy277; -yy574: + if (yych == 'n') goto yy604; + goto yy276; +yy596: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy582; - goto yy277; -yy575: + if (yych <= 0x00) goto yy605; + goto yy276; +yy597: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy584; - goto yy277; -yy576: + if (yych == 'e') goto yy607; + goto yy276; +yy598: ++YYCURSOR; #line 142 "../src/conf/parse_opts.re" { opts.set_gFlag (true); goto opt; } -#line 2333 "src/conf/parse_opts.cc" -yy578: +#line 2419 "src/conf/parse_opts.cc" +yy600: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy585; - goto yy277; -yy579: + if (yych == 'n') goto yy608; + goto yy276; +yy601: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy586; - goto yy277; -yy580: + if (yych <= 0x00) goto yy609; + goto yy276; +yy602: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy588; - goto yy277; -yy581: + if (yych <= 0x00) goto yy611; + goto yy276; +yy603: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy589; - goto yy277; -yy582: + if (yych == 'a') goto yy613; + goto yy276; +yy604: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy614; + goto yy276; +yy605: ++YYCURSOR; #line 140 "../src/conf/parse_opts.re" { opts.set_fFlag (true); goto opt; } -#line 2354 "src/conf/parse_opts.cc" -yy584: +#line 2444 "src/conf/parse_opts.cc" +yy607: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy590; - goto yy277; -yy585: + if (yych <= 0x00) goto yy615; + goto yy276; +yy608: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy592; - goto yy277; -yy586: + if (yych <= 0x00) goto yy617; + goto yy276; +yy609: + ++YYCURSOR; +#line 166 "../src/conf/parse_opts.re" + { opts.set_dump_dfa_tagopt(true); goto opt; } +#line 2457 "src/conf/parse_opts.cc" +yy611: ++YYCURSOR; #line 159 "../src/conf/parse_opts.re" { goto opt_encoding_policy; } -#line 2367 "src/conf/parse_opts.cc" -yy588: +#line 2462 "src/conf/parse_opts.cc" +yy613: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy594; - goto yy277; -yy589: + if (yych == 't') goto yy619; + goto yy276; +yy614: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy595; - goto yy277; -yy590: + if (yych <= 0x00) goto yy620; + goto yy276; +yy615: ++YYCURSOR; #line 148 "../src/conf/parse_opts.re" { opts.set_bCaseInsensitive (true); goto opt; } -#line 2380 "src/conf/parse_opts.cc" -yy592: +#line 2475 "src/conf/parse_opts.cc" +yy617: ++YYCURSOR; #line 162 "../src/conf/parse_opts.re" { goto opt_dfa_minimization; } -#line 2385 "src/conf/parse_opts.cc" -yy594: +#line 2480 "src/conf/parse_opts.cc" +yy619: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy597; - goto yy277; -yy595: + if (yych == 'e') goto yy622; + goto yy276; +yy620: ++YYCURSOR; #line 137 "../src/conf/parse_opts.re" { opts.set_cFlag (true); goto opt; } -#line 2394 "src/conf/parse_opts.cc" -yy597: +#line 2489 "src/conf/parse_opts.cc" +yy622: yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy277; + if (yych >= 0x01) goto yy276; ++YYCURSOR; #line 146 "../src/conf/parse_opts.re" { opts.set_bNoGenerationDate (true); goto opt; } -#line 2401 "src/conf/parse_opts.cc" +#line 2496 "src/conf/parse_opts.cc" } -#line 164 "../src/conf/parse_opts.re" +#line 168 "../src/conf/parse_opts.re" opt_output: -#line 2408 "src/conf/parse_opts.cc" +#line 2503 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2442,39 +2537,33 @@ opt_output: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy602; - if (yych != '-') goto yy604; -yy602: + if (yych <= 0x00) goto yy627; + if (yych != '-') goto yy629; +yy627: ++YYCURSOR; -#line 169 "../src/conf/parse_opts.re" +#line 173 "../src/conf/parse_opts.re" { error ("bad argument to option -o, --output: %s", *argv); return EXIT_FAIL; } -#line 2455 "src/conf/parse_opts.cc" -yy604: - yych = (YYCTYPE)*++YYCURSOR; - goto yy608; -yy605: - ++YYCURSOR; -#line 173 "../src/conf/parse_opts.re" - { opts.set_output_file(*argv); goto opt; } -#line 2463 "src/conf/parse_opts.cc" -yy607: +#line 2550 "src/conf/parse_opts.cc" +yy629: ++YYCURSOR; yych = (YYCTYPE)*YYCURSOR; -yy608: if (yybm[0+yych] & 128) { - goto yy607; + goto yy629; } - goto yy605; + ++YYCURSOR; +#line 177 "../src/conf/parse_opts.re" + { opts.set_output_file(*argv); goto opt; } +#line 2560 "src/conf/parse_opts.cc" } -#line 174 "../src/conf/parse_opts.re" +#line 178 "../src/conf/parse_opts.re" opt_header: -#line 2478 "src/conf/parse_opts.cc" +#line 2567 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2512,34 +2601,28 @@ opt_header: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy611; - if (yych != '-') goto yy613; -yy611: + if (yych <= 0x00) goto yy635; + if (yych != '-') goto yy637; +yy635: ++YYCURSOR; -#line 179 "../src/conf/parse_opts.re" +#line 183 "../src/conf/parse_opts.re" { error ("bad argument to option -t, --type-header: %s", *argv); return EXIT_FAIL; } -#line 2525 "src/conf/parse_opts.cc" -yy613: - yych = (YYCTYPE)*++YYCURSOR; - goto yy617; -yy614: - ++YYCURSOR; -#line 183 "../src/conf/parse_opts.re" - { opts.set_header_file (*argv); goto opt; } -#line 2533 "src/conf/parse_opts.cc" -yy616: +#line 2614 "src/conf/parse_opts.cc" +yy637: ++YYCURSOR; yych = (YYCTYPE)*YYCURSOR; -yy617: if (yybm[0+yych] & 128) { - goto yy616; + goto yy637; } - goto yy614; + ++YYCURSOR; +#line 187 "../src/conf/parse_opts.re" + { opts.set_header_file (*argv); goto opt; } +#line 2624 "src/conf/parse_opts.cc" } -#line 184 "../src/conf/parse_opts.re" +#line 188 "../src/conf/parse_opts.re" opt_encoding_policy: @@ -2549,115 +2632,115 @@ opt_encoding_policy: return EXIT_FAIL; } -#line 2553 "src/conf/parse_opts.cc" +#line 2636 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'h') { - if (yych == 'f') goto yy622; + if (yych == 'f') goto yy645; } else { - if (yych <= 'i') goto yy623; - if (yych == 's') goto yy624; + if (yych <= 'i') goto yy646; + if (yych == 's') goto yy647; } ++YYCURSOR; -yy621: -#line 194 "../src/conf/parse_opts.re" +yy644: +#line 198 "../src/conf/parse_opts.re" { error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv); return EXIT_FAIL; } -#line 2570 "src/conf/parse_opts.cc" -yy622: +#line 2653 "src/conf/parse_opts.cc" +yy645: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy625; - goto yy621; -yy623: + if (yych == 'a') goto yy648; + goto yy644; +yy646: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy627; - goto yy621; -yy624: + if (yych == 'g') goto yy650; + goto yy644; +yy647: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy628; - goto yy621; -yy625: + if (yych == 'u') goto yy651; + goto yy644; +yy648: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy629; -yy626: + if (yych == 'i') goto yy652; +yy649: YYCURSOR = YYMARKER; - goto yy621; -yy627: + goto yy644; +yy650: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy630; - goto yy626; -yy628: + if (yych == 'n') goto yy653; + goto yy649; +yy651: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy631; - goto yy626; -yy629: + if (yych == 'b') goto yy654; + goto yy649; +yy652: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy632; - goto yy626; -yy630: + if (yych == 'l') goto yy655; + goto yy649; +yy653: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy633; - goto yy626; -yy631: + if (yych == 'o') goto yy656; + goto yy649; +yy654: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy634; - goto yy626; -yy632: + if (yych == 's') goto yy657; + goto yy649; +yy655: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy635; - goto yy626; -yy633: + if (yych <= 0x00) goto yy658; + goto yy649; +yy656: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy637; - goto yy626; -yy634: + if (yych == 'r') goto yy660; + goto yy649; +yy657: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy638; - goto yy626; -yy635: + if (yych == 't') goto yy661; + goto yy649; +yy658: ++YYCURSOR; -#line 200 "../src/conf/parse_opts.re" +#line 204 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; } -#line 2625 "src/conf/parse_opts.cc" -yy637: +#line 2708 "src/conf/parse_opts.cc" +yy660: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy639; - goto yy626; -yy638: + if (yych == 'e') goto yy662; + goto yy649; +yy661: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy640; - goto yy626; -yy639: + if (yych == 'i') goto yy663; + goto yy649; +yy662: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy641; - goto yy626; -yy640: + if (yych <= 0x00) goto yy664; + goto yy649; +yy663: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy643; - goto yy626; -yy641: + if (yych == 't') goto yy666; + goto yy649; +yy664: ++YYCURSOR; -#line 198 "../src/conf/parse_opts.re" +#line 202 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; } -#line 2646 "src/conf/parse_opts.cc" -yy643: +#line 2729 "src/conf/parse_opts.cc" +yy666: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'u') goto yy626; + if (yych != 'u') goto yy649; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 't') goto yy626; + if (yych != 't') goto yy649; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'e') goto yy626; + if (yych != 'e') goto yy649; yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy626; + if (yych >= 0x01) goto yy649; ++YYCURSOR; -#line 199 "../src/conf/parse_opts.re" +#line 203 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; } -#line 2659 "src/conf/parse_opts.cc" +#line 2742 "src/conf/parse_opts.cc" } -#line 201 "../src/conf/parse_opts.re" +#line 205 "../src/conf/parse_opts.re" opt_input: @@ -2667,86 +2750,86 @@ opt_input: return EXIT_FAIL; } -#line 2671 "src/conf/parse_opts.cc" +#line 2754 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 'b') goto yy651; - if (yych <= 'c') goto yy653; - if (yych <= 'd') goto yy654; -yy651: + if (yych <= 'b') goto yy674; + if (yych <= 'c') goto yy676; + if (yych <= 'd') goto yy677; +yy674: ++YYCURSOR; -yy652: -#line 211 "../src/conf/parse_opts.re" +yy675: +#line 215 "../src/conf/parse_opts.re" { error ("bad argument to option --input (expected: default | custom): %s", *argv); return EXIT_FAIL; } -#line 2686 "src/conf/parse_opts.cc" -yy653: +#line 2769 "src/conf/parse_opts.cc" +yy676: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy655; - goto yy652; -yy654: + if (yych == 'u') goto yy678; + goto yy675; +yy677: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy657; - goto yy652; -yy655: + if (yych == 'e') goto yy680; + goto yy675; +yy678: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy658; -yy656: + if (yych == 's') goto yy681; +yy679: YYCURSOR = YYMARKER; - goto yy652; -yy657: + goto yy675; +yy680: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy659; - goto yy656; -yy658: + if (yych == 'f') goto yy682; + goto yy679; +yy681: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy660; - goto yy656; -yy659: + if (yych == 't') goto yy683; + goto yy679; +yy682: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy661; - goto yy656; -yy660: + if (yych == 'a') goto yy684; + goto yy679; +yy683: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy662; - goto yy656; -yy661: + if (yych == 'o') goto yy685; + goto yy679; +yy684: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy663; - goto yy656; -yy662: + if (yych == 'u') goto yy686; + goto yy679; +yy685: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy664; - goto yy656; -yy663: + if (yych == 'm') goto yy687; + goto yy679; +yy686: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy665; - goto yy656; -yy664: + if (yych == 'l') goto yy688; + goto yy679; +yy687: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy666; - goto yy656; -yy665: + if (yych <= 0x00) goto yy689; + goto yy679; +yy688: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy668; - goto yy656; -yy666: + if (yych == 't') goto yy691; + goto yy679; +yy689: ++YYCURSOR; -#line 216 "../src/conf/parse_opts.re" +#line 220 "../src/conf/parse_opts.re" { opts.set_input_api (InputAPI::CUSTOM); goto opt; } -#line 2741 "src/conf/parse_opts.cc" -yy668: +#line 2824 "src/conf/parse_opts.cc" +yy691: yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy656; + if (yych >= 0x01) goto yy679; ++YYCURSOR; -#line 215 "../src/conf/parse_opts.re" +#line 219 "../src/conf/parse_opts.re" { opts.set_input_api (InputAPI::DEFAULT); goto opt; } -#line 2748 "src/conf/parse_opts.cc" +#line 2831 "src/conf/parse_opts.cc" } -#line 217 "../src/conf/parse_opts.re" +#line 221 "../src/conf/parse_opts.re" opt_empty_class: @@ -2756,120 +2839,120 @@ opt_empty_class: return EXIT_FAIL; } -#line 2760 "src/conf/parse_opts.cc" +#line 2843 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'e') goto yy675; - if (yych == 'm') goto yy676; + if (yych == 'e') goto yy698; + if (yych == 'm') goto yy699; ++YYCURSOR; -yy674: -#line 227 "../src/conf/parse_opts.re" +yy697: +#line 231 "../src/conf/parse_opts.re" { error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv); return EXIT_FAIL; } -#line 2773 "src/conf/parse_opts.cc" -yy675: +#line 2856 "src/conf/parse_opts.cc" +yy698: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy677; - goto yy674; -yy676: + if (yych == 'r') goto yy700; + goto yy697; +yy699: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy679; - goto yy674; -yy677: + if (yych == 'a') goto yy702; + goto yy697; +yy700: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy680; -yy678: + if (yych == 'r') goto yy703; +yy701: YYCURSOR = YYMARKER; - goto yy674; -yy679: + goto yy697; +yy702: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy681; - goto yy678; -yy680: + if (yych == 't') goto yy704; + goto yy701; +yy703: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy682; - goto yy678; -yy681: + if (yych == 'o') goto yy705; + goto yy701; +yy704: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy683; - goto yy678; -yy682: + if (yych == 'c') goto yy706; + goto yy701; +yy705: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy684; - goto yy678; -yy683: + if (yych == 'r') goto yy707; + goto yy701; +yy706: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy685; - goto yy678; -yy684: + if (yych == 'h') goto yy708; + goto yy701; +yy707: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy686; - goto yy678; -yy685: + if (yych <= 0x00) goto yy709; + goto yy701; +yy708: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy688; - goto yy678; -yy686: + if (yych == '-') goto yy711; + goto yy701; +yy709: ++YYCURSOR; -#line 233 "../src/conf/parse_opts.re" +#line 237 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; } -#line 2820 "src/conf/parse_opts.cc" -yy688: +#line 2903 "src/conf/parse_opts.cc" +yy711: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy689; - if (yych == 'n') goto yy690; - goto yy678; -yy689: + if (yych == 'e') goto yy712; + if (yych == 'n') goto yy713; + goto yy701; +yy712: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy691; - goto yy678; -yy690: + if (yych == 'm') goto yy714; + goto yy701; +yy713: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy692; - goto yy678; -yy691: + if (yych == 'o') goto yy715; + goto yy701; +yy714: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy693; - goto yy678; -yy692: + if (yych == 'p') goto yy716; + goto yy701; +yy715: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy694; - goto yy678; -yy693: + if (yych == 'n') goto yy717; + goto yy701; +yy716: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy695; - goto yy678; -yy694: + if (yych == 't') goto yy718; + goto yy701; +yy717: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy696; - goto yy678; -yy695: + if (yych == 'e') goto yy719; + goto yy701; +yy718: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy697; - goto yy678; -yy696: + if (yych == 'y') goto yy720; + goto yy701; +yy719: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy698; - goto yy678; -yy697: + if (yych <= 0x00) goto yy721; + goto yy701; +yy720: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy700; - goto yy678; -yy698: + if (yych <= 0x00) goto yy723; + goto yy701; +yy721: ++YYCURSOR; -#line 232 "../src/conf/parse_opts.re" +#line 236 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; } -#line 2866 "src/conf/parse_opts.cc" -yy700: +#line 2949 "src/conf/parse_opts.cc" +yy723: ++YYCURSOR; -#line 231 "../src/conf/parse_opts.re" +#line 235 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; } -#line 2871 "src/conf/parse_opts.cc" +#line 2954 "src/conf/parse_opts.cc" } -#line 234 "../src/conf/parse_opts.re" +#line 238 "../src/conf/parse_opts.re" opt_dfa_minimization: @@ -2879,74 +2962,74 @@ opt_dfa_minimization: return EXIT_FAIL; } -#line 2883 "src/conf/parse_opts.cc" +#line 2966 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'm') goto yy706; - if (yych == 't') goto yy707; + if (yych == 'm') goto yy729; + if (yych == 't') goto yy730; ++YYCURSOR; -yy705: -#line 244 "../src/conf/parse_opts.re" +yy728: +#line 248 "../src/conf/parse_opts.re" { error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv); return EXIT_FAIL; } -#line 2896 "src/conf/parse_opts.cc" -yy706: +#line 2979 "src/conf/parse_opts.cc" +yy729: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy708; - goto yy705; -yy707: + if (yych == 'o') goto yy731; + goto yy728; +yy730: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy710; - goto yy705; -yy708: + if (yych == 'a') goto yy733; + goto yy728; +yy731: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy711; -yy709: + if (yych == 'o') goto yy734; +yy732: YYCURSOR = YYMARKER; - goto yy705; -yy710: + goto yy728; +yy733: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy712; - goto yy709; -yy711: + if (yych == 'b') goto yy735; + goto yy732; +yy734: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy713; - goto yy709; -yy712: + if (yych == 'r') goto yy736; + goto yy732; +yy735: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy714; - goto yy709; -yy713: + if (yych == 'l') goto yy737; + goto yy732; +yy736: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy715; - goto yy709; -yy714: + if (yych == 'e') goto yy738; + goto yy732; +yy737: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy716; - goto yy709; -yy715: + if (yych == 'e') goto yy739; + goto yy732; +yy738: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy717; - goto yy709; -yy716: + if (yych <= 0x00) goto yy740; + goto yy732; +yy739: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy719; - goto yy709; -yy717: + if (yych <= 0x00) goto yy742; + goto yy732; +yy740: ++YYCURSOR; -#line 249 "../src/conf/parse_opts.re" +#line 253 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; } -#line 2943 "src/conf/parse_opts.cc" -yy719: +#line 3026 "src/conf/parse_opts.cc" +yy742: ++YYCURSOR; -#line 248 "../src/conf/parse_opts.re" +#line 252 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; } -#line 2948 "src/conf/parse_opts.cc" +#line 3031 "src/conf/parse_opts.cc" } -#line 250 "../src/conf/parse_opts.re" +#line 254 "../src/conf/parse_opts.re" end: diff --git a/re2c/src/conf/opt.cc b/re2c/src/conf/opt.cc index 1503b6bf..a1bd46f5 100644 --- a/re2c/src/conf/opt.cc +++ b/re2c/src/conf/opt.cc @@ -114,6 +114,9 @@ void opt_t::fix () fill_arg_use = Opt::baseopt.fill_arg_use; fill_naked = Opt::baseopt.fill_naked; labelPrefix = Opt::baseopt.labelPrefix; + dump_dfa_det = Opt::baseopt.dump_dfa_det; + dump_dfa_tagopt = Opt::baseopt.dump_dfa_tagopt; + dump_dfa_min = Opt::baseopt.dump_dfa_min; break; default: break; diff --git a/re2c/src/conf/opt.h b/re2c/src/conf/opt.h index b404d9d4..b8797035 100644 --- a/re2c/src/conf/opt.h +++ b/re2c/src/conf/opt.h @@ -112,7 +112,11 @@ namespace re2c /* labels */ \ OPT (std::string, labelPrefix, "yy") \ /* internals */ \ - OPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE) + OPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE) \ + /* dump */ \ + OPT (bool, dump_dfa_det, false) \ + OPT (bool, dump_dfa_tagopt, false) \ + OPT (bool, dump_dfa_min, false) struct opt_t { diff --git a/re2c/src/conf/parse_opts.re b/re2c/src/conf/parse_opts.re index a8b2536e..cab8f893 100644 --- a/re2c/src/conf/parse_opts.re +++ b/re2c/src/conf/parse_opts.re @@ -161,6 +161,10 @@ opt_long: "empty-class" end { goto opt_empty_class; } "dfa-minimization" end { goto opt_dfa_minimization; } "single-pass" end { goto opt; } // deprecated + + "dump-dfa-det" end { opts.set_dump_dfa_det(true); goto opt; } + "dump-dfa-tagopt" end { opts.set_dump_dfa_tagopt(true); goto opt; } + "dump-dfa-min" end { opts.set_dump_dfa_min(true); goto opt; } */ opt_output: diff --git a/re2c/src/ir/compile.cc b/re2c/src/ir/compile.cc index eb8d7cbb..600fd437 100644 --- a/re2c/src/ir/compile.cc +++ b/re2c/src/ir/compile.cc @@ -7,6 +7,7 @@ #include "src/ir/compile.h" #include "src/ir/adfa/adfa.h" #include "src/ir/dfa/dfa.h" +#include "src/ir/dfa/dump.h" #include "src/ir/nfa/nfa.h" #include "src/ir/regexp/regexp.h" #include "src/ir/skeleton/skeleton.h" @@ -59,6 +60,7 @@ static smart_ptr compile_rules( nfa_t nfa(rules); dfa_t dfa(nfa, cs, cond); + if (opts->dump_dfa_det) dump_dfa(dfa); // skeleton must be constructed after DFA construction // but prior to any other DFA transformations @@ -74,8 +76,10 @@ static smart_ptr compile_rules( // try to minimize the number of tag variables optimize_tags(dfa); + if (opts->dump_dfa_tagopt) dump_dfa(dfa); minimization(dfa); + if (opts->dump_dfa_min) dump_dfa(dfa); // find YYFILL states and calculate argument to YYFILL std::vector fill; diff --git a/re2c/src/ir/dfa/dump.cc b/re2c/src/ir/dfa/dump.cc new file mode 100644 index 00000000..6d773b33 --- /dev/null +++ b/re2c/src/ir/dfa/dump.cc @@ -0,0 +1,90 @@ +#include + +#include "src/ir/dfa/dump.h" + +namespace re2c +{ + +static void dump_tcmd(const dfa_t &dfa, const dfa_state_t *state, size_t sym) +{ + const tagsave_t *s; + const tagcopy_t *c; + + if (state->tcmd) { + const tcmd_t &cmd = state->tcmd[sym]; + s = cmd.save; + c = cmd.copy; + } else { + const tccmd_t &cmd = dfa.tcpool[state->tcid[sym]]; + s = cmd.save; + c = cmd.copy; + } + + if (!s && !c) return; + + fprintf(stderr, "/"); + for (; c; c = c->next) { + fprintf(stderr, "%d=%d ", c->lhs, c->rhs); + } + for (; s; s = s->next) { + fprintf(stderr, "%d%s ", s->ver, s->bottom ? "?" : ""); + } +} + +void dump_dfa(const dfa_t &dfa) +{ + const size_t + nstate = dfa.states.size(), + nsym = dfa.nchars; + + fprintf(stderr, + "digraph DFA {\n" + " rankdir=LR\n" + " node[shape=Mrecord fontname=fixed]\n" + " edge[arrowhead=vee fontname=fixed]\n\n"); + + for (uint32_t i = 0; i < nstate; ++i) { + const dfa_state_t *s = dfa.states[i]; + + // state + fprintf(stderr, " n%u [height=0.2 width=0.2 label=\"%u\"]\n", i, i); + + // finalizer + if (s->rule != Rule::NONE) { + const Rule &r = dfa.rules[s->rule]; + + fprintf(stderr, + "subgraph { rank=same" + " n%u [style=filled fillcolor=lightgray]" + " dr%u [shape=none label=\"", + i, i); + dump_tcmd(dfa, s, nsym); + + fprintf(stderr, "("); + for (size_t t = r.lvar; t < r.hvar; ++t) { + if (t > r.lvar) fprintf(stderr, " "); + fprintf(stderr, "%d", dfa.finvers[t]); + } + fprintf(stderr, ")"); + + fprintf(stderr, "\"]" + " n%u:s -> dr%u:n [style=dotted minlen=0]}\n", + i, i); + } + + // transitions + for (uint32_t c = 0; c < nsym; ++c) { + const size_t j = s->arcs[c]; + if (j != dfa_t::NIL) { + fprintf(stderr, " n%u -> n%u [label=\"%u", + i, static_cast(j), c); + dump_tcmd(dfa, s, c); + fprintf(stderr, "\"]\n"); + } + } + } + + fprintf(stderr, "}\n"); +} + +} // namespace re2c diff --git a/re2c/src/ir/dfa/dump.h b/re2c/src/ir/dfa/dump.h new file mode 100644 index 00000000..9a72cc2e --- /dev/null +++ b/re2c/src/ir/dfa/dump.h @@ -0,0 +1,13 @@ +#ifndef _RE2C_IR_DFA_DUMP_ +#define _RE2C_IR_DFA_DUMP_ + +#include "src/ir/dfa/dfa.h" + +namespace re2c +{ + +void dump_dfa(const dfa_t &dfa); + +} // namespace re2c + +#endif // _RE2C_IR_DFA_DUMP_