Пример #1
0
            public override void GenerateCode(ICodeGen gen)
            {
                this.left_operand.GenerateCode(gen);
                this.right_operand.GenerateCode(gen);
                switch (this.op.type)
                {
                case Token.Type.OP_STAR: break;

                case Token.Type.OP_ASSIGN: gen.Mov(); break;

                case Token.Type.OP_MOD: gen.Mod(); break;

                case Token.Type.OP_DIV: gen.Div(); break;

                case Token.Type.OP_PLUS: gen.Add(); break;

                case Token.Type.OP_SUB: gen.Sub(); break;

                case Token.Type.OP_XOR: gen.Xor(); break;

                case Token.Type.OP_BIT_AND: break;

                case Token.Type.OP_BIT_OR: break;

                case Token.Type.OP_AND: break;

                case Token.Type.OP_OR: break;

                case Token.Type.OP_EQUAL: break;

                case Token.Type.OP_NOT_EQUAL: break;

                case Token.Type.OP_MORE: break;

                case Token.Type.OP_LESS: break;

                case Token.Type.OP_MORE_OR_EQUAL: break;

                case Token.Type.OP_LESS_OR_EQUAL: break;

                case Token.Type.OP_L_SHIFT: break;

                case Token.Type.OP_R_SHIFT: break;
                }
            }
Пример #2
0
 public override void GenerateCode(ICodeGen gen)
 {
     this.left_operand.GenerateCode(gen);
     this.right_operand.GenerateCode(gen);
     switch (this.op.type)
     {
         case Token.Type.OP_STAR: break;
         case Token.Type.OP_ASSIGN: gen.Mov(); break;
         case Token.Type.OP_MOD: gen.Mod(); break;
         case Token.Type.OP_DIV: gen.Div(); break;
         case Token.Type.OP_PLUS: gen.Add(); break;
         case Token.Type.OP_SUB: gen.Sub(); break;
         case Token.Type.OP_XOR: gen.Xor(); break;
         case Token.Type.OP_BIT_AND: break;
         case Token.Type.OP_BIT_OR: break;
         case Token.Type.OP_AND: break;
         case Token.Type.OP_OR: break;
         case Token.Type.OP_EQUAL: break;
         case Token.Type.OP_NOT_EQUAL: break;
         case Token.Type.OP_MORE: break;
         case Token.Type.OP_LESS: break;
         case Token.Type.OP_MORE_OR_EQUAL: break;
         case Token.Type.OP_LESS_OR_EQUAL: break;
         case Token.Type.OP_L_SHIFT: break;
         case Token.Type.OP_R_SHIFT: break;
     }
 }