public CLS_Environment(ICLS_Logger logger)
        {
            //if(useNamespace==true)
            //{
            //    throw new Exception("使用命名空间还不能完全兼容,建议关闭");
            //}
            this.logger = logger;
            //this.useNamespace = useNamespace;
            tokenParser = new CLS_TokenParser();
            compiler = new CLS_Expression_Compiler(logger);
            RegType(new CLS_Type_Int());
            RegType(new CLS_Type_UInt());
            RegType(new CLS_Type_Float());
            RegType(new CLS_Type_Double());
            RegType(new CLS_Type_String());
            RegType(new CLS_Type_Var());
            RegType(new CLS_Type_Bool());
            RegType(new CLS_Type_Lambda());
            RegType(new CLS_Type_Delegate());
            RegType(new CLS_Type_Byte());
            RegType(new CLS_Type_Char());
            RegType(new CLS_Type_UShort());
            RegType(new CLS_Type_Sbyte());
            RegType(new CLS_Type_Short());

            typess["null"] = new CLS_Type_NULL();
            //contentGloabl = CreateContent();
            //if (!useNamespace)//命名空间模式不能直接用函数
            {
                RegFunction(new FunctionTrace());
            }
        }
Example #2
0
        public CLS_Environment(ICLS_Logger logger)
        {
            this.logger = logger;
            tokenParser = new CLS_TokenParser();
            compiler = new CLS_Expression_Compiler(logger);
            RegType(new CLS_Type_Int());
            RegType(new CLS_Type_UInt());
            RegType(new CLS_Type_Float());
            RegType(new CLS_Type_Double());
            RegType(new CLS_Type_String());
            RegType(new CLS_Type_Var());
            typess["null"] = new CLS_Type_NULL();
            contentGloabl = CreateContent();

            RegFunction(new FunctionTrace());
        }
