Enum ParsingResult

Source
pub enum ParsingResult {
    EOF {
        doctree: DocTree,
        state_stack: Vec<State>,
    },
    EmptyStateStack {
        doctree: DocTree,
        state_stack: Vec<State>,
    },
    Failure {
        message: String,
        doctree: DocTree,
    },
}
Expand description

An enumeration of the different ways a (nested) parsing session might terminate. The return type of the Parser::parse method. Generally, finishing conditions that are not outright failures will enclose the document tree fed to the parser when it was initialized.

Variants§

§

EOF

This will be returned, if the parser finished by passing over the last line of the source. This generally indicates that the source file was parsed successfully.

Fields

§doctree: DocTree
§state_stack: Vec<State>
§

EmptyStateStack

This will be returned if the parser was unable to parse any elements on some line of the source, as patterns not matching will drain the parser state stack of states. This might be useful during nested parsing sessions, when an empty stack right at the start of the parsing process indicates that there were no expected nested structures on the same line.

Fields

§doctree: DocTree
§state_stack: Vec<State>
§

Failure

A simple failure type. This will be returned when there was clearly no way to recover.

Fields

§message: String
§doctree: DocTree

Implementations§

Source§

impl ParsingResult

Source

pub fn unwrap_tree(self) -> DocTree

Unwraps the contained doctree in one of the non-failure variants. Simply panics if this is attempted for the Failure variant.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.