pub enum Expr {
StringLit(String),
Number(String),
Symbol(String),
Compound {
stem: String,
tail: Vec<TailElement>,
},
BinOp {
left: Box<Expr>,
op: BinOp,
right: Box<Expr>,
},
UnaryOp {
op: UnaryOp,
operand: Box<Expr>,
},
FunctionCall {
name: String,
args: Vec<Expr>,
},
Paren(Box<Expr>),
}Expand description
Expressions.
Variants§
StringLit(String)
String literal
Number(String)
Number literal (stored as string per REXX semantics)
Symbol(String)
Variable reference
Compound
Compound variable: stem.tail
BinOp
Binary operation
UnaryOp
Unary prefix operation
FunctionCall
Function call: name(args)
Paren(Box<Expr>)
Parenthesized expression
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnsafeUnpin 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