This commit is contained in:
邓智航
2025-12-25 15:07:20 +08:00
parent c94bebf37b
commit a9b8e82fd5
12 changed files with 483 additions and 13 deletions

View File

@@ -7,9 +7,8 @@ import frontend.lexer.TokenStream;
import frontend.parser.Parser;
import midend.Midend;
import midend.errorhandle.ErrorHandler;
import midend.optimize.Optimize;
import error.Errors;
import midend.symbol.SymbolManager;
public class Compiler {
public static void main(String[] args) {
@@ -17,6 +16,7 @@ public class Compiler {
try {
String content = new String(Files.readAllBytes(Paths.get("testfile.txt")));
String llvmFile = "llvm_ir.txt";
String llvmOpFile = "llvm_op_ir.txt";
String mipsFile = "mips.txt";
String errorFile = "error.txt";
Lexer lexer = new Lexer(content);
@@ -36,10 +36,13 @@ public class Compiler {
} else {
Midend midend = new Midend(parser.getCompUnit());
midend.generateLLvmIr();
// midend.writeToFile(llvmFile);
BackEnd backEnd = new BackEnd(midend.getModule());
backEnd.toMips();
backEnd.writeToFile(mipsFile);
midend.writeToFile(llvmFile);
Optimize optimize = new Optimize(midend.getModule());
optimize.run();
midend.writeToFile(llvmOpFile);
// BackEnd backEnd = new BackEnd(midend.getModule());
// backEnd.toMips();
// backEnd.writeToFile(mipsFile);
}
} catch (Exception e) {
e.printStackTrace();