// 这是一个“可跑”的最小 IR 生成示例,便于对照/调试。 // IR 生成驱动(Driver): // - 驱动 Visitor 遍历 AST,调度各子模块完成翻译 // - 统一管理模块级翻译入口与上下文(Module/IRBuilder 等) // - 组织函数/语句/表达式/声明等翻译流程 #include "irgen/IRGen.h" #include #include "ast/AstNodes.h" #include "ir/IR.h" std::unique_ptr GenerateIR(const ast::CompUnit& ast) { auto module = std::make_unique(); IRGenImpl gen(*module); gen.Gen(ast); return module; }