better local vars/operand stack

This commit is contained in:
nora 2021-08-22 20:58:46 +02:00
parent 43e2c59e73
commit 5ec9260b59
2 changed files with 27 additions and 17 deletions

View file

@ -0,0 +1,28 @@
use crate::ui::display_class;
use file_parser::parse_class_file;
mod ui;
fn main() {
let file = std::env::args().nth(1).unwrap_or_else(|| {
eprintln!("No file provided");
std::process::exit(1);
});
let file = std::fs::read(file).unwrap_or_else(|_| {
eprintln!("Could not read file");
std::process::exit(1);
});
let class_file = match parse_class_file(&file) {
Ok(file) => file,
Err(err) => {
eprintln!("{}", err);
return;
}
};
let stdout = std::io::stdout();
if let Err(why) = display_class(stdout.lock(), &class_file) {
eprintln!("{}", why);
}
}