aboutsummaryrefslogtreecommitdiff
path: root/users/fcuny/exp/monkey/pkg/token
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-10-27 19:24:57 -0700
committerFranck Cuny <franck@fcuny.net>2022-10-27 19:24:57 -0700
commita5679641aa0eb9e872605b70c263c3e950132647 (patch)
tree7f4a9670365f8f13152d1070e5d5803f3618aa91 /users/fcuny/exp/monkey/pkg/token
parentfeat(ops/github): archive notes.fcuny.net (diff)
downloadinfra-a5679641aa0eb9e872605b70c263c3e950132647.tar.gz
ref(users/fcuny): and just like that ...
Diffstat (limited to 'users/fcuny/exp/monkey/pkg/token')
-rw-r--r--users/fcuny/exp/monkey/pkg/token/token.go71
1 files changed, 0 insertions, 71 deletions
diff --git a/users/fcuny/exp/monkey/pkg/token/token.go b/users/fcuny/exp/monkey/pkg/token/token.go
deleted file mode 100644
index 5eadc5e..0000000
--- a/users/fcuny/exp/monkey/pkg/token/token.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// Package token provides a tokenizer for the monkey language.
-package token
-
-// TokenType represents the type of the token
-type TokenType string
-
-// Token represents a token, with the type and the literal value of the token
-type Token struct {
- Type TokenType
- Literal string
-}
-
-const (
- ILLEGAL = "ILLEGAL"
- EOF = "EOF"
-
- IDENT = "IDENT"
- INT = "INT"
-
- COMMA = ","
- SEMICOLON = ";"
-
- LPAREN = "("
- RPAREN = ")"
- LBRACE = "{"
- RBRACE = "}"
-
- // The following tokens are keywords
- FUNCTION = "FUNCTION"
- LET = "LET"
- TRUE = "TRUE"
- FALSE = "FALSE"
- IF = "IF"
- ELSE = "ELSE"
- RETURN = "RETURN"
-
- // The following tokens are for operators
- ASSIGN = "="
- PLUS = "+"
- MINUS = "-"
- BANG = "!"
- ASTERISK = "*"
- SLASH = "/"
- LT = "<"
- GT = ">"
-
- EQ = "=="
- NOT_EQ = "!="
-)
-
-// List of our keywords for the language
-var keywords = map[string]TokenType{
- "fn": FUNCTION,
- "let": LET,
- "true": TRUE,
- "false": FALSE,
- "if": IF,
- "else": ELSE,
- "return": RETURN,
-}
-
-// LookupIdent returns the token type for a given identifier.
-// First we check if the identifier is a keyword. If it is, we return they
-// keyword TokenType constant. If it isn't, we return the token.IDENT which is
-// the TokenType for all user-defined identifiers.
-func LookupIdent(ident string) TokenType {
- if tok, ok := keywords[ident]; ok {
- return tok
- }
- return IDENT
-}