annotate DEPENDENCIES/generic/include/boost/wave/token_ids.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Boost.Wave: A Standard compliant C++ preprocessor library
Chris@16 3 The definition of a default set of token identifiers and related
Chris@16 4 functions.
Chris@16 5
Chris@16 6 http://www.boost.org/
Chris@16 7
Chris@16 8 Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
Chris@16 9 Software License, Version 1.0. (See accompanying file
Chris@16 10 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 11 =============================================================================*/
Chris@16 12
Chris@16 13 #if !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)
Chris@16 14 #define TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED
Chris@16 15
Chris@16 16 #include <string>
Chris@16 17
Chris@16 18 #include <boost/wave/wave_config.hpp>
Chris@16 19
Chris@16 20 // this must occur after all of the includes and before any code appears
Chris@16 21 #ifdef BOOST_HAS_ABI_HEADERS
Chris@16 22 #include BOOST_ABI_PREFIX
Chris@16 23 #endif
Chris@16 24
Chris@16 25 ///////////////////////////////////////////////////////////////////////////////
Chris@16 26 // Allow external redefinition of the token identifiers to use
Chris@16 27 #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED)
Chris@16 28 #define BOOST_WAVE_TOKEN_IDS_DEFINED
Chris@16 29
Chris@16 30 #if (defined (__FreeBSD__) || defined (__DragonFly__) || defined (__OpenBSD__)) && defined (T_DIVIDE)
Chris@16 31 #undef T_DIVIDE
Chris@16 32 #endif
Chris@16 33
Chris@16 34 ///////////////////////////////////////////////////////////////////////////////
Chris@16 35 namespace boost {
Chris@16 36 namespace wave {
Chris@16 37
Chris@16 38 ///////////////////////////////////////////////////////////////////////////////
Chris@16 39 // assemble tokenids
Chris@16 40 #define TOKEN_FROM_ID(id, cat) ((id) | (cat))
Chris@16 41 #define ID_FROM_TOKEN(tok) ((tok) & ~TokenTypeMask)
Chris@16 42 #define BASEID_FROM_TOKEN(tok) ((tok) & ~ExtTokenTypeMask)
Chris@16 43
Chris@16 44 ///////////////////////////////////////////////////////////////////////////////
Chris@16 45 // the token_category helps to classify the different token types
Chris@16 46 enum token_category {
Chris@16 47 IdentifierTokenType = 0x10080000,
Chris@16 48 ParameterTokenType = 0x11080000,
Chris@16 49 ExtParameterTokenType = 0x11180000,
Chris@16 50 KeywordTokenType = 0x20080000,
Chris@16 51 OperatorTokenType = 0x30080000,
Chris@16 52 LiteralTokenType = 0x40080000,
Chris@16 53 IntegerLiteralTokenType = 0x41080000,
Chris@16 54 FloatingLiteralTokenType = 0x42080000,
Chris@16 55 StringLiteralTokenType = 0x43080000,
Chris@16 56 CharacterLiteralTokenType = 0x44080000,
Chris@16 57 BoolLiteralTokenType = 0x45080000,
Chris@16 58 PPTokenType = 0x50080000,
Chris@16 59 PPConditionalTokenType = 0x50880000,
Chris@16 60
Chris@16 61 UnknownTokenType = 0xA0000000,
Chris@16 62 EOLTokenType = 0xB0000000,
Chris@16 63 EOFTokenType = 0xC0000000,
Chris@16 64 WhiteSpaceTokenType = 0xD0000000,
Chris@16 65 InternalTokenType = 0xE0080000,
Chris@16 66
Chris@16 67 TokenTypeMask = 0xFF000000,
Chris@16 68 AltTokenType = 0x00100000,
Chris@16 69 TriGraphTokenType = 0x00200000,
Chris@16 70 AltExtTokenType = 0x00500000, // and, bit_and etc.
Chris@16 71 PPTokenFlag = 0x00080000, // these are 'real' pp-tokens
Chris@16 72 ExtTokenTypeMask = 0xFFF00000,
Chris@16 73 ExtTokenOnlyMask = 0x00F00000,
Chris@16 74 TokenValueMask = 0x000FFFFF,
Chris@16 75 MainTokenMask = 0xFF0FFFFF // TokenTypeMask|TokenValueMask
Chris@16 76 };
Chris@16 77
Chris@16 78 ///////////////////////////////////////////////////////////////////////////////
Chris@16 79 // the token_id assigns unique numbers to the different C++ lexemes
Chris@16 80 enum token_id {
Chris@16 81 T_UNKNOWN = 0,
Chris@16 82 T_FIRST_TOKEN = 256,
Chris@16 83 T_AND = TOKEN_FROM_ID(T_FIRST_TOKEN, OperatorTokenType),
Chris@16 84 T_AND_ALT = TOKEN_FROM_ID(T_FIRST_TOKEN, OperatorTokenType|AltExtTokenType),
Chris@16 85 T_ANDAND = TOKEN_FROM_ID(257, OperatorTokenType),
Chris@16 86 T_ANDAND_ALT = TOKEN_FROM_ID(257, OperatorTokenType|AltExtTokenType),
Chris@16 87 T_ASSIGN = TOKEN_FROM_ID(258, OperatorTokenType),
Chris@16 88 T_ANDASSIGN = TOKEN_FROM_ID(259, OperatorTokenType),
Chris@16 89 T_ANDASSIGN_ALT = TOKEN_FROM_ID(259, OperatorTokenType|AltExtTokenType),
Chris@16 90 T_OR = TOKEN_FROM_ID(260, OperatorTokenType),
Chris@16 91 T_OR_ALT = TOKEN_FROM_ID(260, OperatorTokenType|AltExtTokenType),
Chris@16 92 T_OR_TRIGRAPH = TOKEN_FROM_ID(260, OperatorTokenType|TriGraphTokenType),
Chris@16 93 T_ORASSIGN = TOKEN_FROM_ID(261, OperatorTokenType),
Chris@16 94 T_ORASSIGN_ALT = TOKEN_FROM_ID(261, OperatorTokenType|AltExtTokenType),
Chris@16 95 T_ORASSIGN_TRIGRAPH = TOKEN_FROM_ID(261, OperatorTokenType|TriGraphTokenType),
Chris@16 96 T_XOR = TOKEN_FROM_ID(262, OperatorTokenType),
Chris@16 97 T_XOR_ALT = TOKEN_FROM_ID(262, OperatorTokenType|AltExtTokenType),
Chris@16 98 T_XOR_TRIGRAPH = TOKEN_FROM_ID(262, OperatorTokenType|TriGraphTokenType),
Chris@16 99 T_XORASSIGN = TOKEN_FROM_ID(263, OperatorTokenType),
Chris@16 100 T_XORASSIGN_ALT = TOKEN_FROM_ID(263, OperatorTokenType|AltExtTokenType),
Chris@16 101 T_XORASSIGN_TRIGRAPH = TOKEN_FROM_ID(263, OperatorTokenType|TriGraphTokenType),
Chris@16 102 T_COMMA = TOKEN_FROM_ID(264, OperatorTokenType),
Chris@16 103 T_COLON = TOKEN_FROM_ID(265, OperatorTokenType),
Chris@16 104 T_DIVIDE = TOKEN_FROM_ID(266, OperatorTokenType),
Chris@16 105 T_DIVIDEASSIGN = TOKEN_FROM_ID(267, OperatorTokenType),
Chris@16 106 T_DOT = TOKEN_FROM_ID(268, OperatorTokenType),
Chris@16 107 T_DOTSTAR = TOKEN_FROM_ID(269, OperatorTokenType),
Chris@16 108 T_ELLIPSIS = TOKEN_FROM_ID(270, OperatorTokenType),
Chris@16 109 T_EQUAL = TOKEN_FROM_ID(271, OperatorTokenType),
Chris@16 110 T_GREATER = TOKEN_FROM_ID(272, OperatorTokenType),
Chris@16 111 T_GREATEREQUAL = TOKEN_FROM_ID(273, OperatorTokenType),
Chris@16 112 T_LEFTBRACE = TOKEN_FROM_ID(274, OperatorTokenType),
Chris@16 113 T_LEFTBRACE_ALT = TOKEN_FROM_ID(274, OperatorTokenType|AltTokenType),
Chris@16 114 T_LEFTBRACE_TRIGRAPH = TOKEN_FROM_ID(274, OperatorTokenType|TriGraphTokenType),
Chris@16 115 T_LESS = TOKEN_FROM_ID(275, OperatorTokenType),
Chris@16 116 T_LESSEQUAL = TOKEN_FROM_ID(276, OperatorTokenType),
Chris@16 117 T_LEFTPAREN = TOKEN_FROM_ID(277, OperatorTokenType),
Chris@16 118 T_LEFTBRACKET = TOKEN_FROM_ID(278, OperatorTokenType),
Chris@16 119 T_LEFTBRACKET_ALT = TOKEN_FROM_ID(278, OperatorTokenType|AltTokenType),
Chris@16 120 T_LEFTBRACKET_TRIGRAPH = TOKEN_FROM_ID(278, OperatorTokenType|TriGraphTokenType),
Chris@16 121 T_MINUS = TOKEN_FROM_ID(279, OperatorTokenType),
Chris@16 122 T_MINUSASSIGN = TOKEN_FROM_ID(280, OperatorTokenType),
Chris@16 123 T_MINUSMINUS = TOKEN_FROM_ID(281, OperatorTokenType),
Chris@16 124 T_PERCENT = TOKEN_FROM_ID(282, OperatorTokenType),
Chris@16 125 T_PERCENTASSIGN = TOKEN_FROM_ID(283, OperatorTokenType),
Chris@16 126 T_NOT = TOKEN_FROM_ID(284, OperatorTokenType),
Chris@16 127 T_NOT_ALT = TOKEN_FROM_ID(284, OperatorTokenType|AltExtTokenType),
Chris@16 128 T_NOTEQUAL = TOKEN_FROM_ID(285, OperatorTokenType),
Chris@16 129 T_NOTEQUAL_ALT = TOKEN_FROM_ID(285, OperatorTokenType|AltExtTokenType),
Chris@16 130 T_OROR = TOKEN_FROM_ID(286, OperatorTokenType),
Chris@16 131 T_OROR_ALT = TOKEN_FROM_ID(286, OperatorTokenType|AltExtTokenType),
Chris@16 132 T_OROR_TRIGRAPH = TOKEN_FROM_ID(286, OperatorTokenType|TriGraphTokenType),
Chris@16 133 T_PLUS = TOKEN_FROM_ID(287, OperatorTokenType),
Chris@16 134 T_PLUSASSIGN = TOKEN_FROM_ID(288, OperatorTokenType),
Chris@16 135 T_PLUSPLUS = TOKEN_FROM_ID(289, OperatorTokenType),
Chris@16 136 T_ARROW = TOKEN_FROM_ID(290, OperatorTokenType),
Chris@16 137 T_ARROWSTAR = TOKEN_FROM_ID(291, OperatorTokenType),
Chris@16 138 T_QUESTION_MARK = TOKEN_FROM_ID(292, OperatorTokenType),
Chris@16 139 T_RIGHTBRACE = TOKEN_FROM_ID(293, OperatorTokenType),
Chris@16 140 T_RIGHTBRACE_ALT = TOKEN_FROM_ID(293, OperatorTokenType|AltTokenType),
Chris@16 141 T_RIGHTBRACE_TRIGRAPH = TOKEN_FROM_ID(293, OperatorTokenType|TriGraphTokenType),
Chris@16 142 T_RIGHTPAREN = TOKEN_FROM_ID(294, OperatorTokenType),
Chris@16 143 T_RIGHTBRACKET = TOKEN_FROM_ID(295, OperatorTokenType),
Chris@16 144 T_RIGHTBRACKET_ALT = TOKEN_FROM_ID(295, OperatorTokenType|AltTokenType),
Chris@16 145 T_RIGHTBRACKET_TRIGRAPH = TOKEN_FROM_ID(295, OperatorTokenType|TriGraphTokenType),
Chris@16 146 T_COLON_COLON = TOKEN_FROM_ID(296, OperatorTokenType),
Chris@16 147 T_SEMICOLON = TOKEN_FROM_ID(297, OperatorTokenType),
Chris@16 148 T_SHIFTLEFT = TOKEN_FROM_ID(298, OperatorTokenType),
Chris@16 149 T_SHIFTLEFTASSIGN = TOKEN_FROM_ID(299, OperatorTokenType),
Chris@16 150 T_SHIFTRIGHT = TOKEN_FROM_ID(300, OperatorTokenType),
Chris@16 151 T_SHIFTRIGHTASSIGN = TOKEN_FROM_ID(301, OperatorTokenType),
Chris@16 152 T_STAR = TOKEN_FROM_ID(302, OperatorTokenType),
Chris@16 153 T_COMPL = TOKEN_FROM_ID(303, OperatorTokenType),
Chris@16 154 T_COMPL_ALT = TOKEN_FROM_ID(303, OperatorTokenType|AltExtTokenType),
Chris@16 155 T_COMPL_TRIGRAPH = TOKEN_FROM_ID(303, OperatorTokenType|TriGraphTokenType),
Chris@16 156 T_STARASSIGN = TOKEN_FROM_ID(304, OperatorTokenType),
Chris@16 157 T_ASM = TOKEN_FROM_ID(305, KeywordTokenType),
Chris@16 158 T_AUTO = TOKEN_FROM_ID(306, KeywordTokenType),
Chris@16 159 T_BOOL = TOKEN_FROM_ID(307, KeywordTokenType),
Chris@16 160 T_FALSE = TOKEN_FROM_ID(308, BoolLiteralTokenType),
Chris@16 161 T_TRUE = TOKEN_FROM_ID(309, BoolLiteralTokenType),
Chris@16 162 T_BREAK = TOKEN_FROM_ID(310, KeywordTokenType),
Chris@16 163 T_CASE = TOKEN_FROM_ID(311, KeywordTokenType),
Chris@16 164 T_CATCH = TOKEN_FROM_ID(312, KeywordTokenType),
Chris@16 165 T_CHAR = TOKEN_FROM_ID(313, KeywordTokenType),
Chris@16 166 T_CLASS = TOKEN_FROM_ID(314, KeywordTokenType),
Chris@16 167 T_CONST = TOKEN_FROM_ID(315, KeywordTokenType),
Chris@16 168 T_CONSTCAST = TOKEN_FROM_ID(316, KeywordTokenType),
Chris@16 169 T_CONTINUE = TOKEN_FROM_ID(317, KeywordTokenType),
Chris@16 170 T_DEFAULT = TOKEN_FROM_ID(318, KeywordTokenType),
Chris@16 171 T_DELETE = TOKEN_FROM_ID(319, KeywordTokenType),
Chris@16 172 T_DO = TOKEN_FROM_ID(320, KeywordTokenType),
Chris@16 173 T_DOUBLE = TOKEN_FROM_ID(321, KeywordTokenType),
Chris@16 174 T_DYNAMICCAST = TOKEN_FROM_ID(322, KeywordTokenType),
Chris@16 175 T_ELSE = TOKEN_FROM_ID(323, KeywordTokenType),
Chris@16 176 T_ENUM = TOKEN_FROM_ID(324, KeywordTokenType),
Chris@16 177 T_EXPLICIT = TOKEN_FROM_ID(325, KeywordTokenType),
Chris@16 178 T_EXPORT = TOKEN_FROM_ID(326, KeywordTokenType),
Chris@16 179 T_EXTERN = TOKEN_FROM_ID(327, KeywordTokenType),
Chris@16 180 T_FLOAT = TOKEN_FROM_ID(328, KeywordTokenType),
Chris@16 181 T_FOR = TOKEN_FROM_ID(329, KeywordTokenType),
Chris@16 182 T_FRIEND = TOKEN_FROM_ID(330, KeywordTokenType),
Chris@16 183 T_GOTO = TOKEN_FROM_ID(331, KeywordTokenType),
Chris@16 184 T_IF = TOKEN_FROM_ID(332, KeywordTokenType),
Chris@16 185 T_INLINE = TOKEN_FROM_ID(333, KeywordTokenType),
Chris@16 186 T_INT = TOKEN_FROM_ID(334, KeywordTokenType),
Chris@16 187 T_LONG = TOKEN_FROM_ID(335, KeywordTokenType),
Chris@16 188 T_MUTABLE = TOKEN_FROM_ID(336, KeywordTokenType),
Chris@16 189 T_NAMESPACE = TOKEN_FROM_ID(337, KeywordTokenType),
Chris@16 190 T_NEW = TOKEN_FROM_ID(338, KeywordTokenType),
Chris@16 191 T_OPERATOR = TOKEN_FROM_ID(339, KeywordTokenType),
Chris@16 192 T_PRIVATE = TOKEN_FROM_ID(340, KeywordTokenType),
Chris@16 193 T_PROTECTED = TOKEN_FROM_ID(341, KeywordTokenType),
Chris@16 194 T_PUBLIC = TOKEN_FROM_ID(342, KeywordTokenType),
Chris@16 195 T_REGISTER = TOKEN_FROM_ID(343, KeywordTokenType),
Chris@16 196 T_REINTERPRETCAST = TOKEN_FROM_ID(344, KeywordTokenType),
Chris@16 197 T_RETURN = TOKEN_FROM_ID(345, KeywordTokenType),
Chris@16 198 T_SHORT = TOKEN_FROM_ID(346, KeywordTokenType),
Chris@16 199 T_SIGNED = TOKEN_FROM_ID(347, KeywordTokenType),
Chris@16 200 T_SIZEOF = TOKEN_FROM_ID(348, KeywordTokenType),
Chris@16 201 T_STATIC = TOKEN_FROM_ID(349, KeywordTokenType),
Chris@16 202 T_STATICCAST = TOKEN_FROM_ID(350, KeywordTokenType),
Chris@16 203 T_STRUCT = TOKEN_FROM_ID(351, KeywordTokenType),
Chris@16 204 T_SWITCH = TOKEN_FROM_ID(352, KeywordTokenType),
Chris@16 205 T_TEMPLATE = TOKEN_FROM_ID(353, KeywordTokenType),
Chris@16 206 T_THIS = TOKEN_FROM_ID(354, KeywordTokenType),
Chris@16 207 T_THROW = TOKEN_FROM_ID(355, KeywordTokenType),
Chris@16 208 T_TRY = TOKEN_FROM_ID(356, KeywordTokenType),
Chris@16 209 T_TYPEDEF = TOKEN_FROM_ID(357, KeywordTokenType),
Chris@16 210 T_TYPEID = TOKEN_FROM_ID(358, KeywordTokenType),
Chris@16 211 T_TYPENAME = TOKEN_FROM_ID(359, KeywordTokenType),
Chris@16 212 T_UNION = TOKEN_FROM_ID(360, KeywordTokenType),
Chris@16 213 T_UNSIGNED = TOKEN_FROM_ID(361, KeywordTokenType),
Chris@16 214 T_USING = TOKEN_FROM_ID(362, KeywordTokenType),
Chris@16 215 T_VIRTUAL = TOKEN_FROM_ID(363, KeywordTokenType),
Chris@16 216 T_VOID = TOKEN_FROM_ID(364, KeywordTokenType),
Chris@16 217 T_VOLATILE = TOKEN_FROM_ID(365, KeywordTokenType),
Chris@16 218 T_WCHART = TOKEN_FROM_ID(366, KeywordTokenType),
Chris@16 219 T_WHILE = TOKEN_FROM_ID(367, KeywordTokenType),
Chris@16 220 T_PP_DEFINE = TOKEN_FROM_ID(368, PPTokenType),
Chris@16 221 T_PP_IF = TOKEN_FROM_ID(369, PPConditionalTokenType),
Chris@16 222 T_PP_IFDEF = TOKEN_FROM_ID(370, PPConditionalTokenType),
Chris@16 223 T_PP_IFNDEF = TOKEN_FROM_ID(371, PPConditionalTokenType),
Chris@16 224 T_PP_ELSE = TOKEN_FROM_ID(372, PPConditionalTokenType),
Chris@16 225 T_PP_ELIF = TOKEN_FROM_ID(373, PPConditionalTokenType),
Chris@16 226 T_PP_ENDIF = TOKEN_FROM_ID(374, PPConditionalTokenType),
Chris@16 227 T_PP_ERROR = TOKEN_FROM_ID(375, PPTokenType),
Chris@16 228 T_PP_LINE = TOKEN_FROM_ID(376, PPTokenType),
Chris@16 229 T_PP_PRAGMA = TOKEN_FROM_ID(377, PPTokenType),
Chris@16 230 T_PP_UNDEF = TOKEN_FROM_ID(378, PPTokenType),
Chris@16 231 T_PP_WARNING = TOKEN_FROM_ID(379, PPTokenType),
Chris@16 232 T_IDENTIFIER = TOKEN_FROM_ID(380, IdentifierTokenType),
Chris@16 233 T_OCTALINT = TOKEN_FROM_ID(381, IntegerLiteralTokenType),
Chris@16 234 T_DECIMALINT = TOKEN_FROM_ID(382, IntegerLiteralTokenType),
Chris@16 235 T_HEXAINT = TOKEN_FROM_ID(383, IntegerLiteralTokenType),
Chris@16 236 T_INTLIT = TOKEN_FROM_ID(384, IntegerLiteralTokenType),
Chris@16 237 T_LONGINTLIT = TOKEN_FROM_ID(385, IntegerLiteralTokenType),
Chris@16 238 T_FLOATLIT = TOKEN_FROM_ID(386, FloatingLiteralTokenType),
Chris@16 239 T_FIXEDPOINTLIT = TOKEN_FROM_ID(386, FloatingLiteralTokenType|AltTokenType), // IDL specific
Chris@16 240 T_CCOMMENT = TOKEN_FROM_ID(387, WhiteSpaceTokenType|AltTokenType),
Chris@16 241 T_CPPCOMMENT = TOKEN_FROM_ID(388, WhiteSpaceTokenType|AltTokenType),
Chris@16 242 T_CHARLIT = TOKEN_FROM_ID(389, CharacterLiteralTokenType),
Chris@16 243 T_STRINGLIT = TOKEN_FROM_ID(390, StringLiteralTokenType),
Chris@16 244 T_CONTLINE = TOKEN_FROM_ID(391, EOLTokenType),
Chris@16 245 T_SPACE = TOKEN_FROM_ID(392, WhiteSpaceTokenType),
Chris@16 246 T_SPACE2 = TOKEN_FROM_ID(393, WhiteSpaceTokenType),
Chris@16 247 T_NEWLINE = TOKEN_FROM_ID(394, EOLTokenType),
Chris@16 248 T_GENERATEDNEWLINE = TOKEN_FROM_ID(394, EOLTokenType|AltTokenType),
Chris@16 249 T_POUND_POUND = TOKEN_FROM_ID(395, OperatorTokenType),
Chris@16 250 T_POUND_POUND_ALT = TOKEN_FROM_ID(395, OperatorTokenType|AltTokenType),
Chris@16 251 T_POUND_POUND_TRIGRAPH = TOKEN_FROM_ID(395, OperatorTokenType|TriGraphTokenType),
Chris@16 252 T_POUND = TOKEN_FROM_ID(396, OperatorTokenType),
Chris@16 253 T_POUND_ALT = TOKEN_FROM_ID(396, OperatorTokenType|AltTokenType),
Chris@16 254 T_POUND_TRIGRAPH = TOKEN_FROM_ID(396, OperatorTokenType|TriGraphTokenType),
Chris@16 255 T_ANY = TOKEN_FROM_ID(397, UnknownTokenType),
Chris@16 256 T_ANY_TRIGRAPH = TOKEN_FROM_ID(397, UnknownTokenType|TriGraphTokenType),
Chris@16 257 T_PP_INCLUDE = TOKEN_FROM_ID(398, PPTokenType),
Chris@16 258 T_PP_QHEADER = TOKEN_FROM_ID(399, PPTokenType),
Chris@16 259 T_PP_HHEADER = TOKEN_FROM_ID(400, PPTokenType),
Chris@16 260 T_PP_INCLUDE_NEXT = TOKEN_FROM_ID(398, PPTokenType|AltTokenType),
Chris@16 261 T_PP_QHEADER_NEXT = TOKEN_FROM_ID(399, PPTokenType|AltTokenType),
Chris@16 262 T_PP_HHEADER_NEXT = TOKEN_FROM_ID(400, PPTokenType|AltTokenType),
Chris@16 263 T_EOF = TOKEN_FROM_ID(401, EOFTokenType), // end of file reached
Chris@16 264 T_EOI = TOKEN_FROM_ID(402, EOFTokenType), // end of input reached
Chris@16 265 T_PP_NUMBER = TOKEN_FROM_ID(403, InternalTokenType),
Chris@16 266
Chris@16 267 // MS extensions
Chris@16 268 T_MSEXT_INT8 = TOKEN_FROM_ID(404, KeywordTokenType),
Chris@16 269 T_MSEXT_INT16 = TOKEN_FROM_ID(405, KeywordTokenType),
Chris@16 270 T_MSEXT_INT32 = TOKEN_FROM_ID(406, KeywordTokenType),
Chris@16 271 T_MSEXT_INT64 = TOKEN_FROM_ID(407, KeywordTokenType),
Chris@16 272 T_MSEXT_BASED = TOKEN_FROM_ID(408, KeywordTokenType),
Chris@16 273 T_MSEXT_DECLSPEC = TOKEN_FROM_ID(409, KeywordTokenType),
Chris@16 274 T_MSEXT_CDECL = TOKEN_FROM_ID(410, KeywordTokenType),
Chris@16 275 T_MSEXT_FASTCALL = TOKEN_FROM_ID(411, KeywordTokenType),
Chris@16 276 T_MSEXT_STDCALL = TOKEN_FROM_ID(412, KeywordTokenType),
Chris@16 277 T_MSEXT_TRY = TOKEN_FROM_ID(413, KeywordTokenType),
Chris@16 278 T_MSEXT_EXCEPT = TOKEN_FROM_ID(414, KeywordTokenType),
Chris@16 279 T_MSEXT_FINALLY = TOKEN_FROM_ID(415, KeywordTokenType),
Chris@16 280 T_MSEXT_LEAVE = TOKEN_FROM_ID(416, KeywordTokenType),
Chris@16 281 T_MSEXT_INLINE = TOKEN_FROM_ID(417, KeywordTokenType),
Chris@16 282 T_MSEXT_ASM = TOKEN_FROM_ID(418, KeywordTokenType),
Chris@16 283
Chris@16 284 T_MSEXT_PP_REGION = TOKEN_FROM_ID(419, PPTokenType),
Chris@16 285 T_MSEXT_PP_ENDREGION = TOKEN_FROM_ID(420, PPTokenType),
Chris@16 286
Chris@16 287 // import is needed to be a keyword for the C++ module Standards proposal
Chris@16 288 T_IMPORT = TOKEN_FROM_ID(421, KeywordTokenType),
Chris@16 289
Chris@16 290 // C++11 keywords
Chris@16 291 T_ALIGNAS = TOKEN_FROM_ID(422, KeywordTokenType),
Chris@16 292 T_ALIGNOF = TOKEN_FROM_ID(423, KeywordTokenType),
Chris@16 293 T_CHAR16_T = TOKEN_FROM_ID(424, KeywordTokenType),
Chris@16 294 T_CHAR32_T = TOKEN_FROM_ID(425, KeywordTokenType),
Chris@16 295 T_CONSTEXPR = TOKEN_FROM_ID(426, KeywordTokenType),
Chris@16 296 T_DECLTYPE = TOKEN_FROM_ID(427, KeywordTokenType),
Chris@16 297 T_NOEXCEPT = TOKEN_FROM_ID(428, KeywordTokenType),
Chris@16 298 T_NULLPTR = TOKEN_FROM_ID(429, KeywordTokenType),
Chris@16 299 T_STATICASSERT = TOKEN_FROM_ID(430, KeywordTokenType),
Chris@16 300 T_THREADLOCAL = TOKEN_FROM_ID(431, KeywordTokenType),
Chris@16 301 T_RAWSTRINGLIT = TOKEN_FROM_ID(432, StringLiteralTokenType),
Chris@16 302
Chris@16 303 T_LAST_TOKEN_ID,
Chris@16 304 T_LAST_TOKEN = ID_FROM_TOKEN(T_LAST_TOKEN_ID & ~PPTokenFlag),
Chris@16 305
Chris@16 306 // pseudo tokens to help streamlining macro replacement, these should not
Chris@16 307 // returned from the lexer nor should these be returned from the pp-iterator
Chris@16 308 T_NONREPLACABLE_IDENTIFIER = TOKEN_FROM_ID(T_LAST_TOKEN+1, IdentifierTokenType),
Chris@16 309 T_PLACEHOLDER = TOKEN_FROM_ID(T_LAST_TOKEN+2, WhiteSpaceTokenType),
Chris@16 310 T_PLACEMARKER = TOKEN_FROM_ID(T_LAST_TOKEN+3, InternalTokenType),
Chris@16 311 T_PARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+4, ParameterTokenType),
Chris@16 312 T_EXTPARAMETERBASE = TOKEN_FROM_ID(T_LAST_TOKEN+4, ExtParameterTokenType)
Chris@16 313 };
Chris@16 314
Chris@16 315 ///////////////////////////////////////////////////////////////////////////////
Chris@16 316 // redefine the TOKEN_FROM_ID macro to be more type safe
Chris@16 317 #undef TOKEN_FROM_ID
Chris@16 318 #define TOKEN_FROM_ID(id, cat) boost::wave::token_id((id) | (cat))
Chris@16 319
Chris@16 320 #undef ID_FROM_TOKEN
Chris@16 321 #define ID_FROM_TOKEN(tok) \
Chris@16 322 boost::wave::token_id((tok) & \
Chris@16 323 ~(boost::wave::TokenTypeMask|boost::wave::PPTokenFlag)) \
Chris@16 324 /**/
Chris@16 325
Chris@16 326 #undef BASEID_FROM_TOKEN
Chris@16 327 #define BASEID_FROM_TOKEN(tok) \
Chris@16 328 boost::wave::token_id((tok) & \
Chris@16 329 ~(boost::wave::ExtTokenTypeMask|boost::wave::PPTokenFlag)) \
Chris@16 330 /**/
Chris@16 331 #define BASE_TOKEN(tok) \
Chris@16 332 boost::wave::token_id((tok) & boost::wave::MainTokenMask) \
Chris@16 333 /**/
Chris@16 334 #define CATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::TokenTypeMask)
Chris@16 335 #define EXTCATEGORY_FROM_TOKEN(tok) ((tok) & boost::wave::ExtTokenTypeMask)
Chris@16 336 #define IS_CATEGORY(tok, cat) \
Chris@16 337 ((CATEGORY_FROM_TOKEN(tok) == CATEGORY_FROM_TOKEN(cat)) ? true : false) \
Chris@16 338 /**/
Chris@16 339 #define IS_EXTCATEGORY(tok, cat) \
Chris@16 340 ((EXTCATEGORY_FROM_TOKEN(tok) == EXTCATEGORY_FROM_TOKEN(cat)) ? true : false) \
Chris@16 341 /**/
Chris@16 342
Chris@16 343 ///////////////////////////////////////////////////////////////////////////////
Chris@16 344 // verify whether the given token(-id) represents a valid pp_token
Chris@16 345 inline bool is_pp_token(boost::wave::token_id id)
Chris@16 346 {
Chris@16 347 return (id & boost::wave::PPTokenFlag) ? true : false;
Chris@16 348 }
Chris@16 349
Chris@16 350 template <typename TokenT>
Chris@16 351 inline bool is_pp_token(TokenT const& tok)
Chris@16 352 {
Chris@16 353 return is_pp_token(boost::wave::token_id(tok));
Chris@16 354 }
Chris@16 355
Chris@16 356 ///////////////////////////////////////////////////////////////////////////////
Chris@16 357 // return a token name
Chris@16 358 BOOST_WAVE_DECL
Chris@16 359 BOOST_WAVE_STRINGTYPE get_token_name(token_id tokid);
Chris@16 360
Chris@16 361 ///////////////////////////////////////////////////////////////////////////////
Chris@16 362 // return a token name
Chris@16 363 BOOST_WAVE_DECL
Chris@16 364 char const *get_token_value(token_id tokid);
Chris@16 365
Chris@16 366 ///////////////////////////////////////////////////////////////////////////////
Chris@16 367 } // namespace wave
Chris@16 368 } // namespace boost
Chris@16 369
Chris@16 370 #endif // #if !defined(BOOST_WAVE_TOKEN_IDS_DEFINED)
Chris@16 371
Chris@16 372 // the suffix header occurs after all of the code
Chris@16 373 #ifdef BOOST_HAS_ABI_HEADERS
Chris@16 374 #include BOOST_ABI_SUFFIX
Chris@16 375 #endif
Chris@16 376
Chris@16 377 #endif // !defined(TOKEN_IDS_HPP_414E9A58_F079_4789_8AFF_513815CE475B_INCLUDED)
Chris@16 378