From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OGBxMvY+8Waf9wAAqHPOHw:P1 (envelope-from ) for ; Mon, 23 Sep 2024 12:12:06 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id OGBxMvY+8Waf9wAAqHPOHw (envelope-from ) for ; Mon, 23 Sep 2024 12:12:06 +0200 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=q4OC2puF; dkim=pass header.d=maniero.me header.s=hostingermail1 header.b=D5DTLhmj; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=none) header.from=maniero.me; arc=pass ("mailchannels.net:s=arc-2022:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1727086326; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=Nx/T95t0YSevIh8HQQscB12ASLNfmXoU+qFavEr0GTM=; b=anmiEIHTPstXO5H/srwKEO3tz8iY32p6UDSjKHg0Vl1s3voG6TufOWuFzH1xfd4B1dqZyW E9xAnIQVnrCk8G07CvVpVeZy6AmzeSPl27Myw0e7CMnQIQyVvGjKpbPVYRloZXyQ6mGZcP qnZM37IIxkcGSlW/62W3W5UfoO1HvWiBOQGun6icSx4wn317XUhNr4yjuAkxIzY8Y8mjHN IKRcTKaC+YCICvAioR2Q5Y/Flc5DsJnNmX5IASxsj0F7OKTm4vATwaKFQOoXQ3vQhsO+lF VSzx19tEqOUp0imT48IsqF9QMJAZpMPn9dSvQcSklx3Mgot/kxwKVKGIHA7kbA== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=q4OC2puF; dkim=pass header.d=maniero.me header.s=hostingermail1 header.b=D5DTLhmj; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=none) header.from=maniero.me; arc=pass ("mailchannels.net:s=arc-2022:i=1") ARC-Seal: i=2; s=key1; d=johnnyrichard.com; t=1727086326; a=rsa-sha256; cv=pass; b=1FleLYuRjgl0I0aRAJZoJthyA1aWKtwp6JRGZW9fLoCCNWDKGH7/MznSfnNqWpH5Nx3dik imgjf6KQMTTe5IIVNeAqEYho0pH0RvhzoR48DOlxmoqEvn72TjWjq7szXE9u9SwftujdAK Z8cvXA+6eP63TBsYd0AibN30LQVw5baGzn+WKLJ72J0QtFIgH+S/OKbxDnJ8uDnTAunQ/l 6TJz9zEUV85VJ3Yu++2G1MRfQReNHVFQ1IBVu8KILpi0RolzqgTF+fEAYFbUOiEHPLOkbV 4DjvB28qD7U0b4XzEWJauTYA111xeqpD2N6mj1U1ATKDgGNAW7fj+jW0zl+4OA== Received: from mail-a.sr.ht (mail-a.sr.ht [46.23.81.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 70F7C364C6 for ; Mon, 23 Sep 2024 12:12:06 +0200 (CEST) DKIM-Signature: a=rsa-sha256; bh=jpjspwoHcH6QJ5BiMCKOGhxk/6sB4fXByy7oeKAqqSo=; c=simple/simple; d=lists.sr.ht; h=From:To:Cc:Subject:In-Reply-To:References:Date:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-ID; q=dns/txt; s=20240113; t=1727086320; v=1; b=q4OC2puF1HgwjzgKyNmBhc17c3pLFetzo7Jy2jAuyL5cGeUS7yJ7wEipT8x8JLpNsMHx/tcy jEQSkTPfQXATbwRjD4pLPwP/TxjI56GLVkm9757pRHO2xwNIYw0gzfiGAHeW8l35kcrlqJZW/Pe MgDOJSUbQOLz7UUwn9cYuiQvbb3DDmMgbMbdsUIWRMwT2AnXo5J4YPKOZMDNyQGN0rxTlyX9GCh Mc1/IPSDAVY2iGh4O10akG31hfLe+Kw6LlQvtvP2/sUosZkYtB8YZYHb5OLVVq/P2DiFM+K0B5r pT8Ub1nAir0lEnfmIyqThCd4Cb2OPMOdCStc1H/jj9HKw== Received: from lists.sr.ht (unknown [46.23.81.154]) by mail-a.sr.ht (Postfix) with ESMTPSA id C77EC20230 for ; Mon, 23 Sep 2024 10:12:00 +0000 (UTC) Received: from silver.cherry.relay.mailchannels.net (silver.cherry.relay.mailchannels.net [23.83.223.166]) by mail-a.sr.ht (Postfix) with ESMTPS id C4F7B20105 for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 23 Sep 2024 10:11:56 +0000 (UTC) X-Sender-Id: hostingeremail|x-authuser|carlos@maniero.me Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 676D7909C77 for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 23 Sep 2024 10:11:55 +0000 (UTC) Received: from fr-int-smtpout5.hostinger.io (unknown [127.0.0.6]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id A18A6909E21 for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 23 Sep 2024 10:11:54 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1727086315; a=rsa-sha256; cv=none; b=aJyc1KYvZcBM5BFavCQckti1KPofsfNHGfIgj40epifgOFQIytsDu8osRcg1JNpEWGxLXr MdAYhZ7ZaMu8BwwtVJ2mNz9KyMfwuMg/YvI3LU6/sEXNhzDnZ4h3ubUFN1A4uTXNlNlOrk BkbirCA73adYkAUMReteyo7QGu8rji64MoYwV4TDdzFAFAkA1R0o+1lb20gj3t3X43g6nM TGppj4PV3cQlUd6FVtlvlH/35y+HeLItNdnAIrpZicMYiTBBT/JB9DeNMhurKHLS4dLsbt HsxUn5wRDQxJD7HID4s4Dg6fpM6s2PNxvi/4sPqSrAGv0xktFyDJqbIBA7Wu4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1727086315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Nx/T95t0YSevIh8HQQscB12ASLNfmXoU+qFavEr0GTM=; b=yFggFrQNUqI/9nPtS/WFdv1TZkI543YejdOklUuVzqZ7VGxWxLWc3kk+IdRovExZ0sD30K IMlbFvkrb6Ss9MT35szvQin6OkCb1+f7dIX3VcqrYDkVK6tVYtdS6NhoqcgOUnO82u0qIG nEkzMk6mB1CG61OeihVqLqaQVCAkrhJPxu7Z1Gk92gnyKB2vLM9YP19NXjkLJYhKkeBnRA smaW8uQfse6LnLdKbDrolfS4735uVUcum08/Cga8mCSSW7f0YC0hU/RkuenHEcujpTrXCb pkb+PMfxR4DhsbmDDQ1tNFui2Qcv6juu0uqfyvSoRVLQatJXziRyCR7Wixd+2g== ARC-Authentication-Results: i=1; rspamd-b5ccff48b-2mst5; auth=pass smtp.auth=hostingeremail smtp.mailfrom=carlos@maniero.me X-Sender-Id: hostingeremail|x-authuser|carlos@maniero.me X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|carlos@maniero.me X-MailChannels-Auth-Id: hostingeremail X-Turn-Desert: 0096e7725a76a9f0_1727086315316_294762621 X-MC-Loop-Signature: 1727086315316:867169777 X-MC-Ingress-Time: 1727086315316 Received: from fr-int-smtpout5.hostinger.io (fr-int-smtpout5.hostinger.io [89.116.146.168]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.117.173.118 (trex/7.0.2); Mon, 23 Sep 2024 10:11:55 +0000 From: Carlos Maniero DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maniero.me; s=hostingermail1; t=1727086312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Nx/T95t0YSevIh8HQQscB12ASLNfmXoU+qFavEr0GTM=; b=D5DTLhmjO/uETIA0tdfCyRDerFTe8mJcEuHT5jmVL22M2qHzd0+uf8oxxrZmp3KV+JxnEW vkcjT9LbY2sf0I1GKZQstLGuldZGMQJ/+r4wiaOTdUyJACWR41M5f6KZv/nCQvkNC9tDJd ecZm2jYOvRuvD0O6JJN+GycfjFlaLleHBwzVmFBQSdBurxUfTVDhQeEi4ZRERp98PUvfUM 46efT7HtBYfnVqZN9VMebgVFtc619qXLVh9gpQ/xrjXzG9oeuowx0BMlbNMgFUA5LB2dtr +z3J/ZLJTvPlTtUezQsGAK4BOWqKYre4XTWexXIN4nINegP3Lfs7EU+MgzULvA== To: ~johnnyrichard/olang-devel@lists.sr.ht Cc: Carlos Maniero Subject: [PATCH olang v1 1/3] ast: return_stmt rename expr field and add it to the factory fn Message-Id: <20240923101141.76783-2-carlos@maniero.me> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240923101141.76783-1-carlos@maniero.me> References: <20240923101141.76783-1-carlos@maniero.me> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Date: Mon, 23 Sep 2024 10:11:52 +0000 (UTC) X-CM-Analysis: v=2.4 cv=SpTC6+O0 c=1 sm=1 tr=0 ts=66f13ee8 a=WwxFCuf3mf1fs3oSi6/dng==:117 a=WwxFCuf3mf1fs3oSi6/dng==:17 a=iA8nSwyxL9--KYTu:21 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=cf0WJSCAhD8IjUe1mh0A:9 a=BXDaF_L80NY05PYiAFlV:22 X-CM-Envelope: MS4xfAjttU9nRVldXn6DB6fzgUHjkgHIuI4CVQq6Dtjl5j1ZL15HtFF9X+O6gBnIRdIG0CNzspuwlsZRxSymBvZE1Bd7jprAkn/RutpG6+yIll9oazSOXV/7 RB2D9gr+xHnpMWVWCtqC6/DL/Q9KBl3MJ0JCNSD4AmXSBeXu13WFEtf77mO98rHGB35ZXfEXBW5GRfDdK1tSoRl4W+eb/Sn5elZwv6TqtWL8FAQl5q+mqae1 X-AuthUser: carlos@maniero.me X-Sourcehut-Patchset-Status: UNKNOWN List-Unsubscribe: List-Subscribe: List-Archive: Archived-At: List-Post: List-ID: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel.lists.sr.ht> Sender: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel@lists.sr.ht> X-Migadu-Flow: FLOW_IN X-Migadu-Country: NL X-Migadu-Spam-Score: -0.16 X-Spam-Score: -0.16 X-Migadu-Queue-Id: 70F7C364C6 X-Migadu-Scanner: mx10.migadu.com X-TUID: fDtaphpSV2+7 The name *data* field was not very meaningful. The *ast_new_node_return_stmt* was not receiving the expr as argument, it was changed to keep it consistent, once we always expect the factory functions to return a valid ast_node. Signed-off-by: Carlos Maniero --- src/ast.c | 3 ++- src/ast.h | 5 ++--- src/checker.c | 2 +- src/codegen_linux_aarch64.c | 2 +- src/codegen_linux_x86_64.c | 2 +- src/parser.c | 6 ++---- src/pretty_print_ast.c | 2 +- tests/unit/parser_test.c | 2 +- 8 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/ast.c b/src/ast.c index 02b938e..a136182 100644 --- a/src/ast.c +++ b/src/ast.c @@ -108,12 +108,13 @@ ast_new_node_ref(arena_t *arena, string_view_t identifier) } ast_node_t * -ast_new_node_return_stmt(arena_t *arena) +ast_new_node_return_stmt(arena_t *arena, ast_node_t *expr) { ast_node_t *node_return_stmt = (ast_node_t *)arena_alloc(arena, sizeof(ast_node_t)); assert(node_return_stmt); node_return_stmt->kind = AST_NODE_RETURN_STMT; + node_return_stmt->as_return_stmt.expr = expr; return node_return_stmt; } diff --git a/src/ast.h b/src/ast.h index 7cb2ceb..e618314 100644 --- a/src/ast.h +++ b/src/ast.h @@ -118,8 +118,7 @@ typedef struct ast_binary_op typedef struct ast_return_stmt { - // FIXME: rename to a meaningful name like expr - ast_node_t *data; + ast_node_t *expr; } ast_return_stmt_t; typedef struct ast_if_stmt @@ -165,7 +164,7 @@ ast_node_t * ast_new_node_ref(arena_t *arena, string_view_t identifier); ast_node_t * -ast_new_node_return_stmt(arena_t *arena); +ast_new_node_return_stmt(arena_t *arena, ast_node_t *expr); ast_node_t * ast_new_node_if_stmt(arena_t *arena, ast_node_t *cond, ast_node_t *then, ast_node_t *_else); diff --git a/src/checker.c b/src/checker.c index 6ffdc72..def7e86 100644 --- a/src/checker.c +++ b/src/checker.c @@ -87,7 +87,7 @@ populate_scope(checker_t *checker, scope_t *scope, ast_node_t *ast) case AST_NODE_RETURN_STMT: { ast_return_stmt_t return_stmt = ast->as_return_stmt; - populate_scope(checker, scope, return_stmt.data); + populate_scope(checker, scope, return_stmt.expr); return; } diff --git a/src/codegen_linux_aarch64.c b/src/codegen_linux_aarch64.c index dafdcc4..18173ce 100644 --- a/src/codegen_linux_aarch64.c +++ b/src/codegen_linux_aarch64.c @@ -81,7 +81,7 @@ codegen_linux_aarch64_emit_function(FILE *out, ast_fn_definition_t *fn) assert(return_node->kind == AST_NODE_RETURN_STMT); ast_return_stmt_t return_stmt = return_node->as_return_stmt; - ast_node_t *literal_node = return_stmt.data; + ast_node_t *literal_node = return_stmt.expr; assert(literal_node->kind == AST_NODE_LITERAL); ast_literal_t literal_u32 = literal_node->as_literal; diff --git a/src/codegen_linux_x86_64.c b/src/codegen_linux_x86_64.c index 25cda2d..e604144 100644 --- a/src/codegen_linux_x86_64.c +++ b/src/codegen_linux_x86_64.c @@ -355,7 +355,7 @@ codegen_linux_x86_64_emit_block(codegen_x86_64_t *codegen, ast_block_t *block) case AST_NODE_RETURN_STMT: { ast_return_stmt_t return_stmt = node->as_return_stmt; - ast_node_t *expr = return_stmt.data; + ast_node_t *expr = return_stmt.expr; codegen_linux_x86_64_emit_expression(codegen, expr); diff --git a/src/parser.c b/src/parser.c index e4d0c56..a63a724 100644 --- a/src/parser.c +++ b/src/parser.c @@ -388,15 +388,13 @@ parser_parse_return_stmt(parser_t *parser) return NULL; } - ast_node_t *node_return_stmt = ast_new_node_return_stmt(parser->arena); - assert(node_return_stmt); - ast_node_t *expr = parser_parse_expr(parser); if (expr == NULL) { return NULL; } - node_return_stmt->as_return_stmt.data = expr; + ast_node_t *node_return_stmt = ast_new_node_return_stmt(parser->arena, expr); + assert(node_return_stmt); if (!skip_expected_token(parser, TOKEN_LF)) { return NULL; diff --git a/src/pretty_print_ast.c b/src/pretty_print_ast.c index 1fc6dff..a7c75e8 100644 --- a/src/pretty_print_ast.c +++ b/src/pretty_print_ast.c @@ -156,7 +156,7 @@ ast_node_to_pretty_print_node(ast_node_t *ast, arena_t *arena) node->name = "Return_Statement"; - pretty_print_node_t *child = ast_node_to_pretty_print_node(return_stmt.data, arena); + pretty_print_node_t *child = ast_node_to_pretty_print_node(return_stmt.expr, arena); list_append(node->children, child); return node; diff --git a/tests/unit/parser_test.c b/tests/unit/parser_test.c index 2256ffd..ccec460 100644 --- a/tests/unit/parser_test.c +++ b/tests/unit/parser_test.c @@ -66,7 +66,7 @@ parse_program_test(const MunitParameter params[], void *user_data_or_fixture) assert_not_null(node); assert_uint(node->kind, ==, AST_NODE_RETURN_STMT); - ast_node_t *number_node = node->as_return_stmt.data; + ast_node_t *number_node = node->as_return_stmt.expr; assert_not_null(number_node); assert_uint(number_node->kind, ==, AST_NODE_LITERAL); assert_uint(number_node->as_literal.kind, ==, AST_LITERAL_U32); -- 2.34.1