token_ids.hpp

来自「support vector clustering for vc++」· HPP 代码 · 共 346 行 · 第 1/2 页

HPP
346
字号
    T_DYNAMICCAST  = TOKEN_FROM_ID(323, KeywordTokenType),
    T_ELSE         = TOKEN_FROM_ID(324, KeywordTokenType),
    T_ENUM         = TOKEN_FROM_ID(325, KeywordTokenType),
    T_EXPLICIT     = TOKEN_FROM_ID(326, KeywordTokenType),
    T_EXPORT       = TOKEN_FROM_ID(327, KeywordTokenType),
    T_EXTERN       = TOKEN_FROM_ID(328, KeywordTokenType),
    T_FLOAT        = TOKEN_FROM_ID(329, KeywordTokenType),
    T_FOR          = TOKEN_FROM_ID(330, KeywordTokenType),
    T_FRIEND       = TOKEN_FROM_ID(331, KeywordTokenType),
    T_GOTO         = TOKEN_FROM_ID(332, KeywordTokenType),
    T_IF           = TOKEN_FROM_ID(333, KeywordTokenType),
    T_INLINE       = TOKEN_FROM_ID(334, KeywordTokenType),
    T_INT          = TOKEN_FROM_ID(335, KeywordTokenType),
    T_LONG         = TOKEN_FROM_ID(336, KeywordTokenType),
    T_MUTABLE      = TOKEN_FROM_ID(337, KeywordTokenType),
    T_NAMESPACE    = TOKEN_FROM_ID(338, KeywordTokenType),
    T_NEW          = TOKEN_FROM_ID(339, KeywordTokenType),
    T_OPERATOR     = TOKEN_FROM_ID(340, KeywordTokenType),
    T_PRIVATE      = TOKEN_FROM_ID(341, KeywordTokenType),
    T_PROTECTED    = TOKEN_FROM_ID(342, KeywordTokenType),
    T_PUBLIC       = TOKEN_FROM_ID(343, KeywordTokenType),
    T_REGISTER     = TOKEN_FROM_ID(344, KeywordTokenType),
    T_REINTERPRETCAST = TOKEN_FROM_ID(345, KeywordTokenType),
    T_RETURN       = TOKEN_FROM_ID(346, KeywordTokenType),
    T_SHORT        = TOKEN_FROM_ID(347, KeywordTokenType),
    T_SIGNED       = TOKEN_FROM_ID(348, KeywordTokenType),
    T_SIZEOF       = TOKEN_FROM_ID(349, KeywordTokenType),
    T_STATIC       = TOKEN_FROM_ID(350, KeywordTokenType),
    T_STATICCAST   = TOKEN_FROM_ID(351, KeywordTokenType),
    T_STRUCT       = TOKEN_FROM_ID(352, KeywordTokenType),
    T_SWITCH       = TOKEN_FROM_ID(353, KeywordTokenType),
    T_TEMPLATE     = TOKEN_FROM_ID(354, KeywordTokenType),
    T_THIS         = TOKEN_FROM_ID(355, KeywordTokenType),
    T_THROW        = TOKEN_FROM_ID(356, KeywordTokenType),
    T_TRY          = TOKEN_FROM_ID(357, KeywordTokenType),
    T_TYPEDEF      = TOKEN_FROM_ID(358, KeywordTokenType),
    T_TYPEID       = TOKEN_FROM_ID(359, KeywordTokenType),
    T_TYPENAME     = TOKEN_FROM_ID(360, KeywordTokenType),
    T_UNION        = TOKEN_FROM_ID(361, KeywordTokenType),
    T_UNSIGNED     = TOKEN_FROM_ID(362, KeywordTokenType),
    T_USING        = TOKEN_FROM_ID(363, KeywordTokenType),
    T_VIRTUAL      = TOKEN_FROM_ID(364, KeywordTokenType),
    T_VOID         = TOKEN_FROM_ID(365, KeywordTokenType),
    T_VOLATILE     = TOKEN_FROM_ID(366, KeywordTokenType),
    T_WCHART       = TOKEN_FROM_ID(367, KeywordTokenType),
    T_WHILE        = TOKEN_FROM_ID(368, KeywordTokenType),
    T_PP_DEFINE    = TOKEN_FROM_ID(369, PPTokenType),
    T_PP_IF        = TOKEN_FROM_ID(370, PPConditionalTokenType),
    T_PP_IFDEF     = TOKEN_FROM_ID(371, PPConditionalTokenType),
    T_PP_IFNDEF    = TOKEN_FROM_ID(372, PPConditionalTokenType),
    T_PP_ELSE      = TOKEN_FROM_ID(373, PPConditionalTokenType),
    T_PP_ELIF      = TOKEN_FROM_ID(374, PPConditionalTokenType),
    T_PP_ENDIF     = TOKEN_FROM_ID(375, PPConditionalTokenType),
    T_PP_ERROR     = TOKEN_FROM_ID(376, PPTokenType),
    T_PP_LINE      = TOKEN_FROM_ID(377, PPTokenType),
    T_PP_PRAGMA    = TOKEN_FROM_ID(378, PPTokenType),
    T_PP_UNDEF     = TOKEN_FROM_ID(379, PPTokenType),
    T_PP_WARNING   = TOKEN_FROM_ID(380, PPTokenType),
    T_IDENTIFIER   = TOKEN_FROM_ID(381, IdentifierTokenType),
    T_OCTALINT     = TOKEN_FROM_ID(382, IntegerLiteralTokenType),
    T_DECIMALINT   = TOKEN_FROM_ID(383, IntegerLiteralTokenType),
    T_HEXAINT      = TOKEN_FROM_ID(384, IntegerLiteralTokenType),
    T_INTLIT       = TOKEN_FROM_ID(385, IntegerLiteralTokenType),
    T_LONGINTLIT   = TOKEN_FROM_ID(386, IntegerLiteralTokenType),
    T_FLOATLIT     = TOKEN_FROM_ID(387, FloatingLiteralTokenType),
    T_FIXEDPOINTLIT = TOKEN_FROM_ID(387, FloatingLiteralTokenType|AltTokenType),  // IDL specific
    T_CCOMMENT     = TOKEN_FROM_ID(388, WhiteSpaceTokenType|AltTokenType),
    T_CPPCOMMENT   = TOKEN_FROM_ID(389, WhiteSpaceTokenType|AltTokenType),
    T_CHARLIT      = TOKEN_FROM_ID(390, CharacterLiteralTokenType),
    T_STRINGLIT    = TOKEN_FROM_ID(391, StringLiteralTokenType),
    T_CONTLINE     = TOKEN_FROM_ID(392, EOLTokenType),
    T_SPACE        = TOKEN_FROM_ID(393, WhiteSpaceTokenType),
    T_SPACE2       = TOKEN_FROM_ID(394, WhiteSpaceTokenType),
    T_NEWLINE      = TOKEN_FROM_ID(395, EOLTokenType),
    T_GENERATEDNEWLINE      = TOKEN_FROM_ID(395, EOLTokenType|AltTokenType),
    T_POUND_POUND           = TOKEN_FROM_ID(396, OperatorTokenType),
    T_POUND_POUND_ALT       = TOKEN_FROM_ID(396, OperatorTokenType|AltTokenType),
    T_POUND_POUND_TRIGRAPH  = TOKEN_FROM_ID(396, OperatorTokenType|TriGraphTokenType),
    T_POUND                 = TOKEN_FROM_ID(397, OperatorTokenType),
    T_POUND_ALT             = TOKEN_FROM_ID(397, OperatorTokenType|AltTokenType),
    T_POUND_TRIGRAPH        = TOKEN_FROM_ID(397, OperatorTokenType|TriGraphTokenType),
    T_ANY          = TOKEN_FROM_ID(398, UnknownTokenType),
    T_ANY_TRIGRAPH = TOKEN_FROM_ID(398, UnknownTokenType|TriGraphTokenType),
    T_PP_INCLUDE   = TOKEN_FROM_ID(399, PPTokenType),
    T_PP_QHEADER   = TOKEN_FROM_ID(400, PPTokenType),
    T_PP_HHEADER   = TOKEN_FROM_ID(401, PPTokenType),
    T_PP_INCLUDE_NEXT   = TOKEN_FROM_ID(399, PPTokenType|AltTokenType),
    T_PP_QHEADER_NEXT   = TOKEN_FROM_ID(400, PPTokenType|AltTokenType),
    T_PP_HHEADER_NEXT   = TOKEN_FROM_ID(401, PPTokenType|AltTokenType),
    T_EOF          = TOKEN_FROM_ID(402, EOFTokenType),      // end of file reached
    T_EOI          = TOKEN_FROM_ID(403, EOFTokenType),      // end of input reached
    T_PP_NUMBER    = TOKEN_FROM_ID(404, InternalTokenType),
    
