int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: #line 29 "bug1472770.f.c" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; } goto yy0; yy1: ++YYCURSOR; yy0: YYSETSTATE(0); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case 0x00: goto yy5; case '\n': goto yy3; default: goto yy1; } yy3: ++YYCURSOR; #line 27 "bug1472770.f.re" { ++n; goto start; } #line 55 "bug1472770.f.c" yy5: ++YYCURSOR; #line 32 "bug1472770.f.re" { return n; } #line 62 "bug1472770.f.c" #line 35 "bug1472770.f.re" }
char *scan(char *p) { char *q; #line 15 "config4c.f.c" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } start: yy0: YYSETSTATE(0); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy2; } yy2: ++YYCURSOR; #line 15 "config4c.f.re" { return NULL; } #line 45 "config4c.f.c" yy4: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy6; } yy6: #line 14 "config4c.f.re" { return YYCURSOR; } #line 68 "config4c.f.c" #line 16 "config4c.f.re" }
int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: #line 96 "scanner.fs.c" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; case 3: goto yyFillLabel3; case 4: goto yyFillLabel4; case 5: goto yyFillLabel5; case 6: goto yyFillLabel6; case 7: goto yyFillLabel7; case 8: goto yyFillLabel8; case 9: goto yyFillLabel9; case 10: goto yyFillLabel10; case 11: goto yyFillLabel11; case 12: goto yyFillLabel12; case 13: goto yyFillLabel13; case 14: goto yyFillLabel14; case 15: goto yyFillLabel15; case 16: goto yyFillLabel16; case 17: goto yyFillLabel17; case 18: goto yyFillLabel18; case 19: goto yyFillLabel19; case 20: goto yyFillLabel20; case 21: goto yyFillLabel21; case 22: goto yyFillLabel22; case 23: goto yyFillLabel23; case 24: goto yyFillLabel24; case 25: goto yyFillLabel25; case 26: goto yyFillLabel26; case 27: goto yyFillLabel27; case 28: goto yyFillLabel28; case 29: goto yyFillLabel29; case 30: goto yyFillLabel30; case 31: goto yyFillLabel31; case 32: goto yyFillLabel32; case 33: goto yyFillLabel33; case 34: goto yyFillLabel34; case 35: goto yyFillLabel35; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yyFillLabel0: yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x00) goto yy7; if (yych == '\n') goto yy5; goto yy9; } else { if (yych <= '*') goto yy4; if (yych != '/') goto yy9; } yych = *(YYMARKER = ++YYCURSOR); if (yych == '*') goto yy12; yy3: #line 141 "scanner.fs.re" { goto echo; } #line 157 "scanner.fs.c" yy4: yych = *++YYCURSOR; if (yych == '/') goto yy10; goto yy3; yy5: ++YYCURSOR; #line 130 "scanner.fs.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } #line 170 "scanner.fs.c" yy7: ++YYCURSOR; #line 135 "scanner.fs.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } #line 180 "scanner.fs.c" yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; #line 121 "scanner.fs.re" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } #line 196 "scanner.fs.c" yy12: yych = *++YYCURSOR; if (yych == '!') goto yy14; yy13: YYCURSOR = YYMARKER; goto yy3; yy14: yych = *++YYCURSOR; if (yych == 'm') goto yy15; if (yych == 'r') goto yy16; goto yy13; yy15: yych = *++YYCURSOR; if (yych == 'a') goto yy21; goto yy13; yy16: yych = *++YYCURSOR; if (yych != 'e') goto yy13; yych = *++YYCURSOR; if (yych != '2') goto yy13; yych = *++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 110 "scanner.fs.re" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } #line 226 "scanner.fs.c" yy21: yych = *++YYCURSOR; if (yych != 'x') goto yy13; yych = *++YYCURSOR; if (yych != ':') goto yy13; yych = *++YYCURSOR; if (yych != 'r') goto yy13; yych = *++YYCURSOR; if (yych != 'e') goto yy13; yych = *++YYCURSOR; if (yych != '2') goto yy13; yych = *++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 115 "scanner.fs.re" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } #line 248 "scanner.fs.c" #line 144 "scanner.fs.re" }
int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } #line 272 "scanner.fs.c" YYSETSTATE(1); if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yyFillLabel1: yych = *YYCURSOR; if (yych <= '/') { if (yych <= '!') { if (yych <= '\f') { if (yych <= 0x08) goto yy56; if (yych <= '\t') goto yy50; if (yych <= '\n') goto yy52; goto yy56; } else { if (yych <= '\r') goto yy54; if (yych == ' ') goto yy50; goto yy56; } } else { if (yych <= ')') { if (yych <= '"') goto yy37; if (yych <= '&') goto yy56; if (yych <= '\'') goto yy39; goto yy43; } else { if (yych <= '+') { if (yych <= '*') goto yy35; goto yy44; } else { if (yych <= '-') goto yy56; if (yych <= '.') goto yy48; goto yy33; } } } } else { if (yych <= 'Z') { if (yych <= '=') { if (yych == ';') goto yy43; if (yych <= '<') goto yy56; goto yy43; } else { if (yych == '?') goto yy44; if (yych <= '@') goto yy56; goto yy47; } } else { if (yych <= 'q') { if (yych <= '[') goto yy41; if (yych <= '\\') goto yy43; if (yych <= '`') goto yy56; goto yy47; } else { if (yych <= 'z') { if (yych <= 'r') goto yy45; goto yy47; } else { if (yych <= '{') goto yy31; if (yych <= '|') goto yy43; goto yy56; } } } } yy31: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ',') goto yy97; } else { if (yych <= '0') goto yy94; if (yych <= '9') goto yy95; } yy32: #line 166 "scanner.fs.re" { depth = 1; goto code; } #line 350 "scanner.fs.c" yy33: ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy92; yy34: #line 196 "scanner.fs.re" { RETURN(*tok); } #line 357 "scanner.fs.c" yy35: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy90; yy36: #line 198 "scanner.fs.re" { yylval.op = *tok; RETURN(CLOSE); } #line 365 "scanner.fs.c" yy37: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy86; yy38: #line 183 "scanner.fs.re" { fatal("unterminated string constant (missing \")"); } #line 373 "scanner.fs.c" yy39: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy81; yy40: #line 184 "scanner.fs.re" { fatal("unterminated string constant (missing ')"); } #line 381 "scanner.fs.c" yy41: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy42; if (yych == '^') goto yy72; goto yy71; yy42: #line 194 "scanner.fs.re" { fatal("unterminated range (missing ])"); } #line 391 "scanner.fs.c" yy43: yych = *++YYCURSOR; goto yy34; yy44: yych = *++YYCURSOR; goto yy36; yy45: ++YYCURSOR; if ((yych = *YYCURSOR) == 'e') goto yy62; goto yy61; yy46: #line 225 "scanner.fs.re" { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } #line 407 "scanner.fs.c" yy47: yych = *++YYCURSOR; goto yy61; yy48: ++YYCURSOR; #line 229 "scanner.fs.re" { cur = cursor; yylval.regexp = mkDot(); return RANGE; } #line 418 "scanner.fs.c" yy50: ++YYCURSOR; yych = *YYCURSOR; goto yy59; yy51: #line 234 "scanner.fs.re" { goto scan; } #line 426 "scanner.fs.c" yy52: ++YYCURSOR; yy53: #line 236 "scanner.fs.re" { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } #line 435 "scanner.fs.c" yy54: ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy57; yy55: #line 241 "scanner.fs.re" { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } #line 447 "scanner.fs.c" yy56: yych = *++YYCURSOR; goto yy55; yy57: yych = *++YYCURSOR; goto yy53; yy58: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy59: if (yych == '\t') goto yy58; if (yych == ' ') goto yy58; goto yy51; yy60: ++YYCURSOR; YYSETSTATE(3); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel3: yych = *YYCURSOR; yy61: if (yych <= '@') { if (yych <= '/') goto yy46; if (yych <= '9') goto yy60; goto yy46; } else { if (yych <= 'Z') goto yy60; if (yych <= '`') goto yy46; if (yych <= 'z') goto yy60; goto yy46; } yy62: yych = *++YYCURSOR; if (yych != '2') goto yy61; yych = *++YYCURSOR; if (yych != 'c') goto yy61; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych != ':') goto yy61; yy65: ++YYCURSOR; YYSETSTATE(4); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel4: yych = *YYCURSOR; if (yych <= '@') goto yy66; if (yych <= 'Z') goto yy67; if (yych <= '`') goto yy66; if (yych <= 'z') goto yy67; yy66: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept == 0) { goto yy32; } else { goto yy38; } } else { if (yyaccept == 2) { goto yy40; } else { goto yy42; } } } else { if (yyaccept <= 5) { if (yyaccept == 4) { goto yy46; } else { goto yy69; } } else { goto yy98; } } yy67: yyaccept = 5; YYMARKER = ++YYCURSOR; YYSETSTATE(5); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel5: yych = *YYCURSOR; if (yych <= 'Z') { if (yych <= '9') { if (yych >= '0') goto yy67; } else { if (yych <= ':') goto yy65; if (yych >= 'A') goto yy67; } } else { if (yych <= '_') { if (yych >= '_') goto yy67; } else { if (yych <= '`') goto yy69; if (yych <= 'z') goto yy67; } } yy69: #line 218 "scanner.fs.re" { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } #line 556 "scanner.fs.c" yy70: ++YYCURSOR; YYSETSTATE(6); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel6: yych = *YYCURSOR; yy71: if (yych <= '[') { if (yych == '\n') goto yy66; goto yy70; } else { if (yych <= '\\') goto yy74; if (yych <= ']') goto yy75; goto yy70; } yy72: ++YYCURSOR; YYSETSTATE(7); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel7: yych = *YYCURSOR; if (yych <= '[') { if (yych == '\n') goto yy66; goto yy72; } else { if (yych <= '\\') goto yy77; if (yych <= ']') goto yy78; goto yy72; } yy74: ++YYCURSOR; YYSETSTATE(8); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel8: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy70; yy75: ++YYCURSOR; #line 190 "scanner.fs.re" { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } #line 600 "scanner.fs.c" yy77: ++YYCURSOR; YYSETSTATE(9); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel9: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy72; yy78: ++YYCURSOR; #line 186 "scanner.fs.re" { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } #line 615 "scanner.fs.c" yy80: ++YYCURSOR; YYSETSTATE(10); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel10: yych = *YYCURSOR; yy81: if (yych <= '&') { if (yych == '\n') goto yy66; goto yy80; } else { if (yych <= '\'') goto yy83; if (yych != '\\') goto yy80; } ++YYCURSOR; YYSETSTATE(11); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel11: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy80; yy83: ++YYCURSOR; #line 179 "scanner.fs.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } #line 643 "scanner.fs.c" yy85: ++YYCURSOR; YYSETSTATE(12); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel12: yych = *YYCURSOR; yy86: if (yych <= '!') { if (yych == '\n') goto yy66; goto yy85; } else { if (yych <= '"') goto yy88; if (yych != '\\') goto yy85; } ++YYCURSOR; YYSETSTATE(13); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel13: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy85; yy88: ++YYCURSOR; #line 175 "scanner.fs.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } #line 671 "scanner.fs.c" yy90: ++YYCURSOR; #line 172 "scanner.fs.re" { tok = cursor; RETURN(0); } #line 677 "scanner.fs.c" yy92: ++YYCURSOR; #line 169 "scanner.fs.re" { depth = 1; goto comment; } #line 683 "scanner.fs.c" yy94: yych = *++YYCURSOR; if (yych == ',') goto yy108; goto yy96; yy95: ++YYCURSOR; YYSETSTATE(14); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel14: yych = *YYCURSOR; yy96: if (yych <= '/') { if (yych == ',') goto yy101; goto yy66; } else { if (yych <= '9') goto yy95; if (yych == '}') goto yy99; goto yy66; } yy97: ++YYCURSOR; yy98: #line 216 "scanner.fs.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } #line 708 "scanner.fs.c" yy99: ++YYCURSOR; #line 204 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } #line 715 "scanner.fs.c" yy101: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy98; if (yych <= '9') goto yy104; if (yych != '}') goto yy98; ++YYCURSOR; #line 212 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } #line 727 "scanner.fs.c" yy104: ++YYCURSOR; YYSETSTATE(15); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel15: yych = *YYCURSOR; if (yych <= '/') goto yy66; if (yych <= '9') goto yy104; if (yych != '}') goto yy66; ++YYCURSOR; #line 208 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } #line 742 "scanner.fs.c" yy108: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy98; if (yych <= '9') goto yy104; if (yych != '}') goto yy98; ++YYCURSOR; #line 201 "scanner.fs.re" { yylval.op = '*'; RETURN(CLOSE); } #line 753 "scanner.fs.c" #line 247 "scanner.fs.re" code: #line 759 "scanner.fs.c" YYSETSTATE(16); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel16: yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\n') { if (yych <= '\t') goto yy119; goto yy117; } else { if (yych == '"') goto yy121; goto yy119; } } else { if (yych <= '{') { if (yych <= '\'') goto yy122; if (yych <= 'z') goto yy119; goto yy115; } else { if (yych != '}') goto yy119; } } ++YYCURSOR; #line 251 "scanner.fs.re" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } #line 790 "scanner.fs.c" yy115: ++YYCURSOR; #line 257 "scanner.fs.re" { ++depth; goto code; } #line 796 "scanner.fs.c" yy117: ++YYCURSOR; #line 259 "scanner.fs.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } #line 804 "scanner.fs.c" yy119: ++YYCURSOR; yy120: #line 263 "scanner.fs.re" { goto code; } #line 810 "scanner.fs.c" yy121: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy120; goto yy128; yy122: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy120; goto yy124; yy123: ++YYCURSOR; YYSETSTATE(17); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel17: yych = *YYCURSOR; yy124: if (yych <= '&') { if (yych != '\n') goto yy123; } else { if (yych <= '\'') goto yy119; if (yych == '\\') goto yy126; goto yy123; } yy125: YYCURSOR = YYMARKER; goto yy120; yy126: ++YYCURSOR; YYSETSTATE(18); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel18: yych = *YYCURSOR; if (yych == '\n') goto yy125; goto yy123; yy127: ++YYCURSOR; YYSETSTATE(19); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel19: yych = *YYCURSOR; yy128: if (yych <= '!') { if (yych == '\n') goto yy125; goto yy127; } else { if (yych <= '"') goto yy119; if (yych != '\\') goto yy127; } ++YYCURSOR; YYSETSTATE(20); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel20: yych = *YYCURSOR; if (yych == '\n') goto yy125; goto yy127; #line 264 "scanner.fs.re" comment: #line 870 "scanner.fs.c" YYSETSTATE(21); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel21: yych = *YYCURSOR; if (yych <= ')') { if (yych == '\n') goto yy135; goto yy137; } else { if (yych <= '*') goto yy132; if (yych == '/') goto yy134; goto yy137; } yy132: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy140; yy133: #line 279 "scanner.fs.re" { if(cursor == eof) RETURN(0); goto comment; } #line 891 "scanner.fs.c" yy134: yych = *++YYCURSOR; if (yych == '*') goto yy138; goto yy133; yy135: ++YYCURSOR; #line 275 "scanner.fs.re" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } #line 903 "scanner.fs.c" yy137: yych = *++YYCURSOR; goto yy133; yy138: ++YYCURSOR; #line 272 "scanner.fs.re" { ++depth; fatal("ambiguous /* found"); goto comment; } #line 913 "scanner.fs.c" yy140: ++YYCURSOR; #line 268 "scanner.fs.re" { if(--depth == 0) goto scan; else goto comment; } #line 921 "scanner.fs.c" #line 281 "scanner.fs.re" config: #line 927 "scanner.fs.c" YYSETSTATE(22); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel22: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych != '\t') goto yy148; } else { if (yych <= ' ') goto yy144; if (yych == '=') goto yy146; goto yy148; } yy144: ++YYCURSOR; yych = *YYCURSOR; goto yy153; yy145: #line 285 "scanner.fs.re" { goto config; } #line 947 "scanner.fs.c" yy146: ++YYCURSOR; yych = *YYCURSOR; goto yy151; yy147: #line 286 "scanner.fs.re" { iscfg = 2; cur = cursor; RETURN('='); } #line 958 "scanner.fs.c" yy148: ++YYCURSOR; #line 290 "scanner.fs.re" { fatal("missing '='"); } #line 963 "scanner.fs.c" yy150: ++YYCURSOR; YYSETSTATE(23); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel23: yych = *YYCURSOR; yy151: if (yych == '\t') goto yy150; if (yych == ' ') goto yy150; goto yy147; yy152: ++YYCURSOR; YYSETSTATE(24); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel24: yych = *YYCURSOR; yy153: if (yych == '\t') goto yy152; if (yych == ' ') goto yy152; goto yy145; #line 291 "scanner.fs.re" value: #line 989 "scanner.fs.c" YYSETSTATE(25); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel25: yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy162; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; } else { if (yych == '"') goto yy164; goto yy162; } } } else { if (yych <= '/') { if (yych <= '\'') goto yy166; if (yych == '-') goto yy159; goto yy162; } else { if (yych <= '9') { if (yych <= '0') goto yy157; goto yy160; } else { if (yych != ';') goto yy162; } } } yy156: #line 300 "scanner.fs.re" { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } #line 1029 "scanner.fs.c" yy157: ++YYCURSOR; if ((yych = *YYCURSOR) <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy158; if (yych <= '\f') goto yy162; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; } else { if (yych != ';') goto yy162; } } yy158: #line 295 "scanner.fs.re" { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } #line 1050 "scanner.fs.c" yy159: yych = *++YYCURSOR; if (yych <= '0') goto yy163; if (yych >= ':') goto yy163; yy160: ++YYCURSOR; YYSETSTATE(26); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel26: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { if (yych >= '\t') goto yy158; } else { if (yych == '\r') goto yy158; } } else { if (yych <= '9') { if (yych <= ' ') goto yy158; if (yych >= '0') goto yy160; } else { if (yych == ';') goto yy158; } } yy162: ++YYCURSOR; YYSETSTATE(27); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel27: yych = *YYCURSOR; yy163: if (yych <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy162; goto yy156; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; goto yy156; } else { if (yych == ';') goto yy156; goto yy162; } } yy164: YYMARKER = ++YYCURSOR; YYSETSTATE(28); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel28: yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\n') { if (yych <= 0x08) goto yy164; if (yych <= '\t') goto yy174; goto yy156; } else { if (yych == '\r') goto yy174; if (yych <= 0x1F) goto yy164; goto yy174; } } else { if (yych <= ':') { if (yych == '"') goto yy162; goto yy164; } else { if (yych <= ';') goto yy174; if (yych == '\\') goto yy176; goto yy164; } } yy166: YYMARKER = ++YYCURSOR; YYSETSTATE(29); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel29: yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\n') { if (yych <= 0x08) goto yy166; if (yych >= '\n') goto yy156; } else { if (yych == '\r') goto yy168; if (yych <= 0x1F) goto yy166; } } else { if (yych <= ':') { if (yych == '\'') goto yy162; goto yy166; } else { if (yych <= ';') goto yy168; if (yych == '\\') goto yy171; goto yy166; } } yy168: ++YYCURSOR; YYSETSTATE(30); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel30: yych = *YYCURSOR; if (yych <= '&') { if (yych != '\n') goto yy168; } else { if (yych <= '\'') goto yy172; if (yych == '\\') goto yy173; goto yy168; } yy170: YYCURSOR = YYMARKER; goto yy156; yy171: YYMARKER = ++YYCURSOR; YYSETSTATE(31); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel31: yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy166; goto yy168; } else { if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy166; goto yy168; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy166; goto yy168; } else { if (yych == ';') goto yy168; goto yy166; } } yy172: yych = *++YYCURSOR; goto yy156; yy173: ++YYCURSOR; YYSETSTATE(32); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel32: yych = *YYCURSOR; if (yych == '\n') goto yy170; goto yy168; yy174: ++YYCURSOR; YYSETSTATE(33); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel33: yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy170; goto yy174; } else { if (yych <= '"') goto yy172; if (yych == '\\') goto yy177; goto yy174; } yy176: YYMARKER = ++YYCURSOR; YYSETSTATE(34); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel34: yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy164; goto yy174; } else { if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy164; goto yy174; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy164; goto yy174; } else { if (yych == ';') goto yy174; goto yy164; } } yy177: ++YYCURSOR; YYSETSTATE(35); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel35: yych = *YYCURSOR; if (yych == '\n') goto yy170; goto yy174; #line 305 "scanner.fs.re" }
char *scan(char *p) { char *q; #line 15 "<stdout>" switch (YYGETSTATE()) { default: abort(); case -1: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 13 "config4b.f.re" { return YYCURSOR; } #line 48 "<stdout>" yy4: ++YYCURSOR; #line 14 "config4b.f.re" { return NULL; } #line 53 "<stdout>" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 15 "config4b.f.re" }
char *scan(char *p) { char *q; #line 15 "config4d.f.c" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yyNext: start: yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 15 "config4d.f.re" { return YYCURSOR; } #line 49 "config4d.f.c" yy4: ++YYCURSOR; #line 16 "config4d.f.re" { return NULL; } #line 54 "config4d.f.c" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 17 "config4d.f.re" }
uint32_t push() { // The scanner starts here #define YYLIMIT limit #define YYCURSOR cursor #define YYMARKER marker #define YYCTYPE uint8_t #define SKIP(x) { start = cursor; goto yy0; } #define SEND(x) { send(x); SKIP(); } #define YYFILL(n) { goto fill; } #define YYGETSTATE() state #define YYSETSTATE(x) { state = (x); } start: #line 22 "push.fs.c" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yyFillLabel0: yych = *YYCURSOR; if (yych <= '=') { if (yych <= '(') { if (yych <= '\n') { if (yych <= 0x00) goto yy2; if (yych <= 0x08) goto yy4; if (yych <= '\t') goto yy6; goto yy8; } else { if (yych <= 0x1F) { if (yych <= '\r') goto yy6; goto yy4; } else { if (yych <= ' ') goto yy6; if (yych <= '\'') goto yy4; goto yy10; } } } else { if (yych <= '-') { if (yych <= '*') { if (yych <= ')') goto yy12; goto yy14; } else { if (yych <= '+') goto yy16; if (yych <= ',') goto yy4; goto yy18; } } else { if (yych <= '/') { if (yych <= '.') goto yy4; goto yy20; } else { if (yych <= '9') goto yy22; if (yych <= '<') goto yy4; goto yy25; } } } } else { if (yych <= 'e') { if (yych <= '_') { if (yych <= '@') goto yy4; if (yych <= 'Z') goto yy27; if (yych <= '^') goto yy4; goto yy27; } else { if (yych <= 'a') { if (yych <= '`') goto yy4; goto yy27; } else { if (yych <= 'b') goto yy30; if (yych <= 'd') goto yy27; goto yy31; } } } else { if (yych <= 'q') { if (yych <= 'g') { if (yych <= 'f') goto yy32; goto yy33; } else { if (yych == 'i') goto yy34; goto yy27; } } else { if (yych <= 'v') { if (yych <= 'r') goto yy35; goto yy27; } else { if (yych <= 'w') goto yy36; if (yych <= 'z') goto yy27; goto yy4; } } } } yy2: ++YYCURSOR; #line 48 "push.fs.re" { send(kEOF); return 1; } #line 115 "push.fs.c" yy4: ++YYCURSOR; #line 49 "push.fs.re" { SEND(kUnknown); } #line 120 "push.fs.c" yy6: ++YYCURSOR; #line 47 "push.fs.re" { SKIP(); } #line 125 "push.fs.c" yy8: ++YYCURSOR; #line 46 "push.fs.re" { SKIP(); } #line 130 "push.fs.c" yy10: ++YYCURSOR; #line 39 "push.fs.re" { SEND(kLeftParen); } #line 135 "push.fs.c" yy12: ++YYCURSOR; #line 40 "push.fs.re" { SEND(kRightParen); } #line 140 "push.fs.c" yy14: ++YYCURSOR; #line 43 "push.fs.re" { SEND(kStar); } #line 145 "push.fs.c" yy16: ++YYCURSOR; #line 42 "push.fs.re" { SEND(kPlus); } #line 150 "push.fs.c" yy18: ++YYCURSOR; #line 41 "push.fs.re" { SEND(kMinus); } #line 155 "push.fs.c" yy20: ++YYCURSOR; #line 44 "push.fs.re" { SEND(kSlash); } #line 160 "push.fs.c" yy22: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; if (yych <= '/') goto yy24; if (yych <= '9') goto yy22; yy24: #line 36 "push.fs.re" { SEND(kDecimalConstant);} #line 172 "push.fs.c" yy25: ++YYCURSOR; #line 38 "push.fs.re" { SEND(kEqual); } #line 177 "push.fs.c" yy27: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy28: if (yych <= 'Z') { if (yych <= '/') goto yy29; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy29; if (yych <= 'z') goto yy27; } } yy29: #line 35 "push.fs.re" { SEND(kIdentifier); } #line 200 "push.fs.c" yy30: yych = *++YYCURSOR; if (yych == 'r') goto yy37; goto yy28; yy31: yych = *++YYCURSOR; if (yych == 'l') goto yy38; goto yy28; yy32: yych = *++YYCURSOR; if (yych == 'o') goto yy39; goto yy28; yy33: yych = *++YYCURSOR; if (yych == 'o') goto yy40; goto yy28; yy34: yych = *++YYCURSOR; if (yych == 'f') goto yy41; goto yy28; yy35: yych = *++YYCURSOR; if (yych == 'e') goto yy43; goto yy28; yy36: yych = *++YYCURSOR; if (yych == 'h') goto yy44; goto yy28; yy37: yych = *++YYCURSOR; if (yych == 'e') goto yy45; goto yy28; yy38: yych = *++YYCURSOR; if (yych == 's') goto yy46; goto yy28; yy39: yych = *++YYCURSOR; if (yych == 'r') goto yy47; goto yy28; yy40: yych = *++YYCURSOR; if (yych == 't') goto yy49; goto yy28; yy41: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy42; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy42; if (yych <= 'z') goto yy27; } } yy42: #line 28 "push.fs.re" { SEND(kIf); } #line 262 "push.fs.c" yy43: yych = *++YYCURSOR; if (yych == 't') goto yy50; goto yy28; yy44: yych = *++YYCURSOR; if (yych == 'i') goto yy51; goto yy28; yy45: yych = *++YYCURSOR; if (yych == 'a') goto yy52; goto yy28; yy46: yych = *++YYCURSOR; if (yych == 'e') goto yy53; goto yy28; yy47: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy48; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy48; if (yych <= 'z') goto yy27; } } yy48: #line 29 "push.fs.re" { SEND(kFor); } #line 296 "push.fs.c" yy49: yych = *++YYCURSOR; if (yych == 'o') goto yy55; goto yy28; yy50: yych = *++YYCURSOR; if (yych == 'u') goto yy57; goto yy28; yy51: yych = *++YYCURSOR; if (yych == 'l') goto yy58; goto yy28; yy52: yych = *++YYCURSOR; if (yych == 'k') goto yy59; goto yy28; yy53: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy54; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy54; if (yych <= 'z') goto yy27; } } yy54: #line 30 "push.fs.re" { SEND(kElse); } #line 330 "push.fs.c" yy55: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy56; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy56; if (yych <= 'z') goto yy27; } } yy56: #line 31 "push.fs.re" { SEND(kGoto); } #line 348 "push.fs.c" yy57: yych = *++YYCURSOR; if (yych == 'r') goto yy61; goto yy28; yy58: yych = *++YYCURSOR; if (yych == 'e') goto yy62; goto yy28; yy59: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy60; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy60; if (yych <= 'z') goto yy27; } } yy60: #line 32 "push.fs.re" { SEND(kBreak); } #line 374 "push.fs.c" yy61: yych = *++YYCURSOR; if (yych == 'n') goto yy64; goto yy28; yy62: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy63; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy63; if (yych <= 'z') goto yy27; } } yy63: #line 33 "push.fs.re" { SEND(kWhile); } #line 396 "push.fs.c" yy64: yych = *++YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy65; if (yych <= '9') goto yy27; if (yych >= 'A') goto yy27; } else { if (yych <= '_') { if (yych >= '_') goto yy27; } else { if (yych <= '`') goto yy65; if (yych <= 'z') goto yy27; } } yy65: #line 34 "push.fs.re" { SEND(kReturn); } #line 414 "push.fs.c" #line 50 "push.fs.re" fill: return 0; }
char *scan(char *p) { char *q; #line 13 "config4f.f.re" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } // after getstate #line 25 "config4f.f.c" yy0: YYSETSTATE(0); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy2; } yy2: ++YYCURSOR; #line 22 "config4f.f.re" { return NULL; } #line 49 "config4f.f.c" yy4: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy6; } yy6: #line 21 "config4f.f.re" { return YYCURSOR; } #line 72 "config4f.f.c" #line 23 "config4f.f.re" }
static status_t lex(input_t &in, unsigned &words) { # define YYGETSTATE() in.state # define YYSETSTATE(s) in.state = s # define YYFILL(n) do { in.need = n; return NEED_MORE_INPUT; } while (0) switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; } loop: in.tok = in.cur; yy0: YYSETSTATE(0); if (in.lim <= in.cur) YYFILL(1); yyFillLabel0: in.yych = *in.cur; switch (in.yych) { case 0x00: goto yy2; case '\n': case ' ': goto yy6; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy4; } yy2: ++in.cur; { return OK; } yy4: ++in.cur; { return FAIL; } yy6: ++in.cur; YYSETSTATE(1); if (in.lim <= in.cur) YYFILL(1); yyFillLabel1: in.yych = *in.cur; switch (in.yych) { case '\n': case ' ': goto yy6; default: goto yy8; } yy8: { goto loop; } yy9: ++in.cur; YYSETSTATE(2); if (in.lim <= in.cur) YYFILL(1); yyFillLabel2: in.yych = *in.cur; switch (in.yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy11; } yy11: { ++words; goto loop; } }
uint32_t push() { // The scanner starts here #define YYLIMIT limit #define YYCURSOR cursor #define YYMARKER marker #define YYCTYPE uint8_t #define SKIP(x) { start = cursor; goto yy0; } #define SEND(x) { send(x); SKIP(); } #define YYFILL(n) { goto fill; } #define YYGETSTATE() state #define YYSETSTATE(x) { state = (x); } start: #line 22 "<stdout>" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yyFillLabel0: yych = *YYCURSOR; if (yych <= '=') { if (yych <= '(') { if (yych <= '\n') { if (yych <= 0x00) goto yy32; if (yych <= 0x08) goto yy34; if (yych <= '\t') goto yy30; goto yy28; } else { if (yych <= 0x1F) { if (yych <= '\r') goto yy30; goto yy34; } else { if (yych <= ' ') goto yy30; if (yych <= '\'') goto yy34; goto yy16; } } } else { if (yych <= '-') { if (yych <= '*') { if (yych <= ')') goto yy18; goto yy24; } else { if (yych <= '+') goto yy22; if (yych <= ',') goto yy34; goto yy20; } } else { if (yych <= '/') { if (yych <= '.') goto yy34; goto yy26; } else { if (yych <= '9') goto yy12; if (yych <= '<') goto yy34; goto yy14; } } } } else { if (yych <= 'e') { if (yych <= '_') { if (yych <= '@') goto yy34; if (yych <= 'Z') goto yy10; if (yych <= '^') goto yy34; goto yy10; } else { if (yych <= 'a') { if (yych <= '`') goto yy34; goto yy10; } else { if (yych <= 'b') goto yy7; if (yych <= 'd') goto yy10; goto yy5; } } } else { if (yych <= 'q') { if (yych <= 'g') { if (yych <= 'f') goto yy4; goto yy6; } else { if (yych <= 'h') goto yy11; if (yych >= 'j') goto yy10; } } else { if (yych <= 'v') { if (yych <= 'r') goto yy9; goto yy10; } else { if (yych <= 'w') goto yy8; if (yych <= 'z') goto yy10; goto yy34; } } } } ++YYCURSOR; if ((yych = *YYCURSOR) == 'f') goto yy67; goto yy39; yy3: #line 35 "push.fs.re" { SEND(kIdentifier); } #line 117 "<stdout>" yy4: yych = *++YYCURSOR; if (yych == 'o') goto yy64; goto yy39; yy5: yych = *++YYCURSOR; if (yych == 'l') goto yy60; goto yy39; yy6: yych = *++YYCURSOR; if (yych == 'o') goto yy56; goto yy39; yy7: yych = *++YYCURSOR; if (yych == 'r') goto yy51; goto yy39; yy8: yych = *++YYCURSOR; if (yych == 'h') goto yy46; goto yy39; yy9: yych = *++YYCURSOR; if (yych == 'e') goto yy40; goto yy39; yy10: yych = *++YYCURSOR; goto yy39; yy11: yych = *++YYCURSOR; goto yy39; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 36 "push.fs.re" { SEND(kDecimalConstant);} #line 155 "<stdout>" yy14: ++YYCURSOR; #line 38 "push.fs.re" { SEND(kEqual); } #line 160 "<stdout>" yy16: ++YYCURSOR; #line 39 "push.fs.re" { SEND(kLeftParen); } #line 165 "<stdout>" yy18: ++YYCURSOR; #line 40 "push.fs.re" { SEND(kRightParen); } #line 170 "<stdout>" yy20: ++YYCURSOR; #line 41 "push.fs.re" { SEND(kMinus); } #line 175 "<stdout>" yy22: ++YYCURSOR; #line 42 "push.fs.re" { SEND(kPlus); } #line 180 "<stdout>" yy24: ++YYCURSOR; #line 43 "push.fs.re" { SEND(kStar); } #line 185 "<stdout>" yy26: ++YYCURSOR; #line 44 "push.fs.re" { SEND(kSlash); } #line 190 "<stdout>" yy28: ++YYCURSOR; #line 46 "push.fs.re" { SKIP(); } #line 195 "<stdout>" yy30: ++YYCURSOR; #line 47 "push.fs.re" { SKIP(); } #line 200 "<stdout>" yy32: ++YYCURSOR; #line 48 "push.fs.re" { send(kEOF); return 1; } #line 205 "<stdout>" yy34: ++YYCURSOR; #line 49 "push.fs.re" { SEND(kUnknown); } #line 210 "<stdout>" yy36: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy37: if (yych <= '/') goto yy13; if (yych <= '9') goto yy36; goto yy13; yy38: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy39: if (yych <= 'Z') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy38; if (yych <= '@') goto yy3; goto yy38; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy38; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy38; goto yy3; } } yy40: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'u') goto yy39; yych = *++YYCURSOR; if (yych != 'r') goto yy39; yych = *++YYCURSOR; if (yych != 'n') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy45; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy38; } } yy45: #line 34 "push.fs.re" { SEND(kReturn); } #line 268 "<stdout>" yy46: yych = *++YYCURSOR; if (yych != 'i') goto yy39; yych = *++YYCURSOR; if (yych != 'l') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy50; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy50; if (yych <= 'z') goto yy38; } } yy50: #line 33 "push.fs.re" { SEND(kWhile); } #line 292 "<stdout>" yy51: yych = *++YYCURSOR; if (yych != 'e') goto yy39; yych = *++YYCURSOR; if (yych != 'a') goto yy39; yych = *++YYCURSOR; if (yych != 'k') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy55; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy55; if (yych <= 'z') goto yy38; } } yy55: #line 32 "push.fs.re" { SEND(kBreak); } #line 316 "<stdout>" yy56: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'o') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy59; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy59; if (yych <= 'z') goto yy38; } } yy59: #line 31 "push.fs.re" { SEND(kGoto); } #line 338 "<stdout>" yy60: yych = *++YYCURSOR; if (yych != 's') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy63; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy63; if (yych <= 'z') goto yy38; } } yy63: #line 30 "push.fs.re" { SEND(kElse); } #line 360 "<stdout>" yy64: yych = *++YYCURSOR; if (yych != 'r') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy66; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy66; if (yych <= 'z') goto yy38; } } yy66: #line 29 "push.fs.re" { SEND(kFor); } #line 380 "<stdout>" yy67: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy68; if (yych <= 'z') goto yy38; } } yy68: #line 28 "push.fs.re" { SEND(kIf); } #line 398 "<stdout>" #line 50 "push.fs.re" fill: return 0; }