cminus/submit/ast/While.java

34 lines
727 B
Java
Raw Normal View History

2023-04-10 11:17:11 -04:00
/*
* Code formatter project
* CS 4481
*/
package submit.ast;
/**
*
* @author edwajohn
*/
public class While extends AbstractNode implements Statement {
private final Expression expression;
private final Statement statement;
public While(Expression expression, Statement statement) {
this.expression = expression;
this.statement = statement;
}
@Override
public void toCminus(StringBuilder builder, String prefix) {
builder.append(prefix).append("while (");
expression.toCminus(builder, prefix);
builder.append(")\n");
if (statement instanceof CompoundStatement) {
statement.toCminus(builder, prefix);
} else {
statement.toCminus(builder, prefix + " ");
}
}
}