This document corresponds to the jel version 0.9.2
Distribution assembled Wed Aug 23 23:20:52 CEST 2000.


	     Welcome to Java Expressions Library (JEL) .

JEL is designed to evaluate expressions, written in simple, JAVA like
language. Unlike many other approaches to the same problem, JEL, is not
interpreter but it is a compiler. It compiles expressions directly to
Java bytecodes. Other feature of JEL is the possibility to call Java
functions directly (without any wrappers) from the expressions it
compiles. JEL also performs constants folding extended to static methods
(so that sin(1.0) is considered a constant expression and evaluated at a
compile time) with possibility to override this behaviour on method by
method basis, i.e. for Math.random(). One of the design goals of JEL was
to make it as SMALL as possible, but with extensibility in mind.

You can find more details about JEL and its features if You open file
./docs/manual.html in Your favorite WWW browser.


			 I. DISTRIBUTED FILES

The structure of the distribution is following:

./docs
	Contains documentation, both written and javadoc generated.

./lib
	Holds precompiled JEL library in two versions : optimized
	(jel.jar),and debug (jel_g.jar). If You use JEL regularly it
	is the best to put one of those libraries into Your CLASSPATH.
	the third file in this directory (jel_rt.jar) is a runtime for
	unserialized JEL compiled expressions (includes String 
	manipulation library).

./samples
	Contains samples and test suite for JEL. Currently (version 0.9.2)
	there is only one sample, Calculator. If You write a simple,
	free program, using JEL, I will be happy to put is as a
	sample. Anyway, there are still more samples coming in the
	next version.

./src
	Contains JEL source. If You make any modifications to JEL it is
	the best to do them directly in the ./src directory, because it 
	most closely resembles the structure of my CVS repository. This
	directory contains ALL source files, some of them are duplicated
	in ./samples but ./src is the master copy.


			   II. INSTALLATION

There is not much care to take about JEL installation. First, of
course, You need to install JAVA (if You don't have it already). JEL
should work in any JDK 1.1 compatible Java virtual machine.

If You don't want to type long command lines I would suggest to put
JEL into the Java CLASSPATH. The other approach can be to write shell
scripts, prepending ./lib/jel.jar to CLASSPATH of programs, using
JEL. I didn't prepackage such scripts first of all, because I have
CLASSPATH set, and, second , because these scripts will be very much
platform dependent.

                           III. TEST SUITE

It is recommended to run JEL test suite after the installation. Please
consult ./samples/testsuite/README.TestSuite for details on how to run
it.

I myself ran JEL TestSuite on following Java platforms :
Blackdown Linux port 1.1.7v2 of SUN's JDK (TYA JIT 1.3) : ALL OK.
Blackdown Linux port 1.1.7v2 of SUN's JDK (interpreter) : ALL OK.
SUN JDK 1.2 on Win32                      (interpreter) : ALL OK.
SUN JDK 1.2 on Win32                      (SUNW JIT)    : ALL OK.
SUN JDK 1.2 RC1 on Linux                  (SUNW JIT)    : VM DIES(see RELNOTES).
Blackdown Linux port 1.1.6v5 of SUN's JDK (interpreter) : ALL OK.
HP-UX Java C.01.15.03 07/07/98    (interpreter)         : ALL OK.
HP-UX Java C.01.15.03 07/07/98    (JIT)                 : ALL OK.
SUN JDK 1.1.3 on Solaris i386     (interpreter)         : ALL OK.
SUN JDK 1.1.3 on Solaris i386     (JIT)                 : ALL OK.
SUN JDK 1.1.7a on Win32           (interpreter)         : ALL OK.
SUN JDK 1.1.7a on Win32           (Symantec JIT)        : ALL OK.
SUN JRE 1.1.2 on Win32            (interpreter)         : ALL OK.
Microsoft Java (MSIE 4.01 retail) (interpreter)         : ALL OK.
Microsoft Java (MSIE 4.01 retail) (JIT)                 : 1 test failed.

There is a problem with converting double-s to int-s in Microsoft Java
VM for Windows with JIT enabled, this makes one of the tests in the
JEL test suite fail. To disable JIT use "-nojit" command line option
of "jview". More information on this bug and a simple test case for it
is available at http://galaxy.fzu.cz/JEL in the "Other Files" section.

JEL is known not to work well with TYA JIT version 1.1 for
Linux. Please get the recent version of TYA JIT (1.3 or above) at
ftp://gonzalez.cyberus.ca/pub/Linux/java/ .

			    IIV. LICENSING

JEL is distributed to You under terms of the GNU General Public
License. This means it is "free software" (see file ./COPYING for
precise definition). However, any program, using JEL _MUST_ be the
"free software" as well.

There are options, available, for less restrictive licensing. To find
out more contact me (metlov@fzu.cz) directly.

I would be very happy to consider requests for JEL enhancements and
modifications (to fit some particular purpose), syntax of the input
language, for example, can be easily changed... Contact me directly if
You need customized, supported version of JEL.


(c) 1998 Konstantin Metlov (metlov@fzu.cz)

         This software is distributed to You under the terms of the
         GNU General Public license (GPL). Copying and modifications
	 are permitted. NO WARRANTY of any kind is provided. For precise
         terms of the license see the file COPYING in the root of the 
         distribution and in every package directory.








