LunarWaveVM is a Lua 5.4 virtual machine written in Rust. ![A star field with an orange crab-shaped nebula facing a dark purple moon with a bright magenta crescent.](pictures/lunar%20wave%20crab%20nebula.jpeg) LunarWaveVM relies on the PUC-Rio implementation of `luac` to compile bytecode. `luac5.4 -o - test_vectors/fizz_buzz.lua | cargo run -- --pipe-bytecode` ``` 1 2 3 Fizz 4 5 Buzz 6 Fizz 7 ... 44 45 FizzBuzz 46 47 48 Fizz 49 50 Buzz ``` # Roadmap - [x] Loading simple pre-compiled bytecode programs - [x] Hash tables - [x] Fizzbuzz - [ ] Closures - [ ] Garbage collection - [ ] Long strings - [ ] Using arrays internally for tables - [ ] Compiling Lua source code to bytecode