about summary refs log tree commit diff
path: root/pkg/lang/scanner/token/kind.go
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-04-16 22:05:25 +0200
committerMel <einebeere@gmail.com>2022-04-16 22:05:25 +0200
commitbbb2962bd4bac0ce1271ec7d7cb65d038ead8ed2 (patch)
tree01cc597df41e9ed9b246f9d537783f68e126caab /pkg/lang/scanner/token/kind.go
parent6163d259ed52991e2f95632b5a0516607aa56a5f (diff)
downloadjinx-bbb2962bd4bac0ce1271ec7d7cb65d038ead8ed2.tar.zst
jinx-bbb2962bd4bac0ce1271ec7d7cb65d038ead8ed2.zip
Basic scanner for lang
Diffstat (limited to 'pkg/lang/scanner/token/kind.go')
-rw-r--r--pkg/lang/scanner/token/kind.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/pkg/lang/scanner/token/kind.go b/pkg/lang/scanner/token/kind.go
new file mode 100644
index 0000000..e24ce2f
--- /dev/null
+++ b/pkg/lang/scanner/token/kind.go
@@ -0,0 +1,71 @@
+package token
+
+type TokenKind int
+
+const (
+	EOF TokenKind = iota
+	EOL
+
+	// Keywords
+	KwVar
+	KwFn
+	KwObject
+
+	KwIf
+	KwElif
+	KwElse
+	KwFor
+	KwTry
+	KwCatch
+	KwFinally
+
+	KwReturn
+	KwContinue
+	KwBreak
+	KwThrow
+
+	KwIn
+
+	KwNull
+	KwTrue
+	KwFalse
+
+	KwThis
+
+	KwUse
+	KwFrom
+	KwBy
+
+	// Data Tokens
+	Ident
+	Int
+	Float
+	String
+
+	// Punctuation
+	Assign
+	Plus
+	Minus
+	Star
+	Slash
+	Percent
+	Bang
+
+	Eq
+	Neq
+	Lt
+	Gt
+	Lte
+	Gte
+
+	LParen
+	RParen
+	LBrace
+	RBrace
+	LBracket
+	RBracket
+
+	Comma
+	Dot
+	SemiColon
+)