/** class IfZero, our internal representation of a ifZero-expression * in the L0 language. * See http://www.radford.edu/itec380/2008fall/Hw06/hw06.html * * @author Ian Barland * @version 2008.Nov.30 */ public class IfZero extends Expr { static final String TOKEN = "ifZero"; Expr cond, thenPart, elsePart; IfZero( Expr _cond, Expr _thenPart, Expr _elsePart) { this.cond = _cond; this.thenPart = _thenPart; this.elsePart = _elsePart; } public String toString() { return "{" + TOKEN + " " + cond.toString() + " " + thenPart.toString() + " " + elsePart.toString() + "}"; } public Value eval() { if (((Num)(cond.eval())).doubleValue() == 0) { return thenPart.eval(); } else { return elsePart.eval(); } } }