From a93f7edd62681e9409625fc079fbb0997617bbd9 Mon Sep 17 00:00:00 2001 From: janis Date: Sun, 2 Nov 2025 18:12:29 +0100 Subject: [PATCH] deref needs a value --- lang/src/ast.asm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lang/src/ast.asm b/lang/src/ast.asm index f14f7a4..30db7ed 100644 --- a/lang/src/ast.asm +++ b/lang/src/ast.asm @@ -193,6 +193,7 @@ parse_args: mov rdx, 0 ; drop = None mov rcx, 16 ; capacity call vec_init_with + nop .loop: mov dil, TOKEN_RPARENS @@ -554,8 +555,11 @@ parse_statement: jnz .let mov dil, TOKEN_LBRACE call peek_expect_token ; parse_block expects lbrace to still be there + test rax, rax jnz .block - jmp .panic + mov rdi, [rsp] ; Ast + call parse_expr + jmp .epilogue .block: mov rdi, [rsp] ; Ast @@ -750,6 +754,11 @@ parse_prefix_expr: mov rdi, [rsp] ; Ast call parse_prefix_expr + mov rdi, [rsp] ; Ast + mov rsi, rax ; expr + ; mov rdx, rdx ; placeness + call ast_place_to_value + mov qword [rsp + 8], AST_DEREF ; AstNode.kind mov [rsp + 16], rax ; AstNode.data mov qword [rsp + 24], 0 ; AstNode.extra