# Exevalator

Exevalator (an abbreviation for **Ex**pression-**Eval**u**ator**) 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:

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.

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

- 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.