eTeks

Jeks


What is Jeks ?
What is JeksParser ?
Applet demos
Jeks contents
FAQ
History
What's next ?
Copyright and license

Javadoc documentation
Jeks feedback


What is Jeks ?

Jeks is a JavaTM spreadsheet based on the SwingTM JTable component and the JeksParser library computing mathematical expressions.

Jeks

Jeks provides numerous features among which :

Jeks provides more than a spreadsheet application :

Jeks is compliant with Java 1.1 and Swing 1.1.
Jeks weighs 196 Ko.

What is JeksParser ?

JeksParser is a Java library that parses, compiles and computes expressions and functions.
It can parse three different kinds of strings :

The parsed expression may contain a syntactically correct combination of :

The parsers are based upon classes that enable to choose the syntax and the implementation of the interpreter :

Once an expression is correctly parsed by its automaton, the parser builds an internal tree matching the expression.
This tree speeds up the calculation of the expression with the value of its parameters.

JeksParser is provided with different kind of applets and application.

com.eteks.parser package files are compliant with Java 1.0 but needs a JDK 1.1 or higher library to compile (to enable the serialization of classes).
JeksParser library weighs 60 Ko.

Applet demos

JeksCalculator applet

You must allow Java in your browser to test JeksCalculator

JeksDisplay applet

You must allow Java in your browser to test JeksDisplay

(This applet with its user's guide may be found here)

These applets use the JeksParser library.

Jeks contents

Jeks library is supplied with :

All the applications and applets are in the bin subdirectory of Jeks.

FAQ

In which cases should I use Jeks ?

Audience
Problem
Solution
User
You look for a calculator.

Use the JeksCalculator application / applet.

You look for a Spreadsheet tool.

Use Jeks.

Developer
You look for a function/expression Java parser You want to compute simple expressions with numbers, operators and common functions (logarithmic and trigonometric). Use the com.eteks.parser.CalculatorParser class.
You want to parse functions declared with 0 to n parameters, and then compute these functions according to the value of its parameters. Use the com.eteks.parser.FunctionParser class.
You want to parse expressions whose parameters are detected on the fly (like column or cell names) and then compute these expressions according to the value of these parameters. Use the com.eteks.parser.ExpressionParser class and the com.eteks.parser.ExpressionParameter interface.
You want to add computing capabilities to your tables Use the classes of Jeks.

 

What libraries do I have to add to classpath to use Jeks ?

As Jeks is a 100% Pure Java set of libraries, you just have to add the JAR files to Java classpath to use it. As Jeks is distributed with 4 .jar files (stored in the lib subdirectory of Jeks) you should know which one(s) to use :

How fast is Jeks at interpretation time compared to Java compiled code ?

According to JeksJavaPerformanceTest application, it depends on what kind of parsed function and the version of the JDK you use. With JDK 1.3, functions using a lot of mathematical functions like logarithmic or trigonometric functions may be 4 times slower than the same Java function, and the use of some sub functions with recursive calls (to compute PMT () for example) may be 60 times slower.

Is Jeks 100% Pure Java ?

Jeks is 100% Pure Java according to Sun JavaPureCheck tool test.

History

Version 1.0.2 01/23/2003

Version 1.0.1 10/24/2001

Version 1.0 09/30/2001

Final release distributed under GNU General Public License.

Version 1.0 Beta 06/13/2001

First version.
You should notice that this product has already a long story at eTeks : the applet JeksDisplay was first a program written in C on AmigaOS in 1991 ! Translated in Java in 1998, a first version of the applet has been available at http://www.eteks.com/applets/displayfunction.html since that time.

What's next

Jeks spreadsheet could be extended to include these features :

At this moment the library JeksParser can operate on numbers and strings. This library can easily be extended to :

JeksParser could also include the features that allow the calculation of complex operations like derivation or integrals and the simplification of expressions.

The components of the applet JeksDisplay that display 2D or 3D curves could be extended to include the following features :

The applet JeksCalculator could be extended to include more features for people who need a calculator on their web site.

These features will be added in future releases of Jeks and JeksParser according to the interest of people. If you have any suggestion about how Jeks should evolve, please send them to info@eteks.com or fill the Jeks feedback form.

Copyright and license

Copyright © 1998-2001 Emmanuel PUYBARET / eTeks info@eteks.com. All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Visit eTeks web site for up-to-date versions of Jeks and other Java tools and tutorials : http://www.eteks.com/

Note that the GNU General Public License does not permit incorporating this software into proprietary programs.
If you are interested by Jeks or JeksParser for such use, please write to info@eteks.com to get information about the other available licenses that could meet your needs.

eTeks and Jeks are registered trademarks.



Jeks version 1.0.2
Last update : 01/21/2003


eTeks
© 1998-2003
eTeks - All rights reserved