News
JEPLite project launched by Stephen Kolaroff
JEPLite is a light-weighted (re)implementation of an the Java Expression
Parser. The intention is to strip some of its not-so-often-used features,
and thus speeding the rest.
Visit the http://sourceforge.net/projects/jeplite/
project page for more information.
Description
JEP is a Java API for parsing and evaluating mathematical expressions.
With this library you can allow your users to enter an arbitrary formula
as a string, and instantly evaluate it. JEP supports user defined variables,
constants, and functions. A number of common mathematical functions
and constants are included.
Features
- Easy-to-use package for parsing mathematical expressions
- Small size (only 56kb as jar archive)
- Supports boolean expressions (!, &&, ||, <, >, !=,
==, >=, and <=)
- Fast evaluation (the expression can be evaluated quickly for different
variable values)
- Includes common math functions
- Extendable through user defined functions
- Predefined constants such as 'pi' and 'e'
- Support for strings, complex numbers, and vectors
- Support for implicit multiplication (allows use of expressions such
as "3x" instead of "3*x")
- Allows choice between declared and undeclared variables
- Java 1.1 compatible (tested with Sun Java JDK 1.1.8 and the Microsoft
Java VM)
- Supports Unicode characters (including Greek symbols)
- Includes JavaCC
grammar from which the main classes are generated
License
This package is licensed under the GNU
General Public License (GPL). If you are unable to accept the terms
of the GPL for your product, a commercial
license can be purchased.
Plans
- More flexibility with number types (support for arbitrary precision
calculations, BigDecimal...)
- JUnit unit testing
- Add more internal documentation
- MathML (output, or optional input form)
- Add more functions for strings and arrays
- Internationalized error output
- Support for matrices
- Opportunities with OpenMath compatibility
- Replace ParseException throw during evaluation with new Exception
class
Comments / Bug Report
My e-mail address is nathanfunk@users.sourceforge.net
(please write in English or German). Please use the Forum if you think
your question might also help others. Many of the improvements to JEP
were initiated by users. Your input counts.
|