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