Class AmbiguityInfo
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.getReachesIntoOuterContext() is false 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(org.antlr.v4.runtime.dfa.DFA, org.antlr.v4.runtime.dfa.DFAState, int, int, boolean, java.util.BitSet, org.antlr.v4.runtime.atn.ATNConfigSet)ParserErrorListener.reportAmbiguity(org.antlr.v4.runtime.Parser, org.antlr.v4.runtime.dfa.DFA, int, int, boolean, java.util.BitSet, org.antlr.v4.runtime.atn.ATNConfigSet)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BitSetThe set of alternative numbers for this decision event that lead to a valid parse.Fields inherited from class org.antlr.v4.runtime.atn.DecisionEventInfo
decision, fullCtx, input, startIndex, state, stopIndex -
Constructor Summary
ConstructorsConstructorDescriptionAmbiguityInfo(int decision, SimulatorState state, BitSet ambigAlts, TokenStream input, int startIndex, int stopIndex) Constructs a new instance of theAmbiguityInfoclass with the specified detailed ambiguity information. -
Method Summary
Modifier and TypeMethodDescriptionGets the set of alternatives in the decision that lead to a valid parse.
-
Field Details
-
ambigAlts
The set of alternative numbers for this decision event that lead to a valid parse.
-
-
Constructor Details
-
AmbiguityInfo
public AmbiguityInfo(int decision, @NotNull SimulatorState state, @NotNull BitSet ambigAlts, @NotNull TokenStream input, int startIndex, int stopIndex) Constructs a new instance of theAmbiguityInfoclass with the specified detailed ambiguity information.- Parameters:
decision- The decision numberstate- The final simulator state identifying the ambiguous alternatives for the current inputambigAlts- The set of alternatives in the decision that lead to a valid parse. The predicted alt is the min(ambigAlts)input- The input token streamstartIndex- The start index for the current predictionstopIndex- The index at which the ambiguity was identified during prediction
-
-
Method Details
-
getAmbiguousAlternatives
Gets the set of alternatives in the decision that lead to a valid parse.- Since:
- 4.5
-