#ifndef RZ_PROGRAM_H #define RZ_PROGRAM_H #include "commons.h" #include "opcodes.h" struct value; typedef struct { size_t size; size_t cap; Opcode* ops; param_t* params; struct { size_t size; size_t cap; struct value** data; } values; } program_t; void program_init(program_t* program); void program_free(program_t* program); size_t program_push_instr(program_t* program, Opcode op, param_t param); size_t program_push_new_value(program_t* program, struct value* value); size_t program_str(program_t* program, char* buffer, size_t size); #endif