rulox

crates.io github docs.rs

rulox is a lightweight scripting language embedded in Rust. It is based on the Lox language from Crafting Interpreters.

Examples

```rust use rulox::*;

fn main() { lox! { var a = 5;

    print a + 2;
}

let b: f64 = a.try_into().unwrap();

println!("{}", b);

} ```

```rust use rulox::*;

fn main() { lox! { for (var i = 5; i > 0; i = i - 1) print i; } } ```

```rust use rulox::*;

fn main() { lox! { fun hello(name) { print "Hello " + name + "! :)" }

    fun add_one(num) {
        return num + 1;
    }
}

hello(LoxValue::from("Alice"));

assert_eq!(add_one(LoxValue::from(3)), LoxValue::from(4));

} ```

```rust use rulox::*;

fn main() { lox! { var people = ["Bob", "Alice", "John"];

    for (person in people) {
        print "Hello " + person + "!";
    }
}

} ```

Features

Possible future features