45 lines
617 B
Rust
45 lines
617 B
Rust
#[derive(Debug)]
|
|
pub enum Operator {
|
|
Binary(BinaryOperator),
|
|
PrefixUnary(PrefixUnaryOperator),
|
|
SuffixUnary(SuffixUnaryOperator),
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum BinaryOperator {
|
|
Or,
|
|
And,
|
|
EqualTo,
|
|
NotEqualTo,
|
|
Greater,
|
|
Less,
|
|
GreaterEqual,
|
|
LessEqual,
|
|
Add,
|
|
Subtract,
|
|
Multiply,
|
|
Divide,
|
|
Modulo,
|
|
LeftShift,
|
|
RightShift,
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum PrefixUnaryOperator {
|
|
Spread,
|
|
BorrowMut,
|
|
Borrow,
|
|
Star,
|
|
Mut,
|
|
Not,
|
|
Negative,
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum SuffixUnaryOperator {
|
|
PlusPlus,
|
|
MinusMinus,
|
|
Call,
|
|
Index,
|
|
}
|