ec.gp.ge
Class GrammarFunctionNode

java.lang.Object
  extended by ec.gp.ge.GrammarNode
      extended by ec.gp.ge.GrammarFunctionNode

public class GrammarFunctionNode
extends GrammarNode

A GrammarNode representing a GPNode in the GE Grammar. The head of the GrammarFunctionNode is the name of the GPNode in the grammar; and the children are various arguments to the node as defined by the grammar. These are returned by getArgument(...) and getNumArguments(). The GrammarFunctionNode holds a prototypical GPNode from which clones can be made.


Field Summary
 
Fields inherited from class ec.gp.ge.GrammarNode
children
 
Constructor Summary
GrammarFunctionNode(GPFunctionSet gpfs, java.lang.String name)
          Determines the GPNode from the function set by the name.
 
Method Summary
 void addArgument(GrammarNode arg)
          Adds a given argument to the node.
 GrammarNode getArgument(int index)
          Returna given argument.
 GPNode getGPNodePrototype()
          Returns the prototype without cloning it first.
 int getNumArguments()
          Returns the number of arguments.
 java.lang.String toString()
           
 
Methods inherited from class ec.gp.ge.GrammarNode
getHead
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GrammarFunctionNode

public GrammarFunctionNode(GPFunctionSet gpfs,
                           java.lang.String name)
Determines the GPNode from the function set by the name. If there is more than one such node (which shouldn't be the case) then only the first such node is used. Stores the prototype.

Method Detail

addArgument

public void addArgument(GrammarNode arg)
Adds a given argument to the node.


getNumArguments

public int getNumArguments()
Returns the number of arguments.


getArgument

public GrammarNode getArgument(int index)
Returna given argument.


getGPNodePrototype

public GPNode getGPNodePrototype()
Returns the prototype without cloning it first. Be certain to clone before using.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object