idl_re.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 2,462 行 · 第 1/5 页

CPP
2,462
字号
    case 'S':    case 'U':    case 'V':    case 'W':    case 'X':    case 'Y':    case 'Z':    case '_':    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 yy55;    case 'F':    goto yy6;    case 'L':    goto yy56;    case 'T':    goto yy4;    case '[':    goto yy11;    case '\\':    goto yy57;    case ']':    goto yy13;    case '^':    goto yy37;    case '{':    goto yy7;    case '|':    goto yy41;    case '}':    goto yy9;    case '~':    goto yy43;    default:    goto yy71;    }yy2:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '*') goto yy356;    if (yych == '/') goto yy354;#line 402 "idl.re"    { BOOST_WAVE_RET(T_DIVIDE); }#line 548 "idl_re.cpp"yy4:    yyaccept = 0;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'R') goto yy350;    goto yy202;yy5:#line 425 "idl.re"    { BOOST_WAVE_RET(T_IDENTIFIER); }#line 557 "idl_re.cpp"yy6:    yyaccept = 0;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'A') goto yy345;    goto yy202;yy7:    ++YYCURSOR;#line 387 "idl.re"    { BOOST_WAVE_RET(T_LEFTBRACE); }#line 567 "idl_re.cpp"yy9:    ++YYCURSOR;#line 388 "idl.re"    { BOOST_WAVE_RET(T_RIGHTBRACE); }#line 572 "idl_re.cpp"yy11:    ++YYCURSOR;#line 389 "idl.re"    { BOOST_WAVE_RET(T_LEFTBRACKET); }#line 577 "idl_re.cpp"yy13:    ++YYCURSOR;#line 390 "idl.re"    { BOOST_WAVE_RET(T_RIGHTBRACKET); }#line 582 "idl_re.cpp"yy15:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'e') {        if (yych <= '"') {            if (yych <= 0x09) {                if (yych >= 0x09) goto yy239;            } else {                if (yych == ' ') goto yy239;            }        } else {            if (yych <= '.') {                if (yych <= '#') goto yy343;            } else {                if (yych <= '/') goto yy239;                if (yych >= 'd') goto yy239;            }        }    } else {        if (yych <= 'o') {            if (yych <= 'i') {                if (yych >= 'i') goto yy239;            } else {                if (yych == 'l') goto yy239;            }        } else {            if (yych <= 'u') {                if (yych <= 'p') goto yy239;                if (yych >= 'u') goto yy239;            } else {                if (yych == 'w') goto yy239;            }        }    }yy16:#line 391 "idl.re"    { BOOST_WAVE_RET(T_POUND); }#line 620 "idl_re.cpp"yy17:    ++YYCURSOR;#line 393 "idl.re"    { BOOST_WAVE_RET(T_LEFTPAREN); }#line 625 "idl_re.cpp"yy19:    ++YYCURSOR;#line 394 "idl.re"    { BOOST_WAVE_RET(T_RIGHTPAREN); }#line 630 "idl_re.cpp"yy21:    ++YYCURSOR;#line 395 "idl.re"    { BOOST_WAVE_RET(T_SEMICOLON); }#line 635 "idl_re.cpp"yy23:    ++YYCURSOR;#line 396 "idl.re"    { BOOST_WAVE_RET(T_COLON); }#line 640 "idl_re.cpp"yy25:    yyaccept = 2;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == '?') goto yy341;yy26:#line 397 "idl.re"    { BOOST_WAVE_RET(T_QUESTION_MARK); }#line 648 "idl_re.cpp"yy27:    ++YYCURSOR;    if ((yych = *YYCURSOR) <= '/') goto yy28;    if (yych <= '9') goto yy168;yy28:#line 398 "idl.re"    { BOOST_WAVE_RET(T_DOT); }#line 656 "idl_re.cpp"yy29:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '+') goto yy339;#line 399 "idl.re"    { BOOST_WAVE_RET(T_PLUS); }#line 662 "idl_re.cpp"yy31:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '-') goto yy337;#line 400 "idl.re"    { BOOST_WAVE_RET(T_MINUS); }#line 668 "idl_re.cpp"yy33:    ++YYCURSOR;#line 401 "idl.re"    { BOOST_WAVE_RET(T_STAR); }#line 673 "idl_re.cpp"yy35:    yyaccept = 3;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == ':') goto yy238;yy36:#line 403 "idl.re"    { BOOST_WAVE_RET(T_PERCENT); }#line 681 "idl_re.cpp"yy37:    ++YYCURSOR;#line 404 "idl.re"    { BOOST_WAVE_RET(T_XOR); }#line 686 "idl_re.cpp"yy39:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '&') goto yy236;#line 405 "idl.re"    { BOOST_WAVE_RET(T_AND); }#line 692 "idl_re.cpp"yy41:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '|') goto yy234;#line 406 "idl.re"    { BOOST_WAVE_RET(T_OR); }#line 698 "idl_re.cpp"yy43:    ++YYCURSOR;#line 407 "idl.re"    { BOOST_WAVE_RET(T_COMPL); }#line 703 "idl_re.cpp"yy45:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '=') goto yy232;#line 408 "idl.re"    { BOOST_WAVE_RET(T_NOT); }#line 709 "idl_re.cpp"yy47:    ++YYCURSOR;    if ((yych = *YYCURSOR) == '=') goto yy230;#line 409 "idl.re"    { BOOST_WAVE_RET(T_ASSIGN); }#line 715 "idl_re.cpp"yy49:    ++YYCURSOR;    if ((yych = *YYCURSOR) <= ';') goto yy50;    if (yych <= '<') goto yy228;    if (yych <= '=') goto yy226;yy50:#line 410 "idl.re"    { BOOST_WAVE_RET(T_LESS); }#line 724 "idl_re.cpp"yy51:    ++YYCURSOR;    if ((yych = *YYCURSOR) <= '<') goto yy52;    if (yych <= '=') goto yy222;    if (yych <= '>') goto yy224;yy52:#line 411 "idl.re"    { BOOST_WAVE_RET(T_GREATER); }#line 733 "idl_re.cpp"yy53:    ++YYCURSOR;#line 422 "idl.re"    { BOOST_WAVE_RET(T_COMMA); }#line 738 "idl_re.cpp"yy55:    yyaccept = 0;    yych = *(YYMARKER = ++YYCURSOR);    goto yy202;yy56:    yyaccept = 0;    yych = *(YYMARKER = ++YYCURSOR);    if (yybm[0+yych] & 2) {        goto yy201;    }    if (yych <= '\'') {        if (yych == '"') goto yy75;        if (yych <= '&') goto yy5;        goto yy221;    } else {        if (yych <= '?') {            if (yych <= '>') goto yy5;            goto yy204;        } else {            if (yych == '\\') goto yy203;            goto yy5;        }    }yy57:    yyaccept = 4;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'U') goto yy193;    if (yych == 'u') goto yy192;yy58:#line 492 "idl.re"    {        BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType));    }#line 772 "idl_re.cpp"yy59:    yyaccept = 5;    yych = *(YYMARKER = ++YYCURSOR);    if (yybm[0+yych] & 1) {        goto yy185;    }    if (yych <= 'U') {        if (yych <= 'C') {            if (yych <= '.') {                if (yych >= '.') goto yy168;            } else {                if (yych <= '/') goto yy60;                if (yych <= '9') goto yy187;            }        } else {            if (yych <= 'K') {                if (yych <= 'D') goto yy164;                if (yych <= 'E') goto yy171;            } else {                if (yych <= 'L') goto yy173;                if (yych >= 'U') goto yy172;            }        }    } else {        if (yych <= 'k') {            if (yych <= 'c') {                if (yych == 'X') goto yy189;            } else {                if (yych <= 'd') goto yy164;                if (yych <= 'e') goto yy171;            }        } else {            if (yych <= 'u') {                if (yych <= 'l') goto yy173;                if (yych >= 'u') goto yy172;            } else {                if (yych == 'x') goto yy189;            }        }    }yy60:#line 428 "idl.re"    { BOOST_WAVE_RET(T_INTLIT); }#line 816 "idl_re.cpp"yy61:    yyaccept = 5;    yych = *(YYMARKER = ++YYCURSOR);    if (yybm[256+yych] & 128) {        goto yy166;    }    if (yych <= 'T') {        if (yych <= 'D') {            if (yych == '.') goto yy168;            if (yych <= 'C') goto yy60;            goto yy164;        } else {            if (yych <= 'E') goto yy171;            if (yych == 'L') goto yy173;            goto yy60;        }    } else {        if (yych <= 'e') {            if (yych <= 'U') goto yy172;            if (yych <= 'c') goto yy60;            if (yych <= 'd') goto yy164;            goto yy171;        } else {            if (yych <= 'l') {                if (yych <= 'k') goto yy60;                goto yy173;            } else {                if (yych == 'u') goto yy172;                goto yy60;            }        }    }yy62:    yyaccept = 4;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 0x0C) {        if (yych == 0x09) goto yy121;        if (yych <= 0x0A) goto yy58;        goto yy121;    } else {        if (yych <= 0x1F) goto yy58;        if (yych == '\'') goto yy58;        goto yy121;    }yy63:    yyaccept = 4;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 0x0A) {        if (yych == 0x09) goto yy76;        goto yy58;    } else {        if (yych <= 0x0C) goto yy76;        if (yych <= 0x1F) goto yy58;        goto yy76;    }yy64:    ++YYCURSOR;    yych = *YYCURSOR;    goto yy74;yy65:#line 467 "idl.re"    { BOOST_WAVE_RET(T_SPACE); }#line 879 "idl_re.cpp"yy66:    ++YYCURSOR;yy67:#line 470 "idl.re"    {        s->line++;        BOOST_WAVE_RET(T_NEWLINE);    }#line 888 "idl_re.cpp"yy68:    yych = *++YYCURSOR;    if (yych == 0x0A) goto yy72;    goto yy67;yy69:    ++YYCURSOR;#line 476 "idl.re"    {        if(cursor != s->eof)         {            using namespace std;      // some systems have printf in std            if (0 != s->error_proc) {                (*s->error_proc)(s,                     cpplexer::lexing_exception::generic_lexing_error,                    "'\\000' in input stream");            }            else                printf("Error: 0 in file\n");        }        BOOST_WAVE_RET(T_EOF);    }#line 910 "idl_re.cpp"yy71:    yych = *++YYCURSOR;    goto yy58;yy72:    yych = *++YYCURSOR;    goto yy67;yy73:    ++YYCURSOR;    if (YYLIMIT == YYCURSOR) YYFILL(1);    yych = *YYCURSOR;yy74:    if (yybm[256+yych] & 2) {        goto yy73;    }    goto yy65;yy75:    ++YYCURSOR;    if (YYLIMIT == YYCURSOR) YYFILL(1);    yych = *YYCURSOR;yy76:    if (yybm[256+yych] & 4) {        goto yy75;    }    if (yych <= '!') goto yy77;    if (yych <= '"') goto yy80;    if (yych <= '[') goto yy78;    goto yy79;yy77:    YYCURSOR = YYMARKER;    if (yyaccept <= 6) {        if (yyaccept <= 3) {            if (yyaccept <= 1) {                if (yyaccept <= 0) {                    goto yy5;                } else {                    goto yy16;                }            } else {                if (yyaccept <= 2) {                    goto yy26;                } else {                    goto yy36;                }            }        } else {            if (yyaccept <= 5) {                if (yyaccept <= 4) {                    goto yy58;                } else {                    goto yy60;                }            } else {                goto yy81;            }        }    } else {        if (yyaccept <= 9) {            if (yyaccept <= 8) {                if (yyaccept <= 7) {                    goto yy131;                } else {                    goto yy170;                }            } else {                goto yy294;            }        } else {            if (yyaccept <= 11) {                if (yyaccept <= 10) {                    goto yy302;                } else {                    goto yy349;                }            } else {                goto yy353;            }        }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?