diff options
| author | Nakidai <nakidai@disroot.org> | 2025-03-26 20:46:12 +0300 |
|---|---|---|
| committer | Nakidai <nakidai@disroot.org> | 2025-03-26 20:46:12 +0300 |
| commit | 7b94dd5d7f4b8604ed3af6499edde8286d9073c9 (patch) | |
| tree | e92d274315e72d9047033d535cfa71a3de2f93a3 /executor.c | |
| parent | 6fa64679e24b2bef4aee49657df1b2f411b18392 (diff) | |
| download | 3cl-7b94dd5d7f4b8604ed3af6499edde8286d9073c9.tar.gz 3cl-7b94dd5d7f4b8604ed3af6499edde8286d9073c9.zip | |
Make dump more flexible for streams
Diffstat (limited to 'executor.c')
| -rw-r--r-- | executor.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/executor.c b/executor.c index 37cffc6..993870a 100644 --- a/executor.c +++ b/executor.c @@ -47,19 +47,19 @@ static short *get_variable(char name, struct cccl_Variables *scope) return NULL; } -void cccl_dump(void) +void cccl_dump(FILE *f) { - fputs("Globals:\n", stderr); + fputs("Globals:\n", f); for (size_t i = 0; i < 52; ++i) if (globals.used[i]) - fprintf(stderr, " %c=%d\n", getnamebyi(i), globals.buffer[i]); - fputs("Functions:\n", stderr); + fprintf(f, " %c=%d\n", getnamebyi(i), globals.buffer[i]); + fputs("Functions:\n", f); for (size_t i = 0; i < 52; ++i) if (functions[i].body) - fprintf(stderr, " %c, %lu nodes\n", getnamebyi(i), functions[i].length); - fputs("Stack:\n", stderr); + fprintf(f, " %c, %lu nodes\n", getnamebyi(i), functions[i].length); + fputs("Stack:\n", f); for (size_t i = 0; i < stack.length; ++i) - fprintf(stderr, " %d\n", stack.buffer[i]); + fprintf(f, " %d\n", stack.buffer[i]); } enum cccl_ExecutorStatus cccl_execute(struct cccl_Node *code, struct cccl_Variables *scope, size_t depth) @@ -82,7 +82,7 @@ enum cccl_ExecutorStatus cccl_execute(struct cccl_Node *code, struct cccl_Variab for (size_t i = 0; i < 52; ++i) if (scope->used[i]) fprintf(stderr, " %c=%d\n", getnamebyi(i), scope->buffer[i]); - cccl_dump(); + cccl_dump(stderr); } } switch (code->type) |