33 |
33 |
34 // ======================================================= |
34 // ======================================================= |
35 enum EToken |
35 enum EToken |
36 { |
36 { |
37 // Non-word tokens |
37 // Non-word tokens |
38 tkLeftShiftAssign, // |
38 tkLeftShiftAssign, |
39 tkRightShiftAssign, // |
39 tkRightShiftAssign, |
40 tkEquals, // ----- 0 |
40 tkEquals, |
41 tkNotEquals, |
41 tkNotEquals, |
42 tkBrackets, // - 1 |
42 tkBrackets, |
43 tkAddAssign, // - 2 |
43 tkAddAssign, |
44 tkSubAssign, // - 3 |
44 tkSubAssign, |
45 tkMultiplyAssign, // - 4 |
45 tkMultiplyAssign, |
46 tkDivideAssign, // ----- 5 |
46 tkDivideAssign, |
47 tkModulusAssign, // - 6 |
47 tkModulusAssign, |
48 tkLeftShift, |
48 tkLeftShift, |
49 tkRightShift, |
49 tkRightShift, |
50 tkAtLeast, |
50 tkAtLeast, |
51 tkAtMost, |
51 tkAtMost, |
52 tkDoubleAmperstand, |
52 tkDoubleAmperstand, |
53 tkDoubleBar, |
53 tkDoubleBar, |
54 tkSingleQuote, // - 7 |
54 tkDoublePlus, |
55 tkDollarSign, // - 8 |
55 tkDoubleMinus, |
56 tkParenStart, // - 9 |
56 tkSingleQuote, |
57 tkParenEnd, // ----- 10 |
57 tkDollarSign, |
58 tkBracketStart, // - 11 |
58 tkParenStart, |
59 tkBracketEnd, // - 12 |
59 tkParenEnd, |
60 tkBraceStart, // - 13 |
60 tkBracketStart, |
61 tkBraceEnd, // - 14 |
61 tkBracketEnd, |
62 tkAssign, // ----- 15 |
62 tkBraceStart, |
63 tkPlus, // - 16 |
63 tkBraceEnd, |
64 tkMinus, // - 17 |
64 tkAssign, |
65 tkMultiply, // - 18 |
65 tkPlus, |
66 tkDivide, // - 19 |
66 tkMinus, |
67 tkModulus, // ----- 20 |
67 tkMultiply, |
68 tkComma, // - 21 |
68 tkDivide, |
69 tkLesser, // - 22 |
69 tkModulus, |
70 tkGreater, // - 23 |
70 tkComma, |
71 tkDot, // - 24 |
71 tkLesser, |
72 tkColon, // ----- 25 |
72 tkGreater, |
73 tkSemicolon, // - 26 |
73 tkDot, |
74 tkHash, // - 27 |
74 tkColon, |
75 tkExclamationMark, // - 28 |
75 tkSemicolon, |
|
76 tkHash, |
|
77 tkExclamationMark, |
76 tkAmperstand, |
78 tkAmperstand, |
77 tkBar, |
79 tkBar, |
78 tkCaret, |
80 tkCaret, |
79 tkQuestionMark, |
81 tkQuestionMark, |
80 tkArrow, // - 29 |
82 tkArrow, |
81 |
83 |
82 // -------------- |
84 // -------------- |
83 // Named tokens |
85 // Named tokens |
84 tkBool, // ----- 30 |
86 tkBool, |
85 tkBreak, // - 31 |
87 tkBreak, |
86 tkCase, // - 32 |
88 tkCase, |
87 tkContinue, // - 33 |
89 tkContinue, |
88 tkConst, // - 34 |
90 tkConst, |
89 tkDefault, // ----- 35 |
91 tkDefault, |
90 tkDo, // - 36 |
92 tkDo, |
91 tkElse, // - 37 |
93 tkElse, |
92 tkEvent, // - 38 |
94 tkEvent, |
93 tkEventdef, // - 39 |
95 tkEventdef, |
94 tkFor, // ----- 40 |
96 tkFor, |
95 tkFuncdef, // - 41 |
97 tkFuncdef, |
96 tkGoto, // - 42 |
98 tkGoto, |
97 tkIf, // - 43 |
99 tkIf, |
98 tkInt, // - 44 |
100 tkInt, |
99 tkMainloop, // ----- 45 |
101 tkMainloop, |
100 tkOnenter, // - 46 |
102 tkOnenter, |
101 tkOnexit, // - 47 |
103 tkOnexit, |
102 tkState, // - 48 |
104 tkState, |
103 tkSwitch, // - 49 |
105 tkSwitch, |
104 tkStr, // ----- 50 |
106 tkStr, |
105 tkVoid, // - 51 |
107 tkVoid, |
106 tkWhile, // - 52 |
108 tkWhile, |
107 tkTrue, |
109 tkTrue, |
108 tkFalse, |
110 tkFalse, |
109 |
111 |
110 // These ones aren't implemented yet but I plan to do so, thus they are |
112 // These ones aren't implemented yet but I plan to do so, thus they are |
111 // reserved. Also serves as a to-do list of sorts for me. >:F |
113 // reserved. Also serves as a to-do list of sorts for me. >:F |
112 tkEnum, // - 53 |
114 tkEnum, |
113 tkFunc, // - 54 |
115 tkFunc, |
114 tkReturn, // ----- 55 |
116 tkReturn, |
115 |
117 |
116 // -------------- |
118 // -------------- |
117 // Generic tokens |
119 // Generic tokens |
118 tkSymbol, // - 56 |
120 tkSymbol, |
119 tkNumber, // - 57 |
121 tkNumber, |
120 tkString, // - 58 |
122 tkString, |
121 |
123 |
122 tkFirstNamedToken = tkBool, |
124 tkFirstNamedToken = tkBool, |
123 tkLastNamedToken = (int) tkSymbol - 1, |
125 tkLastNamedToken = (int) tkSymbol - 1, |
124 tkAny = INT_MAX |
126 tkAny = INT_MAX |
125 }; |
127 }; |