stackr_rs/interpreter/
stack_value.rs

1use super::*;
2
3#[derive(Debug, PartialEq, Clone)]
4pub enum StackValue {
5    Address(Address),
6    Value(Value),
7}
8impl From<f32> for StackValue {
9    fn from(value: f32) -> Self {
10        StackValue::Value(Value::Number(value))
11    }
12}
13impl From<Address> for StackValue {
14    fn from(value: Address) -> Self {
15        StackValue::Address(value)
16    }
17}
18
19impl From<&Address> for StackValue {
20    fn from(value: &Address) -> Self {
21        StackValue::Address(value.clone())
22    }
23}
24impl From<Value> for StackValue {
25    fn from(value: Value) -> Self {
26        StackValue::Value(value)
27    }
28}