This document corresponds to the jel version 0.8.3
Distribution assembled Mon Dec 20 01:51:20 CET 1999.


	     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 tries to perform naive optimizations of
expressions, such as constant subexpression evaluation. 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 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.8.3)
	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.
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.








