Simple parser of numeric math expressions. Supports interpreting and compiling expression to delegate.
Example of usage:
Parser parser = new Parser("x");
var parsingResult = parser.Parse("x + 1 - 3 * (2 - 1)");
var result = parsingResult.Evaluate(0);
Supports common mathematical operations on double numbers, functions from Math class. Allows to interpret parsed expression with specific values of parameters or compile into delegate and call with the speed of common method. Optimizes generated syntax tree, replacing constant subtrees with their values.