From bce012999431264defc39bf80380860df67e717f Mon Sep 17 00:00:00 2001 From: Malte Schmitz Date: Fri, 25 Nov 2016 16:15:32 +0100 Subject: [PATCH] Interprete loop recursively --- src/interpreter/Interpreter.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) 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)); } } }