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
72
73
74
75
#[derive(Debug, Clone)]
pub enum Token {
NumberConst(f64),
StringConst(String),
NumberVar(f64),
StringVar(String),
Identifier(String),
Var,
Const,
True,
False,
If,
Else,
Func,
Break,
Return,
LCurly,
RCurly,
LParen,
RParen,
LSquare,
RSquare,
Plus,
UnaryPlus,
Minus,
UnaryMinus,
Asterik,
Divide,
PlusAssign,
MinusAssign,
MultiplyAssign,
DivideAssign,
LeftShiftAssign,
RightShiftAssign,
Semicolon,
Colon,
Comma,
Period,
Equals,
While,
Loop,
For,
LessThan,
GreaterThan,
LessThanEqual,
GreaterThanEqual,
EqualTo,
NotEqualTo,
Pipe,
Questionmark,
LeftShift,
RightShift,
XOr,
Modulo,
PowerOf,
}