// MS extensions
    T_MSEXT_INT8   = TOKEN_FROM_ID(405, KeywordTokenType),
    T_MSEXT_INT16  = TOKEN_FROM_ID(406, KeywordTokenType),
    T_MSEXT_INT32  = TOKEN_FROM_ID(407, KeywordTokenType),
    T_MSEXT_INT64  = TOKEN_FROM_ID(408, KeywordTokenType),
    T_MSEXT_BASED  = TOKEN_FROM_ID(409, KeywordTokenType),
    T_MSEXT_DECLSPEC = TOKEN_FROM_ID(410, KeywordTokenType),
    T_MSEXT_CDECL  = TOKEN_FROM_ID(411, KeywordTokenType),
    T_MSEXT_FASTCALL = TOKEN_FROM_ID(412, KeywordTokenType),
    T_MSEXT_STDCALL = TOKEN_FROM_ID(413, KeywordTokenType),
    T_MSEXT_TRY    = TOKEN_FROM_ID(414, KeywordTokenType),
    T_MSEXT_EXCEPT = TOKEN_FROM_ID(415, KeywordTokenType),
    T_MSEXT_FINALLY = TOKEN_FROM_ID(416, KeywordTokenType),
    T_MSEXT_LEAVE  = TOKEN_FROM_ID(417, KeywordTokenType),
    T_MSEXT_INLINE = TOKEN_FROM_ID(418, KeywordTokenType),
    T_MSEXT_ASM    = TOKEN_FROM_ID(419, KeywordTokenType),

    T_MSEXT_PP_REGION    = TOKEN_FROM_ID(420, PPTokenType),
    T_MSEXT_PP_ENDREGION = TOKEN_FROM_ID(421, PPTokenType),
    
    T_LAST_TOKEN_ID,
    T_LAST_TOKEN = ID_FROM_TOKEN(T_LAST_TOKEN_ID),
    
