src/Tokens.h

changeset 110
7a7a53f1d51b
parent 108
6409ece8297c
child 111
87d9ebd3ef34
equal deleted inserted replaced
109:6572803cd0ca 110:7a7a53f1d51b
28 28
29 #ifndef TOKENS_H 29 #ifndef TOKENS_H
30 #define TOKENS_H 30 #define TOKENS_H
31 31
32 #include <climits> 32 #include <climits>
33 #include "Macros.h"
33 34
34 // ======================================================= 35 // =======================================================
35 enum EToken 36 named_enum TokenType
36 { 37 {
37 // Non-word tokens 38 // Non-word tokens
38 tkLeftShiftAssign, 39 TK_LeftShiftAssign,
39 tkRightShiftAssign, 40 TK_RightShiftAssign,
40 tkEquals, 41 TK_Equals,
41 tkNotEquals, 42 TK_NotEquals,
42 tkAddAssign, 43 TK_AddAssign,
43 tkSubAssign, 44 TK_SubAssign,
44 tkMultiplyAssign, 45 TK_MultiplyAssign,
45 tkDivideAssign, 46 TK_DivideAssign,
46 tkModulusAssign, 47 TK_ModulusAssign,
47 tkLeftShift, 48 TK_LeftShift,
48 tkRightShift, 49 TK_RightShift,
49 tkAtLeast, 50 TK_AtLeast,
50 tkAtMost, 51 TK_AtMost,
51 tkDoubleAmperstand, 52 TK_DoubleAmperstand,
52 tkDoubleBar, 53 TK_DoubleBar,
53 tkDoublePlus, 54 TK_DoublePlus,
54 tkDoubleMinus, 55 TK_DoubleMinus,
55 tkSingleQuote, 56 TK_SingleQuote,
56 tkDollarSign, 57 TK_DollarSign,
57 tkParenStart, 58 TK_ParenStart,
58 tkParenEnd, 59 TK_ParenEnd,
59 tkBracketStart, 60 TK_BracketStart,
60 tkBracketEnd, 61 TK_BracketEnd,
61 tkBraceStart, 62 TK_BraceStart,
62 tkBraceEnd, 63 TK_BraceEnd,
63 tkAssign, 64 TK_Assign,
64 tkPlus, 65 TK_Plus,
65 tkMinus, 66 TK_Minus,
66 tkMultiply, 67 TK_Multiply,
67 tkDivide, 68 TK_Divide,
68 tkModulus, 69 TK_Modulus,
69 tkComma, 70 TK_Comma,
70 tkLesser, 71 TK_Lesser,
71 tkGreater, 72 TK_Greater,
72 tkDot, 73 TK_Dot,
73 tkColon, 74 TK_Colon,
74 tkSemicolon, 75 TK_Semicolon,
75 tkHash, 76 TK_Hash,
76 tkExclamationMark, 77 TK_ExclamationMark,
77 tkAmperstand, 78 TK_Amperstand,
78 tkBar, 79 TK_Bar,
79 tkCaret, 80 TK_Caret,
80 tkQuMARK_stion, 81 TK_QuestionMark,
81 tkArrow, 82 TK_Arrow,
82 83
83 // -------------- 84 // --------------
84 // Named tokens 85 // Named tokens
85 tkBool, 86 TK_Bool,
86 tkBreak, 87 TK_Break,
87 tkCase, 88 TK_Case,
88 tkContinue, 89 TK_Continue,
89 tkConst, 90 TK_Const,
90 tkDefault, 91 TK_Default,
91 tkDo, 92 TK_Do,
92 tkElse, 93 TK_Else,
93 tkEvent, 94 TK_Event,
94 tkEventdef, 95 TK_Eventdef,
95 tkFor, 96 TK_For,
96 tkFuncdef, 97 TK_Funcdef,
97 tkGoto, 98 TK_Goto,
98 tkIf, 99 TK_If,
99 tkInt, 100 TK_Int,
100 tkMainloop, 101 TK_Mainloop,
101 tkOnenter, 102 TK_Onenter,
102 tkOnexit, 103 TK_Onexit,
103 tkState, 104 TK_State,
104 tkSwitch, 105 TK_Switch,
105 tkStr, 106 TK_Str,
106 tkVar, 107 TK_Var,
107 tkVoid, 108 TK_Void,
108 tkWhile, 109 TK_While,
109 tkTrue, 110 TK_True,
110 tkFalse, 111 TK_False,
111 112
112 // These ones aren't implemented yet but I plan to do so, thus they are 113 // These ones aren't implemented yet but I plan to do so, thus they are
113 // reserved. Also serves as a to-do list of sorts for me. >:F 114 // reserved. Also serves as a to-do list of sorts for me. >:F
114 tkEnum, 115 TK_Enum,
115 tkFunc, 116 TK_Func,
116 tkReturn, 117 TK_Return,
117 118
118 // -------------- 119 // --------------
119 // Generic tokens 120 // Generic tokens
120 tkSymbol, 121 TK_Symbol,
121 tkNumber, 122 TK_Number,
122 tkString, 123 TK_String,
123 124 TK_Any,
124 tkFirstNamedToken = tkBool,
125 tkLastNamedToken = (int) tkSymbol - 1,
126 tkAny = INT_MAX
127 }; 125 };
128 126
127 static const int gFirstNamedToken = TK_Bool;
128 static const int gLastNamedToken = (int) TK_Symbol - 1;
129
129 #endif 130 #endif

mercurial