diff options
Diffstat (limited to 'main/core/runtime')
| -rw-r--r-- | main/core/runtime/Interpreter.java | 8 | ||||
| -rw-r--r-- | main/core/runtime/State.java | 7 |
2 files changed, 12 insertions, 3 deletions
diff --git a/main/core/runtime/Interpreter.java b/main/core/runtime/Interpreter.java index 00294e2..0789822 100644 --- a/main/core/runtime/Interpreter.java +++ b/main/core/runtime/Interpreter.java @@ -2,7 +2,9 @@ package com.jantuomi.interpreter.main.core.runtime; import com.jantuomi.interpreter.main.core.parser.ast.ASTNode; import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; +import com.sun.deploy.util.StringUtils; +import java.util.ArrayList; import java.util.List; /** @@ -19,17 +21,17 @@ public class Interpreter { } public static String execute(List<ASTNode> sequence) { - StringBuilder output = new StringBuilder(); + List<String> output = new ArrayList<>(); for (ASTNode node : sequence) { DataContainer data = node.evaluate(); if (data != null) { String out = data.toString(); - output.append(out); + output.add(out); } else { break; } } - return output.toString(); + return StringUtils.join(output, " "); } } diff --git a/main/core/runtime/State.java b/main/core/runtime/State.java index 7e4fb71..7d1a2fa 100644 --- a/main/core/runtime/State.java +++ b/main/core/runtime/State.java @@ -1,8 +1,10 @@ package com.jantuomi.interpreter.main.core.runtime; +import com.jantuomi.interpreter.main.core.parser.ast.ASTNode; import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -29,6 +31,11 @@ public class State { } } + public DataContainer getSymbolValue(String symbol, List<ASTNode> parameters) { + // TODO + return null; + } + public void setSymbolValue(String symbol, DataContainer value) { variables.put(symbol, value); } |
