diff options
| author | iamcheeseman <[email protected]> | 2026-04-06 17:04:05 -0400 |
|---|---|---|
| committer | iamcheeseman <[email protected]> | 2026-04-06 17:06:53 -0400 |
| commit | 957c64c7b8b5e98d8a03dd84c7e27e7991fb9dbc (patch) | |
| tree | f5fc230703791cee8d8e7851fb87eaef07ae63a2 /uscript/uscript.c | |
Initial commit
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)); +} |
