mips without optimize
This commit is contained in:
67
midend/Midend.java
Normal file → Executable file
67
midend/Midend.java
Normal file → Executable 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user