/// <summary>
        /// Parses the day expression.
        /// Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
        /// </summary>
        /// <returns></returns>
        public Expr ParseFunction(ParameterExpr expr)
        {
            _tokenIt.ExpectIdText(this.Name);
            var expectParens = _tokenIt.NextToken.Token == Tokens.LeftParenthesis;

            FluentHelper.ParseFuncParameters(expr.ParamListExpressions, _tokenIt, _parser, expectParens, true, _funcMeta);
            return(expr);
        }
 /// <summary>
 /// Visits the function call expression tree
 /// </summary>
 /// <param name="exp"></param>
 public object VisitParameter(ParameterExpr exp)
 {
     return(null);
 }
 public Expr Parameter(ParameterExpr parameter)
 {
     if(!HasParameter) {
         parameterName = parameter.ParameterName;
         autoParameterName = true;
     }
     if(parameterName == parameter.ParameterName) {
         return Expr.One;
     } else {
         if(autoParameterName)
             throw new ExpressionDefferentiationException("Expression contains more than one independent variable");
         return Expr.Zero;
     }
 }
 /// <summary>
 /// Visit the parameter expr.
 /// </summary>
 /// <param name="expr"></param>
 /// <returns></returns>
 public object VisitParameter(ParameterExpr expr)
 {
     return(LObjects.Null);
 }
 public Number Parameter(ParameterExpr parameter)
 {
     var parameterValue = Context.GetValue(parameter.ParameterName);
     if(parameterValue == null)
         throw new ExpressionEvaluationException(string.Format("{0} value is undefined", parameter.ParameterName));
     return parameterValue.Visit(this);
 }