Home

Awesome

# install rust
# https://www.rust-lang.org/tools/install

# build the binary
cargo build --release

chmod +x ./lue_vm

# run a lua file
./lue_vm features/stdlib/print.lua

<!-- ### TODO - [ ] Arithmetic expressions - [ ] Addition (`+`) - [ ] Subtraction (`-`) - [ ] Multiplication (`*`) - [ ] Division (`/`) - [ ] Boolean expressions - [ ] And (`and`) - [ ] Or (`or`) - [ ] Not (`not`) - [ ] Comparisons - [ ] Equality (`==`) - [ ] Not equal (`~=`) - [ ] Less than (`<`) - [ ] Greater than (`>`) - [ ] Less than or equal (`<=`) - [ ] Greater than or equal (`>=`) - [ ] Concatenation - [ ] Concatenate strings (`..`) - [ ] `if` - [ ] `if ... then ... end` - [ ] `if ... then ... else ... end` - [ ] `if ... then ... elseif ... then ... else ... end` - [ ] `while` - [ ] `while ... do ... end` - [ ] `for` - [ ] Numeric `for` loop (`for i = ... , ... , ... do ... end`) - [ ] Generic `for` loop (`for k, v in pairs(t) do ... end`) - [ ] `repeat ... until` - [ ] `repeat ... until ...` - [ ] function definition - [ ] `function ... end` - [ ] function calls - [ ] Function call with arguments - [ ] Function return values - [ ] anonymous functions - [ ] `local f = function (...) ... end` - [ ] local variables - [ ] Declaration (`local`) - [ ] Assignment - [ ] Access local variables - [ ] global variables - [ ] Declaration - [ ] Assignment - [ ] Access global variables - [ ] tables - [ ] Table declaration - [ ] Access table elements - [ ] Insert and remove table elements - [ ] Metatables and metamethods - [ ] Standard Library (Stdlib) - [ ] Base functions - [x] `print` - [ ] `type` - [ ] `tostring` - [ ] `tonumber` - [ ] `error` - [ ] `pcall` - [ ] `xpcall` - [ ] Math functions - [ ] `math.abs` - [ ] `math.sin` - [ ] `math.cos` - [ ] `math.sqrt` - [ ] `math.random` - [ ] `math.floor` - [ ] `math.ceil` - [ ] String functions - [ ] `string.len` - [ ] `string.sub` - [ ] `string.upper` - [ ] `string.lower` - [ ] `string.gsub` - [ ] `string.find` - [ ] Table functions - [ ] `table.insert` - [ ] `table.remove` - [ ] `table.concat` - [ ] `table.sort` - [ ] `table.unpack` - [ ] Coroutines - [ ] `coroutine.create` - [ ] `coroutine.resume` - [ ] `coroutine.yield` - [ ] `coroutine.status` - [ ] Metatables - [ ] `setmetatable` - [ ] `getmetatable` - [ ] Metamethods - [ ] `__index` - [ ] `__newindex` - [ ] `__add` - [ ] `__sub` - [ ] `__mul` - [ ] `__div` - [ ] `__concat` - [ ] `__eq` - [ ] `__lt` - [ ] `__le` - [ ] Error handling - [ ] Exception handling - [ ] Error messages ``` ```