diff options
Diffstat (limited to 'uscript/uscript.c')
| -rw-r--r-- | uscript/uscript.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/uscript/uscript.c b/uscript/uscript.c new file mode 100644 index 0000000..5ec43a1 --- /dev/null +++ b/uscript/uscript.c @@ -0,0 +1,34 @@ +#include "uscript.h" + +#include <stdio.h> + +#include "dyn_arr.h" +#include "lex.h" +#include "val.h" +#include "vm.h" +#include "parser.h" + +void us_init(void) +{ + init_vm(); +} + +void us_deinit(void) +{ + deinit_vm(); +} + +void us_load_file(const char *file_path) +{ + char *file = read_file(file_path, NULL); + us_load_src(file); + mem_free(file); +} + +void us_load_src(const char *src) +{ + struct us_proto *proto = compile("main", src); + if (!proto) + return; + us_exec(create_func(proto)); +} |
