SeraphScript/src/parsing/parser/parser_operators.rs

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,
}