Class Expansion

java.lang.Object
org.javacc.parser.Expansion
Direct Known Subclasses:
Action, Choice, Lookahead, NonTerminal, OneOrMore, RegularExpression, Sequence, TryBlock, ZeroOrMore, ZeroOrOne

public class Expansion extends Object
Describes expansions - entities that may occur on the right hand sides of productions. This is the base class of a bunch of other more specific classes.
  • Field Details

    • parent

      public 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.
    • nextGenerationIndex

      public static long nextGenerationIndex
      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.
    • myGeneration

      public long myGeneration
    • inMinimumSize

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

      protected static final String eol
  • Constructor Details

    • Expansion

      public Expansion()
  • Method Details

    • 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 Object
    • reInit

      public static void reInit()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • dumpPrefix

      protected StringBuffer dumpPrefix(int indent)
    • dump

      public StringBuffer dump(int indent, Set<? super Expansion> alreadyDumped)
    • getProductionName

      public String getProductionName()