wip: working on analyzer

- Feat: add assigns analysis
- Fix: change node check condition in binary math analysis
- Feat: add unary and binary conditions analysis
- Fix: add type passtrough in declaration analysis
- Feat: add unary math analysis
This commit is contained in:
samsonium
2026-10-27 12:21:49 +03:00
parent 25991c6f15
commit a263b6206f
9 changed files with 277 additions and 6 deletions
+6 -5
View File
@@ -11,11 +11,12 @@ fzl_an_res_t analyze_binmath(fzl_analyzer_t *analyzer, fzl_node_t *bin_node)
if (!analyzer)
return (fzl_an_res_t){.error = true};
if (!bin_node || bin_node->type != FZL_NODETYPE_ADD ||
bin_node->type != FZL_NODETYPE_SUB ||
bin_node->type != FZL_NODETYPE_MUL ||
bin_node->type != FZL_NODETYPE_DIV ||
bin_node->type != FZL_NODETYPE_POW || bin_node->type != FZL_NODETYPE_MOD)
if (!bin_node || (bin_node->type != FZL_NODETYPE_ADD &&
bin_node->type != FZL_NODETYPE_SUB &&
bin_node->type != FZL_NODETYPE_MUL &&
bin_node->type != FZL_NODETYPE_DIV &&
bin_node->type != FZL_NODETYPE_POW &&
bin_node->type != FZL_NODETYPE_MOD))
{
an_push_error(analyzer, NULL, "node is not typeof binary math");
return (fzl_an_res_t){.error = true};