feat: wire up the parser in the main function

This commit is contained in:
2026-04-20 21:49:21 +02:00
parent 4981a78a8b
commit 27d033135c
2 changed files with 27 additions and 2 deletions
+26 -1
View File
@@ -1,5 +1,30 @@
use std::{env::args, fs::read_to_string, process::exit};
use crate::frontend::parser::Parser;
pub mod frontend;
fn main() {
println!("Hello, world!");
let Some(path) = args().nth(1) else {
eprintln!("usage: compiler <file>");
exit(1);
};
let content = read_to_string(&path).unwrap_or_else(|err| {
eprintln!("error: failed to read source file ({:?})", err);
exit(1);
});
let mut parser = Parser::new(&content);
let module = parser.parse_module();
if let Some(errors) = parser.errors() {
for error in errors {
eprintln!("{:?}", error);
}
exit(1);
}
println!("{:#?}", module);
}