CBlueUI
C++ 跨平台跨框架的数据可视化工具
|
类 | |
struct | syntax_tree_node |
struct | syntax_info |
struct | syntax_param_node |
语法参数链表 更多... | |
宏定义 | |
#define | AST_EXP |
语法结构树 | |
#define | INIT_ASTOP_4(op, a, b, c, d) |
#define | IS_ASTOP_4(op, a, b, c, d) (op).ch[0] == (char)a && (op).ch[1] == (char)b && (op).ch[2] == (char)c && (op).ch[3] == (char)d |
类型定义 | |
typedef struct syntax_tree_node | syntax_tree_node |
typedef struct syntax_info | syntax_info |
函数 | |
int | syntax_tree_insert (syntax_tree_node *entry, syntax_tree_node *parent, syntax_tree_node *prevSlib) |
插入语法节点 | |
int | syntax_tree_insert_last (syntax_tree_node *entry, syntax_tree_node *parent) |
插入到最后一个子节点 | |
void | syntax_tree_delete (syntax_tree_node *entry) |
删除节点 | |
void | syntax_tree_print (syntax_tree_node *ast, int indent) |
打印层级结构 | |
void | syntax_param_insert (syntax_param_node *entry, syntax_param_node *prev, syntax_param_node *next) |
插入到参数列表 | |
void | syntax_param_add (syntax_param_node *entry, syntax_param_node *head) |
插入到参数列表最后 | |
void | syntax_param_list_free (syntax_param_node *head) |
释放链表 | |
void | insert_param_to_ast (syntax_param_node *head, syntax_tree_node *parent) |
将参数列表转换为树结构 | |
void AST_EXP | parse_syntax_common (syntax_info *out_syntax, const char *src_txt, bool is_only_lex=false) |
解析自研语法格式 | |
#define AST_EXP |
语法结构树
#define INIT_ASTOP_4 | ( | op, | |
a, | |||
b, | |||
c, | |||
d | |||
) |
#define IS_ASTOP_4 | ( | op, | |
a, | |||
b, | |||
c, | |||
d | |||
) | (op).ch[0] == (char)a && (op).ch[1] == (char)b && (op).ch[2] == (char)c && (op).ch[3] == (char)d |
typedef struct syntax_info syntax_info |
typedef struct syntax_tree_node syntax_tree_node |
void insert_param_to_ast | ( | syntax_param_node * | head, |
syntax_tree_node * | parent | ||
) |
将参数列表转换为树结构
void AST_EXP parse_syntax_common | ( | syntax_info * | out_syntax, |
const char * | src_txt, | ||
bool | is_only_lex = false |
||
) |
解析自研语法格式
void syntax_param_add | ( | syntax_param_node * | entry, |
syntax_param_node * | head | ||
) |
插入到参数列表最后
entry | 当前节点 |
head | 链表头 |
void syntax_param_insert | ( | syntax_param_node * | entry, |
syntax_param_node * | prev, | ||
syntax_param_node * | next | ||
) |
插入到参数列表
entry | 当前节点 |
prev | 前向指针 |
next | 后继指针 |
void syntax_param_list_free | ( | syntax_param_node * | head | ) |
释放链表
void syntax_tree_delete | ( | syntax_tree_node * | entry | ) |
删除节点
int syntax_tree_insert | ( | syntax_tree_node * | entry, |
syntax_tree_node * | parent, | ||
syntax_tree_node * | prevSlib | ||
) |
插入语法节点
entry | 待插入节点 |
parent | 父节点 |
prevSlib | 前一个兄弟节点 |
int syntax_tree_insert_last | ( | syntax_tree_node * | entry, |
syntax_tree_node * | parent | ||
) |
插入到最后一个子节点
entry | 待插入节点 |
parent | 父节点 |
void syntax_tree_print | ( | syntax_tree_node * | ast, |
int | indent | ||
) |
打印层级结构
ast | 当前节点 |
indent | 缩进等级 |