Class ExpansionSequence

All Implemented Interfaces:
JavaCCConstants, Node, freemarker.template.TemplateHashModel, freemarker.template.TemplateModel, freemarker.template.TemplateNodeModel, freemarker.template.TemplateScalarModel, Comparable<Node>

public class ExpansionSequence extends Expansion
  • Constructor Details

    • ExpansionSequence

      public ExpansionSequence()
  • Method Details

    • getUnits

      public List<Expansion> getUnits()
    • allUnits

      public List<Expansion> allUnits()
      Returns:
      a List that includes child expansions that are inside of superfluous parentheses.
    • firstNonEmpty

      public Expansion firstNonEmpty()
    • getSpecifiesLexicalStateSwitch

      public boolean getSpecifiesLexicalStateSwitch()
      Overrides:
      getSpecifiesLexicalStateSwitch in class Expansion
    • isAlwaysSuccessful

      public boolean isAlwaysSuccessful()
      Overrides:
      isAlwaysSuccessful in class Expansion
    • getFirstSet

      public TokenSet getFirstSet()
      Specified by:
      getFirstSet in class Expansion
    • getFinalSet

      public TokenSet getFinalSet()
      Specified by:
      getFinalSet in class Expansion
    • getRequiresScanAhead

      public boolean getRequiresScanAhead()
      Overrides:
      getRequiresScanAhead in class Expansion
    • getHasTokenActivation

      public boolean getHasTokenActivation()
      Overrides:
      getHasTokenActivation in class Expansion
    • setLookahead

      public void setLookahead(Lookahead lookahead)
    • getLookahead

      public Lookahead getLookahead()
      Overrides:
      getLookahead in class Expansion
    • getHasExplicitLookahead

      public boolean getHasExplicitLookahead()
      Overrides:
      getHasExplicitLookahead in class Expansion
    • isPossiblyEmpty

      public boolean isPossiblyEmpty()
      Specified by:
      isPossiblyEmpty in class Expansion
      Returns:
      Can this expansion be matched by the empty string.
    • getMinimumSize

      public int getMinimumSize()
      Specified by:
      getMinimumSize in class Expansion
      Returns:
      the minimum number of tokens that this expansion consumes.
    • getMaximumSize

      public int getMaximumSize()
      Specified by:
      getMaximumSize in class Expansion
      Returns:
      the maximum number of tokens that this expansion consumes.
    • getHasScanLimit

      public boolean getHasScanLimit()
      Overrides:
      getHasScanLimit in class Expansion
      Returns:
      whether we have a scan limit, including an implicit one inside a nested NonTerminal
    • getHasExplicitScanLimit

      public boolean getHasExplicitScanLimit()
      Returns:
      whether we have an explicit scan limit, i.e. not including one that is inside a NonTerminal expansion.