Class Reduction


public class Reduction extends CSTNode
A syntax reduction, produced by the Parser.
See Also:
  • Field Details

    • EMPTY

      public static final Reduction EMPTY
  • Constructor Details

    • Reduction

      public Reduction(Token root)
      Initializes the Reduction with the specified root.
  • Method Details

    • newContainer

      public static Reduction newContainer()
      Creates a new Reduction with Token.NULL as its root.
    • isEmpty

      public boolean isEmpty()
      Returns true if the node is completely empty (no root, even).
      isEmpty in class CSTNode
    • size

      public int size()
      Returns the number of elements in the node.
      Specified by:
      size in class CSTNode
    • get

      public CSTNode get(int index)
      Returns the specified element, or null.
      Specified by:
      get in class CSTNode
    • getRoot

      public Token getRoot()
      Returns the root of the node, the Token that indicates its type. Returns null if there is no root (usually only if the node is a placeholder of some kind -- see isEmpty()).
      Specified by:
      getRoot in class CSTNode
    • markAsExpression

      public void markAsExpression()
      Marks the node a complete expression.
      markAsExpression in class CSTNode
    • isAnExpression

      public boolean isAnExpression()
      Returns true if the node is a complete expression.
      isAnExpression in class CSTNode
    • add

      public CSTNode add(CSTNode element)
      Adds an element to the node.
      add in class CSTNode
    • set

      public CSTNode set(int index, CSTNode element)
      Sets an element in at the specified index.
      set in class CSTNode
    • remove

      public CSTNode remove(int index)
      Removes a node from the Reduction. You cannot remove the root node (index 0).
    • asReduction

      public Reduction asReduction()
      Creates a Reduction from this node. Returns self if the node is already a Reduction.
      Specified by:
      asReduction in class CSTNode