GithubHelp home page GithubHelp logo

olopez32 / jillcode Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 648 KB

Automatically exported from code.google.com/p/jillcode

License: Other

Python 0.66% Shell 0.04% Java 62.66% Awk 0.05% HTML 7.13% Prolog 0.05% Lua 29.43%

jillcode's Introduction

JAVA IMPLEMENTATION OF LUA LANGUAGE

README FOR RELEASE 1.0.1

David Jones, Ravenbrook Limited
[email protected]

$Date: 2009/12/10 $

CONTENTS

  1. Introduction
  2. Manifest
  3. Installation and Use
  4. History
  5. Release Notes


1. INTRODUCTION

This is release 1.0.1 of the Java Implementation of Lua Language
(Jill).  Jill was originally written by Ravenbrook Limited under
contract, became the property of Nokia Corporation, and is now released
under an open source license, and is managed by Ravenbrook Limited.

Jill provides an implementation of the Lua language that runs in Java
Mobile Edition environments.  It is intended to run in an environment
that supports CLDC 1.1 and MIDP 2.0.  Currently no features of MIDP 2.0
are used in the core software (test harnesses and examples do use MIDP
2.0 features).

The readership of this document is anyone who intends to use the Jill
software.


2. MANIFEST

A Jill release consists of a hierarchy of directories and files,
generally supplied as a .zip file.

Here's a brief overview of its contents (not comprehensive):

jill-X.Y.Z/	- top level directory.
  readme.txt	- this file.
  build.xml	- Apache Ant build file.  See ant -projecthelp.
  code/		- source code for Jill.
  design/	- design documentation, mostly in HTML.
    design/arch/	- Architecture
  lib/		- imported libraries used in building.
  manual/	- User's Manual.
  test/		- All test code and materials.

In addition various Ant build targets will populate the following
directories:

  bin/			- Installable binaries.  .cod and .jar files.
  compiled/		- Results of compiling code/ (.class files).
  javadoc/		- Public documentation for users.
  javadoc-private/	- Private documentation for maintainers.
  prejar/               - Staging area for building jars.
  preverified/		- Results of preverification (.class files).
  test-compiled/	- Results of compiling test/ .
  test-compiled-se/     - Compiled test files that are JSE only.
  test-preverified/     - Results of preverifying test-compiled/ .


3. INSTALLATION


3.1 Prerequisites

Prerequisities are discussed a bit more thoroughly in the build
documentation provided with this release in manual/build/.

You'll need a PC runnings Windows XP (other operating systems may work
but are not supported).

You'll need a JDK from Sun.  Either 1.4.2 or 1.5.0 (note that the
BlackBerry JDE 4.1 requires Sun's JDK 1.5.0).

You'll need Apache Ant.

You'll need RIM's BlackBerry JDE if you intend to use a BlackBerry
device or its emulator.


3.2 Building

Apache ant is used to encapsulate the build procedure.  See
"ant -projecthelp" for the documented targets.  More documentation is
available in manual/build/.

To install test software onto a USB-connected BlackBerry, go:

  ant load

This compiles the Jill sources (ant compile), preverifies and packages
them into a .jar file (ant jar), converts that to RIM's .cod format (ant
cod), and downloads the .cod file onto an attached device (ant load).

Currently the "ant load" target builds the METestMIDlet which is a
midlet that runs the same set of tests that "ant test" runs; all of
these should run on JME; "ant load" also builds JiliShell which
is an interactive interpreter.

If you wish to incorporate Jill into your own software then you'll have
to adapt the build procedure.


4. HISTORY

Jill was originally developed by Ravenbrook Limited in 2006 under
contract to another company.  Later that year that company went into
receivership, and the intellectual property comprising Jill was acquired
by Nokia Corporation.  In 2009 Ravenbrook Limited realised that Nokia
Corporation might own the intellectual property in Jill, and we began
negotiating with them to open source it.  Nokia Corporation have
generously agreed to make the Jill code open source, and are happy to
have Ravenbrook manage it.


5. RELEASE NOTES


RELEASE 1.0

First open source release.

In order to prepare a release as economically as possible, it hasn't
been possible to fully redact all the code and documentation.  Thus
there remain references to: Intuwave (the original client); Ravenbrook
(the original implementors); "jobs" (a job in Ravenbrook's Perforce
repository used to track bugs / feature requests); "rfe" (Intuwave's
way of tracking bugs / feature requests); various other internal
Ravenbrook documents that may not be publicly available.

Some parts of the software are suffering from a bit of neglect, and
dust bunnies have accumulated in some corners.

--

jillcode's People

jillcode's Issues

math.random(lower, upper) is broken

Returns numbers outside of the given bounds, here's a fix.

http://code.google.com/p/jillcode/source/browse/code/mnj/lua/MathLib.java#284

case 2:   // lower and upper limits
        {
          int l = L.checkInt(1);
          int u = L.checkInt(2);
          L.argCheck(l<=u, 2, "interval is empty");
          L.pushNumber(rng.nextInt(1+u-l) + l); // FIX: to correct bounds
        }
        break;

Original issue reported on code.google.com by KrissD on 1 Jul 2010 at 2:07

Can't implement LuaJavaCallback from another package.

(reported by Juha Pohjalainen)

Any class that wishes to implement mnj.lua.LuaJavaCallback (and therefore 
provide a Lua Java 
function to a Lua program) has to be in the package mnj.lua.

Example:

--
package bob;

import mnj.lua.LuaJavaCallback;

public class Bob extends mnj.lua.LuaJavaCallback
{
    public int luaFunction(mnj.lua.Lua L) {
        return 0;
    }
}
--

compile:
    [javac] Compiling 1 source file to /Users/drj/jillcode/compiled
    [javac] /Users/drj/jillcode/code/bob/Bob.java:5: bob.Bob is not abstract and does not override 
abstract method luaFunction(mnj.lua.Lua) in mnj.lua.LuaJavaCallback
    [javac] public class Bob extends mnj.lua.LuaJavaCallback
    [javac]        ^
    [javac] 1 error
--

Original issue reported on code.google.com by [email protected] on 4 Jan 2010 at 1:25

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.