Class Expansion

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int column  
      protected static java.lang.String eol  
      boolean inMinimumSize
      This flag is used for bookkeeping by the minimumSize method in class ParseEngine.
      private int line
      The line and column number of the construct that corresponds most closely to this node.
      (package private) long myGeneration
      To avoid right-recursive loops when calculating follow sets, we use a generation number which indicates if this expansion was visited by LookaheadWalk.genFollowSet in the same generation.
      (package private) int ordinal
      The ordinal of this node with respect to its parent.
      java.lang.Object parent
      The parent of this expansion node.
    • Constructor Summary

      Constructors 
      Constructor Description
      Expansion()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.StringBuffer dump​(int indent, java.util.Set<Expansion> alreadyDumped)  
      protected java.lang.StringBuffer dumpPrefix​(int indent)  
      int getColumn()  
      int getLine()  
      java.lang.String getProductionName()  
      private java.lang.String getSimpleName()  
      int hashCode()
      A reimplementing of Object.hashCode() to be deterministic.
      (package private) void setColumn​(int column)  
      (package private) void setLine​(int line)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • eol

        protected static final java.lang.String eol
      • line

        private int line
        The line and column number of the construct that corresponds most closely to this node.
      • column

        private int column
      • parent

        public java.lang.Object parent
        The parent of this expansion node. In case this is the top level expansion of the production it is a reference to the production node otherwise it is a reference to another Expansion node. In case this is the top level of a lookahead expansion,then the parent is null.
      • ordinal

        int ordinal
        The ordinal of this node with respect to its parent.
      • myGeneration

        long myGeneration
        To avoid right-recursive loops when calculating follow sets, we use a generation number which indicates if this expansion was visited by LookaheadWalk.genFollowSet in the same generation. New generations are obtained by incrementing the static counter below, and the current generation is stored in the non-static variable below.
      • inMinimumSize

        public boolean inMinimumSize
        This flag is used for bookkeeping by the minimumSize method in class ParseEngine.
    • Constructor Detail

      • Expansion

        public Expansion()
    • Method Detail

      • hashCode

        public int hashCode()
        A reimplementing of Object.hashCode() to be deterministic. This uses the line and column fields to generate an arbitrary number - we assume that this method is called only after line and column are set to their actual values.
        Overrides:
        hashCode in class java.lang.Object
      • getLine

        public final int getLine()
        Returns:
        the line
      • getColumn

        public final int getColumn()
        Returns:
        the column
      • setLine

        final void setLine​(int line)
        Parameters:
        line - the line to set
      • setColumn

        final void setColumn​(int column)
        Parameters:
        column - the column to set
      • dumpPrefix

        protected java.lang.StringBuffer dumpPrefix​(int indent)
      • dump

        public java.lang.StringBuffer dump​(int indent,
                                           java.util.Set<Expansion> alreadyDumped)
      • getProductionName

        public java.lang.String getProductionName()
      • getSimpleName

        private java.lang.String getSimpleName()
      • toString

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