JEP - Java Expression Parser SourceForge Logo

Main  |  Samples  |  Documentation  |  Version Log  |  Forum  |  Download


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.






:: © 2000 Nathan Funk