Prepare for beta release.
This commit is contained in:
61
README.html
61
README.html
@@ -17,7 +17,7 @@
|
|||||||
Getting Started with LuaJ
|
Getting Started with LuaJ
|
||||||
|
|
||||||
</h1>
|
</h1>
|
||||||
James Roseborough, Ian Farmer, Version 2.0-alpha1
|
James Roseborough, Ian Farmer, Version 2.0-beta1
|
||||||
<p>
|
<p>
|
||||||
<small>
|
<small>
|
||||||
Copyright © 2009-2010 Luaj.org.
|
Copyright © 2009-2010 Luaj.org.
|
||||||
@@ -44,17 +44,17 @@ Freely available under the terms of the
|
|||||||
<!-- ====================================================================== -->
|
<!-- ====================================================================== -->
|
||||||
<p>
|
<p>
|
||||||
<font color=#800000><em>
|
<font color=#800000><em>
|
||||||
This is an alpha release for a luaj 2.0. The most recent stable release is 1.0.3
|
This is a beta release for a luaj 2.0. The most recent stable release is 1.0.3
|
||||||
</em></font>
|
</em></font>
|
||||||
|
|
||||||
<h1>1 - <a name="1">Introduction</a></h1>
|
<h1>1 - <a name="1">Introduction</a></h1>
|
||||||
<h2>Goals of Luaj</h2>
|
<h2>Goals of Luaj</h2>
|
||||||
Luaj is a lua interpreter based on the 5.1.x line of lua with the following goals in mind:
|
Luaj is a lua interpreter based on the 5.1.x line of lua with the following goals in mind:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Java-centric implementation built to use Java features like garbage collection, and class dispatch.
|
<li>Java-centric implementation of lua vm built to leverage standard Java features.
|
||||||
<li>Lightweight to allow for small, fast interpretation of lua bytecode.
|
<li>Lightweight to allow for small, fast interpretation of lua bytecode.
|
||||||
<li>Complete set of libraries and tools for integration into real-world projects.
|
|
||||||
<li>Multi-platform to be able to run on JME, JSE, or JEE environments.
|
<li>Multi-platform to be able to run on JME, JSE, or JEE environments.
|
||||||
|
<li>Complete set of libraries and tools for integration into real-world projects.
|
||||||
<li>Dependable due to sufficient unit testing of vm and library features.
|
<li>Dependable due to sufficient unit testing of vm and library features.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@@ -62,11 +62,12 @@ Luaj is a lua interpreter based on the 5.1.x line of lua with the following goal
|
|||||||
In addition to the basic goals of luaj, version 2.0 is aimed
|
In addition to the basic goals of luaj, version 2.0 is aimed
|
||||||
at improving on the 1.0 vm in the following aspects.
|
at improving on the 1.0 vm in the following aspects.
|
||||||
<ul>
|
<ul>
|
||||||
<li>Support for compiling lua into Java off-line for JME, and at runtime for JSE.
|
<li>Support for compiling lua bytecode directly into Java bytecode.
|
||||||
<li>Fastest possible bytecode processing for interpreted code.
|
<li>Improve performance of bytecode processing when lua bytecode is used.
|
||||||
<li>More alignment with C API (see <a href="names.csv">names.csv</a> for details)
|
<li>More alignment with C API (see <a href="names.csv">names.csv</a> for details)
|
||||||
<li>Improved class and package naming conventions.
|
<li>Improved class and package naming conventions.
|
||||||
<li>Improved unit tests of core classes.
|
<li>Improved unit tests of core classes.
|
||||||
|
<li>Improved quality due to major redesign and rewrite of core elements.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h1>2 - <a name="2">Simple Examples</a></h1>
|
<h1>2 - <a name="2">Simple Examples</a></h1>
|
||||||
@@ -77,7 +78,7 @@ at improving on the 1.0 vm in the following aspects.
|
|||||||
From the main distribution directory line type:
|
From the main distribution directory line type:
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
java -cp lib/luaj-jse-2.0-alpha1.jar lua examples/lua/hello.lua
|
java -cp lib/luaj-jse-2.0-beta1.jar lua examples/lua/hello.lua
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -92,8 +93,8 @@ You should see the following output:
|
|||||||
From the main distribution directory line type:
|
From the main distribution directory line type:
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
java -cp lib/luaj-jse-2.0-alpha1.jar luac examples/lua/hello.lua
|
java -cp lib/luaj-jse-2.0-beta1.jar luac examples/lua/hello.lua
|
||||||
java -cp lib/luaj-jse-2.0-alpha1.jar lua luac.out
|
java -cp lib/luaj-jse-2.0-beta1.jar lua luac.out
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -106,13 +107,14 @@ Luaj can compile to lua bytecode if the bcel library is on the class path. From
|
|||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
ant bcel-lib
|
ant bcel-lib
|
||||||
java -cp lib/luaj-jse-2.0-alpha1.jar;lib/bcel-5.2.jar luajc -s examples/lua -d . hello.lua
|
java -cp "lib/luaj-jse-2.0-beta1.jar;lib/bcel-5.2.jar" luajc -s examples/lua -d . hello.lua
|
||||||
java -cp lib/luaj-jse-2.0-alpha1.jar;. lua -l hello
|
java -cp "lib/luaj-jse-2.0-beta1.jar;." lua -l hello
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The output <em>hello.class</em> is Java bytecode, should run and produce the same result.
|
The output <em>hello.class</em> is Java bytecode, should run and produce the same result.
|
||||||
There is no runtime dependency on the bcel library, but the compiled classes must be in the class path.
|
There is no runtime dependency on the bcel library,
|
||||||
|
but the compiled classes must be in the class path at runtime.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
</pre>
|
</pre>
|
||||||
@@ -138,7 +140,7 @@ A simple example may be found in
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
You must include the library <b>lib/luaj-jse-2.0-alpha1.jar</b> in your class path.
|
You must include the library <b>lib/luaj-jse-2.0-beta1.jar</b> in your class path.
|
||||||
|
|
||||||
<h2>Run a script in a MIDlet</h2>
|
<h2>Run a script in a MIDlet</h2>
|
||||||
|
|
||||||
@@ -165,7 +167,7 @@ A simple example may be found in
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
You must include the library <b>lib/luaj-jme-2.0-alpha1.jar</b> in your midlet jar.
|
You must include the library <b>lib/luaj-jme-2.0-beta1.jar</b> in your midlet jar.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
An ant script to build and run the midlet is in
|
An ant script to build and run the midlet is in
|
||||||
@@ -226,7 +228,7 @@ The standard use of JSR-233 scripting engines may be used:
|
|||||||
All standard aspects of script engines including compiled statements should be supported.
|
All standard aspects of script engines including compiled statements should be supported.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
You must include the library <b>lib/luaj-jse-2.0-alpha1.jar</b> in your class path.
|
You must include the library <b>lib/luaj-jse-2.0-beta1.jar</b> in your class path.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
A working example may be found in
|
A working example may be found in
|
||||||
@@ -264,9 +266,8 @@ Libraries are coded to closely match the behavior specified in
|
|||||||
See <a href="http://www.lua.org/manual/5.1/">standard lua documentation</a> for details on the library API's
|
See <a href="http://www.lua.org/manual/5.1/">standard lua documentation</a> for details on the library API's
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The following libraries are loaded in py both <em>JsePlatform.standardGlobals()</em> and <em>JmePlatform.standardGlobals()</em>:
|
The following libraries are loaded by both <em>JsePlatform.standardGlobals()</em> and <em>JmePlatform.standardGlobals()</em>:
|
||||||
<pre>
|
<pre> base
|
||||||
base
|
|
||||||
coroutine
|
coroutine
|
||||||
io
|
io
|
||||||
math
|
math
|
||||||
@@ -278,14 +279,12 @@ The following libraries are loaded in py both <em>JsePlatform.standardGlobals()<
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <em>JsePlatform.standardGlobals()</em> globals also include:
|
The <em>JsePlatform.standardGlobals()</em> globals also include:
|
||||||
<pre>
|
<pre> luajava
|
||||||
luajava
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <em>JsePlatform.debugGlobals()</em> and <em>JsePlatform.debugGlobals()</em> functions produce globals that include:
|
The <em>JsePlatform.debugGlobals()</em> and <em>JsePlatform.debugGlobals()</em> functions produce globals that include:
|
||||||
<pre>
|
<pre> debug
|
||||||
debug
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<h3>I/O Library</h3>
|
<h3>I/O Library</h3>
|
||||||
@@ -352,7 +351,7 @@ The following lua script will open a swiing frame on Java SE:
|
|||||||
<p>
|
<p>
|
||||||
See a longer sample in <em>src/test/res/swingapp.lua</em> for details, or try running it using:
|
See a longer sample in <em>src/test/res/swingapp.lua</em> for details, or try running it using:
|
||||||
<pre>
|
<pre>
|
||||||
java -cp lib/luaj-jse-2.0-alpha1.jar lua src/test/res/swingapp.lua
|
java -cp lib/luaj-jse-2.0-beta1.jar lua src/test/res/swingapp.lua
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -418,17 +417,23 @@ and LuaForge:
|
|||||||
|
|
||||||
<h2>Main Changes by Version</h2>
|
<h2>Main Changes by Version</h2>
|
||||||
<table cellspacing="10"><tr><td><table cellspacing="4">
|
<table cellspacing="10"><tr><td><table cellspacing="4">
|
||||||
<tr valign="top"><td> <b>2.0-alpha1</b></td><td><ul>
|
<tr valign="top"><td> <b>2.0-beta1</b></td><td><ul>
|
||||||
<li>All basic bunit tests pass.
|
<li>All basic unit tests pass.
|
||||||
<li>Initial port of all libraries has been done.
|
<li>Initial port of all libraries has been done.
|
||||||
<li>Compile-to-Java based on bcel 5.2.
|
<li>Compile-to-Java based on bcel 5.2 working for unit tests.
|
||||||
</ul></td></tr>
|
</ul></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>Known Issues</h2>
|
<h2>Known Issues</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>module() and setfenv() don't work with compiled code
|
<li>module() and setfenv() don't work with closures in compiled chunks
|
||||||
<li>debug code may not be removed by obfuscators
|
<li>debug code may not be removed by obfuscators
|
||||||
<li>not all luajava bugfixes have been ported over
|
<li>lua-to-java bytecode generation can produce incorrect results
|
||||||
|
<li>weak tables may not release items in all cases
|
||||||
|
<li>tail calls may not work as expected in some cases
|
||||||
|
<li>tail calls are not tracked in debug information
|
||||||
|
<li>using both version 1 and version 2 libraries together in the same java vm has not been tested.
|
||||||
|
<li>design of default file loading behavior may change.
|
||||||
|
<li>likely to make changes to support the lua 5.2 API once it is finalized.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
# on the way to version 2.0
|
# on the way to version 2.0
|
||||||
version: 2.0-alpha1
|
version: 2.0-beta1
|
||||||
|
|||||||
Reference in New Issue
Block a user