pub enum ASTNode<A: Atom> {
Charcters {
start: A,
end: A,
negation: bool,
},
Catenation(Box<ASTNode<A>>, Box<ASTNode<A>>),
Alternation(Box<ASTNode<A>>, Box<ASTNode<A>>),
ZeroOrOne(Box<ASTNode<A>>),
ZeroOrMore(Box<ASTNode<A>>),
OneOrMore(Box<ASTNode<A>>),
Repeat {
node: Box<ASTNode<A>>,
at_least: usize,
at_most: Option<usize>,
},
RepeatExact(Box<ASTNode<A>>, usize),
}Variants§
Charcters
Catenation(Box<ASTNode<A>>, Box<ASTNode<A>>)
Alternation(Box<ASTNode<A>>, Box<ASTNode<A>>)
ZeroOrOne(Box<ASTNode<A>>)
ZeroOrMore(Box<ASTNode<A>>)
OneOrMore(Box<ASTNode<A>>)
Repeat
RepeatExact(Box<ASTNode<A>>, usize)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<A> Freeze for ASTNode<A>where
A: Freeze,
impl<A> RefUnwindSafe for ASTNode<A>where
A: RefUnwindSafe,
impl<A> Send for ASTNode<A>where
A: Send,
impl<A> Sync for ASTNode<A>where
A: Sync,
impl<A> Unpin for ASTNode<A>where
A: Unpin,
impl<A> UnwindSafe for ASTNode<A>where
A: UnwindSafe,
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