The boolean test If extends BinaryInstruction and condition evaluation is performed by calling the parseBooleanExpression method of External.
public class If extends BinaryInstruction { public String condition; private boolean condEvaluated = false; private boolean value; public If(String cond, Instruction t, Instruction e) { condition = cond; left = t; right = e; } public void reset(){ super.reset(); condEvaluated = false; } final public String toString(){ return "if "+condition+" then "+left+" else "+right+" end"; } final protected byte activation(Machine machine) { if (!condEvaluated){ condEvaluated = true; value = External.parseBooleanExpression(condition); } return value ? left.activ(machine) : right.activ(machine); } }