Lines Matching defs:match
138 // When a partial match fails, we back out skipped and partial-matching input characters.
140 // We save the trie state before we attempt to match a character,
305 uint32_t defaultCE32 = CollationData::readCE32(p); // Default if no suffix match.
449 ce32 = CollationData::readCE32(p); // Default if no prefix match.
458 UStringTrieResult match = prefixes.nextForCodePoint(c);
459 if(USTRINGTRIE_HAS_VALUE(match)) {
462 if(!USTRINGTRIE_HAS_NEXT(match)) { break; }
496 // Number of code points read since the last match (initially only c).
498 // Normally we only need a contiguous match,
503 UStringTrieResult match = suffixes.firstForCodePoint(c);
506 if(USTRINGTRIE_HAS_VALUE(match)) {
508 if(!USTRINGTRIE_HAS_NEXT(match) || (c = nextSkippedCodePoint(errorCode)) < 0) {
513 } else if(match == USTRINGTRIE_NO_MATCH || (nextCp = nextSkippedCodePoint(errorCode)) < 0) {
514 // No match for c, or partial match (USTRINGTRIE_NO_VALUE) and no further text.
517 // Discontiguous contraction matching extends an existing match.
518 // If there is no match yet, then there is nothing to do.
524 // "a match in the table" (sinceMatch=1).
526 // Return to the state after the last match.
540 // Continue after partial match (USTRINGTRIE_NO_VALUE) for c.
541 // It does not have a result value, therefore it is not itself "a match in the table".
548 match = suffixes.nextForCodePoint(c);
569 // S2.1 Find the longest initial substring S at each point that has a match in the table.
571 // S2.1.2 If C is not blocked from S, find if S + C has a match in the table.
575 // S2.1.3 If there is a match, replace S by S + C, and remove C.
608 // Replay the partial match so far.
614 // Skip c (which did not match) and nextCp (which we will try now).
619 // Reset to the trie state before the failed match of c.
624 // Number of code points read since the last match (at this point: c and nextCp).
628 UStringTrieResult match;
629 // "If C is not blocked from S, find if S + C has a match in the table." (S2.1.2)
630 if(prevCC < (fcd16 >> 8) && USTRINGTRIE_HAS_VALUE(match = suffixes.nextForCodePoint(c))) {
631 // "If there is a match, replace S by S + C, and remove C." (S2.1.3)
636 if(!USTRINGTRIE_HAS_NEXT(match)) { break; }
639 // No match for "S + C", skip C.
656 // We did get a match after skipping one or more combining marks,
659 // and then from the combining marks that we skipped before the match.
674 // Note: A nested discontiguous-contraction match