src/Tokens.h

changeset 110
7a7a53f1d51b
parent 108
6409ece8297c
child 111
87d9ebd3ef34
--- a/src/Tokens.h	Wed Feb 12 06:33:16 2014 +0200
+++ b/src/Tokens.h	Wed Feb 12 06:50:13 2014 +0200
@@ -30,100 +30,101 @@
 #define TOKENS_H
 
 #include <climits>
+#include "Macros.h"
 
 // =======================================================
-enum EToken
+named_enum TokenType
 {
 	// Non-word tokens
-	tkLeftShiftAssign,
-	tkRightShiftAssign,
-	tkEquals,
-	tkNotEquals,
-	tkAddAssign,
-	tkSubAssign,
-	tkMultiplyAssign,
-	tkDivideAssign,
-	tkModulusAssign,
-	tkLeftShift,
-	tkRightShift,
-	tkAtLeast,
-	tkAtMost,
-	tkDoubleAmperstand,
-	tkDoubleBar,
-	tkDoublePlus,
-	tkDoubleMinus,
-	tkSingleQuote,
-	tkDollarSign,
-	tkParenStart,
-	tkParenEnd,
-	tkBracketStart,
-	tkBracketEnd,
-	tkBraceStart,
-	tkBraceEnd,
-	tkAssign,
-	tkPlus,
-	tkMinus,
-	tkMultiply,
-	tkDivide,
-	tkModulus,
-	tkComma,
-	tkLesser,
-	tkGreater,
-	tkDot,
-	tkColon,
-	tkSemicolon,
-	tkHash,
-	tkExclamationMark,
-	tkAmperstand,
-	tkBar,
-	tkCaret,
-	tkQuMARK_stion,
-	tkArrow,
+	TK_LeftShiftAssign,
+	TK_RightShiftAssign,
+	TK_Equals,
+	TK_NotEquals,
+	TK_AddAssign,
+	TK_SubAssign,
+	TK_MultiplyAssign,
+	TK_DivideAssign,
+	TK_ModulusAssign,
+	TK_LeftShift,
+	TK_RightShift,
+	TK_AtLeast,
+	TK_AtMost,
+	TK_DoubleAmperstand,
+	TK_DoubleBar,
+	TK_DoublePlus,
+	TK_DoubleMinus,
+	TK_SingleQuote,
+	TK_DollarSign,
+	TK_ParenStart,
+	TK_ParenEnd,
+	TK_BracketStart,
+	TK_BracketEnd,
+	TK_BraceStart,
+	TK_BraceEnd,
+	TK_Assign,
+	TK_Plus,
+	TK_Minus,
+	TK_Multiply,
+	TK_Divide,
+	TK_Modulus,
+	TK_Comma,
+	TK_Lesser,
+	TK_Greater,
+	TK_Dot,
+	TK_Colon,
+	TK_Semicolon,
+	TK_Hash,
+	TK_ExclamationMark,
+	TK_Amperstand,
+	TK_Bar,
+	TK_Caret,
+	TK_QuestionMark,
+	TK_Arrow,
 
 	// --------------
 	// Named tokens
-	tkBool,
-	tkBreak,
-	tkCase,
-	tkContinue,
-	tkConst,
-	tkDefault,
-	tkDo,
-	tkElse,
-	tkEvent,
-	tkEventdef,
-	tkFor,
-	tkFuncdef,
-	tkGoto,
-	tkIf,
-	tkInt,
-	tkMainloop,
-	tkOnenter,
-	tkOnexit,
-	tkState,
-	tkSwitch,
-	tkStr,
-	tkVar,
-	tkVoid,
-	tkWhile,
-	tkTrue,
-	tkFalse,
+	TK_Bool,
+	TK_Break,
+	TK_Case,
+	TK_Continue,
+	TK_Const,
+	TK_Default,
+	TK_Do,
+	TK_Else,
+	TK_Event,
+	TK_Eventdef,
+	TK_For,
+	TK_Funcdef,
+	TK_Goto,
+	TK_If,
+	TK_Int,
+	TK_Mainloop,
+	TK_Onenter,
+	TK_Onexit,
+	TK_State,
+	TK_Switch,
+	TK_Str,
+	TK_Var,
+	TK_Void,
+	TK_While,
+	TK_True,
+	TK_False,
 
 	// These ones aren't implemented yet but I plan to do so, thus they are
 	// reserved. Also serves as a to-do list of sorts for me. >:F
-	tkEnum,
-	tkFunc,
-	tkReturn,
+	TK_Enum,
+	TK_Func,
+	TK_Return,
 
 	// --------------
 	// Generic tokens
-	tkSymbol,
-	tkNumber,
-	tkString,
-
-	tkFirstNamedToken		= tkBool,
-	tkLastNamedToken		= (int) tkSymbol - 1,
-	tkAny					= INT_MAX
+	TK_Symbol,
+	TK_Number,
+	TK_String,
+	TK_Any,
 };
 
+static const int gFirstNamedToken		= TK_Bool;
+static const int gLastNamedToken		= (int) TK_Symbol - 1;
+
 #endif

mercurial