Example #1
0
 public override InterpreterStatus Execute(IContext c)
 {
     _x.Execute(c);
     _y.Execute(c);
     c.Locate((int)_x.Value, (int)_y.Value);
     return(InterpreterStatus.Ok);
 }
Example #2
0
        public override InterpreterStatus Execute(IContext c)
        {
            InterpreterStatus ret = _value.Execute(c);

            if (ret != InterpreterStatus.Ok)
            {
                return(ret);
            }

            _returnValue = _worker(_value.Value);
            return(ret);
        }
Example #3
0
        public override InterpreterStatus Execute(IContext c)
        {
            if (_seed != null)
            {
                _seed.Execute(c);
                Interpreter.Randomize((int)_seed.Value);
            }
            else
            {
                Interpreter.Randomize();
            }

            return(InterpreterStatus.Ok);
        }
Example #4
0
        public override InterpreterStatus Execute(IContext c)
        {
            InterpreterStatus ret = _condition.Execute(c);

            if (ret != InterpreterStatus.Ok)
            {
                return(ret);
            }

            if (!_condition.Value)
            {
                Interpreter.PrepareGoto(Line, JumpPos);
            }

            return(InterpreterStatus.Ok);
        }
Example #5
0
        public override InterpreterStatus Execute(IContext c)
        {
            InterpreterStatus ret = _value.Execute(c);

            if (ret == InterpreterStatus.Ok)
            {
                if (_printLine)
                {
                    c.PrintLine(_value.ValueAsString);
                }
                else
                {
                    c.Print(_value.ValueAsString);
                }
            }
            return(ret);
        }
Example #6
0
        public override InterpreterStatus Execute(IContext c)
        {
            InterpreterStatus ret = _left.Execute(c);

            if (ret != InterpreterStatus.Ok)
            {
                return(ret);
            }

            ret = _right.Execute(c);
            if (ret != InterpreterStatus.Ok)
            {
                return(ret);
            }

            _value = _worker(_left, _right);

            return(InterpreterStatus.Ok);
        }
Example #7
0
        public override InterpreterStatus Execute(IContext c)
        {
            KwrDim        dim = (KwrDim)Line.Statement;
            VariableArray arr = dim.Array;

            if (Interpreter.Arrays.ContainsKey(arr.Name))
            {
                throw new InterpreterException(Line, "Array " + arr.Name + " is already defined!");
            }

            var dimensions = new List <int>();

            foreach (var dimension in arr.Dimensions)
            {
                IValue <double> f = (IValue <double>)Interpreter.Make(Line.Clone(dimension));
                f.Execute(c);
                dimensions.Add((int)f.Value);
            }

            if (arr.Name.EndsWith("$"))
            {
                Interpreter.Arrays.Add(arr.Name, new StringArrayStore(dimensions));
            }
            else
            {
                Interpreter.Arrays.Add(arr.Name, new ArrayValueStore <double>(dimensions));
            }

            _name       = arr.Name;
            _dimensions = "";
            foreach (int d in dimensions)
            {
                _dimensions += _dimensions.Length == 0 ? d.ToString() : "," + d;
            }

            return(InterpreterStatus.Ok);
        }
Example #8
0
 public override InterpreterStatus Execute(IContext c)
 {
     _maxValue.Execute(c);
     _retValue = Interpreter.Rnd((int)_maxValue.Value);
     return(InterpreterStatus.Ok);
 }
Example #9
0
 public override InterpreterStatus Execute(IContext c)
 {
     _interval.Execute(c);
     Thread.Sleep((int)_interval.Value);
     return(InterpreterStatus.Ok);
 }