pub struct Parser<Term, NonTerm> {
pub rules: Vec<ProductionRule<Term, NonTerm>>,
pub states: Vec<State<Term, NonTerm>>,
}Expand description
struct for Deterministic Finite Automaton (DFA).
It contains Vec of production rules and states.
Fields§
§rules: Vec<ProductionRule<Term, NonTerm>>§states: Vec<State<Term, NonTerm>>Implementations§
source§impl<Term, NonTerm> Parser<Term, NonTerm>
impl<Term, NonTerm> Parser<Term, NonTerm>
sourcepub fn feed<'a>(
&'a self,
context: &mut Context,
term: Term,
) -> Result<(), ParseError<'a, Term, NonTerm, u8, u8>>
pub fn feed<'a>( &'a self, context: &mut Context, term: Term, ) -> Result<(), ParseError<'a, Term, NonTerm, u8, u8>>
feed one terminal to parser, and update state stack
sourcepub fn feed_callback<'a, C>(
&'a self,
context: &mut Context,
callback: &mut C,
term: Term,
) -> Result<(), ParseError<'a, Term, NonTerm, <C as Callback<Term, NonTerm>>::Error, u8>>
pub fn feed_callback<'a, C>( &'a self, context: &mut Context, callback: &mut C, term: Term, ) -> Result<(), ParseError<'a, Term, NonTerm, <C as Callback<Term, NonTerm>>::Error, u8>>
feed one terminal to parser, and update state stack
pub fn begin(&self) -> Context
Auto Trait Implementations§
impl<Term, NonTerm> Freeze for Parser<Term, NonTerm>
impl<Term, NonTerm> RefUnwindSafe for Parser<Term, NonTerm>where
NonTerm: RefUnwindSafe,
Term: RefUnwindSafe,
impl<Term, NonTerm> Send for Parser<Term, NonTerm>
impl<Term, NonTerm> Sync for Parser<Term, NonTerm>
impl<Term, NonTerm> Unpin for Parser<Term, NonTerm>
impl<Term, NonTerm> UnwindSafe for Parser<Term, NonTerm>
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