mirror of
https://github.com/MorizzG/rlox.git
synced 2025-12-06 04:12:42 +00:00
19 lines
621 B
Rust
19 lines
621 B
Rust
use thiserror::Error;
|
|
|
|
use super::CodePos;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum LexerError {
|
|
#[error("Unexpected character '{c}' at {code_pos}.")]
|
|
UnexpectedCharacter { c: char, code_pos: CodePos },
|
|
#[error("Unterminated string literal starting at {code_pos}.")]
|
|
UnterminatedStringLiteral { code_pos: CodePos },
|
|
#[error("Unterminated block comment starting at {code_pos}.")]
|
|
UnterminatedBlockComment { code_pos: CodePos },
|
|
#[error("Invalid number literal {lexeme} at {code_pos}: {msg}")]
|
|
InvalidNumberLiteral {
|
|
lexeme: String,
|
|
msg: String,
|
|
code_pos: CodePos,
|
|
},
|
|
}
|