From 7e685785bea435a46ad412bc1640e620d9ba4568 Mon Sep 17 00:00:00 2001 From: Judah Caruso Date: Wed, 4 Jun 2025 15:35:08 -0600 Subject: [PATCH] . --- vm/parser.jai | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/vm/parser.jai b/vm/parser.jai index f0b01c7..d8537b8 100644 --- a/vm/parser.jai +++ b/vm/parser.jai @@ -85,22 +85,6 @@ Node :: struct { } } -Node_Print :: struct { - #as using n: Node; - n.kind = .print; - - expr: *Node; -} - -Node_Procedure_Call :: struct { - #as using n: Node; - n.kind = .procedure_call; - - call_expr: *Node; - named_arguments: kv.Kv(*Node, *Node); - all_arguments: [..]*Node; -} - Node_Var :: struct { #as using n: Node; n.kind = .variable; @@ -189,27 +173,23 @@ Node_Type :: struct { } } -/* -fn add(x int, y int) int do return x + y end -*/ - Node_Procedure :: struct { #as using n: Node; n.kind = .procedure; header: *Node_Procedure_Header; - args: [..]Node_Argument; - rets: [..]Node_Argument; + args: [..]Node_Parameter; + rets: [..]Node_Parameter; body: *Node_Block; flags: Flag; Flag :: enum_flags { - inline_; + must_inline; } } -Node_Argument :: struct { +Node_Parameter :: struct { symbol: *Node_Symbol; type: *Node_Type; value: *Node; // always an expression, can be null @@ -220,6 +200,22 @@ Node_Procedure_Header :: struct { rets: [..]*Node_Type; } +Node_Print :: struct { + #as using n: Node; + n.kind = .print; + + expr: *Node; +} + +Node_Procedure_Call :: struct { + #as using n: Node; + n.kind = .procedure_call; + + call_expr: *Node; + named_arguments: kv.Kv(*Node, *Node); + all_arguments: [..]*Node; +} + Node_Block :: struct { #as using n: Node; n.kind = .block;