2023-09-27 18:58:37 +00:00
LunarWaveVM is a Lua 5.4 virtual machine written in Rust.
2023-09-27 19:05:03 +00:00
![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 )
2023-09-27 18:58:37 +00:00
2023-09-27 19:06:54 +00:00
LunarWaveVM relies on the PUC-Rio implementation of `luac` to compile bytecode.
`cargo run -- --script test_vectors/fizz_buzz.lua`
```
1
2
3 Fizz
4
5 Buzz
6 Fizz
7
...
44
45 FizzBuzz
46
47
48 Fizz
49
50 Buzz
```
2023-09-27 18:58:37 +00:00
# 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