Enum antlr_rust::errors::ANTLRError [−][src]
pub enum ANTLRError {
LexerNoAltError {
start_index: isize,
},
NoAltError(NoViableAltError),
InputMismatchError(InputMisMatchError),
PredicateError(FailedPredicateError),
IllegalStateError(String),
FallThrough(Rc<dyn Error>),
OtherError(Rc<dyn Error>),
}
Expand description
Main ANTLR4 Rust runtime error
Variants
LexerNoAltError
Fields
start_index: isize
Index at which error has happened
Returned from Lexer when it fails to find matching token type for current input
Usually Lexers contain last rule that captures all invalid tokens like:
ERROR_TOKEN: . ;
to prevent lexer from throwing errors and have all error handling in parser.
NoAltError(NoViableAltError)
Tuple Fields
Indicates that the parser could not decide which of two or more paths to take based upon the remaining input. It tracks the starting token of the offending input and also knows where the parser was in the various paths when the error. Reported by reportNoViableAlternative()
InputMismatchError(InputMisMatchError)
Tuple Fields
This signifies any kind of mismatched input exceptions such as when the current input does not match the expected token.
PredicateError(FailedPredicateError)
Tuple Fields
A semantic predicate failed during validation. Validation of predicates occurs when normally parsing the alternative just like matching a token. Disambiguating predicate evaluation occurs when we test a predicate during prediction.
IllegalStateError(String)
Tuple Fields
0: String
Internal error. Or user provided type returned data that is incompatible with current parser state
FallThrough(Rc<dyn Error>)
Unrecoverable error. Indicates that error should not be processed by parser/error strategy and it should abort parsing and immediately return to caller.
OtherError(Rc<dyn Error>)
Potentially recoverable error.
Used to allow user to emit his own errors from parser actions or from custom error strategy.
Parser will try to recover with provided ErrorStrategy
Implementations
Returns first token that caused parser to fail.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ANTLRError
impl !Send for ANTLRError
impl !Sync for ANTLRError
impl Unpin for ANTLRError
impl !UnwindSafe for ANTLRError
Blanket Implementations
Mutably borrows from an owned value. Read more