pub enum Expr {
Show 18 variants
Str(String),
Insens(String),
Range(String, String),
Ident(String),
PeekSlice(i32, Option<i32>),
PosPred(Box<Expr>),
NegPred(Box<Expr>),
Seq(Box<Expr>, Box<Expr>),
Choice(Box<Expr>, Box<Expr>),
Opt(Box<Expr>),
Rep(Box<Expr>),
RepOnce(Box<Expr>),
RepExact(Box<Expr>, u32),
RepMin(Box<Expr>, u32),
RepMax(Box<Expr>, u32),
RepMinMax(Box<Expr>, u32, u32),
Skip(Vec<String>),
Push(Box<Expr>),
}
Variants
Str(String)
Matches an exact string, e.g. "a"
Insens(String)
Matches an exact string, case insensitively (ASCII only), e.g. ^"a"
Range(String, String)
Matches one character in the range, e.g. 'a'..'z'
Ident(String)
Matches the rule with the given name, e.g. a
PeekSlice(i32, Option<i32>)
Matches a custom part of the stack, e.g. PEEK[..]
PosPred(Box<Expr>)
Positive lookahead; matches expression without making progress, e.g. &e
NegPred(Box<Expr>)
Negative lookahead; matches if expression doesn’t match, without making progress, e.g. !e
Seq(Box<Expr>, Box<Expr>)
Matches a sequence of two expressions, e.g. e1 ~ e2
Choice(Box<Expr>, Box<Expr>)
Matches either of two expressions, e.g. e1 | e2
Opt(Box<Expr>)
Optionally matches an expression, e.g. e?
Rep(Box<Expr>)
Matches an expression zero or more times, e.g. e*
RepOnce(Box<Expr>)
Matches an expression one or more times, e.g. e+
RepExact(Box<Expr>, u32)
Matches an expression an exact number of times, e.g. e{n}
RepMin(Box<Expr>, u32)
Matches an expression at least a number of times, e.g. e{n,}
RepMax(Box<Expr>, u32)
Matches an expression at most a number of times, e.g. e{,n}
RepMinMax(Box<Expr>, u32, u32)
Matches an expression a number of times within a range, e.g. e{m, n}
Skip(Vec<String>)
Continues to match expressions until one of the strings in the Vec
is found
Push(Box<Expr>)
Matches an expression and pushes it to the stack, e.g. push(e)
Implementations
sourceimpl Expr
impl Expr
pub fn iter_top_down(&self) -> ExprTopDownIteratorⓘNotable traits for ExprTopDownIteratorimpl Iterator for ExprTopDownIterator type Item = Expr;
pub fn map_top_down<F>(self, f: F) -> Expr where
F: FnMut(Expr) -> Expr,
pub fn map_bottom_up<F>(self, f: F) -> Expr where
F: FnMut(Expr) -> Expr,
Trait Implementations
impl Eq for Expr
impl StructuralEq for Expr
impl StructuralPartialEq for Expr
Auto Trait Implementations
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnwindSafe for Expr
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more