All Projects → codingseb → Expressionevaluator

codingseb / Expressionevaluator

Licence: mit
A Simple Math and Pseudo C# Expression Evaluator in One C# File. Can also execute small C# like scripts

Programming Languages

script
160 projects
scripting
82 projects
reflection
70 projects

Projects that are alternatives of or similar to Expressionevaluator

Formula Parser
Parsing and evaluating mathematical formulas given as strings.
Stars: ✭ 62 (-68.04%)
Mutual labels:  parser, math, evaluation, expression
Sharpmath
A small .NET math library.
Stars: ✭ 36 (-81.44%)
Mutual labels:  parser, math, expression
texpr
Boolean evaluation and digital calculation expression engine for GO
Stars: ✭ 18 (-90.72%)
Mutual labels:  evaluation, expression, calculations
eval-estree-expression
Safely evaluate JavaScript (estree) expressions, sync and async.
Stars: ✭ 22 (-88.66%)
Mutual labels:  evaluation, expression, eval
Algebraicengine Fraction
a calculating engine~
Stars: ✭ 311 (+60.31%)
Mutual labels:  parser, math
Eval Expression.net
C# Eval Expression | Evaluate, Compile, and Execute C# code and expression at runtime.
Stars: ✭ 271 (+39.69%)
Mutual labels:  evaluation, eval
Ccalc
Scientific calculator in which you can define new constants and functions
Stars: ✭ 19 (-90.21%)
Mutual labels:  parser, expression
Metric Parser
📜 AST-based advanced mathematical parser written by Typescript.
Stars: ✭ 26 (-86.6%)
Mutual labels:  parser, expression
Hx Mathparser
Evaluates math expressions. Written in Haxe.
Stars: ✭ 7 (-96.39%)
Mutual labels:  parser, math
Algebra Latex
Parse and calculate latex formatted math
Stars: ✭ 20 (-89.69%)
Mutual labels:  parser, math
Eval Sql.net
SQL Eval Function | Dynamically Evaluate Expression in SQL Server using C# Syntax
Stars: ✭ 84 (-56.7%)
Mutual labels:  evaluation, eval
Math Engine
Mathematical expression parsing and calculation engine library. 数学表达式解析计算引擎库
Stars: ✭ 123 (-36.6%)
Mutual labels:  math, expression
booleval
Header-only C++17 library for evaluating logical expressions.
Stars: ✭ 54 (-72.16%)
Mutual labels:  evaluation, expression
expression-evaluator
A math expression evaluator built with JavaScript
Stars: ✭ 25 (-87.11%)
Mutual labels:  math, evaluation
Expr Eval
Mathematical expression evaluator in JavaScript
Stars: ✭ 752 (+287.63%)
Mutual labels:  parser, math
rclc
Mathematical expression calculator with big integers, floats, common fractions, and complex numbers support
Stars: ✭ 24 (-87.63%)
Mutual labels:  math, expression
Mathquill
Easily type math in your webapp
Stars: ✭ 1,968 (+914.43%)
Mutual labels:  math, expression
math eval
✖️➕➖➗ `math_eval` safely evaluates mathematical expressions
Stars: ✭ 33 (-82.99%)
Mutual labels:  math, eval
mpsl
Shader-Like Mathematical Expression JIT Engine for C++ Language
Stars: ✭ 52 (-73.2%)
Mutual labels:  math, expression
String Calc
PHP calculator library for mathematical terms (expressions) passed as strings
Stars: ✭ 60 (-69.07%)
Mutual labels:  parser, math

ExpressionEvaluator Icon

ExpressionEvaluator

A Simple Math and Pseudo C# Expression Evaluator in One C# File.

And from version 1.2.0 can execute small C# like scripts

It is largely based on and inspired by the following resources this post on stackoverflow, NCalc, C# Operators and C# Statement Keywords

Status

Branch Status
master Build Status
dev Dev Status
nuget NuGet Status

Features

And with ScriptEvaluate method

  • Small C# like script evaluation (Multi expressions separated by ; )
  • Some conditional and loop blocks keywords (if, while, for, foreach ...)
  • Multi-line (multi expression) Lambda expressions. (Can be use as method See #72 Declare methods in scripts and the doc)

Resources

And more is coming

Similar projects

Free

  • NCalc
  • Jint Support scripting but with Javascript
  • NLua use Lua language in C#
  • DynamicExpresso
  • Flee
  • CS-Script Best alternative (I use it some times) -> Real C# scripts better than ExpressionEvaluator (But everything is compiled. Read the doc. Execution is faster but compilation can make it very slow. And if not done the right way, it can lead to memory leaks)
  • Roslyn The Microsoft official solution (For scripting see)
  • MathParser expression tree compiler and interpreter for math expressions. Heavily inspired by Roslyn.

Commercial

I would say every C# evaluation libraries have drawbacks and benefits, ExpressionEvaluator is not an exception so choose wisely (Read docs and licences).

The biggest difference of ExpressionEvaluator is that everything is evaluated on the fly, nothing is compiled or transpile nor in CLR/JIT/IL nor in lambda expressions nor in javascript or other languages stuffs. So it can be slower in some cases (sometimes not) but it also avoid a lot of memory leaks. It already allow to evaluate some small scripts. If you don't want an another .dll file in your project, you only need to copy one C# file in your project. And it's MIT licence

Donate

Expression Evaluator is free and will always be.
But if you want to say thanks for this lib with a donation or small sponsoring here you can :
Donate

Thank you anyway for using ExpressionEvaluator

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].