Commit Graph

6 Commits

Author SHA1 Message Date
zzy
2de5ae59f5 feat(pproc): 实现C语言预处理器功能并重构项目依赖
- 新增预处理器库(pproc),替代原有的pprocessor模块
- 实现完整的宏定义解析功能,支持对象宏和函数宏
- 添加条件编译指令处理(#if、#ifdef、#ifndef、#else、#elif、#endif)
- 实现宏展开机制,包括嵌套宏和递归宏处理
- 添加宏定义测试用例,覆盖基本功能和复杂场景
- 在cbuild.toml中更新依赖配置,移除parser、ast、ast2ir、ir等未完成模块
- 新增lexer工具函数用于token流处理
- 添加宏定义表管理功能,支持宏的创建、查找、删除操作
- 实现宏参数解析和替换列表处理
2026-02-17 22:47:25 +08:00
zzy
088050c903 feat(argparse): 添加选择类型支持和错误处理优化
添加了 SCC_ARGPARSE_ERR_PNT_DEFAULT 错误类型用于默认操作处理,
实现了 scc_argparse_spec_setup_choices 函数支持枚举选择,
重构了错误处理流程使返回值更加一致。
修复了长选项名称匹配的逻辑错误。

feat(lexer): 添加换行符和注释符号的词法标记

新增 SCC_TOK_ENDLINE 和 SCC_TOK_SHARP 标记类型,
改进词法分析器对换行符和井号的识别处理。

feat(scc_core): 添加常用宏定义

添加 scc_min 和 scc_max 宏定义提供基础数值比较功能。

feat(main): 实现编译器主程序和命令行接口

创建主程序入口实现完整的编译流程,
集成预处理器、词法分析、语法分析和IR生成模块,
添加AST和IR输出功能支持调试查看中间表示。

chore(build): 配置项目构建依赖关系

创建 cbuild.toml 配置文件定义项目包信息和依赖库,
建立编译器各组件库之间的依赖关系管理。
2026-02-13 17:26:50 +08:00
zzy
e22811f2f5 feat(build): 引入新的 Python 构建系统并移除旧 Makefile
新增基于 Python 的构建脚本 `cbuild.py`,支持包管理、依赖解析和模块化编译。
同时添加 `.gitignore` 忽略 `build` 目录,并在 `justfile` 中更新构建命令。
移除了原有的 `lib/Makefile` 和主目录下的相关 make 规则,统一使用新构建系统。
2025-11-20 10:44:59 +08:00
ZZY
8d97fe896c chore: 更新 .gitignore 文件
- 添加 docs 文件夹到忽略列表,以忽略 Doxygen 生成的文件
- 保持原有的忽略规则不变
2025-04-05 23:11:39 +08:00
ZZY
c800b48ca2 refactor(riscv32): 重构 RISC-V 指令定义
- 在 riscv32_def.h 中添加 RV_INSTRUCTIONS 宏,列出所有指令
- 在 riscv32_mcode.c 中使用宏定义指令数组,减少代码重复
- 此重构简化了指令添加和修改的过程,提高了代码可维护性
2025-04-02 15:56:51 +08:00
ZZY
b57f21556a stable 重构文件结构
抽象出Machine Code
2025-04-01 23:27:25 +08:00