package midend; import java.nio.file.Files; import java.nio.file.Paths; import frontend.ast.CompUnit; import midend.llvm.IrBuilder; import midend.llvm.IrModule; import midend.visit.Visitor; public class Midend { private IrModule module; private Visitor visitor; public Midend(CompUnit compUnit) { this.module = new IrModule(); this.visitor = new Visitor(compUnit); } public void generateLLvmIr() { IrBuilder.setCurrentModule(module); visitor.visit(); } public void writeToFile(String fileName) { try { Files.write(Paths.get(fileName), module.toString().getBytes()); } catch (Exception e) { e.printStackTrace(); } } }