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++.
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:
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.
Hence, Exevalator can calculate complicated expressions like the above.
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.
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:
- 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.