public dynamic Eval(string s, Rule r)
        {
            var nodes = r.Parse(s);
            var root  = JavaScriptTransformer.Transform(nodes[0]);

            return(Eval(root));
        }
        public static Delegate CompileLambda(Node n)
        {
            n = JavaScriptTransformer.Transform(n);
            var compiler = new JavaScriptExpressionCompiler();
            var expr     = (LambdaExpression)compiler.ToExpr(n);

            if (expr == null)
            {
                return(null);
            }
            return(expr.Compile());
        }