Class NodeListOptional

java.lang.Object
EDU.purdue.jtb.parser.syntaxtree.NodeListOptional
All Implemented Interfaces:
INode, INodeList, Serializable

public class NodeListOptional extends Object implements INodeList
Represents an optional grammar list (*), e.g. ' ( A )* '.
The class stores the nodes list in an ArrayList.
See Also:
  • Field Details

  • Constructor Details

    • NodeListOptional

      public NodeListOptional()
      Initializes an empty list of nodes with a default first allocation.
    • NodeListOptional

      public NodeListOptional(int sz)
      Initializes an empty list of nodes with a given allocation.
      Parameters:
      sz - - the list size
    • NodeListOptional

      public NodeListOptional(INode firstNode)
      Initializes an empty list of nodes with a default first allocation and adds a first node.
      Parameters:
      firstNode - - the node to add
    • NodeListOptional

      public NodeListOptional(int sz, INode firstNode)
      Initializes an empty list of nodes with a given allocation and adds a first node.
      Parameters:
      sz - - the list size
      firstNode - - the node to add
  • Method Details

    • addNode

      public void addNode(INode n)
      Adds a node to the list of nodes, managing progressive allocation increments.
      Specified by:
      addNode in interface INodeList
      Parameters:
      n - - the node to add
    • elementAt

      public INode elementAt(int i)
      Gets the node in the list at a given position.
      Specified by:
      elementAt in interface INodeList
      Parameters:
      i - - the node's position
      Returns:
      the node
    • elements

      public Iterator<INode> elements()
      Returns an iterator on the nodes list.
      Specified by:
      elements in interface INodeList
      Returns:
      the iterator
    • size

      public int size()
      Returns the number of nodes in the list.
      Specified by:
      size in interface INodeList
      Returns:
      the list size
    • present

      public boolean present()
      Returns:
      true if there is at least one node, false otherwise
    • accept

      public int accept(IIntVisitor vis)
      Accepts a IIntVisitor visitor with user return data.
      Specified by:
      accept in interface INode
      Parameters:
      vis - - the visitor
      Returns:
      the user Return data
    • accept

      public void accept(IVoidVisitor vis)
      Accepts a IVoidVisitor visitor} visitor with user return data.
      Specified by:
      accept in interface INode
      Parameters:
      vis - - the visitor