pub trait Parser<'a, T>where
T: Input<'a>,{
type Rule;
type Token;
Show 19 methods
// Required methods
fn input(&self) -> &T;
fn input_mut(&mut self) -> &mut T;
fn end(&self) -> bool;
fn eoi_matched(&self) -> bool;
fn reset(&mut self);
fn queue(&self) -> &Vec<Self::Token>;
fn queue_mut(&mut self) -> &mut Vec<Self::Token>;
fn queue_with_captures(&self) -> Vec<(Self::Token, String)>;
fn queue_index(&self) -> usize;
fn inc_queue_index(&self);
fn set_queue_index(&self, index: usize);
fn skip(&mut self);
fn is_atomic(&self) -> bool;
fn set_atomic(&mut self, value: bool);
fn track(&mut self, failed: Self::Rule, pos: usize);
fn tracked_len_pos(&self) -> (usize, usize);
fn expected(&mut self) -> (Vec<Self::Rule>, usize);
fn stack(&self) -> &Vec<String>;
fn stack_mut(&mut self) -> &mut Vec<String>;
}Expand description
A trait that defines a parser.
Required Associated Types§
Required Methods§
fn input(&self) -> &T
fn input_mut(&mut self) -> &mut T
Sourcefn eoi_matched(&self) -> bool
fn eoi_matched(&self) -> bool
Returns whether a Parser has matched end-of-input.
Sourcefn queue_mut(&mut self) -> &mut Vec<Self::Token>
fn queue_mut(&mut self) -> &mut Vec<Self::Token>
Returns the mutable queue of all matched Tokens.
Sourcefn queue_with_captures(&self) -> Vec<(Self::Token, String)>
fn queue_with_captures(&self) -> Vec<(Self::Token, String)>
Returns the queue of all matched (Token, value)s.
Sourcefn queue_index(&self) -> usize
fn queue_index(&self) -> usize
Returns the current index within the queue. Used in process!.
Sourcefn inc_queue_index(&self)
fn inc_queue_index(&self)
Increments the current index within the queue. Used in process!.
Sourcefn set_queue_index(&self, index: usize)
fn set_queue_index(&self, index: usize)
Set the current index within the queue. Used in process!.
Sourcefn set_atomic(&mut self, value: bool)
fn set_atomic(&mut self, value: bool)
Sets a Parser to atomic rule mode, barring comment & white-space skipping.
Sourcefn track(&mut self, failed: Self::Rule, pos: usize)
fn track(&mut self, failed: Self::Rule, pos: usize)
Keeps track of rule failures. It gets called when a Rule fails at pos.
Sourcefn tracked_len_pos(&self) -> (usize, usize)
fn tracked_len_pos(&self) -> (usize, usize)
Returns the length of the tracked Rules.