wip: working on analyzer
- Feat: implement return analyzer - Fix: add block return check if inside function
This commit is contained in:
@@ -31,6 +31,11 @@ typedef struct fzl_an_ctx
|
||||
struct fzl_an_ctx *parent;
|
||||
|
||||
fzl_an_ctx_type_t type;
|
||||
|
||||
union
|
||||
{
|
||||
fzl_node_t *fn;
|
||||
};
|
||||
} fzl_an_ctx_t;
|
||||
|
||||
// Analyzer descriptor
|
||||
@@ -73,6 +78,7 @@ fzl_an_res_t analyze_identifier(fzl_analyzer_t *analyzer, fzl_node_t *id);
|
||||
fzl_an_res_t analyze_conditional(fzl_analyzer_t *analyzer, fzl_node_t *cond);
|
||||
fzl_an_res_t analyze_function(fzl_analyzer_t *analyzer, fzl_node_t *fn_node);
|
||||
fzl_an_res_t analyze_block(fzl_analyzer_t *analyzer, fzl_node_t *block_node);
|
||||
fzl_an_res_t analyze_return(fzl_analyzer_t *analyzer, fzl_node_t *ret_node);
|
||||
|
||||
fzl_an_ctx_t *an_nest_ctx(fzl_analyzer_t *analyzer, fzl_an_ctx_type_t type);
|
||||
fzl_an_ctx_t *an_fin_ctx(fzl_analyzer_t *analyzer);
|
||||
|
||||
Reference in New Issue
Block a user