feat: unify AST structures, introduce MIR and update codegen

This commit is contained in:
2026-04-21 22:08:15 +02:00
parent 22023a8734
commit 3e0b5c5b00
10 changed files with 686 additions and 307 deletions
+5 -1
View File
@@ -4,9 +4,11 @@ use clap::Parser as ClapParser;
use crate::frontend::parser::Parser;
use crate::frontend::sema::Sema;
use crate::middle::builder::MirBuilder;
pub mod backend;
pub mod frontend;
pub mod middle;
use crate::backend::cranelift::CraneliftBackend;
@@ -55,8 +57,10 @@ fn main() {
exit(1);
}
let mir_module = MirBuilder::build(&typed_module);
let backend = CraneliftBackend::new();
let (ir, obj_bytes) = backend.compile_module(&typed_module);
let (ir, obj_bytes) = backend.compile_module(&mir_module);
if cli.emit_ir {
println!("{}", ir);