summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pom.xml35
-rw-r--r--src/main/java/bjc/dicelang/scl/Errors.java9
-rw-r--r--src/main/java/bjc/dicelang/scl/StreamEngine.java7
3 files changed, 48 insertions, 3 deletions
diff --git a/pom.xml b/pom.xml
index 4f9f4f3..d34c9eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,6 +50,41 @@
</executions>
</plugin>
</plugins>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>
+ org.codehaus.mojo
+ </groupId>
+ <artifactId>
+ exec-maven-plugin
+ </artifactId>
+ <versionRange>
+ [1.5.0,)
+ </versionRange>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
<dependencies>
diff --git a/src/main/java/bjc/dicelang/scl/Errors.java b/src/main/java/bjc/dicelang/scl/Errors.java
index ef20086..ceb79e3 100644
--- a/src/main/java/bjc/dicelang/scl/Errors.java
+++ b/src/main/java/bjc/dicelang/scl/Errors.java
@@ -45,6 +45,9 @@ public class Errors {
EK_STRM_INVCOM("\tERROR: Unknown stream control command %s\n", 1),
/* SCL Warnings */
+ /**
+ * Word execution failed.
+ */
WK_SCL_WRDFAIL("\tWARNING: Execution of word %s failed\n", 1),
/* SCL Errors */
@@ -69,7 +72,13 @@ public class Errors {
*/
EK_SCL_INVARG("\tERROR: Invalid argument to SCL command\n", 0);
+ /**
+ * The message of the error.
+ */
public final String msg;
+ /**
+ * The number of arguments to the error.
+ */
public final int argc;
private ErrorKey(String message, int argcount) {
diff --git a/src/main/java/bjc/dicelang/scl/StreamEngine.java b/src/main/java/bjc/dicelang/scl/StreamEngine.java
index ba1f029..0c8d3bf 100644
--- a/src/main/java/bjc/dicelang/scl/StreamEngine.java
+++ b/src/main/java/bjc/dicelang/scl/StreamEngine.java
@@ -2,7 +2,6 @@ package bjc.dicelang.scl;
import bjc.utils.esodata.SingleTape;
import bjc.utils.esodata.Tape;
-import bjc.utils.esodata.TapeLibrary;
import bjc.utils.funcdata.FunctionalList;
import bjc.utils.funcdata.FunctionalMap;
import bjc.utils.funcdata.IList;
@@ -10,6 +9,8 @@ import bjc.utils.funcdata.IMap;
import bjc.utils.funcutils.ListUtils;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
import java.util.function.Predicate;
import static bjc.dicelang.scl.Errors.ErrorKey.*;
@@ -34,7 +35,7 @@ public class StreamEngine {
private IList<String> currStream;
/* Saved streams */
- private TapeLibrary<IList<String>> savedStreams;
+ private Map<String, IList<String>> savedStreams;
/* Handler for SCL programs */
private final StreamControlEngine scleng;
@@ -70,7 +71,7 @@ public class StreamEngine {
*
*/
public StreamEngine() {
- savedStreams = new TapeLibrary<>();
+ savedStreams = new HashMap<>();
scleng = new StreamControlEngine(this);
}