stage2 更多底层函数 stage1 layout正确使用 内置函数重新编写
This commit is contained in:
1 parent
fb0ff9b663
commit
4141e7d574
15 files changed
+2588
-122
No files matched your search
+4
-2
@@ -5,6 +5,7 @@
|
||||
#include "spl_attr.h"
|
||||
#include "spl_diag.h"
|
||||
#include "spl_lang_type.h"
|
||||
#include "spl_layout.h"
|
||||
#include "spl_mpa.h"
|
||||
#include "spl_scope.h"
|
||||
#include "spl_type.h"
|
||||
@@ -21,6 +22,7 @@ struct spl_module_loader {
|
||||
typedef struct {
|
||||
spl_ast_t *ast;
|
||||
spl_lang_type_t *type;
|
||||
spl_layout_t *layout; /* 由 splc0 拥有并解析;sema 仅借用 */
|
||||
spl_scope_t *scope;
|
||||
spl_symbol_t root;
|
||||
spl_attr_t *attr;
|
||||
@@ -32,8 +34,8 @@ typedef struct {
|
||||
spl_diag_t *diag;
|
||||
} spl_sema_t;
|
||||
|
||||
void spl_sema_init(spl_sema_t *sema, spl_ast_t *ast, spl_lang_type_t *type, spl_scope_t *scope,
|
||||
spl_attr_t *attr);
|
||||
void spl_sema_init(spl_sema_t *sema, spl_ast_t *ast, spl_lang_type_t *type,
|
||||
spl_layout_t *layout, spl_scope_t *scope, spl_attr_t *attr);
|
||||
void spl_sema_drop(spl_sema_t *sema);
|
||||
|
||||
void spl_sema_run_module(spl_sema_t *sema, spl_ast_node_ref_t module_ref);
|
||||
|
||||
Reference in new issue
Block a user