From 3f07fa7e41b23d7165c9f750f24e50ac1190ed95 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 17 Jul 2020 17:08:05 -0500 Subject: [PATCH] Added simple array mechanics; Cleaned up code in the process --- .vimspector.json | 2 +- include/bh.h | 26 ++++- include/onyxastnodes.h | 130 ++++++++++++++--------- onyx | Bin 245912 -> 252488 bytes progs/arrays.onyx | 23 ++++ progs/basic.onyx | 4 +- progs/intrinsics.onyx | 2 +- src/onyxchecker.c | 155 ++++++++++++++++----------- src/onyxmsgs.c | 2 +- src/onyxparser.c | 232 +++++++++++++++++------------------------ src/onyxsymres.c | 20 ++-- src/onyxutils.c | 2 +- src/onyxwasm.c | 173 +++++++++++++++++++++++++----- 13 files changed, 477 insertions(+), 294 deletions(-) create mode 100644 progs/arrays.onyx diff --git a/.vimspector.json b/.vimspector.json index 88493853..404230c7 100644 --- a/.vimspector.json +++ b/.vimspector.json @@ -6,7 +6,7 @@ "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/onyx", - "args": ["progs/basic.onyx"], + "args": ["progs/arrays.onyx"], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], diff --git a/include/bh.h b/include/bh.h index e443f27b..4b1b07b5 100644 --- a/include/bh.h +++ b/include/bh.h @@ -94,12 +94,32 @@ inline i64 chars_match(char* ptr1, char* ptr2) { //------------------------------------------------------------------------------------- // Better math functions //------------------------------------------------------------------------------------- -#define bh_max(a, b) ((a) > (b) ? (a) : (b)) -#define bh_min(a, b) ((a) < (b) ? (a) : (b)) +#define bh_max(a, b) ((a) > (b) ? (a) : (b)) +#define bh_min(a, b) ((a) < (b) ? (a) : (b)) #define bh_clamp(v, a, b) (bh_min((b), bh_max((a), (v)))) #define bh_abs(x) ((x) < 0 ? -(x) : (x)) - +static inline u64 log2_dumb(u64 n) { + switch (n) { + case 1: return 0; + case 2: return 1; + case 4: return 2; + case 8: return 3; + case 16: return 4; + case 32: return 5; + case 64: return 6; + case 128: return 7; + case 256: return 8; + case 512: return 9; + case 1024: return 10; + case 2048: return 11; + case 4096: return 12; + case 8192: return 13; + + // Don't need all of them right now + default: return 0; + } +} diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 1d2293b1..6e3a2366 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -6,15 +6,18 @@ typedef struct AstNode AstNode; typedef struct AstTyped AstTyped; -typedef struct AstUnaryOp AstUnaryOp; + typedef struct AstBinOp AstBinaryOp; -typedef struct AstAssign AstAssign; +typedef struct AstUnaryOp AstUnaryOp; typedef struct AstNumLit AstNumLit; typedef struct AstLocal AstLocal; -typedef struct AstReturn AstReturn; typedef struct AstCall AstCall; typedef struct AstIntrinsicCall AstIntrinsicCall; typedef struct AstArgument AstArgument; +typedef struct AstArrayAccess AstArrayAccess; + +typedef struct AstAssign AstAssign; +typedef struct AstReturn AstReturn; typedef struct AstBlock AstBlock; typedef struct AstIf AstIf; @@ -61,8 +64,8 @@ typedef enum AstKind { Ast_Kind_Argument, Ast_Kind_Call, Ast_Kind_Intrinsic_Call, - Ast_Kind_Assignment, Ast_Kind_Return, + Ast_Kind_Array_Access, Ast_Kind_If, Ast_Kind_While, @@ -77,14 +80,16 @@ typedef enum AstKind { typedef enum AstFlags { // Top-level flags Ast_Flag_Exported = BH_BIT(0), - Ast_Flag_Lval = BH_BIT(1), + Ast_Flag_Foreign = BH_BIT(1), Ast_Flag_Const = BH_BIT(2), Ast_Flag_Comptime = BH_BIT(3), // Function flags Ast_Flag_Inline = BH_BIT(8), Ast_Flag_Intrinsic = BH_BIT(9), - Ast_Flag_Foreign = BH_BIT(10), + + // Expression flags + Ast_Flag_Expr_Ignored = BH_BIT(8), } AstFlags; typedef enum UnaryOp { @@ -94,20 +99,57 @@ typedef enum UnaryOp { } UnaryOp; typedef enum BinaryOp { - Binary_Op_Add = 0, - Binary_Op_Minus = 1, - Binary_Op_Multiply = 2, - Binary_Op_Divide = 3, - Binary_Op_Modulus = 4, - - Binary_Op_Equal = 5, - Binary_Op_Not_Equal = 6, - Binary_Op_Less = 7, - Binary_Op_Less_Equal = 8, - Binary_Op_Greater = 9, - Binary_Op_Greater_Equal = 10, + Binary_Op_Add = 0, + Binary_Op_Minus = 1, + Binary_Op_Multiply = 2, + Binary_Op_Divide = 3, + Binary_Op_Modulus = 4, + + Binary_Op_Equal = 5, + Binary_Op_Not_Equal = 6, + Binary_Op_Less = 7, + Binary_Op_Less_Equal = 8, + Binary_Op_Greater = 9, + Binary_Op_Greater_Equal = 10, + + Binary_Op_Assign_Start = 11, + Binary_Op_Assign = 12, + Binary_Op_Assign_Add = 13, + Binary_Op_Assign_Minus = 14, + Binary_Op_Assign_Multiply = 15, + Binary_Op_Assign_Divide = 16, + Binary_Op_Assign_Modulus = 17, + Binary_Op_Assign_End = 18, } BinaryOp; +typedef enum OnyxIntrinsic { + ONYX_INTRINSIC_UNDEFINED, + + ONYX_INTRINSIC_MEMORY_SIZE, ONYX_INTRINSIC_MEMORY_GROW, + + ONYX_INTRINSIC_I32_CLZ, ONYX_INTRINSIC_I32_CTZ, ONYX_INTRINSIC_I32_POPCNT, + ONYX_INTRINSIC_I32_AND, ONYX_INTRINSIC_I32_OR, ONYX_INTRINSIC_I32_XOR, + ONYX_INTRINSIC_I32_SHL, ONYX_INTRINSIC_I32_SLR, ONYX_INTRINSIC_I32_SAR, + ONYX_INTRINSIC_I32_ROTL, ONYX_INTRINSIC_I32_ROTR, + + ONYX_INTRINSIC_I64_CLZ, ONYX_INTRINSIC_I64_CTZ, ONYX_INTRINSIC_I64_POPCNT, + ONYX_INTRINSIC_I64_AND, ONYX_INTRINSIC_I64_OR, ONYX_INTRINSIC_I64_XOR, + ONYX_INTRINSIC_I64_SHL, ONYX_INTRINSIC_I64_SLR, ONYX_INTRINSIC_I64_SAR, + ONYX_INTRINSIC_I64_ROTL, ONYX_INTRINSIC_I64_ROTR, + + ONYX_INTRINSIC_F32_ABS, ONYX_INTRINSIC_F32_SQRT, + ONYX_INTRINSIC_F32_CEIL, ONYX_INTRINSIC_F32_FLOOR, + ONYX_INTRINSIC_F32_TRUNC, ONYX_INTRINSIC_F32_NEAREST, + ONYX_INTRINSIC_F32_MIN, ONYX_INTRINSIC_F32_MAX, + ONYX_INTRINSIC_F32_COPYSIGN, + + ONYX_INTRINSIC_F64_ABS, ONYX_INTRINSIC_F64_SQRT, + ONYX_INTRINSIC_F64_CEIL, ONYX_INTRINSIC_F64_FLOOR, + ONYX_INTRINSIC_F64_TRUNC, ONYX_INTRINSIC_F64_NEAREST, + ONYX_INTRINSIC_F64_MIN, ONYX_INTRINSIC_F64_MAX, + ONYX_INTRINSIC_F64_COPYSIGN, +} OnyxIntrinsic; + // Base Nodes #define AstNode_members { \ @@ -141,12 +183,15 @@ struct AstTyped AstTyped_members; // Expression Nodes struct AstBinOp { AstTyped_base; BinaryOp operation; AstTyped *left, *right; }; struct AstUnaryOp { AstTyped_base; UnaryOp operation; AstTyped *expr; }; -struct AstAssign { AstNode_base; AstTyped* lval; AstTyped* expr; }; struct AstNumLit { AstTyped_base; union { i32 i; i64 l; f32 f; f64 d; } value; }; struct AstLocal { AstTyped_base; AstLocal *prev_local; }; -struct AstReturn { AstNode_base; AstTyped* expr; }; struct AstCall { AstTyped_base; AstArgument *arguments; AstNode *callee; }; +struct AstIntrinsicCall { AstTyped_base; AstArgument *arguments; OnyxIntrinsic intrinsic; }; struct AstArgument { AstTyped_base; AstTyped *value; }; +struct AstArrayAccess { AstTyped_base; AstTyped *addr; AstTyped *expr; u64 elem_size; }; + +// Intruction Node +struct AstReturn { AstNode_base; AstTyped* expr; }; // Structure Nodes struct AstLocalGroup { AstNode_base; AstLocalGroup *prev_group; AstLocal *last_local; }; @@ -211,38 +256,6 @@ struct AstFunction { }; }; -typedef enum OnyxIntrinsic { - ONYX_INTRINSIC_UNDEFINED, - - ONYX_INTRINSIC_MEMORY_SIZE, ONYX_INTRINSIC_MEMORY_GROW, - - ONYX_INTRINSIC_I32_CLZ, ONYX_INTRINSIC_I32_CTZ, ONYX_INTRINSIC_I32_POPCNT, - ONYX_INTRINSIC_I32_AND, ONYX_INTRINSIC_I32_OR, ONYX_INTRINSIC_I32_XOR, - ONYX_INTRINSIC_I32_SHL, ONYX_INTRINSIC_I32_SLR, ONYX_INTRINSIC_I32_SAR, - ONYX_INTRINSIC_I32_ROTL, ONYX_INTRINSIC_I32_ROTR, - - ONYX_INTRINSIC_I64_CLZ, ONYX_INTRINSIC_I64_CTZ, ONYX_INTRINSIC_I64_POPCNT, - ONYX_INTRINSIC_I64_AND, ONYX_INTRINSIC_I64_OR, ONYX_INTRINSIC_I64_XOR, - ONYX_INTRINSIC_I64_SHL, ONYX_INTRINSIC_I64_SLR, ONYX_INTRINSIC_I64_SAR, - ONYX_INTRINSIC_I64_ROTL, ONYX_INTRINSIC_I64_ROTR, - - ONYX_INTRINSIC_F32_ABS, ONYX_INTRINSIC_F32_SQRT, - ONYX_INTRINSIC_F32_CEIL, ONYX_INTRINSIC_F32_FLOOR, - ONYX_INTRINSIC_F32_TRUNC, ONYX_INTRINSIC_F32_NEAREST, - ONYX_INTRINSIC_F32_MIN, ONYX_INTRINSIC_F32_MAX, - ONYX_INTRINSIC_F32_COPYSIGN, - - ONYX_INTRINSIC_F64_ABS, ONYX_INTRINSIC_F64_SQRT, - ONYX_INTRINSIC_F64_CEIL, ONYX_INTRINSIC_F64_FLOOR, - ONYX_INTRINSIC_F64_TRUNC, ONYX_INTRINSIC_F64_NEAREST, - ONYX_INTRINSIC_F64_MIN, ONYX_INTRINSIC_F64_MAX, - ONYX_INTRINSIC_F64_COPYSIGN, -} OnyxIntrinsic; - -// NOTE: This needs to have 'arguments' in the -// same position as AstNodeCall -struct AstIntrinsicCall { AstTyped_base; AstArgument *arguments; OnyxIntrinsic intrinsic; }; - // NOTE: Simple data structure for storing what comes out of the parser typedef struct ParserOutput { bh_arr(AstBinding *) top_level_bindings; @@ -271,4 +284,17 @@ extern AstBasicType basic_type_f32; extern AstBasicType basic_type_f64; extern AstBasicType basic_type_rawptr; + +// NOTE: Useful inlined functions +static inline b32 is_lval(AstNode* node) { + return (node->kind == Ast_Kind_Local) + || (node->kind == Ast_Kind_Global) + || (node->kind == Ast_Kind_Array_Access); +} + +static inline b32 binop_is_assignment(AstBinaryOp* binop) { + return (binop->operation >= Binary_Op_Assign_Start + && binop->operation <= Binary_Op_Assign_End); +} + #endif // #ifndef ONYXASTNODES_H diff --git a/onyx b/onyx index 8457bd029fef3350cbd6cc053d59c4ee343b972d..a645223c29179f5a3ad75a93ad2e4700b062c1bb 100755 GIT binary patch literal 252488 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
g;dVOSe)c`wL- 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�Fvw3pxMyFe9-e@vtjn$h(Y1=eAqP9XE2@B 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 Kpb#jU)qeo2r$Yn) literal 245912 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

8kOKi(AvkK*wxd~Q^f2S{wCwO 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 z⫬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 i32 --- -memory_grow :: proc #intrinsic -> i32 --- +memory_grow :: proc #intrinsic (val: i32) -> i32 --- clz_i32 :: proc #intrinsic (val: i32) -> i32 --- ctz_i32 :: proc #intrinsic (val: i32) -> i32 --- diff --git a/src/onyxchecker.c b/src/onyxchecker.c index ec81e35f..97b18cb7 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -1,66 +1,20 @@ #define BH_DEBUG #include "onyxsempass.h" +#include "onyxparser.h" static b32 check_function(SemState* state, AstFunction* func); static b32 check_block(SemState* state, AstBlock* block); static b32 check_statement_chain(SemState* state, AstNode* start); static b32 check_statement(SemState* state, AstNode* stmt); -static b32 check_assignment(SemState* state, AstAssign* assign); static b32 check_return(SemState* state, AstReturn* retnode); static b32 check_if(SemState* state, AstIf* ifnode); static b32 check_while(SemState* state, AstWhile* whilenode); static b32 check_call(SemState* state, AstCall* call); static b32 check_binaryop(SemState* state, AstBinaryOp* binop); static b32 check_expression(SemState* state, AstTyped* expr); +static b32 check_array_access(SemState* state, AstArrayAccess* expr); static b32 check_global(SemState* state, AstGlobal* global); -static b32 check_assignment(SemState* state, AstAssign* assign) { - if (assign->lval->kind == Ast_Kind_Symbol) { - onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_UNRESOLVED_SYMBOL, - assign->lval->token->pos, - assign->lval->token->text, assign->lval->token->length); - return 1; - } - - if ((assign->lval->flags & Ast_Flag_Const) != 0 && assign->lval->type != NULL) { - onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_ASSIGN_CONST, - assign->token->pos, - assign->lval->token->text, assign->lval->token->length); - return 1; - } - - if ((assign->lval->flags & Ast_Flag_Lval) == 0) { - onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_NOT_LVAL, - assign->token->pos, - assign->lval->token->text, assign->lval->token->length); - return 1; - } - - if (assign->lval->type == NULL) { - assign->lval->type = type_build_from_ast(state->node_allocator, assign->lval->type_node); - } - - if (check_expression(state, assign->expr)) return 1; - - if (assign->lval->type == NULL) { - assign->lval->type = assign->expr->type; - } else { - if (!types_are_compatible(assign->lval->type, assign->expr->type)) { - onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_ASSIGNMENT_TYPE_MISMATCH, - assign->token->pos, - type_get_name(assign->lval->type), - type_get_name(assign->expr->type)); - return 1; - } - } - - return 0; -} - static b32 check_return(SemState* state, AstReturn* retnode) { if (retnode->expr) { if (check_expression(state, retnode->expr)) return 1; @@ -255,6 +209,63 @@ static b32 check_binaryop(SemState* state, AstBinaryOp* binop) { if (check_expression(state, binop->left)) return 1; if (check_expression(state, binop->right)) return 1; + if (binop_is_assignment(binop)) { + if (!is_lval((AstNode *) binop->left)) { + onyx_message_add(state->msgs, + ONYX_MESSAGE_TYPE_NOT_LVAL, + binop->token->pos, + binop->left->token->text, binop->left->token->length); + return 1; + } + + if ((binop->left->flags & Ast_Flag_Const) != 0 && binop->left->type != NULL) { + onyx_message_add(state->msgs, + ONYX_MESSAGE_TYPE_ASSIGN_CONST, + binop->token->pos, + binop->left->token->text, binop->left->token->length); + return 1; + } + + if (binop->operation == Binary_Op_Assign) { + // NOTE: Raw assignment + if (binop->left->type == NULL) { + binop->left->type = binop->right->type; + } + + } else { + // NOTE: +=, -=, ... + + AstBinaryOp* binop_node = onyx_ast_node_new( + state->node_allocator, + sizeof(AstBinaryOp), + Ast_Kind_Binary_Op); + + binop_node->token = binop->token; + binop_node->left = binop->left; + binop_node->right = binop->right; + binop_node->type = binop->right->type; + + if (binop->operation == Binary_Op_Assign_Add) binop_node->operation = Binary_Op_Add; + else if (binop->operation == Binary_Op_Assign_Minus) binop_node->operation = Binary_Op_Minus; + else if (binop->operation == Binary_Op_Assign_Multiply) binop_node->operation = Binary_Op_Multiply; + else if (binop->operation == Binary_Op_Assign_Divide) binop_node->operation = Binary_Op_Divide; + else if (binop->operation == Binary_Op_Assign_Modulus) binop_node->operation = Binary_Op_Modulus; + + binop->right = (AstTyped *) binop_node; + binop->operation = Binary_Op_Assign; + } + + } else { + if (type_is_pointer(binop->left->type) + || type_is_pointer(binop->right->type)) { + onyx_message_add(state->msgs, + ONYX_MESSAGE_TYPE_LITERAL, + binop->token->pos, + "binary operations are not supported for pointers (yet)."); + return 1; + } + } + if (binop->left->type == NULL) { onyx_message_add(state->msgs, ONYX_MESSAGE_TYPE_UNRESOLVED_TYPE, @@ -271,14 +282,6 @@ static b32 check_binaryop(SemState* state, AstBinaryOp* binop) { return 1; } - if (type_is_pointer(binop->left->type) - || type_is_pointer(binop->right->type)) { - onyx_message_add(state->msgs, - ONYX_MESSAGE_TYPE_LITERAL, - binop->token->pos, - "binary operations are not supported for pointers (yet)."); - return 1; - } if (!types_are_compatible(binop->left->type, binop->right->type)) { onyx_message_add(state->msgs, @@ -299,6 +302,33 @@ static b32 check_binaryop(SemState* state, AstBinaryOp* binop) { return 0; } +static b32 check_array_access(SemState* state, AstArrayAccess* aa) { + check_expression(state, aa->addr); + check_expression(state, aa->expr); + + if (!type_is_pointer(aa->addr->type)) { + onyx_message_add(state->msgs, + ONYX_MESSAGE_TYPE_LITERAL, + aa->addr->token->pos, + "expected pointer type for left of array access"); + return 1; + } + + if (aa->expr->type->kind != Type_Kind_Basic + || (aa->expr->type->Basic.flags & Basic_Flag_Integer) == 0) { + onyx_message_add(state->msgs, + ONYX_MESSAGE_TYPE_LITERAL, + aa->expr->token->pos, + "expected integer type for index"); + return 1; + } + + aa->type = aa->addr->type->Pointer.elem; + aa->elem_size = aa->type->Basic.size; + + return 0; +} + static b32 check_expression(SemState* state, AstTyped* expr) { if (expr->kind > Ast_Kind_Type_Start && expr->kind < Ast_Kind_Type_End) { onyx_message_add(state->msgs, @@ -335,7 +365,6 @@ static b32 check_expression(SemState* state, AstTyped* expr) { retval = 1; break; - case Ast_Kind_Local: case Ast_Kind_Param: if (expr->type == NULL) { onyx_message_add(state->msgs, @@ -346,6 +375,12 @@ static b32 check_expression(SemState* state, AstTyped* expr) { } break; + case Ast_Kind_Local: break; + + case Ast_Kind_Array_Access: + retval = check_array_access(state, (AstArrayAccess *) expr); + break; + case Ast_Kind_Global: if (expr->type == NULL) { onyx_message_add(state->msgs, @@ -397,14 +432,15 @@ static b32 check_global(SemState* state, AstGlobal* global) { static b32 check_statement(SemState* state, AstNode* stmt) { switch (stmt->kind) { - case Ast_Kind_Assignment: return check_assignment(state, (AstAssign *) stmt); case Ast_Kind_Return: return check_return(state, (AstReturn *) stmt); case Ast_Kind_If: return check_if(state, (AstIf *) stmt); case Ast_Kind_While: return check_while(state, (AstWhile *) stmt); case Ast_Kind_Call: return check_call(state, (AstCall *) stmt); case Ast_Kind_Block: return check_block(state, (AstBlock *) stmt); - default: return 0; + default: + stmt->flags |= Ast_Flag_Expr_Ignored; + return check_expression(state, (AstTyped *) stmt); } } @@ -506,7 +542,6 @@ static b32 check_node(SemState* state, AstNode* node) { switch (node->kind) { case Ast_Kind_Function: return check_function(state, (AstFunction *) node); case Ast_Kind_Block: return check_block(state, (AstBlock *) node); - case Ast_Kind_Assignment: return check_assignment(state, (AstAssign *) node); case Ast_Kind_Return: return check_return(state, (AstReturn *) node); case Ast_Kind_If: return check_if(state, (AstIf *) node); case Ast_Kind_While: return check_while(state, (AstWhile *) node); diff --git a/src/onyxmsgs.c b/src/onyxmsgs.c index 5b1d8c57..f7a6e52b 100644 --- a/src/onyxmsgs.c +++ b/src/onyxmsgs.c @@ -2,7 +2,7 @@ #include "onyxmsgs.h" #include "onyxutils.h" -#define MAX_MSGS 5 +#define MAX_MSGS 10 static const char* msg_formats[] = { "%s", diff --git a/src/onyxparser.c b/src/onyxparser.c index d98a8c6e..85c1d753 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -33,7 +33,7 @@ static AstTyped* parse_factor(OnyxParser* parser); static AstTyped* parse_expression(OnyxParser* parser); static AstIf* parse_if_stmt(OnyxParser* parser); static AstWhile* parse_while_stmt(OnyxParser* parser); -static b32 parse_symbol_statement(OnyxParser* parser, AstNode** ret); +static b32 parse_symbol_declaration(OnyxParser* parser, AstNode** ret); static AstReturn* parse_return_statement(OnyxParser* parser); static AstBlock* parse_block(OnyxParser* parser); static AstNode* parse_statement(OnyxParser* parser); @@ -256,6 +256,17 @@ static AstTyped* parse_factor(OnyxParser* parser) { return NULL; } + while (parser->curr->type == '[') { + AstArrayAccess* aa_node = make_node(AstArrayAccess, Ast_Kind_Array_Access); + aa_node->token = expect_token(parser, '['); + aa_node->addr = retval; + aa_node->expr = parse_expression(parser); + + expect_token(parser, ']'); + + retval = (AstTyped *) aa_node; + } + while (parser->curr->type == Token_Type_Keyword_Cast) { consume_token(parser); @@ -266,41 +277,56 @@ static AstTyped* parse_factor(OnyxParser* parser) { retval = (AstTyped *) cast_node; } + return retval; } static inline i32 get_precedence(BinaryOp kind) { switch (kind) { - case Binary_Op_Equal: return 3; - case Binary_Op_Not_Equal: return 3; + case Binary_Op_Assign: return 2; + case Binary_Op_Assign_Add: return 2; + case Binary_Op_Assign_Minus: return 2; + case Binary_Op_Assign_Multiply: return 2; + case Binary_Op_Assign_Divide: return 2; + case Binary_Op_Assign_Modulus: return 2; + + case Binary_Op_Equal: return 3; + case Binary_Op_Not_Equal: return 3; + + case Binary_Op_Less_Equal: return 4; + case Binary_Op_Less: return 4; + case Binary_Op_Greater_Equal: return 4; + case Binary_Op_Greater: return 4; - case Binary_Op_Less_Equal: return 4; - case Binary_Op_Less: return 4; - case Binary_Op_Greater_Equal: return 4; - case Binary_Op_Greater: return 4; + case Binary_Op_Add: return 5; + case Binary_Op_Minus: return 5; - case Binary_Op_Add: return 5; - case Binary_Op_Minus: return 5; + case Binary_Op_Multiply: return 6; + case Binary_Op_Divide: return 6; - case Binary_Op_Multiply: return 6; - case Binary_Op_Divide: return 6; + case Binary_Op_Modulus: return 7; - case Binary_Op_Modulus: return 7; - default: return -1; + default: return -1; } } -// + -// - -// * -// / -// % -// == -// != -// <= -// >= -// < -// > +// + +// - +// * +// / +// % +// == +// != +// <= +// >= +// < +// > +// = +// += +// -= +// *= +// /= +// %= // With expected precedence rules static AstTyped* parse_expression(OnyxParser* parser) { bh_arr(AstBinaryOp*) tree_stack = NULL; @@ -329,6 +355,13 @@ static AstTyped* parse_expression(OnyxParser* parser) { case '*': bin_op_kind = Binary_Op_Multiply; break; case '/': bin_op_kind = Binary_Op_Divide; break; case '%': bin_op_kind = Binary_Op_Modulus; break; + + case '=': bin_op_kind = Binary_Op_Assign; break; + case Token_Type_Plus_Equal: bin_op_kind = Binary_Op_Assign_Add; break; + case Token_Type_Minus_Equal: bin_op_kind = Binary_Op_Assign_Minus; break; + case Token_Type_Star_Equal: bin_op_kind = Binary_Op_Assign_Multiply; break; + case Token_Type_Fslash_Equal: bin_op_kind = Binary_Op_Assign_Divide; break; + case Token_Type_Percent_Equal: bin_op_kind = Binary_Op_Assign_Modulus; break; default: goto expression_done; } @@ -429,125 +462,54 @@ static AstWhile* parse_while_stmt(OnyxParser* parser) { // : : // := // :: -// = -// += -// -= -// *= -// /= -// %= -static b32 parse_symbol_statement(OnyxParser* parser, AstNode** ret) { +static b32 parse_symbol_declaration(OnyxParser* parser, AstNode** ret) { if (parser->curr->type != Token_Type_Symbol) return 0; - OnyxToken* symbol = expect_token(parser, Token_Type_Symbol); - - switch ((u16) parser->curr->type) { - // NOTE: Declaration - case ':': - { - consume_token(parser); - AstType* type_node = NULL; - - // NOTE: var: type - if (parser->curr->type != ':' - && parser->curr->type != '=') { - type_node = parse_type(parser); - } - - AstLocal* local = make_node(AstLocal, Ast_Kind_Local); - local->token = symbol; - local->type_node = type_node; - local->flags |= Ast_Flag_Lval; // NOTE: DELETE - *ret = (AstNode *) local; - - if (parser->curr->type == '=' || parser->curr->type == ':') { - if (parser->curr->type == ':') { - local->flags |= Ast_Flag_Const; - } - - AstAssign* assignment = make_node(AstAssign, Ast_Kind_Assignment); - local->next = (AstNode *) assignment; - assignment->token = parser->curr; - consume_token(parser); - - AstTyped* expr = parse_expression(parser); - if (expr == NULL) { - token_toggle_end(parser->curr); - onyx_message_add(parser->msgs, - ONYX_MESSAGE_TYPE_EXPECTED_EXPRESSION, - assignment->token->pos, - parser->curr->text); - token_toggle_end(parser->curr); - return 1; - } - assignment->expr = expr; - - AstNode* left_symbol = make_node(AstNode, Ast_Kind_Symbol); - left_symbol->token = symbol; - assignment->lval = (AstTyped *) left_symbol; - } - return 1; - } - - // NOTE: Assignment - case '=': - { - AstAssign* assignment = make_node(AstAssign, Ast_Kind_Assignment); - assignment->token = parser->curr; - consume_token(parser); - - AstNode* lval = make_node(AstNode, Ast_Kind_Symbol); - lval->token = symbol; - - AstTyped* rval = parse_expression(parser); - assignment->expr = rval; - assignment->lval = (AstTyped *) lval; - *ret = (AstNode *) assignment; - return 1; - } + if ((parser->curr + 1)->type != ':') return 0; - case Token_Type_Plus_Equal: - case Token_Type_Minus_Equal: - case Token_Type_Star_Equal: - case Token_Type_Fslash_Equal: - case Token_Type_Percent_Equal: - { - BinaryOp bin_op; - if (parser->curr->type == Token_Type_Plus_Equal) bin_op = Binary_Op_Add; - else if (parser->curr->type == Token_Type_Minus_Equal) bin_op = Binary_Op_Minus; - else if (parser->curr->type == Token_Type_Star_Equal) bin_op = Binary_Op_Multiply; - else if (parser->curr->type == Token_Type_Fslash_Equal) bin_op = Binary_Op_Divide; - else if (parser->curr->type == Token_Type_Percent_Equal) bin_op = Binary_Op_Modulus; - - AstBinaryOp* bin_op_node = make_node(AstBinaryOp, Ast_Kind_Binary_Op); - bin_op_node->operation = bin_op; - bin_op_node->token = parser->curr; - - consume_token(parser); - AstTyped* expr = parse_expression(parser); + OnyxToken* symbol = expect_token(parser, Token_Type_Symbol); + consume_token(parser); + AstType* type_node = NULL; - AstNode* bin_op_left = make_node(AstNode, Ast_Kind_Symbol); - bin_op_left->token = symbol; - bin_op_node->left = (AstTyped *) bin_op_left; - bin_op_node->right = expr; + // NOTE: var: type + if (parser->curr->type != ':' + && parser->curr->type != '=') { + type_node = parse_type(parser); + } - AstAssign* assign_node = make_node(AstAssign, Ast_Kind_Assignment); - assign_node->token = bin_op_node->token; + AstLocal* local = make_node(AstLocal, Ast_Kind_Local); + local->token = symbol; + local->type_node = type_node; + *ret = (AstNode *) local; - // TODO: Maybe I don't need to make another lval node? - AstNode* lval = make_node(AstNode, Ast_Kind_Symbol); - lval->token = symbol; - assign_node->lval = (AstTyped *) lval; - assign_node->expr = (AstTyped *) bin_op_node; + if (parser->curr->type == '=' || parser->curr->type == ':') { + if (parser->curr->type == ':') { + local->flags |= Ast_Flag_Const; + } - *ret = (AstNode *) assign_node; + AstBinaryOp* assignment = make_node(AstBinaryOp, Ast_Kind_Binary_Op); + assignment->operation = Binary_Op_Assign; + local->next = (AstNode *) assignment; + assignment->token = parser->curr; + consume_token(parser); - return 1; - } + AstTyped* expr = parse_expression(parser); + if (expr == NULL) { + token_toggle_end(parser->curr); + onyx_message_add(parser->msgs, + ONYX_MESSAGE_TYPE_EXPECTED_EXPRESSION, + assignment->token->pos, + parser->curr->text); + token_toggle_end(parser->curr); + return 1; + } + assignment->right = expr; - default: - unconsume_token(parser); + AstNode* left_symbol = make_node(AstNode, Ast_Kind_Symbol); + left_symbol->token = symbol; + assignment->left = (AstTyped *) left_symbol; } - return 0; + return 1; } // 'return' ? @@ -594,7 +556,7 @@ static AstNode* parse_statement(OnyxParser* parser) { break; case Token_Type_Symbol: - if (parse_symbol_statement(parser, &retval)) break; + if (parse_symbol_declaration(parser, &retval)) break; // fallthrough case '(': @@ -894,8 +856,6 @@ static AstTyped* parse_global_declaration(OnyxParser* parser) { } global_node->type_node = parse_type(parser); - global_node->flags |= Ast_Flag_Lval; - bh_arr_push(parser->results.nodes_to_process, (AstNode *) global_node); diff --git a/src/onyxsymres.c b/src/onyxsymres.c index a75c15cc..58f988bd 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -13,7 +13,6 @@ static AstType* symres_type(SemState* state, AstType* type); static void symres_local(SemState* state, AstLocal** local); static void symres_call(SemState* state, AstCall* call); static void symres_expression(SemState* state, AstTyped** expr); -static void symres_assignment(SemState* state, AstAssign* assign); static void symres_return(SemState* state, AstReturn* ret); static void symres_if(SemState* state, AstIf* ifnode); static void symres_while(SemState* state, AstWhile* whilenode); @@ -222,20 +221,17 @@ static void symres_expression(SemState* state, AstTyped** expr) { (*expr)->type_node = symres_type(state, (*expr)->type_node); break; + case Ast_Kind_Array_Access: + symres_expression(state, &((AstArrayAccess *)(*expr))->addr); + symres_expression(state, &((AstArrayAccess *)(*expr))->expr); + break; + default: DEBUG_HERE; break; } } -static void symres_assignment(SemState* state, AstAssign* assign) { - AstTyped* lval = (AstTyped *) symbol_resolve(state, assign->lval->token); - if (lval == NULL) return; - assign->lval = lval; - - symres_expression(state, &assign->expr); -} - static void symres_return(SemState* state, AstReturn* ret) { if (ret->expr) symres_expression(state, &ret->expr); @@ -263,7 +259,6 @@ static void symres_while(SemState* state, AstWhile* whilenode) { static b32 symres_statement(SemState* state, AstNode* stmt) { switch (stmt->kind) { case Ast_Kind_Local: symres_local(state, (AstLocal **) &stmt); return 1; - case Ast_Kind_Assignment: symres_assignment(state, (AstAssign *) stmt); return 0; case Ast_Kind_Return: symres_return(state, (AstReturn *) stmt); return 0; case Ast_Kind_If: symres_if(state, (AstIf *) stmt); return 0; case Ast_Kind_While: symres_while(state, (AstWhile *) stmt); return 0; @@ -271,7 +266,10 @@ static b32 symres_statement(SemState* state, AstNode* stmt) { case Ast_Kind_Argument: symres_expression(state, (AstTyped **) &((AstArgument *)stmt)->value); return 0; case Ast_Kind_Block: symres_block(state, (AstBlock *) stmt); return 0; - default: return 0; + case Ast_Kind_Break: return 0; + case Ast_Kind_Continue: return 0; + + default: symres_expression(state, (AstTyped **) &stmt); return 0; } } diff --git a/src/onyxutils.c b/src/onyxutils.c index 09881374..d45042ee 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -35,8 +35,8 @@ static const char* ast_node_names[] = { "PARAM", "ARGUMENT", "CALL", - "ASSIGN", "RETURN", + "ARRAY_ACCESS", "IF", "WHILE", diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 721cbc0f..cccb53c5 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -217,15 +217,14 @@ static WasmType onyx_type_to_wasm_type(Type* type) { return WASM_TYPE_VOID; } -#define WI(instr) bh_arr_push(code, ((WasmInstruction){ instr, 0x00 })); -#define WID(instr, data) bh_arr_push(code, ((WasmInstruction){ instr, data })); +#define WI(instr) bh_arr_push(code, ((WasmInstruction){ instr, 0x00 })) +#define WID(instr, data) bh_arr_push(code, ((WasmInstruction){ instr, data })) #define COMPILE_FUNC(kind, ...) static void compile_ ## kind (OnyxWasmModule* mod, bh_arr(WasmInstruction)* pcode, __VA_ARGS__) COMPILE_FUNC(function_body, AstFunction* fd); COMPILE_FUNC(block, AstBlock* block); COMPILE_FUNC(statement, AstNode* stmt); -COMPILE_FUNC(assign_lval, AstTyped* lval); -COMPILE_FUNC(assignment, AstAssign* assign); +COMPILE_FUNC(assignment, AstBinaryOp* assign); COMPILE_FUNC(if, AstIf* if_node); COMPILE_FUNC(while, AstWhile* while_node); COMPILE_FUNC(binop, AstBinaryOp* binop); @@ -297,38 +296,58 @@ COMPILE_FUNC(statement, AstNode* stmt) { switch (stmt->kind) { case Ast_Kind_Return: compile_return(mod, &code, (AstReturn *) stmt); break; - case Ast_Kind_Assignment: compile_assignment(mod, &code, (AstAssign *) stmt); break; case Ast_Kind_If: compile_if(mod, &code, (AstIf *) stmt); break; case Ast_Kind_While: compile_while(mod, &code, (AstWhile *) stmt); break; case Ast_Kind_Break: compile_structured_jump(mod, &code, 0); break; case Ast_Kind_Continue: compile_structured_jump(mod, &code, 1); break; case Ast_Kind_Block: compile_block(mod, &code, (AstBlock *) stmt); break; - - case Ast_Kind_Call: - case Ast_Kind_Intrinsic_Call: - compile_expression(mod, &code, (AstTyped *) stmt); - break; - - - default: break; + default: compile_expression(mod, &code, (AstTyped *) stmt); break; } *pcode = code; } -COMPILE_FUNC(assign_lval, AstTyped* lval) { +COMPILE_FUNC(assignment, AstBinaryOp* assign) { bh_arr(WasmInstruction) code = *pcode; - if (lval->kind == Ast_Kind_Local || lval->kind == Ast_Kind_Param) { + AstTyped* lval = assign->left; + + if (lval->kind == Ast_Kind_Local) { i32 localidx = (i32) bh_imap_get(&mod->local_map, (u64) lval); + compile_expression(mod, &code, assign->right); WID(WI_LOCAL_SET, localidx); } else if (lval->kind == Ast_Kind_Global) { i32 globalidx = (i32) bh_imap_get(&mod->global_map, (u64) lval); + compile_expression(mod, &code, assign->right); WID(WI_GLOBAL_SET, globalidx); + } else if (lval->kind == Ast_Kind_Array_Access) { + AstArrayAccess* aa = (AstArrayAccess *) lval; + WID(WI_I32_CONST, aa->elem_size); + compile_expression(mod, &code, aa->expr); + WI(WI_I32_MUL); + compile_expression(mod, &code, aa->addr); + WI(WI_I32_ADD); + + compile_expression(mod, &code, assign->right); + + i32 store_size = aa->type->Basic.size; + i32 is_integer = (aa->type->Basic.flags & Basic_Flag_Integer) + || (aa->type->Basic.flags & Basic_Flag_Pointer); + + if (is_integer) { + if (store_size == 1) WID(WI_I32_STORE_8, ((WasmInstructionData) { 0, 0 })); + else if (store_size == 2) WID(WI_I32_STORE_16, ((WasmInstructionData) { 1, 0 })); + else if (store_size == 4) WID(WI_I32_STORE, ((WasmInstructionData) { 2, 0 })); + else if (store_size == 8) WID(WI_I64_STORE, ((WasmInstructionData) { 3, 0 })); + } else { + if (store_size == 4) WID(WI_F32_STORE, ((WasmInstructionData) { 2, 0 })); + else if (store_size == 8) WID(WI_F64_STORE, ((WasmInstructionData) { 3, 0 })); + } + } else { assert(("Invalid lval", 0)); } @@ -405,15 +424,6 @@ COMPILE_FUNC(while, AstWhile* while_node) { *pcode = code; } -COMPILE_FUNC(assignment, AstAssign* assign) { - bh_arr(WasmInstruction) code = *pcode; - - compile_expression(mod, &code, assign->expr); - compile_assign_lval(mod, &code, assign->lval); - - *pcode = code; -} - // NOTE: These need to be in the same order as // the OnyxBinaryOp enum static const WasmInstructionType binop_map[][4] = { @@ -435,6 +445,12 @@ static const WasmInstructionType binop_map[][4] = { COMPILE_FUNC(binop, AstBinaryOp* binop) { bh_arr(WasmInstruction) code = *pcode; + if (binop_is_assignment(binop)) { + compile_assignment(mod, &code, binop); + *pcode = code; + return; + } + b32 is_sign_significant = 0; switch (binop->operation) { @@ -667,7 +683,6 @@ COMPILE_FUNC(expression, AstTyped* expr) { case Ast_Kind_Block: compile_block(mod, &code, (AstBlock *) expr); break; - case Ast_Kind_Call: compile_call(mod, &code, (AstCall *) expr); break; @@ -676,9 +691,46 @@ COMPILE_FUNC(expression, AstTyped* expr) { compile_intrinsic_call(mod, &code, (AstIntrinsicCall *) expr); break; + case Ast_Kind_Array_Access: { + AstArrayAccess* aa = (AstArrayAccess *) expr; + WID(WI_I32_CONST, aa->elem_size); + compile_expression(mod, &code, aa->expr); + WI(WI_I32_MUL); + compile_expression(mod, &code, aa->addr); + WI(WI_I32_ADD); + + i32 load_size = aa->type->Basic.size; + i32 is_integer = (aa->type->Basic.flags & Basic_Flag_Integer) + || (aa->type->Basic.flags & Basic_Flag_Pointer); + i32 is_unsigned = aa->type->Basic.flags & Basic_Flag_Unsigned; + + WasmInstructionType instr = WI_NOP; + i32 alignment = log2_dumb(load_size); + + if (is_integer) { + if (load_size == 1) instr = WI_I32_LOAD_8_S; + else if (load_size == 2) instr = WI_I32_LOAD_16_S; + else if (load_size == 4) instr = WI_I32_LOAD; + else if (load_size == 8) instr = WI_I64_LOAD; + + if (alignment < 4 && is_unsigned) instr += 1; + } else { + if (load_size == 4) instr = WI_F32_LOAD; + else if (load_size == 8) instr = WI_F64_LOAD; + } + + if (instr != WI_NOP) { + WID(instr, ((WasmInstructionData) { alignment, 0 })); + } else { + DEBUG_HERE; + } + + break; + } + default: - DEBUG_HERE; bh_printf("Unhandled case: %d\n", expr->kind); + DEBUG_HERE; assert(0); } @@ -1064,6 +1116,23 @@ static i32 output_name(const char* start, i32 length, bh_buffer* buff) { return buff->length - prev_len; } +static i32 output_limits(i32 min, i32 max, bh_buffer* buff) { + i32 leb_len, prev_len = buff->length; + u8* leb; + + bh_buffer_write_byte(buff, (max >= 0) ? 0x01 : 0x00); + + leb = uint_to_uleb128((u64) min, &leb_len); + bh_buffer_append(buff, leb, leb_len); + + if (max >= 0) { + leb = uint_to_uleb128((u64) max, &leb_len); + bh_buffer_append(buff, leb, leb_len); + } + + return buff->length - prev_len; +} + static i32 output_functype(WasmFuncType* type, bh_buffer* buff) { i32 prev_len = buff->length; @@ -1133,6 +1202,28 @@ static i32 output_funcsection(OnyxWasmModule* module, bh_buffer* buff) { return buff->length - prev_len; } +static i32 output_memorysection(OnyxWasmModule* module, bh_buffer* buff) { + i32 prev_len = buff->length; + bh_buffer_write_byte(buff, WASM_SECTION_ID_MEMORY); + + bh_buffer vec_buff; + bh_buffer_init(&vec_buff, buff->allocator, 128); + + i32 leb_len; + u8* leb = uint_to_uleb128((u64) 1, &leb_len); + bh_buffer_append(&vec_buff, leb, leb_len); + + output_limits(4, 20, &vec_buff); + + leb = uint_to_uleb128((u64) (vec_buff.length), &leb_len); + bh_buffer_append(buff, leb, leb_len); + + bh_buffer_concat(buff, vec_buff); + bh_buffer_free(&vec_buff); + + return buff->length - prev_len; +} + static i32 output_globalsection(OnyxWasmModule* module, bh_buffer* buff) { i32 prev_len = buff->length; bh_buffer_write_byte(buff, WASM_SECTION_ID_GLOBAL); @@ -1317,6 +1408,35 @@ static void output_instruction(WasmInstruction* instr, bh_buffer* buff) { bh_buffer_append(buff, leb, leb_len); break; + case WI_I32_STORE: + case WI_I32_STORE_8: + case WI_I32_STORE_16: + case WI_I64_STORE: + case WI_I64_STORE_8: + case WI_I64_STORE_16: + case WI_I64_STORE_32: + case WI_F32_STORE: + case WI_F64_STORE: + case WI_I32_LOAD: + case WI_I32_LOAD_8_S: + case WI_I32_LOAD_8_U: + case WI_I32_LOAD_16_S: + case WI_I32_LOAD_16_U: + case WI_I64_LOAD: + case WI_I64_LOAD_8_S: + case WI_I64_LOAD_8_U: + case WI_I64_LOAD_16_S: + case WI_I64_LOAD_16_U: + case WI_I64_LOAD_32_S: + case WI_I64_LOAD_32_U: + case WI_F32_LOAD: + case WI_F64_LOAD: + leb = uint_to_uleb128((u64) instr->data.i1, &leb_len); + bh_buffer_append(buff, leb, leb_len); + leb = uint_to_uleb128((u64) instr->data.i2, &leb_len); + bh_buffer_append(buff, leb, leb_len); + break; + case WI_I32_CONST: leb = int_to_leb128((i64) instr->data.i1, &leb_len); bh_buffer_append(buff, leb, leb_len); @@ -1393,6 +1513,7 @@ void onyx_wasm_module_write_to_file(OnyxWasmModule* module, bh_file file) { output_typesection(module, &master_buffer); output_importsection(module, &master_buffer); output_funcsection(module, &master_buffer); + output_memorysection(module, &master_buffer); output_globalsection(module, &master_buffer); output_exportsection(module, &master_buffer); output_startsection(module, &master_buffer); -- 2.25.1