예제 #1
0
        public override WExpr InterpretModel(Context context, Model model, ProgramBuilder builder)
        {
            WEVar argConc = (WEVar)arg.InterpretModel(context, model, builder);

            WEArith.ArithOp op = (WEArith.ArithOp)GetConcChoice(context, model);

            WExpr rv = new WEArith(argConc, argConc, op, builder.NewConst(1));

            builder.CheckExpr(rv);
            return(rv);
        }
예제 #2
0
        public override WExpr InterpretModel(Context context, Model model, ProgramBuilder builder)
        {
            WEVar lhsConc = (WEVar)lhs.InterpretModel(context, model, builder);

            WEArith.ArithOp op       = (WEArith.ArithOp)(GetConcChoice(context, model) + 2);
            WEOperand       arg1Conc = (WEOperand)arg1.InterpretModel(context, model, builder);
            WEOperand       arg2Conc = (WEOperand)arg2.InterpretModel(context, model, builder);

            WExpr rv = new WEArith(lhsConc, arg1Conc, op, arg2Conc);

            builder.CheckExpr(rv);
            return(rv);
        }