From d2ff88bf53f88231ef3c70e2ad3ce456c7d5ef2d Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Mon, 17 Jul 2017 23:03:53 +0100 Subject: [PATCH] Added option '--no-optimize-tags' (switches off tag optimizations). --- re2c/bootstrap/src/ast/lex_conf.cc | 2887 +++++++++++++------------ re2c/bootstrap/src/conf/parse_opts.cc | 1614 +++++++------- re2c/src/ast/lex_conf.re | 1 + re2c/src/compile.cc | 4 +- re2c/src/conf/opt.cc | 2 + re2c/src/conf/opt.h | 1 + re2c/src/conf/parse_opts.re | 1 + re2c/src/dfa/cfg/optimize.cc | 4 - re2c/src/dfa/dfa.h | 1 + 9 files changed, 2317 insertions(+), 2198 deletions(-) diff --git a/re2c/bootstrap/src/ast/lex_conf.cc b/re2c/bootstrap/src/ast/lex_conf.cc index 568a7ca5..a1be33d4 100644 --- a/re2c/bootstrap/src/ast/lex_conf.cc +++ b/re2c/bootstrap/src/ast/lex_conf.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Thu Apr 6 16:25:33 2017 */ +/* Generated by re2c 0.16 on Mon Jul 17 22:55:04 2017 */ #line 1 "../src/ast/lex_conf.re" #include "src/util/c99_stdint.h" #include @@ -101,7 +101,7 @@ void Scanner::lex_conf(Opt &opts) } } yy2: -#line 159 "../src/ast/lex_conf.re" +#line 160 "../src/ast/lex_conf.re" { fatal_error(cline, get_column(), "unrecognized configuration '%.*s'", @@ -407,95 +407,96 @@ yy70: case 'g': goto yy100; case 'i': goto yy102; case 'n': goto yy104; - case 'p': goto yy105; - case 's': goto yy106; - case 't': goto yy108; - case 'u': goto yy109; - case 'w': goto yy111; - case 'x': goto yy113; + case 'o': goto yy105; + case 'p': goto yy106; + case 's': goto yy107; + case 't': goto yy109; + case 'u': goto yy110; + case 'w': goto yy112; + case 'x': goto yy114; default: goto yy4; } yy71: yych = (unsigned char)*++cur; - if (yych == ':') goto yy115; + if (yych == ':') goto yy116; goto yy4; yy72: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy116; + if (yych == 'y') goto yy117; goto yy4; yy73: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy117; + if (yych == 'r') goto yy118; goto yy4; yy74: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy118; + if (yych == 'a') goto yy119; goto yy4; yy75: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy119; - if (yych == 'n') goto yy120; + if (yych == 'a') goto yy120; + if (yych == 'n') goto yy121; goto yy4; yy76: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy121; + if (yych == 'x') goto yy122; goto yy4; yy77: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy122; + if (yych == 'r') goto yy123; goto yy4; yy78: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy123; + if (yych == 'l') goto yy124; goto yy4; yy79: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy124; + if (yych == 'e') goto yy125; goto yy4; yy80: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy125; + if (yych == 'o') goto yy126; goto yy4; yy81: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy126; + if (yych == 'm') goto yy127; goto yy4; yy82: yych = (unsigned char)*++cur; - if (yych == ':') goto yy127; + if (yych == ':') goto yy128; goto yy4; yy83: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy128; + if (yych == 'h') goto yy129; goto yy4; yy84: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy129; + if (yych == 'v') goto yy130; goto yy4; yy85: yych = (unsigned char)*++cur; - if (yych == 't') goto yy130; + if (yych == 't') goto yy131; goto yy4; yy86: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy131; + if (yych == 'm') goto yy132; goto yy4; yy87: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy132; + if (yych == 'f') goto yy133; goto yy4; yy88: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy133; + if (yych == 'Y') goto yy134; goto yy4; yy89: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 57 "../src/ast/lex_conf.re" +#line 58 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::UTF8, opts); return; } -#line 499 "src/ast/lex_conf.cc" +#line 500 "src/ast/lex_conf.cc" yy91: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { @@ -503,7 +504,7 @@ yy91: } #line 46 "../src/ast/lex_conf.re" { opts.set_tags(lex_conf_bool()); return; } -#line 507 "src/ast/lex_conf.cc" +#line 508 "src/ast/lex_conf.cc" yy93: yych = (unsigned char)*++cur; if (yych <= 'Z') { @@ -517,18 +518,18 @@ yy93: if (yych <= '`') { if (yych == '_') goto yy3; } else { - if (yych == 'i') goto yy134; + if (yych == 'i') goto yy135; if (yych <= 'z') goto yy3; } } yy94: #line 41 "../src/ast/lex_conf.re" { opts.set_bFlag(lex_conf_bool()); return; } -#line 528 "src/ast/lex_conf.cc" +#line 529 "src/ast/lex_conf.cc" yy95: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy135; - if (yych == 'o') goto yy136; + if (yych == 'a') goto yy136; + if (yych == 'o') goto yy137; goto yy4; yy96: yych = (unsigned char)*++cur; @@ -544,15 +545,15 @@ yy96: if (yych <= 'd') { if (yych != '`') goto yy3; } else { - if (yych <= 'e') goto yy137; - if (yych <= 'f') goto yy138; + if (yych <= 'e') goto yy138; + if (yych <= 'f') goto yy139; if (yych <= 'z') goto yy3; } } yy97: #line 42 "../src/ast/lex_conf.re" { opts.set_dFlag(lex_conf_bool()); return; } -#line 556 "src/ast/lex_conf.cc" +#line 557 "src/ast/lex_conf.cc" yy98: yych = (unsigned char)*++cur; if (yych <= '_') { @@ -567,23 +568,23 @@ yy98: } else { if (yych <= 'c') { if (yych <= '`') goto yy99; - if (yych <= 'a') goto yy139; + if (yych <= 'a') goto yy140; if (yych <= 'b') goto yy3; - goto yy140; + goto yy141; } else { if (yych <= 'm') { if (yych <= 'l') goto yy3; - goto yy141; + goto yy142; } else { - if (yych <= 'n') goto yy142; + if (yych <= 'n') goto yy143; if (yych <= 'z') goto yy3; } } } yy99: -#line 53 "../src/ast/lex_conf.re" +#line 54 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::EBCDIC, opts); return; } -#line 587 "src/ast/lex_conf.cc" +#line 588 "src/ast/lex_conf.cc" yy100: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { @@ -591,7 +592,7 @@ yy100: } #line 43 "../src/ast/lex_conf.re" { opts.set_gFlag(lex_conf_bool()); return; } -#line 595 "src/ast/lex_conf.cc" +#line 596 "src/ast/lex_conf.cc" yy102: yych = (unsigned char)*++cur; if (yych <= 'Z') { @@ -605,60 +606,64 @@ yy102: if (yych <= '`') { if (yych == '_') goto yy3; } else { - if (yych == 'n') goto yy143; + if (yych == 'n') goto yy144; if (yych <= 'z') goto yy3; } } yy103: #line 44 "../src/ast/lex_conf.re" { opts.set_iFlag(lex_conf_bool()); return; } -#line 616 "src/ast/lex_conf.cc" +#line 617 "src/ast/lex_conf.cc" yy104: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy144; - if (yych == 'o') goto yy145; + if (yych == 'e') goto yy145; + if (yych == 'o') goto yy146; goto yy4; yy105: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy146; + if (yych == 'p') goto yy147; goto yy4; yy106: + yych = (unsigned char)*++cur; + if (yych == 'o') goto yy148; + goto yy4; +yy107: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 45 "../src/ast/lex_conf.re" { opts.set_sFlag(lex_conf_bool()); return; } -#line 633 "src/ast/lex_conf.cc" -yy108: +#line 638 "src/ast/lex_conf.cc" +yy109: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy147; + if (yych == 'a') goto yy149; goto yy4; -yy109: +yy110: yych = (unsigned char)*++cur; if (yych <= '^') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy110; + if (yych <= '@') goto yy111; if (yych <= 'Z') goto yy3; } } else { if (yych <= 'n') { - if (yych == '`') goto yy110; + if (yych == '`') goto yy111; if (yych <= 'm') goto yy3; - goto yy148; + goto yy150; } else { - if (yych == 't') goto yy149; + if (yych == 't') goto yy151; if (yych <= 'z') goto yy3; } } -yy110: -#line 54 "../src/ast/lex_conf.re" - { lex_conf_enc(Enc::UTF32, opts); return; } -#line 661 "src/ast/lex_conf.cc" yy111: +#line 55 "../src/ast/lex_conf.re" + { lex_conf_enc(Enc::UTF32, opts); return; } +#line 666 "src/ast/lex_conf.cc" +yy112: yych = (unsigned char)*++cur; if (yych <= 'Z') { if (yych <= '/') { @@ -671,505 +676,500 @@ yy111: if (yych <= '`') { if (yych == '_') goto yy3; } else { - if (yych == 'i') goto yy150; + if (yych == 'i') goto yy152; if (yych <= 'z') goto yy3; } } -yy112: -#line 55 "../src/ast/lex_conf.re" - { lex_conf_enc(Enc::UCS2, opts); return; } -#line 682 "src/ast/lex_conf.cc" yy113: +#line 56 "../src/ast/lex_conf.re" + { lex_conf_enc(Enc::UCS2, opts); return; } +#line 687 "src/ast/lex_conf.cc" +yy114: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 56 "../src/ast/lex_conf.re" +#line 57 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::UTF16, opts); return; } -#line 690 "src/ast/lex_conf.cc" -yy115: - yych = (unsigned char)*++cur; - if (yych <= 'r') goto yy4; - if (yych <= 's') goto yy151; - if (yych <= 't') goto yy152; - goto yy4; +#line 695 "src/ast/lex_conf.cc" yy116: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy153; + if (yych <= 'r') goto yy4; + if (yych <= 's') goto yy153; + if (yych <= 't') goto yy154; goto yy4; yy117: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy154; + if (yych == 'y') goto yy155; goto yy4; yy118: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy155; + if (yych == 'e') goto yy156; goto yy4; yy119: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy156; + if (yych == 'b') goto yy157; goto yy4; yy120: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy157; + if (yych == 'b') goto yy158; goto yy4; yy121: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy158; + if (yych == 'e') goto yy159; goto yy4; yy122: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy159; + if (yych == 'p') goto yy160; goto yy4; yy123: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy160; + if (yych == 'e') goto yy161; goto yy4; yy124: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy161; + if (yych == 'e') goto yy162; goto yy4; yy125: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy163; + if (yych == 'x') goto yy163; goto yy4; yy126: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy164; + if (yych == 'n') goto yy165; goto yy4; yy127: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy166; + goto yy4; +yy128: yych = (unsigned char)*++cur; if (yych <= 'd') { - if (yych == 'c') goto yy165; + if (yych == 'c') goto yy167; goto yy4; } else { - if (yych <= 'e') goto yy166; - if (yych == 'p') goto yy167; + if (yych <= 'e') goto yy168; + if (yych == 'p') goto yy169; goto yy4; } -yy128: - yych = (unsigned char)*++cur; - if (yych == 'r') goto yy168; - goto yy4; yy129: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy169; + if (yych == 'r') goto yy170; goto yy4; yy130: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy170; + if (yych == 'i') goto yy171; goto yy4; yy131: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy172; + if (yych == 'o') goto yy172; goto yy4; yy132: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy173; + if (yych == 'p') goto yy174; goto yy4; yy133: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy174; + if (yych == 'i') goto yy175; goto yy4; yy134: yych = (unsigned char)*++cur; - if (yych == 't') goto yy175; + if (yych == 'Y') goto yy176; goto yy4; yy135: yych = (unsigned char)*++cur; - if (yych == 's') goto yy176; + if (yych == 't') goto yy177; goto yy4; yy136: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy177; + if (yych == 's') goto yy178; goto yy4; yy137: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy178; + if (yych == 'm') goto yy179; goto yy4; yy138: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy179; + if (yych == 'b') goto yy180; goto yy4; yy139: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy180; + if (yych == 'a') goto yy181; goto yy4; yy140: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy181; + if (yych == 'g') goto yy182; goto yy4; yy141: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy182; + if (yych == 'b') goto yy183; goto yy4; yy142: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy183; + if (yych == 'p') goto yy184; goto yy4; yy143: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy184; + if (yych == 'c') goto yy185; goto yy4; yy144: yych = (unsigned char)*++cur; - if (yych == 's') goto yy185; + if (yych == 'p') goto yy186; goto yy4; yy145: yych = (unsigned char)*++cur; - if (yych == '-') goto yy186; + if (yych == 's') goto yy187; goto yy4; yy146: yych = (unsigned char)*++cur; - if (yych == 's') goto yy187; + if (yych == '-') goto yy188; goto yy4; yy147: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy188; + if (yych == 't') goto yy189; goto yy4; yy148: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy189; + if (yych == 's') goto yy190; goto yy4; yy149: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy190; + if (yych == 'g') goto yy191; goto yy4; yy150: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy191; + if (yych == 'i') goto yy192; goto yy4; yy151: yych = (unsigned char)*++cur; - if (yych == 't') goto yy192; + if (yych == 'f') goto yy193; goto yy4; yy152: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy193; + if (yych == 'd') goto yy194; goto yy4; yy153: yych = (unsigned char)*++cur; - if (yych == 'F') goto yy194; - if (yych == 'N') goto yy195; + if (yych == 't') goto yy195; goto yy4; yy154: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy196; + if (yych == 'o') goto yy196; goto yy4; yy155: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy197; + if (yych == 'F') goto yy197; + if (yych == 'N') goto yy198; goto yy4; yy156: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy198; + if (yych == 'f') goto yy199; goto yy4; yy157: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy199; + if (yych == 'e') goto yy200; goto yy4; yy158: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy200; + if (yych == 'o') goto yy201; goto yy4; yy159: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy201; + if (yych == 'x') goto yy202; goto yy4; yy160: yych = (unsigned char)*++cur; - if (yych == ':') goto yy202; + if (yych == 'r') goto yy203; goto yy4; yy161: + yych = (unsigned char)*++cur; + if (yych == 'f') goto yy204; + goto yy4; +yy162: + yych = (unsigned char)*++cur; + if (yych == ':') goto yy205; + goto yy4; +yy163: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 90 "../src/ast/lex_conf.re" +#line 91 "../src/ast/lex_conf.re" { opts.set_yybmHexTable (lex_conf_bool()); return; } -#line 891 "src/ast/lex_conf.cc" -yy163: - yych = (unsigned char)*++cur; - if (yych == 'v') goto yy203; - goto yy4; -yy164: - yych = (unsigned char)*++cur; - if (yych == 't') goto yy204; - goto yy4; +#line 900 "src/ast/lex_conf.cc" yy165: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy206; + if (yych == 'v') goto yy206; goto yy4; yy166: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy207; + if (yych == 't') goto yy207; goto yy4; yy167: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy208; + if (yych == 'h') goto yy209; goto yy4; yy168: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy209; + if (yych == 'n') goto yy210; goto yy4; yy169: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy210; + if (yych == 'a') goto yy211; goto yy4; yy170: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy212; + goto yy4; +yy171: + yych = (unsigned char)*++cur; + if (yych == 'd') goto yy213; + goto yy4; +yy172: yyaccept = 0; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { goto yy3; } - if (yych == '@') goto yy211; -yy171: -#line 74 "../src/ast/lex_conf.re" + if (yych == '@') goto yy214; +yy173: +#line 75 "../src/ast/lex_conf.re" { opts.set_condGoto (lex_conf_string ()); return; } -#line 930 "src/ast/lex_conf.cc" -yy172: +#line 939 "src/ast/lex_conf.cc" +yy174: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy213; + if (yych == 'r') goto yy216; goto yy4; -yy173: +yy175: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy214; + if (yych == 'x') goto yy217; goto yy4; -yy174: +yy176: yych = (unsigned char)*++cur; switch (yych) { - case 'B': goto yy216; - case 'C': goto yy217; - case 'D': goto yy218; - case 'F': goto yy219; - case 'G': goto yy220; - case 'L': goto yy221; - case 'M': goto yy222; - case 'P': goto yy223; - case 'R': goto yy224; - case 'S': goto yy225; - case 'T': goto yy226; + case 'B': goto yy219; + case 'C': goto yy220; + case 'D': goto yy221; + case 'F': goto yy222; + case 'G': goto yy223; + case 'L': goto yy224; + case 'M': goto yy225; + case 'P': goto yy226; + case 'R': goto yy227; + case 'S': goto yy228; + case 'T': goto yy229; default: goto yy4; } -yy175: - yych = (unsigned char)*++cur; - if (yych == '-') goto yy227; - goto yy4; -yy176: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy228; - goto yy4; yy177: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy229; + if (yych == '-') goto yy230; goto yy4; yy178: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy230; + if (yych == 'e') goto yy231; goto yy4; yy179: yych = (unsigned char)*++cur; - if (yych == '-') goto yy231; + if (yych == 'p') goto yy232; goto yy4; yy180: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy232; + if (yych == 'u') goto yy233; goto yy4; yy181: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } - goto yy99; + if (yych == '-') goto yy234; + goto yy4; yy182: yych = (unsigned char)*++cur; - if (yych == 't') goto yy233; + if (yych == 'e') goto yy235; goto yy4; yy183: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy234; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } + goto yy99; yy184: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy235; + if (yych == 't') goto yy236; goto yy4; yy185: yych = (unsigned char)*++cur; - if (yych == 't') goto yy236; + if (yych == 'o') goto yy237; goto yy4; yy186: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy237; - if (yych == 'l') goto yy238; + if (yych == 'u') goto yy238; goto yy4; yy187: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy239; + if (yych == 't') goto yy239; goto yy4; yy188: yych = (unsigned char)*++cur; - if (yych == 's') goto yy91; + if (yych == 'd') goto yy240; + if (yych == 'l') goto yy241; goto yy4; yy189: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy240; + if (yych == 'i') goto yy242; goto yy4; yy190: yych = (unsigned char)*++cur; - if (yych == '-') goto yy241; + if (yych == 'i') goto yy243; goto yy4; yy191: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy242; + if (yych == 's') goto yy91; goto yy4; yy192: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy243; + if (yych == 'c') goto yy244; goto yy4; yy193: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy244; + if (yych == '-') goto yy245; goto yy4; yy194: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy246; + if (yych == 'e') goto yy246; goto yy4; yy195: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy247; + if (yych == 'r') goto yy247; goto yy4; yy196: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy248; + if (yych == 'p') goto yy248; goto yy4; yy197: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy249; + if (yych == 'i') goto yy250; goto yy4; yy198: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy251; + if (yych == 'e') goto yy251; goto yy4; yy199: yych = (unsigned char)*++cur; - if (yych == 't') goto yy252; + if (yych == 'i') goto yy252; goto yy4; yy200: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy253; + if (yych == 'l') goto yy253; goto yy4; yy201: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy254; + if (yych == 'r') goto yy255; goto yy4; yy202: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy255; + if (yych == 't') goto yy256; goto yy4; yy203: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy256; + if (yych == 'e') goto yy257; goto yy4; yy204: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy258; + goto yy4; +yy205: + yych = (unsigned char)*++cur; + if (yych == 'y') goto yy259; + goto yy4; +yy206: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy260; + goto yy4; +yy207: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 141 "../src/ast/lex_conf.re" +#line 142 "../src/ast/lex_conf.re" { opts.set_bEmitYYCh (lex_conf_bool()); return; } -#line 1081 "src/ast/lex_conf.cc" -yy206: +#line 1094 "src/ast/lex_conf.cc" +yy209: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy257; + if (yych == 'e') goto yy261; goto yy4; -yy207: +yy210: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy258; + if (yych == 'a') goto yy262; goto yy4; -yy208: +yy211: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy259; + if (yych == 'r') goto yy263; goto yy4; -yy209: +yy212: yych = (unsigned char)*++cur; - if (yych == 's') goto yy260; + if (yych == 's') goto yy264; goto yy4; -yy210: +yy213: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy261; + if (yych == 'e') goto yy265; goto yy4; -yy211: +yy214: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy262; -yy212: + if (yych == 'c') goto yy266; +yy215: cur = mar; if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy171; + goto yy173; } else { - goto yy250; + goto yy254; } } else { - goto yy318; + goto yy323; } } else { if (yyaccept <= 4) { if (yyaccept == 3) { - goto yy383; + goto yy389; } else { - goto yy580; + goto yy590; } } else { - goto yy662; + goto yy676; } } -yy213: +yy216: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy263; + if (yych == 'e') goto yy267; goto yy4; -yy214: +yy217: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 70 "../src/ast/lex_conf.re" +#line 71 "../src/ast/lex_conf.re" { opts.set_condPrefix (lex_conf_string ()); return; } -#line 1139 "src/ast/lex_conf.cc" -yy216: +#line 1152 "src/ast/lex_conf.cc" +yy219: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy264; + if (yych == 'A') goto yy268; goto yy4; -yy217: +yy220: yych = (unsigned char)*++cur; if (yych <= 'S') { - if (yych == 'O') goto yy265; + if (yych == 'O') goto yy269; goto yy4; } else { - if (yych <= 'T') goto yy266; - if (yych <= 'U') goto yy267; + if (yych <= 'T') goto yy270; + if (yych <= 'U') goto yy271; goto yy4; } -yy218: - yych = (unsigned char)*++cur; - if (yych == 'E') goto yy268; - goto yy4; -yy219: - yych = (unsigned char)*++cur; - if (yych == 'I') goto yy269; - goto yy4; -yy220: - yych = (unsigned char)*++cur; - if (yych == 'E') goto yy270; - goto yy4; yy221: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy271; - if (yych == 'I') goto yy272; + if (yych == 'E') goto yy272; goto yy4; yy222: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy273; + if (yych == 'I') goto yy273; goto yy4; yy223: yych = (unsigned char)*++cur; @@ -1178,91 +1178,108 @@ yy223: yy224: yych = (unsigned char)*++cur; if (yych == 'E') goto yy275; + if (yych == 'I') goto yy276; goto yy4; yy225: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy276; - if (yych == 'K') goto yy277; + if (yych == 'A') goto yy277; goto yy4; yy226: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy278; + if (yych == 'E') goto yy278; goto yy4; yy227: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy279; + if (yych == 'E') goto yy279; goto yy4; yy228: yych = (unsigned char)*++cur; - if (yych == '-') goto yy280; + if (yych == 'E') goto yy280; + if (yych == 'K') goto yy281; goto yy4; yy229: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy281; + if (yych == 'A') goto yy282; goto yy4; yy230: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy282; + if (yych == 'v') goto yy283; goto yy4; yy231: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy283; + if (yych == '-') goto yy284; goto yy4; yy232: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy284; + if (yych == 'u') goto yy285; goto yy4; yy233: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy285; + if (yych == 'g') goto yy286; goto yy4; yy234: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy286; + if (yych == 'm') goto yy287; goto yy4; yy235: yych = (unsigned char)*++cur; - if (yych == 't') goto yy287; + if (yych == 'r') goto yy288; goto yy4; yy236: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy289; + if (yych == 'y') goto yy289; goto yy4; yy237: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy290; + if (yych == 'd') goto yy290; goto yy4; yy238: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy291; + if (yych == 't') goto yy291; goto yy4; yy239: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy292; + if (yych == 'e') goto yy293; goto yy4; yy240: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy293; + if (yych == 'e') goto yy294; goto yy4; yy241: yych = (unsigned char)*++cur; - if (yych == '1') goto yy294; - if (yych == '8') goto yy89; + if (yych == 'o') goto yy295; goto yy4; yy242: yych = (unsigned char)*++cur; - if (yych == '-') goto yy295; + if (yych == 'm') goto yy296; goto yy4; yy243: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy296; + if (yych == 'x') goto yy297; goto yy4; yy244: + yych = (unsigned char)*++cur; + if (yych == 'o') goto yy298; + goto yy4; +yy245: + yych = (unsigned char)*++cur; + if (yych == '1') goto yy299; + if (yych == '8') goto yy89; + goto yy4; +yy246: + yych = (unsigned char)*++cur; + if (yych == '-') goto yy300; + goto yy4; +yy247: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy301; + goto yy4; +yy248: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 126 "../src/ast/lex_conf.re" +#line 127 "../src/ast/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) @@ -1272,20 +1289,20 @@ yy244: opts.set_topIndent (static_cast (n)); return; } -#line 1276 "src/ast/lex_conf.cc" -yy246: +#line 1293 "src/ast/lex_conf.cc" +yy250: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy297; + if (yych == 'l') goto yy302; goto yy4; -yy247: +yy251: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy298; + if (yych == 'x') goto yy303; goto yy4; -yy248: +yy252: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy299; + if (yych == 'x') goto yy304; goto yy4; -yy249: +yy253: yyaccept = 1; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { @@ -1294,584 +1311,592 @@ yy249: if (yych <= 0x1F) { if (yych == '\t') { ctx = cur; - goto yy301; + goto yy306; } } else { if (yych <= ' ') { ctx = cur; - goto yy301; + goto yy306; } if (yych == '=') { ctx = cur; - goto yy303; + goto yy308; } } -yy250: -#line 154 "../src/ast/lex_conf.re" - { opts.set_startlabel (lex_conf_string()); return; } -#line 1313 "src/ast/lex_conf.cc" -yy251: - yych = (unsigned char)*++cur; - if (yych == 't') goto yy305; - goto yy4; -yy252: - yych = (unsigned char)*++cur; - if (yych == 'l') goto yy307; - goto yy4; -yy253: - yych = (unsigned char)*++cur; - if (yych == 's') goto yy308; - goto yy4; yy254: - yych = (unsigned char)*++cur; - if (yych == 'x') goto yy309; - goto yy4; +#line 155 "../src/ast/lex_conf.re" + { opts.set_startlabel (lex_conf_string()); return; } +#line 1330 "src/ast/lex_conf.cc" yy255: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy311; + if (yych == 't') goto yy310; goto yy4; yy256: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy312; + if (yych == 'l') goto yy312; goto yy4; yy257: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy313; + if (yych == 's') goto yy313; goto yy4; yy258: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy314; + if (yych == 'x') goto yy314; goto yy4; yy259: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy315; + if (yych == 'y') goto yy316; goto yy4; yy260: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy316; + if (yych == 'r') goto yy317; goto yy4; yy261: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy317; + if (yych == 'c') goto yy318; goto yy4; yy262: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy319; - goto yy212; + if (yych == 'b') goto yy319; + goto yy4; yy263: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy320; + if (yych == 'a') goto yy320; goto yy4; yy264: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy321; + if (yych == 'h') goto yy321; goto yy4; yy265: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy322; + if (yych == 'r') goto yy322; goto yy4; yy266: yych = (unsigned char)*++cur; - if (yych <= 'W') goto yy4; - if (yych <= 'X') goto yy323; - if (yych <= 'Y') goto yy324; - goto yy4; + if (yych == 'o') goto yy324; + goto yy215; yy267: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy325; + if (yych == 'f') goto yy325; goto yy4; yy268: yych = (unsigned char)*++cur; - if (yych == 'B') goto yy326; + if (yych == 'C') goto yy326; goto yy4; yy269: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy327; + if (yych == 'N') goto yy327; goto yy4; yy270: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy328; + if (yych <= 'W') goto yy4; + if (yych <= 'X') goto yy328; + if (yych <= 'Y') goto yy329; goto yy4; yy271: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy329; + if (yych == 'R') goto yy330; goto yy4; yy272: yych = (unsigned char)*++cur; - if (yych == 'M') goto yy330; + if (yych == 'B') goto yy331; goto yy4; yy273: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy331; + if (yych == 'L') goto yy332; goto yy4; yy274: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy332; + if (yych == 'T') goto yy333; goto yy4; yy275: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy333; + if (yych == 'S') goto yy334; goto yy4; yy276: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy334; + if (yych == 'M') goto yy335; goto yy4; yy277: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy335; + if (yych == 'R') goto yy336; goto yy4; yy278: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy336; + if (yych == 'E') goto yy337; goto yy4; yy279: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy337; + if (yych == 'S') goto yy338; goto yy4; yy280: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy338; + if (yych == 'T') goto yy339; goto yy4; yy281: yych = (unsigned char)*++cur; - if (yych == 't') goto yy339; + if (yych == 'I') goto yy340; goto yy4; yy282: yych = (unsigned char)*++cur; - if (yych == '-') goto yy340; + if (yych == 'G') goto yy341; goto yy4; yy283: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy341; + if (yych == 'e') goto yy342; goto yy4; yy284: yych = (unsigned char)*++cur; - if (yych == '-') goto yy342; + if (yych == 'i') goto yy343; goto yy4; yy285: yych = (unsigned char)*++cur; - if (yych == '-') goto yy343; + if (yych == 't') goto yy344; goto yy4; yy286: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy344; + if (yych == '-') goto yy345; goto yy4; yy287: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 60 "../src/ast/lex_conf.re" - { lex_conf_input(opts); return; } -#line 1467 "src/ast/lex_conf.cc" + if (yych == 'i') goto yy346; + goto yy4; +yy288: + yych = (unsigned char)*++cur; + if (yych == '-') goto yy347; + goto yy4; yy289: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy345; + if (yych == '-') goto yy348; goto yy4; yy290: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy346; + if (yych == 'i') goto yy349; goto yy4; yy291: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy347; - goto yy4; -yy292: - yych = (unsigned char)*++cur; - if (yych == '-') goto yy348; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 61 "../src/ast/lex_conf.re" + { lex_conf_input(opts); return; } +#line 1484 "src/ast/lex_conf.cc" yy293: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy349; + if (yych == 'd') goto yy350; goto yy4; yy294: yych = (unsigned char)*++cur; - if (yych == '6') goto yy113; + if (yych == 'b') goto yy351; goto yy4; yy295: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy350; + if (yych == 'o') goto yy352; goto yy4; yy296: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy351; + if (yych == 'i') goto yy353; goto yy4; yy297: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy352; + if (yych == '-') goto yy354; goto yy4; yy298: yych = (unsigned char)*++cur; - if (yych == 't') goto yy353; + if (yych == 'd') goto yy355; goto yy4; yy299: + yych = (unsigned char)*++cur; + if (yych == '6') goto yy114; + goto yy4; +yy300: + yych = (unsigned char)*++cur; + if (yych == 'c') goto yy356; + goto yy4; +yy301: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy357; + goto yy4; +yy302: + yych = (unsigned char)*++cur; + if (yych == 'l') goto yy358; + goto yy4; +yy303: + yych = (unsigned char)*++cur; + if (yych == 't') goto yy359; + goto yy4; +yy304: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 150 "../src/ast/lex_conf.re" +#line 151 "../src/ast/lex_conf.re" { opts.set_labelPrefix (lex_conf_string ()); return; } -#line 1515 "src/ast/lex_conf.cc" -yy301: +#line 1536 "src/ast/lex_conf.cc" +yy306: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 64) { - goto yy301; + goto yy306; } - if (yych != '=') goto yy212; -yy303: + if (yych != '=') goto yy215; +yy308: ++cur; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy212; - goto yy303; + if (yych <= 0x08) goto yy215; + goto yy308; } else { - if (yych == ' ') goto yy303; - goto yy212; + if (yych == ' ') goto yy308; + goto yy215; } } else { if (yych <= '/') { - if (yych <= '-') goto yy355; - goto yy212; + if (yych <= '-') goto yy361; + goto yy215; } else { - if (yych <= '0') goto yy356; - if (yych <= '9') goto yy358; - goto yy212; + if (yych <= '0') goto yy362; + if (yych <= '9') goto yy364; + goto yy215; } } -yy305: +yy310: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 85 "../src/ast/lex_conf.re" +#line 86 "../src/ast/lex_conf.re" { opts.set_bUseStateAbort (lex_conf_bool()); return; } -#line 1553 "src/ast/lex_conf.cc" -yy307: +#line 1574 "src/ast/lex_conf.cc" +yy312: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy360; + if (yych == 'a') goto yy366; goto yy4; -yy308: +yy313: yych = (unsigned char)*++cur; - if (yych == 's') goto yy361; + if (yych == 's') goto yy367; goto yy4; -yy309: +yy314: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 121 "../src/ast/lex_conf.re" +#line 122 "../src/ast/lex_conf.re" { opts.set_tags_prefix (lex_conf_string ()); return; } -#line 1569 "src/ast/lex_conf.cc" -yy311: +#line 1590 "src/ast/lex_conf.cc" +yy316: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy362; - if (yych <= 'b') goto yy363; - goto yy364; + if (yych <= 'a') goto yy368; + if (yych <= 'b') goto yy369; + goto yy370; } else { if (yych <= 'r') goto yy4; - if (yych <= 's') goto yy365; - if (yych <= 't') goto yy366; + if (yych <= 's') goto yy371; + if (yych <= 't') goto yy372; goto yy4; } -yy312: +yy317: yych = (unsigned char)*++cur; - if (yych == 's') goto yy367; + if (yych == 's') goto yy373; goto yy4; -yy313: +yy318: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy368; + if (yych == 'k') goto yy374; goto yy4; -yy314: +yy319: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy370; + if (yych == 'l') goto yy376; goto yy4; -yy315: +yy320: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy371; + if (yych == 'm') goto yy377; goto yy4; -yy316: +yy321: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy372; + if (yych == 'o') goto yy378; goto yy4; -yy317: +yy322: yyaccept = 2; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { goto yy3; } - if (yych == '@') goto yy373; -yy318: -#line 72 "../src/ast/lex_conf.re" - { opts.set_condDivider (lex_conf_string ()); return; } -#line 1613 "src/ast/lex_conf.cc" -yy319: - yych = (unsigned char)*++cur; - if (yych == 'n') goto yy374; - goto yy212; -yy320: - yych = (unsigned char)*++cur; - if (yych == 'i') goto yy375; - goto yy4; -yy321: - yych = (unsigned char)*++cur; - if (yych == 'K') goto yy376; - goto yy4; -yy322: - yych = (unsigned char)*++cur; - if (yych == 'D') goto yy377; - goto yy4; + if (yych == '@') goto yy379; yy323: - yych = (unsigned char)*++cur; - if (yych == 'M') goto yy378; - goto yy4; +#line 73 "../src/ast/lex_conf.re" + { opts.set_condDivider (lex_conf_string ()); return; } +#line 1634 "src/ast/lex_conf.cc" yy324: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy379; - goto yy4; + if (yych == 'n') goto yy380; + goto yy215; yy325: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy380; + if (yych == 'i') goto yy381; goto yy4; yy326: yych = (unsigned char)*++cur; - if (yych == 'U') goto yy381; + if (yych == 'K') goto yy382; goto yy4; yy327: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy382; + if (yych == 'D') goto yy383; goto yy4; yy328: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy384; - if (yych == 'S') goto yy385; + if (yych == 'M') goto yy384; goto yy4; yy329: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy386; + if (yych == 'P') goto yy385; goto yy4; yy330: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy387; + if (yych == 'S') goto yy386; goto yy4; yy331: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy388; + if (yych == 'U') goto yy387; goto yy4; yy332: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy389; + if (yych == 'L') goto yy388; goto yy4; yy333: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy391; + if (yych == 'C') goto yy390; + if (yych == 'S') goto yy391; goto yy4; yy334: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy392; - if (yych == 'S') goto yy393; + if (yych == 'S') goto yy392; goto yy4; yy335: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy394; + if (yych == 'I') goto yy393; goto yy4; yy336: yych = (unsigned char)*++cur; - if (yych <= 'M') { - if (yych == 'L') goto yy396; - goto yy4; - } else { - if (yych <= 'N') goto yy397; - if (yych == 'P') goto yy399; - goto yy4; - } + if (yych == 'K') goto yy394; + goto yy4; yy337: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy401; + if (yych == 'K') goto yy395; goto yy4; yy338: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy402; + if (yych == 'T') goto yy397; goto yy4; yy339: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy403; + if (yych == 'C') goto yy398; + if (yych == 'S') goto yy399; goto yy4; yy340: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy404; + if (yych == 'P') goto yy400; goto yy4; yy341: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy405; - goto yy4; -yy342: - yych = (unsigned char)*++cur; - if (yych == 's') goto yy406; + if (yych <= 'M') { + if (yych == 'L') goto yy402; + goto yy4; + } else { + if (yych <= 'N') goto yy403; + if (yych == 'P') goto yy405; + goto yy4; + } +yy342: + yych = (unsigned char)*++cur; + if (yych == 'c') goto yy407; goto yy4; yy343: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy407; + if (yych == 'n') goto yy408; goto yy4; yy344: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy408; + if (yych == 'e') goto yy409; goto yy4; yy345: yych = (unsigned char)*++cur; - if (yych == '-') goto yy409; + if (yych == 'o') goto yy410; goto yy4; yy346: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy410; + if (yych == 'n') goto yy411; goto yy4; yy347: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy411; + if (yych == 's') goto yy412; goto yy4; yy348: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy412; + if (yych == 'c') goto yy413; goto yy4; yy349: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy413; + if (yych == 'n') goto yy414; goto yy4; yy350: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy414; + if (yych == '-') goto yy415; goto yy4; yy351: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy415; + if (yych == 'u') goto yy416; goto yy4; yy352: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy417; + if (yych == 'k') goto yy417; goto yy4; yy353: + yych = (unsigned char)*++cur; + if (yych == 'z') goto yy418; + goto yy4; +yy354: + yych = (unsigned char)*++cur; + if (yych == 'c') goto yy419; + goto yy4; +yy355: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy420; + goto yy4; +yy356: + yych = (unsigned char)*++cur; + if (yych == 'h') goto yy421; + goto yy4; +yy357: + yych = (unsigned char)*++cur; + if (yych == 'g') goto yy422; + goto yy4; +yy358: + yych = (unsigned char)*++cur; + if (yych == 'L') goto yy424; + goto yy4; +yy359: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 84 "../src/ast/lex_conf.re" +#line 85 "../src/ast/lex_conf.re" { opts.set_yynext (lex_conf_string ()); return; } -#line 1765 "src/ast/lex_conf.cc" -yy355: +#line 1790 "src/ast/lex_conf.cc" +yy361: yych = (unsigned char)*++cur; - if (yych <= '0') goto yy212; - if (yych <= '9') goto yy358; - goto yy212; -yy356: + if (yych <= '0') goto yy215; + if (yych <= '9') goto yy364; + goto yy215; +yy362: ++cur; -yy357: +yy363: cur = ctx; -#line 153 "../src/ast/lex_conf.re" +#line 154 "../src/ast/lex_conf.re" { opts.set_startlabel_force (lex_conf_bool()); return; } -#line 1777 "src/ast/lex_conf.cc" -yy358: +#line 1802 "src/ast/lex_conf.cc" +yy364: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy358; + goto yy364; } - goto yy357; -yy360: + goto yy363; +yy366: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy418; + if (yych == 'b') goto yy425; goto yy4; -yy361: +yy367: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy419; + if (yych == 'i') goto yy426; goto yy4; -yy362: +yy368: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy420; + if (yych == 'c') goto yy427; goto yy4; -yy363: +yy369: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy421; + if (yych == 'm') goto yy428; goto yy4; -yy364: +yy370: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy423; - if (yych == 't') goto yy425; + if (yych == 'h') goto yy430; + if (yych == 't') goto yy432; goto yy4; -yy365: +yy371: yych = (unsigned char)*++cur; - if (yych == 't') goto yy426; + if (yych == 't') goto yy433; goto yy4; -yy366: +yy372: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy427; + if (yych == 'a') goto yy434; goto yy4; -yy367: +yy373: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy428; + if (yych == 'i') goto yy435; goto yy4; -yy368: +yy374: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 148 "../src/ast/lex_conf.re" +#line 149 "../src/ast/lex_conf.re" { opts.set_fill_check (lex_conf_bool()); return; } -#line 1826 "src/ast/lex_conf.cc" -yy370: +#line 1851 "src/ast/lex_conf.cc" +yy376: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy429; + if (yych == 'e') goto yy436; goto yy4; -yy371: +yy377: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy431; + if (yych == 'e') goto yy438; goto yy4; -yy372: +yy378: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy432; + if (yych == 'l') goto yy439; goto yy4; -yy373: +yy379: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy433; - goto yy212; -yy374: + if (yych == 'c') goto yy440; + goto yy215; +yy380: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy434; - goto yy212; -yy375: + if (yych == 'd') goto yy441; + goto yy215; +yy381: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy436; + if (yych == 'x') goto yy443; goto yy4; -yy376: +yy382: yych = (unsigned char)*++cur; - if (yych == 'U') goto yy438; + if (yych == 'U') goto yy445; goto yy4; -yy377: +yy383: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy439; + if (yych == 'T') goto yy446; goto yy4; -yy378: +yy384: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy440; + if (yych == 'A') goto yy447; goto yy4; -yy379: +yy385: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy441; + if (yych == 'E') goto yy448; goto yy4; -yy380: +yy386: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy443; + if (yych == 'O') goto yy450; goto yy4; -yy381: +yy387: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy444; + if (yych == 'G') goto yy451; goto yy4; -yy382: +yy388: yyaccept = 3; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -1879,415 +1904,423 @@ yy382: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy446; + if (yych <= ':') goto yy453; } } else { if (yych <= '^') { - if (yych <= '@') goto yy447; + if (yych <= '@') goto yy454; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy383; + if (yych == '`') goto yy389; if (yych <= 'z') goto yy3; } } -yy383: -#line 143 "../src/ast/lex_conf.re" +yy389: +#line 144 "../src/ast/lex_conf.re" { opts.set_fill (lex_conf_string ()); return; } -#line 1897 "src/ast/lex_conf.cc" -yy384: +#line 1922 "src/ast/lex_conf.cc" +yy390: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy448; + if (yych == 'O') goto yy455; goto yy4; -yy385: +yy391: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy449; + if (yych == 'T') goto yy456; goto yy4; -yy386: +yy392: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy450; + if (yych == 'T') goto yy457; goto yy4; -yy387: +yy393: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy451; + if (yych == 'T') goto yy458; goto yy4; -yy388: +yy394: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy453; + if (yych == 'E') goto yy460; goto yy4; -yy389: +yy395: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 108 "../src/ast/lex_conf.re" +#line 109 "../src/ast/lex_conf.re" { opts.set_yypeek (lex_conf_string ()); return; } -#line 1925 "src/ast/lex_conf.cc" -yy391: +#line 1950 "src/ast/lex_conf.cc" +yy397: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy454; + if (yych == 'O') goto yy461; goto yy4; -yy392: +yy398: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy455; + if (yych == 'O') goto yy462; goto yy4; -yy393: +yy399: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy456; + if (yych == 'T') goto yy463; goto yy4; -yy394: +yy400: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 109 "../src/ast/lex_conf.re" +#line 110 "../src/ast/lex_conf.re" { opts.set_yyskip (lex_conf_string ()); return; } -#line 1945 "src/ast/lex_conf.cc" -yy396: +#line 1970 "src/ast/lex_conf.cc" +yy402: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy457; + if (yych == 'I') goto yy464; goto yy4; -yy397: +yy403: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 116 "../src/ast/lex_conf.re" +#line 117 "../src/ast/lex_conf.re" { opts.set_yytagn (lex_conf_string ()); return; } -#line 1957 "src/ast/lex_conf.cc" -yy399: +#line 1982 "src/ast/lex_conf.cc" +yy405: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 117 "../src/ast/lex_conf.re" +#line 118 "../src/ast/lex_conf.re" { opts.set_yytagp (lex_conf_string ()); return; } -#line 1965 "src/ast/lex_conf.cc" -yy401: - yych = (unsigned char)*++cur; - if (yych == 't') goto yy458; - goto yy4; -yy402: - yych = (unsigned char)*++cur; - if (yych == 's') goto yy459; - if (yych == 'v') goto yy460; - goto yy4; -yy403: - yych = (unsigned char)*++cur; - if (yych == 'd') goto yy461; - goto yy4; -yy404: - yych = (unsigned char)*++cur; - if (yych == 'u') goto yy462; - goto yy4; -yy405: - yych = (unsigned char)*++cur; - if (yych == 'i') goto yy463; - goto yy4; -yy406: - yych = (unsigned char)*++cur; - if (yych == 'k') goto yy464; - goto yy4; +#line 1990 "src/ast/lex_conf.cc" yy407: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy465; + if (yych == 't') goto yy465; goto yy4; yy408: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy466; + if (yych == 's') goto yy466; + if (yych == 'v') goto yy467; goto yy4; yy409: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy467; + if (yych == 'd') goto yy468; goto yy4; yy410: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy468; + if (yych == 'u') goto yy469; goto yy4; yy411: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy469; + if (yych == 'i') goto yy470; goto yy4; yy412: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy470; + if (yych == 'k') goto yy471; goto yy4; yy413: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } - goto yy110; + if (yych == 'l') goto yy472; + goto yy4; yy414: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy471; + if (yych == 'g') goto yy473; goto yy4; yy415: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 124 "../src/ast/lex_conf.re" - { opts.set_indString (lex_conf_string ()); return; } -#line 2032 "src/ast/lex_conf.cc" + if (yych == 'i') goto yy474; + goto yy4; +yy416: + yych = (unsigned char)*++cur; + if (yych == 'g') goto yy475; + goto yy4; yy417: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy472; + if (yych == 'a') goto yy476; goto yy4; yy418: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy473; + if (yych == 'e') goto yy477; goto yy4; yy419: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy474; + if (yych == 'a') goto yy478; goto yy4; yy420: - yych = (unsigned char)*++cur; - if (yych == 'c') goto yy475; - goto yy4; -yy421: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 89 "../src/ast/lex_conf.re" - { opts.set_yybm (lex_conf_string ()); return; } -#line 2056 "src/ast/lex_conf.cc" -yy423: + goto yy111; +yy421: + yych = (unsigned char)*++cur; + if (yych == 'a') goto yy479; + goto yy4; +yy422: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 139 "../src/ast/lex_conf.re" - { opts.set_yych (lex_conf_string ()); return; } -#line 2064 "src/ast/lex_conf.cc" +#line 125 "../src/ast/lex_conf.re" + { opts.set_indString (lex_conf_string ()); return; } +#line 2061 "src/ast/lex_conf.cc" +yy424: + yych = (unsigned char)*++cur; + if (yych == 'a') goto yy480; + goto yy4; yy425: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy476; + if (yych == 'e') goto yy481; goto yy4; yy426: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy477; + if (yych == 'o') goto yy482; goto yy4; yy427: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy478; + if (yych == 'c') goto yy483; goto yy4; yy428: - yych = (unsigned char)*++cur; - if (yych == 'o') goto yy479; - goto yy4; -yy429: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 144 "../src/ast/lex_conf.re" - { opts.set_fill_use (lex_conf_bool()); return; } -#line 2088 "src/ast/lex_conf.cc" -yy431: +#line 90 "../src/ast/lex_conf.re" + { opts.set_yybm (lex_conf_string ()); return; } +#line 2085 "src/ast/lex_conf.cc" +yy430: yych = (unsigned char)*++cur; - if (yych == 't') goto yy480; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 140 "../src/ast/lex_conf.re" + { opts.set_yych (lex_conf_string ()); return; } +#line 2093 "src/ast/lex_conf.cc" yy432: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy481; + if (yych == 'a') goto yy484; goto yy4; yy433: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy483; - goto yy212; + if (yych == 'a') goto yy485; + goto yy4; yy434: - ++cur; -#line 75 "../src/ast/lex_conf.re" - { opts.set_condGotoParam (lex_conf_string ()); return; } -#line 2105 "src/ast/lex_conf.cc" + yych = (unsigned char)*++cur; + if (yych == 'r') goto yy486; + goto yy4; +yy435: + yych = (unsigned char)*++cur; + if (yych == 'o') goto yy487; + goto yy4; yy436: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 71 "../src/ast/lex_conf.re" - { opts.set_condEnumPrefix (lex_conf_string ()); return; } -#line 2113 "src/ast/lex_conf.cc" +#line 145 "../src/ast/lex_conf.re" + { opts.set_fill_use (lex_conf_bool()); return; } +#line 2117 "src/ast/lex_conf.cc" yy438: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy484; + if (yych == 't') goto yy488; goto yy4; yy439: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy486; + if (yych == 'd') goto yy489; goto yy4; yy440: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy487; - goto yy4; + if (yych == 'o') goto yy491; + goto yy215; yy441: + ++cur; +#line 76 "../src/ast/lex_conf.re" + { opts.set_condGotoParam (lex_conf_string ()); return; } +#line 2134 "src/ast/lex_conf.cc" +yy443: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 138 "../src/ast/lex_conf.re" - { opts.set_yyctype (lex_conf_string ()); return; } -#line 2133 "src/ast/lex_conf.cc" -yy443: +#line 72 "../src/ast/lex_conf.re" + { opts.set_condEnumPrefix (lex_conf_string ()); return; } +#line 2142 "src/ast/lex_conf.cc" +yy445: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy488; + if (yych == 'P') goto yy492; goto yy4; -yy444: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 136 "../src/ast/lex_conf.re" - { opts.set_yydebug (lex_conf_string ()); return; } -#line 2145 "src/ast/lex_conf.cc" yy446: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy490; + if (yych == 'Y') goto yy494; goto yy4; yy447: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy491; - goto yy212; -yy448: - yych = (unsigned char)*++cur; - if (yych == 'N') goto yy492; + if (yych == 'R') goto yy495; goto yy4; -yy449: +yy448: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy493; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 139 "../src/ast/lex_conf.re" + { opts.set_yyctype (lex_conf_string ()); return; } +#line 2162 "src/ast/lex_conf.cc" yy450: yych = (unsigned char)*++cur; - if (yych == 'H') goto yy494; + if (yych == 'R') goto yy496; goto yy4; yy451: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 106 "../src/ast/lex_conf.re" - { opts.set_yylimit (lex_conf_string ()); return; } -#line 2173 "src/ast/lex_conf.cc" +#line 137 "../src/ast/lex_conf.re" + { opts.set_yydebug (lex_conf_string ()); return; } +#line 2174 "src/ast/lex_conf.cc" yy453: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy495; + if (yych == 'n') goto yy498; goto yy4; yy454: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy497; - goto yy4; + if (yych == 'l') goto yy499; + goto yy215; yy455: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy498; + if (yych == 'N') goto yy500; goto yy4; yy456: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy499; + if (yych == 'A') goto yy501; goto yy4; yy457: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy500; + if (yych == 'H') goto yy502; goto yy4; yy458: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy501; - goto yy4; -yy459: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy502; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 107 "../src/ast/lex_conf.re" + { opts.set_yylimit (lex_conf_string ()); return; } +#line 2202 "src/ast/lex_conf.cc" yy460: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy503; + if (yych == 'R') goto yy503; goto yy4; yy461: yych = (unsigned char)*++cur; - if (yych == '-') goto yy504; + if (yych == 'R') goto yy505; goto yy4; yy462: yych = (unsigned char)*++cur; - if (yych == 't') goto yy505; + if (yych == 'N') goto yy506; goto yy4; yy463: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy506; + if (yych == 'A') goto yy507; goto yy4; yy464: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy507; + if (yych == 'S') goto yy508; goto yy4; yy465: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy508; + if (yych == 'o') goto yy509; goto yy4; yy466: yych = (unsigned char)*++cur; - if (yych == '-') goto yy509; + if (yych == 'e') goto yy510; goto yy4; yy467: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy510; + if (yych == 'e') goto yy511; goto yy4; yy468: yych = (unsigned char)*++cur; - if (yych == '-') goto yy511; + if (yych == '-') goto yy512; goto yy4; yy469: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy512; + if (yych == 't') goto yy513; goto yy4; yy470: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy513; + if (yych == 'm') goto yy514; goto yy4; yy471: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy514; + if (yych == 'i') goto yy515; goto yy4; yy472: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy515; + if (yych == 'a') goto yy516; goto yy4; yy473: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy516; + if (yych == '-') goto yy517; goto yy4; yy474: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy518; + if (yych == 'f') goto yy518; goto yy4; yy475: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy520; + if (yych == '-') goto yy519; goto yy4; yy476: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy521; + if (yych == 'h') goto yy520; goto yy4; yy477: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy522; + if (yych == '-') goto yy521; goto yy4; yy478: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy523; + if (yych == 'p') goto yy522; goto yy4; yy479: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy524; + if (yych == 'r') goto yy523; goto yy4; yy480: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy526; + if (yych == 'b') goto yy524; goto yy4; yy481: + yych = (unsigned char)*++cur; + if (yych == 'l') goto yy525; + goto yy4; +yy482: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy527; + goto yy4; +yy483: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy529; + goto yy4; +yy484: + yych = (unsigned char)*++cur; + if (yych == 'b') goto yy530; + goto yy4; +yy485: + yych = (unsigned char)*++cur; + if (yych == 'b') goto yy531; + goto yy4; +yy486: + yych = (unsigned char)*++cur; + if (yych == 'g') goto yy532; + goto yy4; +yy487: + yych = (unsigned char)*++cur; + if (yych == 'n') goto yy533; + goto yy4; +yy488: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy535; + goto yy4; +yy489: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 92 "../src/ast/lex_conf.re" +#line 93 "../src/ast/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) @@ -2297,12 +2330,12 @@ yy481: opts.set_cGotoThreshold (static_cast (n)); return; } -#line 2301 "src/ast/lex_conf.cc" -yy483: +#line 2334 "src/ast/lex_conf.cc" +yy491: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy527; - goto yy212; -yy484: + if (yych == 'n') goto yy536; + goto yy215; +yy492: yych = (unsigned char)*++cur; if (yych <= 'B') { if (yych <= '/') { @@ -2313,417 +2346,425 @@ yy484: } } else { if (yych <= '^') { - if (yych <= 'C') goto yy528; + if (yych <= 'C') goto yy537; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy485; + if (yych == '`') goto yy493; if (yych <= 'z') goto yy3; } } -yy485: -#line 110 "../src/ast/lex_conf.re" +yy493: +#line 111 "../src/ast/lex_conf.re" { opts.set_yybackup (lex_conf_string ()); return; } -#line 2327 "src/ast/lex_conf.cc" -yy486: +#line 2360 "src/ast/lex_conf.cc" +yy494: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy529; + if (yych == 'P') goto yy538; goto yy4; -yy487: +yy495: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy530; + if (yych == 'K') goto yy539; goto yy4; -yy488: +yy496: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 103 "../src/ast/lex_conf.re" +#line 104 "../src/ast/lex_conf.re" { opts.set_yycursor (lex_conf_string ()); return; } -#line 2343 "src/ast/lex_conf.cc" -yy490: +#line 2376 "src/ast/lex_conf.cc" +yy498: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy531; + if (yych == 'a') goto yy540; goto yy4; -yy491: +yy499: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy532; - goto yy212; -yy492: + if (yych == 'e') goto yy541; + goto yy215; +yy500: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy533; + if (yych == 'D') goto yy542; goto yy4; -yy493: +yy501: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy534; + if (yych == 'T') goto yy543; goto yy4; -yy494: +yy502: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy535; + if (yych == 'A') goto yy544; goto yy4; -yy495: +yy503: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 104 "../src/ast/lex_conf.re" +#line 105 "../src/ast/lex_conf.re" { opts.set_yymarker (lex_conf_string ()); return; } -#line 2371 "src/ast/lex_conf.cc" -yy497: +#line 2404 "src/ast/lex_conf.cc" +yy505: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy536; + if (yych == 'E') goto yy545; goto yy4; -yy498: +yy506: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy538; + if (yych == 'D') goto yy547; goto yy4; -yy499: +yy507: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy539; + if (yych == 'T') goto yy548; goto yy4; -yy500: +yy508: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy540; + if (yych == 'T') goto yy549; goto yy4; -yy501: +yy509: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy541; + if (yych == 'r') goto yy550; goto yy4; -yy502: +yy510: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy542; + if (yych == 'n') goto yy551; goto yy4; -yy503: +yy511: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy543; + if (yych == 'r') goto yy552; goto yy4; -yy504: +yy512: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy544; + if (yych == 'g') goto yy553; goto yy4; -yy505: +yy513: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy545; + if (yych == 'p') goto yy554; goto yy4; -yy506: +yy514: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy546; + if (yych == 'i') goto yy555; goto yy4; -yy507: +yy515: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy547; + if (yych == 'p') goto yy556; goto yy4; -yy508: +yy516: yych = (unsigned char)*++cur; - if (yych == 's') goto yy549; + if (yych == 's') goto yy558; goto yy4; -yy509: +yy517: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy550; + if (yych == 'p') goto yy559; goto yy4; -yy510: +yy518: yych = (unsigned char)*++cur; - if (yych == 's') goto yy106; + if (yych == 's') goto yy107; goto yy4; -yy511: +yy519: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy551; + if (yych == 'i') goto yy560; goto yy4; -yy512: +yy520: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy552; + if (yych == 'e') goto yy561; goto yy4; -yy513: +yy521: yych = (unsigned char)*++cur; - if (yych == 't') goto yy553; + if (yych == 't') goto yy562; goto yy4; -yy514: +yy522: yych = (unsigned char)*++cur; - if (yych == 's') goto yy554; + if (yych == 't') goto yy563; goto yy4; -yy515: +yy523: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy555; + if (yych == 's') goto yy564; goto yy4; -yy516: +yy524: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy565; + goto yy4; +yy525: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 86 "../src/ast/lex_conf.re" +#line 87 "../src/ast/lex_conf.re" { opts.set_bUseStateNext (lex_conf_bool()); return; } -#line 2455 "src/ast/lex_conf.cc" -yy518: +#line 2492 "src/ast/lex_conf.cc" +yy527: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 122 "../src/ast/lex_conf.re" +#line 123 "../src/ast/lex_conf.re" { opts.set_tags_expression(lex_conf_string ()); return; } -#line 2463 "src/ast/lex_conf.cc" -yy520: +#line 2500 "src/ast/lex_conf.cc" +yy529: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy556; + if (yych == 'p') goto yy566; goto yy4; -yy521: +yy530: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy557; + if (yych == 'l') goto yy567; goto yy4; -yy522: +yy531: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy558; + if (yych == 'l') goto yy568; goto yy4; -yy523: +yy532: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy559; + if (yych == 'e') goto yy569; goto yy4; -yy524: +yy533: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 140 "../src/ast/lex_conf.re" +#line 141 "../src/ast/lex_conf.re" { opts.set_yychConversion (lex_conf_bool()); return; } -#line 2487 "src/ast/lex_conf.cc" -yy526: +#line 2524 "src/ast/lex_conf.cc" +yy535: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy560; + if (yych == 'r') goto yy570; goto yy4; -yy527: +yy536: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy562; - goto yy212; -yy528: + if (yych == 'd') goto yy572; + goto yy215; +yy537: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy564; + if (yych == 'T') goto yy574; goto yy4; -yy529: +yy538: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy565; + if (yych == 'E') goto yy575; goto yy4; -yy530: +yy539: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy567; + if (yych == 'E') goto yy577; goto yy4; -yy531: +yy540: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy568; + if (yych == 'k') goto yy578; goto yy4; -yy532: +yy541: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy569; - goto yy212; -yy533: + if (yych == 'n') goto yy579; + goto yy215; +yy542: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy571; + if (yych == 'I') goto yy581; goto yy4; -yy534: +yy543: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy572; + if (yych == 'E') goto yy582; goto yy4; -yy535: +yy544: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy574; + if (yych == 'N') goto yy584; goto yy4; -yy536: +yy545: yych = (unsigned char)*++cur; if (yych <= 'C') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy537; + if (yych <= '@') goto yy546; if (yych <= 'B') goto yy3; - goto yy576; + goto yy586; } } else { if (yych <= '^') { - if (yych == 'T') goto yy577; + if (yych == 'T') goto yy587; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy537; + if (yych == '`') goto yy546; if (yych <= 'z') goto yy3; } } -yy537: -#line 112 "../src/ast/lex_conf.re" +yy546: +#line 113 "../src/ast/lex_conf.re" { opts.set_yyrestore (lex_conf_string ()); return; } -#line 2551 "src/ast/lex_conf.cc" -yy538: +#line 2588 "src/ast/lex_conf.cc" +yy547: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy578; + if (yych == 'I') goto yy588; goto yy4; -yy539: +yy548: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy579; + if (yych == 'E') goto yy589; goto yy4; -yy540: +yy549: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy581; - if (yych == 'P') goto yy583; + if (yych == 'N') goto yy591; + if (yych == 'P') goto yy593; goto yy4; -yy541: +yy550: yych = (unsigned char)*++cur; - if (yych == 's') goto yy585; + if (yych == 's') goto yy595; goto yy4; -yy542: +yy551: yych = (unsigned char)*++cur; - if (yych == 's') goto yy586; + if (yych == 's') goto yy596; goto yy4; -yy543: +yy552: yych = (unsigned char)*++cur; - if (yych == 't') goto yy587; + if (yych == 't') goto yy597; goto yy4; -yy544: +yy553: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy588; + if (yych == 'o') goto yy598; goto yy4; -yy545: +yy554: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy589; + if (yych == 'u') goto yy599; goto yy4; -yy546: +yy555: yych = (unsigned char)*++cur; - if (yych == 'z') goto yy590; + if (yych == 'z') goto yy600; goto yy4; -yy547: +yy556: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 51 "../src/ast/lex_conf.re" +#line 52 "../src/ast/lex_conf.re" { opts.set_eager_skip(lex_conf_bool()); return; } -#line 2596 "src/ast/lex_conf.cc" -yy549: +#line 2633 "src/ast/lex_conf.cc" +yy558: yych = (unsigned char)*++cur; - if (yych == 's') goto yy591; + if (yych == 's') goto yy601; goto yy4; -yy550: +yy559: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy593; + if (yych == 'o') goto yy603; goto yy4; -yy551: +yy560: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy594; + if (yych == 'n') goto yy604; goto yy4; -yy552: +yy561: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy595; + if (yych == 'a') goto yy605; goto yy4; -yy553: +yy562: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy596; + if (yych == 'a') goto yy606; goto yy4; -yy554: +yy563: + yych = (unsigned char)*++cur; + if (yych == 'u') goto yy607; + goto yy4; +yy564: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } - goto yy112; -yy555: + goto yy113; +yy565: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy597; + if (yych == 'l') goto yy608; goto yy4; -yy556: +yy566: yych = (unsigned char)*++cur; - if (yych == 't') goto yy599; + if (yych == 't') goto yy610; goto yy4; -yy557: +yy567: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy601; + if (yych == 'e') goto yy612; goto yy4; -yy558: +yy568: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy603; + if (yych == 'e') goto yy614; goto yy4; -yy559: +yy569: yych = (unsigned char)*++cur; - if (yych == 't') goto yy605; + if (yych == 't') goto yy616; goto yy4; -yy560: +yy570: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 146 "../src/ast/lex_conf.re" +#line 147 "../src/ast/lex_conf.re" { opts.set_fill_arg_use (lex_conf_bool()); return; } -#line 2650 "src/ast/lex_conf.cc" -yy562: +#line 2691 "src/ast/lex_conf.cc" +yy572: ++cur; -#line 73 "../src/ast/lex_conf.re" +#line 74 "../src/ast/lex_conf.re" { opts.set_condDividerParam (lex_conf_string ()); return; } -#line 2655 "src/ast/lex_conf.cc" -yy564: +#line 2696 "src/ast/lex_conf.cc" +yy574: yych = (unsigned char)*++cur; - if (yych == 'X') goto yy607; + if (yych == 'X') goto yy618; goto yy4; -yy565: +yy575: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 64 "../src/ast/lex_conf.re" +#line 65 "../src/ast/lex_conf.re" { opts.set_yycondtype (lex_conf_string ()); return; } -#line 2667 "src/ast/lex_conf.cc" -yy567: +#line 2708 "src/ast/lex_conf.cc" +yy577: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy609; + if (yych == 'R') goto yy620; goto yy4; -yy568: +yy578: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy611; + if (yych == 'e') goto yy622; goto yy4; -yy569: +yy579: ++cur; -#line 145 "../src/ast/lex_conf.re" +#line 146 "../src/ast/lex_conf.re" { opts.set_fill_arg (lex_conf_string ()); return; } -#line 2680 "src/ast/lex_conf.cc" -yy571: +#line 2721 "src/ast/lex_conf.cc" +yy581: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy612; + if (yych == 'T') goto yy623; goto yy4; -yy572: +yy582: yych = (unsigned char)*++cur; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy613; + if (yych <= ':') goto yy624; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } else { - if (yych <= '`') goto yy573; + if (yych <= '`') goto yy583; if (yych <= 'z') goto yy3; } } -yy573: -#line 78 "../src/ast/lex_conf.re" +yy583: +#line 79 "../src/ast/lex_conf.re" { opts.set_state_get (lex_conf_string ()); return; } -#line 2706 "src/ast/lex_conf.cc" -yy574: +#line 2747 "src/ast/lex_conf.cc" +yy584: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 115 "../src/ast/lex_conf.re" +#line 116 "../src/ast/lex_conf.re" { opts.set_yylessthan (lex_conf_string ()); return; } -#line 2714 "src/ast/lex_conf.cc" -yy576: +#line 2755 "src/ast/lex_conf.cc" +yy586: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy614; + if (yych == 'T') goto yy625; goto yy4; -yy577: +yy587: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy615; + if (yych == 'A') goto yy626; goto yy4; -yy578: +yy588: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy616; + if (yych == 'T') goto yy627; goto yy4; -yy579: +yy589: yyaccept = 4; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -2731,362 +2772,378 @@ yy579: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy617; + if (yych <= ':') goto yy628; } } else { if (yych <= '^') { - if (yych <= '@') goto yy618; + if (yych <= '@') goto yy629; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy580; + if (yych == '`') goto yy590; if (yych <= 'z') goto yy3; } } -yy580: -#line 80 "../src/ast/lex_conf.re" +yy590: +#line 81 "../src/ast/lex_conf.re" { opts.set_state_set (lex_conf_string ()); return; } -#line 2749 "src/ast/lex_conf.cc" -yy581: +#line 2790 "src/ast/lex_conf.cc" +yy591: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 118 "../src/ast/lex_conf.re" +#line 119 "../src/ast/lex_conf.re" { opts.set_yytaglistn (lex_conf_string ()); return; } -#line 2757 "src/ast/lex_conf.cc" -yy583: +#line 2798 "src/ast/lex_conf.cc" +yy593: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 119 "../src/ast/lex_conf.re" +#line 120 "../src/ast/lex_conf.re" { opts.set_yytaglistp (lex_conf_string ()); return; } -#line 2765 "src/ast/lex_conf.cc" -yy585: +#line 2806 "src/ast/lex_conf.cc" +yy595: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy94; -yy586: +yy596: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy619; + if (yych == 'i') goto yy630; goto yy4; -yy587: +yy597: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy620; + if (yych == 'e') goto yy631; goto yy4; -yy588: +yy598: yych = (unsigned char)*++cur; - if (yych == 't') goto yy621; + if (yych == 't') goto yy632; goto yy4; -yy589: +yy599: yych = (unsigned char)*++cur; - if (yych == 't') goto yy622; + if (yych == 't') goto yy633; goto yy4; -yy590: +yy600: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy623; + if (yych == 'a') goto yy634; goto yy4; -yy591: +yy601: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 61 "../src/ast/lex_conf.re" +#line 62 "../src/ast/lex_conf.re" { lex_conf_empty_class(opts); return; } -#line 2799 "src/ast/lex_conf.cc" -yy593: +#line 2840 "src/ast/lex_conf.cc" +yy603: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy624; + if (yych == 'l') goto yy635; goto yy4; -yy594: +yy604: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy625; + if (yych == 'f') goto yy636; goto yy4; -yy595: +yy605: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy626; + if (yych == 'd') goto yy637; goto yy4; -yy596: +yy606: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy628; + if (yych == 'g') goto yy639; goto yy4; -yy597: +yy607: + yych = (unsigned char)*++cur; + if (yych == 'r') goto yy640; + goto yy4; +yy608: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 83 "../src/ast/lex_conf.re" +#line 84 "../src/ast/lex_conf.re" { opts.set_yyfilllabel (lex_conf_string ()); return; } -#line 2823 "src/ast/lex_conf.cc" -yy599: +#line 2868 "src/ast/lex_conf.cc" +yy610: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 87 "../src/ast/lex_conf.re" +#line 88 "../src/ast/lex_conf.re" { opts.set_yyaccept (lex_conf_string ()); return; } -#line 2831 "src/ast/lex_conf.cc" -yy601: +#line 2876 "src/ast/lex_conf.cc" +yy612: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 76 "../src/ast/lex_conf.re" +#line 77 "../src/ast/lex_conf.re" { opts.set_yyctable (lex_conf_string ()); return; } -#line 2839 "src/ast/lex_conf.cc" -yy603: +#line 2884 "src/ast/lex_conf.cc" +yy614: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 157 "../src/ast/lex_conf.re" +#line 158 "../src/ast/lex_conf.re" { lex_conf_string (); return; } -#line 2847 "src/ast/lex_conf.cc" -yy605: +#line 2892 "src/ast/lex_conf.cc" +yy616: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 101 "../src/ast/lex_conf.re" +#line 102 "../src/ast/lex_conf.re" { opts.set_yytarget (lex_conf_string ()); return; } -#line 2855 "src/ast/lex_conf.cc" -yy607: +#line 2900 "src/ast/lex_conf.cc" +yy618: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 111 "../src/ast/lex_conf.re" +#line 112 "../src/ast/lex_conf.re" { opts.set_yybackupctx (lex_conf_string ()); return; } -#line 2863 "src/ast/lex_conf.cc" -yy609: +#line 2908 "src/ast/lex_conf.cc" +yy620: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 105 "../src/ast/lex_conf.re" +#line 106 "../src/ast/lex_conf.re" { opts.set_yyctxmarker (lex_conf_string ()); return; } -#line 2871 "src/ast/lex_conf.cc" -yy611: +#line 2916 "src/ast/lex_conf.cc" +yy622: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy629; + if (yych == 'd') goto yy641; goto yy4; -yy612: +yy623: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy631; + if (yych == 'I') goto yy643; goto yy4; -yy613: +yy624: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy632; + if (yych == 'n') goto yy644; goto yy4; -yy614: +yy625: yych = (unsigned char)*++cur; - if (yych == 'X') goto yy633; + if (yych == 'X') goto yy645; goto yy4; -yy615: +yy626: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy635; + if (yych == 'G') goto yy647; goto yy4; -yy616: +yy627: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy637; + if (yych == 'I') goto yy649; goto yy4; -yy617: +yy628: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy638; + if (yych == 'n') goto yy650; goto yy4; -yy618: +yy629: yych = (unsigned char)*++cur; - if (yych == 's') goto yy639; - goto yy212; -yy619: + if (yych == 's') goto yy651; + goto yy215; +yy630: yych = (unsigned char)*++cur; - if (yych == 't') goto yy640; + if (yych == 't') goto yy652; goto yy4; -yy620: +yy631: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy641; + if (yych == 'd') goto yy653; goto yy4; -yy621: +yy632: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy643; + if (yych == 'o') goto yy655; goto yy4; -yy622: +yy633: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy97; -yy623: +yy634: yych = (unsigned char)*++cur; - if (yych == 't') goto yy644; + if (yych == 't') goto yy656; goto yy4; -yy624: +yy635: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy645; + if (yych == 'i') goto yy657; goto yy4; -yy625: +yy636: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy646; + if (yych == 'o') goto yy658; goto yy4; -yy626: +yy637: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 50 "../src/ast/lex_conf.re" { opts.set_lookahead(!lex_conf_bool()); return; } -#line 2941 "src/ast/lex_conf.cc" -yy628: +#line 2986 "src/ast/lex_conf.cc" +yy639: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy647; + if (yych == 's') goto yy659; goto yy4; -yy629: +yy640: + yych = (unsigned char)*++cur; + if (yych == 'e') goto yy661; + goto yy4; +yy641: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 147 "../src/ast/lex_conf.re" +#line 148 "../src/ast/lex_conf.re" { opts.set_fill_naked (lex_conf_bool()); return; } -#line 2953 "src/ast/lex_conf.cc" -yy631: +#line 3002 "src/ast/lex_conf.cc" +yy643: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy648; + if (yych == 'O') goto yy662; goto yy4; -yy632: +yy644: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy649; + if (yych == 'a') goto yy663; goto yy4; -yy633: +yy645: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 113 "../src/ast/lex_conf.re" +#line 114 "../src/ast/lex_conf.re" { opts.set_yyrestorectx (lex_conf_string ()); return; } -#line 2969 "src/ast/lex_conf.cc" -yy635: +#line 3018 "src/ast/lex_conf.cc" +yy647: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 114 "../src/ast/lex_conf.re" +#line 115 "../src/ast/lex_conf.re" { opts.set_yyrestoretag (lex_conf_string ()); return; } -#line 2977 "src/ast/lex_conf.cc" -yy637: +#line 3026 "src/ast/lex_conf.cc" +yy649: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy650; + if (yych == 'O') goto yy664; goto yy4; -yy638: +yy650: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy651; + if (yych == 'a') goto yy665; goto yy4; -yy639: +yy651: yych = (unsigned char)*++cur; - if (yych == 't') goto yy652; - goto yy212; -yy640: + if (yych == 't') goto yy666; + goto yy215; +yy652: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy653; + if (yych == 'i') goto yy667; goto yy4; -yy641: +yy653: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 49 "../src/ast/lex_conf.re" { opts.set_bCaseInverted(lex_conf_bool()); return; } -#line 3001 "src/ast/lex_conf.cc" -yy643: +#line 3050 "src/ast/lex_conf.cc" +yy655: yych = (unsigned char)*++cur; if (yych == 's') goto yy100; goto yy4; -yy644: +yy656: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy654; + if (yych == 'i') goto yy668; goto yy4; -yy645: +yy657: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy655; + if (yych == 'c') goto yy669; goto yy4; -yy646: +yy658: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } goto yy103; -yy647: +yy659: + yych = (unsigned char)*++cur; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 51 "../src/ast/lex_conf.re" + { opts.set_optimize_tags(lex_conf_bool()); return; } +#line 3076 "src/ast/lex_conf.cc" +yy661: yych = (unsigned char)*++cur; - if (yych == 's') goto yy656; + if (yych == 's') goto yy670; goto yy4; -yy648: +yy662: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy658; + if (yych == 'N') goto yy672; goto yy4; -yy649: +yy663: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy660; + if (yych == 'k') goto yy674; goto yy4; -yy650: +yy664: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy661; + if (yych == 'N') goto yy675; goto yy4; -yy651: +yy665: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy663; + if (yych == 'k') goto yy677; goto yy4; -yy652: +yy666: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy664; - goto yy212; -yy653: + if (yych == 'a') goto yy678; + goto yy215; +yy667: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy665; + if (yych == 'v') goto yy679; goto yy4; -yy654: +yy668: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy666; + if (yych == 'o') goto yy680; goto yy4; -yy655: +yy669: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy667; + if (yych == 'y') goto yy681; goto yy4; -yy656: +yy670: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 47 "../src/ast/lex_conf.re" { opts.set_posix_captures(lex_conf_bool()); return; } -#line 3063 "src/ast/lex_conf.cc" -yy658: +#line 3120 "src/ast/lex_conf.cc" +yy672: yych = (unsigned char)*++cur; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy669; + if (yych <= ':') goto yy683; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } else { - if (yych <= '`') goto yy659; + if (yych <= '`') goto yy673; if (yych <= 'z') goto yy3; } } -yy659: -#line 65 "../src/ast/lex_conf.re" +yy673: +#line 66 "../src/ast/lex_conf.re" { opts.set_cond_get (lex_conf_string ()); return; } -#line 3085 "src/ast/lex_conf.cc" -yy660: +#line 3142 "src/ast/lex_conf.cc" +yy674: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy670; + if (yych == 'e') goto yy684; goto yy4; -yy661: +yy675: yyaccept = 5; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -3094,173 +3151,173 @@ yy661: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy671; + if (yych <= ':') goto yy685; } } else { if (yych <= '^') { - if (yych <= '@') goto yy672; + if (yych <= '@') goto yy686; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy662; + if (yych == '`') goto yy676; if (yych <= 'z') goto yy3; } } -yy662: -#line 67 "../src/ast/lex_conf.re" +yy676: +#line 68 "../src/ast/lex_conf.re" { opts.set_cond_set (lex_conf_string ()); return; } -#line 3112 "src/ast/lex_conf.cc" -yy663: +#line 3169 "src/ast/lex_conf.cc" +yy677: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy673; + if (yych == 'e') goto yy687; goto yy4; -yy664: +yy678: yych = (unsigned char)*++cur; - if (yych == 't') goto yy674; - goto yy212; -yy665: + if (yych == 't') goto yy688; + goto yy215; +yy679: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy675; + if (yych == 'e') goto yy689; goto yy4; -yy666: +yy680: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy677; + if (yych == 'n') goto yy691; goto yy4; -yy667: +yy681: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 59 "../src/ast/lex_conf.re" +#line 60 "../src/ast/lex_conf.re" { lex_conf_encoding_policy(opts); return; } -#line 3136 "src/ast/lex_conf.cc" -yy669: +#line 3193 "src/ast/lex_conf.cc" +yy683: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy679; + if (yych == 'n') goto yy693; goto yy4; -yy670: +yy684: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy680; + if (yych == 'd') goto yy694; goto yy4; -yy671: +yy685: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy682; + if (yych == 'n') goto yy696; goto yy4; -yy672: +yy686: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy683; - goto yy212; -yy673: + if (yych == 'c') goto yy697; + goto yy215; +yy687: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy684; + if (yych == 'd') goto yy698; goto yy4; -yy674: +yy688: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy686; - goto yy212; -yy675: + if (yych == 'e') goto yy700; + goto yy215; +yy689: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 48 "../src/ast/lex_conf.re" { opts.set_bCaseInsensitive(lex_conf_bool()); return; } -#line 3168 "src/ast/lex_conf.cc" -yy677: +#line 3225 "src/ast/lex_conf.cc" +yy691: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 62 "../src/ast/lex_conf.re" +#line 63 "../src/ast/lex_conf.re" { lex_conf_dfa_minimization(opts); return; } -#line 3176 "src/ast/lex_conf.cc" -yy679: +#line 3233 "src/ast/lex_conf.cc" +yy693: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy688; + if (yych == 'a') goto yy702; goto yy4; -yy680: +yy694: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 79 "../src/ast/lex_conf.re" +#line 80 "../src/ast/lex_conf.re" { opts.set_state_get_naked (lex_conf_bool()); return; } -#line 3188 "src/ast/lex_conf.cc" -yy682: +#line 3245 "src/ast/lex_conf.cc" +yy696: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy689; + if (yych == 'a') goto yy703; goto yy4; -yy683: +yy697: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy690; - goto yy212; -yy684: + if (yych == 'o') goto yy704; + goto yy215; +yy698: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 81 "../src/ast/lex_conf.re" +#line 82 "../src/ast/lex_conf.re" { opts.set_state_set_naked (lex_conf_bool()); return; } -#line 3204 "src/ast/lex_conf.cc" -yy686: +#line 3261 "src/ast/lex_conf.cc" +yy700: ++cur; -#line 82 "../src/ast/lex_conf.re" +#line 83 "../src/ast/lex_conf.re" { opts.set_state_set_arg (lex_conf_string ()); return; } -#line 3209 "src/ast/lex_conf.cc" -yy688: +#line 3266 "src/ast/lex_conf.cc" +yy702: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy691; + if (yych == 'k') goto yy705; goto yy4; -yy689: +yy703: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy692; + if (yych == 'k') goto yy706; goto yy4; -yy690: +yy704: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy693; - goto yy212; -yy691: + if (yych == 'n') goto yy707; + goto yy215; +yy705: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy694; + if (yych == 'e') goto yy708; goto yy4; -yy692: +yy706: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy695; + if (yych == 'e') goto yy709; goto yy4; -yy693: +yy707: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy696; - goto yy212; -yy694: + if (yych == 'd') goto yy710; + goto yy215; +yy708: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy698; + if (yych == 'd') goto yy712; goto yy4; -yy695: +yy709: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy700; + if (yych == 'd') goto yy714; goto yy4; -yy696: +yy710: ++cur; -#line 68 "../src/ast/lex_conf.re" +#line 69 "../src/ast/lex_conf.re" { opts.set_cond_set_arg (lex_conf_string ()); return; } -#line 3246 "src/ast/lex_conf.cc" -yy698: +#line 3303 "src/ast/lex_conf.cc" +yy712: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 66 "../src/ast/lex_conf.re" +#line 67 "../src/ast/lex_conf.re" { opts.set_cond_get_naked (lex_conf_bool()); return; } -#line 3254 "src/ast/lex_conf.cc" -yy700: +#line 3311 "src/ast/lex_conf.cc" +yy714: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 69 "../src/ast/lex_conf.re" +#line 70 "../src/ast/lex_conf.re" { opts.set_cond_set_naked (lex_conf_bool()); return; } -#line 3262 "src/ast/lex_conf.cc" +#line 3319 "src/ast/lex_conf.cc" } -#line 164 "../src/ast/lex_conf.re" +#line 165 "../src/ast/lex_conf.re" } @@ -3268,102 +3325,102 @@ void Scanner::lex_conf_encoding_policy(Opt &opts) { lex_conf_assign (); -#line 3272 "src/ast/lex_conf.cc" +#line 3329 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 10) fill(10); yych = (unsigned char)*cur; if (yych <= 'h') { - if (yych == 'f') goto yy706; + if (yych == 'f') goto yy720; } else { - if (yych <= 'i') goto yy707; - if (yych == 's') goto yy708; + if (yych <= 'i') goto yy721; + if (yych == 's') goto yy722; } ++cur; -yy705: -#line 171 "../src/ast/lex_conf.re" +yy719: +#line 172 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'ignore', 'substitute', 'fail')"); } -#line 3288 "src/ast/lex_conf.cc" -yy706: +#line 3345 "src/ast/lex_conf.cc" +yy720: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy709; - goto yy705; -yy707: + if (yych == 'a') goto yy723; + goto yy719; +yy721: yych = (unsigned char)*(mar = ++cur); - if (yych == 'g') goto yy711; - goto yy705; -yy708: + if (yych == 'g') goto yy725; + goto yy719; +yy722: yych = (unsigned char)*(mar = ++cur); - if (yych == 'u') goto yy712; - goto yy705; -yy709: + if (yych == 'u') goto yy726; + goto yy719; +yy723: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy713; -yy710: + if (yych == 'i') goto yy727; +yy724: cur = mar; - goto yy705; -yy711: + goto yy719; +yy725: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy714; - goto yy710; -yy712: + if (yych == 'n') goto yy728; + goto yy724; +yy726: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy715; - goto yy710; -yy713: + if (yych == 'b') goto yy729; + goto yy724; +yy727: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy716; - goto yy710; -yy714: + if (yych == 'l') goto yy730; + goto yy724; +yy728: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy718; - goto yy710; -yy715: + if (yych == 'o') goto yy732; + goto yy724; +yy729: yych = (unsigned char)*++cur; - if (yych == 's') goto yy719; - goto yy710; -yy716: + if (yych == 's') goto yy733; + goto yy724; +yy730: ++cur; -#line 175 "../src/ast/lex_conf.re" +#line 176 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_FAIL); goto end; } -#line 3331 "src/ast/lex_conf.cc" -yy718: +#line 3388 "src/ast/lex_conf.cc" +yy732: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy720; - goto yy710; -yy719: + if (yych == 'r') goto yy734; + goto yy724; +yy733: yych = (unsigned char)*++cur; - if (yych == 't') goto yy721; - goto yy710; -yy720: + if (yych == 't') goto yy735; + goto yy724; +yy734: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy722; - goto yy710; -yy721: + if (yych == 'e') goto yy736; + goto yy724; +yy735: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy724; - goto yy710; -yy722: + if (yych == 'i') goto yy738; + goto yy724; +yy736: ++cur; -#line 173 "../src/ast/lex_conf.re" +#line 174 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_IGNORE); goto end; } -#line 3352 "src/ast/lex_conf.cc" -yy724: +#line 3409 "src/ast/lex_conf.cc" +yy738: yych = (unsigned char)*++cur; - if (yych != 't') goto yy710; + if (yych != 't') goto yy724; yych = (unsigned char)*++cur; - if (yych != 'u') goto yy710; + if (yych != 'u') goto yy724; yych = (unsigned char)*++cur; - if (yych != 't') goto yy710; + if (yych != 't') goto yy724; yych = (unsigned char)*++cur; - if (yych != 'e') goto yy710; + if (yych != 'e') goto yy724; ++cur; -#line 174 "../src/ast/lex_conf.re" +#line 175 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; } -#line 3365 "src/ast/lex_conf.cc" +#line 3422 "src/ast/lex_conf.cc" } -#line 176 "../src/ast/lex_conf.re" +#line 177 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3373,77 +3430,77 @@ void Scanner::lex_conf_input(Opt &opts) { lex_conf_assign (); -#line 3377 "src/ast/lex_conf.cc" +#line 3434 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 7) fill(7); yych = (unsigned char)*cur; - if (yych <= 'b') goto yy732; - if (yych <= 'c') goto yy734; - if (yych <= 'd') goto yy735; -yy732: + if (yych <= 'b') goto yy746; + if (yych <= 'c') goto yy748; + if (yych <= 'd') goto yy749; +yy746: ++cur; -yy733: -#line 185 "../src/ast/lex_conf.re" +yy747: +#line 186 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'default', 'custom')"); } -#line 3391 "src/ast/lex_conf.cc" -yy734: +#line 3448 "src/ast/lex_conf.cc" +yy748: yych = (unsigned char)*(mar = ++cur); - if (yych == 'u') goto yy736; - goto yy733; -yy735: + if (yych == 'u') goto yy750; + goto yy747; +yy749: yych = (unsigned char)*(mar = ++cur); - if (yych == 'e') goto yy738; - goto yy733; -yy736: + if (yych == 'e') goto yy752; + goto yy747; +yy750: yych = (unsigned char)*++cur; - if (yych == 's') goto yy739; -yy737: + if (yych == 's') goto yy753; +yy751: cur = mar; - goto yy733; -yy738: + goto yy747; +yy752: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy740; - goto yy737; -yy739: + if (yych == 'f') goto yy754; + goto yy751; +yy753: yych = (unsigned char)*++cur; - if (yych == 't') goto yy741; - goto yy737; -yy740: + if (yych == 't') goto yy755; + goto yy751; +yy754: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy742; - goto yy737; -yy741: + if (yych == 'a') goto yy756; + goto yy751; +yy755: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy743; - goto yy737; -yy742: + if (yych == 'o') goto yy757; + goto yy751; +yy756: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy744; - goto yy737; -yy743: + if (yych == 'u') goto yy758; + goto yy751; +yy757: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy745; - goto yy737; -yy744: + if (yych == 'm') goto yy759; + goto yy751; +yy758: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy747; - goto yy737; -yy745: + if (yych == 'l') goto yy761; + goto yy751; +yy759: ++cur; -#line 188 "../src/ast/lex_conf.re" +#line 189 "../src/ast/lex_conf.re" { opts.set_input_api(INPUT_CUSTOM); goto end; } -#line 3438 "src/ast/lex_conf.cc" -yy747: +#line 3495 "src/ast/lex_conf.cc" +yy761: yych = (unsigned char)*++cur; - if (yych != 't') goto yy737; + if (yych != 't') goto yy751; ++cur; -#line 187 "../src/ast/lex_conf.re" +#line 188 "../src/ast/lex_conf.re" { opts.set_input_api(INPUT_DEFAULT); goto end; } -#line 3445 "src/ast/lex_conf.cc" +#line 3502 "src/ast/lex_conf.cc" } -#line 189 "../src/ast/lex_conf.re" +#line 190 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3453,105 +3510,105 @@ void Scanner::lex_conf_empty_class(Opt &opts) { lex_conf_assign (); -#line 3457 "src/ast/lex_conf.cc" +#line 3514 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 11) fill(11); yych = (unsigned char)*cur; - if (yych == 'e') goto yy754; - if (yych == 'm') goto yy755; + if (yych == 'e') goto yy768; + if (yych == 'm') goto yy769; ++cur; -yy753: -#line 198 "../src/ast/lex_conf.re" +yy767: +#line 199 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'match-empty', 'match-none', 'error')"); } -#line 3469 "src/ast/lex_conf.cc" -yy754: +#line 3526 "src/ast/lex_conf.cc" +yy768: yych = (unsigned char)*(mar = ++cur); - if (yych == 'r') goto yy756; - goto yy753; -yy755: + if (yych == 'r') goto yy770; + goto yy767; +yy769: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy758; - goto yy753; -yy756: + if (yych == 'a') goto yy772; + goto yy767; +yy770: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy759; -yy757: + if (yych == 'r') goto yy773; +yy771: cur = mar; - goto yy753; -yy758: + goto yy767; +yy772: yych = (unsigned char)*++cur; - if (yych == 't') goto yy760; - goto yy757; -yy759: + if (yych == 't') goto yy774; + goto yy771; +yy773: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy761; - goto yy757; -yy760: + if (yych == 'o') goto yy775; + goto yy771; +yy774: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy762; - goto yy757; -yy761: + if (yych == 'c') goto yy776; + goto yy771; +yy775: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy763; - goto yy757; -yy762: + if (yych == 'r') goto yy777; + goto yy771; +yy776: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy765; - goto yy757; -yy763: + if (yych == 'h') goto yy779; + goto yy771; +yy777: ++cur; -#line 202 "../src/ast/lex_conf.re" +#line 203 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_ERROR); goto end; } -#line 3508 "src/ast/lex_conf.cc" -yy765: +#line 3565 "src/ast/lex_conf.cc" +yy779: yych = (unsigned char)*++cur; - if (yych != '-') goto yy757; + if (yych != '-') goto yy771; yych = (unsigned char)*++cur; - if (yych == 'e') goto yy767; - if (yych == 'n') goto yy768; - goto yy757; -yy767: + if (yych == 'e') goto yy781; + if (yych == 'n') goto yy782; + goto yy771; +yy781: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy769; - goto yy757; -yy768: + if (yych == 'm') goto yy783; + goto yy771; +yy782: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy770; - goto yy757; -yy769: + if (yych == 'o') goto yy784; + goto yy771; +yy783: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy771; - goto yy757; -yy770: + if (yych == 'p') goto yy785; + goto yy771; +yy784: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy772; - goto yy757; -yy771: + if (yych == 'n') goto yy786; + goto yy771; +yy785: yych = (unsigned char)*++cur; - if (yych == 't') goto yy773; - goto yy757; -yy772: + if (yych == 't') goto yy787; + goto yy771; +yy786: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy774; - goto yy757; -yy773: + if (yych == 'e') goto yy788; + goto yy771; +yy787: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy776; - goto yy757; -yy774: + if (yych == 'y') goto yy790; + goto yy771; +yy788: ++cur; -#line 201 "../src/ast/lex_conf.re" +#line 202 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE); goto end; } -#line 3548 "src/ast/lex_conf.cc" -yy776: +#line 3605 "src/ast/lex_conf.cc" +yy790: ++cur; -#line 200 "../src/ast/lex_conf.re" +#line 201 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; } -#line 3553 "src/ast/lex_conf.cc" +#line 3610 "src/ast/lex_conf.cc" } -#line 203 "../src/ast/lex_conf.re" +#line 204 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3561,65 +3618,65 @@ void Scanner::lex_conf_dfa_minimization(Opt &opts) { lex_conf_assign (); -#line 3565 "src/ast/lex_conf.cc" +#line 3622 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 5) fill(5); yych = (unsigned char)*cur; - if (yych == 'm') goto yy782; - if (yych == 't') goto yy783; + if (yych == 'm') goto yy796; + if (yych == 't') goto yy797; ++cur; -yy781: -#line 212 "../src/ast/lex_conf.re" +yy795: +#line 213 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'table', 'moore')"); } -#line 3577 "src/ast/lex_conf.cc" -yy782: +#line 3634 "src/ast/lex_conf.cc" +yy796: yych = (unsigned char)*(mar = ++cur); - if (yych == 'o') goto yy784; - goto yy781; -yy783: + if (yych == 'o') goto yy798; + goto yy795; +yy797: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy786; - goto yy781; -yy784: + if (yych == 'a') goto yy800; + goto yy795; +yy798: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy787; -yy785: + if (yych == 'o') goto yy801; +yy799: cur = mar; - goto yy781; -yy786: + goto yy795; +yy800: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy788; - goto yy785; -yy787: + if (yych == 'b') goto yy802; + goto yy799; +yy801: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy789; - goto yy785; -yy788: + if (yych == 'r') goto yy803; + goto yy799; +yy802: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy790; - goto yy785; -yy789: + if (yych == 'l') goto yy804; + goto yy799; +yy803: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy791; - goto yy785; -yy790: + if (yych == 'e') goto yy805; + goto yy799; +yy804: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy793; - goto yy785; -yy791: + if (yych == 'e') goto yy807; + goto yy799; +yy805: ++cur; -#line 215 "../src/ast/lex_conf.re" +#line 216 "../src/ast/lex_conf.re" { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; } -#line 3616 "src/ast/lex_conf.cc" -yy793: +#line 3673 "src/ast/lex_conf.cc" +yy807: ++cur; -#line 214 "../src/ast/lex_conf.re" +#line 215 "../src/ast/lex_conf.re" { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; } -#line 3621 "src/ast/lex_conf.cc" +#line 3678 "src/ast/lex_conf.cc" } -#line 216 "../src/ast/lex_conf.re" +#line 217 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3637,7 +3694,7 @@ void Scanner::lex_conf_enc(Enc::type_t enc, Opt &opts) void Scanner::lex_conf_assign () { -#line 3641 "src/ast/lex_conf.cc" +#line 3698 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3677,56 +3734,56 @@ void Scanner::lex_conf_assign () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy799; + if (yych == '\t') goto yy813; } else { - if (yych <= ' ') goto yy799; - if (yych == '=') goto yy800; + if (yych <= ' ') goto yy813; + if (yych == '=') goto yy814; } ++cur; -yy798: -#line 233 "../src/ast/lex_conf.re" +yy812: +#line 234 "../src/ast/lex_conf.re" { fatal ("missing '=' in configuration"); } -#line 3690 "src/ast/lex_conf.cc" -yy799: +#line 3747 "src/ast/lex_conf.cc" +yy813: yych = (unsigned char)*(mar = ++cur); if (yych <= 0x1F) { - if (yych == '\t') goto yy803; - goto yy798; + if (yych == '\t') goto yy817; + goto yy812; } else { - if (yych <= ' ') goto yy803; - if (yych != '=') goto yy798; + if (yych <= ' ') goto yy817; + if (yych != '=') goto yy812; } -yy800: +yy814: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy800; + goto yy814; } -#line 234 "../src/ast/lex_conf.re" +#line 235 "../src/ast/lex_conf.re" { return; } -#line 3709 "src/ast/lex_conf.cc" -yy803: +#line 3766 "src/ast/lex_conf.cc" +yy817: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy803; + if (yych == '\t') goto yy817; } else { - if (yych <= ' ') goto yy803; - if (yych == '=') goto yy800; + if (yych <= ' ') goto yy817; + if (yych == '=') goto yy814; } cur = mar; - goto yy798; + goto yy812; } -#line 235 "../src/ast/lex_conf.re" +#line 236 "../src/ast/lex_conf.re" } void Scanner::lex_conf_semicolon () { -#line 3730 "src/ast/lex_conf.cc" +#line 3787 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3766,39 +3823,39 @@ void Scanner::lex_conf_semicolon () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy810; + if (yych == '\t') goto yy824; } else { - if (yych <= ' ') goto yy810; - if (yych == ';') goto yy811; + if (yych <= ' ') goto yy824; + if (yych == ';') goto yy825; } ++cur; -yy809: -#line 241 "../src/ast/lex_conf.re" +yy823: +#line 242 "../src/ast/lex_conf.re" { fatal ("missing ending ';' in configuration"); } -#line 3779 "src/ast/lex_conf.cc" -yy810: +#line 3836 "src/ast/lex_conf.cc" +yy824: yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 128) { - goto yy813; + goto yy827; } - if (yych != ';') goto yy809; -yy811: + if (yych != ';') goto yy823; +yy825: ++cur; -#line 242 "../src/ast/lex_conf.re" +#line 243 "../src/ast/lex_conf.re" { return; } -#line 3790 "src/ast/lex_conf.cc" -yy813: +#line 3847 "src/ast/lex_conf.cc" +yy827: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy813; + goto yy827; } - if (yych == ';') goto yy811; + if (yych == ';') goto yy825; cur = mar; - goto yy809; + goto yy823; } -#line 243 "../src/ast/lex_conf.re" +#line 244 "../src/ast/lex_conf.re" } @@ -3812,7 +3869,7 @@ int32_t Scanner::lex_conf_number () lex_conf_assign (); tok = cur; -#line 3816 "src/ast/lex_conf.cc" +#line 3873 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3852,21 +3909,21 @@ int32_t Scanner::lex_conf_number () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= '/') { - if (yych == '-') goto yy819; + if (yych == '-') goto yy833; } else { - if (yych <= '0') goto yy820; - if (yych <= '9') goto yy822; + if (yych <= '0') goto yy834; + if (yych <= '9') goto yy836; } -yy818: -yy819: +yy832: +yy833: yych = (unsigned char)*++cur; - if (yych <= '0') goto yy818; - if (yych <= '9') goto yy822; - goto yy818; -yy820: + if (yych <= '0') goto yy832; + if (yych <= '9') goto yy836; + goto yy832; +yy834: ++cur; -yy821: -#line 257 "../src/ast/lex_conf.re" +yy835: +#line 258 "../src/ast/lex_conf.re" { int32_t n = 0; if (!s_to_i32_unsafe (tok, cur, n)) @@ -3876,17 +3933,17 @@ yy821: lex_conf_semicolon (); return n; } -#line 3880 "src/ast/lex_conf.cc" -yy822: +#line 3937 "src/ast/lex_conf.cc" +yy836: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy822; + goto yy836; } - goto yy821; + goto yy835; } -#line 266 "../src/ast/lex_conf.re" +#line 267 "../src/ast/lex_conf.re" } @@ -3896,7 +3953,7 @@ std::string Scanner::lex_conf_string () std::string s; tok = cur; -#line 3900 "src/ast/lex_conf.cc" +#line 3957 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3937,38 +3994,38 @@ std::string Scanner::lex_conf_string () yych = (unsigned char)*cur; if (yych <= '!') { if (yych <= '\n') { - if (yych <= 0x08) goto yy827; + if (yych <= 0x08) goto yy841; } else { - if (yych != ' ') goto yy827; + if (yych != ' ') goto yy841; } } else { if (yych <= '\'') { - if (yych <= '"') goto yy830; - if (yych <= '&') goto yy827; - goto yy830; + if (yych <= '"') goto yy844; + if (yych <= '&') goto yy841; + goto yy844; } else { - if (yych != ';') goto yy827; + if (yych != ';') goto yy841; } } -#line 293 "../src/ast/lex_conf.re" +#line 294 "../src/ast/lex_conf.re" { goto end; } -#line 3956 "src/ast/lex_conf.cc" -yy827: +#line 4013 "src/ast/lex_conf.cc" +yy841: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy827; + goto yy841; } -#line 289 "../src/ast/lex_conf.re" +#line 290 "../src/ast/lex_conf.re" { s = std::string(tok, tok_len()); goto end; } -#line 3969 "src/ast/lex_conf.cc" -yy830: +#line 4026 "src/ast/lex_conf.cc" +yy844: ++cur; -#line 275 "../src/ast/lex_conf.re" +#line 276 "../src/ast/lex_conf.re" { const char quote = tok[0]; for (bool end;;) { @@ -3983,9 +4040,9 @@ yy830: } } } -#line 3987 "src/ast/lex_conf.cc" +#line 4044 "src/ast/lex_conf.cc" } -#line 294 "../src/ast/lex_conf.re" +#line 295 "../src/ast/lex_conf.re" end: lex_conf_semicolon (); diff --git a/re2c/bootstrap/src/conf/parse_opts.cc b/re2c/bootstrap/src/conf/parse_opts.cc index b390735c..20261d9b 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 Tue Mar 7 21:26:57 2017 */ +/* Generated by re2c 0.16 on Mon Jul 17 22:49:04 2017 */ #line 1 "../src/conf/parse_opts.re" #include "src/code/input_api.h" #include "src/conf/msg.h" @@ -1364,1344 +1364,1402 @@ yy319: case 'd': goto yy349; case 'g': goto yy350; case 'l': goto yy351; - case 'v': goto yy352; + case 'o': goto yy352; + case 'v': goto yy353; default: goto yy277; } yy320: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy353; + if (yych == 'p') goto yy354; goto yy277; yy321: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy354; + if (yych == 'i') goto yy355; goto yy277; yy322: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy355; + if (yych == 's') goto yy356; goto yy277; yy323: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy356; + if (yych == 'g') goto yy357; goto yy277; yy324: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy357; + if (yych == 'l') goto yy358; goto yy277; yy325: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy358; + if (yych == 'r') goto yy359; goto yy277; yy326: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy359; + if (yych == 'r') goto yy360; goto yy277; yy327: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy360; + if (yych == 's') goto yy361; goto yy277; yy328: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy361; + if (yych == 'e') goto yy362; goto yy277; yy329: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy362; + if (yych == 'c') goto yy363; goto yy277; yy330: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy363; + if (yych == '-') goto yy364; goto yy277; yy331: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy364; - if (yych == 's') goto yy365; + if (yych == 'n') goto yy365; + if (yych == 's') goto yy366; goto yy277; yy332: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy366; + if (yych == 'e') goto yy367; goto yy277; yy333: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'v') goto yy367; + if (yych == 'v') goto yy368; goto yy277; yy334: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy368; + if (yych == '-') goto yy369; goto yy277; yy335: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy369; + if (yych == 'u') goto yy370; goto yy277; yy336: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy370; + if (yych == 'g') goto yy371; goto yy277; yy337: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy371; + if (yych == 'm') goto yy372; goto yy277; yy338: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy372; + if (yych == '-') goto yy373; goto yy277; yy339: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy373; + if (yych == 'r') goto yy374; goto yy277; yy340: ++YYCURSOR; -#line 157 "../src/conf/parse_opts.re" +#line 158 "../src/conf/parse_opts.re" { opts.set_encoding(Enc::EBCDIC); goto opt; } -#line 1456 "src/conf/parse_opts.cc" +#line 1457 "src/conf/parse_opts.cc" yy342: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy374; + if (yych == '-') goto yy375; goto yy277; yy343: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy375; + if (yych == 'y') goto yy376; goto yy277; yy344: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy376; + if (yych == 'd') goto yy377; goto yy277; yy345: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy377; + if (yych == '-') goto yy378; goto yy277; yy346: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy378; + if (yych <= 0x00) goto yy379; goto yy277; yy347: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy380; + if (yych == 't') goto yy381; goto yy277; yy348: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy381; + if (yych == 'e') goto yy382; goto yy277; yy349: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy382; + if (yych == 'e') goto yy383; goto yy277; yy350: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy383; + if (yych == 'e') goto yy384; goto yy277; yy351: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy384; + if (yych == 'o') goto yy385; goto yy277; yy352: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy385; + if (yych == 'p') goto yy386; goto yy277; yy353: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy386; + if (yych == 'e') goto yy387; goto yy277; yy354: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'x') goto yy387; + if (yych == 'u') goto yy388; goto yy277; yy355: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy388; + if (yych == 'x') goto yy389; goto yy277; yy356: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy389; + if (yych == 'a') goto yy390; goto yy277; yy357: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy390; + if (yych == 'l') goto yy391; goto yy277; yy358: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy391; + if (yych == 'e') goto yy392; goto yy277; yy359: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy392; + if (yych == 't') goto yy393; goto yy277; yy360: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy393; + if (yych == 'a') goto yy394; goto yy277; yy361: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy395; + if (yych <= 0x00) goto yy395; goto yy277; yy362: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy396; + if (yych == '-') goto yy397; goto yy277; yy363: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '1') goto yy397; - if (yych == '8') goto yy398; + if (yych == 'o') goto yy398; goto yy277; yy364: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy399; + if (yych == '1') goto yy399; + if (yych == '8') goto yy400; goto yy277; yy365: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy400; + if (yych == 'u') goto yy401; goto yy277; yy366: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy401; + if (yych == 'i') goto yy402; goto yy277; yy367: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy402; + if (yych == '-') goto yy403; goto yy277; yy368: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy403; + if (yych == 'e') goto yy404; goto yy277; yy369: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy404; + if (yych == 'i') goto yy405; goto yy277; yy370: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy405; + if (yych == 't') goto yy406; goto yy277; yy371: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy406; + if (yych == '-') goto yy407; goto yy277; yy372: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'i') goto yy408; + goto yy277; +yy373: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 'c') { - if (yych == 'a') goto yy407; + if (yych == 'a') goto yy409; goto yy277; } else { - if (yych <= 'd') goto yy408; - if (yych == 'n') goto yy409; + if (yych <= 'd') goto yy410; + if (yych == 'n') goto yy411; goto yy277; } -yy373: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy410; - goto yy277; yy374: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy411; + if (yych == '-') goto yy412; goto yy277; yy375: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy412; + if (yych == 'd') goto yy413; goto yy277; yy376: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy413; + if (yych == '-') goto yy414; goto yy277; yy377: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy414; + if (yych == 'i') goto yy415; goto yy277; yy378: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy416; + goto yy277; +yy379: ++YYCURSOR; #line 133 "../src/conf/parse_opts.re" { usage (); return EXIT_OK; } -#line 1612 "src/conf/parse_opts.cc" -yy380: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy415; - goto yy277; +#line 1617 "src/conf/parse_opts.cc" yy381: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy417; + if (yych <= 0x00) goto yy417; goto yy277; yy382: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy418; + if (yych == 'd') goto yy419; goto yy277; yy383: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy419; + if (yych == 'b') goto yy420; goto yy277; yy384: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy420; + if (yych == 'n') goto yy421; goto yy277; yy385: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy421; + if (yych == 'o') goto yy422; goto yy277; yy386: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy422; + if (yych == 't') goto yy423; goto yy277; yy387: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy423; + if (yych == 'r') goto yy424; goto yy277; yy388: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy424; + if (yych == 't') goto yy425; goto yy277; yy389: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy425; + if (yych == '-') goto yy426; goto yy277; yy390: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy426; + if (yych == 'b') goto yy427; goto yy277; yy391: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy427; + if (yych == 'e') goto yy428; goto yy277; yy392: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy428; + if (yych == 't') goto yy429; goto yy277; yy393: - ++YYCURSOR; -#line 153 "../src/conf/parse_opts.re" - { opts.set_tags (true); goto opt; } -#line 1669 "src/conf/parse_opts.cc" -yy395: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy429; + if (yych == '-') goto yy430; goto yy277; -yy396: +yy394: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy430; + if (yych == 'b') goto yy431; goto yy277; +yy395: + ++YYCURSOR; +#line 153 "../src/conf/parse_opts.re" + { opts.set_tags (true); goto opt; } +#line 1678 "src/conf/parse_opts.cc" yy397: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '6') goto yy431; + if (yych == 'h') goto yy432; goto yy277; yy398: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy432; + if (yych == 'd') goto yy433; goto yy277; yy399: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy434; + if (yych == '6') goto yy434; goto yy277; yy400: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy435; + if (yych <= 0x00) goto yy435; goto yy277; yy401: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy436; + if (yych == 'm') goto yy437; goto yy277; yy402: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy437; + if (yych == 'o') goto yy438; goto yy277; yy403: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy438; + if (yych == 'c') goto yy439; goto yy277; yy404: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy439; + if (yych == 'c') goto yy440; goto yy277; yy405: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy440; + if (yych == 'n') goto yy441; goto yy277; yy406: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy441; + if (yych == 'e') goto yy442; goto yy277; yy407: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy442; + if (yych == 'o') goto yy443; goto yy277; yy408: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy443; + if (yych == 'n') goto yy444; goto yy277; yy409: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy444; + if (yych == 'd') goto yy445; goto yy277; yy410: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy445; + if (yych == 'f') goto yy446; goto yy277; yy411: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy446; + if (yych == 'f') goto yy447; goto yy277; yy412: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy447; + if (yych == 's') goto yy448; goto yy277; yy413: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy448; + if (yych == 'o') goto yy449; goto yy277; yy414: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy449; + if (yych == 'c') goto yy450; goto yy277; yy415: - ++YYCURSOR; -#line 165 "../src/conf/parse_opts.re" - { goto opt_input; } -#line 1754 "src/conf/parse_opts.cc" -yy417: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy450; + if (yych == 'n') goto yy451; goto yy277; -yy418: +yy416: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy451; + if (yych == 'y') goto yy452; goto yy277; +yy417: + ++YYCURSOR; +#line 166 "../src/conf/parse_opts.re" + { goto opt_input; } +#line 1763 "src/conf/parse_opts.cc" yy419: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy452; + if (yych == '-') goto yy453; goto yy277; yy420: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'k') goto yy453; + if (yych == 'u') goto yy454; goto yy277; yy421: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy454; + if (yych == 'e') goto yy455; goto yy277; yy422: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy455; + if (yych == 'k') goto yy456; goto yy277; yy423: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy457; + if (yych == 'i') goto yy457; goto yy277; yy424: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy458; + if (yych == 's') goto yy458; goto yy277; yy425: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy459; + if (yych <= 0x00) goto yy459; goto yy277; yy426: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy460; + if (yych == 'c') goto yy461; goto yy277; yy427: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy461; + if (yych == 'l') goto yy462; goto yy277; yy428: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy462; + if (yych == '-') goto yy463; goto yy277; yy429: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy463; + if (yych == 'o') goto yy464; goto yy277; yy430: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy464; + if (yych == 'c') goto yy465; goto yy277; yy431: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy465; + if (yych == 'l') goto yy466; goto yy277; yy432: - ++YYCURSOR; -#line 161 "../src/conf/parse_opts.re" - { opts.set_encoding(Enc::UTF8); goto opt; } -#line 1819 "src/conf/parse_opts.cc" -yy434: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy467; + if (yych == 'e') goto yy467; goto yy277; -yy435: +yy433: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy469; + if (yych == 'e') goto yy468; goto yy277; -yy436: +yy434: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy470; + if (yych <= 0x00) goto yy469; goto yy277; +yy435: + ++YYCURSOR; +#line 162 "../src/conf/parse_opts.re" + { opts.set_encoding(Enc::UTF8); goto opt; } +#line 1832 "src/conf/parse_opts.cc" yy437: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy471; + if (yych <= 0x00) goto yy471; goto yy277; yy438: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy472; - if (yych == 'v') goto yy473; + if (yych == 'n') goto yy473; goto yy277; yy439: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy474; + if (yych == 'h') goto yy474; goto yy277; yy440: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy475; + if (yych == 't') goto yy475; goto yy277; yy441: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy476; + if (yych == 's') goto yy476; + if (yych == 'v') goto yy477; goto yy277; yy442: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy477; + if (yych == 'd') goto yy478; goto yy277; yy443: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy478; + if (yych == 'u') goto yy479; goto yy277; yy444: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy479; + if (yych == 'i') goto yy480; goto yy277; yy445: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'k') goto yy480; + if (yych == 'f') goto yy481; goto yy277; yy446: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy481; + if (yych == 'a') goto yy482; goto yy277; yy447: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy482; + if (yych == 'a') goto yy483; goto yy277; yy448: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy483; + if (yych == 'k') goto yy484; goto yy277; yy449: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy484; + if (yych == 't') goto yy485; goto yy277; yy450: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy485; + if (yych == 'l') goto yy486; goto yy277; yy451: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy486; + if (yych == 'g') goto yy487; goto yy277; yy452: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy487; + if (yych == 'n') goto yy488; goto yy277; yy453: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy488; + if (yych == 'i') goto yy489; goto yy277; yy454: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy489; + if (yych == 'g') goto yy490; goto yy277; yy455: - ++YYCURSOR; -#line 162 "../src/conf/parse_opts.re" - { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } -#line 1909 "src/conf/parse_opts.cc" -yy457: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy490; + if (yych == 'r') goto yy491; goto yy277; -yy458: +yy456: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy491; + if (yych == 'a') goto yy492; goto yy277; -yy459: +yy457: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy492; + if (yych == 'm') goto yy493; goto yy277; -yy460: +yy458: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy493; + if (yych == 'i') goto yy494; goto yy277; +yy459: + ++YYCURSOR; +#line 163 "../src/conf/parse_opts.re" + { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } +#line 1926 "src/conf/parse_opts.cc" yy461: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy494; + if (yych == 'a') goto yy495; goto yy277; yy462: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy495; + if (yych == 'e') goto yy496; goto yy277; yy463: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy496; + if (yych == 'p') goto yy497; goto yy277; yy464: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy497; + if (yych == 'n') goto yy498; goto yy277; yy465: - ++YYCURSOR; -#line 160 "../src/conf/parse_opts.re" - { opts.set_encoding(Enc::UTF16); goto opt; } -#line 1946 "src/conf/parse_opts.cc" -yy467: - ++YYCURSOR; -#line 135 "../src/conf/parse_opts.re" - { vernum (); return EXIT_OK; } -#line 1951 "src/conf/parse_opts.cc" -yy469: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy499; + if (yych == 'o') goto yy499; goto yy277; -yy470: +yy466: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy501; + if (yych == 'e') goto yy500; goto yy277; -yy471: +yy467: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy502; + if (yych == 'a') goto yy501; goto yy277; -yy472: +yy468: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy503; + if (yych <= 0x00) goto yy502; goto yy277; +yy469: + ++YYCURSOR; +#line 161 "../src/conf/parse_opts.re" + { opts.set_encoding(Enc::UTF16); goto opt; } +#line 1963 "src/conf/parse_opts.cc" +yy471: + ++YYCURSOR; +#line 135 "../src/conf/parse_opts.re" + { vernum (); return EXIT_OK; } +#line 1968 "src/conf/parse_opts.cc" yy473: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy504; + if (yych <= 0x00) goto yy504; goto yy277; yy474: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy505; + if (yych == 'a') goto yy506; goto yy277; yy475: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy506; + if (yych == 'o') goto yy507; goto yy277; yy476: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy507; + if (yych == 'e') goto yy508; goto yy277; yy477: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy508; + if (yych == 'e') goto yy509; goto yy277; yy478: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy509; + if (yych == '-') goto yy510; goto yy277; yy479: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy510; + if (yych == 't') goto yy511; goto yy277; yy480: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy512; + if (yych == 'm') goto yy512; goto yy277; yy481: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy513; + if (yych == 'a') goto yy513; goto yy277; yy482: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy515; + if (yych == '-') goto yy514; goto yy277; yy483: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy516; + if (yych <= 0x00) goto yy515; goto yy277; yy484: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy517; + if (yych == 'i') goto yy517; goto yy277; yy485: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy518; + if (yych <= 0x00) goto yy518; goto yy277; yy486: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy519; + if (yych == 'a') goto yy520; goto yy277; yy487: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy520; + if (yych == '-') goto yy521; goto yy277; yy488: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy521; + if (yych == 't') goto yy522; goto yy277; yy489: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy522; + if (yych == 'f') goto yy523; goto yy277; yy490: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy523; + if (yych == '-') goto yy524; goto yy277; yy491: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy524; + if (yych == 'a') goto yy525; goto yy277; yy492: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy526; + if (yych == 'h') goto yy526; goto yy277; yy493: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy527; + if (yych == 'i') goto yy527; goto yy277; yy494: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy529; + if (yych == 'o') goto yy528; goto yy277; yy495: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy530; + if (yych == 'p') goto yy529; goto yy277; yy496: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy531; + if (yych <= 0x00) goto yy530; goto yy277; yy497: - ++YYCURSOR; -#line 158 "../src/conf/parse_opts.re" - { opts.set_encoding(Enc::UTF32); goto opt; } -#line 2068 "src/conf/parse_opts.cc" -yy499: - ++YYCURSOR; -#line 134 "../src/conf/parse_opts.re" - { version (); return EXIT_OK; } -#line 2073 "src/conf/parse_opts.cc" -yy501: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy532; + if (yych == 'a') goto yy532; goto yy277; -yy502: +yy498: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy533; + if (yych <= 0x00) goto yy533; goto yy277; -yy503: +yy499: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy534; + if (yych == 'n') goto yy535; goto yy277; -yy504: +yy500: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy535; + if (yych == '-') goto yy536; goto yy277; -yy505: +yy501: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy536; + if (yych == 'd') goto yy537; goto yy277; +yy502: + ++YYCURSOR; +#line 159 "../src/conf/parse_opts.re" + { opts.set_encoding(Enc::UTF32); goto opt; } +#line 2089 "src/conf/parse_opts.cc" +yy504: + ++YYCURSOR; +#line 134 "../src/conf/parse_opts.re" + { version (); return EXIT_OK; } +#line 2094 "src/conf/parse_opts.cc" yy506: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy537; + if (yych == 'r') goto yy538; goto yy277; yy507: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy538; + if (yych == 'r') goto yy539; goto yy277; yy508: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy539; + if (yych == 'n') goto yy540; goto yy277; yy509: yych = (YYCTYPE)*++YYCURSOR; - switch (yych) { - case 'd': goto yy541; - case 'm': goto yy542; - case 'r': goto yy543; - case 't': goto yy544; - default: goto yy277; - } + if (yych == 'r') goto yy541; + goto yy277; yy510: - ++YYCURSOR; -#line 170 "../src/conf/parse_opts.re" - { globopts.dump_nfa = true; goto opt; } -#line 2119 "src/conf/parse_opts.cc" -yy512: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy545; + if (yych == 'g') goto yy542; goto yy277; -yy513: - ++YYCURSOR; -#line 138 "../src/conf/parse_opts.re" - { globopts.target = TARGET_DOT; goto opt; } -#line 2128 "src/conf/parse_opts.cc" -yy515: +yy511: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy546; + if (yych == 'p') goto yy543; goto yy277; -yy516: +yy512: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy547; + if (yych == 'i') goto yy544; goto yy277; -yy517: +yy513: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy548; + if (yych <= 0x00) goto yy545; goto yy277; -yy518: +yy514: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy549; - goto yy277; -yy519: + switch (yych) { + case 'd': goto yy547; + case 'm': goto yy548; + case 'r': goto yy549; + case 't': goto yy550; + default: goto yy277; + } +yy515: + ++YYCURSOR; +#line 171 "../src/conf/parse_opts.re" + { globopts.dump_nfa = true; goto opt; } +#line 2140 "src/conf/parse_opts.cc" +yy517: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy550; + if (yych == 'p') goto yy551; goto yy277; +yy518: + ++YYCURSOR; +#line 138 "../src/conf/parse_opts.re" + { globopts.target = TARGET_DOT; goto opt; } +#line 2149 "src/conf/parse_opts.cc" yy520: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy551; + if (yych == 's') goto yy552; goto yy277; yy521: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy552; + if (yych == 'p') goto yy553; goto yy277; yy522: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy553; + if (yych == 'a') goto yy554; goto yy277; yy523: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy554; + if (yych == 's') goto yy555; goto yy277; yy524: - ++YYCURSOR; -#line 141 "../src/conf/parse_opts.re" - { globopts.rFlag = true; goto opt; } -#line 2169 "src/conf/parse_opts.cc" -yy526: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy555; + if (yych == 'i') goto yy556; goto yy277; -yy527: - ++YYCURSOR; -#line 144 "../src/conf/parse_opts.re" - { globopts.target = TARGET_SKELETON; goto opt; } -#line 2178 "src/conf/parse_opts.cc" -yy529: +yy525: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy556; + if (yych == 't') goto yy557; goto yy277; -yy530: +yy526: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy557; + if (yych == 'e') goto yy558; goto yy277; -yy531: +yy527: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy558; + if (yych == 'z') goto yy559; goto yy277; -yy532: +yy528: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy559; + if (yych == 'n') goto yy560; goto yy277; -yy533: +yy529: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy560; + if (yych == 't') goto yy561; goto yy277; -yy534: +yy530: + ++YYCURSOR; +#line 141 "../src/conf/parse_opts.re" + { globopts.rFlag = true; goto opt; } +#line 2194 "src/conf/parse_opts.cc" +yy532: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy561; + if (yych == 's') goto yy562; goto yy277; +yy533: + ++YYCURSOR; +#line 144 "../src/conf/parse_opts.re" + { globopts.target = TARGET_SKELETON; goto opt; } +#line 2203 "src/conf/parse_opts.cc" yy535: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy562; + if (yych == 'd') goto yy563; goto yy277; yy536: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy563; + if (yych == 's') goto yy564; goto yy277; yy537: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy564; + if (yych == 'e') goto yy565; goto yy277; yy538: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'z') goto yy565; + if (yych == 's') goto yy566; goto yy277; yy539: - ++YYCURSOR; -#line 175 "../src/conf/parse_opts.re" - { globopts.dump_adfa = true; goto opt; } -#line 2223 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy567; + goto yy277; +yy540: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy568; + goto yy277; yy541: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy566; + if (yych == 't') goto yy569; goto yy277; yy542: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy567; + if (yych == 'o') goto yy570; goto yy277; yy543: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy568; + if (yych == 'u') goto yy571; goto yy277; yy544: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy569; + if (yych == 'z') goto yy572; goto yy277; yy545: - yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy570; - goto yy277; -yy546: - yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy572; - goto yy277; + ++YYCURSOR; +#line 176 "../src/conf/parse_opts.re" + { globopts.dump_adfa = true; goto opt; } +#line 2248 "src/conf/parse_opts.cc" yy547: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy573; + if (yych == 'e') goto yy573; goto yy277; yy548: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'x') goto yy574; + if (yych == 'i') goto yy574; goto yy277; yy549: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy575; + if (yych == 'a') goto yy575; goto yy277; yy550: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy577; + if (yych == 'a') goto yy576; goto yy277; yy551: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy578; + if (yych <= 0x00) goto yy577; goto yy277; yy552: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy579; + if (yych == 's') goto yy579; goto yy277; yy553: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy580; + if (yych == 'o') goto yy580; goto yy277; yy554: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy582; + if (yych == 'x') goto yy581; goto yy277; yy555: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy583; + if (yych <= 0x00) goto yy582; goto yy277; yy556: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy584; + if (yych == 'n') goto yy584; goto yy277; yy557: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy585; + if (yych == 'i') goto yy585; goto yy277; yy558: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy586; + if (yych == 'a') goto yy586; goto yy277; yy559: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy587; + if (yych == 'e') goto yy587; goto yy277; yy560: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy589; + if (yych <= 0x00) goto yy588; goto yy277; yy561: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy591; + if (yych == 'u') goto yy590; goto yy277; yy562: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy592; + if (yych == 's') goto yy591; goto yy277; yy563: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy593; + if (yych == 'i') goto yy592; goto yy277; yy564: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy594; + if (yych == 't') goto yy593; goto yy277; yy565: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy595; + if (yych == 'r') goto yy594; goto yy277; yy566: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy596; + if (yych <= 0x00) goto yy595; goto yy277; yy567: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy597; + if (yych <= 0x00) goto yy597; goto yy277; yy568: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'w') goto yy598; + if (yych == 'i') goto yy599; goto yy277; yy569: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'g') goto yy599; + if (yych == 'e') goto yy600; goto yy277; yy570: - ++YYCURSOR; -#line 156 "../src/conf/parse_opts.re" - { opts.set_eager_skip(true); goto opt; } -#line 2344 "src/conf/parse_opts.cc" + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy601; + goto yy277; +yy571: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy602; + goto yy277; yy572: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy600; + if (yych == 'a') goto yy603; goto yy277; yy573: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy602; + if (yych == 't') goto yy604; goto yy277; yy574: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy603; + if (yych == 'n') goto yy605; goto yy277; yy575: - ++YYCURSOR; -#line 150 "../src/conf/parse_opts.re" - { opts.set_sFlag (true); goto opt; } -#line 2361 "src/conf/parse_opts.cc" -yy577: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy605; + if (yych == 'w') goto yy606; goto yy277; -yy578: +yy576: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy606; + if (yych == 'g') goto yy607; goto yy277; +yy577: + ++YYCURSOR; +#line 157 "../src/conf/parse_opts.re" + { opts.set_eager_skip(true); goto opt; } +#line 2373 "src/conf/parse_opts.cc" yy579: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy607; + if (yych <= 0x00) goto yy608; goto yy277; yy580: - ++YYCURSOR; -#line 143 "../src/conf/parse_opts.re" - { globopts.version = false; goto opt; } -#line 2378 "src/conf/parse_opts.cc" -yy582: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy608; + if (yych == 'l') goto yy610; goto yy277; -yy583: +yy581: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy609; + if (yych <= 0x00) goto yy611; goto yy277; +yy582: + ++YYCURSOR; +#line 150 "../src/conf/parse_opts.re" + { opts.set_sFlag (true); goto opt; } +#line 2390 "src/conf/parse_opts.cc" yy584: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy611; + if (yych == 'f') goto yy613; goto yy277; yy585: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy612; + if (yych == 'o') goto yy614; goto yy277; yy586: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy613; + if (yych == 'd') goto yy615; goto yy277; yy587: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == '-') goto yy616; + goto yy277; +yy588: ++YYCURSOR; -#line 159 "../src/conf/parse_opts.re" - { opts.set_encoding(Enc::UCS2); goto opt; } -#line 2403 "src/conf/parse_opts.cc" -yy589: - ++YYCURSOR; -#line 146 "../src/conf/parse_opts.re" - { opts.set_bFlag (true); goto opt; } -#line 2408 "src/conf/parse_opts.cc" +#line 143 "../src/conf/parse_opts.re" + { globopts.version = false; goto opt; } +#line 2411 "src/conf/parse_opts.cc" +yy590: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'r') goto yy617; + goto yy277; yy591: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy615; + if (yych <= 0x00) goto yy618; goto yy277; yy592: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy616; + if (yych == 't') goto yy620; goto yy277; yy593: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy617; + if (yych == 'a') goto yy621; goto yy277; yy594: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy618; + if (yych <= 0x00) goto yy622; goto yy277; yy595: + ++YYCURSOR; +#line 160 "../src/conf/parse_opts.re" + { opts.set_encoding(Enc::UCS2); goto opt; } +#line 2436 "src/conf/parse_opts.cc" +yy597: + ++YYCURSOR; +#line 146 "../src/conf/parse_opts.re" + { opts.set_bFlag (true); goto opt; } +#line 2441 "src/conf/parse_opts.cc" +yy599: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy620; + if (yych == 't') goto yy624; goto yy277; -yy596: +yy600: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy621; + if (yych == 'd') goto yy625; goto yy277; -yy597: +yy601: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy623; + if (yych == 'o') goto yy626; goto yy277; -yy598: +yy602: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy625; + if (yych <= 0x00) goto yy627; goto yy277; -yy599: +yy603: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy627; + if (yych == 't') goto yy629; goto yy277; -yy600: - ++YYCURSOR; -#line 166 "../src/conf/parse_opts.re" - { goto opt_empty_class; } -#line 2449 "src/conf/parse_opts.cc" -yy602: +yy604: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy628; + if (yych <= 0x00) goto yy630; goto yy277; -yy603: - ++YYCURSOR; -#line 140 "../src/conf/parse_opts.re" - { globopts.FFlag = true; goto opt; } -#line 2458 "src/conf/parse_opts.cc" yy605: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy629; + if (yych <= 0x00) goto yy632; goto yy277; yy606: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy630; + if (yych <= 0x00) goto yy634; goto yy277; yy607: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy631; + if (yych == 'o') goto yy636; goto yy277; yy608: + ++YYCURSOR; +#line 167 "../src/conf/parse_opts.re" + { goto opt_empty_class; } +#line 2482 "src/conf/parse_opts.cc" +yy610: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy633; + if (yych == 'i') goto yy637; goto yy277; -yy609: - ++YYCURSOR; -#line 168 "../src/conf/parse_opts.re" - { goto opt; } -#line 2479 "src/conf/parse_opts.cc" yy611: + ++YYCURSOR; +#line 140 "../src/conf/parse_opts.re" + { globopts.FFlag = true; goto opt; } +#line 2491 "src/conf/parse_opts.cc" +yy613: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy634; + if (yych == 'o') goto yy638; goto yy277; -yy612: +yy614: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy635; + if (yych == 'n') goto yy639; goto yy277; -yy613: - ++YYCURSOR; -#line 163 "../src/conf/parse_opts.re" - { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } -#line 2492 "src/conf/parse_opts.cc" yy615: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy636; + if (yych <= 0x00) goto yy640; goto yy277; yy616: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy637; + if (yych == 't') goto yy642; goto yy277; yy617: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy639; + if (yych == 'e') goto yy643; goto yy277; yy618: ++YYCURSOR; -#line 147 "../src/conf/parse_opts.re" - { opts.set_dFlag (true); goto opt; } -#line 2509 "src/conf/parse_opts.cc" +#line 169 "../src/conf/parse_opts.re" + { goto opt; } +#line 2516 "src/conf/parse_opts.cc" yy620: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy640; + if (yych == 'i') goto yy644; goto yy277; yy621: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 't') goto yy645; + goto yy277; +yy622: ++YYCURSOR; -#line 172 "../src/conf/parse_opts.re" +#line 164 "../src/conf/parse_opts.re" + { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } +#line 2529 "src/conf/parse_opts.cc" +yy624: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'i') goto yy646; + goto yy277; +yy625: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy647; + goto yy277; +yy626: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy649; + goto yy277; +yy627: + ++YYCURSOR; +#line 147 "../src/conf/parse_opts.re" + { opts.set_dFlag (true); goto opt; } +#line 2546 "src/conf/parse_opts.cc" +yy629: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'i') goto yy650; + goto yy277; +yy630: + ++YYCURSOR; +#line 173 "../src/conf/parse_opts.re" { globopts.dump_dfa_det = true; goto opt; } -#line 2518 "src/conf/parse_opts.cc" -yy623: +#line 2555 "src/conf/parse_opts.cc" +yy632: ++YYCURSOR; -#line 174 "../src/conf/parse_opts.re" +#line 175 "../src/conf/parse_opts.re" { globopts.dump_dfa_min = true; goto opt; } -#line 2523 "src/conf/parse_opts.cc" -yy625: +#line 2560 "src/conf/parse_opts.cc" +yy634: ++YYCURSOR; -#line 171 "../src/conf/parse_opts.re" +#line 172 "../src/conf/parse_opts.re" { globopts.dump_dfa_raw = true; goto opt; } -#line 2528 "src/conf/parse_opts.cc" -yy627: +#line 2565 "src/conf/parse_opts.cc" +yy636: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy641; + if (yych == 'p') goto yy651; goto yy277; -yy628: +yy637: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy642; + if (yych == 'c') goto yy652; goto yy277; -yy629: +yy638: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy643; + if (yych <= 0x00) goto yy653; goto yy277; -yy630: +yy639: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy645; + if (yych == '-') goto yy655; goto yy277; -yy631: +yy640: ++YYCURSOR; #line 155 "../src/conf/parse_opts.re" { opts.set_lookahead(false); goto opt; } -#line 2549 "src/conf/parse_opts.cc" -yy633: +#line 2586 "src/conf/parse_opts.cc" +yy642: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy646; + if (yych == 'a') goto yy656; goto yy277; -yy634: +yy643: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy647; + if (yych == 's') goto yy657; goto yy277; -yy635: +yy644: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy648; + if (yych == 'o') goto yy658; goto yy277; -yy636: +yy645: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'v') goto yy649; + if (yych == 'e') goto yy659; goto yy277; -yy637: +yy646: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'v') goto yy660; + goto yy277; +yy647: ++YYCURSOR; #line 152 "../src/conf/parse_opts.re" { opts.set_bCaseInverted (true); goto opt; } -#line 2570 "src/conf/parse_opts.cc" -yy639: +#line 2611 "src/conf/parse_opts.cc" +yy649: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy650; + if (yych <= 0x00) goto yy661; goto yy277; -yy640: +yy650: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy652; + if (yych == 'o') goto yy663; goto yy277; -yy641: +yy651: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy653; + if (yych == 't') goto yy664; goto yy277; -yy642: +yy652: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy654; + if (yych == 'y') goto yy665; goto yy277; -yy643: +yy653: ++YYCURSOR; #line 149 "../src/conf/parse_opts.re" { opts.set_iFlag (true); goto opt; } -#line 2591 "src/conf/parse_opts.cc" -yy645: +#line 2632 "src/conf/parse_opts.cc" +yy655: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'd') goto yy655; + if (yych == 'd') goto yy666; goto yy277; -yy646: +yy656: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy656; + if (yych == 'g') goto yy667; goto yy277; -yy647: +yy657: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy658; + if (yych <= 0x00) goto yy668; goto yy277; -yy648: +yy658: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy659; + if (yych == 'n') goto yy670; goto yy277; -yy649: +yy659: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy661; + if (yych <= 0x00) goto yy671; goto yy277; -yy650: +yy660: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 'e') goto yy673; + goto yy277; +yy661: ++YYCURSOR; #line 148 "../src/conf/parse_opts.re" { opts.set_gFlag (true); goto opt; } -#line 2616 "src/conf/parse_opts.cc" -yy652: +#line 2661 "src/conf/parse_opts.cc" +yy663: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy662; + if (yych == 'n') goto yy674; goto yy277; -yy653: +yy664: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy663; + if (yych <= 0x00) goto yy675; goto yy277; -yy654: +yy665: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy665; + if (yych <= 0x00) goto yy677; goto yy277; -yy655: +yy666: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy667; + if (yych == 'a') goto yy679; goto yy277; -yy656: +yy667: + yych = (YYCTYPE)*++YYCURSOR; + if (yych == 's') goto yy680; + goto yy277; +yy668: ++YYCURSOR; #line 154 "../src/conf/parse_opts.re" { opts.set_posix_captures(true); goto opt; } -#line 2637 "src/conf/parse_opts.cc" -yy658: +#line 2686 "src/conf/parse_opts.cc" +yy670: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy668; + if (yych == 's') goto yy681; goto yy277; -yy659: +yy671: ++YYCURSOR; #line 139 "../src/conf/parse_opts.re" { globopts.fFlag = true; goto opt; } -#line 2646 "src/conf/parse_opts.cc" -yy661: +#line 2695 "src/conf/parse_opts.cc" +yy673: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy669; + if (yych <= 0x00) goto yy682; goto yy277; -yy662: +yy674: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy671; + if (yych <= 0x00) goto yy684; goto yy277; -yy663: +yy675: ++YYCURSOR; -#line 173 "../src/conf/parse_opts.re" +#line 174 "../src/conf/parse_opts.re" { globopts.dump_dfa_tagopt = true; goto opt; } -#line 2659 "src/conf/parse_opts.cc" -yy665: +#line 2708 "src/conf/parse_opts.cc" +yy677: ++YYCURSOR; -#line 164 "../src/conf/parse_opts.re" +#line 165 "../src/conf/parse_opts.re" { goto opt_encoding_policy; } -#line 2664 "src/conf/parse_opts.cc" -yy667: +#line 2713 "src/conf/parse_opts.cc" +yy679: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy673; + if (yych == 't') goto yy686; goto yy277; -yy668: +yy680: + yych = (YYCTYPE)*++YYCURSOR; + if (yych <= 0x00) goto yy687; + goto yy277; +yy681: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy674; + if (yych <= 0x00) goto yy689; goto yy277; -yy669: +yy682: ++YYCURSOR; #line 151 "../src/conf/parse_opts.re" { opts.set_bCaseInsensitive (true); goto opt; } -#line 2677 "src/conf/parse_opts.cc" -yy671: +#line 2730 "src/conf/parse_opts.cc" +yy684: ++YYCURSOR; -#line 167 "../src/conf/parse_opts.re" +#line 168 "../src/conf/parse_opts.re" { goto opt_dfa_minimization; } -#line 2682 "src/conf/parse_opts.cc" -yy673: +#line 2735 "src/conf/parse_opts.cc" +yy686: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy676; + if (yych == 'e') goto yy691; goto yy277; -yy674: +yy687: + ++YYCURSOR; +#line 156 "../src/conf/parse_opts.re" + { opts.set_optimize_tags(false); goto opt; } +#line 2744 "src/conf/parse_opts.cc" +yy689: ++YYCURSOR; #line 137 "../src/conf/parse_opts.re" { globopts.cFlag = true; goto opt; } -#line 2691 "src/conf/parse_opts.cc" -yy676: +#line 2749 "src/conf/parse_opts.cc" +yy691: yych = (YYCTYPE)*++YYCURSOR; if (yych >= 0x01) goto yy277; ++YYCURSOR; #line 142 "../src/conf/parse_opts.re" { globopts.bNoGenerationDate = true; goto opt; } -#line 2698 "src/conf/parse_opts.cc" +#line 2756 "src/conf/parse_opts.cc" } -#line 176 "../src/conf/parse_opts.re" +#line 177 "../src/conf/parse_opts.re" opt_output: -#line 2705 "src/conf/parse_opts.cc" +#line 2763 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2739,32 +2797,32 @@ opt_output: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy681; - if (yych != '-') goto yy683; -yy681: + if (yych <= 0x00) goto yy696; + if (yych != '-') goto yy698; +yy696: ++YYCURSOR; -#line 181 "../src/conf/parse_opts.re" +#line 182 "../src/conf/parse_opts.re" { error ("bad argument to option -o, --output: %s", *argv); return EXIT_FAIL; } -#line 2752 "src/conf/parse_opts.cc" -yy683: +#line 2810 "src/conf/parse_opts.cc" +yy698: yych = (YYCTYPE)*++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy683; + goto yy698; } ++YYCURSOR; -#line 185 "../src/conf/parse_opts.re" +#line 186 "../src/conf/parse_opts.re" { globopts.output_file = *argv; goto opt; } -#line 2761 "src/conf/parse_opts.cc" +#line 2819 "src/conf/parse_opts.cc" } -#line 186 "../src/conf/parse_opts.re" +#line 187 "../src/conf/parse_opts.re" opt_header: -#line 2768 "src/conf/parse_opts.cc" +#line 2826 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2802,27 +2860,27 @@ opt_header: 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 0x00) goto yy689; - if (yych != '-') goto yy691; -yy689: + if (yych <= 0x00) goto yy704; + if (yych != '-') goto yy706; +yy704: ++YYCURSOR; -#line 191 "../src/conf/parse_opts.re" +#line 192 "../src/conf/parse_opts.re" { error ("bad argument to option -t, --type-header: %s", *argv); return EXIT_FAIL; } -#line 2815 "src/conf/parse_opts.cc" -yy691: +#line 2873 "src/conf/parse_opts.cc" +yy706: yych = (YYCTYPE)*++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy691; + goto yy706; } ++YYCURSOR; -#line 195 "../src/conf/parse_opts.re" +#line 196 "../src/conf/parse_opts.re" { globopts.header_file = *argv; goto opt; } -#line 2824 "src/conf/parse_opts.cc" +#line 2882 "src/conf/parse_opts.cc" } -#line 196 "../src/conf/parse_opts.re" +#line 197 "../src/conf/parse_opts.re" opt_encoding_policy: @@ -2832,115 +2890,115 @@ opt_encoding_policy: return EXIT_FAIL; } -#line 2836 "src/conf/parse_opts.cc" +#line 2894 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'h') { - if (yych == 'f') goto yy699; + if (yych == 'f') goto yy714; } else { - if (yych <= 'i') goto yy700; - if (yych == 's') goto yy701; + if (yych <= 'i') goto yy715; + if (yych == 's') goto yy716; } ++YYCURSOR; -yy698: -#line 206 "../src/conf/parse_opts.re" +yy713: +#line 207 "../src/conf/parse_opts.re" { error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv); return EXIT_FAIL; } -#line 2853 "src/conf/parse_opts.cc" -yy699: +#line 2911 "src/conf/parse_opts.cc" +yy714: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy702; - goto yy698; -yy700: + if (yych == 'a') goto yy717; + goto yy713; +yy715: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy704; - goto yy698; -yy701: + if (yych == 'g') goto yy719; + goto yy713; +yy716: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy705; - goto yy698; -yy702: + if (yych == 'u') goto yy720; + goto yy713; +yy717: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy706; -yy703: + if (yych == 'i') goto yy721; +yy718: YYCURSOR = YYMARKER; - goto yy698; -yy704: + goto yy713; +yy719: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy707; - goto yy703; -yy705: + if (yych == 'n') goto yy722; + goto yy718; +yy720: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy708; - goto yy703; -yy706: + if (yych == 'b') goto yy723; + goto yy718; +yy721: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy709; - goto yy703; -yy707: + if (yych == 'l') goto yy724; + goto yy718; +yy722: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy710; - goto yy703; -yy708: + if (yych == 'o') goto yy725; + goto yy718; +yy723: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy711; - goto yy703; -yy709: + if (yych == 's') goto yy726; + goto yy718; +yy724: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy712; - goto yy703; -yy710: + if (yych <= 0x00) goto yy727; + goto yy718; +yy725: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy714; - goto yy703; -yy711: + if (yych == 'r') goto yy729; + goto yy718; +yy726: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy715; - goto yy703; -yy712: + if (yych == 't') goto yy730; + goto yy718; +yy727: ++YYCURSOR; -#line 212 "../src/conf/parse_opts.re" +#line 213 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; } -#line 2908 "src/conf/parse_opts.cc" -yy714: +#line 2966 "src/conf/parse_opts.cc" +yy729: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy716; - goto yy703; -yy715: + if (yych == 'e') goto yy731; + goto yy718; +yy730: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'i') goto yy717; - goto yy703; -yy716: + if (yych == 'i') goto yy732; + goto yy718; +yy731: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy718; - goto yy703; -yy717: + if (yych <= 0x00) goto yy733; + goto yy718; +yy732: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy720; - goto yy703; -yy718: + if (yych == 't') goto yy735; + goto yy718; +yy733: ++YYCURSOR; -#line 210 "../src/conf/parse_opts.re" +#line 211 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; } -#line 2929 "src/conf/parse_opts.cc" -yy720: +#line 2987 "src/conf/parse_opts.cc" +yy735: yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'u') goto yy703; + if (yych != 'u') goto yy718; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 't') goto yy703; + if (yych != 't') goto yy718; yych = (YYCTYPE)*++YYCURSOR; - if (yych != 'e') goto yy703; + if (yych != 'e') goto yy718; yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy703; + if (yych >= 0x01) goto yy718; ++YYCURSOR; -#line 211 "../src/conf/parse_opts.re" +#line 212 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; } -#line 2942 "src/conf/parse_opts.cc" +#line 3000 "src/conf/parse_opts.cc" } -#line 213 "../src/conf/parse_opts.re" +#line 214 "../src/conf/parse_opts.re" opt_input: @@ -2950,86 +3008,86 @@ opt_input: return EXIT_FAIL; } -#line 2954 "src/conf/parse_opts.cc" +#line 3012 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych <= 'b') goto yy728; - if (yych <= 'c') goto yy730; - if (yych <= 'd') goto yy731; -yy728: + if (yych <= 'b') goto yy743; + if (yych <= 'c') goto yy745; + if (yych <= 'd') goto yy746; +yy743: ++YYCURSOR; -yy729: -#line 223 "../src/conf/parse_opts.re" +yy744: +#line 224 "../src/conf/parse_opts.re" { error ("bad argument to option --input (expected: default | custom): %s", *argv); return EXIT_FAIL; } -#line 2969 "src/conf/parse_opts.cc" -yy730: +#line 3027 "src/conf/parse_opts.cc" +yy745: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy732; - goto yy729; -yy731: + if (yych == 'u') goto yy747; + goto yy744; +yy746: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy734; - goto yy729; -yy732: + if (yych == 'e') goto yy749; + goto yy744; +yy747: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 's') goto yy735; -yy733: + if (yych == 's') goto yy750; +yy748: YYCURSOR = YYMARKER; - goto yy729; -yy734: + goto yy744; +yy749: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'f') goto yy736; - goto yy733; -yy735: + if (yych == 'f') goto yy751; + goto yy748; +yy750: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy737; - goto yy733; -yy736: + if (yych == 't') goto yy752; + goto yy748; +yy751: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'a') goto yy738; - goto yy733; -yy737: + if (yych == 'a') goto yy753; + goto yy748; +yy752: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy739; - goto yy733; -yy738: + if (yych == 'o') goto yy754; + goto yy748; +yy753: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'u') goto yy740; - goto yy733; -yy739: + if (yych == 'u') goto yy755; + goto yy748; +yy754: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy741; - goto yy733; -yy740: + if (yych == 'm') goto yy756; + goto yy748; +yy755: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy742; - goto yy733; -yy741: + if (yych == 'l') goto yy757; + goto yy748; +yy756: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy743; - goto yy733; -yy742: + if (yych <= 0x00) goto yy758; + goto yy748; +yy757: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy745; - goto yy733; -yy743: + if (yych == 't') goto yy760; + goto yy748; +yy758: ++YYCURSOR; -#line 228 "../src/conf/parse_opts.re" +#line 229 "../src/conf/parse_opts.re" { opts.set_input_api(INPUT_CUSTOM); goto opt; } -#line 3024 "src/conf/parse_opts.cc" -yy745: +#line 3082 "src/conf/parse_opts.cc" +yy760: yych = (YYCTYPE)*++YYCURSOR; - if (yych >= 0x01) goto yy733; + if (yych >= 0x01) goto yy748; ++YYCURSOR; -#line 227 "../src/conf/parse_opts.re" +#line 228 "../src/conf/parse_opts.re" { opts.set_input_api(INPUT_DEFAULT); goto opt; } -#line 3031 "src/conf/parse_opts.cc" +#line 3089 "src/conf/parse_opts.cc" } -#line 229 "../src/conf/parse_opts.re" +#line 230 "../src/conf/parse_opts.re" opt_empty_class: @@ -3039,120 +3097,120 @@ opt_empty_class: return EXIT_FAIL; } -#line 3043 "src/conf/parse_opts.cc" +#line 3101 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'e') goto yy752; - if (yych == 'm') goto yy753; + if (yych == 'e') goto yy767; + if (yych == 'm') goto yy768; ++YYCURSOR; -yy751: -#line 239 "../src/conf/parse_opts.re" +yy766: +#line 240 "../src/conf/parse_opts.re" { error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv); return EXIT_FAIL; } -#line 3056 "src/conf/parse_opts.cc" -yy752: +#line 3114 "src/conf/parse_opts.cc" +yy767: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy754; - goto yy751; -yy753: + if (yych == 'r') goto yy769; + goto yy766; +yy768: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy756; - goto yy751; -yy754: + if (yych == 'a') goto yy771; + goto yy766; +yy769: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy757; -yy755: + if (yych == 'r') goto yy772; +yy770: YYCURSOR = YYMARKER; - goto yy751; -yy756: + goto yy766; +yy771: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy758; - goto yy755; -yy757: + if (yych == 't') goto yy773; + goto yy770; +yy772: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy759; - goto yy755; -yy758: + if (yych == 'o') goto yy774; + goto yy770; +yy773: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'c') goto yy760; - goto yy755; -yy759: + if (yych == 'c') goto yy775; + goto yy770; +yy774: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy761; - goto yy755; -yy760: + if (yych == 'r') goto yy776; + goto yy770; +yy775: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'h') goto yy762; - goto yy755; -yy761: + if (yych == 'h') goto yy777; + goto yy770; +yy776: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy763; - goto yy755; -yy762: + if (yych <= 0x00) goto yy778; + goto yy770; +yy777: yych = (YYCTYPE)*++YYCURSOR; - if (yych == '-') goto yy765; - goto yy755; -yy763: + if (yych == '-') goto yy780; + goto yy770; +yy778: ++YYCURSOR; -#line 245 "../src/conf/parse_opts.re" +#line 246 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; } -#line 3103 "src/conf/parse_opts.cc" -yy765: +#line 3161 "src/conf/parse_opts.cc" +yy780: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy766; - if (yych == 'n') goto yy767; - goto yy755; -yy766: + if (yych == 'e') goto yy781; + if (yych == 'n') goto yy782; + goto yy770; +yy781: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'm') goto yy768; - goto yy755; -yy767: + if (yych == 'm') goto yy783; + goto yy770; +yy782: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy769; - goto yy755; -yy768: + if (yych == 'o') goto yy784; + goto yy770; +yy783: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'p') goto yy770; - goto yy755; -yy769: + if (yych == 'p') goto yy785; + goto yy770; +yy784: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'n') goto yy771; - goto yy755; -yy770: + if (yych == 'n') goto yy786; + goto yy770; +yy785: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 't') goto yy772; - goto yy755; -yy771: + if (yych == 't') goto yy787; + goto yy770; +yy786: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy773; - goto yy755; -yy772: + if (yych == 'e') goto yy788; + goto yy770; +yy787: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'y') goto yy774; - goto yy755; -yy773: + if (yych == 'y') goto yy789; + goto yy770; +yy788: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy775; - goto yy755; -yy774: + if (yych <= 0x00) goto yy790; + goto yy770; +yy789: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy777; - goto yy755; -yy775: + if (yych <= 0x00) goto yy792; + goto yy770; +yy790: ++YYCURSOR; -#line 244 "../src/conf/parse_opts.re" +#line 245 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; } -#line 3149 "src/conf/parse_opts.cc" -yy777: +#line 3207 "src/conf/parse_opts.cc" +yy792: ++YYCURSOR; -#line 243 "../src/conf/parse_opts.re" +#line 244 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; } -#line 3154 "src/conf/parse_opts.cc" +#line 3212 "src/conf/parse_opts.cc" } -#line 246 "../src/conf/parse_opts.re" +#line 247 "../src/conf/parse_opts.re" opt_dfa_minimization: @@ -3162,74 +3220,74 @@ opt_dfa_minimization: return EXIT_FAIL; } -#line 3166 "src/conf/parse_opts.cc" +#line 3224 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; - if (yych == 'm') goto yy783; - if (yych == 't') goto yy784; + if (yych == 'm') goto yy798; + if (yych == 't') goto yy799; ++YYCURSOR; -yy782: -#line 256 "../src/conf/parse_opts.re" +yy797: +#line 257 "../src/conf/parse_opts.re" { error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv); return EXIT_FAIL; } -#line 3179 "src/conf/parse_opts.cc" -yy783: +#line 3237 "src/conf/parse_opts.cc" +yy798: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy785; - goto yy782; -yy784: + if (yych == 'o') goto yy800; + goto yy797; +yy799: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy787; - goto yy782; -yy785: + if (yych == 'a') goto yy802; + goto yy797; +yy800: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'o') goto yy788; -yy786: + if (yych == 'o') goto yy803; +yy801: YYCURSOR = YYMARKER; - goto yy782; -yy787: + goto yy797; +yy802: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'b') goto yy789; - goto yy786; -yy788: + if (yych == 'b') goto yy804; + goto yy801; +yy803: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'r') goto yy790; - goto yy786; -yy789: + if (yych == 'r') goto yy805; + goto yy801; +yy804: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'l') goto yy791; - goto yy786; -yy790: + if (yych == 'l') goto yy806; + goto yy801; +yy805: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy792; - goto yy786; -yy791: + if (yych == 'e') goto yy807; + goto yy801; +yy806: yych = (YYCTYPE)*++YYCURSOR; - if (yych == 'e') goto yy793; - goto yy786; -yy792: + if (yych == 'e') goto yy808; + goto yy801; +yy807: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy794; - goto yy786; -yy793: + if (yych <= 0x00) goto yy809; + goto yy801; +yy808: yych = (YYCTYPE)*++YYCURSOR; - if (yych <= 0x00) goto yy796; - goto yy786; -yy794: + if (yych <= 0x00) goto yy811; + goto yy801; +yy809: ++YYCURSOR; -#line 261 "../src/conf/parse_opts.re" +#line 262 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; } -#line 3226 "src/conf/parse_opts.cc" -yy796: +#line 3284 "src/conf/parse_opts.cc" +yy811: ++YYCURSOR; -#line 260 "../src/conf/parse_opts.re" +#line 261 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; } -#line 3231 "src/conf/parse_opts.cc" +#line 3289 "src/conf/parse_opts.cc" } -#line 262 "../src/conf/parse_opts.re" +#line 263 "../src/conf/parse_opts.re" end: diff --git a/re2c/src/ast/lex_conf.re b/re2c/src/ast/lex_conf.re index e2e4fa87..e8b70714 100644 --- a/re2c/src/ast/lex_conf.re +++ b/re2c/src/ast/lex_conf.re @@ -48,6 +48,7 @@ void Scanner::lex_conf(Opt &opts) "flags:case-insensitive" { opts.set_bCaseInsensitive(lex_conf_bool()); return; } "flags:case-inverted" { opts.set_bCaseInverted(lex_conf_bool()); return; } "flags:no-lookahead" { opts.set_lookahead(!lex_conf_bool()); return; } + "flags:optimize-tags" { opts.set_optimize_tags(lex_conf_bool()); return; } "flags:eager-skip" { opts.set_eager_skip(lex_conf_bool()); return; } "flags:" ("e" | "ecb") { lex_conf_enc(Enc::EBCDIC, opts); return; } diff --git a/re2c/src/compile.cc b/re2c/src/compile.cc index 3cfbeec7..c31bf4a0 100644 --- a/re2c/src/compile.cc +++ b/re2c/src/compile.cc @@ -70,9 +70,11 @@ static smart_ptr ast_to_dfa(const spec_t &spec, Output &output) insert_fallback_tags(dfa); // try to minimize the number of tag variables - optimize_tags(dfa); + if (opts->optimize_tags) optimize_tags(dfa); if (opts->dump_dfa_tagopt) dump_dfa(dfa); + freeze_tags(dfa); + minimization(dfa, opts->dfa_minimization); if (opts->dump_dfa_min) dump_dfa(dfa); diff --git a/re2c/src/conf/opt.cc b/re2c/src/conf/opt.cc index ba060709..d2da530c 100644 --- a/re2c/src/conf/opt.cc +++ b/re2c/src/conf/opt.cc @@ -56,6 +56,7 @@ void mutopt_t::fix(const conopt_t *globopts) state_set_naked = Opt::baseopt.state_set_naked; tags_prefix = Opt::baseopt.tags_prefix; tags_expression = Opt::baseopt.tags_expression; + optimize_tags = Opt::baseopt.optimize_tags; yyfilllabel = Opt::baseopt.yyfilllabel; yynext = Opt::baseopt.yynext; yyaccept = Opt::baseopt.yyaccept; @@ -140,6 +141,7 @@ void mutopt_t::fix(const conopt_t *globopts) { tags_prefix = Opt::baseopt.tags_prefix; tags_expression = Opt::baseopt.tags_expression; + optimize_tags = Opt::baseopt.optimize_tags; } if (!bFlag) { diff --git a/re2c/src/conf/opt.h b/re2c/src/conf/opt.h index 83a6b01e..e6c1fce7 100644 --- a/re2c/src/conf/opt.h +++ b/re2c/src/conf/opt.h @@ -92,6 +92,7 @@ enum target_t MUTOPT (std::string, tags_prefix, "yyt") \ MUTOPT (std::string, tags_expression, "@@") \ MUTOPT (bool, posix_captures, false) \ + MUTOPT (bool, optimize_tags, true) \ /* code generation */ \ MUTOPT (bool, sFlag, false) \ MUTOPT (bool, bFlag, false) \ diff --git a/re2c/src/conf/parse_opts.re b/re2c/src/conf/parse_opts.re index 136368d7..5f9f11f3 100644 --- a/re2c/src/conf/parse_opts.re +++ b/re2c/src/conf/parse_opts.re @@ -153,6 +153,7 @@ opt_long: "tags" end { opts.set_tags (true); goto opt; } "posix-captures" end { opts.set_posix_captures(true); goto opt; } "no-lookahead" end { opts.set_lookahead(false); goto opt; } + "no-optimize-tags" end { opts.set_optimize_tags(false); goto opt; } "eager-skip" end { opts.set_eager_skip(true); goto opt; } "ecb" end { opts.set_encoding(Enc::EBCDIC); goto opt; } "unicode" end { opts.set_encoding(Enc::UTF32); goto opt; } diff --git a/re2c/src/dfa/cfg/optimize.cc b/re2c/src/dfa/cfg/optimize.cc index a9f7378d..02f76a00 100644 --- a/re2c/src/dfa/cfg/optimize.cc +++ b/re2c/src/dfa/cfg/optimize.cc @@ -4,8 +4,6 @@ namespace re2c { -static void freeze_tags(dfa_t &dfa); - void optimize_tags(dfa_t &dfa) { tagver_t maxver = dfa.maxtagver; @@ -39,8 +37,6 @@ void optimize_tags(dfa_t &dfa) delete[] ver2new; } - - freeze_tags(dfa); } /* note [tag freezing] diff --git a/re2c/src/dfa/dfa.h b/re2c/src/dfa/dfa.h index 78e04f72..e511c398 100644 --- a/re2c/src/dfa/dfa.h +++ b/re2c/src/dfa/dfa.h @@ -79,6 +79,7 @@ void fillpoints(const dfa_t &dfa, std::vector &fill); void cutoff_dead_rules(dfa_t &dfa, size_t defrule, const std::string &cond, Warn &warn); void insert_fallback_tags(dfa_t &dfa); void optimize_tags(dfa_t &dfa); +void freeze_tags(dfa_t &dfa); } // namespace re2c -- 2.40.0