zen_parser/parser/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, PartialEq, Eq, Error)]
4pub enum ParserError {
5    #[error("Token out of bounds")]
6    TokenOutOfBounds,
7
8    #[error("Memory failure")]
9    MemoryFailure,
10
11    #[error("Unexpected token: received {received} instead of {expected}")]
12    UnexpectedToken { expected: String, received: String },
13
14    #[error("Failed to parse: {message}")]
15    FailedToParse { message: String },
16
17    #[error("Unknown built in: {token}")]
18    UnknownBuiltIn { token: String },
19
20    #[error("Unsupported built in: {token}")]
21    UnsupportedBuiltIn { token: String },
22}
23
24pub type ParserResult<T> = Result<T, ParserError>;