|
|
4e2176b7f0
|
feat(compiler): 添加对裸机环境的支持并改进构建配置
- 更新README描述为C语言裸机环境的自举编译器
- 修改justfile中的构建命令,添加--dev参数并将输出文件名从scc.exe改为scc
- 在AST定义中添加SCC_AST_UNKNOWN节点类型
- 修复位置日志格式化中的类型错误
- 实现标准输出流支持,当输出文件为'-'时输出到控制台
- 支持基于环境变量LANG的语言本地化选择
fix(lexer): 改进标记打印功能
- 修复换行符的显示,将实际换行符显示为"\n"
- 改进文件输出逻辑,支持标准输出流
refactor(build): 更新cbuild工具的包含路径
- 将包含路径从"scc_libs"更改为"scc_include"
test: 添加简单的包含测试用例
- 新增测试文件tests/simple/12_include.c用于测试头文件包含功能
|
2026-02-26 16:07:19 +08:00 |
|
|
|
f56b13da2c
|
refactor(format): 移除SCF格式相关文件
移除了libs/format目录下的所有文件,包括:
- cbuild.toml构建配置文件
- include/scf.h头文件
- include/scf_impl.h实现头文件
- src/scf.c源文件
- tests/test_scf.c测试文件
- tests/test_scf_x64.c x64架构测试文件
这些文件包含了SCF(scc format)格式的完整实现,但现在不再需要。
feat(lexer): 添加布尔字面量数字生成函数
在lexer工具头文件中添加了两个内联函数用于生成布尔值的数字字面量:
- scc_lexer_gen_number_true: 将token类型设为整数字面量,值为"1"
- scc_lexer_gen_number_false: 将token类型设为整数字面量,值为"0"
refactor(lexer): 改进词法分析器错误处理
- 移除了多余的头文件包含
- 更新错误报告方式,使用SCC_ERROR宏替代LEX_ERROR,提供更准确的错误位置信息
refactor(pproc): 更新预处理器扩展器数据结构
- 将need_rescan字段类型从int改为cbool
- 添加need_parse_defined字段用于控制defined操作符解析
- 更新函数签名以支持defined操作符解析参数
|
2026-02-26 10:25:45 +08:00 |
|
|
|
b4929be6b8
|
refactor(lexer): 重构词法分析器头文件结构并优化缓冲区管理
移除了旧的lexer_stream.c实现,引入新的环形缓冲区机制来替代原有的
动态数组缓冲区。更新了词法分析器的核心数据结构,修改了token获取
相关函数的实现以支持新的缓冲区管理方式。
BREAKING CHANGE: 移除了scc_lexer_stream_t相关的API,替换为基于
环形缓冲区的新接口scc_lexer_to_ring和相关函数。
feat(lexer_token): 添加词法分析结果内存泄漏警告注释
docs: 移除预处理器模块的测试文件和相关配置
|
2026-02-16 21:21:23 +08:00 |
|
|
|
0e7dec202a
|
refactor(lex_parser): 移除旧的词法解析器实现并更新依赖
移除了 libs/lex_parser 目录下的所有头文件和源文件,包括:
- lex_parser.h 和 lex_parser.c 核心解析功能
- 所有测试文件(test_char.c, test_identifier.c, test_number.c,
test_skip_block_comment.c, test_skip_line.c, test_string.c)
更新了 lexer 模块的依赖配置,将 lex_parser 替换为 sstream,
同时更新了 lexer.h 中的相关包含头文件和数据结构定义,
简化了 scc_lexer_t 结构体的字段。
|
2026-02-16 16:56:40 +08:00 |
|