/
TokenType.swift
61 lines (56 loc) · 942 Bytes
/
TokenType.swift
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
//
// TokenType.swift
// slox
//
// Created by Danielle Kefford on 2/22/24.
//
enum TokenType: Equatable {
// Single-character tokens
case leftParen
case rightParen
case leftBrace
case rightBrace
case comma
case dot
case minus
case plus
case semicolon
case slash
case star
case leftBracket
case rightBracket
// One of two character tokens
case bang
case bangEqual
case equal
case equalEqual
case greater
case greaterEqual
case less
case lessEqual
// Literals
case identifier
case string
case double
case int
// Keywords
case and
case `class`
case `else`
case `false`
case fun
case `for`
case `if`
case `nil`
case or
case `print`
case `return`
case `super`
case this
case `true`
case `var`
case `while`
case `break`
case `continue`
case eof
}