Package ec.gp.ge

# Class GrammarFunctionNode

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

All Implemented Interfaces:
  `Serializable`

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.

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class ec.gp.ge.GrammarNode

  `children`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GrammarFunctionNode(GPFunctionSet gpfs, String name)`
  Determines the GPNode from the function set by the name.
  `GrammarFunctionNode(String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.
  `String`
  `toString()`
  A better toString() function -- khaled

  ### Methods inherited from class ec.gp.ge.GrammarNode

  `equals, getHead, hashCode`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### GrammarFunctionNode

    public GrammarFunctionNode(GPFunctionSet gpfs, 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.

  - ### GrammarFunctionNode

    public GrammarFunctionNode(String name)

- ## Method Details

  - ### 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 String toString()
    A better toString() function -- khaled
    Specified by:
      `toString` in class `GrammarNode`