public override void execute(Interpret interpreter) { int limit = limitVal.eval(interpreter), counter = 0; NumericVariable v = interpreter.getNumVariable(varIndex.eval(interpreter)); while (v.getValue() < limit && counter < LoopLimit) { directive.executeAll(interpreter); v.increment(); counter++; } }
public NumericVariable getNumVariable(int variableIndex) { if (variableIndex < 0) { return(getNumVariable(0)); } if (variableIndex >= variablesLimit) { return(getNumVariable(variableIndex % variablesLimit)); } if (numVariables[variableIndex] == null) { numVariables[variableIndex] = new NumericVariable(); } return(numVariables[variableIndex]); }
public override void execute(Interpret interpreter) { NumericVariable v = interpreter.getNumVariable(varIndex.eval(interpreter)); int listInd = interpreter.getNumVariable(listIndex.eval(interpreter)).getValue(); var list = interpreter.getList(listInd); int counter = 0; int index = 0; while (index < list.Count) { v.assign(list[index].getValue()); directive.executeAll(interpreter); index++; counter++; if (counter > LoopLimit) { break; } } }
public void assign(int value, Interpret interpreter) { NumericVariable var = interpreter.getNumVariable(variableIndex); var.assign(value); }
public override void execute(Interpret interpreter) { NumericVariable v = interpreter.getNumVariable(variableIndex.eval(interpreter)); v.decrement(); }