feat(ast2ir): 添加AST到IR转换功能并完善类型ABI支持

- 添加了ast2ir库用于将AST转换为IR中间表示
- 实现了Windows x64 ABI类型定义文件
- 完善了IR库中的类型定义,添加了无符号整数类型和操作符枚举
- 更新了IR转储功能以支持新的节点类型
- 在主程序中集成了AST到IR的转换流程
- 修改了PE目标文件生成功能以修正节区标志
- 更新了向量实现的日志和错误处理机制

fix(ir): 修复IR库中的操作符枚举和类型处理问题

- 修复了IR操作符枚举的命名空间问题,统一使用SCC_IR前缀
- 添加了无符号整数类型的哈希和比较支持
- 修正了常量整数节点的打印函数调用
- 更新了各种IR节点的转储输出格式
- 删除了测试文件中的冗余代码

refactor: 重构项目依赖配置和构建设置

- 启用了ast2ir和ir库的依赖配置
- 添加了def文件到.gitignore中
- 重命名了部分测试文件
This commit is contained in:
zzy
2026-03-15 15:44:50 +08:00
parent 6ebf0c48e3
commit 45c59e0b65
19 changed files with 339 additions and 131 deletions

View File

@@ -9,9 +9,10 @@
#define __SCC_CORE_VEC_H__
#ifndef __SCC_CORE_VEC_USE_STD__
#include "scc_core_log.h"
#include "scc_core_impl.h"
#include "scc_core_type.h"
#define __scc_vec_realloc scc_realloc
#define __scc_vec_free scc_free
#else
@@ -27,7 +28,7 @@ typedef size_t usize;
#define LOG_FATAL(...) \
do { \
printf(__VA_ARGS__); \
exit(1); \
abort(); \
} while (0)
#endif