diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2016-06-20 20:55:22 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2016-07-26 19:47:02 +0300 |
| commit | d745f000d6d60b9cdf0ba40dbf80660c1aa6bc61 (patch) | |
| tree | e00ea32ae3a2d291768084544cb21429281dc0ae /main/core/runtime | |
| parent | d35a37a449d31e6f4b43b937abf7b0e1fc497828 (diff) | |
Implemented general enhancements
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); } |
