2018-04-23 14:46:54 -07:00
|
|
|
#ifndef LIBABACUS_INTERPRETER_H
|
|
|
|
#define LIBABACUS_INTERPRETER_H
|
|
|
|
|
|
|
|
#include "table.h"
|
|
|
|
#include "tree.h"
|
2018-04-24 16:59:53 -07:00
|
|
|
#include "impl.h"
|
2018-05-11 20:36:27 -07:00
|
|
|
#include "libabacus.h"
|
|
|
|
|
|
|
|
struct libab_s;
|
2018-04-23 14:46:54 -07:00
|
|
|
|
|
|
|
struct libab_interpreter_s {
|
2018-05-11 20:36:27 -07:00
|
|
|
struct libab_s* ab;
|
2018-04-23 14:46:54 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct libab_interpreter_s libab_interpreter;
|
|
|
|
|
2018-05-11 20:36:27 -07:00
|
|
|
void libab_interpreter_init(libab_interpreter* intr, struct libab_s* ab);
|
2018-04-23 14:46:54 -07:00
|
|
|
libab_result libab_interpreter_run(libab_interpreter* intr,
|
|
|
|
libab_tree* tree, libab_ref* into);
|
|
|
|
void libab_interpreter_free(libab_interpreter* intr);
|
|
|
|
|
|
|
|
#endif
|