pub enum EbnfError {
Lexer(LexerError),
Parser(ParserError),
Normalization(String),
}Expand description
A failure while converting EBNF text to a grammar.
Variants§
Lexer(LexerError)
The lexer rejected the input.
Parser(ParserError)
The parser rejected the token stream.
Normalization(String)
A normalization pass failed (mirrors C++ XGRAMMAR_LOG(FATAL) becoming a Python error).
Implementations§
Trait Implementations§
impl Eq for EbnfError
Source§impl Error for EbnfError
impl Error for EbnfError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<EbnfError> for CompileError
impl From<EbnfError> for CompileError
Source§impl From<LexerError> for EbnfError
impl From<LexerError> for EbnfError
Source§fn from(source: LexerError) -> Self
fn from(source: LexerError) -> Self
Converts to this type from the input type.
Source§impl From<ParserError> for EbnfError
impl From<ParserError> for EbnfError
Source§fn from(source: ParserError) -> Self
fn from(source: ParserError) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for EbnfError
Auto Trait Implementations§
impl Freeze for EbnfError
impl RefUnwindSafe for EbnfError
impl Send for EbnfError
impl Sync for EbnfError
impl Unpin for EbnfError
impl UnsafeUnpin for EbnfError
impl UnwindSafe for EbnfError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more