diff --git a/src/interpreter/Interpreter.java b/src/interpreter/Interpreter.java index efba743..64611de 100644 --- a/src/interpreter/Interpreter.java +++ b/src/interpreter/Interpreter.java @@ -49,15 +49,11 @@ public class Interpreter extends ProgramVisitor { } } - private boolean enterLoop(Loop loop) { - Evaluator evaluator = new Evaluator(loop.condition, valuation); - return evaluator.eval() != 0; - } - @Override public void visitLoop(Loop loop) { - while(enterLoop(loop)) { - visit(loop.program); + Evaluator evaluator = new Evaluator(loop.condition, valuation); + if (evaluator.eval() != 0) { + visit(new Composition(loop.program, loop)); } } }