From 63390a44ab57983472b87b8869923af02c36b45a Mon Sep 17 00:00:00 2001 From: student Date: Tue, 13 Feb 2018 11:14:30 -0500 Subject: Refactor SCL into its own module --- base/src/bjc/dicelang/scl/WordSCLToken.java | 82 ----------------------------- 1 file changed, 82 deletions(-) delete mode 100644 base/src/bjc/dicelang/scl/WordSCLToken.java (limited to 'base/src/bjc/dicelang/scl/WordSCLToken.java') diff --git a/base/src/bjc/dicelang/scl/WordSCLToken.java b/base/src/bjc/dicelang/scl/WordSCLToken.java deleted file mode 100644 index ea3118e..0000000 --- a/base/src/bjc/dicelang/scl/WordSCLToken.java +++ /dev/null @@ -1,82 +0,0 @@ -package bjc.dicelang.scl; - -import java.util.HashMap; -import java.util.Map; - -import static bjc.dicelang.scl.WordSCLToken.Word.*; - -public class WordSCLToken extends SCLToken { - public static enum Word { - /* Array manipulation */ - MAKEARRAY, MAKEEXEC, MAKEUNEXEC, - /* Stream manipulation */ - NEWSTREAM, LEFTSTREAM, RIGHTSTREAM, DELETESTREAM, MERGESTREAM, - /* Stack manipulation */ - STACKCOUNT, STACKEMPTY, DROP, NDROP, NIP, NNIP, - } - - public Word wordVal; - - public WordSCLToken(String wrd) { - this(builtinWords.get(wrd)); - } - - public WordSCLToken(Word wrd) { - super(Type.WORD); - - wordVal = wrd; - } - - @Override - public String toString() { - return "WordSCLToken [wordVal=" + wordVal + "]"; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + ((wordVal == null) ? 0 : wordVal.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - WordSCLToken other = (WordSCLToken) obj; - if (wordVal != other.wordVal) - return false; - return true; - } - - public static boolean isBuiltinWord(String wrd) { - return builtinWords.containsKey(wrd); - } - - private static final Map builtinWords; - - static { - /* Init builtin words. */ - builtinWords = new HashMap<>(); - - builtinWords.put("makearray", MAKEARRAY); - builtinWords.put("+stream", NEWSTREAM); - builtinWords.put(">stream", LEFTSTREAM); - builtinWords.put("