Hey, At the beggining I want to say "Great job, dude!" I have searched for some solutions since couple of days and none of them was so good as yours. Still,I would have couple of suggestions. Through my tests, I found quite strange run time error,
your Evaluator can not calculate expression like "Abs(-0.12)+ Cos(23)". Each time an error is thrown with message: "Operator '+' can't be applied to operands of types 'decimal' and 'double". But as long as I try to evaluate "Abs(-0.12)+
23" works perfectly. I looked a bit on your source code, what I notice each of the function when is calculated, you change the result to double type, except Abs() function. And could be great if Fix() and Int() functions were implemented. And again, your
evaluator is a good piece of work.!