[IR Gen] fixed build errors
This commit is contained in:
@ -17,7 +17,7 @@ add_executable(sysyc
|
|||||||
IR.cpp
|
IR.cpp
|
||||||
SysYIRGenerator.cpp
|
SysYIRGenerator.cpp
|
||||||
Backend.cpp
|
Backend.cpp
|
||||||
LLVMIRGenerator.cpp
|
# LLVMIRGenerator.cpp
|
||||||
LLVMIRGenerator_1.cpp
|
LLVMIRGenerator_1.cpp
|
||||||
)
|
)
|
||||||
target_include_directories(sysyc PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
target_include_directories(sysyc PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|||||||
@ -38,7 +38,7 @@ private:
|
|||||||
std::stack<LoopLabels> loopStack; // 用于管理循环的break和continue标签
|
std::stack<LoopLabels> loopStack; // 用于管理循环的break和continue标签
|
||||||
std::string getNextTemp();
|
std::string getNextTemp();
|
||||||
std::string getLLVMType(const std::string&);
|
std::string getLLVMType(const std::string&);
|
||||||
sysy::Type* LLVMIRGenerator::getSysYType(const std::string&);
|
sysy::Type* getSysYType(const std::string&);
|
||||||
|
|
||||||
bool inFunction = false; // 标识当前是否处于函数内部
|
bool inFunction = false; // 标识当前是否处于函数内部
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
namespace sysy {
|
// namespace sysy {
|
||||||
|
|
||||||
std::string LLVMIRGenerator::generateIR(SysYParser::CompUnitContext* unit) {
|
std::string LLVMIRGenerator::generateIR(SysYParser::CompUnitContext* unit) {
|
||||||
// 初始化 SysY IR 模块
|
// 初始化 SysY IR 模块
|
||||||
@ -852,4 +852,4 @@ std::any LLVMIRGenerator::visitLOrExp(SysYParser::LOrExpContext* ctx) {
|
|||||||
return left;
|
return left;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace sysy
|
// } // namespace sysy
|
||||||
Reference in New Issue
Block a user