2018-04-23 14:46:54 -07:00
|
|
|
#ifndef LIBABACUS_INTERPRETER_H
|
|
|
|
#define LIBABACUS_INTERPRETER_H
|
|
|
|
|
|
|
|
#include "table.h"
|
|
|
|
#include "number.h"
|
|
|
|
#include "tree.h"
|
|
|
|
|
|
|
|
struct libab_interpreter_s {
|
2018-04-24 11:32:57 -07:00
|
|
|
libab_ref base_table;
|
2018-04-23 14:46:54 -07:00
|
|
|
libab_number_impl* impl;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct libab_interpreter_s libab_interpreter;
|
|
|
|
|
|
|
|
void libab_interpreter_init(libab_interpreter* intr,
|
2018-04-24 11:32:57 -07:00
|
|
|
libab_ref* table, libab_number_impl* impl);
|
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
|