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
macro_rules! token {
($($tt:tt)*) => {
Token::Punctuation(punctuation!($($tt)*))
};
}
macro_rules! punctuation {
(;) => {
Punctuation::Semicolon
};
(=) => {
Punctuation::Equals
};
(.) => {
Punctuation::Dot
};
(,) => {
Punctuation::Comma
};
(+) => {
Punctuation::Plus
};
(-) => {
Punctuation::Minus
};
(*) => {
Punctuation::Times
};
(/) => {
Punctuation::Divide
};
(!) => {
Punctuation::Exclam
};
(~) => {
Punctuation::Invert
};
}