holey-bytes/hblang/src/main.rs

25 lines
748 B
Rust
Raw Normal View History

2024-05-12 17:02:32 -05:00
use std::io;
use hblang::{codegen, parser};
fn main() -> io::Result<()> {
if std::env::args().len() == 1 {
eprintln!("Usage: hblang <file1> <file2> ...");
eprintln!(" 1. compiled binary will be printed to stdout");
eprintln!(" 2. order of files matters");
std::process::exit(1);
}
let files = std::env::args()
.skip(1)
.map(|path| std::fs::read_to_string(&path).map(|src| (path, src)))
.collect::<io::Result<Vec<_>>>()?;
2024-05-19 11:20:42 -05:00
2024-05-12 17:02:32 -05:00
let mut codegen = codegen::Codegen::default();
for (path, content) in files.iter() {
2024-05-19 11:20:42 -05:00
codegen.files = vec![parser::Ast::new(&path, &content, &parser::no_loader)];
codegen.generate();
2024-05-12 17:02:32 -05:00
}
codegen.dump(&mut std::io::stdout())
}