summaryrefslogtreecommitdiff
path: root/src/libzisp.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/libzisp.zig')
-rw-r--r--src/libzisp.zig16
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');
}