public class AmbiguityInfo extends DecisionEventInfo
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.
ParserATNSimulator.reportAmbiguity(org.antlr.v4.runtime.dfa.DFA, org.antlr.v4.runtime.dfa.DFAState, int, int, boolean, java.util.BitSet, org.antlr.v4.runtime.atn.ATNConfigSet)
,
ANTLRErrorListener.reportAmbiguity(org.antlr.v4.runtime.Parser, org.antlr.v4.runtime.dfa.DFA, int, int, boolean, java.util.BitSet, org.antlr.v4.runtime.atn.ATNConfigSet)
configs, decision, fullCtx, input, startIndex, stopIndex
Constructor and Description |
---|
AmbiguityInfo(int decision,
ATNConfigSet configs,
TokenStream input,
int startIndex,
int stopIndex,
boolean fullCtx)
Constructs a new instance of the
AmbiguityInfo class with the
specified detailed ambiguity information. |
public AmbiguityInfo(int decision, ATNConfigSet configs, TokenStream input, int startIndex, int stopIndex, boolean fullCtx)
AmbiguityInfo
class with the
specified detailed ambiguity information.decision
- The decision numberconfigs
- The final configuration set identifying the ambiguous
alternatives for the current inputinput
- The input token streamstartIndex
- The start index for the current predictionstopIndex
- The index at which the ambiguity was identified during
predictionfullCtx
- true
if the ambiguity was identified during LL
prediction; otherwise, false
if the ambiguity was identified
during SLL prediction