// pseudo tokens to help streamlining macro replacement, these should not 
// returned from the lexer nor should these be returned from the pp-iterator
    T_NONREPLACABLE_IDENTIFIER = TOKEN_FROM_ID(T_LAST_TOKEN+1, IdentifierTokenType),
    T_PLACEHOLDER = TOKEN_FROM_ID(T_LAST_TOKEN+2, WhiteSpaceTokenType),
    T_PLACEMARKER = TOKEN_FROM_ID(T_LAST_TOKEN+3, InternalTokenType),
    T_PARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+4, ParameterTokenType),
    T_EXTPARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+5, ExtParameterTokenType)
};

///////////////////////////////////////////////////////////////////////////////
//  redefine the TOKEN_FROM_ID macro to be more type safe
#undef TOKEN_FROM_ID
#define TOKEN_FROM_ID(id, cat)   boost::wave::token_id((id) | (cat))

#undef ID_FROM_TOKEN
#define ID_FROM_TOKEN(tok)       ((tok) & ~boost::wave::TokenTypeMask)

#undef BASEID_FROM_TOKEN
#define BASEID_FROM_TOKEN(tok)                                                \
    boost::wave::token_id(((tok) & ~boost::wave::ExtTokenTypeMask))           \
    /**/
#define BASE_TOKEN(tok)                                                       \
    boost::wave::token_id((tok) & boost::wave::MainTokenMask)                 \
    /**/
#define CATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::TokenTypeMask)
#define EXTCATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::ExtTokenTypeMask)
#define IS_CATEGORY(tok, cat)                                                 \
    ((CATEGORY_FROM_TOKEN(tok) == (cat)) ? true : false)                      \
    /**/
#define IS_EXTCATEGORY(tok, cat)                                              \
    ((EXTCATEGORY_FROM_TOKEN(tok) == (cat)) ? true : false)                   \
    /**/

///////////////////////////////////////////////////////////////////////////////
//  return a token name
BOOST_WAVE_DECL 
BOOST_WAVE_STRINGTYPE get_token_name(token_id tokid);

///////////////////////////////////////////////////////////////////////////////
//  return a token name
BOOST_WAVE_DECL 
char const *get_token_value(token_id tokid);

///////////////////////////////////////////////////////////////////////////////
}   // namespace wave
}   // namespace boost

#endif // #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED)

// the suffix header occurs after all of the code
#ifdef BOOST_HAS_ABI_HEADERS
#include BOOST_ABI_SUFFIX
#endif

#endif // !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)

⌨️ 快捷键说明

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