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