pub enum ExprValue {
ConstantInt(i64),
BoundName(Token),
MemberAccess(Box<Expr>, Token),
Call(Token, Vec<Expr>),
ArrayLiteral(Vec<Expr>, bool),
PrefixOp(Token, Box<Expr>),
InfixBop(Box<Expr>, Token, Box<Expr>),
PostfixBop(Box<Expr>, Token, Box<Expr>, Token),
HardwareMap(Token, usize, Token, Box<Expr>),
}Variants§
ConstantInt(i64)
BoundName(Token)
TODO: Support ::s
MemberAccess(Box<Expr>, Token)
Call(Token, Vec<Expr>)
TODO: Call an expr or some sort of chaining of ::
ArrayLiteral(Vec<Expr>, bool)
ArrayLiteral(elements, should_continue) is an array literal beginning
with elements and filling the remainder of the array with zeros if
should_continue.
PrefixOp(Token, Box<Expr>)
InfixBop(Box<Expr>, Token, Box<Expr>)
PostfixBop(Box<Expr>, Token, Box<Expr>, Token)
HardwareMap(Token, usize, Token, Box<Expr>)
HardwareMap(map_token, parallel_factor, f, arr) is an array produced
by applying f elementwise to arr using a hardware parallelism
factor of parallel_factor.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExprValue
impl RefUnwindSafe for ExprValue
impl !Send for ExprValue
impl !Sync for ExprValue
impl Unpin for ExprValue
impl UnwindSafe for ExprValue
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