fix: fix parser/generator issues

This commit is contained in:
samsonium
2026-11-05 03:46:16 +03:00
parent bd8272abc7
commit 66f31ab865
23 changed files with 264 additions and 1721 deletions
+5 -4
View File
@@ -4,6 +4,8 @@
#include <stdio.h>
#include <string.h>
char alias_typecn[256];
// Type aliasing
gen_res_t gen_alias(fzl_gen_t *gen, fzl_node_t *node)
{
@@ -11,14 +13,13 @@ gen_res_t gen_alias(fzl_gen_t *gen, fzl_node_t *node)
return gen_error;
fzl_type_t type;
char typecn[256];
memset(typecn, 0, sizeof(typecn));
memset(alias_typecn, 0, sizeof(alias_typecn));
bool resolved = gen_resolve_type(gen, node->token, &type, typecn);
bool resolved = gen_resolve_type(gen, node->token, &type, alias_typecn);
if (!resolved)
return gen_error;
ssize_t slot = gen_resolve_extern_type(gen, typecn);
ssize_t slot = gen_resolve_extern_type(gen, alias_typecn);
if (slot == -1)
type_buf.alias_target =
(fzl_extern_type_ref_t){.is_primitive = true, .primitive = type};