growl/next/main.c
2026-02-08 10:03:56 -03:00

26 lines
536 B
C

#include "core/opcodes.h"
#include <growl.h>
int main(void) {
GrowlVM *vm = growl_vm_init();
GrowlLexer lexer = {0};
lexer.file = stdin;
Growl obj = growl_compile(vm, &lexer);
if (obj != GROWL_NIL) {
GrowlQuotation *quot = growl_unwrap_quotation(obj);
growl_disassemble(vm, quot);
growl_vm_execute(vm, quot);
printf("Stack:");
for (Growl *p = vm->wst; p < vm->sp; p++) {
putchar(' ');
growl_print(*p);
}
putchar('\n');
}
growl_gc_collect(vm);
growl_vm_free(vm);
return 0;
}