Start the interpreter code. Construct a basic scaffold.

This commit is contained in:
2018-04-23 14:46:54 -07:00
parent 43a22d7492
commit 251ce4e66e
3 changed files with 137 additions and 1 deletions

21
include/interpreter.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef LIBABACUS_INTERPRETER_H
#define LIBABACUS_INTERPRETER_H
#include "table.h"
#include "number.h"
#include "tree.h"
struct libab_interpreter_s {
libab_table* base_table;
libab_number_impl* impl;
};
typedef struct libab_interpreter_s libab_interpreter;
void libab_interpreter_init(libab_interpreter* intr,
libab_table* table, libab_number_impl* impl);
libab_result libab_interpreter_run(libab_interpreter* intr,
libab_tree* tree, libab_ref* into);
void libab_interpreter_free(libab_interpreter* intr);
#endif