diff options
author | Baitinq <manuelpalenzuelamerino@gmail.com> | 2025-01-08 23:49:27 +0100 |
---|---|---|
committer | Baitinq <manuelpalenzuelamerino@gmail.com> | 2025-01-08 23:49:27 +0100 |
commit | dfa9ef4a951c4d498893a80728aa84734bf33775 (patch) | |
tree | 9adafce2199b1407f4a82e3a85b6270bb150cb43 /src/main.zig | |
parent | Misc: Dont crash REPL if parsing fails (diff) | |
download | interpreter-dfa9ef4a951c4d498893a80728aa84734bf33775.tar.gz interpreter-dfa9ef4a951c4d498893a80728aa84734bf33775.tar.bz2 interpreter-dfa9ef4a951c4d498893a80728aa84734bf33775.zip |
Evaluator: Implement first version of evaluator that handles print statements
Diffstat (limited to 'src/main.zig')
-rw-r--r-- | src/main.zig | 6 |
1 files changed, 6 insertions, 0 deletions
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 { |