public CQ_Environment(ICQ_Logger logger) { //if(useNamespace==true) //{ // throw new Exception("使用命名空间还不能完全兼容,建议关闭"); //} this.logger = logger; //this.useNamespace = useNamespace; tokenParser = new CQ_TokenParser(); compiler = new CQ_Expression_Compiler(logger); RegType(new CQ_Type_Int()); RegType(new CQ_Type_UInt()); RegType(new CQ_Type_Float()); RegType(new CQ_Type_Double()); RegType(new CQ_Type_String()); RegType(new CQ_Type_Var()); RegType(new CQ_Type_Bool()); RegType(new CQ_Type_Lambda()); RegType(new CQ_Type_Delegate()); RegType(new CQ_Type_Byte()); RegType(new CQ_Type_Char()); RegType(new CQ_Type_UShort()); RegType(new CQ_Type_Sbyte()); RegType(new CQ_Type_Short()); RegType(new CQ_Type_Long()); RegType(new CQ_Type_ULong()); RegType(typeof(IEnumerator), "IEnumerator"); RegType(typeof(object), "object"); RegType(typeof(List <>), "List"); //模板类要独立注册 RegType(typeof(Dictionary <,>), "Dictionary"); RegType(typeof(Stack <>), "Stack"); RegType(typeof(Queue <>), "Queue"); typess["null"] = new CQ_Type_NULL(); //contentGloabl = CreateContent(); //if (!useNamespace)//命名空间模式不能直接用函数 { RegFunction(new FunctionTrace()); } }
public CQ_Expression_Compiler(ICQ_Logger logger) { this.logger = logger; }