Top Description Fields Constructors Methods
org.antlr.v4.runtime.atn

public abstract Class Transition

extends Object
Class Inheritance
Known Direct Subclasses
org.antlr.v4.runtime.atn.WildcardTransition, org.antlr.v4.runtime.atn.AbstractPredicateTransition, org.antlr.v4.runtime.atn.ActionTransition, org.antlr.v4.runtime.atn.AtomTransition, org.antlr.v4.runtime.atn.EpsilonTransition, org.antlr.v4.runtime.atn.RangeTransition, org.antlr.v4.runtime.atn.RuleTransition, org.antlr.v4.runtime.atn.SetTransition
Imports
org.antlr.v4.runtime.misc.IntervalSet, java.util.Arrays, .Collections, .HashMap, .List, .Map

An ATN transition between any two ATN states. Subclasses define atom, set, epsilon, action, predicate, rule transitions.

This is a one way link. It emanates from a state (usually via a list of transitions) and has a target state.

Since we never have to change the ATN transitions once we construct it, we can fix these transitions as specific classes. The DFA transitions on the other hand need to update the labels as it adds transitions to the states. We'll use the term Edge for the DFA to distinguish them from ATN transitions.

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final List<String>
public static final Map<Class<? extends Transition>, Integer>
public static final int
public ATNState
target

The target of this transition.

public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public abstract int
public boolean

Returns:

true if traversing this transition in the ATN does not consume an input symbol; otherwise, false if traversing this transition consumes (matches) an input symbol.
isEpsilon
()

Determines if the transition is an "epsilon" transition.

public IntervalSet
public abstract boolean
matches(int symbol, int minVocabSymbol, int maxVocabSymbol)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ACTIONback to summary
public static final int ACTION
ATOMback to summary
public static final int ATOM
EPSILONback to summary
public static final int EPSILON
NOT_SETback to summary
public static final int NOT_SET
PRECEDENCEback to summary
public static final int PRECEDENCE
PREDICATEback to summary
public static final int PREDICATE
RANGEback to summary
public static final int RANGE
RULEback to summary
public static final int RULE
serializationNamesback to summary
public static final List<String> serializationNames
serializationTypesback to summary
public static final Map<Class<? extends Transition>, Integer> serializationTypes
SETback to summary
public static final int SET
targetback to summary
public ATNState target

The target of this transition.

WILDCARDback to summary
public static final int WILDCARD

Constructor Detail

Transitionback to summary
protected Transition(ATNState target)

Method Detail

getSerializationTypeback to summary
public abstract int getSerializationType()
isEpsilonback to summary
public boolean isEpsilon()

Determines if the transition is an "epsilon" transition.

The default implementation returns false.

Returns:boolean

true if traversing this transition in the ATN does not consume an input symbol; otherwise, false if traversing this transition consumes (matches) an input symbol.

labelback to summary
public IntervalSet label()
matchesback to summary
public abstract boolean matches(int symbol, int minVocabSymbol, int maxVocabSymbol)