Code Monkey home page Code Monkey logo

lua-vermelha's Introduction

Lua Vermelha

Build Status

Lua Vermelha is an implementation of Lua 5.3 with a Just-In-Time (JIT) compiler built from Eclipse OMR compiler technology.

It is designed to integrate into the PUC-Rio Lua virtual machine with only minor modifications done to it.

(Please note that Lua Vermelha is under active development and may be unstable and definitely is buggy)

Cloning

Lua Vermelha includes the Eclipse OMR project as a submodule so I recommend cloning this repo recursively:

$ git clone --recursive https://github.com/Leonardo2718/lua-vermelha.git

Building

Currently, the only tested and supported platform is Linux on x86-64. Support for other platforms will come later on. Until then, if you need to build Lua Vermelha on a different platform, you should be able to easily modify the makefiles manually to suit your needs.

IMPORTANT: Before JitBuilder can be built (and by extension Lua Vermelha), it's important to configure OMR for your platform (see the Eclipse OMR project page for details):

$ cd lua-vermelha/omr
$ make -f run_configure.mk SPEC=linux_x86-64 OMRGLUE=./example/glue

The top level Makefile can then be used to build the Lua Vermelha executable interpreter frontend luav.

$ cd ..     # back to `lua-vermelha/`
$ make -j4  # will recursively build JitBuilder, the JIT, the VM, and luav

Running

The luav executable can be used the same way as the PUC-Rio Lua interpreter frontend (usually lua):

$ luav           # starts REPL
$ luav file.lua  # executes the Lua script `file.lua`
$ luav luac.out  # executes compiled Lua bytecode (output of `luac`)

Licensing

Lua Vermelha has three components, each with their own licensing:

  • The (slightly) modified PUC-Rio Lua VM keeps its original license (MIT) and copy-right holders
  • The Lua Vermelha JIT compiler is distributed under two licenses:
  • The Eclipse OMR component is provided as a submodule pointing to the main project repository and is under the same licenses as the Lua Vermelha JIT

lua-vermelha's People

Contributors

leonardo2718 avatar charliegracie avatar lmaisons avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.