安峻邑
|
55d92cda42
|
fix: 补全缺失的头文件目录
- 同步完整的 include 目录 (frontend, ir, irgen, sem, mir, utils)
- 同步必要的 third_party 依赖 (antlr4)
- 同步 .gitignore 和文档
- 修复编译时找不到头文件的问题
|
2 weeks ago |
安峻邑
|
3d7943d3f0
|
Update main.cpp header includes
|
2 weeks ago |
安峻邑
|
dba0d6adc0
|
fix: 修正头文件包含路径为 include/ 前缀以适配评测系统
- 将所有源文件中的头文件包含路径从 'subdir/file.h' 改为 'include/subdir/file.h'
- 适配评测系统将 include 目录内容复制到 /extlibs 的行为
- 使得 #include "include/ir/IR.h" 可以在 -I/extlibs 环境下找到 /extlibs/include/ir/IR.h
|
2 weeks ago |
安峻邑
|
293c28fed4
|
fix: 修正头文件包含路径以适配评测系统
- 将所有头文件包含路径从 'include/subdir/file.h' 改为 'subdir/file.h'
- 修正了相对路径引用,如 '../../include/ir/IR.h' 改为 'ir/IR.h'
- 适配评测系统使用 -I. 或 -Iinclude 的包含路径设置
- 解决了 'file not found' 编译错误
|
2 weeks ago |
安峻邑
|
c4b7c3f9de
|
fix: 解决 ANTLR4 头文件冲突问题
- 将 ANTLR4 运行时库的头文件包含改为 PRIVATE,防止与系统 ANTLR4 库冲突
- 为 frontend 库添加生成的 ANTLR4 文件目录到私有包含路径
- 这解决了评测环境中因同时包含项目和系统 ANTLR4 头文件导致的重复定义错误
|
2 weeks ago |
安峻邑
|
ac4be4ec7a
|
fix: 修复编译问题以支持测评程序直接编译
1. 修改所有include路径为相对于项目根目录
- frontend/ -> src/frontend/
- ir/ -> include/ir/
- irgen/ -> include/irgen/
- sem/ -> include/sem/
- mir/ -> include/mir/
- utils/ -> include/utils/
2. 生成ANTLR代码到src/frontend/目录
- 将SysYLexer/Parser等生成文件放在源码目录
- 移除third_party/antlr4-runtime避免重复定义
3. 添加build.sh和Makefile支持直接编译
4. 修复main.cpp的PassManager调用
|
3 weeks ago |
安峻邑
|
880fd01d51
|
feat: 支持比赛要求的CLI格式 (-S -o -O1)
- 添加 -S 参数生成汇编文件
- 添加 -o 参数指定输出文件路径
- 添加 -O1/-O2/-O3 优化级别支持
- 默认行为:未指定输出模式时默认生成汇编
- 兼容旧格式 (--emit-asm, --emit-ir 等)
|
3 weeks ago |
安峻邑
|
624f9e307f
|
已实现基本标量优化,实现部分寄存器优化
|
3 weeks ago |