airminer / jnlua

JNLua - Java Native Lua
MIT License
15 stars 5 forks source link

JNLua (Java Native Lua) integrates the Lua Scripting Language into Java. The integration is based on the original implementation of Lua which is written in ANSI C. The Lua C code is integrated into Java using the Java Native API (JNI).

Features

JNLua provides the following features:

Design Goals

The following goals drive the design of JNLua:

Architecture

The figure below depicts the architecture of JNLua:

When JNLua is bootstrapped from Java, the Java code calls the JNLua Java library. The JNLua Java library invokes the JNLua native library via JNI, and the JNLua native library calls the Lua C API. Lua code can use the JNLua Java module to access Java functionality.

When JNLua is bootstrapped from Lua, the Lua code uses the JNLua Java VM module to create a Java virtual machine with the JNLua Java library, and then calls the JNLua Java module to access Java functionality.

Requirements

JNLua 0.9 is based on the Java 6 Platform (JDK 1.6) and Lua 5.1.

JNLua 1.0 is based on the Java 6 Platform (JDK 1.6) and Lua 5.2.

Max Raskin has done a port of JNLua for the Android platform.

Documentation

Documentation is provided in the wiki as well as in the form of generated Javadoc (see links on the left side.)

License

JNLua is licensed under the MIT license which at the time of this writing is the same license as the one of Lua.