aboutsummaryrefslogtreecommitdiff
path: root/tokens.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-03-22 15:09:01 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-03-22 15:09:01 +0100
commitce64ad22a11308c8fafa1bc8b40e3e21210cc3ee (patch)
treedf1b1252b56cd60d0d2ef83b9ceee1c009f62083 /tokens.go
Initial import
Diffstat (limited to 'tokens.go')
-rw-r--r--tokens.go126
1 files changed, 126 insertions, 0 deletions
diff --git a/tokens.go b/tokens.go
new file mode 100644
index 0000000..e606535
--- /dev/null
+++ b/tokens.go
@@ -0,0 +1,126 @@
+package main
+
+const (
+ EOF = iota
+ BLANK
+ INTEGER
+ FLOAT
+ COMPLEX
+ DIGIT
+ CHAR
+ STRING
+ QUOTED
+ QUOTE
+ DOT
+ COMA
+ NEG
+ COMMENT
+ ALPHA
+ OMEGA
+ IOTA
+ RHO
+ DEL
+ PLUS
+ MINUS
+ TIMES
+ DIVIDE
+ DROP
+ TAKE
+ QUAD
+ SLASH
+ SLASHBAR
+ BACKSLASH
+)
+
+var Tockens = map[rune]int{
+ EOF: EOF,
+
+ ' ': BLANK,
+ '\t': BLANK,
+
+ '0': DIGIT,
+ '1': DIGIT,
+ '2': DIGIT,
+ '3': DIGIT,
+ '4': DIGIT,
+ '5': DIGIT,
+ '6': DIGIT,
+ '7': DIGIT,
+ '8': DIGIT,
+ '9': DIGIT,
+
+ 'A': CHAR,
+ 'B': CHAR,
+ 'C': CHAR,
+ 'D': CHAR,
+ 'E': CHAR,
+ 'F': CHAR,
+ 'G': CHAR,
+ 'H': CHAR,
+ 'I': CHAR,
+ 'J': CHAR,
+ 'K': CHAR,
+ 'L': CHAR,
+ 'M': CHAR,
+ 'N': CHAR,
+ 'O': CHAR,
+ 'P': CHAR,
+ 'Q': CHAR,
+ 'R': CHAR,
+ 'S': CHAR,
+ 'T': CHAR,
+ 'U': CHAR,
+ 'V': CHAR,
+ 'W': CHAR,
+ 'X': CHAR,
+ 'Y': CHAR,
+ 'Z': CHAR,
+
+ 'a': CHAR,
+ 'b': CHAR,
+ 'c': CHAR,
+ 'd': CHAR,
+ 'e': CHAR,
+ 'f': CHAR,
+ 'g': CHAR,
+ 'h': CHAR,
+ 'i': CHAR,
+ 'j': CHAR,
+ 'k': CHAR,
+ 'l': CHAR,
+ 'm': CHAR,
+ 'n': CHAR,
+ 'o': CHAR,
+ 'p': CHAR,
+ 'q': CHAR,
+ 'r': CHAR,
+ 's': CHAR,
+ 't': CHAR,
+ 'u': CHAR,
+ 'v': CHAR,
+ 'w': CHAR,
+ 'x': CHAR,
+ 'y': CHAR,
+ 'z': CHAR,
+
+ '\'': QUOTE,
+ '.': DOT,
+ ',': COMA,
+ '¯': NEG,
+ '⍝': COMMENT,
+ '⍺': ALPHA,
+ '⍵': OMEGA,
+ '⍳': IOTA,
+ '⍴': RHO,
+ '∇': DEL,
+ '+': PLUS,
+ '-': MINUS,
+ '×': TIMES,
+ '÷': DIVIDE,
+ '↓': DROP,
+ '↑': TAKE,
+ '⎕': QUAD,
+ '/': SLASH,
+ '⌿': SLASHBAR,
+ '\\': BACKSLASH,
+}