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

public Class AmbiguityInfo

extends DecisionEventInfo
Class Inheritance
Imports
org.antlr.v4.runtime.ANTLRErrorListener, .TokenStream, java.util.BitSet

This class represents profiling event information for an ambiguity. Ambiguities are decisions where a particular input resulted in an SLL conflict, followed by LL prediction also reaching a conflict state (indicating a true ambiguity in the grammar).

This event may be reported during SLL prediction in cases where the conflicting SLL configuration set provides sufficient information to determine that the SLL conflict is truly an ambiguity. For example, if none of the ATN configurations in the conflicting SLL configuration set have traversed a global follow transition (i.e. ATNConfig#reachesIntoOuterContext is 0 for all configurations), then the result of SLL prediction for that input is known to be equivalent to the result of LL prediction for that input.

In some cases, the minimum represented alternative in the conflicting LL configuration set is not equal to the minimum represented alternative in the conflicting SLL configuration set. Grammars and inputs which result in this scenario are unable to use PredictionMode#SLL, which in turn means they cannot use the two-stage parsing strategy to improve parsing performance for that input.

Since
4.3
See Also
ParserATNSimulator#reportAmbiguity, ANTLRErrorListener#reportAmbiguity

Field Summary

Modifier and TypeField and Description
public BitSet
ambigAlts

The set of alternative numbers for this decision event that lead to a valid parse.

Inherited from org.antlr.v4.runtime.atn.DecisionEventInfo:
configsdecisionfullCtxinputstartIndexstopIndex

Constructor Summary

AccessConstructor and Description
public
AmbiguityInfo(int
The decision number
decision
,
ATNConfigSet
The final configuration set identifying the ambiguous alternatives for the current input
configs
,
BitSet
The set of alternatives in the decision that lead to a valid parse. The predicted alt is the min(ambigAlts)
ambigAlts
,
TokenStream
The input token stream
input
,
int
The start index for the current prediction
startIndex
,
int
The index at which the ambiguity was identified during prediction
stopIndex
,
boolean
true if the ambiguity was identified during LL prediction; otherwise, false if the ambiguity was identified during SLL prediction
fullCtx
)

Constructs a new instance of the AmbiguityInfo class with the specified detailed ambiguity information.

Field Detail

ambigAltsback to summary
public BitSet ambigAlts

The set of alternative numbers for this decision event that lead to a valid parse.

Constructor Detail

AmbiguityInfoback to summary
public AmbiguityInfo(int decision, ATNConfigSet configs, BitSet ambigAlts, TokenStream input, int startIndex, int stopIndex, boolean fullCtx)

Constructs a new instance of the AmbiguityInfo class with the specified detailed ambiguity information.

Parameters
decision:int

The decision number

configs:ATNConfigSet

The final configuration set identifying the ambiguous alternatives for the current input

ambigAlts:BitSet

The set of alternatives in the decision that lead to a valid parse. The predicted alt is the min(ambigAlts)

input:TokenStream

The input token stream

startIndex:int

The start index for the current prediction

stopIndex:int

The index at which the ambiguity was identified during prediction

fullCtx:boolean

true if the ambiguity was identified during LL prediction; otherwise, false if the ambiguity was identified during SLL prediction