pub enum Expr {
Unit {
name: String,
},
Quote {
string: String,
},
Const {
value: Numeric,
},
Date {
tokens: Vec<DateToken>,
},
BinOp(BinOpExpr),
UnaryOp(UnaryOpExpr),
Mul {
exprs: Vec<Expr>,
},
Of {
property: String,
expr: Box<Expr>,
},
Call {
func: Function,
args: Vec<Expr>,
},
Error {
message: String,
},
}Variants§
Implementations§
Source§impl Expr
impl Expr
pub fn new_const(value: Numeric) -> Expr
pub fn new_error(message: String) -> Expr
pub fn new_unit(name: String) -> Expr
pub fn new_call(func: Function, args: Vec<Expr>) -> Expr
pub fn new_mul(exprs: Vec<Expr>) -> Expr
pub fn new_bin(op: BinOpType, numer: Expr, denom: Expr) -> Expr
pub fn new_add(numer: Expr, denom: Expr) -> Expr
pub fn new_sub(numer: Expr, denom: Expr) -> Expr
pub fn new_frac(numer: Expr, denom: Expr) -> Expr
pub fn new_pow(numer: Expr, denom: Expr) -> Expr
pub fn new_equals(numer: Expr, denom: Expr) -> Expr
pub fn new_of(property: &str, expr: Expr) -> Expr
pub fn new_unary(op: UnaryOpType, expr: Expr) -> Expr
pub fn new_suffix(suffix: Degree, expr: Expr) -> Expr
pub fn new_plus(expr: Expr) -> Expr
pub fn new_negate(expr: Expr) -> Expr
Trait Implementations§
impl StructuralPartialEq for Expr
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnwindSafe for Expr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more