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.
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.
Failure
A simple failure type. This will be returned when there was clearly no way to recover.
Implementations§
Source§impl ParsingResult
impl ParsingResult
Sourcepub fn unwrap_tree(self) -> DocTree
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.