Part 3 of the series: adding support for variables to the C# expression evaluator with Expression.Parameter and compiled lambdas.
Part 2 of the series: rewriting the C# expression evaluator with the shunting-yard algorithm and adding support for parentheses.
Part 1 of the series: a basic mathematical expression evaluator in C# built with expression trees, developed test by test.
Table of contents for a four-part series on building a mathematical expression evaluator in C# with expression trees.