protected override Variable Evaluate(ParsingScript script) { List <Variable> args = script.GetFunctionArgs(); script.MoveBackIf(Constants.START_GROUP); if (args.Count != m_args.Length) { throw new ArgumentException("Function [" + m_name + "] arguments mismatch: " + m_args.Length + " declared, " + args.Count + " supplied"); } Variable result = Run(args); return(result); }