From: Ulya Trofimovich Date: Thu, 6 Apr 2017 16:45:42 +0000 (+0100) Subject: Changed generic API for tags. X-Git-Tag: 1.0~39^2~80 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bc0fde95fc30b8746126fc2f102764bef6d047a7;p=re2c Changed generic API for tags. - removed 'YYCOPYTAG', use simple assignment insted (it is hard to think of any other definition) - renamed 'YYBACKUPTAG' to 'YYTAGP' - added 'YYTAGN', 'YYTAGLISTP', 'YYTAGLISTN' - removed 're2c:tags:default' configuration --- diff --git a/re2c/bootstrap/src/ast/lex_conf.cc b/re2c/bootstrap/src/ast/lex_conf.cc index 2c15bb3b..568a7ca5 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 15:15:40 2017 */ +/* Generated by re2c 0.16 on Thu Apr 6 16:25:33 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 160 "../src/ast/lex_conf.re" +#line 159 "../src/ast/lex_conf.re" { fatal_error(cline, get_column(), "unrecognized configuration '%.*s'", @@ -351,169 +351,160 @@ yy58: goto yy4; yy59: yych = (unsigned char)*++cur; - if (yych <= 'e') { - if (yych <= 'c') goto yy4; - if (yych <= 'd') goto yy76; - goto yy77; - } else { - if (yych == 'p') goto yy78; - goto yy4; - } + if (yych == 'e') goto yy76; + if (yych == 'p') goto yy77; + goto yy4; yy60: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy79; + if (yych == 'b') goto yy78; goto yy4; yy61: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy80; + if (yych == 'h') goto yy79; goto yy4; yy62: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy81; - if (yych == 'e') goto yy82; + if (yych == 'c') goto yy80; + if (yych == 'e') goto yy81; goto yy4; yy63: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy83; + if (yych == 'l') goto yy82; goto yy4; yy64: yych = (unsigned char)*++cur; - if (yych == 't') goto yy84; + if (yych == 't') goto yy83; goto yy4; yy65: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy85; + if (yych == 'i') goto yy84; goto yy4; yy66: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy86; + if (yych == 'o') goto yy85; goto yy4; yy67: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy87; + if (yych == 'u') goto yy86; goto yy4; yy68: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy88; + if (yych == 'e') goto yy87; goto yy4; yy69: yych = (unsigned char)*++cur; - if (yych == ':') goto yy89; + if (yych == ':') goto yy88; goto yy4; yy70: yych = (unsigned char)*++cur; switch (yych) { - case '8': goto yy90; - case 'T': goto yy92; - case 'b': goto yy94; - case 'c': goto yy96; - case 'd': goto yy97; - case 'e': goto yy99; - case 'g': goto yy101; - case 'i': goto yy103; - case 'n': 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; + case '8': goto yy89; + case 'T': goto yy91; + case 'b': goto yy93; + case 'c': goto yy95; + case 'd': goto yy96; + case 'e': goto yy98; + 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; default: goto yy4; } yy71: yych = (unsigned char)*++cur; - if (yych == ':') goto yy116; + if (yych == ':') goto yy115; goto yy4; yy72: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy117; + if (yych == 'y') goto yy116; goto yy4; yy73: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy118; + if (yych == 'r') goto yy117; goto yy4; yy74: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy119; + if (yych == 'a') goto yy118; goto yy4; yy75: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy120; - if (yych == 'n') goto yy121; + if (yych == 'a') goto yy119; + if (yych == 'n') goto yy120; goto yy4; yy76: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy122; + if (yych == 'x') goto yy121; goto yy4; yy77: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy123; + if (yych == 'r') goto yy122; goto yy4; yy78: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy124; + if (yych == 'l') goto yy123; goto yy4; yy79: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy125; + if (yych == 'e') goto yy124; goto yy4; yy80: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy126; + if (yych == 'o') goto yy125; goto yy4; yy81: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy127; + if (yych == 'm') goto yy126; goto yy4; yy82: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy128; + if (yych == ':') goto yy127; goto yy4; yy83: yych = (unsigned char)*++cur; - if (yych == ':') goto yy129; + if (yych == 'h') goto yy128; goto yy4; yy84: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy130; + if (yych == 'v') goto yy129; goto yy4; yy85: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy131; + if (yych == 't') goto yy130; goto yy4; yy86: yych = (unsigned char)*++cur; - if (yych == 't') goto yy132; + if (yych == 'm') goto yy131; goto yy4; yy87: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy133; + if (yych == 'f') goto yy132; goto yy4; yy88: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy134; + if (yych == 'Y') goto yy133; goto yy4; yy89: - yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy135; - goto yy4; -yy90: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 57 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::UTF8, opts); return; } -#line 508 "src/ast/lex_conf.cc" -yy92: +#line 499 "src/ast/lex_conf.cc" +yy91: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 46 "../src/ast/lex_conf.re" { opts.set_tags(lex_conf_bool()); return; } -#line 516 "src/ast/lex_conf.cc" -yy94: +#line 507 "src/ast/lex_conf.cc" +yy93: yych = (unsigned char)*++cur; if (yych <= 'Z') { if (yych <= '/') { @@ -526,82 +517,82 @@ yy94: if (yych <= '`') { if (yych == '_') goto yy3; } else { - if (yych == 'i') goto yy136; + if (yych == 'i') goto yy134; if (yych <= 'z') goto yy3; } } -yy95: +yy94: #line 41 "../src/ast/lex_conf.re" { opts.set_bFlag(lex_conf_bool()); return; } -#line 537 "src/ast/lex_conf.cc" -yy96: +#line 528 "src/ast/lex_conf.cc" +yy95: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy137; - if (yych == 'o') goto yy138; + if (yych == 'a') goto yy135; + if (yych == 'o') goto yy136; goto yy4; -yy97: +yy96: yych = (unsigned char)*++cur; if (yych <= '^') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy98; + if (yych <= '@') goto yy97; if (yych <= 'Z') goto yy3; } } else { if (yych <= 'd') { if (yych != '`') goto yy3; } else { - if (yych <= 'e') goto yy139; - if (yych <= 'f') goto yy140; + if (yych <= 'e') goto yy137; + if (yych <= 'f') goto yy138; if (yych <= 'z') goto yy3; } } -yy98: +yy97: #line 42 "../src/ast/lex_conf.re" { opts.set_dFlag(lex_conf_bool()); return; } -#line 565 "src/ast/lex_conf.cc" -yy99: +#line 556 "src/ast/lex_conf.cc" +yy98: yych = (unsigned char)*++cur; if (yych <= '_') { if (yych <= ':') { if (yych == '-') goto yy3; if (yych >= '0') goto yy3; } else { - if (yych <= '@') goto yy100; + if (yych <= '@') goto yy99; if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } } else { if (yych <= 'c') { - if (yych <= '`') goto yy100; - if (yych <= 'a') goto yy141; + if (yych <= '`') goto yy99; + if (yych <= 'a') goto yy139; if (yych <= 'b') goto yy3; - goto yy142; + goto yy140; } else { if (yych <= 'm') { if (yych <= 'l') goto yy3; - goto yy143; + goto yy141; } else { - if (yych <= 'n') goto yy144; + if (yych <= 'n') goto yy142; if (yych <= 'z') goto yy3; } } } -yy100: +yy99: #line 53 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::EBCDIC, opts); return; } -#line 596 "src/ast/lex_conf.cc" -yy101: +#line 587 "src/ast/lex_conf.cc" +yy100: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 43 "../src/ast/lex_conf.re" { opts.set_gFlag(lex_conf_bool()); return; } -#line 604 "src/ast/lex_conf.cc" -yy103: +#line 595 "src/ast/lex_conf.cc" +yy102: yych = (unsigned char)*++cur; if (yych <= 'Z') { if (yych <= '/') { @@ -614,60 +605,60 @@ yy103: if (yych <= '`') { if (yych == '_') goto yy3; } else { - if (yych == 'n') goto yy145; + if (yych == 'n') goto yy143; if (yych <= 'z') goto yy3; } } -yy104: +yy103: #line 44 "../src/ast/lex_conf.re" { opts.set_iFlag(lex_conf_bool()); return; } -#line 625 "src/ast/lex_conf.cc" -yy105: +#line 616 "src/ast/lex_conf.cc" +yy104: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy146; - if (yych == 'o') goto yy147; + if (yych == 'e') goto yy144; + if (yych == 'o') goto yy145; goto yy4; -yy106: +yy105: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy148; + if (yych == 'o') goto yy146; goto yy4; -yy107: +yy106: 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 642 "src/ast/lex_conf.cc" -yy109: +#line 633 "src/ast/lex_conf.cc" +yy108: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy149; + if (yych == 'a') goto yy147; goto yy4; -yy110: +yy109: yych = (unsigned char)*++cur; if (yych <= '^') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy111; + if (yych <= '@') goto yy110; if (yych <= 'Z') goto yy3; } } else { if (yych <= 'n') { - if (yych == '`') goto yy111; + if (yych == '`') goto yy110; if (yych <= 'm') goto yy3; - goto yy150; + goto yy148; } else { - if (yych == 't') goto yy151; + if (yych == 't') goto yy149; if (yych <= 'z') goto yy3; } } -yy111: +yy110: #line 54 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::UTF32, opts); return; } -#line 670 "src/ast/lex_conf.cc" -yy112: +#line 661 "src/ast/lex_conf.cc" +yy111: yych = (unsigned char)*++cur; if (yych <= 'Z') { if (yych <= '/') { @@ -680,606 +671,598 @@ yy112: if (yych <= '`') { if (yych == '_') goto yy3; } else { - if (yych == 'i') goto yy152; + if (yych == 'i') goto yy150; if (yych <= 'z') goto yy3; } } -yy113: +yy112: #line 55 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::UCS2, opts); return; } -#line 691 "src/ast/lex_conf.cc" -yy114: +#line 682 "src/ast/lex_conf.cc" +yy113: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 56 "../src/ast/lex_conf.re" { lex_conf_enc(Enc::UTF16, opts); return; } -#line 699 "src/ast/lex_conf.cc" -yy116: +#line 690 "src/ast/lex_conf.cc" +yy115: yych = (unsigned char)*++cur; if (yych <= 'r') goto yy4; - if (yych <= 's') goto yy153; - if (yych <= 't') goto yy154; + if (yych <= 's') goto yy151; + if (yych <= 't') goto yy152; + goto yy4; +yy116: + yych = (unsigned char)*++cur; + if (yych == 'y') goto yy153; goto yy4; yy117: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy155; + if (yych == 'e') goto yy154; goto yy4; yy118: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy156; + if (yych == 'b') goto yy155; goto yy4; yy119: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy157; + if (yych == 'b') goto yy156; goto yy4; yy120: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy158; + if (yych == 'e') goto yy157; goto yy4; yy121: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy159; + if (yych == 'p') goto yy158; goto yy4; yy122: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy160; + if (yych == 'e') goto yy159; goto yy4; yy123: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy161; + if (yych == 'e') goto yy160; goto yy4; yy124: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy162; + if (yych == 'x') goto yy161; goto yy4; yy125: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy163; + if (yych == 'n') goto yy163; goto yy4; yy126: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy164; + if (yych == 'i') goto yy164; goto yy4; yy127: - yych = (unsigned char)*++cur; - if (yych == 'n') goto yy166; - goto yy4; -yy128: - yych = (unsigned char)*++cur; - if (yych == 'i') goto yy167; - goto yy4; -yy129: yych = (unsigned char)*++cur; if (yych <= 'd') { - if (yych == 'c') goto yy168; + if (yych == 'c') goto yy165; goto yy4; } else { - if (yych <= 'e') goto yy169; - if (yych == 'p') goto yy170; + if (yych <= 'e') goto yy166; + if (yych == 'p') goto yy167; goto yy4; } +yy128: + yych = (unsigned char)*++cur; + if (yych == 'r') goto yy168; + goto yy4; +yy129: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy169; + goto yy4; yy130: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy171; + if (yych == 'o') goto yy170; goto yy4; yy131: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy172; + if (yych == 'p') goto yy172; goto yy4; yy132: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy173; + if (yych == 'i') goto yy173; goto yy4; yy133: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy175; + if (yych == 'Y') goto yy174; goto yy4; yy134: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy176; + if (yych == 't') goto yy175; goto yy4; yy135: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy177; + if (yych == 's') goto yy176; goto yy4; yy136: yych = (unsigned char)*++cur; - if (yych == 't') goto yy178; + if (yych == 'm') goto yy177; goto yy4; yy137: yych = (unsigned char)*++cur; - if (yych == 's') goto yy179; + if (yych == 'b') goto yy178; goto yy4; yy138: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy180; + if (yych == 'a') goto yy179; goto yy4; yy139: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy181; + if (yych == 'g') goto yy180; goto yy4; yy140: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy182; + if (yych == 'b') goto yy181; goto yy4; yy141: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy183; + if (yych == 'p') goto yy182; goto yy4; yy142: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy184; + if (yych == 'c') goto yy183; goto yy4; yy143: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy185; + if (yych == 'p') goto yy184; goto yy4; yy144: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy186; + if (yych == 's') goto yy185; goto yy4; yy145: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy187; + if (yych == '-') goto yy186; goto yy4; yy146: yych = (unsigned char)*++cur; - if (yych == 's') goto yy188; + if (yych == 's') goto yy187; goto yy4; yy147: yych = (unsigned char)*++cur; - if (yych == '-') goto yy189; + if (yych == 'g') goto yy188; goto yy4; yy148: yych = (unsigned char)*++cur; - if (yych == 's') goto yy190; + if (yych == 'i') goto yy189; goto yy4; yy149: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy191; + if (yych == 'f') goto yy190; goto yy4; yy150: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy192; + if (yych == 'd') goto yy191; goto yy4; yy151: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy193; + if (yych == 't') goto yy192; goto yy4; yy152: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy194; + if (yych == 'o') goto yy193; goto yy4; yy153: yych = (unsigned char)*++cur; - if (yych == 't') goto yy195; + if (yych == 'F') goto yy194; + if (yych == 'N') goto yy195; goto yy4; yy154: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy196; + if (yych == 'f') goto yy196; goto yy4; yy155: yych = (unsigned char)*++cur; - if (yych == 'F') goto yy197; - if (yych == 'N') goto yy198; + if (yych == 'e') goto yy197; goto yy4; yy156: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy199; + if (yych == 'o') goto yy198; goto yy4; yy157: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy200; + if (yych == 'x') goto yy199; goto yy4; yy158: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy201; + if (yych == 'r') goto yy200; goto yy4; yy159: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy202; + if (yych == 'f') goto yy201; goto yy4; yy160: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy203; + if (yych == ':') goto yy202; goto yy4; yy161: - yych = (unsigned char)*++cur; - if (yych == 'r') goto yy204; - goto yy4; -yy162: - yych = (unsigned char)*++cur; - if (yych == 'f') goto yy205; - goto yy4; -yy163: - yych = (unsigned char)*++cur; - if (yych == ':') goto yy206; - goto yy4; -yy164: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 90 "../src/ast/lex_conf.re" { opts.set_yybmHexTable (lex_conf_bool()); return; } -#line 908 "src/ast/lex_conf.cc" -yy166: +#line 891 "src/ast/lex_conf.cc" +yy163: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy207; + if (yych == 'v') goto yy203; goto yy4; -yy167: +yy164: yych = (unsigned char)*++cur; - if (yych == 't') goto yy208; + if (yych == 't') goto yy204; goto yy4; -yy168: +yy165: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy210; + if (yych == 'h') goto yy206; goto yy4; -yy169: +yy166: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy211; + if (yych == 'n') goto yy207; goto yy4; -yy170: +yy167: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy212; + if (yych == 'a') goto yy208; goto yy4; -yy171: +yy168: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy213; + if (yych == 'e') goto yy209; goto yy4; -yy172: +yy169: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy214; + if (yych == 'd') goto yy210; goto yy4; -yy173: +yy170: yyaccept = 0; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { goto yy3; } - if (yych == '@') goto yy215; -yy174: + if (yych == '@') goto yy211; +yy171: #line 74 "../src/ast/lex_conf.re" { opts.set_condGoto (lex_conf_string ()); return; } -#line 947 "src/ast/lex_conf.cc" -yy175: +#line 930 "src/ast/lex_conf.cc" +yy172: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy217; + if (yych == 'r') goto yy213; goto yy4; -yy176: +yy173: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy218; + if (yych == 'x') goto yy214; goto yy4; -yy177: +yy174: yych = (unsigned char)*++cur; switch (yych) { - case 'B': goto yy220; - case 'C': goto yy221; - case 'D': goto yy222; - case 'F': goto yy223; - case 'G': goto yy224; - case 'L': goto yy225; - case 'M': goto yy226; - case 'P': goto yy227; - case 'R': goto yy228; - case 'S': goto yy229; + 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; 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; + goto yy4; yy178: yych = (unsigned char)*++cur; - if (yych == '-') goto yy230; + if (yych == 'u') goto yy230; goto yy4; yy179: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy231; + if (yych == '-') goto yy231; goto yy4; yy180: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy232; + if (yych == 'e') goto yy232; goto yy4; yy181: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy233; - goto yy4; + if (yybm[0+yych] & 32) { + goto yy3; + } + goto yy99; yy182: yych = (unsigned char)*++cur; - if (yych == '-') goto yy234; + if (yych == 't') goto yy233; goto yy4; yy183: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy235; + if (yych == 'o') goto yy234; goto yy4; yy184: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } - goto yy100; + if (yych == 'u') goto yy235; + goto yy4; yy185: yych = (unsigned char)*++cur; if (yych == 't') goto yy236; goto yy4; yy186: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy237; + if (yych == 'd') goto yy237; + if (yych == 'l') goto yy238; goto yy4; yy187: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy238; + if (yych == 'i') goto yy239; goto yy4; yy188: yych = (unsigned char)*++cur; - if (yych == 't') goto yy239; + if (yych == 's') goto yy91; goto yy4; yy189: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy240; - if (yych == 'l') goto yy241; + if (yych == 'c') goto yy240; goto yy4; yy190: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy242; + if (yych == '-') goto yy241; goto yy4; yy191: yych = (unsigned char)*++cur; - if (yych == 's') goto yy92; + if (yych == 'e') goto yy242; goto yy4; yy192: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy243; + if (yych == 'r') goto yy243; goto yy4; yy193: yych = (unsigned char)*++cur; - if (yych == '-') goto yy244; + if (yych == 'p') goto yy244; goto yy4; yy194: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy245; + if (yych == 'i') goto yy246; goto yy4; yy195: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy246; + if (yych == 'e') goto yy247; goto yy4; yy196: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy247; + if (yych == 'i') goto yy248; goto yy4; yy197: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy249; + if (yych == 'l') goto yy249; goto yy4; yy198: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy250; + if (yych == 'r') goto yy251; goto yy4; yy199: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy251; + if (yych == 't') goto yy252; goto yy4; yy200: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy252; + if (yych == 'e') goto yy253; goto yy4; yy201: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy254; + if (yych == 'i') goto yy254; goto yy4; yy202: yych = (unsigned char)*++cur; - if (yych == 't') goto yy255; + if (yych == 'y') goto yy255; goto yy4; yy203: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy256; + if (yych == 'e') goto yy256; goto yy4; yy204: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy257; - goto yy4; -yy205: - yych = (unsigned char)*++cur; - if (yych == 'i') goto yy258; - goto yy4; -yy206: - yych = (unsigned char)*++cur; - if (yych == 'y') goto yy259; - goto yy4; -yy207: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy260; - goto yy4; -yy208: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 142 "../src/ast/lex_conf.re" +#line 141 "../src/ast/lex_conf.re" { opts.set_bEmitYYCh (lex_conf_bool()); return; } -#line 1101 "src/ast/lex_conf.cc" -yy210: +#line 1081 "src/ast/lex_conf.cc" +yy206: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy261; + if (yych == 'e') goto yy257; goto yy4; -yy211: +yy207: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy262; + if (yych == 'a') goto yy258; goto yy4; -yy212: +yy208: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy263; + if (yych == 'r') goto yy259; goto yy4; -yy213: +yy209: yych = (unsigned char)*++cur; - if (yych == 's') goto yy264; + if (yych == 's') goto yy260; goto yy4; -yy214: +yy210: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy265; + if (yych == 'e') goto yy261; goto yy4; -yy215: +yy211: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy266; -yy216: + if (yych == 'c') goto yy262; +yy212: cur = mar; if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy174; + goto yy171; } else { - goto yy253; + goto yy250; } } else { - goto yy323; + goto yy318; } } else { if (yyaccept <= 4) { if (yyaccept == 3) { - goto yy392; + goto yy383; } else { - goto yy598; + goto yy580; } } else { - goto yy678; + goto yy662; } } -yy217: +yy213: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy267; + if (yych == 'e') goto yy263; goto yy4; -yy218: +yy214: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 70 "../src/ast/lex_conf.re" { opts.set_condPrefix (lex_conf_string ()); return; } -#line 1159 "src/ast/lex_conf.cc" -yy220: +#line 1139 "src/ast/lex_conf.cc" +yy216: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy268; + if (yych == 'A') goto yy264; goto yy4; -yy221: +yy217: yych = (unsigned char)*++cur; if (yych <= 'S') { - if (yych == 'O') goto yy269; + if (yych == 'O') goto yy265; goto yy4; } else { - if (yych <= 'T') goto yy270; - if (yych <= 'U') goto yy271; + if (yych <= 'T') goto yy266; + if (yych <= 'U') goto yy267; 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; + goto yy4; yy222: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy272; + if (yych == 'A') goto yy273; goto yy4; yy223: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy273; + if (yych == 'E') goto yy274; goto yy4; yy224: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy274; + if (yych == 'E') goto yy275; goto yy4; yy225: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy275; - if (yych == 'I') goto yy276; + if (yych == 'E') goto yy276; + if (yych == 'K') goto yy277; goto yy4; yy226: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy277; + if (yych == 'A') goto yy278; goto yy4; yy227: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy278; - if (yych == 'U') goto yy279; + if (yych == 'v') goto yy279; goto yy4; yy228: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy280; + if (yych == '-') goto yy280; goto yy4; yy229: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy281; - if (yych == 'K') goto yy282; + if (yych == 'u') goto yy281; goto yy4; yy230: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy283; + if (yych == 'g') goto yy282; goto yy4; yy231: yych = (unsigned char)*++cur; - if (yych == '-') goto yy284; + if (yych == 'm') goto yy283; goto yy4; yy232: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy285; + if (yych == 'r') goto yy284; goto yy4; yy233: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy286; + if (yych == 'y') goto yy285; goto yy4; yy234: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy287; + if (yych == 'd') goto yy286; goto yy4; yy235: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy288; + if (yych == 't') goto yy287; goto yy4; yy236: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy289; + if (yych == 'e') goto yy289; goto yy4; yy237: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy290; + if (yych == 'e') goto yy290; goto yy4; yy238: yych = (unsigned char)*++cur; - if (yych == 't') goto yy291; + if (yych == 'o') goto yy291; goto yy4; yy239: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy293; + if (yych == 'x') goto yy292; goto yy4; yy240: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy294; + if (yych == 'o') goto yy293; goto yy4; yy241: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy295; + if (yych == '1') goto yy294; + if (yych == '8') goto yy89; goto yy4; yy242: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy296; + if (yych == '-') goto yy295; goto yy4; yy243: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy297; + if (yych == 'i') goto yy296; goto yy4; yy244: - yych = (unsigned char)*++cur; - if (yych == '1') goto yy298; - if (yych == '8') goto yy90; - goto yy4; -yy245: - yych = (unsigned char)*++cur; - if (yych == '-') goto yy299; - goto yy4; -yy246: - yych = (unsigned char)*++cur; - if (yych == 'i') goto yy300; - goto yy4; -yy247: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 127 "../src/ast/lex_conf.re" +#line 126 "../src/ast/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) @@ -1289,20 +1272,20 @@ yy247: opts.set_topIndent (static_cast (n)); return; } -#line 1293 "src/ast/lex_conf.cc" -yy249: +#line 1276 "src/ast/lex_conf.cc" +yy246: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy301; + if (yych == 'l') goto yy297; goto yy4; -yy250: +yy247: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy302; + if (yych == 'x') goto yy298; goto yy4; -yy251: +yy248: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy303; + if (yych == 'x') goto yy299; goto yy4; -yy252: +yy249: yyaccept = 1; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { @@ -1311,603 +1294,584 @@ yy252: if (yych <= 0x1F) { if (yych == '\t') { ctx = cur; - goto yy305; + goto yy301; } } else { if (yych <= ' ') { ctx = cur; - goto yy305; + goto yy301; } if (yych == '=') { ctx = cur; - goto yy307; + goto yy303; } } -yy253: -#line 155 "../src/ast/lex_conf.re" +yy250: +#line 154 "../src/ast/lex_conf.re" { opts.set_startlabel (lex_conf_string()); return; } -#line 1330 "src/ast/lex_conf.cc" +#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 == 't') goto yy309; + if (yych == 'x') goto yy309; goto yy4; yy255: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy311; + if (yych == 'y') goto yy311; goto yy4; yy256: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy312; + if (yych == 'r') goto yy312; goto yy4; yy257: yych = (unsigned char)*++cur; - if (yych == 's') goto yy313; + if (yych == 'c') goto yy313; goto yy4; yy258: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy314; + if (yych == 'b') goto yy314; goto yy4; yy259: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy316; + if (yych == 'a') goto yy315; goto yy4; yy260: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy317; + if (yych == 'h') goto yy316; goto yy4; yy261: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy318; + if (yych == 'r') goto yy317; goto yy4; yy262: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy319; - goto yy4; + if (yych == 'o') goto yy319; + goto yy212; yy263: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy320; + if (yych == 'f') goto yy320; goto yy4; yy264: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy321; + if (yych == 'C') goto yy321; goto yy4; yy265: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy322; + if (yych == 'N') goto yy322; goto yy4; yy266: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy324; - goto yy216; + if (yych <= 'W') goto yy4; + if (yych <= 'X') goto yy323; + if (yych <= 'Y') goto yy324; + goto yy4; yy267: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy325; + if (yych == 'R') goto yy325; goto yy4; yy268: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy326; + if (yych == 'B') goto yy326; goto yy4; yy269: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy327; - if (yych == 'P') goto yy328; + if (yych == 'L') goto yy327; goto yy4; yy270: yych = (unsigned char)*++cur; - if (yych <= 'W') goto yy4; - if (yych <= 'X') goto yy329; - if (yych <= 'Y') goto yy330; + if (yych == 'T') goto yy328; goto yy4; yy271: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy331; + if (yych == 'S') goto yy329; goto yy4; yy272: yych = (unsigned char)*++cur; - if (yych == 'B') goto yy332; + if (yych == 'M') goto yy330; goto yy4; yy273: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy333; + if (yych == 'R') goto yy331; goto yy4; yy274: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy334; + if (yych == 'E') goto yy332; goto yy4; yy275: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy335; + if (yych == 'S') goto yy333; goto yy4; yy276: yych = (unsigned char)*++cur; - if (yych == 'M') goto yy336; + if (yych == 'T') goto yy334; goto yy4; yy277: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy337; + if (yych == 'I') goto yy335; goto yy4; yy278: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy338; + if (yych == 'G') goto yy336; goto yy4; yy279: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy339; + if (yych == 'e') goto yy337; goto yy4; yy280: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy340; + if (yych == 'i') goto yy338; goto yy4; yy281: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy341; + if (yych == 't') goto yy339; goto yy4; yy282: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy342; + if (yych == '-') goto yy340; goto yy4; yy283: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy343; + if (yych == 'i') goto yy341; goto yy4; yy284: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy344; + if (yych == '-') goto yy342; goto yy4; yy285: yych = (unsigned char)*++cur; - if (yych == 't') goto yy345; + if (yych == '-') goto yy343; goto yy4; yy286: yych = (unsigned char)*++cur; - if (yych == '-') goto yy346; + if (yych == 'i') goto yy344; goto yy4; yy287: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy347; - goto yy4; -yy288: - yych = (unsigned char)*++cur; - if (yych == '-') goto yy348; - goto yy4; + 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" yy289: yych = (unsigned char)*++cur; - if (yych == '-') goto yy349; + if (yych == 'd') goto yy345; goto yy4; yy290: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy350; + if (yych == 'b') goto yy346; goto yy4; yy291: yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 60 "../src/ast/lex_conf.re" - { lex_conf_input(opts); return; } -#line 1489 "src/ast/lex_conf.cc" + if (yych == 'o') goto yy347; + goto yy4; +yy292: + yych = (unsigned char)*++cur; + if (yych == '-') goto yy348; + goto yy4; yy293: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy351; + if (yych == 'd') goto yy349; goto yy4; yy294: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy352; + if (yych == '6') goto yy113; goto yy4; yy295: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy353; + if (yych == 'c') goto yy350; goto yy4; yy296: yych = (unsigned char)*++cur; - if (yych == '-') goto yy354; + if (yych == 'n') goto yy351; goto yy4; yy297: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy355; + if (yych == 'l') goto yy352; goto yy4; yy298: yych = (unsigned char)*++cur; - if (yych == '6') goto yy114; + if (yych == 't') goto yy353; goto yy4; yy299: - yych = (unsigned char)*++cur; - if (yych == 'c') goto yy356; - goto yy4; -yy300: - yych = (unsigned char)*++cur; - if (yych == 'n') goto yy357; - goto yy4; -yy301: - yych = (unsigned char)*++cur; - if (yych == 'l') goto yy358; - goto yy4; -yy302: - yych = (unsigned char)*++cur; - if (yych == 't') goto yy359; - goto yy4; -yy303: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 151 "../src/ast/lex_conf.re" +#line 150 "../src/ast/lex_conf.re" { opts.set_labelPrefix (lex_conf_string ()); return; } -#line 1537 "src/ast/lex_conf.cc" -yy305: +#line 1515 "src/ast/lex_conf.cc" +yy301: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 64) { - goto yy305; + goto yy301; } - if (yych != '=') goto yy216; -yy307: + if (yych != '=') goto yy212; +yy303: ++cur; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy216; - goto yy307; + if (yych <= 0x08) goto yy212; + goto yy303; } else { - if (yych == ' ') goto yy307; - goto yy216; + if (yych == ' ') goto yy303; + goto yy212; } } else { if (yych <= '/') { - if (yych <= '-') goto yy361; - goto yy216; + if (yych <= '-') goto yy355; + goto yy212; } else { - if (yych <= '0') goto yy362; - if (yych <= '9') goto yy364; - goto yy216; + if (yych <= '0') goto yy356; + if (yych <= '9') goto yy358; + goto yy212; } } -yy309: +yy305: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 85 "../src/ast/lex_conf.re" { opts.set_bUseStateAbort (lex_conf_bool()); return; } -#line 1575 "src/ast/lex_conf.cc" -yy311: - yych = (unsigned char)*++cur; - if (yych == 'a') goto yy366; - goto yy4; -yy312: +#line 1553 "src/ast/lex_conf.cc" +yy307: yych = (unsigned char)*++cur; - if (yych == 't') goto yy367; + if (yych == 'a') goto yy360; goto yy4; -yy313: +yy308: yych = (unsigned char)*++cur; - if (yych == 's') goto yy369; + if (yych == 's') goto yy361; goto yy4; -yy314: +yy309: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 122 "../src/ast/lex_conf.re" +#line 121 "../src/ast/lex_conf.re" { opts.set_tags_prefix (lex_conf_string ()); return; } -#line 1595 "src/ast/lex_conf.cc" -yy316: +#line 1569 "src/ast/lex_conf.cc" +yy311: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy370; - if (yych <= 'b') goto yy371; - goto yy372; + if (yych <= 'a') goto yy362; + if (yych <= 'b') goto yy363; + goto yy364; } else { if (yych <= 'r') goto yy4; - if (yych <= 's') goto yy373; - if (yych <= 't') goto yy374; + if (yych <= 's') goto yy365; + if (yych <= 't') goto yy366; goto yy4; } -yy317: +yy312: yych = (unsigned char)*++cur; - if (yych == 's') goto yy375; + if (yych == 's') goto yy367; goto yy4; -yy318: +yy313: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy376; + if (yych == 'k') goto yy368; goto yy4; -yy319: +yy314: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy378; + if (yych == 'l') goto yy370; goto yy4; -yy320: +yy315: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy379; + if (yych == 'm') goto yy371; goto yy4; -yy321: +yy316: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy380; + if (yych == 'o') goto yy372; goto yy4; -yy322: +yy317: yyaccept = 2; yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 32) { goto yy3; } - if (yych == '@') goto yy381; -yy323: + if (yych == '@') goto yy373; +yy318: #line 72 "../src/ast/lex_conf.re" { opts.set_condDivider (lex_conf_string ()); return; } -#line 1639 "src/ast/lex_conf.cc" +#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; +yy323: + yych = (unsigned char)*++cur; + if (yych == 'M') goto yy378; + goto yy4; yy324: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy382; - goto yy216; + if (yych == 'P') goto yy379; + goto yy4; yy325: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy383; + if (yych == 'S') goto yy380; goto yy4; yy326: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy384; + if (yych == 'U') goto yy381; goto yy4; yy327: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy385; + if (yych == 'L') goto yy382; goto yy4; yy328: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy386; + if (yych == 'C') goto yy384; + if (yych == 'S') goto yy385; goto yy4; yy329: yych = (unsigned char)*++cur; - if (yych == 'M') goto yy387; + if (yych == 'S') goto yy386; goto yy4; yy330: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy388; + if (yych == 'I') goto yy387; goto yy4; yy331: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy389; + if (yych == 'K') goto yy388; goto yy4; yy332: yych = (unsigned char)*++cur; - if (yych == 'U') goto yy390; + if (yych == 'K') goto yy389; goto yy4; yy333: yych = (unsigned char)*++cur; - if (yych == 'L') goto yy391; + if (yych == 'T') goto yy391; goto yy4; yy334: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy393; - if (yych == 'S') goto yy394; + if (yych == 'C') goto yy392; + if (yych == 'S') goto yy393; goto yy4; yy335: yych = (unsigned char)*++cur; - if (yych == 'S') goto yy395; + if (yych == 'P') goto yy394; goto yy4; yy336: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy396; - goto yy4; + if (yych <= 'M') { + if (yych == 'L') goto yy396; + goto yy4; + } else { + if (yych <= 'N') goto yy397; + if (yych == 'P') goto yy399; + goto yy4; + } yy337: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy397; + if (yych == 'c') goto yy401; goto yy4; yy338: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy398; + if (yych == 'n') goto yy402; goto yy4; yy339: yych = (unsigned char)*++cur; - if (yych == 'H') goto yy400; + if (yych == 'e') goto yy403; goto yy4; yy340: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy401; + if (yych == 'o') goto yy404; goto yy4; yy341: yych = (unsigned char)*++cur; - if (yych == 'C') goto yy402; - if (yych == 'S') goto yy403; + if (yych == 'n') goto yy405; goto yy4; yy342: yych = (unsigned char)*++cur; - if (yych == 'P') goto yy404; + if (yych == 's') goto yy406; goto yy4; yy343: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy406; + if (yych == 'c') goto yy407; goto yy4; yy344: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy407; + if (yych == 'n') goto yy408; goto yy4; yy345: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy408; + if (yych == '-') goto yy409; goto yy4; yy346: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy409; + if (yych == 'u') goto yy410; goto yy4; yy347: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy410; + if (yych == 'k') goto yy411; goto yy4; yy348: yych = (unsigned char)*++cur; - if (yych == 's') goto yy411; + if (yych == 'c') goto yy412; goto yy4; yy349: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy412; + if (yych == 'e') goto yy413; goto yy4; yy350: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy413; + if (yych == 'h') goto yy414; goto yy4; yy351: yych = (unsigned char)*++cur; - if (yych == '-') goto yy414; + if (yych == 'g') goto yy415; goto yy4; yy352: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy415; + if (yych == 'L') goto yy417; goto yy4; yy353: - yych = (unsigned char)*++cur; - if (yych == 'k') goto yy416; - goto yy4; -yy354: - yych = (unsigned char)*++cur; - if (yych == 'c') goto yy417; - goto yy4; -yy355: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy418; - goto yy4; -yy356: - yych = (unsigned char)*++cur; - if (yych == 'h') goto yy419; - goto yy4; -yy357: - yych = (unsigned char)*++cur; - if (yych == 'g') goto yy420; - goto yy4; -yy358: - yych = (unsigned char)*++cur; - if (yych == 'L') goto yy422; - goto yy4; -yy359: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 84 "../src/ast/lex_conf.re" { opts.set_yynext (lex_conf_string ()); return; } -#line 1789 "src/ast/lex_conf.cc" -yy361: +#line 1765 "src/ast/lex_conf.cc" +yy355: yych = (unsigned char)*++cur; - if (yych <= '0') goto yy216; - if (yych <= '9') goto yy364; - goto yy216; -yy362: + if (yych <= '0') goto yy212; + if (yych <= '9') goto yy358; + goto yy212; +yy356: ++cur; -yy363: +yy357: cur = ctx; -#line 154 "../src/ast/lex_conf.re" +#line 153 "../src/ast/lex_conf.re" { opts.set_startlabel_force (lex_conf_bool()); return; } -#line 1801 "src/ast/lex_conf.cc" -yy364: +#line 1777 "src/ast/lex_conf.cc" +yy358: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy364; + goto yy358; } - goto yy363; -yy366: + goto yy357; +yy360: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy423; + if (yych == 'b') goto yy418; goto yy4; -yy367: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 121 "../src/ast/lex_conf.re" - { opts.set_tags_default (lex_conf_string ()); return; } -#line 1821 "src/ast/lex_conf.cc" -yy369: +yy361: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy424; + if (yych == 'i') goto yy419; goto yy4; -yy370: +yy362: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy425; + if (yych == 'c') goto yy420; goto yy4; -yy371: +yy363: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy426; + if (yych == 'm') goto yy421; goto yy4; -yy372: +yy364: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy428; - if (yych == 't') goto yy430; + if (yych == 'h') goto yy423; + if (yych == 't') goto yy425; goto yy4; -yy373: +yy365: yych = (unsigned char)*++cur; - if (yych == 't') goto yy431; + if (yych == 't') goto yy426; goto yy4; -yy374: +yy366: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy432; + if (yych == 'a') goto yy427; goto yy4; -yy375: +yy367: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy433; + if (yych == 'i') goto yy428; goto yy4; -yy376: +yy368: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 149 "../src/ast/lex_conf.re" +#line 148 "../src/ast/lex_conf.re" { opts.set_fill_check (lex_conf_bool()); return; } -#line 1858 "src/ast/lex_conf.cc" -yy378: +#line 1826 "src/ast/lex_conf.cc" +yy370: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy434; + if (yych == 'e') goto yy429; goto yy4; -yy379: +yy371: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy436; + if (yych == 'e') goto yy431; goto yy4; -yy380: +yy372: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy437; + if (yych == 'l') goto yy432; goto yy4; -yy381: - yych = (unsigned char)*++cur; - if (yych == 'c') goto yy438; - goto yy216; -yy382: +yy373: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy439; - goto yy216; -yy383: + if (yych == 'c') goto yy433; + goto yy212; +yy374: yych = (unsigned char)*++cur; - if (yych == 'x') goto yy441; - goto yy4; -yy384: + if (yych == 'd') goto yy434; + goto yy212; +yy375: yych = (unsigned char)*++cur; - if (yych == 'U') goto yy443; + if (yych == 'x') goto yy436; goto yy4; -yy385: +yy376: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy444; + if (yych == 'U') goto yy438; goto yy4; -yy386: +yy377: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy445; + if (yych == 'T') goto yy439; goto yy4; -yy387: +yy378: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy446; + if (yych == 'A') goto yy440; goto yy4; -yy388: +yy379: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy447; + if (yych == 'E') goto yy441; goto yy4; -yy389: +yy380: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy449; + if (yych == 'O') goto yy443; goto yy4; -yy390: +yy381: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy450; + if (yych == 'G') goto yy444; goto yy4; -yy391: +yy382: yyaccept = 3; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -1915,403 +1879,410 @@ yy391: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy452; + if (yych <= ':') goto yy446; } } else { if (yych <= '^') { - if (yych <= '@') goto yy453; + if (yych <= '@') goto yy447; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy392; + if (yych == '`') goto yy383; if (yych <= 'z') goto yy3; } } -yy392: -#line 144 "../src/ast/lex_conf.re" +yy383: +#line 143 "../src/ast/lex_conf.re" { opts.set_fill (lex_conf_string ()); return; } -#line 1933 "src/ast/lex_conf.cc" -yy393: +#line 1897 "src/ast/lex_conf.cc" +yy384: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy454; + if (yych == 'O') goto yy448; goto yy4; -yy394: +yy385: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy455; + if (yych == 'T') goto yy449; goto yy4; -yy395: +yy386: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy456; + if (yych == 'T') goto yy450; goto yy4; -yy396: +yy387: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy457; + if (yych == 'T') goto yy451; goto yy4; -yy397: +yy388: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy459; + if (yych == 'E') goto yy453; goto yy4; -yy398: +yy389: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 108 "../src/ast/lex_conf.re" { opts.set_yypeek (lex_conf_string ()); return; } -#line 1961 "src/ast/lex_conf.cc" -yy400: - yych = (unsigned char)*++cur; - if (yych == 'N') goto yy460; - if (yych == 'P') goto yy461; - goto yy4; -yy401: +#line 1925 "src/ast/lex_conf.cc" +yy391: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy462; + if (yych == 'O') goto yy454; goto yy4; -yy402: +yy392: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy463; + if (yych == 'O') goto yy455; goto yy4; -yy403: +yy393: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy464; + if (yych == 'T') goto yy456; goto yy4; -yy404: +yy394: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 109 "../src/ast/lex_conf.re" { opts.set_yyskip (lex_conf_string ()); return; } -#line 1986 "src/ast/lex_conf.cc" -yy406: +#line 1945 "src/ast/lex_conf.cc" +yy396: yych = (unsigned char)*++cur; - if (yych == 't') goto yy465; + if (yych == 'I') goto yy457; goto yy4; -yy407: +yy397: + yych = (unsigned char)*++cur; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 116 "../src/ast/lex_conf.re" + { opts.set_yytagn (lex_conf_string ()); return; } +#line 1957 "src/ast/lex_conf.cc" +yy399: + yych = (unsigned char)*++cur; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 117 "../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 == 's') goto yy466; - if (yych == 'v') goto yy467; + if (yych == 't') goto yy458; goto yy4; -yy408: +yy402: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy468; + if (yych == 's') goto yy459; + if (yych == 'v') goto yy460; goto yy4; -yy409: +yy403: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy469; + if (yych == 'd') goto yy461; goto yy4; -yy410: +yy404: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy470; + if (yych == 'u') goto yy462; goto yy4; -yy411: +yy405: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy471; + if (yych == 'i') goto yy463; goto yy4; -yy412: +yy406: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy472; + if (yych == 'k') goto yy464; goto yy4; -yy413: +yy407: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy473; + if (yych == 'l') goto yy465; goto yy4; -yy414: +yy408: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy474; + if (yych == 'g') goto yy466; goto yy4; -yy415: +yy409: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy475; + if (yych == 'i') goto yy467; goto yy4; -yy416: +yy410: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy476; + if (yych == 'g') goto yy468; goto yy4; -yy417: +yy411: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy477; + if (yych == 'a') goto yy469; goto yy4; -yy418: +yy412: + yych = (unsigned char)*++cur; + if (yych == 'a') goto yy470; + goto yy4; +yy413: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } - goto yy111; -yy419: + goto yy110; +yy414: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy478; + if (yych == 'a') goto yy471; goto yy4; -yy420: +yy415: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 125 "../src/ast/lex_conf.re" +#line 124 "../src/ast/lex_conf.re" { opts.set_indString (lex_conf_string ()); return; } -#line 2053 "src/ast/lex_conf.cc" -yy422: +#line 2032 "src/ast/lex_conf.cc" +yy417: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy479; + if (yych == 'a') goto yy472; goto yy4; -yy423: +yy418: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy480; + if (yych == 'e') goto yy473; goto yy4; -yy424: +yy419: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy481; + if (yych == 'o') goto yy474; goto yy4; -yy425: +yy420: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy482; + if (yych == 'c') goto yy475; goto yy4; -yy426: +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 2077 "src/ast/lex_conf.cc" -yy428: +#line 2056 "src/ast/lex_conf.cc" +yy423: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 140 "../src/ast/lex_conf.re" +#line 139 "../src/ast/lex_conf.re" { opts.set_yych (lex_conf_string ()); return; } -#line 2085 "src/ast/lex_conf.cc" -yy430: +#line 2064 "src/ast/lex_conf.cc" +yy425: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy483; + if (yych == 'a') goto yy476; goto yy4; -yy431: +yy426: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy484; + if (yych == 'a') goto yy477; goto yy4; -yy432: +yy427: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy485; + if (yych == 'r') goto yy478; goto yy4; -yy433: +yy428: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy486; + if (yych == 'o') goto yy479; goto yy4; -yy434: +yy429: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 145 "../src/ast/lex_conf.re" +#line 144 "../src/ast/lex_conf.re" { opts.set_fill_use (lex_conf_bool()); return; } -#line 2109 "src/ast/lex_conf.cc" -yy436: +#line 2088 "src/ast/lex_conf.cc" +yy431: yych = (unsigned char)*++cur; - if (yych == 't') goto yy487; + if (yych == 't') goto yy480; goto yy4; -yy437: +yy432: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy488; + if (yych == 'd') goto yy481; goto yy4; -yy438: +yy433: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy490; - goto yy216; -yy439: + if (yych == 'o') goto yy483; + goto yy212; +yy434: ++cur; #line 75 "../src/ast/lex_conf.re" { opts.set_condGotoParam (lex_conf_string ()); return; } -#line 2126 "src/ast/lex_conf.cc" -yy441: +#line 2105 "src/ast/lex_conf.cc" +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 2134 "src/ast/lex_conf.cc" -yy443: - yych = (unsigned char)*++cur; - if (yych == 'P') goto yy491; - goto yy4; -yy444: +#line 2113 "src/ast/lex_conf.cc" +yy438: yych = (unsigned char)*++cur; - if (yych == 'Y') goto yy493; + if (yych == 'P') goto yy484; goto yy4; -yy445: +yy439: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy494; + if (yych == 'Y') goto yy486; goto yy4; -yy446: +yy440: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy495; + if (yych == 'R') goto yy487; goto yy4; -yy447: +yy441: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 139 "../src/ast/lex_conf.re" +#line 138 "../src/ast/lex_conf.re" { opts.set_yyctype (lex_conf_string ()); return; } -#line 2158 "src/ast/lex_conf.cc" -yy449: +#line 2133 "src/ast/lex_conf.cc" +yy443: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy496; + if (yych == 'R') goto yy488; goto yy4; -yy450: +yy444: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 137 "../src/ast/lex_conf.re" +#line 136 "../src/ast/lex_conf.re" { opts.set_yydebug (lex_conf_string ()); return; } -#line 2170 "src/ast/lex_conf.cc" -yy452: +#line 2145 "src/ast/lex_conf.cc" +yy446: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy498; + if (yych == 'n') goto yy490; goto yy4; -yy453: +yy447: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy499; - goto yy216; -yy454: + if (yych == 'l') goto yy491; + goto yy212; +yy448: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy500; + if (yych == 'N') goto yy492; goto yy4; -yy455: +yy449: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy501; + if (yych == 'A') goto yy493; goto yy4; -yy456: +yy450: yych = (unsigned char)*++cur; - if (yych == 'H') goto yy502; + if (yych == 'H') goto yy494; goto yy4; -yy457: +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 2198 "src/ast/lex_conf.cc" +#line 2173 "src/ast/lex_conf.cc" +yy453: + yych = (unsigned char)*++cur; + if (yych == 'R') goto yy495; + goto yy4; +yy454: + yych = (unsigned char)*++cur; + if (yych == 'R') goto yy497; + goto yy4; +yy455: + yych = (unsigned char)*++cur; + if (yych == 'N') goto yy498; + goto yy4; +yy456: + yych = (unsigned char)*++cur; + if (yych == 'A') goto yy499; + goto yy4; +yy457: + yych = (unsigned char)*++cur; + if (yych == 'S') goto yy500; + goto yy4; +yy458: + yych = (unsigned char)*++cur; + if (yych == 'o') goto yy501; + goto yy4; yy459: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy503; + if (yych == 'e') goto yy502; goto yy4; yy460: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy505; + if (yych == 'e') goto yy503; goto yy4; yy461: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy506; + if (yych == '-') goto yy504; goto yy4; yy462: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy507; + if (yych == 't') goto yy505; goto yy4; yy463: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy508; + if (yych == 'm') goto yy506; goto yy4; yy464: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy509; + if (yych == 'i') goto yy507; goto yy4; yy465: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy510; + if (yych == 'a') goto yy508; goto yy4; yy466: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy511; + if (yych == '-') goto yy509; goto yy4; yy467: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy512; + if (yych == 'f') goto yy510; goto yy4; yy468: yych = (unsigned char)*++cur; - if (yych == '-') goto yy513; + if (yych == '-') goto yy511; goto yy4; yy469: yych = (unsigned char)*++cur; - if (yych == 't') goto yy514; + if (yych == 'h') goto yy512; goto yy4; yy470: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy515; + if (yych == 'p') goto yy513; goto yy4; yy471: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy516; + if (yych == 'r') goto yy514; goto yy4; yy472: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy517; + if (yych == 'b') goto yy515; goto yy4; yy473: yych = (unsigned char)*++cur; - if (yych == '-') goto yy518; + if (yych == 'l') goto yy516; goto yy4; yy474: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy519; + if (yych == 'n') goto yy518; goto yy4; yy475: yych = (unsigned char)*++cur; - if (yych == '-') goto yy520; + if (yych == 'e') goto yy520; goto yy4; yy476: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy521; + if (yych == 'b') goto yy521; goto yy4; yy477: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy522; + if (yych == 'b') goto yy522; goto yy4; yy478: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy523; + if (yych == 'g') goto yy523; goto yy4; yy479: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy524; + if (yych == 'n') goto yy524; goto yy4; yy480: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy525; + if (yych == 'e') goto yy526; goto yy4; yy481: - yych = (unsigned char)*++cur; - if (yych == 'n') goto yy527; - goto yy4; -yy482: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy529; - goto yy4; -yy483: - yych = (unsigned char)*++cur; - if (yych == 'b') goto yy530; - goto yy4; -yy484: - yych = (unsigned char)*++cur; - if (yych == 'b') goto yy531; - goto yy4; -yy485: - yych = (unsigned char)*++cur; - if (yych == 'g') goto yy532; - goto yy4; -yy486: - yych = (unsigned char)*++cur; - if (yych == 'n') goto yy533; - goto yy4; -yy487: - yych = (unsigned char)*++cur; - if (yych == 'e') goto yy535; - goto yy4; -yy488: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; @@ -2326,478 +2297,433 @@ yy488: opts.set_cGotoThreshold (static_cast (n)); return; } -#line 2330 "src/ast/lex_conf.cc" -yy490: +#line 2301 "src/ast/lex_conf.cc" +yy483: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy536; - goto yy216; -yy491: + if (yych == 'n') goto yy527; + goto yy212; +yy484: yych = (unsigned char)*++cur; - if (yych <= 'C') { + if (yych <= 'B') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy492; - if (yych <= 'B') goto yy3; - goto yy537; + if (yych >= 'A') goto yy3; } } else { if (yych <= '^') { - if (yych == 'T') goto yy538; + if (yych <= 'C') goto yy528; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy492; + if (yych == '`') goto yy485; if (yych <= 'z') goto yy3; } } -yy492: +yy485: #line 110 "../src/ast/lex_conf.re" { opts.set_yybackup (lex_conf_string ()); return; } -#line 2358 "src/ast/lex_conf.cc" -yy493: - yych = (unsigned char)*++cur; - if (yych == 'P') goto yy539; - goto yy4; -yy494: +#line 2327 "src/ast/lex_conf.cc" +yy486: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy540; + if (yych == 'P') goto yy529; goto yy4; -yy495: +yy487: yych = (unsigned char)*++cur; - if (yych == 'K') goto yy542; + if (yych == 'K') goto yy530; goto yy4; -yy496: +yy488: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 103 "../src/ast/lex_conf.re" { opts.set_yycursor (lex_conf_string ()); return; } -#line 2378 "src/ast/lex_conf.cc" -yy498: +#line 2343 "src/ast/lex_conf.cc" +yy490: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy543; + if (yych == 'a') goto yy531; goto yy4; -yy499: +yy491: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy544; - goto yy216; -yy500: + if (yych == 'e') goto yy532; + goto yy212; +yy492: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy545; + if (yych == 'D') goto yy533; goto yy4; -yy501: +yy493: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy546; + if (yych == 'T') goto yy534; goto yy4; -yy502: +yy494: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy547; + if (yych == 'A') goto yy535; goto yy4; -yy503: +yy495: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 104 "../src/ast/lex_conf.re" { opts.set_yymarker (lex_conf_string ()); return; } -#line 2406 "src/ast/lex_conf.cc" -yy505: - yych = (unsigned char)*++cur; - if (yych == 'A') goto yy548; - goto yy4; -yy506: +#line 2371 "src/ast/lex_conf.cc" +yy497: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy549; + if (yych == 'E') goto yy536; goto yy4; -yy507: +yy498: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy550; + if (yych == 'D') goto yy538; goto yy4; -yy508: +yy499: yych = (unsigned char)*++cur; - if (yych == 'D') goto yy552; + if (yych == 'T') goto yy539; goto yy4; -yy509: +yy500: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy553; + if (yych == 'T') goto yy540; goto yy4; -yy510: +yy501: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy554; + if (yych == 'r') goto yy541; goto yy4; -yy511: +yy502: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy555; + if (yych == 'n') goto yy542; goto yy4; -yy512: +yy503: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy556; + if (yych == 'r') goto yy543; goto yy4; -yy513: +yy504: yych = (unsigned char)*++cur; - if (yych == 'g') goto yy557; + if (yych == 'g') goto yy544; goto yy4; -yy514: +yy505: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy558; + if (yych == 'p') goto yy545; goto yy4; -yy515: +yy506: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy559; + if (yych == 'i') goto yy546; goto yy4; -yy516: +yy507: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy560; + if (yych == 'p') goto yy547; goto yy4; -yy517: +yy508: yych = (unsigned char)*++cur; - if (yych == 's') goto yy562; + if (yych == 's') goto yy549; goto yy4; -yy518: +yy509: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy563; + if (yych == 'p') goto yy550; goto yy4; -yy519: +yy510: yych = (unsigned char)*++cur; - if (yych == 's') goto yy107; + if (yych == 's') goto yy106; goto yy4; -yy520: +yy511: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy564; + if (yych == 'i') goto yy551; goto yy4; -yy521: +yy512: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy565; + if (yych == 'e') goto yy552; goto yy4; -yy522: +yy513: yych = (unsigned char)*++cur; - if (yych == 't') goto yy566; + if (yych == 't') goto yy553; goto yy4; -yy523: +yy514: yych = (unsigned char)*++cur; - if (yych == 's') goto yy567; + if (yych == 's') goto yy554; goto yy4; -yy524: +yy515: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy568; + if (yych == 'e') goto yy555; goto yy4; -yy525: +yy516: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 86 "../src/ast/lex_conf.re" { opts.set_bUseStateNext (lex_conf_bool()); return; } -#line 2494 "src/ast/lex_conf.cc" -yy527: +#line 2455 "src/ast/lex_conf.cc" +yy518: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 123 "../src/ast/lex_conf.re" +#line 122 "../src/ast/lex_conf.re" { opts.set_tags_expression(lex_conf_string ()); return; } -#line 2502 "src/ast/lex_conf.cc" -yy529: +#line 2463 "src/ast/lex_conf.cc" +yy520: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy569; + if (yych == 'p') goto yy556; goto yy4; -yy530: +yy521: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy570; + if (yych == 'l') goto yy557; goto yy4; -yy531: +yy522: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy571; + if (yych == 'l') goto yy558; goto yy4; -yy532: +yy523: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy572; + if (yych == 'e') goto yy559; goto yy4; -yy533: +yy524: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 141 "../src/ast/lex_conf.re" +#line 140 "../src/ast/lex_conf.re" { opts.set_yychConversion (lex_conf_bool()); return; } -#line 2526 "src/ast/lex_conf.cc" -yy535: +#line 2487 "src/ast/lex_conf.cc" +yy526: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy573; + if (yych == 'r') goto yy560; goto yy4; -yy536: - yych = (unsigned char)*++cur; - if (yych == 'd') goto yy575; - goto yy216; -yy537: - yych = (unsigned char)*++cur; - if (yych == 'T') goto yy577; - goto yy4; -yy538: +yy527: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy578; - goto yy4; -yy539: + if (yych == 'd') goto yy562; + goto yy212; +yy528: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy579; + if (yych == 'T') goto yy564; goto yy4; -yy540: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 116 "../src/ast/lex_conf.re" - { opts.set_yycopytag (lex_conf_string ()); return; } -#line 2554 "src/ast/lex_conf.cc" -yy542: +yy529: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy581; + if (yych == 'E') goto yy565; goto yy4; -yy543: +yy530: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy582; + if (yych == 'E') goto yy567; goto yy4; -yy544: - yych = (unsigned char)*++cur; - if (yych == 'n') goto yy583; - goto yy216; -yy545: +yy531: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy585; + if (yych == 'k') goto yy568; goto yy4; -yy546: +yy532: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy586; - goto yy4; -yy547: + if (yych == 'n') goto yy569; + goto yy212; +yy533: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy588; + if (yych == 'I') goto yy571; goto yy4; -yy548: +yy534: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy590; + if (yych == 'E') goto yy572; goto yy4; -yy549: +yy535: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy592; + if (yych == 'N') goto yy574; goto yy4; -yy550: +yy536: yych = (unsigned char)*++cur; if (yych <= 'C') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= ':') goto yy3; - if (yych <= '@') goto yy551; + if (yych <= '@') goto yy537; if (yych <= 'B') goto yy3; - goto yy594; + goto yy576; } } else { if (yych <= '^') { - if (yych == 'T') goto yy595; + if (yych == 'T') goto yy577; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy551; + if (yych == '`') goto yy537; if (yych <= 'z') goto yy3; } } -yy551: -#line 113 "../src/ast/lex_conf.re" +yy537: +#line 112 "../src/ast/lex_conf.re" { opts.set_yyrestore (lex_conf_string ()); return; } -#line 2610 "src/ast/lex_conf.cc" -yy552: +#line 2551 "src/ast/lex_conf.cc" +yy538: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy596; + if (yych == 'I') goto yy578; goto yy4; -yy553: +yy539: yych = (unsigned char)*++cur; - if (yych == 'E') goto yy597; + if (yych == 'E') goto yy579; goto yy4; -yy554: +yy540: yych = (unsigned char)*++cur; - if (yych == 's') goto yy599; + if (yych == 'N') goto yy581; + if (yych == 'P') goto yy583; goto yy4; -yy555: +yy541: yych = (unsigned char)*++cur; - if (yych == 's') goto yy600; + if (yych == 's') goto yy585; goto yy4; -yy556: +yy542: yych = (unsigned char)*++cur; - if (yych == 't') goto yy601; + if (yych == 's') goto yy586; goto yy4; -yy557: +yy543: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy602; + if (yych == 't') goto yy587; goto yy4; -yy558: +yy544: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy603; + if (yych == 'o') goto yy588; goto yy4; -yy559: +yy545: yych = (unsigned char)*++cur; - if (yych == 'z') goto yy604; + if (yych == 'u') goto yy589; goto yy4; -yy560: +yy546: + yych = (unsigned char)*++cur; + if (yych == 'z') goto yy590; + goto yy4; +yy547: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 51 "../src/ast/lex_conf.re" { opts.set_eager_skip(lex_conf_bool()); return; } -#line 2650 "src/ast/lex_conf.cc" -yy562: +#line 2596 "src/ast/lex_conf.cc" +yy549: yych = (unsigned char)*++cur; - if (yych == 's') goto yy605; + if (yych == 's') goto yy591; goto yy4; -yy563: +yy550: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy607; + if (yych == 'o') goto yy593; goto yy4; -yy564: +yy551: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy608; + if (yych == 'n') goto yy594; goto yy4; -yy565: +yy552: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy609; + if (yych == 'a') goto yy595; goto yy4; -yy566: +yy553: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy610; + if (yych == 'u') goto yy596; goto yy4; -yy567: +yy554: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } - goto yy113; -yy568: + goto yy112; +yy555: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy611; + if (yych == 'l') goto yy597; goto yy4; -yy569: +yy556: yych = (unsigned char)*++cur; - if (yych == 't') goto yy613; + if (yych == 't') goto yy599; goto yy4; -yy570: +yy557: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy615; + if (yych == 'e') goto yy601; goto yy4; -yy571: +yy558: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy617; + if (yych == 'e') goto yy603; goto yy4; -yy572: +yy559: yych = (unsigned char)*++cur; - if (yych == 't') goto yy619; + if (yych == 't') goto yy605; goto yy4; -yy573: +yy560: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 147 "../src/ast/lex_conf.re" +#line 146 "../src/ast/lex_conf.re" { opts.set_fill_arg_use (lex_conf_bool()); return; } -#line 2704 "src/ast/lex_conf.cc" -yy575: +#line 2650 "src/ast/lex_conf.cc" +yy562: ++cur; #line 73 "../src/ast/lex_conf.re" { opts.set_condDividerParam (lex_conf_string ()); return; } -#line 2709 "src/ast/lex_conf.cc" -yy577: - yych = (unsigned char)*++cur; - if (yych == 'X') goto yy621; - goto yy4; -yy578: +#line 2655 "src/ast/lex_conf.cc" +yy564: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy623; + if (yych == 'X') goto yy607; goto yy4; -yy579: +yy565: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 64 "../src/ast/lex_conf.re" { opts.set_yycondtype (lex_conf_string ()); return; } -#line 2725 "src/ast/lex_conf.cc" -yy581: +#line 2667 "src/ast/lex_conf.cc" +yy567: yych = (unsigned char)*++cur; - if (yych == 'R') goto yy625; + if (yych == 'R') goto yy609; goto yy4; -yy582: +yy568: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy627; + if (yych == 'e') goto yy611; goto yy4; -yy583: +yy569: ++cur; -#line 146 "../src/ast/lex_conf.re" +#line 145 "../src/ast/lex_conf.re" { opts.set_fill_arg (lex_conf_string ()); return; } -#line 2738 "src/ast/lex_conf.cc" -yy585: +#line 2680 "src/ast/lex_conf.cc" +yy571: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy628; + if (yych == 'T') goto yy612; goto yy4; -yy586: +yy572: yych = (unsigned char)*++cur; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy629; + if (yych <= ':') goto yy613; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } else { - if (yych <= '`') goto yy587; + if (yych <= '`') goto yy573; if (yych <= 'z') goto yy3; } } -yy587: +yy573: #line 78 "../src/ast/lex_conf.re" { opts.set_state_get (lex_conf_string ()); return; } -#line 2764 "src/ast/lex_conf.cc" -yy588: +#line 2706 "src/ast/lex_conf.cc" +yy574: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 119 "../src/ast/lex_conf.re" +#line 115 "../src/ast/lex_conf.re" { opts.set_yylessthan (lex_conf_string ()); return; } -#line 2772 "src/ast/lex_conf.cc" -yy590: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 117 "../src/ast/lex_conf.re" - { opts.set_yypushntag (lex_conf_string ()); return; } -#line 2780 "src/ast/lex_conf.cc" -yy592: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 118 "../src/ast/lex_conf.re" - { opts.set_yypushptag (lex_conf_string ()); return; } -#line 2788 "src/ast/lex_conf.cc" -yy594: +#line 2714 "src/ast/lex_conf.cc" +yy576: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy630; + if (yych == 'T') goto yy614; goto yy4; -yy595: +yy577: yych = (unsigned char)*++cur; - if (yych == 'A') goto yy631; + if (yych == 'A') goto yy615; goto yy4; -yy596: +yy578: yych = (unsigned char)*++cur; - if (yych == 'T') goto yy632; + if (yych == 'T') goto yy616; goto yy4; -yy597: +yy579: yyaccept = 4; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -2805,354 +2731,362 @@ yy597: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy633; + if (yych <= ':') goto yy617; } } else { if (yych <= '^') { - if (yych <= '@') goto yy634; + if (yych <= '@') goto yy618; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy598; + if (yych == '`') goto yy580; if (yych <= 'z') goto yy3; } } -yy598: +yy580: #line 80 "../src/ast/lex_conf.re" { opts.set_state_set (lex_conf_string ()); return; } -#line 2823 "src/ast/lex_conf.cc" -yy599: +#line 2749 "src/ast/lex_conf.cc" +yy581: + yych = (unsigned char)*++cur; + if (yybm[0+yych] & 32) { + goto yy3; + } +#line 118 "../src/ast/lex_conf.re" + { opts.set_yytaglistn (lex_conf_string ()); return; } +#line 2757 "src/ast/lex_conf.cc" +yy583: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } - goto yy95; -yy600: +#line 119 "../src/ast/lex_conf.re" + { opts.set_yytaglistp (lex_conf_string ()); return; } +#line 2765 "src/ast/lex_conf.cc" +yy585: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy635; + if (yybm[0+yych] & 32) { + goto yy3; + } + goto yy94; +yy586: + yych = (unsigned char)*++cur; + if (yych == 'i') goto yy619; goto yy4; -yy601: +yy587: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy636; + if (yych == 'e') goto yy620; goto yy4; -yy602: +yy588: yych = (unsigned char)*++cur; - if (yych == 't') goto yy637; + if (yych == 't') goto yy621; goto yy4; -yy603: +yy589: yych = (unsigned char)*++cur; - if (yych == 't') goto yy638; + if (yych == 't') goto yy622; goto yy4; -yy604: +yy590: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy639; + if (yych == 'a') goto yy623; goto yy4; -yy605: +yy591: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 61 "../src/ast/lex_conf.re" { lex_conf_empty_class(opts); return; } -#line 2857 "src/ast/lex_conf.cc" -yy607: +#line 2799 "src/ast/lex_conf.cc" +yy593: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy640; + if (yych == 'l') goto yy624; goto yy4; -yy608: +yy594: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy641; + if (yych == 'f') goto yy625; goto yy4; -yy609: +yy595: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy642; + if (yych == 'd') goto yy626; goto yy4; -yy610: +yy596: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy644; + if (yych == 'r') goto yy628; goto yy4; -yy611: +yy597: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 83 "../src/ast/lex_conf.re" { opts.set_yyfilllabel (lex_conf_string ()); return; } -#line 2881 "src/ast/lex_conf.cc" -yy613: +#line 2823 "src/ast/lex_conf.cc" +yy599: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 87 "../src/ast/lex_conf.re" { opts.set_yyaccept (lex_conf_string ()); return; } -#line 2889 "src/ast/lex_conf.cc" -yy615: +#line 2831 "src/ast/lex_conf.cc" +yy601: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 76 "../src/ast/lex_conf.re" { opts.set_yyctable (lex_conf_string ()); return; } -#line 2897 "src/ast/lex_conf.cc" -yy617: +#line 2839 "src/ast/lex_conf.cc" +yy603: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 158 "../src/ast/lex_conf.re" +#line 157 "../src/ast/lex_conf.re" { lex_conf_string (); return; } -#line 2905 "src/ast/lex_conf.cc" -yy619: +#line 2847 "src/ast/lex_conf.cc" +yy605: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 101 "../src/ast/lex_conf.re" { opts.set_yytarget (lex_conf_string ()); return; } -#line 2913 "src/ast/lex_conf.cc" -yy621: +#line 2855 "src/ast/lex_conf.cc" +yy607: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 111 "../src/ast/lex_conf.re" { opts.set_yybackupctx (lex_conf_string ()); return; } -#line 2921 "src/ast/lex_conf.cc" -yy623: - yych = (unsigned char)*++cur; - if (yybm[0+yych] & 32) { - goto yy3; - } -#line 112 "../src/ast/lex_conf.re" - { opts.set_yybackuptag (lex_conf_string ()); return; } -#line 2929 "src/ast/lex_conf.cc" -yy625: +#line 2863 "src/ast/lex_conf.cc" +yy609: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 105 "../src/ast/lex_conf.re" { opts.set_yyctxmarker (lex_conf_string ()); return; } -#line 2937 "src/ast/lex_conf.cc" -yy627: +#line 2871 "src/ast/lex_conf.cc" +yy611: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy645; + if (yych == 'd') goto yy629; goto yy4; -yy628: +yy612: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy647; + if (yych == 'I') goto yy631; goto yy4; -yy629: +yy613: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy648; + if (yych == 'n') goto yy632; goto yy4; -yy630: +yy614: yych = (unsigned char)*++cur; - if (yych == 'X') goto yy649; + if (yych == 'X') goto yy633; goto yy4; -yy631: +yy615: yych = (unsigned char)*++cur; - if (yych == 'G') goto yy651; + if (yych == 'G') goto yy635; goto yy4; -yy632: +yy616: yych = (unsigned char)*++cur; - if (yych == 'I') goto yy653; + if (yych == 'I') goto yy637; goto yy4; -yy633: +yy617: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy654; + if (yych == 'n') goto yy638; goto yy4; -yy634: +yy618: yych = (unsigned char)*++cur; - if (yych == 's') goto yy655; - goto yy216; -yy635: + if (yych == 's') goto yy639; + goto yy212; +yy619: yych = (unsigned char)*++cur; - if (yych == 't') goto yy656; + if (yych == 't') goto yy640; goto yy4; -yy636: +yy620: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy657; + if (yych == 'd') goto yy641; goto yy4; -yy637: +yy621: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy659; + if (yych == 'o') goto yy643; goto yy4; -yy638: +yy622: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } - goto yy98; -yy639: + goto yy97; +yy623: yych = (unsigned char)*++cur; - if (yych == 't') goto yy660; + if (yych == 't') goto yy644; goto yy4; -yy640: +yy624: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy661; + if (yych == 'i') goto yy645; goto yy4; -yy641: +yy625: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy662; + if (yych == 'o') goto yy646; goto yy4; -yy642: +yy626: 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 3007 "src/ast/lex_conf.cc" -yy644: +#line 2941 "src/ast/lex_conf.cc" +yy628: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy663; + if (yych == 'e') goto yy647; goto yy4; -yy645: +yy629: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 148 "../src/ast/lex_conf.re" +#line 147 "../src/ast/lex_conf.re" { opts.set_fill_naked (lex_conf_bool()); return; } -#line 3019 "src/ast/lex_conf.cc" -yy647: +#line 2953 "src/ast/lex_conf.cc" +yy631: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy664; + if (yych == 'O') goto yy648; goto yy4; -yy648: +yy632: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy665; + if (yych == 'a') goto yy649; goto yy4; -yy649: +yy633: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 114 "../src/ast/lex_conf.re" +#line 113 "../src/ast/lex_conf.re" { opts.set_yyrestorectx (lex_conf_string ()); return; } -#line 3035 "src/ast/lex_conf.cc" -yy651: +#line 2969 "src/ast/lex_conf.cc" +yy635: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 115 "../src/ast/lex_conf.re" +#line 114 "../src/ast/lex_conf.re" { opts.set_yyrestoretag (lex_conf_string ()); return; } -#line 3043 "src/ast/lex_conf.cc" -yy653: +#line 2977 "src/ast/lex_conf.cc" +yy637: yych = (unsigned char)*++cur; - if (yych == 'O') goto yy666; + if (yych == 'O') goto yy650; goto yy4; -yy654: +yy638: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy667; + if (yych == 'a') goto yy651; goto yy4; -yy655: +yy639: yych = (unsigned char)*++cur; - if (yych == 't') goto yy668; - goto yy216; -yy656: + if (yych == 't') goto yy652; + goto yy212; +yy640: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy669; + if (yych == 'i') goto yy653; goto yy4; -yy657: +yy641: 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 3067 "src/ast/lex_conf.cc" -yy659: +#line 3001 "src/ast/lex_conf.cc" +yy643: yych = (unsigned char)*++cur; - if (yych == 's') goto yy101; + if (yych == 's') goto yy100; goto yy4; -yy660: +yy644: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy670; + if (yych == 'i') goto yy654; goto yy4; -yy661: +yy645: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy671; + if (yych == 'c') goto yy655; goto yy4; -yy662: +yy646: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } - goto yy104; -yy663: + goto yy103; +yy647: yych = (unsigned char)*++cur; - if (yych == 's') goto yy672; + if (yych == 's') goto yy656; goto yy4; -yy664: +yy648: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy674; + if (yych == 'N') goto yy658; goto yy4; -yy665: +yy649: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy676; + if (yych == 'k') goto yy660; goto yy4; -yy666: +yy650: yych = (unsigned char)*++cur; - if (yych == 'N') goto yy677; + if (yych == 'N') goto yy661; goto yy4; -yy667: +yy651: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy679; + if (yych == 'k') goto yy663; goto yy4; -yy668: +yy652: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy680; - goto yy216; -yy669: + if (yych == 'a') goto yy664; + goto yy212; +yy653: yych = (unsigned char)*++cur; - if (yych == 'v') goto yy681; + if (yych == 'v') goto yy665; goto yy4; -yy670: +yy654: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy682; + if (yych == 'o') goto yy666; goto yy4; -yy671: +yy655: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy683; + if (yych == 'y') goto yy667; goto yy4; -yy672: +yy656: 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 3129 "src/ast/lex_conf.cc" -yy674: +#line 3063 "src/ast/lex_conf.cc" +yy658: yych = (unsigned char)*++cur; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy685; + if (yych <= ':') goto yy669; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy3; if (yych >= '_') goto yy3; } else { - if (yych <= '`') goto yy675; + if (yych <= '`') goto yy659; if (yych <= 'z') goto yy3; } } -yy675: +yy659: #line 65 "../src/ast/lex_conf.re" { opts.set_cond_get (lex_conf_string ()); return; } -#line 3151 "src/ast/lex_conf.cc" -yy676: +#line 3085 "src/ast/lex_conf.cc" +yy660: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy686; + if (yych == 'e') goto yy670; goto yy4; -yy677: +yy661: yyaccept = 5; yych = (unsigned char)*(mar = ++cur); if (yych <= '?') { @@ -3160,173 +3094,173 @@ yy677: if (yych == '-') goto yy3; } else { if (yych <= '9') goto yy3; - if (yych <= ':') goto yy687; + if (yych <= ':') goto yy671; } } else { if (yych <= '^') { - if (yych <= '@') goto yy688; + if (yych <= '@') goto yy672; if (yych <= 'Z') goto yy3; } else { - if (yych == '`') goto yy678; + if (yych == '`') goto yy662; if (yych <= 'z') goto yy3; } } -yy678: +yy662: #line 67 "../src/ast/lex_conf.re" { opts.set_cond_set (lex_conf_string ()); return; } -#line 3178 "src/ast/lex_conf.cc" -yy679: +#line 3112 "src/ast/lex_conf.cc" +yy663: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy689; + if (yych == 'e') goto yy673; goto yy4; -yy680: +yy664: yych = (unsigned char)*++cur; - if (yych == 't') goto yy690; - goto yy216; -yy681: + if (yych == 't') goto yy674; + goto yy212; +yy665: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy691; + if (yych == 'e') goto yy675; goto yy4; -yy682: +yy666: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy693; + if (yych == 'n') goto yy677; goto yy4; -yy683: +yy667: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 59 "../src/ast/lex_conf.re" { lex_conf_encoding_policy(opts); return; } -#line 3202 "src/ast/lex_conf.cc" -yy685: +#line 3136 "src/ast/lex_conf.cc" +yy669: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy695; + if (yych == 'n') goto yy679; goto yy4; -yy686: +yy670: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy696; + if (yych == 'd') goto yy680; goto yy4; -yy687: +yy671: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy698; + if (yych == 'n') goto yy682; goto yy4; -yy688: +yy672: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy699; - goto yy216; -yy689: + if (yych == 'c') goto yy683; + goto yy212; +yy673: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy700; + if (yych == 'd') goto yy684; goto yy4; -yy690: +yy674: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy702; - goto yy216; -yy691: + if (yych == 'e') goto yy686; + goto yy212; +yy675: 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 3234 "src/ast/lex_conf.cc" -yy693: +#line 3168 "src/ast/lex_conf.cc" +yy677: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 62 "../src/ast/lex_conf.re" { lex_conf_dfa_minimization(opts); return; } -#line 3242 "src/ast/lex_conf.cc" -yy695: +#line 3176 "src/ast/lex_conf.cc" +yy679: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy704; + if (yych == 'a') goto yy688; goto yy4; -yy696: +yy680: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 79 "../src/ast/lex_conf.re" { opts.set_state_get_naked (lex_conf_bool()); return; } -#line 3254 "src/ast/lex_conf.cc" -yy698: +#line 3188 "src/ast/lex_conf.cc" +yy682: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy705; + if (yych == 'a') goto yy689; goto yy4; -yy699: +yy683: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy706; - goto yy216; -yy700: + if (yych == 'o') goto yy690; + goto yy212; +yy684: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 81 "../src/ast/lex_conf.re" { opts.set_state_set_naked (lex_conf_bool()); return; } -#line 3270 "src/ast/lex_conf.cc" -yy702: +#line 3204 "src/ast/lex_conf.cc" +yy686: ++cur; #line 82 "../src/ast/lex_conf.re" { opts.set_state_set_arg (lex_conf_string ()); return; } -#line 3275 "src/ast/lex_conf.cc" -yy704: +#line 3209 "src/ast/lex_conf.cc" +yy688: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy707; + if (yych == 'k') goto yy691; goto yy4; -yy705: +yy689: yych = (unsigned char)*++cur; - if (yych == 'k') goto yy708; + if (yych == 'k') goto yy692; goto yy4; -yy706: +yy690: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy709; - goto yy216; -yy707: + if (yych == 'n') goto yy693; + goto yy212; +yy691: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy710; + if (yych == 'e') goto yy694; goto yy4; -yy708: +yy692: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy711; + if (yych == 'e') goto yy695; goto yy4; -yy709: +yy693: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy712; - goto yy216; -yy710: + if (yych == 'd') goto yy696; + goto yy212; +yy694: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy714; + if (yych == 'd') goto yy698; goto yy4; -yy711: +yy695: yych = (unsigned char)*++cur; - if (yych == 'd') goto yy716; + if (yych == 'd') goto yy700; goto yy4; -yy712: +yy696: ++cur; #line 68 "../src/ast/lex_conf.re" { opts.set_cond_set_arg (lex_conf_string ()); return; } -#line 3312 "src/ast/lex_conf.cc" -yy714: +#line 3246 "src/ast/lex_conf.cc" +yy698: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 66 "../src/ast/lex_conf.re" { opts.set_cond_get_naked (lex_conf_bool()); return; } -#line 3320 "src/ast/lex_conf.cc" -yy716: +#line 3254 "src/ast/lex_conf.cc" +yy700: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } #line 69 "../src/ast/lex_conf.re" { opts.set_cond_set_naked (lex_conf_bool()); return; } -#line 3328 "src/ast/lex_conf.cc" +#line 3262 "src/ast/lex_conf.cc" } -#line 165 "../src/ast/lex_conf.re" +#line 164 "../src/ast/lex_conf.re" } @@ -3334,102 +3268,102 @@ void Scanner::lex_conf_encoding_policy(Opt &opts) { lex_conf_assign (); -#line 3338 "src/ast/lex_conf.cc" +#line 3272 "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 yy722; + if (yych == 'f') goto yy706; } else { - if (yych <= 'i') goto yy723; - if (yych == 's') goto yy724; + if (yych <= 'i') goto yy707; + if (yych == 's') goto yy708; } ++cur; -yy721: -#line 172 "../src/ast/lex_conf.re" +yy705: +#line 171 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'ignore', 'substitute', 'fail')"); } -#line 3354 "src/ast/lex_conf.cc" -yy722: +#line 3288 "src/ast/lex_conf.cc" +yy706: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy725; - goto yy721; -yy723: + if (yych == 'a') goto yy709; + goto yy705; +yy707: yych = (unsigned char)*(mar = ++cur); - if (yych == 'g') goto yy727; - goto yy721; -yy724: + if (yych == 'g') goto yy711; + goto yy705; +yy708: yych = (unsigned char)*(mar = ++cur); - if (yych == 'u') goto yy728; - goto yy721; -yy725: + if (yych == 'u') goto yy712; + goto yy705; +yy709: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy729; -yy726: + if (yych == 'i') goto yy713; +yy710: cur = mar; - goto yy721; -yy727: + goto yy705; +yy711: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy730; - goto yy726; -yy728: + if (yych == 'n') goto yy714; + goto yy710; +yy712: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy731; - goto yy726; -yy729: + if (yych == 'b') goto yy715; + goto yy710; +yy713: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy732; - goto yy726; -yy730: + if (yych == 'l') goto yy716; + goto yy710; +yy714: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy734; - goto yy726; -yy731: + if (yych == 'o') goto yy718; + goto yy710; +yy715: yych = (unsigned char)*++cur; - if (yych == 's') goto yy735; - goto yy726; -yy732: + if (yych == 's') goto yy719; + goto yy710; +yy716: ++cur; -#line 176 "../src/ast/lex_conf.re" +#line 175 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_FAIL); goto end; } -#line 3397 "src/ast/lex_conf.cc" -yy734: +#line 3331 "src/ast/lex_conf.cc" +yy718: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy736; - goto yy726; -yy735: + if (yych == 'r') goto yy720; + goto yy710; +yy719: yych = (unsigned char)*++cur; - if (yych == 't') goto yy737; - goto yy726; -yy736: + if (yych == 't') goto yy721; + goto yy710; +yy720: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy738; - goto yy726; -yy737: + if (yych == 'e') goto yy722; + goto yy710; +yy721: yych = (unsigned char)*++cur; - if (yych == 'i') goto yy740; - goto yy726; -yy738: + if (yych == 'i') goto yy724; + goto yy710; +yy722: ++cur; -#line 174 "../src/ast/lex_conf.re" +#line 173 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_IGNORE); goto end; } -#line 3418 "src/ast/lex_conf.cc" -yy740: +#line 3352 "src/ast/lex_conf.cc" +yy724: yych = (unsigned char)*++cur; - if (yych != 't') goto yy726; + if (yych != 't') goto yy710; yych = (unsigned char)*++cur; - if (yych != 'u') goto yy726; + if (yych != 'u') goto yy710; yych = (unsigned char)*++cur; - if (yych != 't') goto yy726; + if (yych != 't') goto yy710; yych = (unsigned char)*++cur; - if (yych != 'e') goto yy726; + if (yych != 'e') goto yy710; ++cur; -#line 175 "../src/ast/lex_conf.re" +#line 174 "../src/ast/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; } -#line 3431 "src/ast/lex_conf.cc" +#line 3365 "src/ast/lex_conf.cc" } -#line 177 "../src/ast/lex_conf.re" +#line 176 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3439,77 +3373,77 @@ void Scanner::lex_conf_input(Opt &opts) { lex_conf_assign (); -#line 3443 "src/ast/lex_conf.cc" +#line 3377 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 7) fill(7); yych = (unsigned char)*cur; - if (yych <= 'b') goto yy748; - if (yych <= 'c') goto yy750; - if (yych <= 'd') goto yy751; -yy748: + if (yych <= 'b') goto yy732; + if (yych <= 'c') goto yy734; + if (yych <= 'd') goto yy735; +yy732: ++cur; -yy749: -#line 186 "../src/ast/lex_conf.re" +yy733: +#line 185 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'default', 'custom')"); } -#line 3457 "src/ast/lex_conf.cc" -yy750: +#line 3391 "src/ast/lex_conf.cc" +yy734: yych = (unsigned char)*(mar = ++cur); - if (yych == 'u') goto yy752; - goto yy749; -yy751: + if (yych == 'u') goto yy736; + goto yy733; +yy735: yych = (unsigned char)*(mar = ++cur); - if (yych == 'e') goto yy754; - goto yy749; -yy752: + if (yych == 'e') goto yy738; + goto yy733; +yy736: yych = (unsigned char)*++cur; - if (yych == 's') goto yy755; -yy753: + if (yych == 's') goto yy739; +yy737: cur = mar; - goto yy749; -yy754: + goto yy733; +yy738: yych = (unsigned char)*++cur; - if (yych == 'f') goto yy756; - goto yy753; -yy755: + if (yych == 'f') goto yy740; + goto yy737; +yy739: yych = (unsigned char)*++cur; - if (yych == 't') goto yy757; - goto yy753; -yy756: + if (yych == 't') goto yy741; + goto yy737; +yy740: yych = (unsigned char)*++cur; - if (yych == 'a') goto yy758; - goto yy753; -yy757: + if (yych == 'a') goto yy742; + goto yy737; +yy741: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy759; - goto yy753; -yy758: + if (yych == 'o') goto yy743; + goto yy737; +yy742: yych = (unsigned char)*++cur; - if (yych == 'u') goto yy760; - goto yy753; -yy759: + if (yych == 'u') goto yy744; + goto yy737; +yy743: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy761; - goto yy753; -yy760: + if (yych == 'm') goto yy745; + goto yy737; +yy744: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy763; - goto yy753; -yy761: + if (yych == 'l') goto yy747; + goto yy737; +yy745: ++cur; -#line 189 "../src/ast/lex_conf.re" +#line 188 "../src/ast/lex_conf.re" { opts.set_input_api(INPUT_CUSTOM); goto end; } -#line 3504 "src/ast/lex_conf.cc" -yy763: +#line 3438 "src/ast/lex_conf.cc" +yy747: yych = (unsigned char)*++cur; - if (yych != 't') goto yy753; + if (yych != 't') goto yy737; ++cur; -#line 188 "../src/ast/lex_conf.re" +#line 187 "../src/ast/lex_conf.re" { opts.set_input_api(INPUT_DEFAULT); goto end; } -#line 3511 "src/ast/lex_conf.cc" +#line 3445 "src/ast/lex_conf.cc" } -#line 190 "../src/ast/lex_conf.re" +#line 189 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3519,105 +3453,105 @@ void Scanner::lex_conf_empty_class(Opt &opts) { lex_conf_assign (); -#line 3523 "src/ast/lex_conf.cc" +#line 3457 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 11) fill(11); yych = (unsigned char)*cur; - if (yych == 'e') goto yy770; - if (yych == 'm') goto yy771; + if (yych == 'e') goto yy754; + if (yych == 'm') goto yy755; ++cur; -yy769: -#line 199 "../src/ast/lex_conf.re" +yy753: +#line 198 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'match-empty', 'match-none', 'error')"); } -#line 3535 "src/ast/lex_conf.cc" -yy770: +#line 3469 "src/ast/lex_conf.cc" +yy754: yych = (unsigned char)*(mar = ++cur); - if (yych == 'r') goto yy772; - goto yy769; -yy771: + if (yych == 'r') goto yy756; + goto yy753; +yy755: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy774; - goto yy769; -yy772: + if (yych == 'a') goto yy758; + goto yy753; +yy756: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy775; -yy773: + if (yych == 'r') goto yy759; +yy757: cur = mar; - goto yy769; -yy774: + goto yy753; +yy758: yych = (unsigned char)*++cur; - if (yych == 't') goto yy776; - goto yy773; -yy775: + if (yych == 't') goto yy760; + goto yy757; +yy759: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy777; - goto yy773; -yy776: + if (yych == 'o') goto yy761; + goto yy757; +yy760: yych = (unsigned char)*++cur; - if (yych == 'c') goto yy778; - goto yy773; -yy777: + if (yych == 'c') goto yy762; + goto yy757; +yy761: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy779; - goto yy773; -yy778: + if (yych == 'r') goto yy763; + goto yy757; +yy762: yych = (unsigned char)*++cur; - if (yych == 'h') goto yy781; - goto yy773; -yy779: + if (yych == 'h') goto yy765; + goto yy757; +yy763: ++cur; -#line 203 "../src/ast/lex_conf.re" +#line 202 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_ERROR); goto end; } -#line 3574 "src/ast/lex_conf.cc" -yy781: +#line 3508 "src/ast/lex_conf.cc" +yy765: yych = (unsigned char)*++cur; - if (yych != '-') goto yy773; + if (yych != '-') goto yy757; yych = (unsigned char)*++cur; - if (yych == 'e') goto yy783; - if (yych == 'n') goto yy784; - goto yy773; -yy783: + if (yych == 'e') goto yy767; + if (yych == 'n') goto yy768; + goto yy757; +yy767: yych = (unsigned char)*++cur; - if (yych == 'm') goto yy785; - goto yy773; -yy784: + if (yych == 'm') goto yy769; + goto yy757; +yy768: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy786; - goto yy773; -yy785: + if (yych == 'o') goto yy770; + goto yy757; +yy769: yych = (unsigned char)*++cur; - if (yych == 'p') goto yy787; - goto yy773; -yy786: + if (yych == 'p') goto yy771; + goto yy757; +yy770: yych = (unsigned char)*++cur; - if (yych == 'n') goto yy788; - goto yy773; -yy787: + if (yych == 'n') goto yy772; + goto yy757; +yy771: yych = (unsigned char)*++cur; - if (yych == 't') goto yy789; - goto yy773; -yy788: + if (yych == 't') goto yy773; + goto yy757; +yy772: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy790; - goto yy773; -yy789: + if (yych == 'e') goto yy774; + goto yy757; +yy773: yych = (unsigned char)*++cur; - if (yych == 'y') goto yy792; - goto yy773; -yy790: + if (yych == 'y') goto yy776; + goto yy757; +yy774: ++cur; -#line 202 "../src/ast/lex_conf.re" +#line 201 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE); goto end; } -#line 3614 "src/ast/lex_conf.cc" -yy792: +#line 3548 "src/ast/lex_conf.cc" +yy776: ++cur; -#line 201 "../src/ast/lex_conf.re" +#line 200 "../src/ast/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; } -#line 3619 "src/ast/lex_conf.cc" +#line 3553 "src/ast/lex_conf.cc" } -#line 204 "../src/ast/lex_conf.re" +#line 203 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3627,65 +3561,65 @@ void Scanner::lex_conf_dfa_minimization(Opt &opts) { lex_conf_assign (); -#line 3631 "src/ast/lex_conf.cc" +#line 3565 "src/ast/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 5) fill(5); yych = (unsigned char)*cur; - if (yych == 'm') goto yy798; - if (yych == 't') goto yy799; + if (yych == 'm') goto yy782; + if (yych == 't') goto yy783; ++cur; -yy797: -#line 213 "../src/ast/lex_conf.re" +yy781: +#line 212 "../src/ast/lex_conf.re" { fatal("bad configuration value" " (expected: 'table', 'moore')"); } -#line 3643 "src/ast/lex_conf.cc" -yy798: +#line 3577 "src/ast/lex_conf.cc" +yy782: yych = (unsigned char)*(mar = ++cur); - if (yych == 'o') goto yy800; - goto yy797; -yy799: + if (yych == 'o') goto yy784; + goto yy781; +yy783: yych = (unsigned char)*(mar = ++cur); - if (yych == 'a') goto yy802; - goto yy797; -yy800: + if (yych == 'a') goto yy786; + goto yy781; +yy784: yych = (unsigned char)*++cur; - if (yych == 'o') goto yy803; -yy801: + if (yych == 'o') goto yy787; +yy785: cur = mar; - goto yy797; -yy802: + goto yy781; +yy786: yych = (unsigned char)*++cur; - if (yych == 'b') goto yy804; - goto yy801; -yy803: + if (yych == 'b') goto yy788; + goto yy785; +yy787: yych = (unsigned char)*++cur; - if (yych == 'r') goto yy805; - goto yy801; -yy804: + if (yych == 'r') goto yy789; + goto yy785; +yy788: yych = (unsigned char)*++cur; - if (yych == 'l') goto yy806; - goto yy801; -yy805: + if (yych == 'l') goto yy790; + goto yy785; +yy789: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy807; - goto yy801; -yy806: + if (yych == 'e') goto yy791; + goto yy785; +yy790: yych = (unsigned char)*++cur; - if (yych == 'e') goto yy809; - goto yy801; -yy807: + if (yych == 'e') goto yy793; + goto yy785; +yy791: ++cur; -#line 216 "../src/ast/lex_conf.re" +#line 215 "../src/ast/lex_conf.re" { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; } -#line 3682 "src/ast/lex_conf.cc" -yy809: +#line 3616 "src/ast/lex_conf.cc" +yy793: ++cur; -#line 215 "../src/ast/lex_conf.re" +#line 214 "../src/ast/lex_conf.re" { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; } -#line 3687 "src/ast/lex_conf.cc" +#line 3621 "src/ast/lex_conf.cc" } -#line 217 "../src/ast/lex_conf.re" +#line 216 "../src/ast/lex_conf.re" end: lex_conf_semicolon(); @@ -3703,7 +3637,7 @@ void Scanner::lex_conf_enc(Enc::type_t enc, Opt &opts) void Scanner::lex_conf_assign () { -#line 3707 "src/ast/lex_conf.cc" +#line 3641 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3743,56 +3677,56 @@ void Scanner::lex_conf_assign () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy815; + if (yych == '\t') goto yy799; } else { - if (yych <= ' ') goto yy815; - if (yych == '=') goto yy816; + if (yych <= ' ') goto yy799; + if (yych == '=') goto yy800; } ++cur; -yy814: -#line 234 "../src/ast/lex_conf.re" +yy798: +#line 233 "../src/ast/lex_conf.re" { fatal ("missing '=' in configuration"); } -#line 3756 "src/ast/lex_conf.cc" -yy815: +#line 3690 "src/ast/lex_conf.cc" +yy799: yych = (unsigned char)*(mar = ++cur); if (yych <= 0x1F) { - if (yych == '\t') goto yy819; - goto yy814; + if (yych == '\t') goto yy803; + goto yy798; } else { - if (yych <= ' ') goto yy819; - if (yych != '=') goto yy814; + if (yych <= ' ') goto yy803; + if (yych != '=') goto yy798; } -yy816: +yy800: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy816; + goto yy800; } -#line 235 "../src/ast/lex_conf.re" +#line 234 "../src/ast/lex_conf.re" { return; } -#line 3775 "src/ast/lex_conf.cc" -yy819: +#line 3709 "src/ast/lex_conf.cc" +yy803: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy819; + if (yych == '\t') goto yy803; } else { - if (yych <= ' ') goto yy819; - if (yych == '=') goto yy816; + if (yych <= ' ') goto yy803; + if (yych == '=') goto yy800; } cur = mar; - goto yy814; + goto yy798; } -#line 236 "../src/ast/lex_conf.re" +#line 235 "../src/ast/lex_conf.re" } void Scanner::lex_conf_semicolon () { -#line 3796 "src/ast/lex_conf.cc" +#line 3730 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3832,39 +3766,39 @@ void Scanner::lex_conf_semicolon () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { - if (yych == '\t') goto yy826; + if (yych == '\t') goto yy810; } else { - if (yych <= ' ') goto yy826; - if (yych == ';') goto yy827; + if (yych <= ' ') goto yy810; + if (yych == ';') goto yy811; } ++cur; -yy825: -#line 242 "../src/ast/lex_conf.re" +yy809: +#line 241 "../src/ast/lex_conf.re" { fatal ("missing ending ';' in configuration"); } -#line 3845 "src/ast/lex_conf.cc" -yy826: +#line 3779 "src/ast/lex_conf.cc" +yy810: yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 128) { - goto yy829; + goto yy813; } - if (yych != ';') goto yy825; -yy827: + if (yych != ';') goto yy809; +yy811: ++cur; -#line 243 "../src/ast/lex_conf.re" +#line 242 "../src/ast/lex_conf.re" { return; } -#line 3856 "src/ast/lex_conf.cc" -yy829: +#line 3790 "src/ast/lex_conf.cc" +yy813: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy829; + goto yy813; } - if (yych == ';') goto yy827; + if (yych == ';') goto yy811; cur = mar; - goto yy825; + goto yy809; } -#line 244 "../src/ast/lex_conf.re" +#line 243 "../src/ast/lex_conf.re" } @@ -3878,7 +3812,7 @@ int32_t Scanner::lex_conf_number () lex_conf_assign (); tok = cur; -#line 3882 "src/ast/lex_conf.cc" +#line 3816 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3918,21 +3852,21 @@ int32_t Scanner::lex_conf_number () if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= '/') { - if (yych == '-') goto yy835; + if (yych == '-') goto yy819; } else { - if (yych <= '0') goto yy836; - if (yych <= '9') goto yy838; + if (yych <= '0') goto yy820; + if (yych <= '9') goto yy822; } -yy834: -yy835: +yy818: +yy819: yych = (unsigned char)*++cur; - if (yych <= '0') goto yy834; - if (yych <= '9') goto yy838; - goto yy834; -yy836: + if (yych <= '0') goto yy818; + if (yych <= '9') goto yy822; + goto yy818; +yy820: ++cur; -yy837: -#line 258 "../src/ast/lex_conf.re" +yy821: +#line 257 "../src/ast/lex_conf.re" { int32_t n = 0; if (!s_to_i32_unsafe (tok, cur, n)) @@ -3942,17 +3876,17 @@ yy837: lex_conf_semicolon (); return n; } -#line 3946 "src/ast/lex_conf.cc" -yy838: +#line 3880 "src/ast/lex_conf.cc" +yy822: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy838; + goto yy822; } - goto yy837; + goto yy821; } -#line 267 "../src/ast/lex_conf.re" +#line 266 "../src/ast/lex_conf.re" } @@ -3962,7 +3896,7 @@ std::string Scanner::lex_conf_string () std::string s; tok = cur; -#line 3966 "src/ast/lex_conf.cc" +#line 3900 "src/ast/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -4003,38 +3937,38 @@ std::string Scanner::lex_conf_string () yych = (unsigned char)*cur; if (yych <= '!') { if (yych <= '\n') { - if (yych <= 0x08) goto yy843; + if (yych <= 0x08) goto yy827; } else { - if (yych != ' ') goto yy843; + if (yych != ' ') goto yy827; } } else { if (yych <= '\'') { - if (yych <= '"') goto yy846; - if (yych <= '&') goto yy843; - goto yy846; + if (yych <= '"') goto yy830; + if (yych <= '&') goto yy827; + goto yy830; } else { - if (yych != ';') goto yy843; + if (yych != ';') goto yy827; } } -#line 294 "../src/ast/lex_conf.re" +#line 293 "../src/ast/lex_conf.re" { goto end; } -#line 4022 "src/ast/lex_conf.cc" -yy843: +#line 3956 "src/ast/lex_conf.cc" +yy827: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { - goto yy843; + goto yy827; } -#line 290 "../src/ast/lex_conf.re" +#line 289 "../src/ast/lex_conf.re" { s = std::string(tok, tok_len()); goto end; } -#line 4035 "src/ast/lex_conf.cc" -yy846: +#line 3969 "src/ast/lex_conf.cc" +yy830: ++cur; -#line 276 "../src/ast/lex_conf.re" +#line 275 "../src/ast/lex_conf.re" { const char quote = tok[0]; for (bool end;;) { @@ -4049,9 +3983,9 @@ yy846: } } } -#line 4053 "src/ast/lex_conf.cc" +#line 3987 "src/ast/lex_conf.cc" } -#line 295 "../src/ast/lex_conf.re" +#line 294 "../src/ast/lex_conf.re" end: lex_conf_semicolon (); diff --git a/re2c/src/ast/lex_conf.re b/re2c/src/ast/lex_conf.re index 4c143a8c..e2e4fa87 100644 --- a/re2c/src/ast/lex_conf.re +++ b/re2c/src/ast/lex_conf.re @@ -109,16 +109,15 @@ void Scanner::lex_conf(Opt &opts) "define:YYSKIP" { opts.set_yyskip (lex_conf_string ()); return; } "define:YYBACKUP" { opts.set_yybackup (lex_conf_string ()); return; } "define:YYBACKUPCTX" { opts.set_yybackupctx (lex_conf_string ()); return; } - "define:YYBACKUPTAG" { opts.set_yybackuptag (lex_conf_string ()); return; } "define:YYRESTORE" { opts.set_yyrestore (lex_conf_string ()); return; } "define:YYRESTORECTX" { opts.set_yyrestorectx (lex_conf_string ()); return; } "define:YYRESTORETAG" { opts.set_yyrestoretag (lex_conf_string ()); return; } - "define:YYCOPYTAG" { opts.set_yycopytag (lex_conf_string ()); return; } - "define:YYPUSHNTAG" { opts.set_yypushntag (lex_conf_string ()); return; } - "define:YYPUSHPTAG" { opts.set_yypushptag (lex_conf_string ()); return; } "define:YYLESSTHAN" { opts.set_yylessthan (lex_conf_string ()); return; } + "define:YYTAGN" { opts.set_yytagn (lex_conf_string ()); return; } + "define:YYTAGP" { opts.set_yytagp (lex_conf_string ()); return; } + "define:YYTAGLISTN" { opts.set_yytaglistn (lex_conf_string ()); return; } + "define:YYTAGLISTP" { opts.set_yytaglistp (lex_conf_string ()); return; } - "tags:default" { opts.set_tags_default (lex_conf_string ()); return; } "tags:prefix" { opts.set_tags_prefix (lex_conf_string ()); return; } "tags:expression" { opts.set_tags_expression(lex_conf_string ()); return; } diff --git a/re2c/src/code/emit_action.cc b/re2c/src/code/emit_action.cc index 08c6ddd0..49360831 100644 --- a/re2c/src/code/emit_action.cc +++ b/re2c/src/code/emit_action.cc @@ -320,9 +320,7 @@ void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *o const std::string le = vartag_expr(l, prefix, expression), re = vartag_expr(r, prefix, expression), - s = generic - ? opts->yycopytag + " (" + le + ", " + re + ");\n" - : le + " = " + re + ";\n"; + s = le + " = " + re + ";\n"; code.push_back(s); // save command; history @@ -331,12 +329,12 @@ void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *o le = vartag_expr(l, prefix, expression), he = vartag_expr(h, prefix, expression); if (l != h) { - const std::string s = opts->yycopytag + " (" + le + ", " + he + ");\n"; + const std::string s = le + " = " + he + ";\n"; code.push_back(s); } const std::string s = r == TAGVER_BOTTOM - ? opts->yypushntag + " (" + le + ");\n" - : opts->yypushptag + " (" + le + ");\n"; + ? opts->yytaglistn + " (" + le + ");\n" + : opts->yytaglistp + " (" + le + ");\n"; code.push_back(s); // save command; no history; generic API @@ -344,8 +342,8 @@ void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *o const std::string v = vartag_expr(l, prefix, expression), s = r == TAGVER_BOTTOM - ? opts->yycopytag + " (" + v + ", " + opts->tags_default + ");\n" - : opts->yybackuptag + " (" + v + ");\n"; + ? opts->yytagn + " (" + v + ");\n" + : opts->yytagp + " (" + v + ");\n"; code.push_back(s); // save command; no history; default API @@ -359,7 +357,7 @@ void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *o } } if (!s1.empty()) { - s1 += opts->tags_default + ";\n"; + s1 += "NULL;\n"; code.push_back(s1); } if (!s2.empty()) { @@ -394,19 +392,16 @@ void gen_fintags(OutputFile &o, uint32_t ind, const DFA &dfa, const Rule &rule) expr = vartag_expr(fins[t], prefix, expression); o.wind(ind); - if (generic) { - if (!trailing(tag)) { - o.wstring(opts->yycopytag).ws(" (").wstring(tagname(tag)) - .ws(", ").wstring(expr).ws(")"); - } else if (dfa.oldstyle_ctxmarker) { + if (!trailing(tag)) { + o.wstring(tagname(tag)).ws(" = ").wstring(expr); + } else if (generic) { + if (dfa.oldstyle_ctxmarker) { o.wstring(opts->yyrestorectx).ws(" ()"); } else { o.wstring(opts->yyrestoretag).ws(" (").wstring(expr).ws(")"); } } else { - if (!trailing(tag)) { - o.wstring(tagname(tag)).ws(" = ").wstring(expr); - } else if (dfa.oldstyle_ctxmarker) { + if (dfa.oldstyle_ctxmarker) { o.wstring(opts->yycursor).ws(" = ").wstring(opts->yyctxmarker); } else { o.wstring(opts->yycursor).ws(" = ").wstring(expr); @@ -431,8 +426,7 @@ void gen_fintags(OutputFile &o, uint32_t ind, const DFA &dfa, const Rule &rule) if (generic) { assert(dist == 0); if (!trailing(tag)) { - o.wstring(opts->yycopytag).ws(" (").wstring(tagname(tag)) - .ws(", ").wstring(expr).ws(")"); + o.wstring(tagname(tag)).ws(" = ").wstring(expr); } else if (!fixed_on_cursor) { assert(!dfa.oldstyle_ctxmarker); o.wstring(opts->yyrestoretag).ws(" (").wstring(expr).ws(")"); diff --git a/re2c/src/conf/opt.cc b/re2c/src/conf/opt.cc index 2297791c..ba060709 100644 --- a/re2c/src/conf/opt.cc +++ b/re2c/src/conf/opt.cc @@ -54,7 +54,6 @@ void mutopt_t::fix(const conopt_t *globopts) state_set = Opt::baseopt.state_set; state_set_arg = Opt::baseopt.state_set_arg; state_set_naked = Opt::baseopt.state_set_naked; - tags_default = Opt::baseopt.tags_default; tags_prefix = Opt::baseopt.tags_prefix; tags_expression = Opt::baseopt.tags_expression; yyfilllabel = Opt::baseopt.yyfilllabel; @@ -73,13 +72,13 @@ void mutopt_t::fix(const conopt_t *globopts) yyskip = Opt::baseopt.yyskip; yybackup = Opt::baseopt.yybackup; yybackupctx = Opt::baseopt.yybackupctx; - yybackuptag = Opt::baseopt.yybackuptag; yyrestore = Opt::baseopt.yyrestore; yyrestorectx = Opt::baseopt.yyrestorectx; yyrestoretag = Opt::baseopt.yyrestoretag; - yycopytag = Opt::baseopt.yycopytag; - yypushntag = Opt::baseopt.yypushntag; - yypushptag = Opt::baseopt.yypushptag; + yytagn = Opt::baseopt.yytagn; + yytagp = Opt::baseopt.yytagp; + yytaglistn = Opt::baseopt.yytaglistn; + yytaglistp = Opt::baseopt.yytaglistp; yylessthan = Opt::baseopt.yylessthan; dFlag = Opt::baseopt.dFlag; yydebug = Opt::baseopt.yydebug; @@ -139,7 +138,6 @@ void mutopt_t::fix(const conopt_t *globopts) } if (!tags) { - tags_default = Opt::baseopt.tags_default; tags_prefix = Opt::baseopt.tags_prefix; tags_expression = Opt::baseopt.tags_expression; } @@ -166,13 +164,13 @@ void mutopt_t::fix(const conopt_t *globopts) yyskip = Opt::baseopt.yyskip; yybackup = Opt::baseopt.yybackup; yybackupctx = Opt::baseopt.yybackupctx; - yybackuptag = Opt::baseopt.yybackuptag; yyrestore = Opt::baseopt.yyrestore; yyrestorectx = Opt::baseopt.yyrestorectx; yyrestoretag = Opt::baseopt.yyrestoretag; - yycopytag = Opt::baseopt.yycopytag; - yypushntag = Opt::baseopt.yypushntag; - yypushptag = Opt::baseopt.yypushptag; + yytagn = Opt::baseopt.yytagn; + yytagp = Opt::baseopt.yytagp; + yytaglistn = Opt::baseopt.yytaglistn; + yytaglistp = Opt::baseopt.yytaglistp; yylessthan = Opt::baseopt.yylessthan; } if (!dFlag) @@ -259,7 +257,6 @@ void Opt::reset_mapCodeName () set_state_set(Opt::baseopt.state_set); set_yybackup(Opt::baseopt.yybackup); set_yybackupctx(Opt::baseopt.yybackupctx); - set_yybackuptag(Opt::baseopt.yybackuptag); set_yycondtype(Opt::baseopt.yycondtype); set_yyctxmarker(Opt::baseopt.yyctxmarker); set_yyctype(Opt::baseopt.yyctype); @@ -272,9 +269,10 @@ void Opt::reset_mapCodeName () set_yyrestore(Opt::baseopt.yyrestore); set_yyrestorectx(Opt::baseopt.yyrestorectx); set_yyrestoretag(Opt::baseopt.yyrestoretag); - set_yycopytag(Opt::baseopt.yycopytag); - set_yypushntag(Opt::baseopt.yypushntag); - set_yypushptag(Opt::baseopt.yypushptag); + set_yytagn(Opt::baseopt.yytagn); + set_yytagp(Opt::baseopt.yytagp); + set_yytaglistn(Opt::baseopt.yytaglistn); + set_yytaglistp(Opt::baseopt.yytaglistp); set_yyskip(Opt::baseopt.yyskip); set_yyfilllabel(Opt::baseopt.yyfilllabel); set_yynext(Opt::baseopt.yynext); diff --git a/re2c/src/conf/opt.h b/re2c/src/conf/opt.h index 6a7afec9..83a6b01e 100644 --- a/re2c/src/conf/opt.h +++ b/re2c/src/conf/opt.h @@ -89,7 +89,6 @@ enum target_t MUTOPT (bool, bUseStateNext, false) \ /* tags */ \ MUTOPT (bool, tags, false) \ - MUTOPT (std::string, tags_default, "NULL") \ MUTOPT (std::string, tags_prefix, "yyt") \ MUTOPT (std::string, tags_expression, "@@") \ MUTOPT (bool, posix_captures, false) \ @@ -114,14 +113,14 @@ enum target_t MUTOPT (std::string, yyskip, "YYSKIP") \ MUTOPT (std::string, yybackup, "YYBACKUP") \ MUTOPT (std::string, yybackupctx, "YYBACKUPCTX") \ - MUTOPT (std::string, yybackuptag, "YYBACKUPTAG") \ MUTOPT (std::string, yyrestore, "YYRESTORE") \ MUTOPT (std::string, yyrestorectx, "YYRESTORECTX") \ MUTOPT (std::string, yyrestoretag, "YYRESTORETAG") \ - MUTOPT (std::string, yycopytag, "YYCOPYTAG") \ - MUTOPT (std::string, yypushntag, "YYPUSHNTAG") \ - MUTOPT (std::string, yypushptag, "YYPUSHPTAG") \ MUTOPT (std::string, yylessthan, "YYLESSTHAN") \ + MUTOPT (std::string, yytagn, "YYTAGN") \ + MUTOPT (std::string, yytagp, "YYTAGP") \ + MUTOPT (std::string, yytaglistn, "YYTAGLISTN") \ + MUTOPT (std::string, yytaglistp, "YYTAGLISTP") \ /* #line directives */ \ MUTOPT (bool, iFlag, false) \ /* debug */ \ diff --git a/re2c/src/skeleton/generate_code.cc b/re2c/src/skeleton/generate_code.cc index 23402db5..686d6704 100644 --- a/re2c/src/skeleton/generate_code.cc +++ b/re2c/src/skeleton/generate_code.cc @@ -120,9 +120,9 @@ void emit_start(OutputFile &o, size_t maxfill, const std::string &name, o.ws("\n#define YYRESTORECTX() cursor = ctxmarker"); } if (opts->tags) { - o.ws("\n#define YYBACKUPTAG(tag) tag = cursor"); + o.ws("\n#define YYTAGP(tag) tag = cursor"); + o.ws("\n#define YYTAGN(tag) tag = NULL"); o.ws("\n#define YYRESTORETAG(tag) cursor = tag"); - o.ws("\n#define YYCOPYTAG(tag1, tag2) tag1 = tag2"); } o.ws("\n#define YYLESSTHAN(n) (limit - cursor) < n"); o.ws("\n#define YYFILL(n) { break; }"); diff --git a/re2c/test/tags/ambiguity/cat3.i.c b/re2c/test/tags/ambiguity/cat3.i.c index 355f5553..bb498ed6 100644 --- a/re2c/test/tags/ambiguity/cat3.i.c +++ b/re2c/test/tags/ambiguity/cat3.i.c @@ -125,7 +125,7 @@ yy28: yych = YYPEEK (); switch (yych) { case 'a': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy29; default: goto yy27; } @@ -135,7 +135,7 @@ yy29: yych = YYPEEK (); switch (yych) { case 'a': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy29; default: goto yy31; } diff --git a/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c b/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c index ae3a5c8b..5237384b 100644 --- a/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c +++ b/re2c/test/tags/bug121_fix_multiple.i--tags--input(custom).c @@ -25,7 +25,7 @@ yy4: yych = YYPEEK (); switch (yych) { case 'b': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy5; default: goto yy3; } @@ -50,7 +50,7 @@ yy7: yych = YYPEEK (); switch (yych) { case 'b': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy9; default: goto yy8; } diff --git a/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c b/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c index a8679d68..0237a7b5 100644 --- a/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c +++ b/re2c/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c @@ -16,7 +16,7 @@ yy2: { d } yy4: yych = YYPEEK (); - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); switch (yych) { case 'b': YYSKIP (); @@ -31,7 +31,7 @@ yy6: yych = YYPEEK (); switch (yych) { case 'c': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); YYSKIP (); goto yy9; default: goto yy8; diff --git a/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c b/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c index e3750e04..86a89090 100644 --- a/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c +++ b/re2c/test/tags/bug121_var_multiple.i--tags--input(custom).c @@ -17,7 +17,7 @@ yy2: yy4: YYSKIP (); yych = YYPEEK (); - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); switch (yych) { case 'b': goto yy6; default: goto yy5; @@ -31,7 +31,7 @@ yy6: yych = YYPEEK (); switch (yych) { case 'c': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy9; default: goto yy8; } diff --git a/re2c/test/tags/conf1.i--tags--input(custom).c b/re2c/test/tags/conf1.i--tags--input(custom).c index 6780a378..91c8a860 100644 --- a/re2c/test/tags/conf1.i--tags--input(custom).c +++ b/re2c/test/tags/conf1.i--tags--input(custom).c @@ -17,9 +17,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define ZZBT(t) t = s +#define ZZTP(t) t = s +#define ZZTN(t) t = NULL #define ZZRT(t) s = t -#define ZZCT(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; const char *zz_1;const char *zz_2;const char *zz_3;const char *zz_4; @@ -37,7 +37,7 @@ static void lex(const char *s) case '7': case '8': case '9': - ZZBT (zz_1); + ZZTP (zz_1); goto yy4; default: goto yy2; } @@ -51,7 +51,7 @@ yy4: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_2); + ZZTP (zz_2); goto yy5; case '0': case '1': @@ -89,7 +89,7 @@ yy7: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_2); + ZZTP (zz_2); goto yy5; case '0': case '1': @@ -108,7 +108,7 @@ yy8: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_3); + ZZTP (zz_3); goto yy10; case '0': case '1': @@ -127,7 +127,7 @@ yy9: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_2); + ZZTP (zz_2); goto yy5; default: goto yy6; } @@ -152,7 +152,7 @@ yy11: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_3); + ZZTP (zz_3); goto yy10; case '0': case '1': @@ -171,7 +171,7 @@ yy12: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_4); + ZZTP (zz_4); goto yy14; case '0': case '1': @@ -190,7 +190,7 @@ yy13: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_3); + ZZTP (zz_3); goto yy10; default: goto yy6; } @@ -215,7 +215,7 @@ yy15: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_4); + ZZTP (zz_4); goto yy14; case '0': case '1': @@ -246,10 +246,10 @@ yy16: default: goto yy17; } yy17: - ZZCT (p0, zz_1); - ZZCT (p1, zz_2); - ZZCT (p2, zz_3); - ZZCT (p3, zz_4); + p0 = zz_1; + p1 = zz_2; + p2 = zz_3; + p3 = zz_4; { printf("%u.%u.%u.%u\n", parse_oct(p0, p1), @@ -263,7 +263,7 @@ yy18: yych = YYPEEK (); switch (yych) { case '.': - ZZBT (zz_4); + ZZTP (zz_4); goto yy14; default: goto yy6; } diff --git a/re2c/test/tags/conf1.i--tags--input(custom).re b/re2c/test/tags/conf1.i--tags--input(custom).re index a12a7f75..fe1bc273 100644 --- a/re2c/test/tags/conf1.i--tags--input(custom).re +++ b/re2c/test/tags/conf1.i--tags--input(custom).re @@ -16,9 +16,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define ZZBT(t) t = s +#define ZZTP(t) t = s +#define ZZTN(t) t = NULL #define ZZRT(t) s = t -#define ZZCT(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; /*!tags:re2c format = "const char *@@;"; */ /*!re2c @@ -43,9 +43,9 @@ static void lex(const char *s) return; } - re2c:define:YYBACKUPTAG = "ZZBT"; + re2c:define:YYTAGP = "ZZTP"; + re2c:define:YYTAGN = "ZZTN"; re2c:define:YYRESTORETAG = "ZZRT"; - re2c:define:YYCOPYTAG = "ZZCT"; re2c:tags:prefix = "zz_"; */ } diff --git a/re2c/test/tags/conf2.i--tags--input(custom).c b/re2c/test/tags/conf2.i--tags--input(custom).c index 9b6c6994..10434366 100644 --- a/re2c/test/tags/conf2.i--tags--input(custom).c +++ b/re2c/test/tags/conf2.i--tags--input(custom).c @@ -68,9 +68,9 @@ static bool lex(input_t & in) #define YYSKIP() ++in.cur #define YYBACKUP() in.mar = in.cur #define YYRESTORE() in.cur = in.mar -#define YYBACKUPTAG(t) t = in.cur +#define YYTAGP(t) t = in.cur +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) in.cur = t -#define YYCOPYTAG(t1, t2) t1 = t2 #define YYLESSTHAN(n) in.lim - in.cur < n loop: in.tok = in.cur; @@ -107,7 +107,7 @@ yy6: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt1); + YYTAGP (in.yyt1); goto yy7; case '0': case '1': @@ -145,7 +145,7 @@ yy9: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt1); + YYTAGP (in.yyt1); goto yy7; case '0': case '1': @@ -164,7 +164,7 @@ yy10: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt2); + YYTAGP (in.yyt2); goto yy12; case '0': case '1': @@ -183,7 +183,7 @@ yy11: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt1); + YYTAGP (in.yyt1); goto yy7; default: goto yy8; } @@ -208,7 +208,7 @@ yy13: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt2); + YYTAGP (in.yyt2); goto yy12; case '0': case '1': @@ -227,7 +227,7 @@ yy14: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt3); + YYTAGP (in.yyt3); goto yy16; case '0': case '1': @@ -246,7 +246,7 @@ yy15: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt2); + YYTAGP (in.yyt2); goto yy12; default: goto yy8; } @@ -271,7 +271,7 @@ yy17: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt3); + YYTAGP (in.yyt3); goto yy16; case '0': case '1': @@ -307,15 +307,15 @@ yy19: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (in.yyt3); + YYTAGP (in.yyt3); goto yy16; default: goto yy8; } yy20: YYSKIP (); - YYCOPYTAG (p1, in.yyt1); - YYCOPYTAG (p2, in.yyt2); - YYCOPYTAG (p3, in.yyt3); + p1 = in.yyt1; + p2 = in.yyt2; + p3 = in.yyt3; { printf("> %u.%u.%u.%u\n", parse_oct(in.tok, p1), diff --git a/re2c/test/tags/conf2.i--tags--input(custom).re b/re2c/test/tags/conf2.i--tags--input(custom).re index 759610b2..70d66d2e 100644 --- a/re2c/test/tags/conf2.i--tags--input(custom).re +++ b/re2c/test/tags/conf2.i--tags--input(custom).re @@ -66,9 +66,9 @@ static bool lex(input_t & in) #define YYSKIP() ++in.cur #define YYBACKUP() in.mar = in.cur #define YYRESTORE() in.cur = in.mar -#define YYBACKUPTAG(t) t = in.cur +#define YYTAGP(t) t = in.cur +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) in.cur = t -#define YYCOPYTAG(t1, t2) t1 = t2 #define YYLESSTHAN(n) in.lim - in.cur < n loop: in.tok = in.cur; diff --git a/re2c/test/tags/conf3.i--tags--input(custom).c b/re2c/test/tags/conf3.i--tags--input(custom).c index 96527949..c5385a3e 100644 --- a/re2c/test/tags/conf3.i--tags--input(custom).c +++ b/re2c/test/tags/conf3.i--tags--input(custom).c @@ -26,9 +26,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; tags_t tags; @@ -46,7 +46,7 @@ static void lex(const char *s) case '7': case '8': case '9': - YYBACKUPTAG (tags.yyt1); + YYTAGP (tags.yyt1); goto yy4; default: goto yy2; } @@ -60,7 +60,7 @@ yy4: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt2); + YYTAGP (tags.yyt2); goto yy5; case '0': case '1': @@ -98,7 +98,7 @@ yy7: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt2); + YYTAGP (tags.yyt2); goto yy5; case '0': case '1': @@ -117,7 +117,7 @@ yy8: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt3); + YYTAGP (tags.yyt3); goto yy10; case '0': case '1': @@ -136,7 +136,7 @@ yy9: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt2); + YYTAGP (tags.yyt2); goto yy5; default: goto yy6; } @@ -161,7 +161,7 @@ yy11: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt3); + YYTAGP (tags.yyt3); goto yy10; case '0': case '1': @@ -180,7 +180,7 @@ yy12: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt4); + YYTAGP (tags.yyt4); goto yy14; case '0': case '1': @@ -199,7 +199,7 @@ yy13: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt3); + YYTAGP (tags.yyt3); goto yy10; default: goto yy6; } @@ -224,7 +224,7 @@ yy15: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt4); + YYTAGP (tags.yyt4); goto yy14; case '0': case '1': @@ -255,10 +255,10 @@ yy16: default: goto yy17; } yy17: - YYCOPYTAG (p0, tags.yyt1); - YYCOPYTAG (p1, tags.yyt2); - YYCOPYTAG (p2, tags.yyt3); - YYCOPYTAG (p3, tags.yyt4); + p0 = tags.yyt1; + p1 = tags.yyt2; + p2 = tags.yyt3; + p3 = tags.yyt4; { printf("%u.%u.%u.%u\n", parse_oct(p0, p1), @@ -272,7 +272,7 @@ yy18: yych = YYPEEK (); switch (yych) { case '.': - YYBACKUPTAG (tags.yyt4); + YYTAGP (tags.yyt4); goto yy14; default: goto yy6; } diff --git a/re2c/test/tags/conf3.i--tags--input(custom).re b/re2c/test/tags/conf3.i--tags--input(custom).re index 41c8efe3..49a01fda 100644 --- a/re2c/test/tags/conf3.i--tags--input(custom).re +++ b/re2c/test/tags/conf3.i--tags--input(custom).re @@ -29,9 +29,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; tags_t tags; /*!re2c diff --git a/re2c/test/tags/fix2_trail.i--tags--input(custom).c b/re2c/test/tags/fix2_trail.i--tags--input(custom).c index 7614445b..3ad4e069 100644 --- a/re2c/test/tags/fix2_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix2_trail.i--tags--input(custom).c @@ -8,9 +8,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,7 +19,7 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy4; default: goto yy2; } @@ -33,7 +33,7 @@ yy4: yych = YYPEEK (); switch (yych) { case '1': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy5; default: goto yy3; } @@ -52,7 +52,7 @@ yy7: yych = YYPEEK (); switch (yych) { case '2': - YYBACKUPTAG (yyt3); + YYTAGP (yyt3); goto yy8; default: goto yy6; } @@ -75,7 +75,7 @@ yy10: yych = YYPEEK (); switch (yych) { case '3': - YYBACKUPTAG (yyt4); + YYTAGP (yyt4); goto yy11; default: goto yy6; } @@ -105,7 +105,7 @@ yy14: yych = YYPEEK (); switch (yych) { case '4': - YYBACKUPTAG (yyt5); + YYTAGP (yyt5); goto yy15; default: goto yy6; } @@ -139,10 +139,10 @@ yy18: } yy19: YYSKIP (); - YYCOPYTAG (p0, yyt1); - YYCOPYTAG (p1, yyt2); - YYCOPYTAG (p2, yyt3); - YYCOPYTAG (p3, yyt4); + p0 = yyt1; + p1 = yyt2; + p2 = yyt3; + p3 = yyt4; YYRESTORETAG (yyt5); { printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n", diff --git a/re2c/test/tags/fix2_trail.i--tags--input(custom).re b/re2c/test/tags/fix2_trail.i--tags--input(custom).re index 18b1846e..f8b28251 100644 --- a/re2c/test/tags/fix2_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix2_trail.i--tags--input(custom).re @@ -7,9 +7,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; /*!tags:re2c format = "const char *@@;"; */ /*!re2c diff --git a/re2c/test/tags/fix3_trail.i--tags--input(custom).c b/re2c/test/tags/fix3_trail.i--tags--input(custom).c index 28daf222..c1e667f8 100644 --- a/re2c/test/tags/fix3_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix3_trail.i--tags--input(custom).c @@ -8,9 +8,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,29 +19,29 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy4; case '1': - YYBACKUPTAG (yyt1); - YYBACKUPTAG (yyt2); + YYTAGP (yyt1); + YYTAGP (yyt2); goto yy7; case '2': - YYBACKUPTAG (yyt1); - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); + YYTAGP (yyt1); + YYTAGP (yyt2); + YYTAGP (yyt3); goto yy9; case '3': - YYBACKUPTAG (yyt1); - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); + YYTAGP (yyt1); + YYTAGP (yyt2); + YYTAGP (yyt3); + YYTAGP (yyt4); goto yy11; case '4': - YYBACKUPTAG (yyt1); - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt1); + YYTAGP (yyt2); + YYTAGP (yyt3); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy13; default: goto yy2; } @@ -54,35 +54,35 @@ yy4: switch (yych) { case '0': goto yy4; case '1': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy7; case '2': - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); + YYTAGP (yyt2); + YYTAGP (yyt3); goto yy9; case '3': - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); + YYTAGP (yyt2); + YYTAGP (yyt3); + YYTAGP (yyt4); goto yy11; case '4': - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt2); + YYTAGP (yyt3); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy13; default: - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt2); + YYTAGP (yyt3); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy6; } yy6: - YYCOPYTAG (p0, yyt1); - YYCOPYTAG (p1, yyt2); - YYCOPYTAG (p2, yyt3); - YYCOPYTAG (p3, yyt4); + p0 = yyt1; + p1 = yyt2; + p2 = yyt3; + p3 = yyt4; YYRESTORETAG (yyt5); { printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n", @@ -99,21 +99,21 @@ yy7: switch (yych) { case '1': goto yy7; case '2': - YYBACKUPTAG (yyt3); + YYTAGP (yyt3); goto yy9; case '3': - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); + YYTAGP (yyt3); + YYTAGP (yyt4); goto yy11; case '4': - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt3); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy13; default: - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt3); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy6; } yy9: @@ -122,15 +122,15 @@ yy9: switch (yych) { case '2': goto yy9; case '3': - YYBACKUPTAG (yyt4); + YYTAGP (yyt4); goto yy11; case '4': - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy13; default: - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy6; } yy11: @@ -139,10 +139,10 @@ yy11: switch (yych) { case '3': goto yy11; case '4': - YYBACKUPTAG (yyt5); + YYTAGP (yyt5); goto yy13; default: - YYBACKUPTAG (yyt5); + YYTAGP (yyt5); goto yy6; } yy13: diff --git a/re2c/test/tags/fix3_trail.i--tags--input(custom).re b/re2c/test/tags/fix3_trail.i--tags--input(custom).re index 1a9ae763..65b2f90e 100644 --- a/re2c/test/tags/fix3_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix3_trail.i--tags--input(custom).re @@ -7,9 +7,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; /*!tags:re2c format = "const char *@@;"; */ /*!re2c diff --git a/re2c/test/tags/fix4_trail.i--tags--input(custom).c b/re2c/test/tags/fix4_trail.i--tags--input(custom).c index b5fab254..e73da6e2 100644 --- a/re2c/test/tags/fix4_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix4_trail.i--tags--input(custom).c @@ -8,9 +8,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,7 +19,7 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy4; default: goto yy2; } @@ -33,11 +33,11 @@ yy4: yych = YYPEEK (); switch (yych) { case '1': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy5; case '2': - YYBACKUPTAG (yyt2); - YYBACKUPTAG (yyt3); + YYTAGP (yyt2); + YYTAGP (yyt3); goto yy8; default: goto yy3; } @@ -47,7 +47,7 @@ yy5: switch (yych) { case '1': goto yy5; case '2': - YYBACKUPTAG (yyt3); + YYTAGP (yyt3); goto yy8; default: goto yy7; } @@ -59,11 +59,11 @@ yy8: yych = YYPEEK (); switch (yych) { case '3': - YYBACKUPTAG (yyt4); + YYTAGP (yyt4); goto yy9; case '4': - YYBACKUPTAG (yyt4); - YYBACKUPTAG (yyt5); + YYTAGP (yyt4); + YYTAGP (yyt5); goto yy11; default: goto yy7; } @@ -73,16 +73,16 @@ yy9: switch (yych) { case '3': goto yy9; case '4': - YYBACKUPTAG (yyt5); + YYTAGP (yyt5); goto yy11; default: goto yy7; } yy11: YYSKIP (); - YYCOPYTAG (p0, yyt1); - YYCOPYTAG (p1, yyt2); - YYCOPYTAG (p2, yyt3); - YYCOPYTAG (p3, yyt4); + p0 = yyt1; + p1 = yyt2; + p2 = yyt3; + p3 = yyt4; YYRESTORETAG (yyt5); { printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n", diff --git a/re2c/test/tags/fix4_trail.i--tags--input(custom).re b/re2c/test/tags/fix4_trail.i--tags--input(custom).re index 7b396be1..e2af241d 100644 --- a/re2c/test/tags/fix4_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix4_trail.i--tags--input(custom).re @@ -7,9 +7,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; /*!tags:re2c format = "const char *@@;"; */ /*!re2c diff --git a/re2c/test/tags/fix5_trail.i--tags--input(custom).c b/re2c/test/tags/fix5_trail.i--tags--input(custom).c index c2e3316b..230562da 100644 --- a/re2c/test/tags/fix5_trail.i--tags--input(custom).c +++ b/re2c/test/tags/fix5_trail.i--tags--input(custom).c @@ -8,9 +8,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5; @@ -19,11 +19,11 @@ static void lex(const char *s) yych = YYPEEK (); switch (yych) { case '0': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy4; case '1': - YYBACKUPTAG (yyt1); - YYBACKUPTAG (yyt2); + YYTAGP (yyt1); + YYTAGP (yyt2); goto yy5; default: goto yy2; } @@ -46,11 +46,11 @@ yy5: yych = YYPEEK (); switch (yych) { case '2': - YYBACKUPTAG (yyt3); + YYTAGP (yyt3); goto yy10; case '3': - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); + YYTAGP (yyt3); + YYTAGP (yyt4); goto yy12; default: goto yy3; } @@ -61,7 +61,7 @@ yy7: switch (yych) { case '0': goto yy6; case '1': - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); goto yy9; default: goto yy8; } @@ -73,11 +73,11 @@ yy9: yych = YYPEEK (); switch (yych) { case '2': - YYBACKUPTAG (yyt3); + YYTAGP (yyt3); goto yy10; case '3': - YYBACKUPTAG (yyt3); - YYBACKUPTAG (yyt4); + YYTAGP (yyt3); + YYTAGP (yyt4); goto yy12; default: goto yy8; } @@ -87,20 +87,20 @@ yy10: switch (yych) { case '2': goto yy10; case '3': - YYBACKUPTAG (yyt4); + YYTAGP (yyt4); goto yy12; default: goto yy8; } yy12: YYSKIP (); yych = YYPEEK (); - YYBACKUPTAG (yyt5); + YYTAGP (yyt5); goto yy15; yy13: - YYCOPYTAG (p0, yyt2); - YYCOPYTAG (p1, yyt1); - YYCOPYTAG (p2, yyt3); - YYCOPYTAG (p3, yyt4); + p0 = yyt2; + p1 = yyt1; + p2 = yyt3; + p3 = yyt4; YYRESTORETAG (yyt5); { printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n", diff --git a/re2c/test/tags/fix5_trail.i--tags--input(custom).re b/re2c/test/tags/fix5_trail.i--tags--input(custom).re index 26a575fa..6945d924 100644 --- a/re2c/test/tags/fix5_trail.i--tags--input(custom).re +++ b/re2c/test/tags/fix5_trail.i--tags--input(custom).re @@ -7,9 +7,9 @@ static void lex(const char *s) #define YYSKIP() ++s #define YYBACKUP() marker = s #define YYRESTORE() s = marker -#define YYBACKUPTAG(t) t = s +#define YYTAGP(t) t = s +#define YYTAGN(t) t = NULL #define YYRESTORETAG(t) s = t -#define YYCOPYTAG(t1, t2) t1 = t2 const char *marker, *p0, *p1, *p2, *p3; /*!tags:re2c format = "const char *@@;"; */ /*!re2c diff --git a/re2c/test/tags/lost_yybackuptag.i--tags--no-lookahead--input(custom).c b/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c similarity index 68% rename from re2c/test/tags/lost_yybackuptag.i--tags--no-lookahead--input(custom).c rename to re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c index 8eda6987..b9b503bd 100644 --- a/re2c/test/tags/lost_yybackuptag.i--tags--no-lookahead--input(custom).c +++ b/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c @@ -2,22 +2,22 @@ { YYCTYPE yych; - YYBACKUPTAG (yyt1); + YYTAGP (yyt1); if (YYLESSTHAN (1)) YYFILL(1); yych = YYPEEK (); YYSKIP (); switch (yych) { case 'a': - YYBACKUPTAG (yyt2); + YYTAGP (yyt2); goto yy2; default: - YYCOPYTAG (yyt1, NULL); - YYBACKUPTAG (yyt2); + YYTAGN (yyt1); + YYTAGP (yyt2); goto yy2; } yy2: - YYCOPYTAG (a, yyt1); - YYCOPYTAG (b, yyt2); + a = yyt1; + b = yyt2; {} } diff --git a/re2c/test/tags/lost_yybackuptag.i--tags--no-lookahead--input(custom).re b/re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).re similarity index 100% rename from re2c/test/tags/lost_yybackuptag.i--tags--no-lookahead--input(custom).re rename to re2c/test/tags/lost_tag.i--tags--no-lookahead--input(custom).re