1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2015 The Qt Company Ltd. 4 ** Contact: http://www.qt.io/licensing/ 5 ** 6 ** This file is part of the tools applications of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see http://www.qt.io/terms-conditions. For further 15 ** information use the contact form at http://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 2.1 or version 3 as published by the Free 20 ** Software Foundation and appearing in the file LICENSE.LGPLv21 and 21 ** LICENSE.LGPLv3 included in the packaging of this file. Please review the 22 ** following information to ensure the GNU Lesser General Public License 23 ** requirements will be met: https://www.gnu.org/licenses/lgpl.html and 24 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 25 ** 26 ** As a special exception, The Qt Company gives you certain additional 27 ** rights. These rights are described in The Qt Company LGPL Exception 28 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 29 ** 30 ** GNU General Public License Usage 31 ** Alternatively, this file may be used under the terms of the GNU 32 ** General Public License version 3.0 as published by the Free Software 33 ** Foundation and appearing in the file LICENSE.GPL included in the 34 ** packaging of this file. Please review the following information to 35 ** ensure the GNU General Public License version 3.0 requirements will be 36 ** met: http://www.gnu.org/copyleft/gpl.html. 37 ** 38 ** $QT_END_LICENSE$ 39 ** 40 ****************************************************************************/ 41 42 #ifndef TOKEN_H 43 #define TOKEN_H 44 45 #include <QtCore/qglobal.h> 46 47 QT_BEGIN_NAMESPACE 48 49 enum Token { 50 NOTOKEN, 51 IDENTIFIER, 52 INTEGER_LITERAL, 53 CHARACTER_LITERAL, 54 STRING_LITERAL, 55 BOOLEAN_LITERAL, 56 HEADER_NAME, 57 LANGLE, 58 RANGLE, 59 LPAREN, 60 RPAREN, 61 ELIPSIS, 62 LBRACK, 63 RBRACK, 64 LBRACE, 65 RBRACE, 66 EQ, 67 SCOPE, 68 SEMIC, 69 COLON, 70 DOTSTAR, 71 QUESTION, 72 DOT, 73 DYNAMIC_CAST, 74 STATIC_CAST, 75 REINTERPRET_CAST, 76 CONST_CAST, 77 TYPEID, 78 THIS, 79 TEMPLATE, 80 THROW, 81 TRY, 82 CATCH, 83 TYPEDEF, 84 FRIEND, 85 CLASS, 86 NAMESPACE, 87 ENUM, 88 STRUCT, 89 UNION, 90 VIRTUAL, 91 PRIVATE, 92 PROTECTED, 93 PUBLIC, 94 EXPORT, 95 AUTO, 96 REGISTER, 97 EXTERN, 98 MUTABLE, 99 ASM, 100 USING, 101 INLINE, 102 EXPLICIT, 103 STATIC, 104 CONST, 105 VOLATILE, 106 OPERATOR, 107 SIZEOF, 108 NEW, 109 DELETE, 110 PLUS, 111 MINUS, 112 STAR, 113 SLASH, 114 PERCENT, 115 HAT, 116 AND, 117 OR, 118 TILDE, 119 NOT, 120 PLUS_EQ, 121 MINUS_EQ, 122 STAR_EQ, 123 SLASH_EQ, 124 PERCENT_EQ, 125 HAT_EQ, 126 AND_EQ, 127 OR_EQ, 128 LTLT, 129 GTGT, 130 GTGT_EQ, 131 LTLT_EQ, 132 EQEQ, 133 NE, 134 LE, 135 GE, 136 ANDAND, 137 OROR, 138 INCR, 139 DECR, 140 COMMA, 141 ARROW_STAR, 142 ARROW, 143 CHAR, 144 WCHAR, 145 BOOL, 146 SHORT, 147 INT, 148 LONG, 149 SIGNED, 150 UNSIGNED, 151 FLOAT, 152 DOUBLE, 153 VOID, 154 CASE, 155 DEFAULT, 156 IF, 157 ELSE, 158 SWITCH, 159 WHILE, 160 DO, 161 FOR, 162 BREAK, 163 CONTINUE, 164 GOTO, 165 SIGNALS, 166 SLOTS, 167 RETURN, 168 Q_META_TOKEN_BEGIN, 169 Q_OBJECT_TOKEN = Q_META_TOKEN_BEGIN, 170 Q_GADGET_TOKEN, 171 Q_PROPERTY_TOKEN, 172 Q_ENUMS_TOKEN, 173 Q_FLAGS_TOKEN, 174 Q_DECLARE_FLAGS_TOKEN, 175 Q_DECLARE_INTERFACE_TOKEN, 176 Q_DECLARE_METATYPE_TOKEN, 177 Q_CLASSINFO_TOKEN, 178 Q_INTERFACES_TOKEN, 179 Q_SIGNALS_TOKEN, 180 Q_SLOTS_TOKEN, 181 Q_SIGNAL_TOKEN, 182 Q_SLOT_TOKEN, 183 Q_PRIVATE_SLOT_TOKEN, 184 Q_MOC_COMPAT_TOKEN, 185 Q_QT3_SUPPORT_TOKEN, 186 Q_INVOKABLE_TOKEN, 187 Q_SCRIPTABLE_TOKEN, 188 Q_PRIVATE_PROPERTY_TOKEN, 189 Q_REVISION_TOKEN, 190 Q_META_TOKEN_END, 191 SPECIAL_TREATMENT_MARK = Q_META_TOKEN_END, 192 MOC_INCLUDE_BEGIN, 193 MOC_INCLUDE_END, 194 CPP_COMMENT, 195 C_COMMENT, 196 FLOATING_LITERAL, 197 HASH, 198 QUOTE, 199 SINGLEQUOTE, 200 LANGLE_SCOPE, 201 DIGIT, 202 CHARACTER, 203 NEWLINE, 204 WHITESPACE, 205 BACKSLASH, 206 INCOMPLETE, 207 208 PP_DEFINE, 209 PP_UNDEF, 210 PP_IF, 211 PP_IFDEF, 212 PP_IFNDEF, 213 PP_ELIF, 214 PP_ELSE, 215 PP_ENDIF, 216 PP_INCLUDE, 217 PP_HASHHASH, 218 PP_HASH, 219 PP_DEFINED, 220 PP_INCOMPLETE, 221 222 PP_MOC_TRUE, 223 PP_MOC_FALSE, 224 225 PP_NOTOKEN = NOTOKEN, 226 PP_IDENTIFIER = IDENTIFIER, 227 PP_INTEGER_LITERAL = INTEGER_LITERAL, 228 PP_CHARACTER_LITERAL = CHARACTER_LITERAL, 229 PP_STRING_LITERAL = STRING_LITERAL, 230 PP_LANGLE = LANGLE, 231 PP_RANGLE = RANGLE, 232 PP_LPAREN = LPAREN, 233 PP_RPAREN = RPAREN, 234 PP_COMMA = COMMA, 235 PP_PLUS = PLUS, 236 PP_MINUS = MINUS, 237 PP_STAR = STAR, 238 PP_SLASH = SLASH, 239 PP_PERCENT = PERCENT, 240 PP_HAT = HAT, 241 PP_AND = AND, 242 PP_OR = OR, 243 PP_TILDE = TILDE, 244 PP_NOT = NOT, 245 PP_LTLT = LTLT, 246 PP_GTGT = GTGT, 247 PP_EQEQ = EQEQ, 248 PP_NE = NE, 249 PP_LE = LE, 250 PP_GE = GE, 251 PP_ANDAND = ANDAND, 252 PP_OROR = OROR, 253 PP_QUESTION = QUESTION, 254 PP_COLON = COLON, 255 PP_FLOATING_LITERAL = FLOATING_LITERAL, 256 PP_QUOTE = QUOTE, 257 PP_SINGLEQUOTE = SINGLEQUOTE, 258 PP_DIGIT = DIGIT, 259 PP_CHARACTER = CHARACTER, 260 PP_WHITESPACE = WHITESPACE, 261 PP_NEWLINE = NEWLINE, 262 PP_CPP_COMMENT = CPP_COMMENT, 263 PP_C_COMMENT = C_COMMENT, 264 PP_BACKSLASH = BACKSLASH 265 }; 266 267 // for debugging only 268 #if defined(DEBUG_MOC) 269 const char *tokenTypeName(Token t); 270 #endif 271 272 typedef Token PP_Token; 273 274 QT_END_NAMESPACE 275 276 #endif // TOKEN_H 277