aboutsummaryrefslogtreecommitdiff
path: root/include/program.h
blob: cbd9432f02c90ea57d2ed474e3489273783d3284 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef AMAL_PROGRAM_H
#define AMAL_PROGRAM_H

#include "std/buffer.h"
#include "bytecode/bytecode.h"

typedef struct {
    Buffer/*<...>*/ data;
} amal_program;

void amal_program_init(amal_program *self);
void amal_program_deinit(amal_program *self);

CHECK_RESULT int amal_program_append_bytecode(amal_program *self, Bytecode *bytecode);
CHECK_RESULT int amal_program_run(amal_program *self);
CHECK_RESULT int amal_program_save(amal_program *self, const char *filepath);

#endif