Class ATNState

java.lang.Object
org.antlr.v4.runtime.atn.ATNState
Direct Known Subclasses:
BasicState, BlockEndState, DecisionState, LoopEndState, RuleStartState, RuleStopState, StarLoopbackState

public abstract class ATNState extends Object
The following images show the relation of states and transitions for various grammar constructs.
  • Solid edges marked with an ε indicate a required EpsilonTransition.
  • Dashed edges indicate locations where any transition derived from Transition might appear.
  • Dashed nodes are place holders for either a sequence of linked BasicState states or the inclusion of a block representing a nested construct in one of the forms below.
  • Nodes showing multiple outgoing alternatives with a ... support any number of alternatives (one or more). Nodes without the ... only support the exact number of alternatives shown in the diagram.

Basic Blocks

Rule

Block of 1 or more alternatives

Greedy Loops

Greedy Closure: (...)*

Greedy Positive Closure: (...)+

Greedy Optional: (...)?

Non-Greedy Loops

Non-Greedy Closure: (...)*?

Non-Greedy Positive Closure: (...)+?

Non-Greedy Optional: (...)??

  • Field Details

    • INITIAL_NUM_TRANSITIONS

      public static final int INITIAL_NUM_TRANSITIONS
      See Also:
    • INVALID_TYPE

      public static final int INVALID_TYPE
      See Also:
    • BASIC

      public static final int BASIC
      See Also:
    • RULE_START

      public static final int RULE_START
      See Also:
    • BLOCK_START

      public static final int BLOCK_START
      See Also:
    • PLUS_BLOCK_START

      public static final int PLUS_BLOCK_START
      See Also:
    • STAR_BLOCK_START

      public static final int STAR_BLOCK_START
      See Also:
    • TOKEN_START

      public static final int TOKEN_START
      See Also:
    • RULE_STOP

      public static final int RULE_STOP
      See Also:
    • BLOCK_END

      public static final int BLOCK_END
      See Also:
    • STAR_LOOP_BACK

      public static final int STAR_LOOP_BACK
      See Also:
    • STAR_LOOP_ENTRY

      public static final int STAR_LOOP_ENTRY
      See Also:
    • PLUS_LOOP_BACK

      public static final int PLUS_LOOP_BACK
      See Also:
    • LOOP_END

      public static final int LOOP_END
      See Also:
    • serializationNames

      public static final List<String> serializationNames
    • INVALID_STATE_NUMBER

      public static final int INVALID_STATE_NUMBER
      See Also:
    • atn

      public ATN atn
      Which ATN are we in?
    • stateNumber

      public int stateNumber
    • ruleIndex

      public int ruleIndex
    • epsilonOnlyTransitions

      public boolean epsilonOnlyTransitions
    • transitions

      protected final List<Transition> transitions
      Track the transitions emanating from this ATN state.
    • nextTokenWithinRule

      public IntervalSet nextTokenWithinRule
      Used to cache lookahead during parsing, not used during construction
  • Constructor Details

    • ATNState

      public ATNState()
  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • isNonGreedyExitState

      public boolean isNonGreedyExitState()
    • toString

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

      public Transition[] getTransitions()
    • getNumberOfTransitions

      public int getNumberOfTransitions()
    • addTransition

      public void addTransition(Transition e)
    • addTransition

      public void addTransition(int index, Transition e)
    • transition

      public Transition transition(int i)
    • setTransition

      public void setTransition(int i, Transition e)
    • removeTransition

      public Transition removeTransition(int index)
    • getStateType

      public abstract int getStateType()
    • onlyHasEpsilonTransitions

      public final boolean onlyHasEpsilonTransitions()
    • setRuleIndex

      public void setRuleIndex(int ruleIndex)