snix/users/tazjin/rlox/src/errors.rs
Vincent Ambo 3d1b116f7f feat(tazjin/rlox): Implement single-character scanning
... still not that interesting, but at this point slightly divergent
from the book:

The book embraces mutability for interpreter state, initially for
tracking whether an error condition has occured.

I avoid this by instead defining an error type and collecting the
error values, to be handled later on.

Notes: So far nothing special, but this is just the beginning of the
book. I like the style it is written in and it has pointed to some
interesting resources, such as a 1965 paper titled "The Next 700
Languages".

Change-Id: I030b38438fec9eb55372bf547af225138908230a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2144
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-23 01:15:57 +00:00

14 lines
262 B
Rust

#[derive(Debug)]
pub enum ErrorKind {
UnexpectedChar(char),
}
#[derive(Debug)]
pub struct Error {
pub line: usize,
pub kind: ErrorKind,
}
pub fn report(loc: &str, err: &Error) {
eprintln!("[line {}] Error {}: {:?}", err.line, loc, err.kind);
}