diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-11-14 14:30:50 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-11-14 14:30:50 +0000 |
| commit | 8a7cb643ac9b0e895123c176803af15b75f90cf1 (patch) | |
| tree | 046f0b48f76734451fb0c8a39236212e6108bf6f /src/main/java/org/zwobble/couscous/interpreter/Executor.java | |
| parent | f398933835e7fa7a80b0abd7feda6790370804c8 (diff) | |
Parse while loops
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Executor.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/Executor.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Executor.java b/src/main/java/org/zwobble/couscous/interpreter/Executor.java index 6f33b4d..9e34c42 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Executor.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Executor.java @@ -4,13 +4,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Stream; -import org.zwobble.couscous.ast.CallableNode; -import org.zwobble.couscous.ast.ExpressionStatementNode; -import org.zwobble.couscous.ast.IfStatementNode; -import org.zwobble.couscous.ast.LocalVariableDeclarationNode; -import org.zwobble.couscous.ast.ReturnNode; -import org.zwobble.couscous.ast.StatementNode; -import org.zwobble.couscous.ast.VariableNode; +import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.visitors.StatementNodeMapper; import org.zwobble.couscous.interpreter.values.BooleanInterpreterValue; import org.zwobble.couscous.interpreter.values.InterpreterValue; @@ -61,6 +55,12 @@ public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> // TODO: Handle declarations in branches return Stream.empty(); } + + @Override + public Stream<VariableNode> visit(WhileNode whileLoop) { + // TODO: Handle declarations in branches + return Stream.empty(); + } })); } @@ -100,6 +100,11 @@ public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> return Optional.empty(); } + @Override + public Optional<InterpreterValue> visit(WhileNode whileLoop) { + throw new UnsupportedOperationException(); + } + private Optional<InterpreterValue> exec(List<StatementNode> statements) { for (StatementNode statement : statements) { Optional<InterpreterValue> result = exec(environment, statement); |
