From c5b8646d47effe57e455ead5e3af2aeae8afbcb3 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 2 Jun 2020 16:03:42 -0500 Subject: [PATCH] Bug fixes; preparing to start WASM code gen --- .gitignore | 1 + .vimspector.json | 2 +- include/bh.h | 4 ++-- include/onyxparser.h | 4 ---- include/onyxwasm.h | 22 ++++++++++++++++++++++ onyx | Bin 97176 -> 96992 bytes progs/minimal.onyx | 2 ++ src/onyx.c | 2 +- 8 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 include/onyxwasm.h diff --git a/.gitignore b/.gitignore index 97c16aa3..cd217661 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ **/*.o *.o +tags diff --git a/.vimspector.json b/.vimspector.json index 72e3a7ab..a52e2a69 100644 --- a/.vimspector.json +++ b/.vimspector.json @@ -6,7 +6,7 @@ "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/onyx", - "args": ["progs/mvp.onyx"], + "args": ["progs/minimal.onyx"], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], diff --git a/include/bh.h b/include/bh.h index 95772a75..d669d554 100644 --- a/include/bh.h +++ b/include/bh.h @@ -315,7 +315,7 @@ i64 bh_file_size(bh_file* file); bh_file_contents bh_file_read_contents_bh_file(bh_allocator alloc, bh_file* file); bh_file_contents bh_file_read_contents_direct(bh_allocator alloc, const char* filename); -i32 bh_file_contents_delete(bh_file_contents* contents); +i32 bh_file_contents_free(bh_file_contents* contents); #endif @@ -1197,7 +1197,7 @@ bh_file_contents bh_file_read_contents_direct(bh_allocator alloc, const char* fi return fc; } -b32 bh_file_contents_delete(bh_file_contents* contents) { +b32 bh_file_contents_free(bh_file_contents* contents) { bh_free(contents->allocator, contents->data); contents->length = 0; return 1; diff --git a/include/onyxparser.h b/include/onyxparser.h index b2496f69..d61f5b19 100644 --- a/include/onyxparser.h +++ b/include/onyxparser.h @@ -77,13 +77,9 @@ typedef enum OnyxTypeInfoKind { ONYX_TYPE_INFO_KIND_VOID, ONYX_TYPE_INFO_KIND_BOOL, - ONYX_TYPE_INFO_KIND_UINT8, - ONYX_TYPE_INFO_KIND_UINT16, ONYX_TYPE_INFO_KIND_UINT32, ONYX_TYPE_INFO_KIND_UINT64, - ONYX_TYPE_INFO_KIND_INT8, - ONYX_TYPE_INFO_KIND_INT16, ONYX_TYPE_INFO_KIND_INT32, ONYX_TYPE_INFO_KIND_INT64, diff --git a/include/onyxwasm.h b/include/onyxwasm.h new file mode 100644 index 00000000..2fb91f01 --- /dev/null +++ b/include/onyxwasm.h @@ -0,0 +1,22 @@ +#ifndef ONYXWASM_H +#define ONYXWASM_H + +#define BH_NO_STRING +#include "bh.h" + +#include "onyxparser.h" + +enum WasmType { + WASM_TYPE_INT32 = 0x7F, + WASM_TYPE_INT64 = 0x7E, + WASM_TYPE_FLOAT32 = 0x7D, + WASM_TYPE_FLOAT64 = 0x7C +}; + +typedef struct OnyxWasmModule { + +} OnyxWasmModule; + +OnyxWasmModule onyx_wasm_generate_module(bh_allocator alloc, OnyxAstNode* program); + +#endif diff --git a/onyx b/onyx index a16d7ae6f49c8a3d2cccc93c21a93ef230808e5d..00d2cd3c93fcdf532de7d98d1471af68940c5e44 100755 GIT binary patch delta 14133 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 i64 { /* a and b are both i32, so i32 + i32 is i32 so d is i32 */ d: const = a + b; + e: i32 = 10 as i32; + return ((c as i32) * d) as i64; } diff --git a/src/onyx.c b/src/onyx.c index ceb09703..20edcb87 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -65,7 +65,7 @@ main_exit: // NOTE: Cleanup, since C doesn't have defer bh_arena_free(&ast_arena); onyx_parser_free(&parser); onyx_tokenizer_free(&tokenizer); - bh_file_contents_delete(&fc); + bh_file_contents_free(&fc); return 0; } -- 2.25.1