stackr_rs/interpreter/
stack_value.rs

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
use super::*;

#[derive(Debug, PartialEq, Clone)]
pub enum StackValue {
    Address(Address),
    Value(Value),
}
impl From<f32> for StackValue {
    fn from(value: f32) -> Self {
        StackValue::Value(Value::Number(value))
    }
}
impl From<Address> for StackValue {
    fn from(value: Address) -> Self {
        StackValue::Address(value)
    }
}

impl From<&Address> for StackValue {
    fn from(value: &Address) -> Self {
        StackValue::Address(value.clone())
    }
}
impl From<Value> for StackValue {
    fn from(value: Value) -> Self {
        StackValue::Value(value)
    }
}