67 lines
1.2 KiB
Rust
67 lines
1.2 KiB
Rust
#[derive(Eq, PartialEq, Debug, Copy, Clone)]
|
|
pub enum PreOperator {
|
|
Negative,
|
|
Identity,
|
|
Negation,
|
|
Increment,
|
|
Decrement,
|
|
Complement,
|
|
HandleOf,
|
|
}
|
|
|
|
#[derive(Eq, PartialEq, Debug, Copy, Clone)]
|
|
pub enum PostOperator {
|
|
Increment,
|
|
Decrement,
|
|
}
|
|
|
|
#[derive(Eq, PartialEq, Debug, Copy, Clone)]
|
|
pub enum BinaryOperator {
|
|
// math op
|
|
Addition,
|
|
Subtraction,
|
|
Multiplication,
|
|
Division,
|
|
Modulo,
|
|
Exponentiation,
|
|
// comp op
|
|
Equality,
|
|
Inequality,
|
|
LessThan,
|
|
LessThanEquals,
|
|
GreaterThan,
|
|
GreaterThanEquals,
|
|
IdentityEquality,
|
|
IdentityInequality,
|
|
// logic op
|
|
And,
|
|
Or,
|
|
Xor,
|
|
// bit op
|
|
BitwiseAnd,
|
|
BitwiseOr,
|
|
BitwiseXor,
|
|
LeftShift,
|
|
RightShift,
|
|
ArithmeticRightShift,
|
|
// assign op
|
|
Assignment,
|
|
AssignmentAddition,
|
|
AssignmentSubtraction,
|
|
AssignmentMultiplication,
|
|
AssignmentDivision,
|
|
AssignmentModulo,
|
|
AssignmentExponentiation,
|
|
AssignmentBitwiseAnd,
|
|
AssignmentBitwiseOr,
|
|
AssignmentBitwiseXor,
|
|
AssignmentLeftShift,
|
|
AssignmentRightShift,
|
|
AssignmentArithmeticRightShift,
|
|
}
|
|
|
|
#[derive(Eq, PartialEq, Debug, Copy, Clone)]
|
|
pub enum TernaryOperator {
|
|
Conditional,
|
|
}
|