fix: 修正头文件包含路径为 include/ 前缀以适配评测系统

- 将所有源文件中的头文件包含路径从 'subdir/file.h' 改为 'include/subdir/file.h'
- 适配评测系统将 include 目录内容复制到 /extlibs 的行为
- 使得 #include "include/ir/IR.h" 可以在 -I/extlibs 环境下找到 /extlibs/include/ir/IR.h
zhm
安峻邑 2 weeks ago
parent 0ca72ff69b
commit dba0d6adc0

@ -1,5 +1,5 @@
// 调用前端解析流程,返回语法树。
#include "frontend/AntlrDriver.h"
#include "include/frontend/AntlrDriver.h"
#include <fstream>
#include <sstream>
@ -9,7 +9,7 @@
#include "SysYLexer.h"
#include "SysYParser.h"
#include "antlr4-runtime.h"
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace {

@ -1,4 +1,4 @@
#include "frontend/SyntaxTreePrinter.h"
#include "include/frontend/SyntaxTreePrinter.h"
#include <string>

@ -7,7 +7,7 @@
// - 指令追加与 terminator 约束主要在头文件中的 Append 模板里处理;
// - 前驱/后继容器已经预留,但当前项目里还没有分支指令与自动维护逻辑。
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <utility>

@ -1,5 +1,5 @@
// 管理基础类型、整型常量池和临时名生成。
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <iomanip>
#include <sstream>

@ -1,7 +1,7 @@
// IR Function
// - 保存参数列表、基本块列表
// - 记录函数属性/元信息(按需要扩展)
#include "ir/IR.h"
#include "include/ir/IR.h"
namespace ir {

@ -1,7 +1,7 @@
// GlobalValue 占位实现:
// - 具体的全局初始化器、打印和链接语义需要自行补全
#include "ir/IR.h"
#include "include/ir/IR.h"
namespace ir {

@ -2,11 +2,11 @@
// - 管理插入点(当前基本块/位置)
// - 提供创建各类指令的便捷接口,降低 IRGen 复杂度
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <stdexcept>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace ir {
IRBuilder::IRBuilder(Context& ctx, BasicBlock* bb)

@ -2,7 +2,7 @@
// - 将 IR 打印为 .ll 风格的文本
// - 支撑调试与测试对比diff
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <cstdint>
#include <cstring>
@ -12,7 +12,7 @@
#include <stdexcept>
#include <string>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace ir {

@ -1,11 +1,11 @@
// IR 指令体系:
// - 二元运算/比较、load/store、call、br/condbr、ret、phi、alloca 等
// - 指令操作数与结果类型管理,支持打印与优化
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <stdexcept>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace ir {
User::User(std::shared_ptr<Type> ty, std::string name)

@ -1,6 +1,6 @@
// 保存函数列表并提供模块级上下文访问。
#include "ir/IR.h"
#include "include/ir/IR.h"
namespace ir {

@ -1,5 +1,5 @@
// 当前支持 void、i32、float 及其指针类型。
#include "ir/IR.h"
#include "include/ir/IR.h"
namespace ir {

@ -1,7 +1,7 @@
// SSA 值体系抽象:
// - 常量、参数、指令结果等统一为 Value
// - 提供类型信息与使用/被使用关系(按需要实现)
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>

@ -1,4 +1,4 @@
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <unordered_map>

@ -2,7 +2,7 @@
// - 删除不可达块、合并空块、简化分支等
// - 改善 IR 结构,便于后续优化与后端生成
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <unordered_map>

@ -7,7 +7,7 @@
// 3. 删除重复的表达式计算
// 4. 注意处理 phi 函数和控制流汇合点
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <unordered_map>

@ -2,7 +2,7 @@
// - 折叠可判定的常量表达式
// - 简化常量控制流分支(按实现范围裁剪)
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <cmath>

@ -4,7 +4,7 @@
// - 简化冗余 PHI 节点(所有入边都是同一个值)
// - 常与 ConstFold、DCE、CFGSimplify 迭代配合使用
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <iostream>
#include <unordered_map>

@ -4,7 +4,7 @@
// - 通常与 CFG 简化配合使用
// - 采用"标记 + 清扫"思路
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <unordered_set>

@ -1,4 +1,4 @@
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <iostream>

@ -2,7 +2,7 @@
// - 将局部变量的 alloca/load/store 提升为 SSA 形式
// - 使用标准的支配边界 + PHI 节点插入算法
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <algorithm>
#include <iostream>

@ -1,6 +1,6 @@
// IR Pass 管理骨架。
#include "ir/IR.h"
#include "include/ir/IR.h"
#include <memory>
#include <sstream>

@ -1,12 +1,12 @@
#include "irgen/IRGen.h"
#include "include/irgen/IRGen.h"
#include <cmath>
#include <limits>
#include <stdexcept>
#include "SysYParser.h"
#include "ir/IR.h"
#include "utils/Log.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
namespace {

@ -1,10 +1,10 @@
#include "irgen/IRGen.h"
#include "include/irgen/IRGen.h"
#include <memory>
#include "SysYParser.h"
#include "ir/IR.h"
#include "utils/Log.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
std::unique_ptr<ir::Module> GenerateIR(SysYParser::CompUnitContext& tree,
const SemanticContext& sema) {

@ -1,11 +1,11 @@
#include "irgen/IRGen.h"
#include "include/irgen/IRGen.h"
#include <limits>
#include <stdexcept>
#include "SysYParser.h"
#include "ir/IR.h"
#include "utils/Log.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
namespace {

@ -1,11 +1,11 @@
#include "irgen/IRGen.h"
#include "include/irgen/IRGen.h"
#include <limits>
#include <stdexcept>
#include "SysYParser.h"
#include "ir/IR.h"
#include "utils/Log.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
namespace {

@ -1,10 +1,10 @@
#include "irgen/IRGen.h"
#include "include/irgen/IRGen.h"
#include <stdexcept>
#include "SysYParser.h"
#include "ir/IR.h"
#include "utils/Log.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
std::string IRGenImpl::NextBlockName(const std::string& prefix) {
return prefix + std::to_string(++block_index_);

@ -4,15 +4,15 @@
#include <stdexcept>
#include <sstream>
#include "frontend/AntlrDriver.h"
#include "frontend/SyntaxTreePrinter.h"
#include "include/frontend/AntlrDriver.h"
#include "include/frontend/SyntaxTreePrinter.h"
#if !COMPILER_PARSE_ONLY
#include "ir/IR.h"
#include "ir/passes/PassManager.cpp"
#include "irgen/IRGen.h"
#include "mir/MIR.h"
#include "sem/Sema.h"
#include "include/ir/IR.h"
#include "src/ir/passes/PassManager.cpp"
#include "include/irgen/IRGen.h"
#include "include/mir/MIR.h"
#include "include/sem/Sema.h"
#endif
#include "utils/CLI.h"
#include "utils/Log.h"
#include "include/utils/CLI.h"
#include "include/utils/Log.h"
#include "utils/Log.h"

@ -1,10 +1,10 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <iostream>
#include <stdexcept>
#include <string>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,9 +1,9 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <algorithm>
#include <vector>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,12 +1,12 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <cstdint>
#include <cstring>
#include <stdexcept>
#include <unordered_map>
#include "ir/IR.h"
#include "utils/Log.h"
#include "include/ir/IR.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,4 +1,4 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <utility>

@ -1,4 +1,4 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
namespace mir {

@ -1,9 +1,9 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <stdexcept>
#include <utility>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,4 +1,4 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <utility>

@ -1,4 +1,4 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <algorithm>
#include <queue>
@ -7,7 +7,7 @@
#include <unordered_set>
#include <vector>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,8 +1,8 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <stdexcept>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,8 +1,8 @@
#include "mir/MIR.h"
#include "include/mir/MIR.h"
#include <vector>
#include "utils/Log.h"
#include "include/utils/Log.h"
namespace mir
{

@ -1,4 +1,4 @@
#include "sem/Sema.h"
#include "include/sem/Sema.h"
#include <any>
#include <limits>
@ -9,8 +9,8 @@
#include <unordered_map>
#include "SysYBaseVisitor.h"
#include "sem/SymbolTable.h"
#include "utils/Log.h"
#include "include/sem/SymbolTable.h"
#include "include/utils/Log.h"
namespace {

@ -1,6 +1,6 @@
// 维护局部变量声明的注册与查找。
#include "sem/SymbolTable.h"
#include "include/sem/SymbolTable.h"
void SymbolTable::EnterScope() { scopes_.emplace_back(); }

@ -2,13 +2,13 @@
// compiler -S -o testcase.s testcase.sy
// compiler -S -o testcase.s testcase.sy -O1
#include "utils/CLI.h"
#include "include/utils/CLI.h"
#include <cstring>
#include <stdexcept>
#include <string>
#include "utils/Log.h"
#include "include/utils/Log.h"
CLIOptions ParseCLI(int argc, char** argv) {
CLIOptions opt;

@ -1,6 +1,6 @@
// 格式化错误并统一打印异常与帮助信息。
#include "utils/Log.h"
#include "include/utils/Log.h"
#include <ostream>
#include <string>

Loading…
Cancel
Save