Class AmbiguityInfo
- java.lang.Object
-
- org.antlr.v4.runtime.atn.DecisionEventInfo
-
- org.antlr.v4.runtime.atn.AmbiguityInfo
-
public class AmbiguityInfo extends DecisionEventInfo
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(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)
-
-
Field Summary
Fields Modifier and Type Field Description BitSet
ambigAlts
The set of alternative numbers for this decision event that lead to a valid parse.-
Fields inherited from class org.antlr.v4.runtime.atn.DecisionEventInfo
configs, decision, fullCtx, input, startIndex, stopIndex
-
-
Constructor Summary
Constructors Constructor Description AmbiguityInfo(int decision, ATNConfigSet configs, BitSet ambigAlts, TokenStream input, int startIndex, int stopIndex, boolean fullCtx)
Constructs a new instance of theAmbiguityInfo
class with the specified detailed ambiguity information.
-
-
-
Field Detail
-
ambigAlts
public BitSet ambigAlts
The set of alternative numbers for this decision event that lead to a valid parse.
-
-
Constructor Detail
-
AmbiguityInfo
public AmbiguityInfo(int decision, ATNConfigSet configs, BitSet ambigAlts, TokenStream input, int startIndex, int stopIndex, boolean fullCtx)
Constructs a new instance of theAmbiguityInfo
class with the specified detailed ambiguity information.- Parameters:
decision
- The decision numberconfigs
- The final configuration set 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 predictionfullCtx
-true
if the ambiguity was identified during LL prediction; otherwise,false
if the ambiguity was identified during SLL prediction
-
-