start working on text representation and constants

This commit is contained in:
2026-08-03 21:01:34 +10:00
parent b4cb3aa56e
commit 15709b65a6
19 changed files with 457 additions and 18 deletions

24
src/block.c Normal file
View File

@@ -0,0 +1,24 @@
#include "block.h"
char* gravityBlockToCStr(GravityBlock block) {
StringBuffer buff;
initStringBuff(&buff);
// print block header
sbAppend(&buff, "%s (", block->name);
for (unsigned int i = 0; i < block->numParams; i++) {
if (i < block->numParams - 1) {
sbAppend(&buff, "%s, ", gravityTypeToCStr(block->paramTypes[i]));
} else {
sbAppend(&buff, "%s", gravityTypeToCStr(block->paramTypes[i]));
}
}
sbAppend(&buff, "):\n");
for (unsigned int i = 0; i < block->instructions.count; i++) {
GravityInstruction inst = *get(block->instructions, i);
sbAppend(&buff, " %s\n", gravityInstructionToCStr(inst));
}
return buff.data;
}