diff options
Diffstat (limited to 'src/tokens/value.rs')
-rw-r--r-- | src/tokens/value.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/tokens/value.rs b/src/tokens/value.rs deleted file mode 100644 index e421bd5..0000000 --- a/src/tokens/value.rs +++ /dev/null @@ -1,32 +0,0 @@ -pub enum Value { - Byte(u8), - Double(u16), -} - -impl std::fmt::Display for Value { - fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { - match self { - Self::Byte(value) => write!(f, "0x{value:02x}"), - Self::Double(value) => write!(f, "0x{value:04x}"), - } - } -} - - -impl std::str::FromStr for Value { - type Err = (); - - fn from_str(token: &str) -> Result<Self, Self::Err> { - match token.len() { - 2 => match u8::from_str_radix(&token, 16) { - Ok(value) => Ok(Value::Byte(value)), - Err(_) => Err(()), - } - 4 => match u16::from_str_radix(&token, 16) { - Ok(value) => Ok(Value::Double(value)), - Err(_) => Err(()), - } - _ => Err(()), - } - } -} |