Japanese English

Exevalator

Exevalator (an abbreviation for Expression-Evaluator) is a compact & high-speed interpreter embeddable in your programs/apps, for computing values of expressions. Exevalator is currently available for programs/apps written in Java®, Rust, C#, and C++.

- What is Exevalator ? -

An Expression Calculator Library

Exevalator is a kind of library (a component of software/apps), for calculating values of expressions which are given as character-string values/variables.

For example, Exevalator enables you to calculate "1 + 2", "x + f(y)", etc. in your apps.

For more details, see the following article:

Released "Exevalator": A Multilingual & Copyright-Free Expression Evaluator Library
2022/04/16 - The introduction article of Excavator, published when it had been released. Explaining the concept, details, and how to use.

Can Use Variables/Functions

You can define variables and functions available in expressions, as many as you want. Also, you can use parentheses ( ) in expressions.

((x + 1.2) * 3.4) / 5.6 + f( g(x + y) / (z - 1.23) )

Hence, Exevalator can calculate complicated expressions like the above.

High Speed

Exevalator can calculate some tens - hundreds of thousands of expressions per second, even when a different expression is inputted for each calculation.

Moreover, when calculating the same expression repeatedly (with changing values of variables), Exevalator can calculate some tens of millions of expressions per second.

In other words, assuming that an expression contains about 10 operators (addition, subtraction, ...), the max processing speed of numerical operations on Exevalator is some hundreds MFLOPS.

Multilingual

Exevalator is available for software/apps written in Java, C++, C#, and Rust.

The source code of Exevalator is compact and easy to port, so we possibly will port it to other major languages, in future.

Easy to Start Using

Exevalator is consists of only one source file.
(The C++ version consists of two files because it has a header file.)

So you can start using Exevalator, by simply putting 1 source file into the source code folder of the app you are developing.

Open Source & Copyright Free

Exevalator is an open-source library. You can select the license from CC0 and Unlicense freely, where both license terms are almost the same as the so-called "copyright-free" (public domain).

Therefore, you can also customize/divert source code of Exevalator freely. For such time, the following article may help you:

The Internal Architecture of Exevalator
2022/05/04 - Explaining the internal architecture of Exevalator, which is an open-source expression calculator library.

Download

Let's try using Exevalator !

  • Oracle and Java are registered trademarks of Oracle and/or its affiliates.
  • C# is either a registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
  • Rust is registered trademarks of Mozilla Foundation and/or its affiliates.
  • Other names may be either a registered trademarks or trademarks of their respective owners.

Japanese English
Index of this category
News

Software Updates: Command Expansion in RINEARN Graph, and English Support in VCSSL
2024/02/05 - We updated our apps. This updates include "Enhancing the Command-Line Features of RINEARN Graph" and "Adding English Support to VCSSL." Delves into each of them!

Inside the Repetitive Execution Speedup Impremented in Vnano Ver.1.1
2024/01/17 - Delves into the update in Vnano 1.1 from a developer's viewpoint, providing detailed insights into the specific improvements made to the internal structure of the script engine.

Scripting Engine Vnano Ver.1.1 Released: Dramatic Speed Improvement for Repetitive Executions of the Same Content
2023/12/22 - Released the Vnano script engine Ver.1.1. In this version, we've made significant enhancements in processing speed by reducing the overhead of handling requests. Explains the details.

Code Archive
Circular Wave Animation

Draws the circular wave as 3D animation, under the specified wave parameters.
2022/12/14
Sine Wave Animation

Draws the sine wave as animation, under the specified wave parameters.
2022/11/26
Tool For Converting Units of Angles: Degrees and Radians

A GUI tool for converting the angle in degrees into radians, or radians into degrees.
2022/11/22
Fizz Buzz Program

A program printing the correct result of Fizz Buzz game.
2022/05/12
Vnano | Solve The Lorenz Equations Numerically

Solve the Lorenz equations, and output data to plot the solution curve (well-known as the "Lorenz Attractor") on a 3D graph.
2021/02/18
» More