raze-gles/tools/re2c/src/parse/lex_conf.cc
Christoph Oelckers 8c95516224 - added compile tools from GZDoom repo:
- updaterevision for automated revision string generation
- re2c as a prerequisite to use sc_man in the future
- zipdir to automatically generate an engine resource file.
2019-09-22 08:52:30 +02:00

2284 lines
50 KiB
C++

/* 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 <string>
#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<uint32_t> (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<uint32_t> (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<char>(c);
}
}
}
#line 2276 "src/parse/lex_conf.cc"
}
#line 216 "../src/parse/lex_conf.re"
end:
lex_conf_semicolon ();
return s;
}
} // end namespace re2c