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>)

Tuple Fields

0: 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>)

Tuple Fields

0: 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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Returns text representation of current node type, rule name for context nodes and token text for terminal nodes Read more

The resulting type after obtaining ownership.

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

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

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.