2020-06-22 20:49:21 +02:00
|
|
|
mod compiler;
|
2020-06-21 00:21:24 +02:00
|
|
|
mod errors;
|
|
|
|
mod file_io;
|
|
|
|
mod parser;
|
|
|
|
|
2020-06-22 20:49:21 +02:00
|
|
|
use compiler::Compiler;
|
2020-06-21 00:21:24 +02:00
|
|
|
use file_io::open_file;
|
2020-06-21 00:40:00 +02:00
|
|
|
use parser::Parser;
|
2020-06-21 00:21:24 +02:00
|
|
|
use std::path::Path;
|
|
|
|
|
2020-06-18 17:06:57 +02:00
|
|
|
fn main() {
|
2020-06-21 00:21:24 +02:00
|
|
|
let path = Path::new("reid_src/test.reid");
|
2020-06-22 20:49:21 +02:00
|
|
|
let parsed = Parser::from(open_file(&path).ok().unwrap()).parse();
|
|
|
|
match parsed {
|
|
|
|
Err(error) => {
|
|
|
|
eprintln!("Syntax error: {}", error);
|
|
|
|
std::process::exit(1);
|
|
|
|
}
|
|
|
|
Ok(parsed) => {
|
|
|
|
dbg!(&parsed);
|
|
|
|
let compiled = Compiler::from(parsed).compile();
|
|
|
|
if let Err(error) = compiled {
|
2020-06-22 21:29:27 +02:00
|
|
|
eprintln!("Compilation error: {}", error);
|
2020-06-22 20:49:21 +02:00
|
|
|
std::process::exit(1);
|
|
|
|
}
|
|
|
|
dbg!(compiled);
|
|
|
|
}
|
2020-06-21 00:37:56 +02:00
|
|
|
}
|
2020-06-18 17:06:57 +02:00
|
|
|
}
|