1 #ifndef CmajorTokens_HPP
2 #define CmajorTokens_HPP
3
4
5
6 #include <sngcm/cmlexer/TokenValueParsers.hpp>
7 #include <sngcm/cmlexer/CmajorLexerApi.hpp>
8 #include <string>
9
10 namespace CmajorTokens
11 {
12 const int END = 0;
13 const int ASSERT = 1;
14 const int ELIF = 2;
15 const int ENDIF = 3;
16 const int BOOL = 4;
17 const int TRUE = 5;
18 const int FALSE = 6;
19 const int SBYTE = 7;
20 const int BYTE = 8;
21 const int SHORT = 9;
22 const int USHORT = 10;
23 const int INT = 11;
24 const int UINT = 12;
25 const int LONG = 13;
26 const int ULONG = 14;
27 const int FLOAT = 15;
28 const int DOUBLE = 16;
29 const int CHAR = 17;
30 const int WCHAR = 18;
31 const int UCHAR = 19;
32 const int VOID = 20;
33 const int ENUM = 21;
34 const int CAST = 22;
35 const int INTERFACE = 23;
36 const int NAMESPACE = 24;
37 const int USING = 25;
38 const int STATIC = 26;
39 const int EXTERN = 27;
40 const int AS = 28;
41 const int IS = 29;
42 const int EXPLICIT = 30;
43 const int DELEGATE = 31;
44 const int INLINE = 32;
45 const int CDECL = 33;
46 const int NOTHROW = 34;
47 const int PUBLIC = 35;
48 const int PROTECTED = 36;
49 const int PRIVATE = 37;
50 const int INTERNAL = 38;
51 const int VIRTUAL = 39;
52 const int ABSTRACT = 40;
53 const int OVERRIDE = 41;
54 const int SUPPRESS = 42;
55 const int WINAPI = 43;
56 const int OPERATOR = 44;
57 const int CLASS = 45;
58 const int RETURN = 46;
59 const int IF = 47;
60 const int ELSE = 48;
61 const int SWITCH = 49;
62 const int CASE = 50;
63 const int DEFAULT = 51;
64 const int WHILE = 52;
65 const int DO = 53;
66 const int FOR = 54;
67 const int BREAK = 55;
68 const int CONTINUE = 56;
69 const int GOTO = 57;
70 const int TYPEDEF = 58;
71 const int TYPENAME = 59;
72 const int TYPEID = 60;
73 const int CONST = 61;
74 const int CONSTEXPR = 62;
75 const int NULLLIT = 63;
76 const int THIS = 64;
77 const int BASE = 65;
78 const int CONSTRUCT = 66;
79 const int DESTROY = 67;
80 const int NEW = 68;
81 const int DELETE = 69;
82 const int SIZEOF = 70;
83 const int TRY = 71;
84 const int CATCH = 72;
85 const int THROW = 73;
86 const int CONCEPT = 74;
87 const int WHERE = 75;
88 const int AXIOM = 76;
89 const int AND = 77;
90 const int OR = 78;
91 const int EXCLAMATION = 79;
92 const int UNIT_TEST = 80;
93 const int ID = 81;
94 const int FLOATINGLIT = 82;
95 const int INTLIT = 83;
96 const int CHARLIT = 84;
97 const int STRINGLIT = 85;
98 const int EQUIVALENCE = 86;
99 const int IMPLICATION = 87;
100 const int DISJUNCTION = 88;
101 const int AMPAMP = 89;
102 const int BITOR = 90;
103 const int BITXOR = 91;
104 const int AMP = 92;
105 const int EQ = 93;
106 const int NEQ = 94;
107 const int LEQ = 95;
108 const int GEQ = 96;
109 const int SHIFTLEFT = 97;
110 const int SHIFTRIGHT = 98;
111 const int PLUS = 99;
112 const int MINUS = 100;
113 const int STAR = 101;
114 const int DIV = 102;
115 const int REM = 103;
116 const int PLUSPLUS = 104;
117 const int MINUSMINUS = 105;
118 const int CPL = 106;
119 const int DOT = 107;
120 const int ARROW = 108;
121 const int LBRACKET = 109;
122 const int RBRACKET = 110;
123 const int LPAREN = 111;
124 const int RPAREN = 112;
125 const int LANGLE = 113;
126 const int RANGLE = 114;
127 const int LBRACE = 115;
128 const int RBRACE = 116;
129 const int COMMA = 117;
130 const int ASSIGN = 118;
131 const int COLON = 119;
132 const int SEMICOLON = 120;
133 const int HASH = 121;
134 const int COMMENT = 122;
135 const int WS = 123;
136
137 void InitTokenIdMap();
138 int GetTokenId(const std::u32string& tokenName);
139 const char* GetTokenName(int tokenId);
140 const char* GetTokenInfo(int tokenId);
141 }
142 #endif