feat: add code style rules
This commit is contained in:
+58
-57
@@ -1,82 +1,83 @@
|
||||
#include <compiler/fzl_debug.h>
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
size_t print_level(char *buf, int level)
|
||||
{
|
||||
int lvl = 0;
|
||||
while (lvl < level)
|
||||
{
|
||||
buf[lvl] = '-';
|
||||
lvl++;
|
||||
}
|
||||
int lvl = 0;
|
||||
while (lvl < level)
|
||||
{
|
||||
buf[lvl] = '-';
|
||||
lvl++;
|
||||
}
|
||||
|
||||
buf[lvl] = '>';
|
||||
return strlen(buf);
|
||||
buf[lvl] = '>';
|
||||
return strlen(buf);
|
||||
}
|
||||
|
||||
void print_node(fzl_node_t *node, int level)
|
||||
{
|
||||
char levelbuf[32];
|
||||
char printbuf[256];
|
||||
memset(levelbuf, 0, sizeof(levelbuf));
|
||||
memset(printbuf, 0, sizeof(printbuf));
|
||||
char levelbuf[32];
|
||||
char printbuf[256];
|
||||
memset(levelbuf, 0, sizeof(levelbuf));
|
||||
memset(printbuf, 0, sizeof(printbuf));
|
||||
|
||||
if (!node) return;
|
||||
|
||||
size_t lvllen = print_level(levelbuf, level);
|
||||
strcpy(printbuf, levelbuf);
|
||||
if (!node)
|
||||
return;
|
||||
|
||||
switch (node->type)
|
||||
{
|
||||
case FZL_NODETYPE_CALL:
|
||||
if (node->list.entry_count > 0)
|
||||
{
|
||||
printf("%s Call fn '%s' with args:\n", levelbuf, (char*)node->token->value);
|
||||
for (size_t i = 0; i < node->list.entry_count; i++)
|
||||
print_node(node->list.entries[i], level + 1);
|
||||
}
|
||||
else printf("%s Call fn '%s' w/o args\n", levelbuf, (char*)node->token->value);
|
||||
break;
|
||||
size_t lvllen = print_level(levelbuf, level);
|
||||
strcpy(printbuf, levelbuf);
|
||||
|
||||
case FZL_NODETYPE_LITERAL:
|
||||
printf("%s Literal '%s'\n",
|
||||
levelbuf,
|
||||
(char*)node->token->value);
|
||||
break;
|
||||
switch (node->type)
|
||||
{
|
||||
case FZL_NODETYPE_CALL:
|
||||
if (node->list.entry_count > 0)
|
||||
{
|
||||
printf("%s Call fn '%s' with args:\n", levelbuf,
|
||||
(char *)node->token->value);
|
||||
for (size_t i = 0; i < node->list.entry_count; i++)
|
||||
print_node(node->list.entries[i], level + 1);
|
||||
}
|
||||
else
|
||||
printf("%s Call fn '%s' w/o args\n", levelbuf,
|
||||
(char *)node->token->value);
|
||||
break;
|
||||
|
||||
case FZL_NODETYPE_BLOCK:
|
||||
printf("%s Block: ", levelbuf);
|
||||
case FZL_NODETYPE_LITERAL:
|
||||
printf("%s Literal '%s'\n", levelbuf, (char *)node->token->value);
|
||||
break;
|
||||
|
||||
if (node->list.entry_count < 1)
|
||||
{
|
||||
printf("<empty>\n");
|
||||
break;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
for (size_t i = 0; i < node->list.entry_count; i++)
|
||||
print_node(node->list.entries[i], level + 1);
|
||||
case FZL_NODETYPE_BLOCK:
|
||||
printf("%s Block: ", levelbuf);
|
||||
|
||||
break;
|
||||
if (node->list.entry_count < 1)
|
||||
{
|
||||
printf("<empty>\n");
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
printf("%s Secure node\n", levelbuf);
|
||||
}
|
||||
printf("\n");
|
||||
for (size_t i = 0; i < node->list.entry_count; i++)
|
||||
print_node(node->list.entries[i], level + 1);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("%s Secure node\n", levelbuf);
|
||||
}
|
||||
}
|
||||
|
||||
void fzl_debug_print_ast(fzl_node_t *root)
|
||||
{
|
||||
printf("> AST tree:\n");
|
||||
printf("> AST tree:\n");
|
||||
|
||||
fzl_node_t *curr = root;
|
||||
while (curr != NULL)
|
||||
{
|
||||
print_node(curr, 2);
|
||||
curr = curr->next;
|
||||
}
|
||||
fzl_node_t *curr = root;
|
||||
while (curr != NULL)
|
||||
{
|
||||
print_node(curr, 2);
|
||||
curr = curr->next;
|
||||
}
|
||||
|
||||
printf("-> FINISH\n");
|
||||
printf("-> FINISH\n");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user