diff options
Diffstat (limited to 'src/libzisp.zig')
| -rw-r--r-- | src/libzisp.zig | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/libzisp.zig b/src/libzisp.zig index df8422b..ceee3f6 100644 --- a/src/libzisp.zig +++ b/src/libzisp.zig @@ -352,11 +352,17 @@ fn parseBench(path: []const u8, iters: usize) !void { var timer = try std.time.Timer.start(); for (0..iters) |i| { _ = i; - var br = std.io.bufferedReader(file.reader()); - const reader = br.reader().any(); + // var br = std.io.bufferedReader(file.reader()); + // const reader = br.reader().any(); + const reader = file.reader().any(); var v: Value = undefined; while (true) { - v = io.parser.parse(reader); + v = io.parser._parse(reader) catch |e| { + std.debug.print("\nfile pos: {}\n", .{ + try file.getPos(), + }); + return e; + }; if (value.eof.check(v)) { break; } @@ -374,7 +380,7 @@ fn parseBench(path: []const u8, iters: usize) !void { test "parse bench" { try parseBench("test-data/parser-test-1.scm", 1000); try parseBench("test-data/parser-test-2.scm", 1000); - // try parseBench("test-data/parser-torture.scm", 1); + try parseBench("test-data/parser-torture.scm", 1); } test "unparse" { @@ -423,7 +429,7 @@ test "unparse5" { test "unparse6" { const w = std.io.getStdErr().writer(); - const v = parseString("(foo .bar ... baz. bat.(qux))"); + const v = parseString("(foo bar ... baz bat.(qux))"); try io.unparser.unparse(w, v); try w.writeByte('\n'); } |
