From eeb4fa7f787cbc6fcc71127b81ef3cb3e7fbdd4b Mon Sep 17 00:00:00 2001 From: Su Xing Date: Mon, 27 Mar 2023 08:24:05 +0800 Subject: [PATCH] Update main function to generate IR --- src/CMakeLists.txt | 1 - src/SysYIRGenerator.h | 2 +- src/sysyc.cpp | 18 ++++++++++-------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 48b2aca..856a640 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,7 +13,6 @@ target_link_libraries(SysYParser PUBLIC antlr4_shared) add_executable(sysyc sysyc.cpp - SysYFormatter.cpp IR.cpp SysYIRGenerator.cpp ) diff --git a/src/SysYIRGenerator.h b/src/SysYIRGenerator.h index ba65fe4..3ea51ef 100644 --- a/src/SysYIRGenerator.h +++ b/src/SysYIRGenerator.h @@ -1,10 +1,10 @@ #pragma once +#include #include "IR.h" #include "IRBuilder.h" #include "SysYBaseVisitor.h" #include "SysYParser.h" -#include namespace sysy { diff --git a/src/sysyc.cpp b/src/sysyc.cpp index 4c2d1f3..b9a983a 100644 --- a/src/sysyc.cpp +++ b/src/sysyc.cpp @@ -4,10 +4,12 @@ #include #include using namespace std; -using namespace antlr4; -#include "SysYFormatter.h" #include "SysYLexer.h" #include "SysYParser.h" +using namespace antlr4; +#include "SysYFormatter.h" +#include "SysYIRGenerator.h" +using namespace sysy; int main(int argc, char **argv) { if (argc != 2) { @@ -24,12 +26,12 @@ int main(int argc, char **argv) { CommonTokenStream tokens(&lexer); SysYParser parser(&tokens); auto module = parser.module(); - // tree::ParseTreeWalker walker; - // SysYASTPrinter printer(cout); - // cout << module->getText() << '\n'; - // walker.walk(&printer, module); - SysYFormatter formatter(cout); - formatter.visitModule(module); + + // SysYFormatter formatter(cout); + // formatter.visitModule(module); + + SysYIRGenerator generator; + generator.visitModule(module); return EXIT_SUCCESS; } \ No newline at end of file