1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use std::fmt;
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Instruction {
Right,
Left,
Increment,
Decrement,
Write,
Read,
JumpForwardIfZero,
JumpBackwardUnlessZero,
}
impl fmt::Display for Instruction {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", match *self {
Instruction::Right => ">",
Instruction::Left => "<",
Instruction::Increment => "+",
Instruction::Decrement => "-",
Instruction::Write => ".",
Instruction::Read => ",",
Instruction::JumpForwardIfZero => "[",
Instruction::JumpBackwardUnlessZero => "]",
})
}
}