package program;
import expression.Expression;
A Loop
consists of a condition
and a program
with the intended semantics of execution the program
while the condition
evaluates to a non-zero value.
public class Loop extends Program {
public final Expression condition;
public final Program program;
public Loop(Expression condition, Program program) {
this.condition = condition;
this.program = program;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Loop loop = (Loop) o;
if (!condition.equals(loop.condition)) return false;
return program.equals(loop.program);
}
}