stage1 完成ast 定义sema
This commit is contained in:
31
stage1/spl_dumptree.h
Normal file
31
stage1/spl_dumptree.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/* spl_dumptree.h 可配置的树形打印模块(只用基本 ASCII)*/
|
||||
|
||||
#ifndef __SPL_DUMPTREE_H__
|
||||
#define __SPL_DUMPTREE_H__
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* 可配置的缩进字符串 */
|
||||
typedef struct {
|
||||
const char *vertical; /* "| " */
|
||||
const char *branch; /* "|-" */
|
||||
const char *last_branch; /* "`-" */
|
||||
const char *space; /* " " */
|
||||
} spl_dumptree_style_t;
|
||||
|
||||
/* 默认 ASCII 风格 */
|
||||
extern const spl_dumptree_style_t spl_dumptree_ascii_style;
|
||||
|
||||
/* 打印一行节点标签:prefix + 分支符 + label
|
||||
* prefix 已累积的缩进骨架(不含分支符)
|
||||
* is_last 本节点是否为同级最后一个子节点
|
||||
* fmt printf 风格 label */
|
||||
void spl_dumptree_print(const spl_dumptree_style_t *st, const char *prefix, int is_last,
|
||||
const char *fmt, ...);
|
||||
|
||||
/* 生成子节点的缩进骨架:parent_prefix + (parent_is_last ? space : vertical) */
|
||||
void spl_dumptree_child_prefix(const spl_dumptree_style_t *st, const char *prefix, int is_last,
|
||||
char *out, size_t cap);
|
||||
|
||||
#endif /* __SPL_DUMPTREE_H__ */
|
||||
Reference in New Issue
Block a user