diff options
author | Baitinq <manuelpalenzuelamerino@gmail.com> | 2025-01-27 23:53:56 +0100 |
---|---|---|
committer | Baitinq <manuelpalenzuelamerino@gmail.com> | 2025-01-27 23:53:56 +0100 |
commit | 523891db57e60ee479bc0710921812941cd359c1 (patch) | |
tree | 0684f2999455af61397fa53971ac8106cb1741a0 /src | |
parent | Codegen: Get the most basic ever example compiling (diff) | |
download | interpreter-523891db57e60ee479bc0710921812941cd359c1.tar.gz interpreter-523891db57e60ee479bc0710921812941cd359c1.tar.bz2 interpreter-523891db57e60ee479bc0710921812941cd359c1.zip |
Codegen: Cleanup
Diffstat (limited to '')
-rw-r--r-- | src/codegen.zig | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 1f4bb46..26e4e15 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -96,8 +96,8 @@ pub const CodeGen = struct { // _ = try self.generate_function_call_statement(@ptrCast(function_call_statement)); // return null; // }, - // .RETURN_STATEMENT => |*return_statement| return try self.generate_return_statement(@ptrCast(return_statement)), - else => {}, + .RETURN_STATEMENT => |*return_statement| return try self.generate_return_statement(@ptrCast(return_statement)), + else => unreachable, } } @@ -120,11 +120,10 @@ pub const CodeGen = struct { //tmp std.debug.assert(assignment_statement.expression.* == parser.Node.FUNCTION_DEFINITION); const function_defintion = assignment_statement.expression.FUNCTION_DEFINITION; - std.debug.print("XD: {any}\n", .{function_defintion.statements[0]}); - std.debug.assert(function_defintion.statements[0].* == parser.Node.STATEMENT); - const xd = function_defintion.statements[0]; - std.debug.assert(xd.STATEMENT.statement.* == parser.Node.RETURN_STATEMENT); - try self.generate_return_statement(xd.STATEMENT.statement); + + for (function_defintion.statements) |stmt| { + try self.generate_statement(stmt); + } } fn generate_return_statement(self: *CodeGen, statement: *parser.Node) !void { |