Struct peresil::ParseMaster[][src]

pub struct ParseMaster<P, E, S = ()> {
    pub state: S,
    // some fields omitted

The main entrypoint to parsing.

This tracks the collection of outstanding errors and provides helper methods for parsing alternative paths and sequences of other parsers.



impl<'a, P, E> ParseMaster<P, E> where
    P: Point,
    E: Recoverable

impl<'a, P, E, S> ParseMaster<P, E, S> where
    P: Point,
    E: Recoverable

Returns the value on success, or rewinds the point and returns None on a recoverable failure. Non-recoverable failures are propagated.

Run sub-parsers in order until one succeeds.

Runs the parser until it fails.

If the parser fails due to a recoverable error, a collection of values will be returned and the point will be at the end of the last successful parse. If the error is not recoverable, the error will be passed through directly.

When parsing is complete, provide the final result and gain access to all failures. Will be recycled and may be used for further parsing.

Trait Implementations

impl<P: Debug, E: Debug, S: Debug> Debug for ParseMaster<P, E, S>

Formats the value using the given formatter. Read more

impl<P: PartialEq, E: PartialEq, S: PartialEq> PartialEq for ParseMaster<P, E, S>

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

impl<P, E, S> Send for ParseMaster<P, E, S> where
    E: Send,
    P: Send,
    S: Send

impl<P, E, S> Sync for ParseMaster<P, E, S> where
    E: Sync,
    P: Sync,
    S: Sync