[backend] test01 passed

This commit is contained in:
ladev789
2025-06-22 20:05:34 +08:00
parent b94e87637a
commit 10e1476ba1
2 changed files with 34 additions and 21 deletions

View File

@@ -9,6 +9,7 @@ using namespace antlr4;
// #include "Backend.h"
#include "SysYIRGenerator.h"
#include "SysYIRPrinter.h"
#include "RISCv32Backend.h"
// #include "LLVMIRGenerator.h"
using namespace sysy;
@@ -72,14 +73,22 @@ int main(int argc, char **argv) {
// visit AST to generate IR
SysYIRGenerator generator;
generator.visitCompUnit(moduleAST);
if (argStopAfter == "ir") {
SysYIRGenerator generator;
generator.visitCompUnit(moduleAST);
auto moduleIR = generator.get();
SysYPrinter printer(moduleIR);
printer.printIR();
return EXIT_SUCCESS;
}
// generate assembly
auto module = generator.get();
sysy::RISCv32CodeGen codegen(module);
string asmCode = codegen.code_gen();
if (argStopAfter == "asm") {
cout << asmCode << endl;
return EXIT_SUCCESS;
}
return EXIT_SUCCESS;
}