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
use crate::operator::Operator;

#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Token<'s> {
    /// 그외
    Else,
    /// 선택
    Select,
    /// 종료
    Exit,
    /// ''
    StrLit(&'s str),
    /// 123
    IntLit(u32),
    /// ABC
    Builtin(&'s str),
    /// $ABC
    Variable(&'s str),
    /// +-/*
    Operator(Operator),
    /// {
    OpenBrace,
    /// }
    CloseBrace,
    /// #
    Sharp,
    /// @
    At,
    /// \[$<>]
    Assign(&'s str),
    /// \[+]
    Duplicate,
    /// \[-]
    Pop,
    /// \[?]
    Conditional,
}