amvm 0.1.0

Apika's My Virtual Machine. A virtual machine with Intermediate Lenguage
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::runtime::{expr, AmvmResult};
use crate::{AmvmScope, CommandExpression, Value};

pub fn eval(scope: &mut AmvmScope, value: &CommandExpression) -> AmvmResult {
    let value = expr::eval(scope, value)?;

    match value {
        Value::Null => print!("undefined"),
        Value::String(v) => print!("{v}"),
        Value::Bool(v) => print!("{v}"),
        Value::U8(v) => print!("{v}"),
        Value::I16(v) => print!("{v}"),
        Value::F32(v) => print!("{v}"),
    }

    Ok(Value::Null)
}