Lines Matching full:alternative

77  * We could cache results from full context to predicted alternative easily and
91 * resolve conflict. Input A B C D could predict alternative 1 in one position
92 * in the input and A B C E could predict alternative 2 in another position in
143 * predicates and return the sole semantically valid alternative. If there is
144 * more than 1 alternative, we report an ambiguity. If there are 0 alternatives,
147 * alternatives with false predicates and choose the minimum alternative that
151 * those and return the minimum semantically viable alternative. If no
214 * SLL conflict resolution might choose an alternative that the full LL would
218 * alternative within the LL set, them both SLL and LL would choose the same
219 * alternative because they both choose the minimum of multiple conflicting
224 * get an error because SLL will pursue alternative 1. If s is `{1, 2}` or
225 * `{1, 3}` then both SLL and LL will choose the same alternative because
226 * alternative one is the minimum of either set. If s is `{2}` or `{3}` then
424 * Performs ATN simulation to compute a predicted alternative based
430 * if the set is empty, there is no viable alternative for current symbol
431 * does the state uniquely predict an alternative?
438 * cases except no viable alternative (and possibly non-greedy decisions?)
685 // MORE THAN ONE VIABLE ALTERNATIVE
722 // We need to test all predicates, even in DFA states that uniquely predict alternative.
849 // If the configuration set uniquely predicts an alternative,
878 * would resolve this without conflict to alternative 1. Any other viable
881 * the fact that we should predict alternative 1. We just can't say for
910 * ensure that the alternative matching the longest overall sequence is
971 // It can only have one alternative; just add to result
972 // Also don't pursue the closure if there is unique alternative
977 … // Also don't pursue the closure if there is unique alternative among the configurations.
1021 * chooses an alternative matching the longest overall sequence when
1207 * - Remove all configurations which predict an alternative greater than
1208 * 1, for which another configuration that predicts alternative 1 is in the
1212 * the body of the closure, so all states reachable via alternative 1 are
1216 * epsilon transition, so the only way an alternative other than 1 can exist
1217 * in a state that is also reachable via alternative 1 is by nesting calls
1233 * configurations distinguishes between them, and prevents the alternative
1314 * corresponds to alternative i. altToPred[i] may have one of three values:
1395 * choosing an alternative rather than throwing a
1401 * decision entry rule. Choosing such an alternative ensures that the
1413 * alternative which will result in a {@see FailedPredicateException} in
1416 * blocked by a semantic predicate. By choosing this alternative within
1432 * or {@see ATN::INVALID_ALT_NUMBER} if a suitable alternative
1586 * alternative. We will not be caching that DFA state and it is a
2202 * which are part of one or more conflicting alternative subsets.
2207 * more conflicting alternative subsets. If `configs` does
2228 because alternative to has another way to continue, via [6|2|[]].
2230 with a single alternative, 2, and crucially the state transitions
2232 we don't consider any conflicts that include alternative 2. So, we
2234 conflicting alts when there is an intersection with an alternative
2238 also a 3rd nonconflicting configuration for a different alternative:
2246 However, alternative 3 will be able to continue and so we do not
2251 ignore a set of conflicting alts when we have an alternative