What is Jeks ?
What is JeksParser ?
Copyright and license
Jeks is a JavaTM spreadsheet based on the SwingTM JTable component and the JeksParser library computing mathematical expressions.
Jeks provides numerous features among which :
- Edition of formulas in cells using a rich set of operators and functions.
- Edition of parameterized functions using expressions defined by users.
- Optimized calculation using a compiled version of formulas and functions.
- Checking of circular reference in formulas.
- Optimized update of formulas referencing other cells.
- Cut / Copy / Paste with automatic shift of cell references in formulas.
- Internationalization of the spreadsheet and of the syntax in formulas.
- Save / Open files at spreadsheet format.
- User's guide.
- Reusability : Your existing model of data or table can be easily enriched to include features of Jeks.
- Extensibility : As the component JTable, Jeks can be extended to include more features (cell attributes, charts,...).
Jeks provides more than a spreadsheet application :
- As a library, Jeks provides the Java classes that allow developers to add features of a spreadsheet to their own table.
- As an application, Jeks provides a model that helps developers to add a customizable spreadsheet component to their application.
- Based on the class JTable, Jeks provides a model of the extensibility of this Swing component.
- Using the library JeksParser, the Jeks implementation of formulas provides a model of the extensibility of this library.
Jeks is compliant with Java 1.1 and Swing 1.1.
Jeks weighs 196 Ko.
JeksParser is a Java library that parses, compiles and computes expressions and functions.
It can parse three different kinds of strings :
- Mathematical expressions operating on numbers, as a calculator does.
- Functions of the type function(parameters)=expression operating on parameters, where parameters is a list of parameters that the expression can use. Typically, this is used to define macros or functions that may be used in other expressions.
- Expressions of the type =expression operating on parameters, where the parameters in the expression are checked on the fly during the parsing. Typically, this is used to define formulas in a spreadsheet cell or column.
The parsed expression may contain a syntactically correct combination of :
- literal values (numbers, strings,...)
- constants (PI, E,...)
- unary operators (-, +,...)
- infixed binary operators (+, *, /, <,...)
- conditions (IF THEN ELSE or ternary operator ? :)
- predefined functions (sin, log,...)
- user functions previously parsed with JeksParser or written and compiled in Java.
The parsers are based upon classes that enable to choose a syntax and the implementation of the interpreter :
- The syntactic elements describe the language the expression must respect (PASCAL, Java,...).
- The interpreter implementation calculates the value of the expression to obtain different result types (double, wrapping class, MathML, BigDecimal, GMatrix,...).
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.
(This applet with its user's guide may be found here)
These applets use the JeksParser library.
Jeks and JeksParser are available under GNU General Public License. This software is supplied with :
- jeks.jar, jeksparser.jar, jekstools.jar and calculator.jar JAR libraries
- Java source files
- Javadoc documentation
- a FAQ list
- versions history
- Jeks : a spreadsheet application.
- JeksCalculator : an applet/application that implements a calculator.
- JeksDisplay : an applet that displays one or two parameters functions with a 2D or 3D curve.
- JeksJavaPerformanceTest : an application used to compare the computing average speed of different functions parsed with JeksParser and their Java counterpart function with a speed meter dialog box.
Click on one of the following links to download Jeks :
|Windows||jeks_1.0.2.exe (982 Ko)|
|MacOS X & MacOS 9 (version with Swing)
||jeks_1.0.2.sea.bin (2431 Ko)|
|Unix and other platforms||
jeks_1.0.2.zip (913 Ko)
Your feedback will be greatly appreciated...
Copyright © 1998-2001 Emmanuel PUYBARET / eTeks email@example.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.
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 firstname.lastname@example.org 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
© Copyrights 1997-2012 eTeks - All rights reserved