|
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 | 缩进等级 |