Update version to 2.0-alpha1

This commit is contained in:
James Roseborough
2010-03-31 04:49:01 +00:00
parent dc0be9b15a
commit 68fbf6cc39
2 changed files with 67 additions and 33 deletions

View File

@@ -17,36 +17,64 @@
Getting Started with LuaJ
</h1>
James Roseborough, Ian Farmer, Version 1.9.53
James Roseborough, Ian Farmer, Version 2.0-alpha1
<p>
<small>
Copyright &copy; 2007-2009 Luaj.org.
Copyright &copy; 2009-2010 Luaj.org.
Freely available under the terms of the
<a href="http://sourceforge.net/dbimage.php?id=196142">Luaj license</a>.
</small>
<hr>
<p>
<a href="#1">examples</a>
<a href="#1">introduction</a>
&middot;
<a href="#2">concepts</a>
<a href="#2">examples</a>
&middot;
<a href="#3">libraries</a>
<a href="#3">concepts</a>
&middot;
<a href="#4">building</a>
<a href="#4">libraries</a>
&middot;
<a href="#5">downloads</a>
<a href="#5">building</a>
&middot;
<a href="#6">release notes</a>
<a href="#6">downloads</a>
&middot;
<a href="#7">release notes</a>
<!-- ====================================================================== -->
<p>
<font color=#800000><em>
This is a development release for a planned luaj 2.0. The most recent stable release is 1.0.2
This is an alpha release for a luaj 2.0. The most recent stable release is 1.0.3
</em></font>
<h1>1 - <a name="1">Introduction</a></h1>
<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:
<ul>
<li>Java-centric implementation to take advantage of native Java features like garbage collection, and a robust class model.
<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>Dependable due to sufficient unit testing of vm and library features.
</ul>
<h1>1 - <a name="1">Simple Examples</a></h1>
<h2>Differences with 1.0</h2>
In addition to the basic goals of luaj, version 2.0 is aimed
at improving on the 1.0 vm in the following aspects.
<ul>
<li>Support for compiling lua into Java off-line for JME, and at runtime for JSE.
<li>More alignment with C API (see <a href="names.csv">names.csv</a> for details)
<li>Faster bytecode processing for interpreted code.
<li>Tighter integration between lua and Java layers.
<li>Stackless implementation of interpreted code.
<li>Streamlined processing model with modular interpreter.
<li>More uniform naming of classes.
<li>Better package layout.
<li>Better unit tests of core classes.
</ul>
<h1>2 - <a name="2">Simple Examples</a></h1>
<h2>Run a script in Java SE</h2>
@@ -54,7 +82,7 @@ This is a development release for a planned luaj 2.0. The most recent stable re
From the main distribution directory line type:
<pre>
java -cp lib/luaj-jse-1.9.53.jar lua examples/lua/hello.lua
java -cp lib/luaj-jse-2.0-alpha1.jar lua examples/lua/hello.lua
</pre>
<p>
@@ -99,7 +127,7 @@ A simple example may be found in
</pre>
<p>
You must include the library <b>lib/luaj-jse-1.9.53.jar</b> in your class path.
You must include the library <b>lib/luaj-jse-2.0-alpha1.jar</b> in your class path.
<h2>Run a script in a MIDlet</h2>
@@ -128,7 +156,7 @@ A simple example may be found in
</pre>
<p>
You must include the library <b>lib/luaj-jme-1.9.53.jar</b> in your midlet jar.
You must include the library <b>lib/luaj-jme-2.0-alpha1.jar</b> in your midlet jar.
They can be obfuscated if desired.
<h2>Including the compiler</h2>
@@ -163,7 +191,7 @@ The standard use of JSR-233 scripting engines may be used:
All standard aspects of script engines including compiled statements should be supported.
<p>
You must include the library <b>lib/luaj-jse-1.9.53.jar</b> in your class path.
You must include the library <b>lib/luaj-jse-2.0-alpha1.jar</b> in your class path.
<p>
A working example may be found in
@@ -181,7 +209,7 @@ bcel library is now included.
To use it at runtime, the tool "lua" has an option "-j" to compile into java bytecode.
<pre>
java -cp luaj-jse-1.9.53.jar;lib/bcel-5.2.jar lua -j examples/lua/hello.lua
java -cp luaj-jse-2.0-alpha1.jar;lib/bcel-5.2.jar lua -j examples/lua/hello.lua
</pre>
<p>
@@ -189,7 +217,7 @@ To compile lua files into Java in advance, the tool "luajc" is provided:
<pre>
cp examples/lua/hello.lua .
java -cp luaj-jse-1.9.53.jar;lib/bcel-5.2.jar luajc hello.lua
java -cp luaj-jse-2.0-alpha1.jar;lib/bcel-5.2.jar luajc hello.lua
ls -l hello.class
</pre>
@@ -206,14 +234,14 @@ Files compiled into java in this way can be run via Java class loading, <em>with
(generated class files must be in your class path):
<pre>
java -cp luaj-jse-1.9.53.jar;. lua -l hello
java -cp luaj-jse-2.0-alpha1.jar;. lua -l hello
</pre>
The current bytecode generator produces a separate class file for each prototype,
and generated class files do not work properly with module() or setfenv().
<h1>2 - <a name="2">Concepts</a></h1>
<h1>3 - <a name="3">Concepts</a></h1>
<h2>Globals</h2>
The old notion of platform has been replaced with creation of globals.
@@ -235,7 +263,7 @@ All libraries are included except luajava, and the os, io, and math libraries ar
limited to those functions that can be supported on that platform.
<h1>3 - <a name="3">Libraries</a></h1>
<h1>4 - <a name="4">Libraries</a></h1>
<h2>Standard Libraries</h2>
@@ -324,13 +352,13 @@ The following lua script will open a swiing frame on Java SE:
<p>
See a longer sample in <em>src/test/res/swingapp.lua</em> for details, or try running it using:
<pre>
java -cp lib/luaj-jse-1.9.53.jar lua src/test/res/swingapp.lua
java -cp lib/luaj-jse-2.0-alpha1.jar lua src/test/res/swingapp.lua
</pre>
<p>
The Java ME platform does not include this library, and it cannot be made to work because of the lack of a reflection API in Java SE.
<h1>4 - <a name="4">Building and Testing</a></h1>
<h1>5 - <a name="5">Building and Testing</a></h1>
<h2>Building the jars</h2>
An ant file is included in the root directory which builds the libraries by default.
@@ -355,10 +383,10 @@ A large set of JUnit tests are invoked by the JUnit 3 suite:
<p>
These tests are used for to produce code coverage statistics using build-coverage.xml.
<h1>5 - <a name="5">Downloads</a></h1>
<h1>6 - <a name="6">Downloads</a></h1>
<h2>Downloads and Project Pages</h2>
Downloads for version 1.0.2 are currently hosted on SourceForge.
Downloads for version 1.0.3 are currently hosted on SourceForge.
Downloads of built packages for 2.0 are not yet available.
Sources are available via sourceforge.net
<br/>
@@ -373,15 +401,21 @@ and LuaForge:
<a href="http://luaforge.net/frs/?group_id=457">LuaForge Luaj Project Area</a>
</pre>
<h1>6 - <a name="6">Release Notes</a></h1>
<h1>7 - <a name="7">Release Notes</a></h1>
Main changes by version:
<h2>Main Changes by Version</h2>
<table cellspacing="10"><tr><td><table cellspacing="4">
<tr valign="top"><td>&nbsp;&nbsp;<b>1.9.53</b></td><td>
Most interpreter features are working. Initial port of all libraries has been done.
</td></tr>
<tr valign="top"><td>&nbsp;&nbsp;<b>1.9.53</b></td><td>
All unit tests that have been included in the project pass.
Compile-to-Java based on bcel 5.2 is working.
</td></tr>
<tr valign="top"><td>&nbsp;&nbsp;<b>2.0-alpha1</b></td><td><ul>
<li>All basic bunit tests pass.
<li>Initial port of all libraries has been done.
<li>Compile-to-Java based on bcel 5.2.
</ul></td></tr>
</table>
<h2>Known Issues</h2>
<ul>
<li>module() and setfenv() don't work with compiled code
<li>debug code may not be removed by obfuscators
<li>not all luajava bugfixes have been ported over
</ul>

View File

@@ -1,2 +1,2 @@
# on the way to version 2.0
version: 1.9.53
version: 2.0-alpha1