Пример #1
0
        public override WExpr InterpretModel(Context context, Model model, ProgramBuilder builder)
        {
            int opChoice = GetConcChoice(context, model);

            WCComparison.CompareType op = (opChoice == 0) ? WCComparison.CompareType.eq : WCComparison.CompareType.neq;
            WExpr rv = new WCComparison((WEVar)x.InterpretModel(context, model, builder), op, new WEConst(0));

            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);
            WEOperand assignConc = (WEOperand)assign.InterpretModel(context, model, builder);

            WExpr rv = new WEArith(lhsConc, assignConc, WEArith.ArithOp.plus, 0);

            builder.CheckExpr(rv);
            return(rv);
        }
Пример #3
0
        public override WExpr InterpretModel(Context context, Model model, ProgramBuilder builder)
        {
            WEVar arg1Conc = (WEVar)arg1.InterpretModel(context, model, builder);

            WCComparison.CompareType comp = (WCComparison.CompareType) this.GetConcChoice(context, model);
            WEOperand arg2Conc            = (WEOperand)arg2.InterpretModel(context, model, builder);
            WExpr     rv = new WCComparison(arg1Conc, comp, arg2Conc);

            builder.CheckExpr(rv);
            return(rv);
        }
Пример #4
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);
        }
Пример #5
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);
        }