pub enum Expr<'arena> {
RealNumber {
val: f64,
},
ImaginaryNumber {
val: f64,
},
ComplexNumber {
val: Complex64,
},
Binding {
name: &'arena mut str,
},
FunctionCall {
ident: &'arena mut str,
args: Vec<'arena, &'arena mut Expr<'arena>>,
},
Operator {
op: Operator,
rhs: &'arena mut Expr<'arena>,
lhs: &'arena mut Expr<'arena>,
},
}
Expand description
A token Tree representing a whole Expression
It lives inside an Arena
Fields
The value of the real number
Fields
The value of the imaginary number, without the i
unit
Fields
The value of the complex number’s node
Fields
List of argument in order they appeard
A function call, with an variable amount of arguments
Fields
Left side of the operation
Right side of the operation
Clone an AST with another backing arena
Create an AST from an input str
This will error on any wrong input
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
This method tests for self
and other
values to be equal, and is used
by ==
.
This method tests for !=
. The default implementation is almost always
sufficient, and should not be overridden without very good reason.
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
Returns the argument unchanged.
Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From<T> for U
chooses to do.
Converts the given value to a
String
.
Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.