Trait pest::Parser [] [src]

pub trait Parser<'a, T: Input<'a>> {
    type Rule;
    type Token;
    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>;
}

A trait that defines a parser.

Associated Types

Required Methods

Returns whether a Parser has reached its end.

Returns whether a Parser has matched end-of-input.

Reset a Parser.

Returns the queue of all matched Tokens.

Returns the mutable queue of all matched Tokens.

Returns the queue of all matched (Token, value)s.

Returns the current index within the queue. Used in process!.

Increments the current index within the queue. Used in process!.

Set the current index within the queue. Used in process!.

Skips whitespace and comments.

Returns whether a Parser is currently inside an atomic rule.

Sets a Parser to atomic rule mode, barring comment & white-space skipping.

Keeps track of rule failures. It gets called when a Rule fails at pos.

Returns the length of the tracked Rules.

Retuns a Vec of all expected Rules at the deepest position where the parsing last stopped. It only returns leafs from the rule tree. Used for error reporting.

Returns the stack Vec.

Returns the mutable stack Vec.

Implementors