roza/lib/mod.h

32 lines
531 B
C
Raw Normal View History

2023-12-09 17:24:41 +00:00
#ifndef RZ_MOD_H
#define RZ_MOD_H
#include "commons.h"
#include "opcodes.h"
#include "value.h"
typedef struct {
struct {
size_t size;
size_t cap;
Opcode* ops;
param_t* params;
} program;
struct {
size_t size;
size_t cap;
value_t** data;
} values;
} mod_t;
void mod_init(mod_t* mod);
void mod_free(mod_t* mod);
2023-12-16 18:12:20 +00:00
size_t mod_push_instr(mod_t* mod, Opcode op, param_t param);
2023-12-09 17:24:41 +00:00
size_t mod_str(mod_t* mod, char* buffer, size_t size);
size_t mod_push_new_value(mod_t* mod, value_t* value);
#endif