#ifndef FZL_VM_H #define FZL_VM_H #include // NOTE: move outside compiler scope to common #include #include // VM descriptor typedef struct { fzl_const_t *consts; size_t consts_count; uint64_t *ops; size_t ops_count; size_t ip; fzl_const_t stack[256]; size_t stack_top; } fzl_vm_t; // Allocate FZL VM fzl_vm_t *fzl_mkvm(const char *filepath); // Load and run code int fzl_vm_run(fzl_vm_t *vm); // Get last VM error message char *fzl_vm_geterror(); // Free VM void fzl_freevm(fzl_vm_t *vm); #endif // FZL_VM_H