예제 #1
0
파일: Factor.cs 프로젝트: jmcd/WeeBas
 public int EvalInt(Vm vm)
 {
     return(var?.EvalInt(vm) ??
            number?.EvalInt(vm) ??
            expr?.EvalInt(vm) ??
            rnd.EvalInt(vm));
 }
예제 #2
0
        public void ExecuteIn(Vm vm)
        {
            var lhs   = lhExpr.EvalInt(vm);
            var relOp = Ops.RelOps[relop.s];
            var rhs   = rhExpr.EvalInt(vm);
            var pass  = relOp(lhs, rhs);

            if (pass)
            {
                statement.Command.ExecuteIn(vm);
            }
        }
예제 #3
0
파일: Let.cs 프로젝트: jmcd/WeeBas
 public void ExecuteIn(Vm vm)
 {
     vm[var.Name] = expr.EvalInt(vm);
 }
예제 #4
0
파일: Rnd.cs 프로젝트: jmcd/WeeBas
        public int EvalInt(Vm vm)
        {
            var ulim = expr.EvalInt(vm);

            return(vm.Random(ulim));
        }
예제 #5
0
파일: Gosub.cs 프로젝트: jmcd/WeeBas
        public void ExecuteIn(Vm vm)
        {
            var lineNumber = expr.EvalInt(vm);

            vm.Gosub(lineNumber);
        }