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 }