Enum nom_operator::expr::Expr
[−]
[src]
pub enum Expr<Atom, Operator> { Atom(Atom), UnExpr { item: Box<Expr<Atom, Operator>>, op: Operator, }, BinExpr { left: Box<Expr<Atom, Operator>>, op: Operator, right: Box<Expr<Atom, Operator>>, }, TreExpr { left: Box<Expr<Atom, Operator>>, lop: Operator, middle: Box<Expr<Atom, Operator>>, rop: Operator, right: Box<Expr<Atom, Operator>>, }, }
A parsed expression
Variants
Atom(Atom)
An atom is whatever the return type of the atom parser returns
UnExpr
UnExpr is a unary expression for example -10
Fields of UnExpr
item: Box<Expr<Atom, Operator>> | Item is the sub expression that the operator applies to. It is not called lhs because it can be either postfix or prefix |
op: Operator | Operator token |
BinExpr
BinExpr is a binary expression for example 10 * 10
Fields of BinExpr
left: Box<Expr<Atom, Operator>> | Left hand side sub expression |
op: Operator | Operator token |
right: Box<Expr<Atom, Operator>> | Right hand side sub expression |
TreExpr
TreExpr is a trenary expression such as true ? 2 : 3
Fields of TreExpr
left: Box<Expr<Atom, Operator>> | Left side sub expression |
lop: Operator | First operator token |
middle: Box<Expr<Atom, Operator>> | Middle sub expression |
rop: Operator | Right operator token |
right: Box<Expr<Atom, Operator>> | Right side sub expression |
Trait Implementations
impl<Atom: PartialEq, Operator: PartialEq> PartialEq for Expr<Atom, Operator>
[src]
fn eq(&self, __arg_0: &Expr<Atom, Operator>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Expr<Atom, Operator>) -> bool
This method tests for !=
.
impl<Atom, Operator> Debug for Expr<Atom, Operator> where
Atom: Debug,
Operator: Debug,
[src]
Atom: Debug,
Operator: Debug,