From 66d30f860f821e0f0b97b6c1b328ab6f496b7c4d Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 20 Jun 2020 18:14:05 -0500 Subject: [PATCH] Added initial vim syntax highlighting; bug fixes --- misc/onyx.vim | 43 +++++++++++++++++++++++++++++++++++++++++++ onyx | Bin 164888 -> 164888 bytes progs/minimal.onyx | 17 ++++++++++------- src/onyx.c | 2 +- src/onyxwasm.c | 3 ++- 5 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 misc/onyx.vim diff --git a/misc/onyx.vim b/misc/onyx.vim new file mode 100644 index 00000000..89d22c44 --- /dev/null +++ b/misc/onyx.vim @@ -0,0 +1,43 @@ +" Vim syntax file +" Language: Onyx +" Maintainer: Brendan Hansen +" Last Change: 2020 June 20 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword onyxKeyword struct +syn keyword onyxKeyword use +syn keyword onyxKeyword if +syn keyword onyxKeyword elseif +syn keyword onyxKeyword else +syn keyword onyxKeyword export +syn keyword onyxKeyword proc +syn keyword onyxKeyword foreign +syn keyword onyxKeyword for +syn keyword onyxKeyword return +syn keyword onyxKeyword do +syn keyword onyxKeyword global +syn keyword onyxKeyword as + +syn keyword onyxType i32 +syn keyword onyxType i64 +syn keyword onyxType f32 +syn keyword onyxType f64 + +syn keyword onyxCommentStart contained TODO NOTE BUG HACK + +syn region onyxComment start="//" end="$" keepend contains=onyxCommentStart + +hi def link onyxKeyword Statement +hi def link onyxType Type +hi def link onyxComment Comment +hi def link onyxCommentStart Todo + +let b:current_syntax = "onyx" +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/onyx b/onyx index 1c15f82624dea9d2e6bdb843f4bea638577c6a7a..7b7f254aa9559225a1e62fc185bd033150fc1f3a 100755 GIT binary patch delta 13401 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

qXIWVphMh=_`JP6zaya)8^iIJCjtZ8GO+6q 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 delta 13303 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 e%in94t61 i32 { return a + b; } +// NOTE: There is a weird bug here if the else is used instead +// This is because the WASM embedder does not think that it +// is possible that all code paths are covered with returning +// an i32. This will need to be fixed. abs :: proc (val i32) -> i32 { - if val <= 0 { - return -val; - } else { - return val; - }; + if val <= 0 { return -val; }; + // else { return val; }; + return val; } diff_square :: proc (a i32, b i32) -> i32 { @@ -41,12 +43,13 @@ float_test :: proc -> f32 { export main :: proc { output := do_stuff(); - if output + 66 { - new_output :: -output * 2; + if output == -66 { + new_output :: abs(output) * 2; print(new_output); } else { print(-1); + }; print(output); diff --git a/src/onyx.c b/src/onyx.c index 2a57a80e..816a38a7 100644 --- a/src/onyx.c +++ b/src/onyx.c @@ -55,7 +55,7 @@ int main(int argc, char *argv[]) { onyx_message_print(&msgs); goto main_exit; } else { - onyx_ast_print(program, 0); + // onyx_ast_print(program, 0); bh_printf("\nNo errors.\n"); } diff --git a/src/onyxwasm.c b/src/onyxwasm.c index d5016649..771f913d 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -244,7 +244,8 @@ static void process_statement(OnyxWasmModule* mod, WasmFunc* func, OnyxAstNode* case ONYX_AST_NODE_KIND_RETURN: process_return(mod, func, stmt); break; case ONYX_AST_NODE_KIND_ASSIGNMENT: process_assignment(mod, func, stmt); break; case ONYX_AST_NODE_KIND_IF: process_if(mod, func, (OnyxAstNodeIf *) stmt); break; - default: process_expression(mod, func, stmt); + case ONYX_AST_NODE_KIND_CALL: process_expression(mod, func, stmt); break; + default: break; } } -- 2.25.1