stage1 重构语义分析 ast2ir ir部分
This commit is contained in:
@@ -4,21 +4,13 @@
|
||||
#include "spl_ir.h"
|
||||
#include "spl_sema.h"
|
||||
|
||||
/* 全局 var/const 的 def → gdata 向量中的 value 节点索引 */
|
||||
typedef struct {
|
||||
spl_def_id_t def_id;
|
||||
usize gdata_idx;
|
||||
} spl_ast2ir_gref_t;
|
||||
|
||||
typedef struct {
|
||||
const spl_sema_t *sema;
|
||||
spl_ir_t ir;
|
||||
VEC(char *) owned_names; /* 本模块 malloc 的函数名,drop 时释放 */
|
||||
VEC(spl_ast2ir_gref_t) gdata_ref; /* def_id → gdata value 节点索引 */
|
||||
spl_ir_builder_t *ir;
|
||||
int err_count;
|
||||
} spl_ast2ir_t;
|
||||
|
||||
void spl_ast2ir_init(spl_ast2ir_t *ast2ir, const spl_sema_t *sema);
|
||||
void spl_ast2ir_init(spl_ast2ir_t *ast2ir, spl_ir_builder_t *ir, const spl_sema_t *sema);
|
||||
void spl_ast2ir_drop(spl_ast2ir_t *ast2ir);
|
||||
|
||||
void spl_ast2ir_run(spl_ast2ir_t *ast2ir);
|
||||
|
||||
Reference in New Issue
Block a user