Ejemplo n.º 1
0
 public override IEnumerable <Variable> GetFreeVariables()
 {
     foreach (Variable variable in function.GetFreeVariables())
     {
         yield return(variable);
     }
     foreach (Variable variable in parameter.GetFreeVariables())
     {
         yield return(variable);
     }
 }
Ejemplo n.º 2
0
        public FunctionDefinition(string name, FunctionTerm function, Syntax syntax)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (function == null)
            {
                throw new ArgumentNullException("function");
            }
            if (function.GetFreeVariables().Any())
            {
                throw new ArgumentException("cannot create definition containing free variables.");
            }
            if (syntax == null)
            {
                throw new ArgumentNullException("syntax");
            }

            this.name     = name;
            this.function = function;
            this.syntax   = syntax;
        }