#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, strum::Display)]
pub enum UnOp {
#[strum(to_string = "-")]
Neg,
#[strum(to_string = "+")]
Pos,
#[strum(to_string = "!")]
Not,
}
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, strum::Display)]
pub enum BinOp {
#[strum(to_string = "*")]
Mul,
#[strum(to_string = "//")]
DivInt,
#[strum(to_string = "/")]
DivFloat,
#[strum(to_string = "%")]
Mod,
#[strum(to_string = "**")]
Pow,
#[strum(to_string = "+")]
Add,
#[strum(to_string = "-")]
Sub,
#[strum(to_string = "==")]
Eq,
#[strum(to_string = "!=")]
Ne,
#[strum(to_string = ">")]
Gt,
#[strum(to_string = "<")]
Lt,
#[strum(to_string = ">=")]
Gte,
#[strum(to_string = "<=")]
Lte,
#[strum(to_string = "~=")]
RegexSearch,
#[strum(to_string = "&&")]
And,
#[strum(to_string = "||")]
Or,
#[strum(to_string = "??")]
Coalesce,
#[strum(to_string = "|")]
Pipe,
}