aboutsummaryrefslogtreecommitdiff
path: root/include/program.h
blob: 6135726e42dbf9c62128fcb3cded23c0ab30f998 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef TSL_PROGRAM_H
#define TSL_PROGRAM_H

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

typedef struct {
    TslBuffer /*TslBytecode*/ function_bytecode_list;
    TslHashMap variables;
} TslProgram;

typedef enum {
    TSL_PROGRAM_RESULT_ERR,
    TSL_PROGRAM_RESULT_OK
} TslProgramResult;

void tsl_program_init(TslProgram *self);
void tsl_program_deinit(TslProgram *self);

TslProgramResult tsl_program_run(TslProgram *self);

#endif /* TSL_PROGRAM_H */