refactor(ast2ir): 重构ABI类型系统并修复union结构问题

- 将scc_ast_def.h中的attr_of从union改为struct以修复结构定义问题
- 添加type_abi依赖到ast2ir模块的cbuild.toml配置文件中
- 重命名scc_ast2ir.h中的abi字段为type_abi,并更新相关初始化函数签名
- 移除废弃的scc_abi_type.h和相关平台ABI头文件
- 添加辅助函数is_variadic_marker和fixed_param_count用于处理可变参数
- 添加数组和聚合类型初始化的辅助函数
This commit is contained in:
zzy
2026-06-01 12:14:13 +08:00
parent 8b817da3b6
commit 31d7e91ef1
45 changed files with 1918 additions and 1551 deletions

View File

@@ -21,10 +21,14 @@ typedef struct scc_lexer {
scc_lexer_tok_ring_t ring;
int ring_ref_count;
int jump_macro;
int max_token_len; /**< 最大 token 长度, 0=不限制 */
} scc_lexer_t;
void scc_lexer_init(scc_lexer_t *lexer, scc_sstream_ring_t *stream_ref);
/** @brief 设置最大 token 长度限制, 超过时报错。0=不限制(默认) */
void scc_lexer_set_max_token_len(scc_lexer_t *lexer, int max_len);
/**
* @brief 获取原始token
* @param[in] lexer 词法分析器实例