pub mod failure;
pub mod message;
pub mod position_info;
pub mod logger;
#[macro_export]
macro_rules! error {
($meta:expr, $token:expr, $message:expr) => {
Err(Failure::Loud(Message::new_err_at_token($meta, $token).message($message)))
};
($meta:expr, $token:expr, $message:expr, $comment:expr) => {
Err(Failure::Loud(Message::new_err_at_token($meta, $token).message($message).comment($comment)))
};
($meta:expr, $token:expr => { message : $message:expr }) => {
Err(Failure::Loud(Message::new_err_at_token($meta, $token).message($message)))
};
($meta:expr, $token:expr => { message : $message:expr, comment : $comment:expr }) => {
Err(Failure::Loud(Message::new_err_at_token($meta, $token).message($message).comment($comment)))
};
}
#[macro_export]
macro_rules! error_pos {
($meta:expr, $pos:expr, $message:expr) => {
Err(Failure::Loud(Message::new_err_at_position($meta, $pos).message($message)))
};
($meta:expr, $pos:expr, $message:expr, $comment:expr) => {
Err(Failure::Loud(Message::new_err_at_position($meta, $pos).message($message).comment($comment)))
};
($meta:expr, $pos:expr => { message : $message:expr }) => {
Err(Failure::Loud(Message::new_err_at_position($meta, $pos).message($message)))
};
($meta:expr, $pos:expr => { message : $message:expr, comment : $comment:expr }) => {
Err(Failure::Loud(Message::new_err_at_position($meta, $pos).message($message).comment($comment)))
};
}