/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */ #line 1 "../src/parse/lex_conf.re" #include "src/util/c99_stdint.h" #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/parse/scanner.h" #include "src/util/s_to_n32_unsafe.h" namespace re2c { // global re2c config (affects the whole file) #line 36 "../src/parse/lex_conf.re" void Scanner::lex_conf () { tok = cur; #line 25 "src/parse/lex_conf.cc" { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((lim - cur) < 27) fill(27); yych = (unsigned char)*cur; switch (yych) { case 'c': goto yy4; case 'd': goto yy5; case 'f': goto yy6; case 'i': goto yy7; case 'l': goto yy8; case 's': goto yy9; case 'v': goto yy10; case 'y': goto yy11; default: goto yy2; } yy2: ++cur; yy3: #line 42 "../src/parse/lex_conf.re" { fatal ((tok - pos) - tchar, "unrecognized configuration"); } #line 81 "src/parse/lex_conf.cc" yy4: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'g') goto yy12; if (yych == 'o') goto yy14; goto yy3; yy5: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'e') goto yy15; goto yy3; yy6: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'l') goto yy16; goto yy3; yy7: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'n') goto yy17; goto yy3; yy8: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'a') goto yy18; goto yy3; yy9: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 't') goto yy19; goto yy3; yy10: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'a') goto yy20; goto yy3; yy11: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'y') goto yy21; goto yy3; yy12: yych = (unsigned char)*++cur; if (yych == 'o') goto yy22; yy13: cur = ptr; if (yyaccept <= 5) { if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept == 0) { goto yy3; } else { goto yy119; } } else { goto yy161; } } else { if (yyaccept <= 4) { if (yyaccept == 3) { goto yy206; } else { goto yy255; } } else { goto yy321; } } } else { if (yyaccept <= 8) { if (yyaccept <= 7) { if (yyaccept == 6) { goto yy356; } else { goto yy377; } } else { goto yy383; } } else { if (yyaccept == 9) { goto yy420; } else { goto yy423; } } } yy14: yych = (unsigned char)*++cur; if (yych == 'n') goto yy23; goto yy13; yy15: yych = (unsigned char)*++cur; if (yych == 'f') goto yy24; goto yy13; yy16: yych = (unsigned char)*++cur; if (yych == 'a') goto yy25; goto yy13; yy17: yych = (unsigned char)*++cur; if (yych == 'd') goto yy26; goto yy13; yy18: yych = (unsigned char)*++cur; if (yych == 'b') goto yy27; goto yy13; yy19: yych = (unsigned char)*++cur; if (yych == 'a') goto yy28; goto yy13; yy20: yych = (unsigned char)*++cur; if (yych == 'r') goto yy29; goto yy13; yy21: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= 'a') goto yy13; if (yych <= 'b') goto yy30; goto yy31; } else { if (yych == 'f') goto yy32; goto yy13; } yy22: yych = (unsigned char)*++cur; if (yych == 't') goto yy33; goto yy13; yy23: yych = (unsigned char)*++cur; if (yych == 'd') goto yy34; goto yy13; yy24: yych = (unsigned char)*++cur; if (yych == 'i') goto yy35; goto yy13; yy25: yych = (unsigned char)*++cur; if (yych == 'g') goto yy36; goto yy13; yy26: yych = (unsigned char)*++cur; if (yych == 'e') goto yy37; goto yy13; yy27: yych = (unsigned char)*++cur; if (yych == 'e') goto yy38; goto yy13; yy28: yych = (unsigned char)*++cur; if (yych == 'r') goto yy39; if (yych == 't') goto yy40; goto yy13; yy29: yych = (unsigned char)*++cur; if (yych == 'i') goto yy41; goto yy13; yy30: yych = (unsigned char)*++cur; if (yych == 'm') goto yy42; goto yy13; yy31: yych = (unsigned char)*++cur; if (yych == 'h') goto yy43; goto yy13; yy32: yych = (unsigned char)*++cur; if (yych == 'i') goto yy44; goto yy13; yy33: yych = (unsigned char)*++cur; if (yych == 'o') goto yy45; goto yy13; yy34: yych = (unsigned char)*++cur; if (yych <= 'd') { if (yych == ':') goto yy46; goto yy13; } else { if (yych <= 'e') goto yy47; if (yych == 'p') goto yy48; goto yy13; } yy35: yych = (unsigned char)*++cur; if (yych == 'n') goto yy49; goto yy13; yy36: yych = (unsigned char)*++cur; if (yych == 's') goto yy50; goto yy13; yy37: yych = (unsigned char)*++cur; if (yych == 'n') goto yy51; goto yy13; yy38: yych = (unsigned char)*++cur; if (yych == 'l') goto yy52; goto yy13; yy39: yych = (unsigned char)*++cur; if (yych == 't') goto yy53; goto yy13; yy40: yych = (unsigned char)*++cur; if (yych == 'e') goto yy54; goto yy13; yy41: yych = (unsigned char)*++cur; if (yych == 'a') goto yy55; goto yy13; yy42: yych = (unsigned char)*++cur; if (yych == ':') goto yy56; goto yy13; yy43: yych = (unsigned char)*++cur; if (yych == ':') goto yy57; goto yy13; yy44: yych = (unsigned char)*++cur; if (yych == 'l') goto yy58; goto yy13; yy45: yych = (unsigned char)*++cur; if (yych == ':') goto yy59; goto yy13; yy46: yych = (unsigned char)*++cur; if (yych == 'd') goto yy60; if (yych == 'g') goto yy61; goto yy13; yy47: yych = (unsigned char)*++cur; if (yych == 'n') goto yy62; goto yy13; yy48: yych = (unsigned char)*++cur; if (yych == 'r') goto yy63; goto yy13; yy49: yych = (unsigned char)*++cur; if (yych == 'e') goto yy64; goto yy13; yy50: yych = (unsigned char)*++cur; if (yych == ':') goto yy65; goto yy13; yy51: yych = (unsigned char)*++cur; if (yych == 't') goto yy66; goto yy13; yy52: yych = (unsigned char)*++cur; if (yych == ':') goto yy67; if (yych == 'p') goto yy68; goto yy13; yy53: yych = (unsigned char)*++cur; if (yych == 'l') goto yy69; goto yy13; yy54: yych = (unsigned char)*++cur; if (yych == ':') goto yy70; goto yy13; yy55: yych = (unsigned char)*++cur; if (yych == 'b') goto yy71; goto yy13; yy56: yych = (unsigned char)*++cur; if (yych == 'h') goto yy72; goto yy13; yy57: yych = (unsigned char)*++cur; if (yych == 'c') goto yy73; if (yych == 'e') goto yy74; goto yy13; yy58: yych = (unsigned char)*++cur; if (yych == 'l') goto yy75; goto yy13; yy59: yych = (unsigned char)*++cur; if (yych == 't') goto yy76; goto yy13; yy60: yych = (unsigned char)*++cur; if (yych == 'i') goto yy77; goto yy13; yy61: yych = (unsigned char)*++cur; if (yych == 'o') goto yy78; goto yy13; yy62: yych = (unsigned char)*++cur; if (yych == 'u') goto yy79; goto yy13; yy63: yych = (unsigned char)*++cur; if (yych == 'e') goto yy80; goto yy13; yy64: yych = (unsigned char)*++cur; if (yych == ':') goto yy81; goto yy13; yy65: yych = (unsigned char)*++cur; if (yych <= 'e') { if (yych == '8') goto yy82; if (yych <= 'd') goto yy13; goto yy82; } else { if (yych <= 'u') { if (yych <= 't') goto yy13; goto yy82; } else { if (yych <= 'v') goto yy13; if (yych <= 'x') goto yy82; goto yy13; } } yy66: yych = (unsigned char)*++cur; if (yych == ':') goto yy84; goto yy13; yy67: yych = (unsigned char)*++cur; if (yych == 'y') goto yy85; goto yy13; yy68: yych = (unsigned char)*++cur; if (yych == 'r') goto yy86; goto yy13; yy69: yych = (unsigned char)*++cur; if (yych == 'a') goto yy87; goto yy13; yy70: yych = (unsigned char)*++cur; if (yych == 'a') goto yy88; if (yych == 'n') goto yy89; goto yy13; yy71: yych = (unsigned char)*++cur; if (yych == 'l') goto yy90; goto yy13; yy72: yych = (unsigned char)*++cur; if (yych == 'e') goto yy91; goto yy13; yy73: yych = (unsigned char)*++cur; if (yych == 'o') goto yy92; goto yy13; yy74: yych = (unsigned char)*++cur; if (yych == 'm') goto yy93; goto yy13; yy75: yych = (unsigned char)*++cur; if (yych == ':') goto yy94; goto yy13; yy76: yych = (unsigned char)*++cur; if (yych == 'h') goto yy95; goto yy13; yy77: yych = (unsigned char)*++cur; if (yych == 'v') goto yy96; goto yy13; yy78: yych = (unsigned char)*++cur; if (yych == 't') goto yy97; goto yy13; yy79: yych = (unsigned char)*++cur; if (yych == 'm') goto yy98; goto yy13; yy80: yych = (unsigned char)*++cur; if (yych == 'f') goto yy99; goto yy13; yy81: yych = (unsigned char)*++cur; if (yych == 'Y') goto yy100; goto yy13; yy82: ++cur; #line 45 "../src/parse/lex_conf.re" { Enc::type_t enc = Enc::ASCII; switch (cur[-1]) { case 'e': enc = Enc::EBCDIC; break; case 'w': enc = Enc::UCS2; break; case 'x': enc = Enc::UTF16; break; case 'u': enc = Enc::UTF32; break; case '8': enc = Enc::UTF8; break; } const int32_t n = lex_conf_number (); if (n == 0) { opts.unset_encoding (enc); } else if (!opts.set_encoding (enc)) { fatalf ("Cannot set %s encoding: please reset %s encoding first" , Enc::name (enc) , Enc::name (opts->encoding.type ())); } return; } #line 496 "src/parse/lex_conf.cc" yy84: yych = (unsigned char)*++cur; if (yych <= 'r') goto yy13; if (yych <= 's') goto yy101; if (yych <= 't') goto yy102; goto yy13; yy85: yych = (unsigned char)*++cur; if (yych == 'y') goto yy103; goto yy13; yy86: yych = (unsigned char)*++cur; if (yych == 'e') goto yy104; goto yy13; yy87: yych = (unsigned char)*++cur; if (yych == 'b') goto yy105; goto yy13; yy88: yych = (unsigned char)*++cur; if (yych == 'b') goto yy106; goto yy13; yy89: yych = (unsigned char)*++cur; if (yych == 'e') goto yy107; goto yy13; yy90: yych = (unsigned char)*++cur; if (yych == 'e') goto yy108; goto yy13; yy91: yych = (unsigned char)*++cur; if (yych == 'x') goto yy109; goto yy13; yy92: yych = (unsigned char)*++cur; if (yych == 'n') goto yy111; goto yy13; yy93: yych = (unsigned char)*++cur; if (yych == 'i') goto yy112; goto yy13; yy94: yych = (unsigned char)*++cur; if (yych <= 'd') { if (yych == 'c') goto yy113; goto yy13; } else { if (yych <= 'e') goto yy114; if (yych == 'p') goto yy115; goto yy13; } yy95: yych = (unsigned char)*++cur; if (yych == 'r') goto yy116; goto yy13; yy96: yych = (unsigned char)*++cur; if (yych == 'i') goto yy117; goto yy13; yy97: yych = (unsigned char)*++cur; if (yych == 'o') goto yy118; goto yy13; yy98: yych = (unsigned char)*++cur; if (yych == 'p') goto yy120; goto yy13; yy99: yych = (unsigned char)*++cur; if (yych == 'i') goto yy121; goto yy13; yy100: yych = (unsigned char)*++cur; if (yych == 'Y') goto yy122; goto yy13; yy101: yych = (unsigned char)*++cur; if (yych == 't') goto yy123; goto yy13; yy102: yych = (unsigned char)*++cur; if (yych == 'o') goto yy124; goto yy13; yy103: yych = (unsigned char)*++cur; if (yych == 'F') goto yy125; if (yych == 'N') goto yy126; goto yy13; yy104: yych = (unsigned char)*++cur; if (yych == 'f') goto yy127; goto yy13; yy105: yych = (unsigned char)*++cur; if (yych == 'e') goto yy128; goto yy13; yy106: yych = (unsigned char)*++cur; if (yych == 'o') goto yy129; goto yy13; yy107: yych = (unsigned char)*++cur; if (yych == 'x') goto yy130; goto yy13; yy108: yych = (unsigned char)*++cur; if (yych == ':') goto yy131; goto yy13; yy109: ++cur; #line 95 "../src/parse/lex_conf.re" { opts.set_yybmHexTable (lex_conf_number () != 0); return; } #line 610 "src/parse/lex_conf.cc" yy111: yych = (unsigned char)*++cur; if (yych == 'v') goto yy132; goto yy13; yy112: yych = (unsigned char)*++cur; if (yych == 't') goto yy133; goto yy13; yy113: yych = (unsigned char)*++cur; if (yych == 'h') goto yy135; goto yy13; yy114: yych = (unsigned char)*++cur; if (yych == 'n') goto yy136; goto yy13; yy115: yych = (unsigned char)*++cur; if (yych == 'a') goto yy137; goto yy13; yy116: yych = (unsigned char)*++cur; if (yych == 'e') goto yy138; goto yy13; yy117: yych = (unsigned char)*++cur; if (yych == 'd') goto yy139; goto yy13; yy118: yyaccept = 1; yych = (unsigned char)*(ptr = ++cur); if (yych == '@') goto yy140; yy119: #line 79 "../src/parse/lex_conf.re" { opts.set_condGoto (lex_conf_string ()); return; } #line 646 "src/parse/lex_conf.cc" yy120: yych = (unsigned char)*++cur; if (yych == 'r') goto yy141; goto yy13; yy121: yych = (unsigned char)*++cur; if (yych == 'x') goto yy142; goto yy13; yy122: yych = (unsigned char)*++cur; switch (yych) { case 'B': goto yy144; case 'C': goto yy145; case 'D': goto yy146; case 'F': goto yy147; case 'G': goto yy148; case 'L': goto yy149; case 'M': goto yy150; case 'P': goto yy151; case 'R': goto yy152; case 'S': goto yy153; default: goto yy13; } yy123: yych = (unsigned char)*++cur; if (yych == 'r') goto yy154; goto yy13; yy124: yych = (unsigned char)*++cur; if (yych == 'p') goto yy155; goto yy13; yy125: yych = (unsigned char)*++cur; if (yych == 'i') goto yy157; goto yy13; yy126: yych = (unsigned char)*++cur; if (yych == 'e') goto yy158; goto yy13; yy127: yych = (unsigned char)*++cur; if (yych == 'i') goto yy159; goto yy13; yy128: yych = (unsigned char)*++cur; if (yych == 'l') goto yy160; goto yy13; yy129: yych = (unsigned char)*++cur; if (yych == 'r') goto yy162; goto yy13; yy130: yych = (unsigned char)*++cur; if (yych == 't') goto yy163; goto yy13; yy131: yych = (unsigned char)*++cur; if (yych == 'y') goto yy164; goto yy13; yy132: yych = (unsigned char)*++cur; if (yych == 'e') goto yy165; goto yy13; yy133: ++cur; #line 138 "../src/parse/lex_conf.re" { opts.set_bEmitYYCh (lex_conf_number () != 0); return; } #line 714 "src/parse/lex_conf.cc" yy135: yych = (unsigned char)*++cur; if (yych == 'e') goto yy166; goto yy13; yy136: yych = (unsigned char)*++cur; if (yych == 'a') goto yy167; goto yy13; yy137: yych = (unsigned char)*++cur; if (yych == 'r') goto yy168; goto yy13; yy138: yych = (unsigned char)*++cur; if (yych == 's') goto yy169; goto yy13; yy139: yych = (unsigned char)*++cur; if (yych == 'e') goto yy170; goto yy13; yy140: yych = (unsigned char)*++cur; if (yych == 'c') goto yy171; goto yy13; yy141: yych = (unsigned char)*++cur; if (yych == 'e') goto yy172; goto yy13; yy142: ++cur; #line 75 "../src/parse/lex_conf.re" { opts.set_condPrefix (lex_conf_string ()); return; } #line 747 "src/parse/lex_conf.cc" yy144: yych = (unsigned char)*++cur; if (yych == 'A') goto yy173; goto yy13; yy145: yych = (unsigned char)*++cur; if (yych <= 'S') { if (yych == 'O') goto yy174; goto yy13; } else { if (yych <= 'T') goto yy175; if (yych <= 'U') goto yy176; goto yy13; } yy146: yych = (unsigned char)*++cur; if (yych == 'E') goto yy177; goto yy13; yy147: yych = (unsigned char)*++cur; if (yych == 'I') goto yy178; goto yy13; yy148: yych = (unsigned char)*++cur; if (yych == 'E') goto yy179; goto yy13; yy149: yych = (unsigned char)*++cur; if (yych == 'E') goto yy180; if (yych == 'I') goto yy181; goto yy13; yy150: yych = (unsigned char)*++cur; if (yych == 'A') goto yy182; goto yy13; yy151: yych = (unsigned char)*++cur; if (yych == 'E') goto yy183; goto yy13; yy152: yych = (unsigned char)*++cur; if (yych == 'E') goto yy184; goto yy13; yy153: yych = (unsigned char)*++cur; if (yych == 'E') goto yy185; if (yych == 'K') goto yy186; goto yy13; yy154: yych = (unsigned char)*++cur; if (yych == 'i') goto yy187; goto yy13; yy155: ++cur; #line 123 "../src/parse/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) { fatal ("configuration 'indent:top' must be nonnegative"); } opts.set_topIndent (static_cast (n)); return; } #line 812 "src/parse/lex_conf.cc" yy157: yych = (unsigned char)*++cur; if (yych == 'l') goto yy188; goto yy13; yy158: yych = (unsigned char)*++cur; if (yych == 'x') goto yy189; goto yy13; yy159: yych = (unsigned char)*++cur; if (yych == 'x') goto yy190; goto yy13; yy160: yyaccept = 2; yych = (unsigned char)*(ptr = ++cur); ctx = cur; if (yybm[0+yych] & 64) { goto yy192; } if (yych == '=') goto yy194; yy161: #line 151 "../src/parse/lex_conf.re" { out.set_user_start_label (lex_conf_string ()); return; } #line 836 "src/parse/lex_conf.cc" yy162: yych = (unsigned char)*++cur; if (yych == 't') goto yy196; goto yy13; yy163: yych = (unsigned char)*++cur; if (yych == 'l') goto yy198; goto yy13; yy164: yych = (unsigned char)*++cur; if (yych == 'y') goto yy199; goto yy13; yy165: yych = (unsigned char)*++cur; if (yych == 'r') goto yy200; goto yy13; yy166: yych = (unsigned char)*++cur; if (yych == 'c') goto yy201; goto yy13; yy167: yych = (unsigned char)*++cur; if (yych == 'b') goto yy202; goto yy13; yy168: yych = (unsigned char)*++cur; if (yych == 'a') goto yy203; goto yy13; yy169: yych = (unsigned char)*++cur; if (yych == 'h') goto yy204; goto yy13; yy170: yych = (unsigned char)*++cur; if (yych == 'r') goto yy205; goto yy13; yy171: yych = (unsigned char)*++cur; if (yych == 'o') goto yy207; goto yy13; yy172: yych = (unsigned char)*++cur; if (yych == 'f') goto yy208; goto yy13; yy173: yych = (unsigned char)*++cur; if (yych == 'C') goto yy209; goto yy13; yy174: yych = (unsigned char)*++cur; if (yych == 'N') goto yy210; goto yy13; yy175: yych = (unsigned char)*++cur; if (yych <= 'W') goto yy13; if (yych <= 'X') goto yy211; if (yych <= 'Y') goto yy212; goto yy13; yy176: yych = (unsigned char)*++cur; if (yych == 'R') goto yy213; goto yy13; yy177: yych = (unsigned char)*++cur; if (yych == 'B') goto yy214; goto yy13; yy178: yych = (unsigned char)*++cur; if (yych == 'L') goto yy215; goto yy13; yy179: yych = (unsigned char)*++cur; if (yych == 'T') goto yy216; goto yy13; yy180: yych = (unsigned char)*++cur; if (yych == 'S') goto yy217; goto yy13; yy181: yych = (unsigned char)*++cur; if (yych == 'M') goto yy218; goto yy13; yy182: yych = (unsigned char)*++cur; if (yych == 'R') goto yy219; goto yy13; yy183: yych = (unsigned char)*++cur; if (yych == 'E') goto yy220; goto yy13; yy184: yych = (unsigned char)*++cur; if (yych == 'S') goto yy221; goto yy13; yy185: yych = (unsigned char)*++cur; if (yych == 'T') goto yy222; goto yy13; yy186: yych = (unsigned char)*++cur; if (yych == 'I') goto yy223; goto yy13; yy187: yych = (unsigned char)*++cur; if (yych == 'n') goto yy224; goto yy13; yy188: yych = (unsigned char)*++cur; if (yych == 'l') goto yy225; goto yy13; yy189: yych = (unsigned char)*++cur; if (yych == 't') goto yy226; goto yy13; yy190: ++cur; #line 147 "../src/parse/lex_conf.re" { opts.set_labelPrefix (lex_conf_string ()); return; } #line 955 "src/parse/lex_conf.cc" yy192: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 64) { goto yy192; } if (yych != '=') goto yy13; yy194: ++cur; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy13; goto yy194; } else { if (yych == ' ') goto yy194; goto yy13; } } else { if (yych <= '/') { if (yych <= '-') goto yy228; goto yy13; } else { if (yych <= '0') goto yy229; if (yych <= '9') goto yy231; goto yy13; } } yy196: ++cur; #line 90 "../src/parse/lex_conf.re" { opts.set_bUseStateAbort (lex_conf_number () != 0); return; } #line 990 "src/parse/lex_conf.cc" yy198: yych = (unsigned char)*++cur; if (yych == 'a') goto yy233; goto yy13; yy199: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= '`') goto yy13; if (yych <= 'a') goto yy234; if (yych <= 'b') goto yy235; goto yy236; } else { if (yych <= 'r') goto yy13; if (yych <= 's') goto yy237; if (yych <= 't') goto yy238; goto yy13; } yy200: yych = (unsigned char)*++cur; if (yych == 's') goto yy239; goto yy13; yy201: yych = (unsigned char)*++cur; if (yych == 'k') goto yy240; goto yy13; yy202: yych = (unsigned char)*++cur; if (yych == 'l') goto yy242; goto yy13; yy203: yych = (unsigned char)*++cur; if (yych == 'm') goto yy243; goto yy13; yy204: yych = (unsigned char)*++cur; if (yych == 'o') goto yy244; goto yy13; yy205: yyaccept = 3; yych = (unsigned char)*(ptr = ++cur); if (yych == '@') goto yy245; yy206: #line 77 "../src/parse/lex_conf.re" { opts.set_condDivider (lex_conf_string ()); return; } #line 1035 "src/parse/lex_conf.cc" yy207: yych = (unsigned char)*++cur; if (yych == 'n') goto yy246; goto yy13; yy208: yych = (unsigned char)*++cur; if (yych == 'i') goto yy247; goto yy13; yy209: yych = (unsigned char)*++cur; if (yych == 'K') goto yy248; goto yy13; yy210: yych = (unsigned char)*++cur; if (yych == 'D') goto yy249; goto yy13; yy211: yych = (unsigned char)*++cur; if (yych == 'M') goto yy250; goto yy13; yy212: yych = (unsigned char)*++cur; if (yych == 'P') goto yy251; goto yy13; yy213: yych = (unsigned char)*++cur; if (yych == 'S') goto yy252; goto yy13; yy214: yych = (unsigned char)*++cur; if (yych == 'U') goto yy253; goto yy13; yy215: yych = (unsigned char)*++cur; if (yych == 'L') goto yy254; goto yy13; yy216: yych = (unsigned char)*++cur; if (yych == 'C') goto yy256; if (yych == 'S') goto yy257; goto yy13; yy217: yych = (unsigned char)*++cur; if (yych == 'S') goto yy258; goto yy13; yy218: yych = (unsigned char)*++cur; if (yych == 'I') goto yy259; goto yy13; yy219: yych = (unsigned char)*++cur; if (yych == 'K') goto yy260; goto yy13; yy220: yych = (unsigned char)*++cur; if (yych == 'K') goto yy261; goto yy13; yy221: yych = (unsigned char)*++cur; if (yych == 'T') goto yy263; goto yy13; yy222: yych = (unsigned char)*++cur; if (yych == 'C') goto yy264; if (yych == 'S') goto yy265; goto yy13; yy223: yych = (unsigned char)*++cur; if (yych == 'P') goto yy266; goto yy13; yy224: yych = (unsigned char)*++cur; if (yych == 'g') goto yy268; goto yy13; yy225: yych = (unsigned char)*++cur; if (yych == 'L') goto yy270; goto yy13; yy226: ++cur; #line 89 "../src/parse/lex_conf.re" { opts.set_yynext (lex_conf_string ()); return; } #line 1118 "src/parse/lex_conf.cc" yy228: yych = (unsigned char)*++cur; if (yych <= '0') goto yy13; if (yych <= '9') goto yy231; goto yy13; yy229: ++cur; yy230: cur = ctx; #line 150 "../src/parse/lex_conf.re" { out.set_force_start_label (lex_conf_number () != 0); return; } #line 1130 "src/parse/lex_conf.cc" yy231: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy231; } goto yy230; yy233: yych = (unsigned char)*++cur; if (yych == 'b') goto yy271; goto yy13; yy234: yych = (unsigned char)*++cur; if (yych == 'c') goto yy272; goto yy13; yy235: yych = (unsigned char)*++cur; if (yych == 'm') goto yy273; goto yy13; yy236: yych = (unsigned char)*++cur; if (yych == 'h') goto yy275; if (yych == 't') goto yy277; goto yy13; yy237: yych = (unsigned char)*++cur; if (yych == 't') goto yy278; goto yy13; yy238: yych = (unsigned char)*++cur; if (yych == 'a') goto yy279; goto yy13; yy239: yych = (unsigned char)*++cur; if (yych == 'i') goto yy280; goto yy13; yy240: ++cur; #line 145 "../src/parse/lex_conf.re" { opts.set_fill_check (lex_conf_number () != 0); return; } #line 1172 "src/parse/lex_conf.cc" yy242: yych = (unsigned char)*++cur; if (yych == 'e') goto yy281; goto yy13; yy243: yych = (unsigned char)*++cur; if (yych == 'e') goto yy283; goto yy13; yy244: yych = (unsigned char)*++cur; if (yych == 'l') goto yy284; goto yy13; yy245: yych = (unsigned char)*++cur; if (yych == 'c') goto yy285; goto yy13; yy246: yych = (unsigned char)*++cur; if (yych == 'd') goto yy286; goto yy13; yy247: yych = (unsigned char)*++cur; if (yych == 'x') goto yy288; goto yy13; yy248: yych = (unsigned char)*++cur; if (yych == 'U') goto yy290; goto yy13; yy249: yych = (unsigned char)*++cur; if (yych == 'T') goto yy291; goto yy13; yy250: yych = (unsigned char)*++cur; if (yych == 'A') goto yy292; goto yy13; yy251: yych = (unsigned char)*++cur; if (yych == 'E') goto yy293; goto yy13; yy252: yych = (unsigned char)*++cur; if (yych == 'O') goto yy295; goto yy13; yy253: yych = (unsigned char)*++cur; if (yych == 'G') goto yy296; goto yy13; yy254: yyaccept = 4; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy298; if (yych == '@') goto yy299; yy255: #line 140 "../src/parse/lex_conf.re" { opts.set_fill (lex_conf_string ()); return; } #line 1229 "src/parse/lex_conf.cc" yy256: yych = (unsigned char)*++cur; if (yych == 'O') goto yy300; goto yy13; yy257: yych = (unsigned char)*++cur; if (yych == 'T') goto yy301; goto yy13; yy258: yych = (unsigned char)*++cur; if (yych == 'T') goto yy302; goto yy13; yy259: yych = (unsigned char)*++cur; if (yych == 'T') goto yy303; goto yy13; yy260: yych = (unsigned char)*++cur; if (yych == 'E') goto yy305; goto yy13; yy261: ++cur; #line 113 "../src/parse/lex_conf.re" { opts.set_yypeek (lex_conf_string ()); return; } #line 1254 "src/parse/lex_conf.cc" yy263: yych = (unsigned char)*++cur; if (yych == 'O') goto yy306; goto yy13; yy264: yych = (unsigned char)*++cur; if (yych == 'O') goto yy307; goto yy13; yy265: yych = (unsigned char)*++cur; if (yych == 'T') goto yy308; goto yy13; yy266: ++cur; #line 114 "../src/parse/lex_conf.re" { opts.set_yyskip (lex_conf_string ()); return; } #line 1271 "src/parse/lex_conf.cc" yy268: ++cur; #line 121 "../src/parse/lex_conf.re" { opts.set_indString (lex_conf_string ()); return; } #line 1276 "src/parse/lex_conf.cc" yy270: yych = (unsigned char)*++cur; if (yych == 'a') goto yy309; goto yy13; yy271: yych = (unsigned char)*++cur; if (yych == 'e') goto yy310; goto yy13; yy272: yych = (unsigned char)*++cur; if (yych == 'c') goto yy311; goto yy13; yy273: ++cur; #line 94 "../src/parse/lex_conf.re" { opts.set_yybm (lex_conf_string ()); return; } #line 1293 "src/parse/lex_conf.cc" yy275: ++cur; #line 136 "../src/parse/lex_conf.re" { opts.set_yych (lex_conf_string ()); return; } #line 1298 "src/parse/lex_conf.cc" yy277: yych = (unsigned char)*++cur; if (yych == 'a') goto yy312; goto yy13; yy278: yych = (unsigned char)*++cur; if (yych == 'a') goto yy313; goto yy13; yy279: yych = (unsigned char)*++cur; if (yych == 'r') goto yy314; goto yy13; yy280: yych = (unsigned char)*++cur; if (yych == 'o') goto yy315; goto yy13; yy281: ++cur; #line 141 "../src/parse/lex_conf.re" { opts.set_fill_use (lex_conf_number () != 0); return; } #line 1319 "src/parse/lex_conf.cc" yy283: yych = (unsigned char)*++cur; if (yych == 't') goto yy316; goto yy13; yy284: yych = (unsigned char)*++cur; if (yych == 'd') goto yy317; goto yy13; yy285: yych = (unsigned char)*++cur; if (yych == 'o') goto yy319; goto yy13; yy286: ++cur; #line 80 "../src/parse/lex_conf.re" { opts.set_condGotoParam (lex_conf_string ()); return; } #line 1336 "src/parse/lex_conf.cc" yy288: ++cur; #line 76 "../src/parse/lex_conf.re" { opts.set_condEnumPrefix (lex_conf_string ()); return; } #line 1341 "src/parse/lex_conf.cc" yy290: yych = (unsigned char)*++cur; if (yych == 'P') goto yy320; goto yy13; yy291: yych = (unsigned char)*++cur; if (yych == 'Y') goto yy322; goto yy13; yy292: yych = (unsigned char)*++cur; if (yych == 'R') goto yy323; goto yy13; yy293: ++cur; #line 135 "../src/parse/lex_conf.re" { opts.set_yyctype (lex_conf_string ()); return; } #line 1358 "src/parse/lex_conf.cc" yy295: yych = (unsigned char)*++cur; if (yych == 'R') goto yy324; goto yy13; yy296: ++cur; #line 133 "../src/parse/lex_conf.re" { opts.set_yydebug (lex_conf_string ()); return; } #line 1367 "src/parse/lex_conf.cc" yy298: yych = (unsigned char)*++cur; if (yych == 'n') goto yy326; goto yy13; yy299: yych = (unsigned char)*++cur; if (yych == 'l') goto yy327; goto yy13; yy300: yych = (unsigned char)*++cur; if (yych == 'N') goto yy328; goto yy13; yy301: yych = (unsigned char)*++cur; if (yych == 'A') goto yy329; goto yy13; yy302: yych = (unsigned char)*++cur; if (yych == 'H') goto yy330; goto yy13; yy303: ++cur; #line 111 "../src/parse/lex_conf.re" { opts.set_yylimit (lex_conf_string ()); return; } #line 1392 "src/parse/lex_conf.cc" yy305: yych = (unsigned char)*++cur; if (yych == 'R') goto yy331; goto yy13; yy306: yych = (unsigned char)*++cur; if (yych == 'R') goto yy333; goto yy13; yy307: yych = (unsigned char)*++cur; if (yych == 'N') goto yy334; goto yy13; yy308: yych = (unsigned char)*++cur; if (yych == 'A') goto yy335; goto yy13; yy309: yych = (unsigned char)*++cur; if (yych == 'b') goto yy336; goto yy13; yy310: yych = (unsigned char)*++cur; if (yych == 'l') goto yy337; goto yy13; yy311: yych = (unsigned char)*++cur; if (yych == 'e') goto yy339; goto yy13; yy312: yych = (unsigned char)*++cur; if (yych == 'b') goto yy340; goto yy13; yy313: yych = (unsigned char)*++cur; if (yych == 'b') goto yy341; goto yy13; yy314: yych = (unsigned char)*++cur; if (yych == 'g') goto yy342; goto yy13; yy315: yych = (unsigned char)*++cur; if (yych == 'n') goto yy343; goto yy13; yy316: yych = (unsigned char)*++cur; if (yych == 'e') goto yy345; goto yy13; yy317: ++cur; #line 97 "../src/parse/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) { fatal ("configuration 'cgoto:threshold' must be nonnegative"); } opts.set_cGotoThreshold (static_cast (n)); return; } #line 1453 "src/parse/lex_conf.cc" yy319: yych = (unsigned char)*++cur; if (yych == 'n') goto yy346; goto yy13; yy320: yyaccept = 5; yych = (unsigned char)*(ptr = ++cur); if (yych == 'C') goto yy347; yy321: #line 115 "../src/parse/lex_conf.re" { opts.set_yybackup (lex_conf_string ()); return; } #line 1465 "src/parse/lex_conf.cc" yy322: yych = (unsigned char)*++cur; if (yych == 'P') goto yy348; goto yy13; yy323: yych = (unsigned char)*++cur; if (yych == 'K') goto yy349; goto yy13; yy324: ++cur; #line 108 "../src/parse/lex_conf.re" { opts.set_yycursor (lex_conf_string ()); return; } #line 1478 "src/parse/lex_conf.cc" yy326: yych = (unsigned char)*++cur; if (yych == 'a') goto yy350; goto yy13; yy327: yych = (unsigned char)*++cur; if (yych == 'e') goto yy351; goto yy13; yy328: yych = (unsigned char)*++cur; if (yych == 'D') goto yy352; goto yy13; yy329: yych = (unsigned char)*++cur; if (yych == 'T') goto yy353; goto yy13; yy330: yych = (unsigned char)*++cur; if (yych == 'A') goto yy354; goto yy13; yy331: ++cur; #line 109 "../src/parse/lex_conf.re" { opts.set_yymarker (lex_conf_string ()); return; } #line 1503 "src/parse/lex_conf.cc" yy333: yych = (unsigned char)*++cur; if (yych == 'E') goto yy355; goto yy13; yy334: yych = (unsigned char)*++cur; if (yych == 'D') goto yy357; goto yy13; yy335: yych = (unsigned char)*++cur; if (yych == 'T') goto yy358; goto yy13; yy336: yych = (unsigned char)*++cur; if (yych == 'e') goto yy359; goto yy13; yy337: ++cur; #line 91 "../src/parse/lex_conf.re" { opts.set_bUseStateNext (lex_conf_number () != 0); return; } #line 1524 "src/parse/lex_conf.cc" yy339: yych = (unsigned char)*++cur; if (yych == 'p') goto yy360; goto yy13; yy340: yych = (unsigned char)*++cur; if (yych == 'l') goto yy361; goto yy13; yy341: yych = (unsigned char)*++cur; if (yych == 'l') goto yy362; goto yy13; yy342: yych = (unsigned char)*++cur; if (yych == 'e') goto yy363; goto yy13; yy343: ++cur; #line 137 "../src/parse/lex_conf.re" { opts.set_yychConversion (lex_conf_number () != 0); return; } #line 1545 "src/parse/lex_conf.cc" yy345: yych = (unsigned char)*++cur; if (yych == 'r') goto yy364; goto yy13; yy346: yych = (unsigned char)*++cur; if (yych == 'd') goto yy366; goto yy13; yy347: yych = (unsigned char)*++cur; if (yych == 'T') goto yy368; goto yy13; yy348: yych = (unsigned char)*++cur; if (yych == 'E') goto yy369; goto yy13; yy349: yych = (unsigned char)*++cur; if (yych == 'E') goto yy371; goto yy13; yy350: yych = (unsigned char)*++cur; if (yych == 'k') goto yy372; goto yy13; yy351: yych = (unsigned char)*++cur; if (yych == 'n') goto yy373; goto yy13; yy352: yych = (unsigned char)*++cur; if (yych == 'I') goto yy375; goto yy13; yy353: yych = (unsigned char)*++cur; if (yych == 'E') goto yy376; goto yy13; yy354: yych = (unsigned char)*++cur; if (yych == 'N') goto yy378; goto yy13; yy355: yyaccept = 6; yych = (unsigned char)*(ptr = ++cur); if (yych == 'C') goto yy380; yy356: #line 117 "../src/parse/lex_conf.re" { opts.set_yyrestore (lex_conf_string ()); return; } #line 1593 "src/parse/lex_conf.cc" yy357: yych = (unsigned char)*++cur; if (yych == 'I') goto yy381; goto yy13; yy358: yych = (unsigned char)*++cur; if (yych == 'E') goto yy382; goto yy13; yy359: yych = (unsigned char)*++cur; if (yych == 'l') goto yy384; goto yy13; yy360: yych = (unsigned char)*++cur; if (yych == 't') goto yy386; goto yy13; yy361: yych = (unsigned char)*++cur; if (yych == 'e') goto yy388; goto yy13; yy362: yych = (unsigned char)*++cur; if (yych == 'e') goto yy390; goto yy13; yy363: yych = (unsigned char)*++cur; if (yych == 't') goto yy392; goto yy13; yy364: ++cur; #line 143 "../src/parse/lex_conf.re" { opts.set_fill_arg_use (lex_conf_number () != 0); return; } #line 1626 "src/parse/lex_conf.cc" yy366: ++cur; #line 78 "../src/parse/lex_conf.re" { opts.set_condDividerParam (lex_conf_string ()); return; } #line 1631 "src/parse/lex_conf.cc" yy368: yych = (unsigned char)*++cur; if (yych == 'X') goto yy394; goto yy13; yy369: ++cur; #line 69 "../src/parse/lex_conf.re" { opts.set_yycondtype (lex_conf_string ()); return; } #line 1640 "src/parse/lex_conf.cc" yy371: yych = (unsigned char)*++cur; if (yych == 'R') goto yy396; goto yy13; yy372: yych = (unsigned char)*++cur; if (yych == 'e') goto yy398; goto yy13; yy373: ++cur; #line 142 "../src/parse/lex_conf.re" { opts.set_fill_arg (lex_conf_string ()); return; } #line 1653 "src/parse/lex_conf.cc" yy375: yych = (unsigned char)*++cur; if (yych == 'T') goto yy399; goto yy13; yy376: yyaccept = 7; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy400; yy377: #line 83 "../src/parse/lex_conf.re" { opts.set_state_get (lex_conf_string ()); return; } #line 1665 "src/parse/lex_conf.cc" yy378: ++cur; #line 119 "../src/parse/lex_conf.re" { opts.set_yylessthan (lex_conf_string ()); return; } #line 1670 "src/parse/lex_conf.cc" yy380: yych = (unsigned char)*++cur; if (yych == 'T') goto yy401; goto yy13; yy381: yych = (unsigned char)*++cur; if (yych == 'T') goto yy402; goto yy13; yy382: yyaccept = 8; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy403; if (yych == '@') goto yy404; yy383: #line 85 "../src/parse/lex_conf.re" { opts.set_state_set (lex_conf_string ()); return; } #line 1687 "src/parse/lex_conf.cc" yy384: ++cur; #line 88 "../src/parse/lex_conf.re" { opts.set_yyfilllabel (lex_conf_string ()); return; } #line 1692 "src/parse/lex_conf.cc" yy386: ++cur; #line 92 "../src/parse/lex_conf.re" { opts.set_yyaccept (lex_conf_string ()); return; } #line 1697 "src/parse/lex_conf.cc" yy388: ++cur; #line 81 "../src/parse/lex_conf.re" { opts.set_yyctable (lex_conf_string ()); return; } #line 1702 "src/parse/lex_conf.cc" yy390: ++cur; #line 154 "../src/parse/lex_conf.re" { lex_conf_string (); return; } #line 1707 "src/parse/lex_conf.cc" yy392: ++cur; #line 106 "../src/parse/lex_conf.re" { opts.set_yytarget (lex_conf_string ()); return; } #line 1712 "src/parse/lex_conf.cc" yy394: ++cur; #line 116 "../src/parse/lex_conf.re" { opts.set_yybackupctx (lex_conf_string ()); return; } #line 1717 "src/parse/lex_conf.cc" yy396: ++cur; #line 110 "../src/parse/lex_conf.re" { opts.set_yyctxmarker (lex_conf_string ()); return; } #line 1722 "src/parse/lex_conf.cc" yy398: yych = (unsigned char)*++cur; if (yych == 'd') goto yy405; goto yy13; yy399: yych = (unsigned char)*++cur; if (yych == 'I') goto yy407; goto yy13; yy400: yych = (unsigned char)*++cur; if (yych == 'n') goto yy408; goto yy13; yy401: yych = (unsigned char)*++cur; if (yych == 'X') goto yy409; goto yy13; yy402: yych = (unsigned char)*++cur; if (yych == 'I') goto yy411; goto yy13; yy403: yych = (unsigned char)*++cur; if (yych == 'n') goto yy412; goto yy13; yy404: yych = (unsigned char)*++cur; if (yych == 's') goto yy413; goto yy13; yy405: ++cur; #line 144 "../src/parse/lex_conf.re" { opts.set_fill_naked (lex_conf_number () != 0); return; } #line 1755 "src/parse/lex_conf.cc" yy407: yych = (unsigned char)*++cur; if (yych == 'O') goto yy414; goto yy13; yy408: yych = (unsigned char)*++cur; if (yych == 'a') goto yy415; goto yy13; yy409: ++cur; #line 118 "../src/parse/lex_conf.re" { opts.set_yyrestorectx (lex_conf_string ()); return; } #line 1768 "src/parse/lex_conf.cc" yy411: yych = (unsigned char)*++cur; if (yych == 'O') goto yy416; goto yy13; yy412: yych = (unsigned char)*++cur; if (yych == 'a') goto yy417; goto yy13; yy413: yych = (unsigned char)*++cur; if (yych == 't') goto yy418; goto yy13; yy414: yych = (unsigned char)*++cur; if (yych == 'N') goto yy419; goto yy13; yy415: yych = (unsigned char)*++cur; if (yych == 'k') goto yy421; goto yy13; yy416: yych = (unsigned char)*++cur; if (yych == 'N') goto yy422; goto yy13; yy417: yych = (unsigned char)*++cur; if (yych == 'k') goto yy424; goto yy13; yy418: yych = (unsigned char)*++cur; if (yych == 'a') goto yy425; goto yy13; yy419: yyaccept = 9; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy426; yy420: #line 70 "../src/parse/lex_conf.re" { opts.set_cond_get (lex_conf_string ()); return; } #line 1808 "src/parse/lex_conf.cc" yy421: yych = (unsigned char)*++cur; if (yych == 'e') goto yy427; goto yy13; yy422: yyaccept = 10; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy428; if (yych == '@') goto yy429; yy423: #line 72 "../src/parse/lex_conf.re" { opts.set_cond_set (lex_conf_string ()); return; } #line 1821 "src/parse/lex_conf.cc" yy424: yych = (unsigned char)*++cur; if (yych == 'e') goto yy430; goto yy13; yy425: yych = (unsigned char)*++cur; if (yych == 't') goto yy431; goto yy13; yy426: yych = (unsigned char)*++cur; if (yych == 'n') goto yy432; goto yy13; yy427: yych = (unsigned char)*++cur; if (yych == 'd') goto yy433; goto yy13; yy428: yych = (unsigned char)*++cur; if (yych == 'n') goto yy435; goto yy13; yy429: yych = (unsigned char)*++cur; if (yych == 'c') goto yy436; goto yy13; yy430: yych = (unsigned char)*++cur; if (yych == 'd') goto yy437; goto yy13; yy431: yych = (unsigned char)*++cur; if (yych == 'e') goto yy439; goto yy13; yy432: yych = (unsigned char)*++cur; if (yych == 'a') goto yy441; goto yy13; yy433: ++cur; #line 84 "../src/parse/lex_conf.re" { opts.set_state_get_naked (lex_conf_number () != 0); return; } #line 1862 "src/parse/lex_conf.cc" yy435: yych = (unsigned char)*++cur; if (yych == 'a') goto yy442; goto yy13; yy436: yych = (unsigned char)*++cur; if (yych == 'o') goto yy443; goto yy13; yy437: ++cur; #line 86 "../src/parse/lex_conf.re" { opts.set_state_set_naked (lex_conf_number () != 0); return; } #line 1875 "src/parse/lex_conf.cc" yy439: ++cur; #line 87 "../src/parse/lex_conf.re" { opts.set_state_set_arg (lex_conf_string ()); return; } #line 1880 "src/parse/lex_conf.cc" yy441: yych = (unsigned char)*++cur; if (yych == 'k') goto yy444; goto yy13; yy442: yych = (unsigned char)*++cur; if (yych == 'k') goto yy445; goto yy13; yy443: yych = (unsigned char)*++cur; if (yych == 'n') goto yy446; goto yy13; yy444: yych = (unsigned char)*++cur; if (yych == 'e') goto yy447; goto yy13; yy445: yych = (unsigned char)*++cur; if (yych == 'e') goto yy448; goto yy13; yy446: yych = (unsigned char)*++cur; if (yych == 'd') goto yy449; goto yy13; yy447: yych = (unsigned char)*++cur; if (yych == 'd') goto yy451; goto yy13; yy448: yych = (unsigned char)*++cur; if (yych == 'd') goto yy453; goto yy13; yy449: ++cur; #line 73 "../src/parse/lex_conf.re" { opts.set_cond_set_arg (lex_conf_string ()); return; } #line 1917 "src/parse/lex_conf.cc" yy451: ++cur; #line 71 "../src/parse/lex_conf.re" { opts.set_cond_get_naked (lex_conf_number () != 0); return; } #line 1922 "src/parse/lex_conf.cc" yy453: ++cur; #line 74 "../src/parse/lex_conf.re" { opts.set_cond_set_naked (lex_conf_number () != 0); return; } #line 1927 "src/parse/lex_conf.cc" } #line 155 "../src/parse/lex_conf.re" } void Scanner::lex_conf_assign () { #line 1936 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { if (yych == '\t') goto yy459; } else { if (yych <= ' ') goto yy459; if (yych == '=') goto yy460; } ++cur; yy458: #line 161 "../src/parse/lex_conf.re" { fatal ("missing '=' in configuration"); } #line 1985 "src/parse/lex_conf.cc" yy459: yych = (unsigned char)*(ptr = ++cur); if (yych <= 0x1F) { if (yych == '\t') goto yy463; goto yy458; } else { if (yych <= ' ') goto yy463; if (yych != '=') goto yy458; } yy460: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy460; } #line 162 "../src/parse/lex_conf.re" { return; } #line 2004 "src/parse/lex_conf.cc" yy463: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= 0x1F) { if (yych == '\t') goto yy463; } else { if (yych <= ' ') goto yy463; if (yych == '=') goto yy460; } cur = ptr; goto yy458; } #line 163 "../src/parse/lex_conf.re" } void Scanner::lex_conf_semicolon () { #line 2025 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { if (yych == '\t') goto yy470; } else { if (yych <= ' ') goto yy470; if (yych == ';') goto yy471; } ++cur; yy469: #line 169 "../src/parse/lex_conf.re" { fatal ("missing ending ';' in configuration"); } #line 2074 "src/parse/lex_conf.cc" yy470: yych = (unsigned char)*(ptr = ++cur); if (yybm[0+yych] & 128) { goto yy473; } if (yych != ';') goto yy469; yy471: ++cur; #line 170 "../src/parse/lex_conf.re" { return; } #line 2085 "src/parse/lex_conf.cc" yy473: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy473; } if (yych == ';') goto yy471; cur = ptr; goto yy469; } #line 171 "../src/parse/lex_conf.re" } int32_t Scanner::lex_conf_number () { lex_conf_assign (); tok = cur; #line 2106 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= '/') { if (yych == '-') goto yy479; } else { if (yych <= '0') goto yy480; if (yych <= '9') goto yy482; } yy478: yy479: yych = (unsigned char)*++cur; if (yych <= '0') goto yy478; if (yych <= '9') goto yy482; goto yy478; yy480: ++cur; yy481: #line 180 "../src/parse/lex_conf.re" { int32_t n = 0; if (!s_to_i32_unsafe (tok, cur, n)) { fatal ("configuration value overflow"); } lex_conf_semicolon (); return n; } #line 2170 "src/parse/lex_conf.cc" yy482: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy482; } goto yy481; } #line 189 "../src/parse/lex_conf.re" } std::string Scanner::lex_conf_string () { lex_conf_assign (); std::string s; tok = cur; #line 2190 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= '!') { if (yych <= '\n') { if (yych <= 0x08) goto yy487; } else { if (yych != ' ') goto yy487; } } else { if (yych <= '\'') { if (yych <= '"') goto yy489; if (yych <= '&') goto yy487; goto yy489; } else { if (yych != ';') goto yy487; } } yy486: #line 212 "../src/parse/lex_conf.re" { s = std::string(tok, tok_len()); goto end; } #line 2250 "src/parse/lex_conf.cc" yy487: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy487; } goto yy486; yy489: ++cur; #line 198 "../src/parse/lex_conf.re" { const char quote = tok[0]; for (bool end;;) { const uint32_t c = lex_str_chr(quote, end); if (end) { goto end; } if (c > 0xFF) { fatalf ("multibyte character in configuration string: 0x%X", c); } else { s += static_cast(c); } } } #line 2276 "src/parse/lex_conf.cc" } #line 216 "../src/parse/lex_conf.re" end: lex_conf_semicolon (); return s; } } // end namespace re2c