value_expr/
data.rs

1#[derive(Debug, Copy, Clone)]
2pub enum UnOp {
3    Not,
4    Neg,
5}
6#[derive(Debug, Copy, Clone)]
7pub enum BinOp {
8    Add,
9    Sub,
10    Mul,
11    Div,
12    Rem,
13    And,
14    Or,
15    BitXor,
16    BitAnd,
17    BitOr,
18    Shl,
19    Shr,
20    Eq,
21    Lt,
22    Le,
23    Ne,
24    Ge,
25    Gt,
26}
27#[derive(Debug, Copy, Clone)]
28pub enum AssignOp {
29    Assign,
30    AddAssign,
31    SubAssign,
32    MulAssign,
33    DivAssign,
34    RemAssign,
35    BitXorAssign,
36    BitAndAssign,
37    BitOrAssign,
38    ShlAssign,
39    ShrAssign,
40}
41#[derive(Debug, Clone)]
42pub enum Value {
43    /// 1
44    Integer(i32),
45    /// -a
46    Unary(UnOp, Box<Value>),
47    /// a+b
48    Binary(BinOp, Box<Value>, Box<Value>),
49    /// (a)
50    Paren(Vec<Value>),
51    /// a(b,c)
52    FuncLike(String, Vec<Value>),
53    /// a
54    Ident(String),
55    /// a=1
56    Assign(AssignOp, String, Box<Value>),
57    /// native use
58    #[allow(unused)]
59    Native(String),
60}