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)

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)

This signifies any kind of mismatched input exceptions such as when the current input does not match the expected token.

PredicateError(FailedPredicateError)

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)

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

🔬 This is a nightly-only experimental API. (error_generic_member_access)

Provides type based access to context intended for error reports. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Attempts to downcast this to T behind reference

Attempts to downcast this to T behind mutable reference

Attempts to downcast this to T behind Rc pointer

Attempts to downcast this to T behind Arc pointer

Attempts to downcast this to T behind Box pointer

Attempts to downcast owned Self to T, useful only in generic context as a workaround for specialization Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.