public class AmbiguityInfo extends DecisionEventInfoThis 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.reachesIntoOuterContextis 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.
- See Also:
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)
public BitSet ambigAltsThe set of alternative numbers for this decision event that lead to a valid parse.
public AmbiguityInfo(int decision, ATNConfigSet configs, BitSet ambigAlts, TokenStream input, int startIndex, int stopIndex, boolean fullCtx)Constructs a new instance of the
AmbiguityInfoclass with the specified detailed ambiguity information.
decision- The decision number
configs- The final configuration set identifying the ambiguous alternatives for the current input
ambigAlts- The set of alternatives in the decision that lead to a valid parse. The predicted alt is the min(ambigAlts)
input- The input token stream
startIndex- The start index for the current prediction
stopIndex- The index at which the ambiguity was identified during prediction
trueif the ambiguity was identified during LL prediction; otherwise,
falseif the ambiguity was identified during SLL prediction