mips without optimize

This commit is contained in:
colden
2025-12-12 20:14:00 +08:00
parent 84827838e2
commit c94bebf37b
130 changed files with 5462 additions and 4182 deletions

67
midend/Midend.java Normal file → Executable file
View File

@@ -1,31 +1,36 @@
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();
}
}
}
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 IrModule getModule() {
return module;
}
public void writeToFile(String fileName) {
try {
Files.write(Paths.get(fileName), module.toString().getBytes());
} catch (Exception e) {
e.printStackTrace();
}
}
}
//