aboutsummaryrefslogtreecommitdiff
path: root/token/token.go
diff options
context:
space:
mode:
Diffstat (limited to 'token/token.go')
-rw-r--r--token/token.go70
1 files changed, 35 insertions, 35 deletions
diff --git a/token/token.go b/token/token.go
index c7bf73a..b0b4d5a 100644
--- a/token/token.go
+++ b/token/token.go
@@ -1,51 +1,51 @@
package token
-type TokenType string
+//go:generate stringer -type=TokenType
+
+type TokenType int
const (
- ILLEGAL = "ILLEGAL"
- EOF = "EOF"
+ ILLEGAL TokenType = iota
+ EOF
// Identifiers + literals
- IDENT = "IDENT" // add, foobar, x, y, ...
- INT = "INT" // 1343456
- STRING = "STRING" // "foobar"
+ IDENT // add, foobar, x, y, ...
+ INT // 1343456
+ STRING // "foobar"
// Operators
- ASSIGN = "="
- PLUS = "+"
- MINUS = "-"
- BANG = "!"
- ASTERISK = "*"
- SLASH = "/"
-
- LT = "<"
- GT = ">"
-
- EQ = "=="
- NOT_EQ = "!="
+ ASSIGN // "="
+ PLUS // "+"
+ MINUS // "-"
+ BANG // "!"
+ ASTERISK // "*"
+ SLASH // "/"
+ LESS // "<"
+ MORE // ">"
+ EQ // "=="
+ NOT_EQ // "!="
// Delimiters
- COMMA = ","
- SEMICOLON = ";"
- COLON = ":"
+ COMMA // ","
+ SEMICOLON // ";"
+ COLON // ":"
- LPAREN = "("
- RPAREN = ")"
- LBRACE = "{"
- RBRACE = "}"
- LBRACKET = "["
- RBRACKET = "]"
+ LPAREN // "("
+ RPAREN // ")"
+ LBRACE // "{"
+ RBRACE // "}"
+ LBRACKET // "["
+ RBRACKET // "]"
// Keywords
- FUNCTION = "FUNCTION"
- LET = "LET"
- TRUE = "TRUE"
- FALSE = "FALSE"
- IF = "IF"
- ELSE = "ELSE"
- RETURN = "RETURN"
- MACRO = "MACRO"
+ FUNCTION
+ LET
+ TRUE
+ FALSE
+ IF
+ ELSE
+ RETURN
+ MACRO
)
type Token struct {