diff options
| author | student <student@69.161.224.78> | 2018-02-13 11:14:30 -0500 |
|---|---|---|
| committer | student <student@69.161.224.78> | 2018-02-13 11:14:30 -0500 |
| commit | 63390a44ab57983472b87b8869923af02c36b45a (patch) | |
| tree | 62964cfcbe7e0bb6eb74769af62985527320119a /base/src/bjc/dicelang/scl/WordSCLToken.java | |
| parent | 825128ba939c6ac5728fd3d9d78e84aa9e60806b (diff) | |
Refactor SCL into its own module
Diffstat (limited to 'base/src/bjc/dicelang/scl/WordSCLToken.java')
| -rw-r--r-- | base/src/bjc/dicelang/scl/WordSCLToken.java | 82 |
1 files changed, 0 insertions, 82 deletions
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<String, WordSCLToken.Word> builtinWords; - - static { - /* Init builtin words. */ - builtinWords = new HashMap<>(); - - builtinWords.put("makearray", MAKEARRAY); - builtinWords.put("+stream", NEWSTREAM); - builtinWords.put(">stream", LEFTSTREAM); - builtinWords.put("<stream", RIGHTSTREAM); - builtinWords.put("-stream", DELETESTREAM); - builtinWords.put("<-stream", MERGESTREAM); - builtinWords.put("cvx", MAKEEXEC); - builtinWords.put("cvux", MAKEUNEXEC); - builtinWords.put("#", STACKCOUNT); - builtinWords.put("empty?", STACKEMPTY); - builtinWords.put("drop", DROP); - builtinWords.put("ndrop", NDROP); - builtinWords.put("nip", NIP); - builtinWords.put("nnip", NNIP); - } -} |
