feat(pproc): 改进宏处理器中的标识符识别逻辑

修复了宏处理器中对标识符类型的检查方式,使用更准确的子类型判断函数,
确保关键字也能被正确处理为宏名或参数名。同时添加了相关的单元测试用例。

BREAKING CHANGE: 修改了token类型的检查方法
This commit is contained in:
zzy
2026-03-04 17:35:54 +08:00
parent 4015acd866
commit a805814d3f
7 changed files with 42 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
// IMPLEMENT
#include <printf/printf.c>
#include <scc_printf/printf.c>
#include <scc_core_impl.h>
#define __SCC_LOG_IMPL_IMPORT_SRC__
@@ -16,15 +16,7 @@ scc_file_t scc_fopen(const char *path, scc_fmode_t mode) {
void scc_fclose(scc_file_t file) { scc_pal_fclose(file); }
usize scc_fread(scc_file_t file, void *buffer, usize size) {
return scc_pal_fread(file, buffer, size);
}
usize scc_fwrite(scc_file_t file, const void *buffer, usize size) {
return scc_pal_fwrite(file, buffer, size);
}
usize scc_fsize(scc_pal_file_t file) {
usize scc_fsize(scc_file_t file) {
if (scc_pal_fseek(file, 0, SCC_SEEK_PAL_END) != 0) {
LOG_ERROR("fseek failed");
return 0;
@@ -37,6 +29,14 @@ usize scc_fsize(scc_pal_file_t file) {
return fsize;
}
usize scc_fread(scc_file_t file, void *buffer, usize size) {
return scc_pal_fread(file, buffer, size);
}
usize scc_fwrite(scc_file_t file, const void *buffer, usize size) {
return scc_pal_fwrite(file, buffer, size);
}
cbool scc_fexists(const char *path) {
scc_file_t fp = scc_fopen(path, SCC_FILE_READ);
if (!fp)