From 293c28fed4cd0d2729763010f8e17e8c1b4afdb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E5=B3=BB=E9=82=91?= <2294450067@qq.com> Date: Mon, 11 May 2026 20:06:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E5=A4=B4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8C=85=E5=90=AB=E8=B7=AF=E5=BE=84=E4=BB=A5=E9=80=82?= =?UTF-8?q?=E9=85=8D=E8=AF=84=E6=B5=8B=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将所有头文件包含路径从 'include/subdir/file.h' 改为 'subdir/file.h' - 修正了相对路径引用,如 '../../include/ir/IR.h' 改为 'ir/IR.h' - 适配评测系统使用 -I. 或 -Iinclude 的包含路径设置 - 解决了 'file not found' 编译错误 --- Error.txt | 157 +++++++++++++++++++++++++++++ src/frontend/AntlrDriver.cpp | 4 +- src/frontend/SyntaxTreePrinter.cpp | 2 +- src/ir/BasicBlock.cpp | 2 +- src/ir/Context.cpp | 2 +- src/ir/Function.cpp | 2 +- src/ir/GlobalValue.cpp | 2 +- src/ir/IRBuilder.cpp | 4 +- src/ir/IRPrinter.cpp | 4 +- src/ir/Instruction.cpp | 4 +- src/ir/Module.cpp | 2 +- src/ir/Type.cpp | 2 +- src/ir/Value.cpp | 2 +- src/ir/analysis/DominatorTree.cpp | 2 +- src/ir/passes/CFGSimplify.cpp | 2 +- src/ir/passes/CSE.cpp | 2 +- src/ir/passes/ConstFold.cpp | 2 +- src/ir/passes/ConstProp.cpp | 2 +- src/ir/passes/DCE.cpp | 2 +- src/ir/passes/LICM.cpp | 2 +- src/ir/passes/Mem2Reg.cpp | 2 +- src/ir/passes/PassManager.cpp | 2 +- src/irgen/IRGenDecl.cpp | 6 +- src/irgen/IRGenDriver.cpp | 6 +- src/irgen/IRGenExp.cpp | 6 +- src/irgen/IRGenFunc.cpp | 6 +- src/irgen/IRGenStmt.cpp | 6 +- src/main.cpp | 19 ++-- src/mir/AsmPrinter.cpp | 4 +- src/mir/FrameLowering.cpp | 4 +- src/mir/Lowering.cpp | 6 +- src/mir/MIRBasicBlock.cpp | 2 +- src/mir/MIRContext.cpp | 2 +- src/mir/MIRFunction.cpp | 4 +- src/mir/MIRInstr.cpp | 2 +- src/mir/RegAlloc.cpp | 4 +- src/mir/Register.cpp | 4 +- src/mir/passes/Peephole.cpp | 4 +- src/sem/Sema.cpp | 6 +- src/sem/SymbolTable.cpp | 2 +- src/utils/CLI.cpp | 4 +- src/utils/Log.cpp | 2 +- 42 files changed, 232 insertions(+), 74 deletions(-) create mode 100644 Error.txt diff --git a/Error.txt b/Error.txt new file mode 100644 index 00000000..35405808 --- /dev/null +++ b/Error.txt @@ -0,0 +1,157 @@ +clang++ -std=c++17 -O2 -lm -L/extlibs -I/extlibs -lantlr4-runtime -Wl,-rpath=/extlibs /coursegrader/submitdata/src/main.cpp /coursegrader/submitdata/src/mir/MIRInstr.cpp /coursegrader/submitdata/src/mir/RegAlloc.cpp /coursegrader/submitdata/src/mir/MIRBasicBlock.cpp /coursegrader/submitdata/src/mir/FrameLowering.cpp /coursegrader/submitdata/src/mir/MIRFunction.cpp /coursegrader/submitdata/src/mir/Register.cpp /coursegrader/submitdata/src/mir/AsmPrinter.cpp /coursegrader/submitdata/src/mir/Lowering.cpp /coursegrader/submitdata/src/mir/MIRContext.cpp /coursegrader/submitdata/src/mir/passes/PassManager.cpp /coursegrader/submitdata/src/mir/passes/Peephole.cpp /coursegrader/submitdata/src/utils/CLI.cpp /coursegrader/submitdata/src/utils/Log.cpp /coursegrader/submitdata/src/sem/Sema.cpp /coursegrader/submitdata/src/sem/SymbolTable.cpp /coursegrader/submitdata/src/sem/ConstEval.cpp /coursegrader/submitdata/src/frontend/SysYParser.cpp /coursegrader/submitdata/src/frontend/SysYBaseListener.cpp /coursegrader/submitdata/src/frontend/SysYLexer.cpp /coursegrader/submitdata/src/frontend/SysYBaseVisitor.cpp /coursegrader/submitdata/src/frontend/SyntaxTreePrinter.cpp /coursegrader/submitdata/src/frontend/SysYVisitor.cpp /coursegrader/submitdata/src/frontend/AntlrDriver.cpp /coursegrader/submitdata/src/frontend/SysYListener.cpp /coursegrader/submitdata/src/ir/BasicBlock.cpp /coursegrader/submitdata/src/ir/GlobalValue.cpp /coursegrader/submitdata/src/ir/Function.cpp /coursegrader/submitdata/src/ir/Value.cpp /coursegrader/submitdata/src/ir/IRBuilder.cpp /coursegrader/submitdata/src/ir/Type.cpp /coursegrader/submitdata/src/ir/IRPrinter.cpp /coursegrader/submitdata/src/ir/Context.cpp /coursegrader/submitdata/src/ir/Instruction.cpp /coursegrader/submitdata/src/ir/Module.cpp /coursegrader/submitdata/src/ir/passes/LICM.cpp /coursegrader/submitdata/src/ir/passes/DCE.cpp /coursegrader/submitdata/src/ir/passes/ConstProp.cpp /coursegrader/submitdata/src/ir/passes/CFGSimplify.cpp /coursegrader/submitdata/src/ir/passes/CSE.cpp /coursegrader/submitdata/src/ir/passes/PassManager.cpp /coursegrader/submitdata/src/ir/passes/Mem2Reg.cpp /coursegrader/submitdata/src/ir/passes/ConstFold.cpp /coursegrader/submitdata/src/ir/analysis/DominatorTree.cpp /coursegrader/submitdata/src/ir/analysis/LoopInfo.cpp /coursegrader/submitdata/src/irgen/IRGenExp.cpp /coursegrader/submitdata/src/irgen/IRGenDecl.cpp /coursegrader/submitdata/src/irgen/IRGenDriver.cpp /coursegrader/submitdata/src/irgen/IRGenStmt.cpp /coursegrader/submitdata/src/irgen/IRGenFunc.cpp /coursegrader/submitdata/sylib/sylib.c -I /coursegrader/submitdata/include/frontend -I /coursegrader/submitdata/include/irgen -I /coursegrader/submitdata/include/mir -I /coursegrader/submitdata/include/sem -I /coursegrader/submitdata/include/utils -I /coursegrader/submitdata/include/ir -I /coursegrader/submitdata/src/frontend -I /coursegrader/submitdata/sylib -o /root/run/compiler +Stdout: + +Stderr: +clang++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated] +/coursegrader/submitdata/src/main.cpp:7:10: fatal error: 'src/frontend/AntlrDriver.h' file not found + 7 | #include "src/frontend/AntlrDriver.h" + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/MIRInstr.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/RegAlloc.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/MIRBasicBlock.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/FrameLowering.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/MIRFunction.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/Register.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/AsmPrinter.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/Lowering.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/MIRContext.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/mir/passes/Peephole.cpp:1:10: fatal error: 'include/mir/MIR.h' file not found + 1 | #include "include/mir/MIR.h" + | ^~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/sem/Sema.cpp:1:10: fatal error: 'include/sem/Sema.h' file not found + 1 | #include "include/sem/Sema.h" + | ^~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/sem/SymbolTable.cpp:3:10: fatal error: 'include/sem/SymbolTable.h' file not found + 3 | #include "include/sem/SymbolTable.h" + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/frontend/SyntaxTreePrinter.cpp:1:10: fatal error: 'src/frontend/SyntaxTreePrinter.h' file not found + 1 | #include "src/frontend/SyntaxTreePrinter.h" + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/frontend/AntlrDriver.cpp:2:10: fatal error: 'src/frontend/AntlrDriver.h' file not found + 2 | #include "src/frontend/AntlrDriver.h" + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/BasicBlock.cpp:10:10: fatal error: 'include/ir/IR.h' file not found + 10 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/Function.cpp:4:10: fatal error: 'include/ir/IR.h' file not found + 4 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/Value.cpp:4:10: fatal error: 'include/ir/IR.h' file not found + 4 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/IRBuilder.cpp:5:10: fatal error: 'include/ir/IR.h' file not found + 5 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/Type.cpp:2:10: fatal error: 'include/ir/IR.h' file not found + 2 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/IRPrinter.cpp:5:10: fatal error: 'include/ir/IR.h' file not found + 5 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/Context.cpp:2:10: fatal error: 'include/ir/IR.h' file not found + 2 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/Instruction.cpp:4:10: fatal error: 'include/ir/IR.h' file not found + 4 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/Module.cpp:3:10: fatal error: 'include/ir/IR.h' file not found + 3 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/LICM.cpp:1:10: fatal error: 'include/ir/IR.h' file not found + 1 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/DCE.cpp:7:10: fatal error: 'include/ir/IR.h' file not found + 7 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/ConstProp.cpp:7:10: fatal error: 'include/ir/IR.h' file not found + 7 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/CFGSimplify.cpp:5:10: fatal error: 'include/ir/IR.h' file not found + 5 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/CSE.cpp:10:10: fatal error: 'include/ir/IR.h' file not found + 10 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/PassManager.cpp:3:10: fatal error: 'include/ir/IR.h' file not found + 3 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/Mem2Reg.cpp:5:10: fatal error: 'include/ir/IR.h' file not found + 5 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/passes/ConstFold.cpp:5:10: fatal error: 'include/ir/IR.h' file not found + 5 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/ir/analysis/DominatorTree.cpp:1:10: fatal error: 'include/ir/IR.h' file not found + 1 | #include "include/ir/IR.h" + | ^~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/irgen/IRGenExp.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found + 1 | #include "include/irgen/IRGen.h" + | ^~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/irgen/IRGenDecl.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found + 1 | #include "include/irgen/IRGen.h" + | ^~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/irgen/IRGenDriver.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found + 1 | #include "include/irgen/IRGen.h" + | ^~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/irgen/IRGenStmt.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found + 1 | #include "include/irgen/IRGen.h" + | ^~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. +/coursegrader/submitdata/src/irgen/IRGenFunc.cpp:1:10: fatal error: 'include/irgen/IRGen.h' file not found + 1 | #include "include/irgen/IRGen.h" + | ^~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. \ No newline at end of file diff --git a/src/frontend/AntlrDriver.cpp b/src/frontend/AntlrDriver.cpp index deb5255b..ee3c98c6 100644 --- a/src/frontend/AntlrDriver.cpp +++ b/src/frontend/AntlrDriver.cpp @@ -1,5 +1,5 @@ // 调用前端解析流程,返回语法树。 -#include "src/frontend/AntlrDriver.h" +#include "frontend/AntlrDriver.h" #include #include @@ -9,7 +9,7 @@ #include "SysYLexer.h" #include "SysYParser.h" #include "antlr4-runtime.h" -#include "include/utils/Log.h" +#include "utils/Log.h" namespace { diff --git a/src/frontend/SyntaxTreePrinter.cpp b/src/frontend/SyntaxTreePrinter.cpp index 5564a4bd..1ec0cabc 100644 --- a/src/frontend/SyntaxTreePrinter.cpp +++ b/src/frontend/SyntaxTreePrinter.cpp @@ -1,4 +1,4 @@ -#include "src/frontend/SyntaxTreePrinter.h" +#include "frontend/SyntaxTreePrinter.h" #include diff --git a/src/ir/BasicBlock.cpp b/src/ir/BasicBlock.cpp index b58a12d4..6fd9042a 100644 --- a/src/ir/BasicBlock.cpp +++ b/src/ir/BasicBlock.cpp @@ -7,7 +7,7 @@ // - 指令追加与 terminator 约束主要在头文件中的 Append 模板里处理; // - 前驱/后继容器已经预留,但当前项目里还没有分支指令与自动维护逻辑。 -#include "include/ir/IR.h" +#include "ir/IR.h" #include diff --git a/src/ir/Context.cpp b/src/ir/Context.cpp index d0f70e99..91342c84 100644 --- a/src/ir/Context.cpp +++ b/src/ir/Context.cpp @@ -1,5 +1,5 @@ // 管理基础类型、整型常量池和临时名生成。 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/Function.cpp b/src/ir/Function.cpp index da40fa6a..d94a3b3f 100644 --- a/src/ir/Function.cpp +++ b/src/ir/Function.cpp @@ -1,7 +1,7 @@ // IR Function: // - 保存参数列表、基本块列表 // - 记录函数属性/元信息(按需要扩展) -#include "include/ir/IR.h" +#include "ir/IR.h" namespace ir { diff --git a/src/ir/GlobalValue.cpp b/src/ir/GlobalValue.cpp index a7cd2791..adb45479 100644 --- a/src/ir/GlobalValue.cpp +++ b/src/ir/GlobalValue.cpp @@ -1,7 +1,7 @@ // GlobalValue 占位实现: // - 具体的全局初始化器、打印和链接语义需要自行补全 -#include "../../include/ir/IR.h" +#include "ir/IR.h" namespace ir { diff --git a/src/ir/IRBuilder.cpp b/src/ir/IRBuilder.cpp index 75eba359..e3994a79 100644 --- a/src/ir/IRBuilder.cpp +++ b/src/ir/IRBuilder.cpp @@ -2,11 +2,11 @@ // - 管理插入点(当前基本块/位置) // - 提供创建各类指令的便捷接口,降低 IRGen 复杂度 -#include "include/ir/IR.h" +#include "ir/IR.h" #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace ir { IRBuilder::IRBuilder(Context& ctx, BasicBlock* bb) diff --git a/src/ir/IRPrinter.cpp b/src/ir/IRPrinter.cpp index 24a2f3c9..41804221 100644 --- a/src/ir/IRPrinter.cpp +++ b/src/ir/IRPrinter.cpp @@ -2,7 +2,7 @@ // - 将 IR 打印为 .ll 风格的文本 // - 支撑调试与测试对比(diff) -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include @@ -12,7 +12,7 @@ #include #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace ir { diff --git a/src/ir/Instruction.cpp b/src/ir/Instruction.cpp index 541bf93f..be13b535 100644 --- a/src/ir/Instruction.cpp +++ b/src/ir/Instruction.cpp @@ -1,11 +1,11 @@ // IR 指令体系: // - 二元运算/比较、load/store、call、br/condbr、ret、phi、alloca 等 // - 指令操作数与结果类型管理,支持打印与优化 -#include "include/ir/IR.h" +#include "ir/IR.h" #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace ir { User::User(std::shared_ptr ty, std::string name) diff --git a/src/ir/Module.cpp b/src/ir/Module.cpp index 6a2a9e4f..fb8fd8ba 100644 --- a/src/ir/Module.cpp +++ b/src/ir/Module.cpp @@ -1,6 +1,6 @@ // 保存函数列表并提供模块级上下文访问。 -#include "include/ir/IR.h" +#include "ir/IR.h" namespace ir { diff --git a/src/ir/Type.cpp b/src/ir/Type.cpp index 3ed2400d..ea64020d 100644 --- a/src/ir/Type.cpp +++ b/src/ir/Type.cpp @@ -1,5 +1,5 @@ // 当前支持 void、i32、float 及其指针类型。 -#include "include/ir/IR.h" +#include "ir/IR.h" namespace ir { diff --git a/src/ir/Value.cpp b/src/ir/Value.cpp index e2855c10..b002b514 100644 --- a/src/ir/Value.cpp +++ b/src/ir/Value.cpp @@ -1,7 +1,7 @@ // SSA 值体系抽象: // - 常量、参数、指令结果等统一为 Value // - 提供类型信息与使用/被使用关系(按需要实现) -#include "include/ir/IR.h" +#include "ir/IR.h" #include diff --git a/src/ir/analysis/DominatorTree.cpp b/src/ir/analysis/DominatorTree.cpp index 30f66d91..a2301727 100644 --- a/src/ir/analysis/DominatorTree.cpp +++ b/src/ir/analysis/DominatorTree.cpp @@ -1,4 +1,4 @@ -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/CFGSimplify.cpp b/src/ir/passes/CFGSimplify.cpp index d4359e0c..76fbc24c 100644 --- a/src/ir/passes/CFGSimplify.cpp +++ b/src/ir/passes/CFGSimplify.cpp @@ -2,7 +2,7 @@ // - 删除不可达块、合并空块、简化分支等 // - 改善 IR 结构,便于后续优化与后端生成 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/CSE.cpp b/src/ir/passes/CSE.cpp index dc0ccc1d..1b4c67c6 100644 --- a/src/ir/passes/CSE.cpp +++ b/src/ir/passes/CSE.cpp @@ -7,7 +7,7 @@ // 3. 删除重复的表达式计算 // 4. 注意处理 phi 函数和控制流汇合点 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/ConstFold.cpp b/src/ir/passes/ConstFold.cpp index 02568df6..23343d72 100644 --- a/src/ir/passes/ConstFold.cpp +++ b/src/ir/passes/ConstFold.cpp @@ -2,7 +2,7 @@ // - 折叠可判定的常量表达式 // - 简化常量控制流分支(按实现范围裁剪) -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/ConstProp.cpp b/src/ir/passes/ConstProp.cpp index c1a18acb..36704c7e 100644 --- a/src/ir/passes/ConstProp.cpp +++ b/src/ir/passes/ConstProp.cpp @@ -4,7 +4,7 @@ // - 简化冗余 PHI 节点(所有入边都是同一个值) // - 常与 ConstFold、DCE、CFGSimplify 迭代配合使用 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/DCE.cpp b/src/ir/passes/DCE.cpp index 7684d5fc..e1dcd116 100644 --- a/src/ir/passes/DCE.cpp +++ b/src/ir/passes/DCE.cpp @@ -4,7 +4,7 @@ // - 通常与 CFG 简化配合使用 // - 采用"标记 + 清扫"思路 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/LICM.cpp b/src/ir/passes/LICM.cpp index 5d8e5073..9e5aea64 100644 --- a/src/ir/passes/LICM.cpp +++ b/src/ir/passes/LICM.cpp @@ -1,4 +1,4 @@ -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/Mem2Reg.cpp b/src/ir/passes/Mem2Reg.cpp index d5d05b5b..c004ba63 100644 --- a/src/ir/passes/Mem2Reg.cpp +++ b/src/ir/passes/Mem2Reg.cpp @@ -2,7 +2,7 @@ // - 将局部变量的 alloca/load/store 提升为 SSA 形式 // - 使用标准的支配边界 + PHI 节点插入算法 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/ir/passes/PassManager.cpp b/src/ir/passes/PassManager.cpp index 1e0d4851..5e54191c 100644 --- a/src/ir/passes/PassManager.cpp +++ b/src/ir/passes/PassManager.cpp @@ -1,6 +1,6 @@ // IR Pass 管理骨架。 -#include "include/ir/IR.h" +#include "ir/IR.h" #include #include diff --git a/src/irgen/IRGenDecl.cpp b/src/irgen/IRGenDecl.cpp index 662cee8b..3fa452e7 100644 --- a/src/irgen/IRGenDecl.cpp +++ b/src/irgen/IRGenDecl.cpp @@ -1,12 +1,12 @@ -#include "include/irgen/IRGen.h" +#include "irgen/IRGen.h" #include #include #include #include "SysYParser.h" -#include "include/ir/IR.h" -#include "include/utils/Log.h" +#include "ir/IR.h" +#include "utils/Log.h" namespace { diff --git a/src/irgen/IRGenDriver.cpp b/src/irgen/IRGenDriver.cpp index 98203c26..ff944126 100644 --- a/src/irgen/IRGenDriver.cpp +++ b/src/irgen/IRGenDriver.cpp @@ -1,10 +1,10 @@ -#include "include/irgen/IRGen.h" +#include "irgen/IRGen.h" #include #include "SysYParser.h" -#include "include/ir/IR.h" -#include "include/utils/Log.h" +#include "ir/IR.h" +#include "utils/Log.h" std::unique_ptr GenerateIR(SysYParser::CompUnitContext& tree, const SemanticContext& sema) { diff --git a/src/irgen/IRGenExp.cpp b/src/irgen/IRGenExp.cpp index f51b0403..8c1c8043 100644 --- a/src/irgen/IRGenExp.cpp +++ b/src/irgen/IRGenExp.cpp @@ -1,11 +1,11 @@ -#include "include/irgen/IRGen.h" +#include "irgen/IRGen.h" #include #include #include "SysYParser.h" -#include "include/ir/IR.h" -#include "include/utils/Log.h" +#include "ir/IR.h" +#include "utils/Log.h" namespace { diff --git a/src/irgen/IRGenFunc.cpp b/src/irgen/IRGenFunc.cpp index 8d85de6a..3401c50c 100644 --- a/src/irgen/IRGenFunc.cpp +++ b/src/irgen/IRGenFunc.cpp @@ -1,11 +1,11 @@ -#include "include/irgen/IRGen.h" +#include "irgen/IRGen.h" #include #include #include "SysYParser.h" -#include "include/ir/IR.h" -#include "include/utils/Log.h" +#include "ir/IR.h" +#include "utils/Log.h" namespace { diff --git a/src/irgen/IRGenStmt.cpp b/src/irgen/IRGenStmt.cpp index 5f3999ce..fe336594 100644 --- a/src/irgen/IRGenStmt.cpp +++ b/src/irgen/IRGenStmt.cpp @@ -1,10 +1,10 @@ -#include "include/irgen/IRGen.h" +#include "irgen/IRGen.h" #include #include "SysYParser.h" -#include "include/ir/IR.h" -#include "include/utils/Log.h" +#include "ir/IR.h" +#include "utils/Log.h" std::string IRGenImpl::NextBlockName(const std::string& prefix) { return prefix + std::to_string(++block_index_); diff --git a/src/main.cpp b/src/main.cpp index cfa6c005..a845c880 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,14 +4,15 @@ #include #include -#include "src/frontend/AntlrDriver.h" -#include "src/frontend/SyntaxTreePrinter.h" +#include "frontend/AntlrDriver.h" +#include "frontend/SyntaxTreePrinter.h" #if !COMPILER_PARSE_ONLY -#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" +#include "ir/IR.h" +#include "ir/passes/PassManager.cpp" +#include "irgen/IRGen.h" +#include "mir/MIR.h" +#include "sem/Sema.h" #endif -#include "include/utils/CLI.h" -#include "include/utils/Log.h" +#include "utils/CLI.h" +#include "utils/Log.h" +#include "utils/Log.h" diff --git a/src/mir/AsmPrinter.cpp b/src/mir/AsmPrinter.cpp index e3206919..41479843 100644 --- a/src/mir/AsmPrinter.cpp +++ b/src/mir/AsmPrinter.cpp @@ -1,10 +1,10 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include #include #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace mir { diff --git a/src/mir/FrameLowering.cpp b/src/mir/FrameLowering.cpp index b8affdfa..34422b00 100644 --- a/src/mir/FrameLowering.cpp +++ b/src/mir/FrameLowering.cpp @@ -1,9 +1,9 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace mir { diff --git a/src/mir/Lowering.cpp b/src/mir/Lowering.cpp index e52d6cf0..7d9fc63e 100644 --- a/src/mir/Lowering.cpp +++ b/src/mir/Lowering.cpp @@ -1,12 +1,12 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include #include #include #include -#include "include/ir/IR.h" -#include "include/utils/Log.h" +#include "ir/IR.h" +#include "utils/Log.h" namespace mir { diff --git a/src/mir/MIRBasicBlock.cpp b/src/mir/MIRBasicBlock.cpp index 85fa2e6c..8ae7b02d 100644 --- a/src/mir/MIRBasicBlock.cpp +++ b/src/mir/MIRBasicBlock.cpp @@ -1,4 +1,4 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include diff --git a/src/mir/MIRContext.cpp b/src/mir/MIRContext.cpp index d794bff0..30c75c8c 100644 --- a/src/mir/MIRContext.cpp +++ b/src/mir/MIRContext.cpp @@ -1,4 +1,4 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" namespace mir { diff --git a/src/mir/MIRFunction.cpp b/src/mir/MIRFunction.cpp index 3b8a0ca5..c0fb0ff4 100644 --- a/src/mir/MIRFunction.cpp +++ b/src/mir/MIRFunction.cpp @@ -1,9 +1,9 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace mir { diff --git a/src/mir/MIRInstr.cpp b/src/mir/MIRInstr.cpp index f57937fa..b611e38a 100644 --- a/src/mir/MIRInstr.cpp +++ b/src/mir/MIRInstr.cpp @@ -1,4 +1,4 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include diff --git a/src/mir/RegAlloc.cpp b/src/mir/RegAlloc.cpp index e24269c6..ba086fe1 100644 --- a/src/mir/RegAlloc.cpp +++ b/src/mir/RegAlloc.cpp @@ -1,4 +1,4 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include #include @@ -7,7 +7,7 @@ #include #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace mir { diff --git a/src/mir/Register.cpp b/src/mir/Register.cpp index b47126fd..73c1a7f3 100644 --- a/src/mir/Register.cpp +++ b/src/mir/Register.cpp @@ -1,8 +1,8 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace mir { diff --git a/src/mir/passes/Peephole.cpp b/src/mir/passes/Peephole.cpp index 7b005e2c..e59ea22f 100644 --- a/src/mir/passes/Peephole.cpp +++ b/src/mir/passes/Peephole.cpp @@ -1,8 +1,8 @@ -#include "include/mir/MIR.h" +#include "mir/MIR.h" #include -#include "include/utils/Log.h" +#include "utils/Log.h" namespace mir { diff --git a/src/sem/Sema.cpp b/src/sem/Sema.cpp index a5a885ce..0c30422e 100644 --- a/src/sem/Sema.cpp +++ b/src/sem/Sema.cpp @@ -1,4 +1,4 @@ -#include "include/sem/Sema.h" +#include "sem/Sema.h" #include #include @@ -9,8 +9,8 @@ #include #include "SysYBaseVisitor.h" -#include "include/sem/SymbolTable.h" -#include "include/utils/Log.h" +#include "sem/SymbolTable.h" +#include "utils/Log.h" namespace { diff --git a/src/sem/SymbolTable.cpp b/src/sem/SymbolTable.cpp index 65fd3d41..6fe65b25 100644 --- a/src/sem/SymbolTable.cpp +++ b/src/sem/SymbolTable.cpp @@ -1,6 +1,6 @@ // 维护局部变量声明的注册与查找。 -#include "include/sem/SymbolTable.h" +#include "sem/SymbolTable.h" void SymbolTable::EnterScope() { scopes_.emplace_back(); } diff --git a/src/utils/CLI.cpp b/src/utils/CLI.cpp index 3bb60cfd..3a2e42ad 100644 --- a/src/utils/CLI.cpp +++ b/src/utils/CLI.cpp @@ -2,13 +2,13 @@ // compiler -S -o testcase.s testcase.sy // compiler -S -o testcase.s testcase.sy -O1 -#include "../include/utils/CLI.h" +#include "utils/CLI.h" #include #include #include -#include "../include/utils/Log.h" +#include "utils/Log.h" CLIOptions ParseCLI(int argc, char** argv) { CLIOptions opt; diff --git a/src/utils/Log.cpp b/src/utils/Log.cpp index 1cfc404d..e540ba88 100644 --- a/src/utils/Log.cpp +++ b/src/utils/Log.cpp @@ -1,6 +1,6 @@ // 格式化错误并统一打印异常与帮助信息。 -#include "../include/utils/Log.h" +#include "utils/Log.h" #include #include