91 case '>' => (pc + 1, mp + 1, mem) |
91 case '>' => (pc + 1, mp + 1, mem) |
92 case '<' => (pc + 1, mp - 1, mem) |
92 case '<' => (pc + 1, mp - 1, mem) |
93 case '+' => (pc + 1, mp, write(mem, mp, sread(mem, mp) + 1)) |
93 case '+' => (pc + 1, mp, write(mem, mp, sread(mem, mp) + 1)) |
94 case '-' => (pc + 1, mp, write(mem, mp, sread(mem, mp) - 1)) |
94 case '-' => (pc + 1, mp, write(mem, mp, sread(mem, mp) - 1)) |
95 case '.' => { print(sread(mem, mp).toChar); (pc + 1, mp, mem) } |
95 case '.' => { print(sread(mem, mp).toChar); (pc + 1, mp, mem) } |
96 case ',' => (pc + 1, mp, write(mem, mp, Console.in.read().toByte)) |
96 case ',' => (pc + 1, mp, write(mem, mp, scala.io.StdIn.readByte())) |
97 case '[' => |
97 case '[' => |
98 if (sread(mem, mp) == 0) (jumpRight(prog, pc + 1, 0), mp, mem) else (pc + 1, mp, mem) |
98 if (sread(mem, mp) == 0) (jumpRight(prog, pc + 1, 0), mp, mem) else (pc + 1, mp, mem) |
99 case ']' => |
99 case ']' => |
100 if (sread(mem, mp) != 0) (jumpLeft(prog, pc - 1, 0), mp, mem) else (pc + 1, mp, mem) |
100 if (sread(mem, mp) != 0) (jumpLeft(prog, pc - 1, 0), mp, mem) else (pc + 1, mp, mem) |
101 case _ => (pc + 1, mp, mem) |
101 case _ => (pc + 1, mp, mem) |