diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2026-06-22 18:22:36 +0200 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2026-06-22 18:22:36 +0200 |
| commit | 476632d9559b1e3bacbd226df336116cac8544ea (patch) | |
| tree | 5ad54d955ca676033538c9e93828093f039239d1 /src/main.zig | |
| parent | 0245f1c238b232834a1a1b76d660aa3b626d832f (diff) | |
Improvements.
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 21 |
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); } } |
