public override InterpreterStatus Execute(IContext c) { _x.Execute(c); _y.Execute(c); c.Locate((int)_x.Value, (int)_y.Value); return(InterpreterStatus.Ok); }
public override InterpreterStatus Execute(IContext c) { InterpreterStatus ret = _value.Execute(c); if (ret != InterpreterStatus.Ok) { return(ret); } _returnValue = _worker(_value.Value); return(ret); }
public override InterpreterStatus Execute(IContext c) { if (_seed != null) { _seed.Execute(c); Interpreter.Randomize((int)_seed.Value); } else { Interpreter.Randomize(); } return(InterpreterStatus.Ok); }
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); }
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); }
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); }
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); }
public override InterpreterStatus Execute(IContext c) { _maxValue.Execute(c); _retValue = Interpreter.Rnd((int)_maxValue.Value); return(InterpreterStatus.Ok); }
public override InterpreterStatus Execute(IContext c) { _interval.Execute(c); Thread.Sleep((int)_interval.Value); return(InterpreterStatus.Ok); }