Example #3
0
        public CLS_Environment(ICLS_Logger logger)
        {
            this.logger      = logger;
            this.tokenParser = new CLS_TokenParser(this.dictTypeKeywords);
            this.compiler    = new CLS_Expression_Compiler(logger);

            RegType(new CLS_Type_Void());
            RegType(new CLS_Type_Null());
            RegType(new CLS_Type_Int());
            RegType(new CLS_Type_UInt());
            RegType(new CLS_Type_Float());
            RegType(new CLS_Type_Double());
            RegType(new CLS_Type_String());
            RegType(new CLS_Type_Bool());
            RegType(new CLS_Type_Lambda());
            RegType(new CLS_Type_Delegate());
            RegType(new CLS_Type_Byte());
            RegType(new CLS_Type_Char());
            RegType(new CLS_Type_UShort());
            RegType(new CLS_Type_Sbyte());
            RegType(new CLS_Type_Short());
            RegType(new CLS_Type_Long());
            RegType(new CLS_Type_ULong());

            RegType(new RegHelper_Type(typeof(object), "object"));
            RegType(new RegHelper_Type(typeof(List <>), "List"));
            RegType(new RegHelper_Type(typeof(Dictionary <,>), "Dictionary"));
            RegType(new RegHelper_Type(typeof(KeyValuePair <,>), "KeyValuePair"));
            RegType(new RegHelper_SInstance());

            // Unity 协程注册
            RegType(new RegHelper_Type(typeof(IEnumerator), "IEnumerator"));
            RegType(new RegHelper_Type(typeof(YieldInstruction), "YieldInstruction"));
            RegType(new RegHelper_Type(typeof(Coroutine), "Coroutine"));
            RegType(new RegHelper_Type(typeof(WaitForSeconds), "WaitForSeconds"));
            RegType(new RegHelper_Type(typeof(WaitForEndOfFrame), "WaitForEndOfFrame"));
            RegType(new RegHelper_Type(typeof(WaitForFixedUpdate), "WaitForFixedUpdate"));

            RegType(new CLS_Type_Dict <int, object>("Dictionary<int, object>"));
            RegType(new CLS_Type_KeyValuePair <int, object>("KeyValuePair<int, object>"));

            RegType(new CLS_Type_Dict <int, SInstance>("Dictionary<int, CSLE.SInstance>"));            // IOS防止JIT
            RegType(new CLS_Type_KeyValuePair <int, SInstance>("KeyValuePair<int, CSLE.SInstance>"));  // IOS防止JIT

            RegType(new CLS_Type_Dict <string, object>("Dictionary<string, object>"));
            RegType(new CLS_Type_KeyValuePair <string, object>("KeyValuePair<string, object>"));

            RegType(new CLS_Type_Dict <string, SInstance>("Dictionary<string, CSLE.SInstance>"));            // IOS防止JIT
            RegType(new CLS_Type_KeyValuePair <string, SInstance>("KeyValuePair<string, CSLE.SInstance>"));  // IOS防止JIT

            // 注册基础数组
            RegType(new CLS_Type_Array <int>("int[]"));
            RegType(new CLS_Type_Array <uint>("uint[]"));
            RegType(new CLS_Type_Array <float>("float[]"));
            RegType(new CLS_Type_Array <double>("double[]"));
            RegType(new CLS_Type_Array <string>("string[]"));
            RegType(new CLS_Type_Array <bool>("bool[]"));
            RegType(new CLS_Type_Array <Delegate>("Delegate[]"));
            RegType(new CLS_Type_Array <byte>("byte[]"));
            RegType(new CLS_Type_Array <char>("char[]"));
            RegType(new CLS_Type_Array <ushort>("ushort[]"));
            RegType(new CLS_Type_Array <sbyte>("sbyte[]"));
            RegType(new CLS_Type_Array <short>("short[]"));
            RegType(new CLS_Type_Array <long>("long[]"));
            RegType(new CLS_Type_Array <ulong>("ulong[]"));
            RegType(new CLS_Type_Array <object>("object[]"));
            RegType(new CLS_Type_Array <SInstance>("CSLE.SInstance[]"));         // IOS防止JIT

            // 注册基础列表
            RegType(new CLS_Type_List <int>("List<int>"));
            RegType(new CLS_Type_List <uint>("List<uint>"));
            RegType(new CLS_Type_List <float>("List<float>"));
            RegType(new CLS_Type_List <double>("List<double>"));
            RegType(new CLS_Type_List <string>("List<string>"));
            RegType(new CLS_Type_List <bool>("List<bool>"));
            RegType(new CLS_Type_List <Delegate>("List<Delegate>"));
            RegType(new CLS_Type_List <byte>("List<byte>"));
            RegType(new CLS_Type_List <char>("List<char>"));
            RegType(new CLS_Type_List <ushort>("List<ushort>"));
            RegType(new CLS_Type_List <sbyte>("List<sbyte>"));
            RegType(new CLS_Type_List <short>("List<short>"));
            RegType(new CLS_Type_List <long>("List<long>"));
            RegType(new CLS_Type_List <ulong>("List<ulong>"));
            RegType(new CLS_Type_List <object>("List<object>"));
            RegType(new CLS_Type_List <SInstance>("List<CSLE.SInstance>"));      // IOS防止JIT

            RegFunction(new FunctionTrace());
            RegFunction(new FunctionTypeof());
        }
