1 using System;
2
3
4
5 namespace LexerFileKeywords
6 {
7 internal class Keywords
8 {
9 static Keywords() :
10 instance(new Keywords())
11 {
12 }
13 public static Keywords& Instance()
14 {
15 return *instance;
16 }
17 public System.Lex.KeywordMap* GetKeywordMap()
18 {
19 return keywordMap.Get();
20 }
21 private Keywords()
22 {
23 System.Lex.Keyword keyword0(u"classmap", LexerFileTokens.CLASSMAP);
24 keywordList.Add(keyword0);
25 System.Lex.Keyword keyword1(u"tokens", LexerFileTokens.TOKENS);
26 keywordList.Add(keyword1);
27 System.Lex.Keyword keyword2(u"keywords", LexerFileTokens.KEYWORDS);
28 keywordList.Add(keyword2);
29 System.Lex.Keyword keyword3(u"expressions", LexerFileTokens.EXPRESSIONS);
30 keywordList.Add(keyword3);
31 System.Lex.Keyword keyword4(u"lexer", LexerFileTokens.LEXER);
32 keywordList.Add(keyword4);
33 System.Lex.Keyword keyword5(u"variables", LexerFileTokens.VARIABLES);
34 keywordList.Add(keyword5);
35 System.Lex.Keyword keyword6(u"actions", LexerFileTokens.ACTIONS);
36 keywordList.Add(keyword6);
37 System.Lex.Keyword keyword7(u"assert", LexerFileTokens.ASSERT);
38 keywordList.Add(keyword7);
39 System.Lex.Keyword keyword8(u"elif", LexerFileTokens.ELIF);
40 keywordList.Add(keyword8);
41 System.Lex.Keyword keyword9(u"endif", LexerFileTokens.ENDIF);
42 keywordList.Add(keyword9);
43 System.Lex.Keyword keyword10(u"bool", LexerFileTokens.BOOL);
44 keywordList.Add(keyword10);
45 System.Lex.Keyword keyword11(u"true", LexerFileTokens.TRUE);
46 keywordList.Add(keyword11);
47 System.Lex.Keyword keyword12(u"false", LexerFileTokens.FALSE);
48 keywordList.Add(keyword12);
49 System.Lex.Keyword keyword13(u"sbyte", LexerFileTokens.SBYTE);
50 keywordList.Add(keyword13);
51 System.Lex.Keyword keyword14(u"byte", LexerFileTokens.BYTE);
52 keywordList.Add(keyword14);
53 System.Lex.Keyword keyword15(u"short", LexerFileTokens.SHORT);
54 keywordList.Add(keyword15);
55 System.Lex.Keyword keyword16(u"ushort", LexerFileTokens.USHORT);
56 keywordList.Add(keyword16);
57 System.Lex.Keyword keyword17(u"int", LexerFileTokens.INT);
58 keywordList.Add(keyword17);
59 System.Lex.Keyword keyword18(u"uint", LexerFileTokens.UINT);
60 keywordList.Add(keyword18);
61 System.Lex.Keyword keyword19(u"long", LexerFileTokens.LONG);
62 keywordList.Add(keyword19);
63 System.Lex.Keyword keyword20(u"ulong", LexerFileTokens.ULONG);
64 keywordList.Add(keyword20);
65 System.Lex.Keyword keyword21(u"float", LexerFileTokens.FLOAT);
66 keywordList.Add(keyword21);
67 System.Lex.Keyword keyword22(u"double", LexerFileTokens.DOUBLE);
68 keywordList.Add(keyword22);
69 System.Lex.Keyword keyword23(u"char", LexerFileTokens.CHAR);
70 keywordList.Add(keyword23);
71 System.Lex.Keyword keyword24(u"wchar", LexerFileTokens.WCHAR);
72 keywordList.Add(keyword24);
73 System.Lex.Keyword keyword25(u"uchar", LexerFileTokens.UCHAR);
74 keywordList.Add(keyword25);
75 System.Lex.Keyword keyword26(u"void", LexerFileTokens.VOID);
76 keywordList.Add(keyword26);
77 System.Lex.Keyword keyword27(u"enum", LexerFileTokens.ENUM);
78 keywordList.Add(keyword27);
79 System.Lex.Keyword keyword28(u"cast", LexerFileTokens.CAST);
80 keywordList.Add(keyword28);
81 System.Lex.Keyword keyword29(u"interface", LexerFileTokens.INTERFACE);
82 keywordList.Add(keyword29);
83 System.Lex.Keyword keyword30(u"namespace", LexerFileTokens.NAMESPACE);
84 keywordList.Add(keyword30);
85 System.Lex.Keyword keyword31(u"using", LexerFileTokens.USING);
86 keywordList.Add(keyword31);
87 System.Lex.Keyword keyword32(u"static", LexerFileTokens.STATIC);
88 keywordList.Add(keyword32);
89 System.Lex.Keyword keyword33(u"extern", LexerFileTokens.EXTERN);
90 keywordList.Add(keyword33);
91 System.Lex.Keyword keyword34(u"as", LexerFileTokens.AS);
92 keywordList.Add(keyword34);
93 System.Lex.Keyword keyword35(u"is", LexerFileTokens.IS);
94 keywordList.Add(keyword35);
95 System.Lex.Keyword keyword36(u"explicit", LexerFileTokens.EXPLICIT);
96 keywordList.Add(keyword36);
97 System.Lex.Keyword keyword37(u"delegate", LexerFileTokens.DELEGATE);
98 keywordList.Add(keyword37);
99 System.Lex.Keyword keyword38(u"inline", LexerFileTokens.INLINE);
100 keywordList.Add(keyword38);
101 System.Lex.Keyword keyword39(u"cdecl", LexerFileTokens.CDECL);
102 keywordList.Add(keyword39);
103 System.Lex.Keyword keyword40(u"nothrow", LexerFileTokens.NOTHROW);
104 keywordList.Add(keyword40);
105 System.Lex.Keyword keyword41(u"public", LexerFileTokens.PUBLIC);
106 keywordList.Add(keyword41);
107 System.Lex.Keyword keyword42(u"protected", LexerFileTokens.PROTECTED);
108 keywordList.Add(keyword42);
109 System.Lex.Keyword keyword43(u"private", LexerFileTokens.PRIVATE);
110 keywordList.Add(keyword43);
111 System.Lex.Keyword keyword44(u"internal", LexerFileTokens.INTERNAL);
112 keywordList.Add(keyword44);
113 System.Lex.Keyword keyword45(u"virtual", LexerFileTokens.VIRTUAL);
114 keywordList.Add(keyword45);
115 System.Lex.Keyword keyword46(u"abstract", LexerFileTokens.ABSTRACT);
116 keywordList.Add(keyword46);
117 System.Lex.Keyword keyword47(u"override", LexerFileTokens.OVERRIDE);
118 keywordList.Add(keyword47);
119 System.Lex.Keyword keyword48(u"suppress", LexerFileTokens.SUPPRESS);
120 keywordList.Add(keyword48);
121 System.Lex.Keyword keyword49(u"operator", LexerFileTokens.OPERATOR);
122 keywordList.Add(keyword49);
123 System.Lex.Keyword keyword50(u"class", LexerFileTokens.CLASS);
124 keywordList.Add(keyword50);
125 System.Lex.Keyword keyword51(u"return", LexerFileTokens.RETURN);
126 keywordList.Add(keyword51);
127 System.Lex.Keyword keyword52(u"if", LexerFileTokens.IF);
128 keywordList.Add(keyword52);
129 System.Lex.Keyword keyword53(u"else", LexerFileTokens.ELSE);
130 keywordList.Add(keyword53);
131 System.Lex.Keyword keyword54(u"switch", LexerFileTokens.SWITCH);
132 keywordList.Add(keyword54);
133 System.Lex.Keyword keyword55(u"case", LexerFileTokens.CASE);
134 keywordList.Add(keyword55);
135 System.Lex.Keyword keyword56(u"default", LexerFileTokens.DEFAULT);
136 keywordList.Add(keyword56);
137 System.Lex.Keyword keyword57(u"while", LexerFileTokens.WHILE);
138 keywordList.Add(keyword57);
139 System.Lex.Keyword keyword58(u"do", LexerFileTokens.DO);
140 keywordList.Add(keyword58);
141 System.Lex.Keyword keyword59(u"for", LexerFileTokens.FOR);
142 keywordList.Add(keyword59);
143 System.Lex.Keyword keyword60(u"break", LexerFileTokens.BREAK);
144 keywordList.Add(keyword60);
145 System.Lex.Keyword keyword61(u"continue", LexerFileTokens.CONTINUE);
146 keywordList.Add(keyword61);
147 System.Lex.Keyword keyword62(u"goto", LexerFileTokens.GOTO);
148 keywordList.Add(keyword62);
149 System.Lex.Keyword keyword63(u"typedef", LexerFileTokens.TYPEDEF);
150 keywordList.Add(keyword63);
151 System.Lex.Keyword keyword64(u"typename", LexerFileTokens.TYPENAME);
152 keywordList.Add(keyword64);
153 System.Lex.Keyword keyword65(u"typeid", LexerFileTokens.TYPEID);
154 keywordList.Add(keyword65);
155 System.Lex.Keyword keyword66(u"const", LexerFileTokens.CONST);
156 keywordList.Add(keyword66);
157 System.Lex.Keyword keyword67(u"constexpr", LexerFileTokens.CONSTEXPR);
158 keywordList.Add(keyword67);
159 System.Lex.Keyword keyword68(u"null", LexerFileTokens.NULLLIT);
160 keywordList.Add(keyword68);
161 System.Lex.Keyword keyword69(u"this", LexerFileTokens.THIS);
162 keywordList.Add(keyword69);
163 System.Lex.Keyword keyword70(u"base", LexerFileTokens.BASE);
164 keywordList.Add(keyword70);
165 System.Lex.Keyword keyword71(u"construct", LexerFileTokens.CONSTRUCT);
166 keywordList.Add(keyword71);
167 System.Lex.Keyword keyword72(u"destroy", LexerFileTokens.DESTROY);
168 keywordList.Add(keyword72);
169 System.Lex.Keyword keyword73(u"new", LexerFileTokens.NEW);
170 keywordList.Add(keyword73);
171 System.Lex.Keyword keyword74(u"delete", LexerFileTokens.DELETE);
172 keywordList.Add(keyword74);
173 System.Lex.Keyword keyword75(u"sizeof", LexerFileTokens.SIZEOF);
174 keywordList.Add(keyword75);
175 System.Lex.Keyword keyword76(u"try", LexerFileTokens.TRY);
176 keywordList.Add(keyword76);
177 System.Lex.Keyword keyword77(u"catch", LexerFileTokens.CATCH);
178 keywordList.Add(keyword77);
179 System.Lex.Keyword keyword78(u"throw", LexerFileTokens.THROW);
180 keywordList.Add(keyword78);
181 System.Lex.Keyword keyword79(u"concept", LexerFileTokens.CONCEPT);
182 keywordList.Add(keyword79);
183 System.Lex.Keyword keyword80(u"where", LexerFileTokens.WHERE);
184 keywordList.Add(keyword80);
185 System.Lex.Keyword keyword81(u"axiom", LexerFileTokens.AXIOM);
186 keywordList.Add(keyword81);
187 System.Lex.Keyword keyword82(u"and", LexerFileTokens.AND);
188 keywordList.Add(keyword82);
189 System.Lex.Keyword keyword83(u"or", LexerFileTokens.OR);
190 keywordList.Add(keyword83);
191 System.Lex.Keyword keyword84(u"unit_test", LexerFileTokens.UNIT_TEST);
192 keywordList.Add(keyword84);
193 System.Lex.Keyword nullKeyword(null, -1);
194 keywordList.Add(nullKeyword);
195 keywordMap.Reset(new System.Lex.KeywordMap(keywordList.CBegin().Ptr()));
196 }
197 private static System.UniquePtr<Keywords> instance;
198 private System.Collections.List<System.Lex.Keyword> keywordList;
199 private System.UniquePtr<System.Lex.KeywordMap> keywordMap;
200 }
201
202 public System.Lex.KeywordMap* GetKeywordMap()
203 {
204 return Keywords.Instance().GetKeywordMap();
205 }
206 }