feat: implement format strings

This commit is contained in:
samsonium
2026-10-28 17:57:18 +03:00
parent ea28c470d2
commit e11089c90f
11 changed files with 354 additions and 7 deletions
+20 -3
View File
@@ -31,6 +31,26 @@ void print_node(fzl_node_t *node, int level)
switch (node->type)
{
case FZL_NODETYPE_UNARY_MINUS:
printf("%s Unary '-':\n", levelbuf);
print_node(node->unary_op.operand, level + 1);
break;
case FZL_NODETYPE_UNARY_PLUS:
printf("%s Unary '+':\n", levelbuf);
print_node(node->unary_op.operand, level + 1);
break;
case FZL_NODETYPE_BREAK:
printf("%s Break\n", levelbuf);
break;
case FZL_NODETYPE_FMT_STRING:
printf("%s Format string:\n", levelbuf);
for (size_t i = 0; i < node->list.entry_count; i++)
print_node(node->list.entries[i], level + 1);
break;
case FZL_NODETYPE_LOOP:
printf("%s Loop:\n", levelbuf);
printf("-%s Init:\n", levelbuf);
@@ -172,9 +192,6 @@ void print_node(fzl_node_t *node, int level)
case FZL_NODETYPE_IDENTIFIER:
printf("%s Identifier ('%s')\n", levelbuf, (char *)node->token->value);
break;
default:
printf("%s Secure node\n", levelbuf);
}
}