1#[derive(Debug, Clone)]
2pub enum BoseijuError {
3 LexerError(crate::lexer::LexerError),
4 ParserError(crate::parser::ParserError),
5}
6
7impl std::fmt::Display for BoseijuError {
8 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9 match self {
10 BoseijuError::LexerError(err) => write!(f, "Lexer error: {err}")?,
11 BoseijuError::ParserError(err) => write!(f, "Parser error: {err}")?,
12 }
13 Ok(())
14 }
15}
16
17impl From<crate::lexer::LexerError> for BoseijuError {
18 fn from(e: crate::lexer::LexerError) -> BoseijuError {
19 BoseijuError::LexerError(e)
20 }
21}
22
23impl From<crate::parser::ParserError> for BoseijuError {
24 fn from(e: crate::parser::ParserError) -> BoseijuError {
25 BoseijuError::ParserError(e)
26 }
27}