public void AddStruct(SymStruct val) { if (CheckSymbol(val)) { TypeContainer.RegisterType(val); _curDomain.AddStruct(val); } }
public TypeRegister(SymDomain globalDomain) { TypeStruct = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.TK_SYMSTRUCT, __name = "Struct", }); TypeVar = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.TK_SYMVAR, __name = "Variable", }); TypeFunction = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.TK_SYMDOMAIN, __name = "Function", }); TypeDomain = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.TK_SYMFUNCTION, __name = "Domain ", }); TypeBool = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_BOOL, __name = "Bool", }); TypeFloat = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_CHAR, __name = "Float", }); TypeChar = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_FLOAT, __name = "Char", }); TypeString = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_STRING, __name = "String", }); TypeInt8 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_INT8, __name = "Int8", }); TypeInt16 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_INT16, __name = "Int16", }); TypeInt32 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_INT32, __name = "Int32", }); TypeInt64 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_INT64, __name = "Int64", }); TypeUInt8 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_UINT8, __name = "UInt8", }); TypeUInt16 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_UINT16, __name = "UInt16", }); TypeUInt32 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_UINT32, __name = "UInt32", }); TypeUInt64 = RegisterType(new SymStruct() { Type = TypeStruct, tokenId = Define.KW_UINT64, __name = "UInt64", }); TypeStruct.Type = TypeStruct; foreach (var type in _allTypes) { globalDomain.AddStruct(type); } }