use std::fmt;
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
pub enum Instruction {
IncPtr,
DecPtr,
IncVal,
DecVal,
Output,
Input,
SkipForward(usize),
SkipBackward(usize),
}
impl fmt::Display for Instruction {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
Instruction::IncPtr => write!(f, ">"),
Instruction::DecPtr => write!(f, "<"),
Instruction::IncVal => write!(f, "+"),
Instruction::DecVal => write!(f, "-"),
Instruction::Output => write!(f, "."),
Instruction::Input => write!(f, ","),
Instruction::SkipForward(_) => write!(f, "["),
Instruction::SkipBackward(_) => write!(f, "]"),
}
}
}
#[cfg(test)]
mod tests {}