refactor(dev): unify user-facing diagnostics

This commit is contained in:
Lane0218
2026-03-11 21:42:33 +08:00
parent 9070775187
commit e9d7b4a058
10 changed files with 56 additions and 40 deletions

View File

@@ -6,15 +6,16 @@
#include "SysYParser.h"
#include "antlr4-runtime.h"
#include "ir/IR.h"
#include "utils/Log.h"
std::unique_ptr<ir::Module> GenerateIR(antlr4::tree::ParseTree* tree) {
if (!tree) {
throw std::runtime_error("[irgen] 语法树为空");
throw std::runtime_error(FormatError("irgen", "语法树为空"));
}
auto* cu = dynamic_cast<SysYParser::CompUnitContext*>(tree);
if (!cu) {
throw std::runtime_error("[irgen] 语法树根节点不是 compUnit");
throw std::runtime_error(FormatError("irgen", "语法树根节点不是 compUnit"));
}
auto module = std::make_unique<ir::Module>();