diff options
author | kdx <kdx@42l.fr> | 2023-01-19 00:29:29 +0100 |
---|---|---|
committer | kdx <kdx@42l.fr> | 2023-01-19 00:30:20 +0100 |
commit | 08ee35a3c6d5cf5ec89d55c6f25f4acdfe703b13 (patch) | |
tree | 9f9c215ddf14389584f78177fef292dcffdb2099 | |
parent | a4ed47d2e35d2e596c06ece8f2513a2716d0e19a (diff) | |
download | hare-brainfuck-08ee35a3c6d5cf5ec89d55c6f25f4acdfe703b13.tar.gz |
-rw-r--r-- | exec.ha | 12 | ||||
-rw-r--r-- | test.bf | 2 |
2 files changed, 9 insertions, 5 deletions
@@ -4,8 +4,10 @@ use os; fn exec(bf: *Brainfuck, b: []const u8) void = { for (let i = 0z; i < len(b); i += 1) { switch (b[i]) { - case '+' => bf.mem[bf.ptr] += 1; - case '-' => bf.mem[bf.ptr] -= 1; + case '+' => + bf.mem[bf.ptr] += 1; + case '-' => + bf.mem[bf.ptr] -= 1; case '<' => if (bf.ptr > 0) bf.ptr -= 1 @@ -16,8 +18,10 @@ fn exec(bf: *Brainfuck, b: []const u8) void = { bf.ptr += 1 else bf.ptr = 0; - case '.' => io::write(os::stdout, bf.mem[bf.ptr..bf.ptr])!; - case ',' => io::read(os::stdin, bf.mem[bf.ptr..bf.ptr])!; + case '.' => + io::write(os::stdout, bf.mem[bf.ptr .. bf.ptr + 1])!; + case ',' => + io::read(os::stdin, bf.mem[bf.ptr .. bf.ptr + 1])!; case => continue; }; }; @@ -10,4 +10,4 @@ j+++ dawjdwadjwa A-da_d-wad AW-d_DW- -,.+,-.+..-.. +,.>,<.>..<.. |