Mercurial > projects > ldc
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dmd2/id.c Tue Nov 11 01:38:48 2008 +0100 @@ -0,0 +1,441 @@ +// File generated by idgen.c +#include "id.h" +#include "identifier.h" +#include "lexer.h" +Identifier *Id::IUnknown; +Identifier *Id::Object; +Identifier *Id::object; +Identifier *Id::max; +Identifier *Id::min; +Identifier *Id::This; +Identifier *Id::ctor; +Identifier *Id::dtor; +Identifier *Id::cpctor; +Identifier *Id::_postblit; +Identifier *Id::classInvariant; +Identifier *Id::unitTest; +Identifier *Id::init; +Identifier *Id::size; +Identifier *Id::__sizeof; +Identifier *Id::alignof; +Identifier *Id::mangleof; +Identifier *Id::stringof; +Identifier *Id::tupleof; +Identifier *Id::length; +Identifier *Id::remove; +Identifier *Id::ptr; +Identifier *Id::funcptr; +Identifier *Id::dollar; +Identifier *Id::offset; +Identifier *Id::offsetof; +Identifier *Id::ModuleInfo; +Identifier *Id::ClassInfo; +Identifier *Id::classinfo; +Identifier *Id::typeinfo; +Identifier *Id::outer; +Identifier *Id::Exception; +Identifier *Id::withSym; +Identifier *Id::result; +Identifier *Id::returnLabel; +Identifier *Id::delegate; +Identifier *Id::line; +Identifier *Id::empty; +Identifier *Id::p; +Identifier *Id::coverage; +Identifier *Id::__vptr; +Identifier *Id::__monitor; +Identifier *Id::TypeInfo; +Identifier *Id::TypeInfo_Class; +Identifier *Id::TypeInfo_Interface; +Identifier *Id::TypeInfo_Struct; +Identifier *Id::TypeInfo_Enum; +Identifier *Id::TypeInfo_Typedef; +Identifier *Id::TypeInfo_Pointer; +Identifier *Id::TypeInfo_Array; +Identifier *Id::TypeInfo_StaticArray; +Identifier *Id::TypeInfo_AssociativeArray; +Identifier *Id::TypeInfo_Function; +Identifier *Id::TypeInfo_Delegate; +Identifier *Id::TypeInfo_Tuple; +Identifier *Id::TypeInfo_Const; +Identifier *Id::TypeInfo_Invariant; +Identifier *Id::elements; +Identifier *Id::_arguments_typeinfo; +Identifier *Id::_arguments; +Identifier *Id::_argptr; +Identifier *Id::_match; +Identifier *Id::destroy; +Identifier *Id::postblit; +Identifier *Id::LINE; +Identifier *Id::FILE; +Identifier *Id::DATE; +Identifier *Id::TIME; +Identifier *Id::TIMESTAMP; +Identifier *Id::VENDOR; +Identifier *Id::VERSIONX; +Identifier *Id::EOFX; +Identifier *Id::nan; +Identifier *Id::infinity; +Identifier *Id::dig; +Identifier *Id::epsilon; +Identifier *Id::mant_dig; +Identifier *Id::max_10_exp; +Identifier *Id::max_exp; +Identifier *Id::min_10_exp; +Identifier *Id::min_exp; +Identifier *Id::re; +Identifier *Id::im; +Identifier *Id::C; +Identifier *Id::D; +Identifier *Id::Windows; +Identifier *Id::Pascal; +Identifier *Id::System; +Identifier *Id::exit; +Identifier *Id::success; +Identifier *Id::failure; +Identifier *Id::keys; +Identifier *Id::values; +Identifier *Id::rehash; +Identifier *Id::sort; +Identifier *Id::reverse; +Identifier *Id::dup; +Identifier *Id::idup; +Identifier *Id::___out; +Identifier *Id::___in; +Identifier *Id::__int; +Identifier *Id::__dollar; +Identifier *Id::__LOCAL_SIZE; +Identifier *Id::uadd; +Identifier *Id::neg; +Identifier *Id::com; +Identifier *Id::add; +Identifier *Id::add_r; +Identifier *Id::sub; +Identifier *Id::sub_r; +Identifier *Id::mul; +Identifier *Id::mul_r; +Identifier *Id::div; +Identifier *Id::div_r; +Identifier *Id::mod; +Identifier *Id::mod_r; +Identifier *Id::eq; +Identifier *Id::cmp; +Identifier *Id::iand; +Identifier *Id::iand_r; +Identifier *Id::ior; +Identifier *Id::ior_r; +Identifier *Id::ixor; +Identifier *Id::ixor_r; +Identifier *Id::shl; +Identifier *Id::shl_r; +Identifier *Id::shr; +Identifier *Id::shr_r; +Identifier *Id::ushr; +Identifier *Id::ushr_r; +Identifier *Id::cat; +Identifier *Id::cat_r; +Identifier *Id::assign; +Identifier *Id::addass; +Identifier *Id::subass; +Identifier *Id::mulass; +Identifier *Id::divass; +Identifier *Id::modass; +Identifier *Id::andass; +Identifier *Id::orass; +Identifier *Id::xorass; +Identifier *Id::shlass; +Identifier *Id::shrass; +Identifier *Id::ushrass; +Identifier *Id::catass; +Identifier *Id::postinc; +Identifier *Id::postdec; +Identifier *Id::index; +Identifier *Id::indexass; +Identifier *Id::slice; +Identifier *Id::sliceass; +Identifier *Id::call; +Identifier *Id::cast; +Identifier *Id::match; +Identifier *Id::next; +Identifier *Id::opIn; +Identifier *Id::opIn_r; +Identifier *Id::opStar; +Identifier *Id::opDot; +Identifier *Id::opImplicitCast; +Identifier *Id::classNew; +Identifier *Id::classDelete; +Identifier *Id::apply; +Identifier *Id::applyReverse; +Identifier *Id::adDup; +Identifier *Id::adReverse; +Identifier *Id::aaLen; +Identifier *Id::aaKeys; +Identifier *Id::aaValues; +Identifier *Id::aaRehash; +Identifier *Id::GNU_asm; +Identifier *Id::lib; +Identifier *Id::msg; +Identifier *Id::startaddress; +Identifier *Id::intrinsic; +Identifier *Id::va_intrinsic; +Identifier *Id::no_typeinfo; +Identifier *Id::no_moduleinfo; +Identifier *Id::Alloca; +Identifier *Id::vastart; +Identifier *Id::vacopy; +Identifier *Id::vaend; +Identifier *Id::vaarg; +Identifier *Id::ldc; +Identifier *Id::tohash; +Identifier *Id::tostring; +Identifier *Id::getmembers; +Identifier *Id::main; +Identifier *Id::WinMain; +Identifier *Id::DllMain; +Identifier *Id::std; +Identifier *Id::math; +Identifier *Id::sin; +Identifier *Id::cos; +Identifier *Id::tan; +Identifier *Id::_sqrt; +Identifier *Id::fabs; +Identifier *Id::isAbstractClass; +Identifier *Id::isArithmetic; +Identifier *Id::isAssociativeArray; +Identifier *Id::isFinalClass; +Identifier *Id::isFloating; +Identifier *Id::isIntegral; +Identifier *Id::isScalar; +Identifier *Id::isStaticArray; +Identifier *Id::isUnsigned; +Identifier *Id::isVirtualFunction; +Identifier *Id::isAbstractFunction; +Identifier *Id::isFinalFunction; +Identifier *Id::hasMember; +Identifier *Id::getMember; +Identifier *Id::getVirtualFunctions; +Identifier *Id::classInstanceSize; +Identifier *Id::allMembers; +Identifier *Id::derivedMembers; +Identifier *Id::isSame; +Identifier *Id::compiles; +void Id::initialize() +{ + IUnknown = Lexer::idPool("IUnknown"); + Object = Lexer::idPool("Object"); + object = Lexer::idPool("object"); + max = Lexer::idPool("max"); + min = Lexer::idPool("min"); + This = Lexer::idPool("this"); + ctor = Lexer::idPool("__ctor"); + dtor = Lexer::idPool("__dtor"); + cpctor = Lexer::idPool("__cpctor"); + _postblit = Lexer::idPool("__postblit"); + classInvariant = Lexer::idPool("__invariant"); + unitTest = Lexer::idPool("__unitTest"); + init = Lexer::idPool("init"); + size = Lexer::idPool("size"); + __sizeof = Lexer::idPool("sizeof"); + alignof = Lexer::idPool("alignof"); + mangleof = Lexer::idPool("mangleof"); + stringof = Lexer::idPool("stringof"); + tupleof = Lexer::idPool("tupleof"); + length = Lexer::idPool("length"); + remove = Lexer::idPool("remove"); + ptr = Lexer::idPool("ptr"); + funcptr = Lexer::idPool("funcptr"); + dollar = Lexer::idPool("__dollar"); + offset = Lexer::idPool("offset"); + offsetof = Lexer::idPool("offsetof"); + ModuleInfo = Lexer::idPool("ModuleInfo"); + ClassInfo = Lexer::idPool("ClassInfo"); + classinfo = Lexer::idPool("classinfo"); + typeinfo = Lexer::idPool("typeinfo"); + outer = Lexer::idPool("outer"); + Exception = Lexer::idPool("Exception"); + withSym = Lexer::idPool("__withSym"); + result = Lexer::idPool("__result"); + returnLabel = Lexer::idPool("__returnLabel"); + delegate = Lexer::idPool("delegate"); + line = Lexer::idPool("line"); + empty = Lexer::idPool(""); + p = Lexer::idPool("p"); + coverage = Lexer::idPool("__coverage"); + __vptr = Lexer::idPool("__vptr"); + __monitor = Lexer::idPool("__monitor"); + TypeInfo = Lexer::idPool("TypeInfo"); + TypeInfo_Class = Lexer::idPool("TypeInfo_Class"); + TypeInfo_Interface = Lexer::idPool("TypeInfo_Interface"); + TypeInfo_Struct = Lexer::idPool("TypeInfo_Struct"); + TypeInfo_Enum = Lexer::idPool("TypeInfo_Enum"); + TypeInfo_Typedef = Lexer::idPool("TypeInfo_Typedef"); + TypeInfo_Pointer = Lexer::idPool("TypeInfo_Pointer"); + TypeInfo_Array = Lexer::idPool("TypeInfo_Array"); + TypeInfo_StaticArray = Lexer::idPool("TypeInfo_StaticArray"); + TypeInfo_AssociativeArray = Lexer::idPool("TypeInfo_AssociativeArray"); + TypeInfo_Function = Lexer::idPool("TypeInfo_Function"); + TypeInfo_Delegate = Lexer::idPool("TypeInfo_Delegate"); + TypeInfo_Tuple = Lexer::idPool("TypeInfo_Tuple"); + TypeInfo_Const = Lexer::idPool("TypeInfo_Const"); + TypeInfo_Invariant = Lexer::idPool("TypeInfo_Invariant"); + elements = Lexer::idPool("elements"); + _arguments_typeinfo = Lexer::idPool("_arguments_typeinfo"); + _arguments = Lexer::idPool("_arguments"); + _argptr = Lexer::idPool("_argptr"); + _match = Lexer::idPool("_match"); + destroy = Lexer::idPool("destroy"); + postblit = Lexer::idPool("postblit"); + LINE = Lexer::idPool("__LINE__"); + FILE = Lexer::idPool("__FILE__"); + DATE = Lexer::idPool("__DATE__"); + TIME = Lexer::idPool("__TIME__"); + TIMESTAMP = Lexer::idPool("__TIMESTAMP__"); + VENDOR = Lexer::idPool("__VENDOR__"); + VERSIONX = Lexer::idPool("__VERSION__"); + EOFX = Lexer::idPool("__EOF__"); + nan = Lexer::idPool("nan"); + infinity = Lexer::idPool("infinity"); + dig = Lexer::idPool("dig"); + epsilon = Lexer::idPool("epsilon"); + mant_dig = Lexer::idPool("mant_dig"); + max_10_exp = Lexer::idPool("max_10_exp"); + max_exp = Lexer::idPool("max_exp"); + min_10_exp = Lexer::idPool("min_10_exp"); + min_exp = Lexer::idPool("min_exp"); + re = Lexer::idPool("re"); + im = Lexer::idPool("im"); + C = Lexer::idPool("C"); + D = Lexer::idPool("D"); + Windows = Lexer::idPool("Windows"); + Pascal = Lexer::idPool("Pascal"); + System = Lexer::idPool("System"); + exit = Lexer::idPool("exit"); + success = Lexer::idPool("success"); + failure = Lexer::idPool("failure"); + keys = Lexer::idPool("keys"); + values = Lexer::idPool("values"); + rehash = Lexer::idPool("rehash"); + sort = Lexer::idPool("sort"); + reverse = Lexer::idPool("reverse"); + dup = Lexer::idPool("dup"); + idup = Lexer::idPool("idup"); + ___out = Lexer::idPool("out"); + ___in = Lexer::idPool("in"); + __int = Lexer::idPool("int"); + __dollar = Lexer::idPool("$"); + __LOCAL_SIZE = Lexer::idPool("__LOCAL_SIZE"); + uadd = Lexer::idPool("opPos"); + neg = Lexer::idPool("opNeg"); + com = Lexer::idPool("opCom"); + add = Lexer::idPool("opAdd"); + add_r = Lexer::idPool("opAdd_r"); + sub = Lexer::idPool("opSub"); + sub_r = Lexer::idPool("opSub_r"); + mul = Lexer::idPool("opMul"); + mul_r = Lexer::idPool("opMul_r"); + div = Lexer::idPool("opDiv"); + div_r = Lexer::idPool("opDiv_r"); + mod = Lexer::idPool("opMod"); + mod_r = Lexer::idPool("opMod_r"); + eq = Lexer::idPool("opEquals"); + cmp = Lexer::idPool("opCmp"); + iand = Lexer::idPool("opAnd"); + iand_r = Lexer::idPool("opAnd_r"); + ior = Lexer::idPool("opOr"); + ior_r = Lexer::idPool("opOr_r"); + ixor = Lexer::idPool("opXor"); + ixor_r = Lexer::idPool("opXor_r"); + shl = Lexer::idPool("opShl"); + shl_r = Lexer::idPool("opShl_r"); + shr = Lexer::idPool("opShr"); + shr_r = Lexer::idPool("opShr_r"); + ushr = Lexer::idPool("opUShr"); + ushr_r = Lexer::idPool("opUShr_r"); + cat = Lexer::idPool("opCat"); + cat_r = Lexer::idPool("opCat_r"); + assign = Lexer::idPool("opAssign"); + addass = Lexer::idPool("opAddAssign"); + subass = Lexer::idPool("opSubAssign"); + mulass = Lexer::idPool("opMulAssign"); + divass = Lexer::idPool("opDivAssign"); + modass = Lexer::idPool("opModAssign"); + andass = Lexer::idPool("opAndAssign"); + orass = Lexer::idPool("opOrAssign"); + xorass = Lexer::idPool("opXorAssign"); + shlass = Lexer::idPool("opShlAssign"); + shrass = Lexer::idPool("opShrAssign"); + ushrass = Lexer::idPool("opUShrAssign"); + catass = Lexer::idPool("opCatAssign"); + postinc = Lexer::idPool("opPostInc"); + postdec = Lexer::idPool("opPostDec"); + index = Lexer::idPool("opIndex"); + indexass = Lexer::idPool("opIndexAssign"); + slice = Lexer::idPool("opSlice"); + sliceass = Lexer::idPool("opSliceAssign"); + call = Lexer::idPool("opCall"); + cast = Lexer::idPool("opCast"); + match = Lexer::idPool("opMatch"); + next = Lexer::idPool("opNext"); + opIn = Lexer::idPool("opIn"); + opIn_r = Lexer::idPool("opIn_r"); + opStar = Lexer::idPool("opStar"); + opDot = Lexer::idPool("opDot"); + opImplicitCast = Lexer::idPool("opImplicitCast"); + classNew = Lexer::idPool("new"); + classDelete = Lexer::idPool("delete"); + apply = Lexer::idPool("opApply"); + applyReverse = Lexer::idPool("opApplyReverse"); + adDup = Lexer::idPool("_adDupT"); + adReverse = Lexer::idPool("_adReverse"); + aaLen = Lexer::idPool("_aaLen"); + aaKeys = Lexer::idPool("_aaKeys"); + aaValues = Lexer::idPool("_aaValues"); + aaRehash = Lexer::idPool("_aaRehash"); + GNU_asm = Lexer::idPool("GNU_asm"); + lib = Lexer::idPool("lib"); + msg = Lexer::idPool("msg"); + startaddress = Lexer::idPool("startaddress"); + intrinsic = Lexer::idPool("intrinsic"); + va_intrinsic = Lexer::idPool("va_intrinsic"); + no_typeinfo = Lexer::idPool("no_typeinfo"); + no_moduleinfo = Lexer::idPool("no_moduleinfo"); + Alloca = Lexer::idPool("alloca"); + vastart = Lexer::idPool("va_start"); + vacopy = Lexer::idPool("va_copy"); + vaend = Lexer::idPool("va_end"); + vaarg = Lexer::idPool("va_arg"); + ldc = Lexer::idPool("ldc"); + tohash = Lexer::idPool("toHash"); + tostring = Lexer::idPool("toString"); + getmembers = Lexer::idPool("getMembers"); + main = Lexer::idPool("main"); + WinMain = Lexer::idPool("WinMain"); + DllMain = Lexer::idPool("DllMain"); + std = Lexer::idPool("std"); + math = Lexer::idPool("math"); + sin = Lexer::idPool("sin"); + cos = Lexer::idPool("cos"); + tan = Lexer::idPool("tan"); + _sqrt = Lexer::idPool("sqrt"); + fabs = Lexer::idPool("fabs"); + isAbstractClass = Lexer::idPool("isAbstractClass"); + isArithmetic = Lexer::idPool("isArithmetic"); + isAssociativeArray = Lexer::idPool("isAssociativeArray"); + isFinalClass = Lexer::idPool("isFinalClass"); + isFloating = Lexer::idPool("isFloating"); + isIntegral = Lexer::idPool("isIntegral"); + isScalar = Lexer::idPool("isScalar"); + isStaticArray = Lexer::idPool("isStaticArray"); + isUnsigned = Lexer::idPool("isUnsigned"); + isVirtualFunction = Lexer::idPool("isVirtualFunction"); + isAbstractFunction = Lexer::idPool("isAbstractFunction"); + isFinalFunction = Lexer::idPool("isFinalFunction"); + hasMember = Lexer::idPool("hasMember"); + getMember = Lexer::idPool("getMember"); + getVirtualFunctions = Lexer::idPool("getVirtualFunctions"); + classInstanceSize = Lexer::idPool("classInstanceSize"); + allMembers = Lexer::idPool("allMembers"); + derivedMembers = Lexer::idPool("derivedMembers"); + isSame = Lexer::idPool("isSame"); + compiles = Lexer::idPool("compiles"); +}