feat(ast): 添加汇编器模块并改进AST定义和IR转换
- 在README.md中添加asm汇编器模块说明 - 更新ast_def.h中的枚举注释,添加sema相关信息以明确语义分析作用域 - 重命名函数参数param_types为params,使命名更清晰 - 移除call表达式中的_target字段,简化结构 - 为member、identifier等字段添加///< fill by sema注释说明填充时机 - 为jump语句添加_target字段用于语义分析 - 更新所有AST初始化函数,接受位置信息参数以改进错误定位 - 修复alignof表达式的类型应为ALIGN_OF而非SIZE_OF的问题 - 重构ast2ir.h,引入scc_ast2ir_ctx_t上下文结构体统一管理转换状态 - 添加符号表、节点到IR映射等必要的转换上下文信息
This commit is contained in:
@@ -87,6 +87,20 @@ static inline void scc_parse_decl_sema(scc_parser_t *parser,
|
||||
decl);
|
||||
}
|
||||
|
||||
static inline void scc_parse_expr_sema(scc_parser_t *parser,
|
||||
scc_ast_expr_t *expr) {
|
||||
parser->sema_callbacks.on_expr(parser->sema_callbacks.context,
|
||||
expr ? expr->base.type : SCC_AST_UNKNOWN,
|
||||
expr);
|
||||
}
|
||||
|
||||
static inline void scc_parse_stmt_sema(scc_parser_t *parser,
|
||||
scc_ast_stmt_t *stmt) {
|
||||
parser->sema_callbacks.on_stmt(parser->sema_callbacks.context,
|
||||
stmt ? stmt->base.type : SCC_AST_UNKNOWN,
|
||||
stmt);
|
||||
}
|
||||
|
||||
static inline void scc_parse_type_sema(scc_parser_t *parser,
|
||||
scc_ast_type_t *type) {
|
||||
parser->sema_callbacks.on_type(parser->sema_callbacks.context,
|
||||
|
||||
Reference in New Issue
Block a user