use fmt; use os; use strings; let bf: Brainfuck = Brainfuck { ptr = 0, mem = [0...] }; export fn main() void = { if (len(os::args) != 2) fmt::fatal("usage: hare-brainfuck "); const buf = drain(os::args[1]); defer free(buf); const buf = optimize(buf); fmt::println("optimized source", strings::fromutf8(buf)!)!; exec(&bf, buf); };