using uCalcSoftware; var uc = new uCalc(); var t = uc.ExpressionTransformer; // Assume these rules are pre-defined to create a recursive sum t.FromTo("MySum({x})", "{x}"); t.FromTo("MySum({x}, {y})", "({x} + MySum({y}))").RewindOnChange = true; uCalc.String trace = t.TraceTransform("MySum(1,2,3,4)"); trace.ListSeparator("\n"); Console.WriteLine(trace);