mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-21 01:04:20 +03:00
33 lines
912 B
Java
33 lines
912 B
Java
|
package com.annimon.ownlang.parser.ast;
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* @author aNNiMON
|
||
|
*/
|
||
|
public final class ForStatement implements Statement {
|
||
|
|
||
|
private final Statement initialization;
|
||
|
private final Expression termination;
|
||
|
private final Statement increment;
|
||
|
private final Statement statement;
|
||
|
|
||
|
public ForStatement(Statement initialization, Expression termination, Statement increment, Statement block) {
|
||
|
this.initialization = initialization;
|
||
|
this.termination = termination;
|
||
|
this.increment = increment;
|
||
|
this.statement = block;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void execute() {
|
||
|
for (initialization.execute(); termination.eval().asNumber() != 0; increment.execute()) {
|
||
|
statement.execute();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public String toString() {
|
||
|
return "for " + initialization + ", " + termination + ", " + increment + " " + statement;
|
||
|
}
|
||
|
}
|