38 lines
723 B
Markdown
38 lines
723 B
Markdown
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
|