예제 #1
0
        static OperatorMethodManager()
        {
            unaryDic[OperatorCode.Plus] = new PlusInt();
            unaryDic[OperatorCode.Minus] = new MinusInt();
            unaryDic[OperatorCode.Not] = new NotInt();
            unaryDic[OperatorCode.BitNot] = new BitNotInt();
            unaryDic[OperatorCode.Increment] = new IncrementInt();
            unaryDic[OperatorCode.Decrement] = new DecrementInt();

            unaryAfterDic[OperatorCode.Increment] = new IncrementAfterInt();
            unaryAfterDic[OperatorCode.Decrement] = new DecrementAfterInt();

            binaryIntIntDic[OperatorCode.Plus] = new PlusIntInt();
            binaryIntIntDic[OperatorCode.Minus] = new MinusIntInt();
            binaryIntIntDic[OperatorCode.Mult] = new MultIntInt();
            binaryIntIntDic[OperatorCode.Div] = new DivIntInt();
            binaryIntIntDic[OperatorCode.Mod] = new ModIntInt();
            binaryIntIntDic[OperatorCode.Equal] = new EqualIntInt();
            binaryIntIntDic[OperatorCode.Greater] = new GreaterIntInt();
            binaryIntIntDic[OperatorCode.Less] = new LessIntInt();
            binaryIntIntDic[OperatorCode.GreaterEqual] = new GreaterEqualIntInt();
            binaryIntIntDic[OperatorCode.LessEqual] = new LessEqualIntInt();
            binaryIntIntDic[OperatorCode.NotEqual] = new NotEqualIntInt();
            binaryIntIntDic[OperatorCode.And] = new AndIntInt();
            binaryIntIntDic[OperatorCode.Or] = new OrIntInt();
            binaryIntIntDic[OperatorCode.Xor] = new XorIntInt();
            binaryIntIntDic[OperatorCode.Nand] = new NandIntInt();
            binaryIntIntDic[OperatorCode.Nor] = new NorIntInt();
            binaryIntIntDic[OperatorCode.BitAnd] = new BitAndIntInt();
            binaryIntIntDic[OperatorCode.BitOr] = new BitOrIntInt();
            binaryIntIntDic[OperatorCode.BitXor] = new BitXorIntInt();
            binaryIntIntDic[OperatorCode.RightShift] = new RightShiftIntInt();
            binaryIntIntDic[OperatorCode.LeftShift] = new LeftShiftIntInt();

            binaryStrStrDic[OperatorCode.Plus] = new PlusStrStr();
            binaryStrStrDic[OperatorCode.Equal] = new EqualStrStr();
            binaryStrStrDic[OperatorCode.Greater] = new GreaterStrStr();
            binaryStrStrDic[OperatorCode.Less] = new LessStrStr();
            binaryStrStrDic[OperatorCode.GreaterEqual] = new GreaterEqualStrStr();
            binaryStrStrDic[OperatorCode.LessEqual] = new LessEqualStrStr();
            binaryStrStrDic[OperatorCode.NotEqual] = new NotEqualStrStr();

            binaryMultIntStr = new MultStrInt();
            ternaryIntIntInt = new TernaryIntIntInt();
            ternaryIntStrStr = new TernaryIntStrStr();
        }