stage1 完成ast 定义sema
This commit is contained in:
26
stage1/spl_dumptree.c
Normal file
26
stage1/spl_dumptree.c
Normal file
@@ -0,0 +1,26 @@
|
||||
/* spl_dumptree.c 可配置的树形打印模块(只用基本 ASCII)*/
|
||||
|
||||
#include "spl_dumptree.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
const spl_dumptree_style_t spl_dumptree_ascii_style = {
|
||||
"| ",
|
||||
"|-",
|
||||
"`-",
|
||||
" ",
|
||||
};
|
||||
|
||||
void spl_dumptree_print(const spl_dumptree_style_t *st, const char *prefix, int is_last,
|
||||
const char *fmt, ...) {
|
||||
va_list ap;
|
||||
printf("%s%s ", prefix, is_last ? st->last_branch : st->branch);
|
||||
va_start(ap, fmt);
|
||||
vprintf(fmt, ap);
|
||||
va_end(ap);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void spl_dumptree_child_prefix(const spl_dumptree_style_t *st, const char *prefix, int is_last,
|
||||
char *out, size_t cap) {
|
||||
snprintf(out, cap, "%s%s", prefix, is_last ? st->space : st->vertical);
|
||||
}
|
||||
Reference in New Issue
Block a user