using System.Collections.Generic;
using System.Linq.Expressions;
public static void Main()
var context = new EvalContext();
var compiled = context.Compile<Func<int, int, int>>("X + Y", "X", "Y");
var lastExpression = context.LastCompiledExpression;
Console.WriteLine($"Root NodeType: {lastExpression.NodeType};");
Console.WriteLine($"Left NodeType: {((BinaryExpression)lastExpression).Left.NodeType}");
Console.WriteLine($"Right NodeType: {((BinaryExpression)lastExpression).Right.NodeType}");