about summary refs log tree commit diff
path: root/src/evaluator.zig
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-01-23 19:37:08 +0100
committerBaitinq <[email protected]>2025-01-23 19:37:08 +0100
commit157c13d11fdd8ed3b32d7c30117b958b5db3ee98 (patch)
tree87f2aa76d1794c2bf61380975ee8237cbd638e17 /src/evaluator.zig
parentParser: Better functions as values (diff)
downloadinterpreter-157c13d11fdd8ed3b32d7c30117b958b5db3ee98.tar.gz
interpreter-157c13d11fdd8ed3b32d7c30117b958b5db3ee98.tar.bz2
interpreter-157c13d11fdd8ed3b32d7c30117b958b5db3ee98.zip
Misc: Rename allocator
Diffstat (limited to 'src/evaluator.zig')
-rw-r--r--src/evaluator.zig26
1 files changed, 12 insertions, 14 deletions
diff --git a/src/evaluator.zig b/src/evaluator.zig
index 798d66c..ec6a698 100644
--- a/src/evaluator.zig
+++ b/src/evaluator.zig
@@ -18,15 +18,14 @@ pub const Evaluator = struct {
     ast: ?*parser.Node,
     environment: *Environment,
 
-    allocator: std.mem.Allocator,
+    arena: std.mem.Allocator,
 
-    pub fn init(arena_allocator: *std.heap.ArenaAllocator) !*Evaluator {
-        const allocator = arena_allocator.allocator();
-        const evaluator = try allocator.create(Evaluator);
+    pub fn init(arena_allocator: std.mem.Allocator) !*Evaluator {
+        const evaluator = try arena_allocator.create(Evaluator);
         evaluator.* = .{
             .ast = null,
             .environment = try Environment.init(arena_allocator),
-            .allocator = allocator,
+            .arena = arena_allocator,
         };
         return evaluator;
     }
@@ -248,7 +247,7 @@ pub const Evaluator = struct {
     }
 
     fn create_variable(self: *Evaluator, variable_value: Variable) !*Variable {
-        const variable = try self.allocator.create(Variable);
+        const variable = try self.arena.create(Variable);
         variable.* = variable_value;
         return variable;
     }
@@ -261,15 +260,14 @@ const Scope = struct {
 const Environment = struct {
     scope_stack: std.ArrayList(*Scope),
 
-    allocator: std.mem.Allocator,
+    arena: std.mem.Allocator,
 
-    fn init(arena_allocator: *std.heap.ArenaAllocator) !*Environment {
-        const allocator = arena_allocator.allocator();
-        const self = try allocator.create(Environment);
+    fn init(arena_allocator: std.mem.Allocator) !*Environment {
+        const self = try arena_allocator.create(Environment);
 
         self.* = .{
-            .scope_stack = std.ArrayList(*Scope).init(allocator),
-            .allocator = allocator,
+            .scope_stack = std.ArrayList(*Scope).init(arena_allocator),
+            .arena = arena_allocator,
         };
 
         // Create global scope
@@ -279,9 +277,9 @@ const Environment = struct {
     }
 
     fn create_scope(self: *Environment) !void {
-        const scope = try self.allocator.create(Scope);
+        const scope = try self.arena.create(Scope);
         scope.* = .{
-            .variables = std.StringHashMap(?*Variable).init(self.allocator),
+            .variables = std.StringHashMap(?*Variable).init(self.arena),
         };
         try self.scope_stack.append(scope);
     }