pub enum OpCode { CONSTANT, ADD, SUB, MUL, DIV, MOD, PRINT, ERR, } impl From for u8 { fn from(value: OpCode) -> Self { use OpCode::*; match value { CONSTANT => 0x00, ADD => 0x01, SUB => 0x02, MUL => 0x03, DIV => 0x04, MOD => 0x05, PRINT => 0xFE, ERR => 0xFF } } } impl From for OpCode { fn from(value: u8) -> Self { use OpCode::*; match value { 0x00 => CONSTANT, 0x01 => ADD, 0x02 => SUB, 0x03 => MUL, 0x04 => DIV, 0x05 => MOD, 0xFE => PRINT, _ => ERR } } }