- 添加tree_dump库作为依赖项到ast模块 - 将ast_dump.h中的转储上下文结构替换为tree_dump.h中的统一实现 - 更新scc_ast_block_item_vec_t类型定义,支持stmt或decl的泛型指针 - 移除ast_dump.c中重复的缩进和上下文管理代码,使用tree_dump提供的功能 - 修改dump函数参数类型从scc_ast_dump_ctx_t为scc_tree_dump_ctx_t - 在libs目录下新增tree_dump库,包含完整的树形结构转储功能
21 lines
451 B
C
21 lines
451 B
C
/**
|
|
* @file ast_dump.h
|
|
* @brief AST dump 工具,支持多种输出格式(插件化设计)
|
|
*/
|
|
|
|
#ifndef __SCC_AST_DUMP_H__
|
|
#define __SCC_AST_DUMP_H__
|
|
|
|
#include "ast_def.h"
|
|
#include <tree_dump.h>
|
|
|
|
/**
|
|
* @brief 以指定格式 dump AST
|
|
*
|
|
* @param node AST 节点(可以是任意类型的节点)
|
|
* @param ctx dump 上下文
|
|
*/
|
|
void scc_ast_dump_node(scc_tree_dump_ctx_t *ctx, const scc_ast_node_t *node);
|
|
|
|
#endif /* __SCC_AST_DUMP_H__ */
|