From 5e7d5b3520565b26fd073bae169105dc0ebc6935 Mon Sep 17 00:00:00 2001 From: Baitinq Date: Wed, 8 Jan 2025 23:49:27 +0100 Subject: Evaluator: Implement first version of evaluator that handles print statements --- src/main.zig | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/main.zig') diff --git a/src/main.zig b/src/main.zig index c8ebcfe..4a0f9ef 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,6 +1,7 @@ const std = @import("std"); const tokenizer = @import("tokenizer.zig"); const parser = @import("parser.zig"); +const evaluator = @import("evaluator.zig"); pub fn main() !void { const stdout = std.io.getStdOut().writer(); @@ -56,6 +57,11 @@ fn process_buf(buf: []u8, allocator: std.mem.Allocator) !void { defer arena.deinit(); const ast = try source_parser.parse(); std.debug.print("AST: {any}\n", .{ast}); + + const source_evaluator = try evaluator.Evaluator.init(allocator); + defer source_evaluator.deinit(); + const result = try source_evaluator.evaluate_ast(ast); + std.debug.print("Evaluation result: {any}\n", .{result}); } test { -- cgit 1.4.1