summaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2026-06-22 18:22:36 +0200
committerTaylan Kammer <taylan.kammer@gmail.com>2026-06-22 18:22:36 +0200
commit476632d9559b1e3bacbd226df336116cac8544ea (patch)
tree5ad54d955ca676033538c9e93828093f039239d1 /src/main.zig
parent0245f1c238b232834a1a1b76d660aa3b626d832f (diff)
Improvements.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/main.zig b/src/main.zig
index e601020..d08f9a1 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -1,21 +1,25 @@
const std = @import("std");
const zisp = @import("zisp");
+const gc = zisp.gc;
+const io = zisp.io;
+const value = zisp.value;
+
pub fn main() !u8 {
const alloc = std.heap.smp_allocator;
- const io = std.Io.Threaded.global_single_threaded.io();
+ const gst_io = std.Io.Threaded.global_single_threaded.io();
var stdin_buffer: [4096]u8 = undefined;
- var stdin_reader = std.Io.File.stdin().reader(io, &stdin_buffer);
+ var stdin_reader = std.Io.File.stdin().reader(gst_io, &stdin_buffer);
const reader = &stdin_reader.interface;
var stdout_buffer: [4096]u8 = undefined;
- var stdout_writer = std.Io.File.stdout().writer(io, &stdout_buffer);
+ var stdout_writer = std.Io.File.stdout().writer(gst_io, &stdout_buffer);
const writer = &stdout_writer.interface;
- try zisp.gc.init();
+ try gc.init();
- var p = try zisp.io.Parser.init(alloc);
+ var p = try io.Parser.init(alloc);
defer p.deinit();
while (true) {
const datum = p.run(reader) catch {
@@ -30,16 +34,17 @@ pub fn main() !u8 {
std.debug.print(format, .{ err, pos, unread });
return 1;
};
- if (datum.eq(zisp.value.eof)) {
+ if (datum.eq(value.eof)) {
return 0;
}
try writer.writeAll("0x");
try writer.printInt(datum.bits, 16, .lower, .{});
try writer.writeAll(": ");
- try zisp.io.print(writer, datum);
+ try io.print(writer, datum);
try writer.writeAll("\n");
try writer.flush();
- if (datum.isList()) try zisp.value.list.free(datum);
+ // To test list array free / reuse:
+ if (datum.isList()) try value.list.free(p.alloc, p.list_pool, datum);
}
}