strict_cpp_re.inc

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

INC
2,337
字号
/* Generated by re2c 0.13.2 on Fri Apr 04 14:19:15 2008 */#line 1 "strict_cpp.re"/*=============================================================================    Boost.Wave: A Standard compliant C++ preprocessor library    Copyright (c) 2001 Daniel C. Nuffer    Copyright (c) 2001-2008 Hartmut Kaiser.     Distributed under the Boost Software License, Version 1.0. (See accompanying     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)    This is a strict lexer conforming to the Standard as close as possible.    It does not allow the '$' to be part of identifiers. If you need the '$'    character in identifiers please include the lexer definition provided    in the cpp.re file.        TODO:         handle errors better.=============================================================================*/#line 40 "strict_cpp.re"#line 25 "strict_cpp_re.inc"{    YYCTYPE yych;    unsigned int yyaccept = 0;    static const unsigned char yybm[] = {        /* table 1 .. 8: 0 */          0,   0,   0,   0,   0,   0,   0,   0,           0,  58,  32,  58,  58,  64,   0,   0,           0,   0,   0,   0,   0,   0,   0,   0,           0,   0,   0,   0,   0,   0,   0,   0,          58,  58,  50,  58,  58,  58,  58,  56,          58,  58, 154,  58,  58,  58,  58,  58,          62,  62,  62,  62,  62,  62,  62,  62,          62,  62,  58,  58,  58,  58,  42,  56,          58,  62,  62,  62,  62,  62,  62,  62,          62,  62,  62,  62,  62,  62,  62,  62,          62,  62,  62,  62,  62,  62,  62,  62,          62,  62,  62,  58,  57,  58,  58,  62,          58,  62,  62,  62,  62,  62,  62,  62,          62,  62,  62,  62,  62,  62,  62,  62,          62,  62,  62,  62,  62,  62,  62,  62,          62,  62,  62,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,          58,  58,  58,  58,  58,  58,  58,  58,         /* table 9 .. 12: 256 */          0,   0,   0,   0,   0,   0,   0,   0,           0,  48,   0,  48,  48,   0,   0,   0,           0,   0,   0,   0,   0,   0,   0,   0,           0,   0,   0,   0,   0,   0,   0,   0,          48,  32,   0,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          96,  96,  96,  96,  96,  96,  96,  96,          96,  96,  32,  32,  32,  32,  32, 128,          32,  96,  96,  96,  96,  96,  96,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,   0,  32,  32,  32,          32,  96,  96,  96,  96,  96,  96,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,          32,  32,  32,  32,  32,  32,  32,  32,     };    if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17);    yych = *YYCURSOR;    switch (yych) {    case 0x00:    goto yy88;    case 0x01:    case 0x02:    case 0x03:    case 0x04:    case 0x05:    case 0x06:    case 0x07:    case 0x08:    case 0x0E:    case 0x0F:    case 0x10:    case 0x11:    case 0x12:    case 0x13:    case 0x14:    case 0x15:    case 0x16:    case 0x17:    case 0x18:    case 0x19:    case 0x1A:    case 0x1B:    case 0x1C:    case 0x1D:    case 0x1E:    case 0x1F:    goto yy91;    case 0x09:    case 0x0B:    case 0x0C:    goto yy82;    case 0x0A:    goto yy85;    case 0x0D:    goto yy87;    case ' ':    goto yy84;    case '!':    goto yy68;    case '"':    goto yy81;    case '#':    goto yy45;    case '%':    goto yy37;    case '&':    goto yy62;    case '\'':    goto yy80;    case '(':    goto yy47;    case ')':    goto yy49;    case '*':    goto yy57;    case '+':    goto yy53;    case ',':    goto yy74;    case '-':    goto yy55;    case '.':    goto yy4;    case '/':    goto yy2;    case '0':    case '1':    case '2':    case '3':    case '4':    case '5':    case '6':    case '7':    case '8':    case '9':    goto yy6;    case ':':    goto yy43;    case ';':    goto yy51;    case '<':    goto yy33;    case '=':    goto yy70;    case '>':    goto yy72;    case '?':    goto yy31;    case 'A':    case 'B':    case 'C':    case 'D':    case 'E':    case 'F':    case 'G':    case 'H':    case 'I':    case 'J':    case 'K':    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 'h':    case 'j':    case 'k':    case 'q':    case 'y':    case 'z':    goto yy76;    case 'L':    goto yy77;    case '[':    goto yy39;    case '\\':    goto yy78;    case ']':    goto yy41;    case '^':    goto yy59;    case '_':    goto yy28;    case 'a':    goto yy8;    case 'b':    goto yy10;    case 'c':    goto yy11;    case 'd':    goto yy12;    case 'e':    goto yy13;    case 'f':    goto yy14;    case 'g':    goto yy15;    case 'i':    goto yy16;    case 'l':    goto yy17;    case 'm':    goto yy18;    case 'n':    goto yy19;    case 'o':    goto yy20;    case 'p':    goto yy21;    case 'r':    goto yy22;    case 's':    goto yy23;    case 't':    goto yy24;    case 'u':    goto yy25;    case 'v':    goto yy26;    case 'w':    goto yy27;    case 'x':    goto yy61;    case '{':    goto yy29;    case '|':    goto yy64;    case '}':    goto yy35;    case '~':    goto yy66;    default:    goto yy90;    }yy2:    ++YYCURSOR;    if ((yych = *YYCURSOR) <= '.') {        if (yych == '*') goto yy922;    } else {        if (yych <= '/') goto yy920;        if (yych == '=') goto yy918;    }#line 178 "strict_cpp.re"    { BOOST_WAVE_RET(T_DIVIDE); }#line 237 "strict_cpp_re.inc"yy4:    yyaccept = 0;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= '-') {        if (yych == '*') goto yy912;    } else {        if (yych <= '.') goto yy914;        if (yych <= '/') goto yy5;        if (yych <= '9') goto yy915;    }yy5:#line 164 "strict_cpp.re"    { BOOST_WAVE_RET(T_DOT); }#line 251 "strict_cpp_re.inc"yy6:    ++YYCURSOR;yy7:#line 45 "strict_cpp.re"    { goto pp_number; }#line 257 "strict_cpp_re.inc"yy8:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'r') {        if (yych == 'n') goto yy898;        goto yy195;    } else {        if (yych <= 's') goto yy899;        if (yych == 'u') goto yy900;        goto yy195;    }yy9:#line 243 "strict_cpp.re"    { BOOST_WAVE_RET(T_IDENTIFIER); }#line 272 "strict_cpp_re.inc"yy10:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'n') {        if (yych == 'i') goto yy880;        goto yy195;    } else {        if (yych <= 'o') goto yy881;        if (yych == 'r') goto yy882;        goto yy195;    }yy11:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    switch (yych) {    case 'a':    goto yy842;    case 'h':    goto yy843;    case 'l':    goto yy844;    case 'o':    goto yy845;    default:    goto yy195;    }yy12:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'n') {        if (yych == 'e') goto yy811;        goto yy195;    } else {        if (yych <= 'o') goto yy812;        if (yych == 'y') goto yy814;        goto yy195;    }yy13:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'm') {        if (yych == 'l') goto yy786;        goto yy195;    } else {        if (yych <= 'n') goto yy787;        if (yych == 'x') goto yy788;        goto yy195;    }yy14:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    switch (yych) {    case 'a':    goto yy767;    case 'l':    goto yy768;    case 'o':    goto yy769;    case 'r':    goto yy770;    default:    goto yy195;    }yy15:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'o') goto yy763;    goto yy195;yy16:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'l') {        if (yych == 'f') goto yy747;        goto yy195;    } else {        if (yych <= 'm') goto yy749;        if (yych <= 'n') goto yy750;        goto yy195;    }yy17:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'o') goto yy743;    goto yy195;yy18:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'u') goto yy736;    goto yy195;yy19:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'd') {        if (yych == 'a') goto yy717;        goto yy195;    } else {        if (yych <= 'e') goto yy718;        if (yych == 'o') goto yy719;        goto yy195;    }yy20:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'p') goto yy703;    if (yych == 'r') goto yy704;    goto yy195;yy21:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'r') goto yy682;    if (yych == 'u') goto yy683;    goto yy195;yy22:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'e') goto yy654;    goto yy195;yy23:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 's') {        if (yych <= 'g') goto yy195;        if (yych <= 'h') goto yy615;        if (yych <= 'i') goto yy616;        goto yy195;    } else {        if (yych <= 't') goto yy617;        if (yych == 'w') goto yy618;        goto yy195;    }yy24:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych <= 'h') {        if (yych == 'e') goto yy578;        if (yych <= 'g') goto yy195;        goto yy579;    } else {        if (yych <= 'r') {            if (yych <= 'q') goto yy195;            goto yy580;        } else {            if (yych == 'y') goto yy581;            goto yy195;        }    }yy25:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'n') goto yy561;    if (yych == 's') goto yy562;    goto yy195;yy26:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'i') goto yy543;    if (yych == 'o') goto yy544;    goto yy195;yy27:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == 'c') goto yy531;    if (yych == 'h') goto yy532;    goto yy195;yy28:    yyaccept = 1;    yych = *(YYMARKER = ++YYCURSOR);    switch (yych) {    case '_':    goto yy442;    case 'a':    goto yy443;    case 'b':    goto yy444;    case 'c':    goto yy445;    case 'd':    goto yy446;    case 'f':    goto yy447;    case 'i':    goto yy448;    case 's':    goto yy449;    default:    goto yy195;    }yy29:    ++YYCURSOR;#line 128 "strict_cpp.re"    { BOOST_WAVE_RET(T_LEFTBRACE); }#line 445 "strict_cpp_re.inc"yy31:    yyaccept = 2;    yych = *(YYMARKER = ++YYCURSOR);    if (yych == '?') goto yy407;yy32:#line 153 "strict_cpp.re"    { BOOST_WAVE_RET(T_QUESTION_MARK); }#line 453 "strict_cpp_re.inc"yy33:    ++YYCURSOR;    if ((yych = *YYCURSOR) <= ':') {        if (yych == '%') goto yy403;        if (yych >= ':') goto yy401;    } else {        if (yych <= ';') goto yy34;        if (yych <= '<') goto yy399;        if (yych <= '=') goto yy397;    }yy34:#line 194 "strict_cpp.re"    { BOOST_WAVE_RET(T_LESS); }#line 467 "strict_cpp_re.inc"yy35:    ++YYCURSOR;

⌨️ 快捷键说明

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