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