about summary refs log tree commit diff
path: root/src/main.zig
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-01-08 21:32:26 +0100
committerBaitinq <[email protected]>2025-01-08 21:32:26 +0100
commit26c258b0157e4e4e0b3005496828a406f49f609d (patch)
tree7a8b144b44e9968930bf9ae40f751ec541805541 /src/main.zig
parentParser: Prepare for variable statement parsing (diff)
downloadinterpreter-26c258b0157e4e4e0b3005496828a406f49f609d.tar.gz
interpreter-26c258b0157e4e4e0b3005496828a406f49f609d.tar.bz2
interpreter-26c258b0157e4e4e0b3005496828a406f49f609d.zip
Parser: Use arena allocator
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main.zig b/src/main.zig
index 86ba202..e6de7f9 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -49,10 +49,10 @@ fn process_buf(buf: []u8, allocator: std.mem.Allocator) !void {
         std.debug.print("{any}\n", .{token});
     }
 
-    const source_parser = try parser.Parser.init(token_list.items, allocator);
-    errdefer source_parser.deinit(null);
+    var arena = std.heap.ArenaAllocator.init(allocator);
+    const source_parser = try parser.Parser.init(token_list.items, arena.allocator());
+    defer arena.deinit();
     const ast = try source_parser.parse();
-    defer source_parser.deinit(@constCast(ast));
     std.debug.print("AST: {any}\n", .{ast});
 }