-
Notifications
You must be signed in to change notification settings - Fork 0
/
tokens.go
71 lines (67 loc) · 1.39 KB
/
tokens.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package scanner
type Token struct {
Pos uint
Kind uint
Line uint
Value string
}
// TODO: add tabs
const (
TEXT = iota + 1
HASH
EQUALS
UNDERSCORE
TILDE
STAR
NEWLINE
DASH
DOLLAR
STRAIGHTBRACEOPEN
STRAIGHTBRACECLOSE
PARENOPEN
PARENCLOSE
BACKTICK
GREATERTHAN
BANG
EMPTYLINE
EOF
)
var TOKEN_LOOKUP_MAP = map[uint]string{
DOLLAR: "DOLLAR",
EQUALS: "EQUALS",
TILDE: "TILDE",
HASH: "HASH",
UNDERSCORE: "UNDERSCORE",
STAR: "STAR",
NEWLINE: "NEWLINE",
DASH: "DASH",
STRAIGHTBRACEOPEN: "STRAIGHTBRACEOPEN",
STRAIGHTBRACECLOSE: "STRAIGHTBRACECLOSE",
PARENOPEN: "PARENOPEN",
PARENCLOSE: "PARENCLOSE",
GREATERTHAN: "GREATERTHAN",
BACKTICK: "BACKTICK",
TEXT: "TEXT",
BANG: "BANG",
EMPTYLINE: "EMPTYLINE",
EOF: "EOF",
}
var TOKEN_SYMBOL_MAP = map[uint]rune{
HASH: '#',
EQUALS: '=',
TILDE: '~',
DOLLAR: '$',
UNDERSCORE: '_',
STAR: '*',
NEWLINE: '\n',
DASH: '-',
STRAIGHTBRACEOPEN: '[',
STRAIGHTBRACECLOSE: ']',
PARENOPEN: '(',
PARENCLOSE: ')',
GREATERTHAN: '>',
BACKTICK: '`',
BANG: '!',
EMPTYLINE: '\n',
EOF: 0,
}