Example #4
0
        public CLS_Environment(ICLS_Logger logger)
        {
            this.logger = logger;
            this.tokenParser = new CLS_TokenParser(this.dictTypeKeywords);
            this.compiler = new CLS_Expression_Compiler(logger);

            RegType(new CLS_Type_Void());
            RegType(new CLS_Type_Null());
            RegType(new CLS_Type_Int());
            RegType(new CLS_Type_UInt());
            RegType(new CLS_Type_Float());
            RegType(new CLS_Type_Double());
            RegType(new CLS_Type_String());
            RegType(new CLS_Type_Bool());
            RegType(new CLS_Type_Lambda());
            RegType(new CLS_Type_Delegate());
            RegType(new CLS_Type_Byte());
            RegType(new CLS_Type_Char());
            RegType(new CLS_Type_UShort());
            RegType(new CLS_Type_Sbyte());
            RegType(new CLS_Type_Short());
            RegType(new CLS_Type_Long());
            RegType(new CLS_Type_ULong());

            RegType(new RegHelper_Type(typeof(object), "object"));
            RegType(new RegHelper_Type(typeof(List<>), "List"));
            RegType(new RegHelper_Type(typeof(Dictionary<,>), "Dictionary"));
            RegType(new RegHelper_Type(typeof(KeyValuePair<,>), "KeyValuePair"));
            RegType(new RegHelper_SInstance());

            // Unity 协程注册
            RegType(new RegHelper_Type(typeof(IEnumerator), "IEnumerator"));
            RegType(new RegHelper_Type(typeof(YieldInstruction), "YieldInstruction"));
            RegType(new RegHelper_Type(typeof(Coroutine), "Coroutine"));
            RegType(new RegHelper_Type(typeof(WaitForSeconds), "WaitForSeconds"));
            RegType(new RegHelper_Type(typeof(WaitForEndOfFrame), "WaitForEndOfFrame"));
            RegType(new RegHelper_Type(typeof(WaitForFixedUpdate), "WaitForFixedUpdate"));

            RegType(new CLS_Type_Dict<int, object>("Dictionary<int, object>"));
            RegType(new CLS_Type_KeyValuePair<int, object>("KeyValuePair<int, object>"));

            RegType(new CLS_Type_Dict<int, SInstance>("Dictionary<int, CSLE.SInstance>"));            // IOS防止JIT
            RegType(new CLS_Type_KeyValuePair<int, SInstance>("KeyValuePair<int, CSLE.SInstance>"));  // IOS防止JIT

            RegType(new CLS_Type_Dict<string, object>("Dictionary<string, object>"));
            RegType(new CLS_Type_KeyValuePair<string, object>("KeyValuePair<string, object>"));

            RegType(new CLS_Type_Dict<string, SInstance>("Dictionary<string, CSLE.SInstance>"));            // IOS防止JIT
            RegType(new CLS_Type_KeyValuePair<string, SInstance>("KeyValuePair<string, CSLE.SInstance>"));  // IOS防止JIT

            // 注册基础数组
            RegType(new CLS_Type_Array<int>("int[]"));
            RegType(new CLS_Type_Array<uint>("uint[]"));
            RegType(new CLS_Type_Array<float>("float[]"));
            RegType(new CLS_Type_Array<double>("double[]"));
            RegType(new CLS_Type_Array<string>("string[]"));
            RegType(new CLS_Type_Array<bool>("bool[]"));
            RegType(new CLS_Type_Array<Delegate>("Delegate[]"));
            RegType(new CLS_Type_Array<byte>("byte[]"));
            RegType(new CLS_Type_Array<char>("char[]"));
            RegType(new CLS_Type_Array<ushort>("ushort[]"));
            RegType(new CLS_Type_Array<sbyte>("sbyte[]"));
            RegType(new CLS_Type_Array<short>("short[]"));
            RegType(new CLS_Type_Array<long>("long[]"));
            RegType(new CLS_Type_Array<ulong>("ulong[]"));
            RegType(new CLS_Type_Array<object>("object[]"));
            RegType(new CLS_Type_Array<SInstance>("CSLE.SInstance[]"));         // IOS防止JIT

            // 注册基础列表
            RegType(new CLS_Type_List<int>("List<int>"));
            RegType(new CLS_Type_List<uint>("List<uint>"));
            RegType(new CLS_Type_List<float>("List<float>"));
            RegType(new CLS_Type_List<double>("List<double>"));
            RegType(new CLS_Type_List<string>("List<string>"));
            RegType(new CLS_Type_List<bool>("List<bool>"));
            RegType(new CLS_Type_List<Delegate>("List<Delegate>"));
            RegType(new CLS_Type_List<byte>("List<byte>"));
            RegType(new CLS_Type_List<char>("List<char>"));
            RegType(new CLS_Type_List<ushort>("List<ushort>"));
            RegType(new CLS_Type_List<sbyte>("List<sbyte>"));
            RegType(new CLS_Type_List<short>("List<short>"));
            RegType(new CLS_Type_List<long>("List<long>"));
            RegType(new CLS_Type_List<ulong>("List<ulong>"));
            RegType(new CLS_Type_List<object>("List<object>"));
            RegType(new CLS_Type_List<SInstance>("List<CSLE.SInstance>"));      // IOS防止JIT

            RegFunction(new FunctionTrace());
            RegFunction(new FunctionTypeof());
        }