Mercurial > projects > ldc
comparison dmd2/id.c @ 758:f04dde6e882c
Added initial D2 support, D2 frontend and changes to codegen to make things compile.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 11 Nov 2008 01:38:48 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
757:2c730d530c98 | 758:f04dde6e882c |
---|---|
1 // File generated by idgen.c | |
2 #include "id.h" | |
3 #include "identifier.h" | |
4 #include "lexer.h" | |
5 Identifier *Id::IUnknown; | |
6 Identifier *Id::Object; | |
7 Identifier *Id::object; | |
8 Identifier *Id::max; | |
9 Identifier *Id::min; | |
10 Identifier *Id::This; | |
11 Identifier *Id::ctor; | |
12 Identifier *Id::dtor; | |
13 Identifier *Id::cpctor; | |
14 Identifier *Id::_postblit; | |
15 Identifier *Id::classInvariant; | |
16 Identifier *Id::unitTest; | |
17 Identifier *Id::init; | |
18 Identifier *Id::size; | |
19 Identifier *Id::__sizeof; | |
20 Identifier *Id::alignof; | |
21 Identifier *Id::mangleof; | |
22 Identifier *Id::stringof; | |
23 Identifier *Id::tupleof; | |
24 Identifier *Id::length; | |
25 Identifier *Id::remove; | |
26 Identifier *Id::ptr; | |
27 Identifier *Id::funcptr; | |
28 Identifier *Id::dollar; | |
29 Identifier *Id::offset; | |
30 Identifier *Id::offsetof; | |
31 Identifier *Id::ModuleInfo; | |
32 Identifier *Id::ClassInfo; | |
33 Identifier *Id::classinfo; | |
34 Identifier *Id::typeinfo; | |
35 Identifier *Id::outer; | |
36 Identifier *Id::Exception; | |
37 Identifier *Id::withSym; | |
38 Identifier *Id::result; | |
39 Identifier *Id::returnLabel; | |
40 Identifier *Id::delegate; | |
41 Identifier *Id::line; | |
42 Identifier *Id::empty; | |
43 Identifier *Id::p; | |
44 Identifier *Id::coverage; | |
45 Identifier *Id::__vptr; | |
46 Identifier *Id::__monitor; | |
47 Identifier *Id::TypeInfo; | |
48 Identifier *Id::TypeInfo_Class; | |
49 Identifier *Id::TypeInfo_Interface; | |
50 Identifier *Id::TypeInfo_Struct; | |
51 Identifier *Id::TypeInfo_Enum; | |
52 Identifier *Id::TypeInfo_Typedef; | |
53 Identifier *Id::TypeInfo_Pointer; | |
54 Identifier *Id::TypeInfo_Array; | |
55 Identifier *Id::TypeInfo_StaticArray; | |
56 Identifier *Id::TypeInfo_AssociativeArray; | |
57 Identifier *Id::TypeInfo_Function; | |
58 Identifier *Id::TypeInfo_Delegate; | |
59 Identifier *Id::TypeInfo_Tuple; | |
60 Identifier *Id::TypeInfo_Const; | |
61 Identifier *Id::TypeInfo_Invariant; | |
62 Identifier *Id::elements; | |
63 Identifier *Id::_arguments_typeinfo; | |
64 Identifier *Id::_arguments; | |
65 Identifier *Id::_argptr; | |
66 Identifier *Id::_match; | |
67 Identifier *Id::destroy; | |
68 Identifier *Id::postblit; | |
69 Identifier *Id::LINE; | |
70 Identifier *Id::FILE; | |
71 Identifier *Id::DATE; | |
72 Identifier *Id::TIME; | |
73 Identifier *Id::TIMESTAMP; | |
74 Identifier *Id::VENDOR; | |
75 Identifier *Id::VERSIONX; | |
76 Identifier *Id::EOFX; | |
77 Identifier *Id::nan; | |
78 Identifier *Id::infinity; | |
79 Identifier *Id::dig; | |
80 Identifier *Id::epsilon; | |
81 Identifier *Id::mant_dig; | |
82 Identifier *Id::max_10_exp; | |
83 Identifier *Id::max_exp; | |
84 Identifier *Id::min_10_exp; | |
85 Identifier *Id::min_exp; | |
86 Identifier *Id::re; | |
87 Identifier *Id::im; | |
88 Identifier *Id::C; | |
89 Identifier *Id::D; | |
90 Identifier *Id::Windows; | |
91 Identifier *Id::Pascal; | |
92 Identifier *Id::System; | |
93 Identifier *Id::exit; | |
94 Identifier *Id::success; | |
95 Identifier *Id::failure; | |
96 Identifier *Id::keys; | |
97 Identifier *Id::values; | |
98 Identifier *Id::rehash; | |
99 Identifier *Id::sort; | |
100 Identifier *Id::reverse; | |
101 Identifier *Id::dup; | |
102 Identifier *Id::idup; | |
103 Identifier *Id::___out; | |
104 Identifier *Id::___in; | |
105 Identifier *Id::__int; | |
106 Identifier *Id::__dollar; | |
107 Identifier *Id::__LOCAL_SIZE; | |
108 Identifier *Id::uadd; | |
109 Identifier *Id::neg; | |
110 Identifier *Id::com; | |
111 Identifier *Id::add; | |
112 Identifier *Id::add_r; | |
113 Identifier *Id::sub; | |
114 Identifier *Id::sub_r; | |
115 Identifier *Id::mul; | |
116 Identifier *Id::mul_r; | |
117 Identifier *Id::div; | |
118 Identifier *Id::div_r; | |
119 Identifier *Id::mod; | |
120 Identifier *Id::mod_r; | |
121 Identifier *Id::eq; | |
122 Identifier *Id::cmp; | |
123 Identifier *Id::iand; | |
124 Identifier *Id::iand_r; | |
125 Identifier *Id::ior; | |
126 Identifier *Id::ior_r; | |
127 Identifier *Id::ixor; | |
128 Identifier *Id::ixor_r; | |
129 Identifier *Id::shl; | |
130 Identifier *Id::shl_r; | |
131 Identifier *Id::shr; | |
132 Identifier *Id::shr_r; | |
133 Identifier *Id::ushr; | |
134 Identifier *Id::ushr_r; | |
135 Identifier *Id::cat; | |
136 Identifier *Id::cat_r; | |
137 Identifier *Id::assign; | |
138 Identifier *Id::addass; | |
139 Identifier *Id::subass; | |
140 Identifier *Id::mulass; | |
141 Identifier *Id::divass; | |
142 Identifier *Id::modass; | |
143 Identifier *Id::andass; | |
144 Identifier *Id::orass; | |
145 Identifier *Id::xorass; | |
146 Identifier *Id::shlass; | |
147 Identifier *Id::shrass; | |
148 Identifier *Id::ushrass; | |
149 Identifier *Id::catass; | |
150 Identifier *Id::postinc; | |
151 Identifier *Id::postdec; | |
152 Identifier *Id::index; | |
153 Identifier *Id::indexass; | |
154 Identifier *Id::slice; | |
155 Identifier *Id::sliceass; | |
156 Identifier *Id::call; | |
157 Identifier *Id::cast; | |
158 Identifier *Id::match; | |
159 Identifier *Id::next; | |
160 Identifier *Id::opIn; | |
161 Identifier *Id::opIn_r; | |
162 Identifier *Id::opStar; | |
163 Identifier *Id::opDot; | |
164 Identifier *Id::opImplicitCast; | |
165 Identifier *Id::classNew; | |
166 Identifier *Id::classDelete; | |
167 Identifier *Id::apply; | |
168 Identifier *Id::applyReverse; | |
169 Identifier *Id::adDup; | |
170 Identifier *Id::adReverse; | |
171 Identifier *Id::aaLen; | |
172 Identifier *Id::aaKeys; | |
173 Identifier *Id::aaValues; | |
174 Identifier *Id::aaRehash; | |
175 Identifier *Id::GNU_asm; | |
176 Identifier *Id::lib; | |
177 Identifier *Id::msg; | |
178 Identifier *Id::startaddress; | |
179 Identifier *Id::intrinsic; | |
180 Identifier *Id::va_intrinsic; | |
181 Identifier *Id::no_typeinfo; | |
182 Identifier *Id::no_moduleinfo; | |
183 Identifier *Id::Alloca; | |
184 Identifier *Id::vastart; | |
185 Identifier *Id::vacopy; | |
186 Identifier *Id::vaend; | |
187 Identifier *Id::vaarg; | |
188 Identifier *Id::ldc; | |
189 Identifier *Id::tohash; | |
190 Identifier *Id::tostring; | |
191 Identifier *Id::getmembers; | |
192 Identifier *Id::main; | |
193 Identifier *Id::WinMain; | |
194 Identifier *Id::DllMain; | |
195 Identifier *Id::std; | |
196 Identifier *Id::math; | |
197 Identifier *Id::sin; | |
198 Identifier *Id::cos; | |
199 Identifier *Id::tan; | |
200 Identifier *Id::_sqrt; | |
201 Identifier *Id::fabs; | |
202 Identifier *Id::isAbstractClass; | |
203 Identifier *Id::isArithmetic; | |
204 Identifier *Id::isAssociativeArray; | |
205 Identifier *Id::isFinalClass; | |
206 Identifier *Id::isFloating; | |
207 Identifier *Id::isIntegral; | |
208 Identifier *Id::isScalar; | |
209 Identifier *Id::isStaticArray; | |
210 Identifier *Id::isUnsigned; | |
211 Identifier *Id::isVirtualFunction; | |
212 Identifier *Id::isAbstractFunction; | |
213 Identifier *Id::isFinalFunction; | |
214 Identifier *Id::hasMember; | |
215 Identifier *Id::getMember; | |
216 Identifier *Id::getVirtualFunctions; | |
217 Identifier *Id::classInstanceSize; | |
218 Identifier *Id::allMembers; | |
219 Identifier *Id::derivedMembers; | |
220 Identifier *Id::isSame; | |
221 Identifier *Id::compiles; | |
222 void Id::initialize() | |
223 { | |
224 IUnknown = Lexer::idPool("IUnknown"); | |
225 Object = Lexer::idPool("Object"); | |
226 object = Lexer::idPool("object"); | |
227 max = Lexer::idPool("max"); | |
228 min = Lexer::idPool("min"); | |
229 This = Lexer::idPool("this"); | |
230 ctor = Lexer::idPool("__ctor"); | |
231 dtor = Lexer::idPool("__dtor"); | |
232 cpctor = Lexer::idPool("__cpctor"); | |
233 _postblit = Lexer::idPool("__postblit"); | |
234 classInvariant = Lexer::idPool("__invariant"); | |
235 unitTest = Lexer::idPool("__unitTest"); | |
236 init = Lexer::idPool("init"); | |
237 size = Lexer::idPool("size"); | |
238 __sizeof = Lexer::idPool("sizeof"); | |
239 alignof = Lexer::idPool("alignof"); | |
240 mangleof = Lexer::idPool("mangleof"); | |
241 stringof = Lexer::idPool("stringof"); | |
242 tupleof = Lexer::idPool("tupleof"); | |
243 length = Lexer::idPool("length"); | |
244 remove = Lexer::idPool("remove"); | |
245 ptr = Lexer::idPool("ptr"); | |
246 funcptr = Lexer::idPool("funcptr"); | |
247 dollar = Lexer::idPool("__dollar"); | |
248 offset = Lexer::idPool("offset"); | |
249 offsetof = Lexer::idPool("offsetof"); | |
250 ModuleInfo = Lexer::idPool("ModuleInfo"); | |
251 ClassInfo = Lexer::idPool("ClassInfo"); | |
252 classinfo = Lexer::idPool("classinfo"); | |
253 typeinfo = Lexer::idPool("typeinfo"); | |
254 outer = Lexer::idPool("outer"); | |
255 Exception = Lexer::idPool("Exception"); | |
256 withSym = Lexer::idPool("__withSym"); | |
257 result = Lexer::idPool("__result"); | |
258 returnLabel = Lexer::idPool("__returnLabel"); | |
259 delegate = Lexer::idPool("delegate"); | |
260 line = Lexer::idPool("line"); | |
261 empty = Lexer::idPool(""); | |
262 p = Lexer::idPool("p"); | |
263 coverage = Lexer::idPool("__coverage"); | |
264 __vptr = Lexer::idPool("__vptr"); | |
265 __monitor = Lexer::idPool("__monitor"); | |
266 TypeInfo = Lexer::idPool("TypeInfo"); | |
267 TypeInfo_Class = Lexer::idPool("TypeInfo_Class"); | |
268 TypeInfo_Interface = Lexer::idPool("TypeInfo_Interface"); | |
269 TypeInfo_Struct = Lexer::idPool("TypeInfo_Struct"); | |
270 TypeInfo_Enum = Lexer::idPool("TypeInfo_Enum"); | |
271 TypeInfo_Typedef = Lexer::idPool("TypeInfo_Typedef"); | |
272 TypeInfo_Pointer = Lexer::idPool("TypeInfo_Pointer"); | |
273 TypeInfo_Array = Lexer::idPool("TypeInfo_Array"); | |
274 TypeInfo_StaticArray = Lexer::idPool("TypeInfo_StaticArray"); | |
275 TypeInfo_AssociativeArray = Lexer::idPool("TypeInfo_AssociativeArray"); | |
276 TypeInfo_Function = Lexer::idPool("TypeInfo_Function"); | |
277 TypeInfo_Delegate = Lexer::idPool("TypeInfo_Delegate"); | |
278 TypeInfo_Tuple = Lexer::idPool("TypeInfo_Tuple"); | |
279 TypeInfo_Const = Lexer::idPool("TypeInfo_Const"); | |
280 TypeInfo_Invariant = Lexer::idPool("TypeInfo_Invariant"); | |
281 elements = Lexer::idPool("elements"); | |
282 _arguments_typeinfo = Lexer::idPool("_arguments_typeinfo"); | |
283 _arguments = Lexer::idPool("_arguments"); | |
284 _argptr = Lexer::idPool("_argptr"); | |
285 _match = Lexer::idPool("_match"); | |
286 destroy = Lexer::idPool("destroy"); | |
287 postblit = Lexer::idPool("postblit"); | |
288 LINE = Lexer::idPool("__LINE__"); | |
289 FILE = Lexer::idPool("__FILE__"); | |
290 DATE = Lexer::idPool("__DATE__"); | |
291 TIME = Lexer::idPool("__TIME__"); | |
292 TIMESTAMP = Lexer::idPool("__TIMESTAMP__"); | |
293 VENDOR = Lexer::idPool("__VENDOR__"); | |
294 VERSIONX = Lexer::idPool("__VERSION__"); | |
295 EOFX = Lexer::idPool("__EOF__"); | |
296 nan = Lexer::idPool("nan"); | |
297 infinity = Lexer::idPool("infinity"); | |
298 dig = Lexer::idPool("dig"); | |
299 epsilon = Lexer::idPool("epsilon"); | |
300 mant_dig = Lexer::idPool("mant_dig"); | |
301 max_10_exp = Lexer::idPool("max_10_exp"); | |
302 max_exp = Lexer::idPool("max_exp"); | |
303 min_10_exp = Lexer::idPool("min_10_exp"); | |
304 min_exp = Lexer::idPool("min_exp"); | |
305 re = Lexer::idPool("re"); | |
306 im = Lexer::idPool("im"); | |
307 C = Lexer::idPool("C"); | |
308 D = Lexer::idPool("D"); | |
309 Windows = Lexer::idPool("Windows"); | |
310 Pascal = Lexer::idPool("Pascal"); | |
311 System = Lexer::idPool("System"); | |
312 exit = Lexer::idPool("exit"); | |
313 success = Lexer::idPool("success"); | |
314 failure = Lexer::idPool("failure"); | |
315 keys = Lexer::idPool("keys"); | |
316 values = Lexer::idPool("values"); | |
317 rehash = Lexer::idPool("rehash"); | |
318 sort = Lexer::idPool("sort"); | |
319 reverse = Lexer::idPool("reverse"); | |
320 dup = Lexer::idPool("dup"); | |
321 idup = Lexer::idPool("idup"); | |
322 ___out = Lexer::idPool("out"); | |
323 ___in = Lexer::idPool("in"); | |
324 __int = Lexer::idPool("int"); | |
325 __dollar = Lexer::idPool("$"); | |
326 __LOCAL_SIZE = Lexer::idPool("__LOCAL_SIZE"); | |
327 uadd = Lexer::idPool("opPos"); | |
328 neg = Lexer::idPool("opNeg"); | |
329 com = Lexer::idPool("opCom"); | |
330 add = Lexer::idPool("opAdd"); | |
331 add_r = Lexer::idPool("opAdd_r"); | |
332 sub = Lexer::idPool("opSub"); | |
333 sub_r = Lexer::idPool("opSub_r"); | |
334 mul = Lexer::idPool("opMul"); | |
335 mul_r = Lexer::idPool("opMul_r"); | |
336 div = Lexer::idPool("opDiv"); | |
337 div_r = Lexer::idPool("opDiv_r"); | |
338 mod = Lexer::idPool("opMod"); | |
339 mod_r = Lexer::idPool("opMod_r"); | |
340 eq = Lexer::idPool("opEquals"); | |
341 cmp = Lexer::idPool("opCmp"); | |
342 iand = Lexer::idPool("opAnd"); | |
343 iand_r = Lexer::idPool("opAnd_r"); | |
344 ior = Lexer::idPool("opOr"); | |
345 ior_r = Lexer::idPool("opOr_r"); | |
346 ixor = Lexer::idPool("opXor"); | |
347 ixor_r = Lexer::idPool("opXor_r"); | |
348 shl = Lexer::idPool("opShl"); | |
349 shl_r = Lexer::idPool("opShl_r"); | |
350 shr = Lexer::idPool("opShr"); | |
351 shr_r = Lexer::idPool("opShr_r"); | |
352 ushr = Lexer::idPool("opUShr"); | |
353 ushr_r = Lexer::idPool("opUShr_r"); | |
354 cat = Lexer::idPool("opCat"); | |
355 cat_r = Lexer::idPool("opCat_r"); | |
356 assign = Lexer::idPool("opAssign"); | |
357 addass = Lexer::idPool("opAddAssign"); | |
358 subass = Lexer::idPool("opSubAssign"); | |
359 mulass = Lexer::idPool("opMulAssign"); | |
360 divass = Lexer::idPool("opDivAssign"); | |
361 modass = Lexer::idPool("opModAssign"); | |
362 andass = Lexer::idPool("opAndAssign"); | |
363 orass = Lexer::idPool("opOrAssign"); | |
364 xorass = Lexer::idPool("opXorAssign"); | |
365 shlass = Lexer::idPool("opShlAssign"); | |
366 shrass = Lexer::idPool("opShrAssign"); | |
367 ushrass = Lexer::idPool("opUShrAssign"); | |
368 catass = Lexer::idPool("opCatAssign"); | |
369 postinc = Lexer::idPool("opPostInc"); | |
370 postdec = Lexer::idPool("opPostDec"); | |
371 index = Lexer::idPool("opIndex"); | |
372 indexass = Lexer::idPool("opIndexAssign"); | |
373 slice = Lexer::idPool("opSlice"); | |
374 sliceass = Lexer::idPool("opSliceAssign"); | |
375 call = Lexer::idPool("opCall"); | |
376 cast = Lexer::idPool("opCast"); | |
377 match = Lexer::idPool("opMatch"); | |
378 next = Lexer::idPool("opNext"); | |
379 opIn = Lexer::idPool("opIn"); | |
380 opIn_r = Lexer::idPool("opIn_r"); | |
381 opStar = Lexer::idPool("opStar"); | |
382 opDot = Lexer::idPool("opDot"); | |
383 opImplicitCast = Lexer::idPool("opImplicitCast"); | |
384 classNew = Lexer::idPool("new"); | |
385 classDelete = Lexer::idPool("delete"); | |
386 apply = Lexer::idPool("opApply"); | |
387 applyReverse = Lexer::idPool("opApplyReverse"); | |
388 adDup = Lexer::idPool("_adDupT"); | |
389 adReverse = Lexer::idPool("_adReverse"); | |
390 aaLen = Lexer::idPool("_aaLen"); | |
391 aaKeys = Lexer::idPool("_aaKeys"); | |
392 aaValues = Lexer::idPool("_aaValues"); | |
393 aaRehash = Lexer::idPool("_aaRehash"); | |
394 GNU_asm = Lexer::idPool("GNU_asm"); | |
395 lib = Lexer::idPool("lib"); | |
396 msg = Lexer::idPool("msg"); | |
397 startaddress = Lexer::idPool("startaddress"); | |
398 intrinsic = Lexer::idPool("intrinsic"); | |
399 va_intrinsic = Lexer::idPool("va_intrinsic"); | |
400 no_typeinfo = Lexer::idPool("no_typeinfo"); | |
401 no_moduleinfo = Lexer::idPool("no_moduleinfo"); | |
402 Alloca = Lexer::idPool("alloca"); | |
403 vastart = Lexer::idPool("va_start"); | |
404 vacopy = Lexer::idPool("va_copy"); | |
405 vaend = Lexer::idPool("va_end"); | |
406 vaarg = Lexer::idPool("va_arg"); | |
407 ldc = Lexer::idPool("ldc"); | |
408 tohash = Lexer::idPool("toHash"); | |
409 tostring = Lexer::idPool("toString"); | |
410 getmembers = Lexer::idPool("getMembers"); | |
411 main = Lexer::idPool("main"); | |
412 WinMain = Lexer::idPool("WinMain"); | |
413 DllMain = Lexer::idPool("DllMain"); | |
414 std = Lexer::idPool("std"); | |
415 math = Lexer::idPool("math"); | |
416 sin = Lexer::idPool("sin"); | |
417 cos = Lexer::idPool("cos"); | |
418 tan = Lexer::idPool("tan"); | |
419 _sqrt = Lexer::idPool("sqrt"); | |
420 fabs = Lexer::idPool("fabs"); | |
421 isAbstractClass = Lexer::idPool("isAbstractClass"); | |
422 isArithmetic = Lexer::idPool("isArithmetic"); | |
423 isAssociativeArray = Lexer::idPool("isAssociativeArray"); | |
424 isFinalClass = Lexer::idPool("isFinalClass"); | |
425 isFloating = Lexer::idPool("isFloating"); | |
426 isIntegral = Lexer::idPool("isIntegral"); | |
427 isScalar = Lexer::idPool("isScalar"); | |
428 isStaticArray = Lexer::idPool("isStaticArray"); | |
429 isUnsigned = Lexer::idPool("isUnsigned"); | |
430 isVirtualFunction = Lexer::idPool("isVirtualFunction"); | |
431 isAbstractFunction = Lexer::idPool("isAbstractFunction"); | |
432 isFinalFunction = Lexer::idPool("isFinalFunction"); | |
433 hasMember = Lexer::idPool("hasMember"); | |
434 getMember = Lexer::idPool("getMember"); | |
435 getVirtualFunctions = Lexer::idPool("getVirtualFunctions"); | |
436 classInstanceSize = Lexer::idPool("classInstanceSize"); | |
437 allMembers = Lexer::idPool("allMembers"); | |
438 derivedMembers = Lexer::idPool("derivedMembers"); | |
439 isSame = Lexer::idPool("isSame"); | |
440 compiles = Lexer::idPool("compiles"); | |
441 } |