finish project seven backend compiler

This commit is contained in:
2022-08-04 20:59:46 +05:30
parent dae97b7a76
commit 5973c64e78
3 changed files with 74 additions and 36 deletions

View File

@@ -6,11 +6,12 @@ let read_file file =
List.filter (In_channel.read_lines file) ~f:not_empty
;;
let classname file = Filename.chop_extension (Filename.basename file)
let outfile file = String.concat [ Filename.chop_extension file; ".asm" ]
let gen_hack file =
let ircode = read_file file in
let assembly = Be_translate.translate ircode in
let assembly = Be_translate.translate (classname file) ircode in
let outchan = Out_channel.create (outfile file) in
Out_channel.output_lines outchan assembly;
Out_channel.close outchan