📄 scanner.fs.c
字号:
yych = *YYCURSOR; if(yych == 0x0A) goto yy66; goto yy80;yy83: ++YYCURSOR;#line 179 "scanner.fs.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; }#line 646 "<stdout>"yy85: ++YYCURSOR; YYSETSTATE(12); if(YYLIMIT == YYCURSOR) YYFILL(1);yyFillLabel12: yych = *YYCURSOR;yy86: if(yych <= '!') { if(yych == 0x0A) 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 == 0x0A) goto yy66; goto yy85;yy88: ++YYCURSOR;#line 175 "scanner.fs.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; }#line 674 "<stdout>"yy90: ++YYCURSOR;#line 172 "scanner.fs.re" { tok = cursor; RETURN(0); }#line 680 "<stdout>"yy92: ++YYCURSOR;#line 169 "scanner.fs.re" { depth = 1; goto comment; }#line 686 "<stdout>"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 711 "<stdout>"yy99: ++YYCURSOR;#line 204 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); }#line 718 "<stdout>"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 730 "<stdout>"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 745 "<stdout>"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 756 "<stdout>"}#line 247 "scanner.fs.re"code:#line 763 "<stdout>"{ YYSETSTATE(16); if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);yyFillLabel16: yych = *YYCURSOR; if(yych <= '&') { if(yych <= 0x0A) { if(yych <= 0x09) 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 795 "<stdout>"yy115: ++YYCURSOR;#line 257 "scanner.fs.re" { ++depth; goto code; }#line 801 "<stdout>"yy117: ++YYCURSOR;#line 259 "scanner.fs.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; }#line 809 "<stdout>"yy119: ++YYCURSOR;yy120:#line 263 "scanner.fs.re" { goto code; }#line 815 "<stdout>"yy121: yych = *(YYMARKER = ++YYCURSOR); if(yych == 0x0A) goto yy120; goto yy128;yy122: yych = *(YYMARKER = ++YYCURSOR); if(yych == 0x0A) goto yy120; goto yy124;yy123: ++YYCURSOR; YYSETSTATE(17); if(YYLIMIT == YYCURSOR) YYFILL(1);yyFillLabel17: yych = *YYCURSOR;yy124: if(yych <= '&') { if(yych != 0x0A) 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 == 0x0A) goto yy125; goto yy123;yy127: ++YYCURSOR; YYSETSTATE(19); if(YYLIMIT == YYCURSOR) YYFILL(1);yyFillLabel19: yych = *YYCURSOR;yy128: if(yych <= '!') { if(yych == 0x0A) 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 == 0x0A) goto yy125; goto yy127;}#line 264 "scanner.fs.re"comment:#line 876 "<stdout>"{ YYSETSTATE(21); if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);yyFillLabel21: yych = *YYCURSOR; if(yych <= ')') { if(yych == 0x0A) 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 898 "<stdout>"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 910 "<stdout>"yy137: yych = *++YYCURSOR; goto yy133;yy138: ++YYCURSOR;#line 272 "scanner.fs.re" { ++depth; fatal("ambiguous /* found"); goto comment; }#line 920 "<stdout>"yy140: ++YYCURSOR;#line 268 "scanner.fs.re" { if(--depth == 0) goto scan; else goto comment; }#line 928 "<stdout>"}#line 281 "scanner.fs.re"config:#line 935 "<stdout>"{ YYSETSTATE(22); if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);yyFillLabel22: yych = *YYCURSOR; if(yych <= 0x1F) { if(yych != 0x09) 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 956 "<stdout>"yy146: ++YYCURSOR; yych = *YYCURSOR; goto yy151;yy147:#line 286 "scanner.fs.re" { iscfg = 2; cur = cursor; RETURN('='); }#line 967 "<stdout>"yy148: ++YYCURSOR;#line 290 "scanner.fs.re" { fatal("missing '='"); }#line 972 "<stdout>"yy150: ++YYCURSOR; YYSETSTATE(23); if(YYLIMIT == YYCURSOR) YYFILL(1);yyFillLabel23: yych = *YYCURSOR;yy151: if(yych == 0x09) goto yy150; if(yych == ' ') goto yy150; goto yy147;yy152: ++YYCURSOR; YYSETSTATE(24); if(YYLIMIT == YYCURSOR) YYFILL(1);yyFillLabel24: yych = *YYCURSOR;yy153: if(yych == 0x09) goto yy152; if(yych == ' ') goto yy152; goto yy145;}#line 291 "scanner.fs.re"value:#line 999 "<stdout>"{ YYSETSTATE(25); if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);yyFillLabel25: yych = *YYCURSOR; if(yych <= '&') { if(yych <= 0x0D) { if(yych <= 0x08) goto yy162; if(yych <= 0x0A) goto yy156; if(yych <= 0x0C) 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 1040 "<stdout>"yy157: ++YYCURSOR; if((yych = *YYCURSOR) <= 0x0D) { if(yych <= 0x08) goto yy162; if(yych <= 0x0A) goto yy158; if(yych <= 0x0C) 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 1061 "<stdout>"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 <= 0x0A) { if(yych >= 0x09) goto yy158; } else { if(yych == 0x0D) 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 <= 0x0D) { if(yych <= 0x08) goto yy162; if(yych <= 0x0A) goto yy156; if(yych <= 0x0C) 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 <= 0x0A) { if(yych <= 0x08) goto yy164; if(yych <= 0x09) goto yy174; goto yy156; } else { if(yych == 0x0D) 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 <= 0x0A) { if(yych <= 0x08) goto yy166; if(yych >= 0x0A) goto yy156; } else { if(yych == 0x0D) 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 != 0x0A) 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 <= 0x0D) { if(yych <= 0x09) { if(yych <= 0x08) goto yy166; goto yy168; } else { if(yych <= 0x0A) goto yy156; if(yych <= 0x0C) 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 == 0x0A) goto yy170; goto yy168;yy174: ++YYCURSOR; YYSETSTATE(33); if(YYLIMIT == YYCURSOR) YYFILL(1);yyFillLabel33: yych = *YYCURSOR; if(yych <= '!') { if(yych == 0x0A) 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 <= 0x0D) { if(yych <= 0x09) { if(yych <= 0x08) goto yy164; goto yy174; } else { if(yych <= 0x0A) goto yy156; if(yych <= 0x0C) 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 == 0x0A) goto yy170; goto yy174;}#line 305 "scanner.fs.re"}void Scanner::fatal(uint ofs, const char *msg) const{ out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1);}} // end namespace re2c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -