Lines Matching refs:z

150 isConsonant(const char *z)  in isConsonant()  argument
153 char x = *z; in isConsonant()
160 return z[1] == 0 || isVowel(z + 1); in isConsonant()
164 isVowel(const char *z) in isVowel() argument
167 char x = *z; in isVowel()
174 return isConsonant(z + 1); in isVowel()
197 m_gt_0(const char *z) in m_gt_0() argument
199 while (isVowel(z)) { in m_gt_0()
200 z++; in m_gt_0()
202 if (*z == 0) in m_gt_0()
204 while (isConsonant(z)) { in m_gt_0()
205 z++; in m_gt_0()
207 return *z != 0; in m_gt_0()
214 m_eq_1(const char *z) in m_eq_1() argument
216 while (isVowel(z)) { in m_eq_1()
217 z++; in m_eq_1()
219 if (*z == 0) in m_eq_1()
221 while (isConsonant(z)) { in m_eq_1()
222 z++; in m_eq_1()
224 if (*z == 0) in m_eq_1()
226 while (isVowel(z)) { in m_eq_1()
227 z++; in m_eq_1()
229 if (*z == 0) in m_eq_1()
231 while (isConsonant(z)) { in m_eq_1()
232 z++; in m_eq_1()
234 return *z == 0; in m_eq_1()
241 m_gt_1(const char *z) in m_gt_1() argument
243 while (isVowel(z)) { in m_gt_1()
244 z++; in m_gt_1()
246 if (*z == 0) in m_gt_1()
248 while (isConsonant(z)) { in m_gt_1()
249 z++; in m_gt_1()
251 if (*z == 0) in m_gt_1()
253 while (isVowel(z)) { in m_gt_1()
254 z++; in m_gt_1()
256 if (*z == 0) in m_gt_1()
258 while (isConsonant(z)) { in m_gt_1()
259 z++; in m_gt_1()
261 return *z != 0; in m_gt_1()
268 hasVowel(const char *z) in hasVowel() argument
270 while (isConsonant(z)) { in hasVowel()
271 z++; in hasVowel()
273 return *z != 0; in hasVowel()
283 doubleConsonant(const char *z) in doubleConsonant() argument
285 return isConsonant(z) && z[0] == z[1]; in doubleConsonant()
297 star_oh(const char *z) in star_oh() argument
299 return isConsonant(z) && in star_oh()
300 z[0] != 'w' && z[0] != 'x' && z[0] != 'y' && in star_oh()
301 isVowel(z + 1) && in star_oh()
302 isConsonant(z + 2); in star_oh()
325 char *z = *pz; in stem() local
326 while (*zFrom && *zFrom == *z) { in stem()
327 z++; in stem()
332 if (xCond && !xCond(z)) in stem()
335 *(--z) = *(zTo++); in stem()
337 *pz = z; in stem()
404 char *z, *z2; in porter_stemmer() local
428 z = &zReverse[j + 1]; in porter_stemmer()
432 if (z[0] == 's') { in porter_stemmer()
434 !stem(&z, "sess", "ss", 0) && in porter_stemmer()
435 !stem(&z, "sei", "i", 0) && in porter_stemmer()
436 !stem(&z, "ss", "ss", 0) in porter_stemmer()
438 z++; in porter_stemmer()
442 z2 = z; in porter_stemmer()
443 if (stem(&z, "dee", "ee", m_gt_0)) { in porter_stemmer()
446 (stem(&z, "gni", "", hasVowel) || stem(&z, "de", "", hasVowel)) in porter_stemmer()
447 && z != z2 in porter_stemmer()
449 if (stem(&z, "ta", "ate", 0) || in porter_stemmer()
450 stem(&z, "lb", "ble", 0) || in porter_stemmer()
451 stem(&z, "zi", "ize", 0)) { in porter_stemmer()
453 } else if (doubleConsonant(z) && (*z != 'l' && *z != 's' && *z != 'z')) { in porter_stemmer()
454 z++; in porter_stemmer()
455 } else if (m_eq_1(z) && star_oh(z)) { in porter_stemmer()
456 *(--z) = 'e'; in porter_stemmer()
460 if (z[0] == 'y' && hasVowel(z + 1)) { in porter_stemmer()
461 z[0] = 'i'; in porter_stemmer()
464 switch (z[1]) { in porter_stemmer()
466 if (!stem(&z, "lanoita", "ate", m_gt_0)) { in porter_stemmer()
467 stem(&z, "lanoit", "tion", m_gt_0); in porter_stemmer()
471 if (!stem(&z, "icne", "ence", m_gt_0)) { in porter_stemmer()
472 stem(&z, "icna", "ance", m_gt_0); in porter_stemmer()
476 stem(&z, "rezi", "ize", m_gt_0); in porter_stemmer()
479 stem(&z, "igol", "log", m_gt_0); in porter_stemmer()
482 if (!stem(&z, "ilb", "ble", m_gt_0) in porter_stemmer()
483 && !stem(&z, "illa", "al", m_gt_0) in porter_stemmer()
484 && !stem(&z, "iltne", "ent", m_gt_0) in porter_stemmer()
485 && !stem(&z, "ile", "e", m_gt_0) in porter_stemmer()
487 stem(&z, "ilsuo", "ous", m_gt_0); in porter_stemmer()
491 if (!stem(&z, "noitazi", "ize", m_gt_0) in porter_stemmer()
492 && !stem(&z, "noita", "ate", m_gt_0) in porter_stemmer()
494 stem(&z, "rota", "ate", m_gt_0); in porter_stemmer()
498 if (!stem(&z, "msila", "al", m_gt_0) in porter_stemmer()
499 && !stem(&z, "ssenevi", "ive", m_gt_0) in porter_stemmer()
500 && !stem(&z, "ssenluf", "ful", m_gt_0) in porter_stemmer()
502 stem(&z, "ssensuo", "ous", m_gt_0); in porter_stemmer()
506 if (!stem(&z, "itila", "al", m_gt_0) in porter_stemmer()
507 && !stem(&z, "itivi", "ive", m_gt_0) in porter_stemmer()
509 stem(&z, "itilib", "ble", m_gt_0); in porter_stemmer()
515 switch (z[0]) { in porter_stemmer()
517 if (!stem(&z, "etaci", "ic", m_gt_0) in porter_stemmer()
518 && !stem(&z, "evita", "", m_gt_0) in porter_stemmer()
520 stem(&z, "ezila", "al", m_gt_0); in porter_stemmer()
524 stem(&z, "itici", "ic", m_gt_0); in porter_stemmer()
527 if (!stem(&z, "laci", "ic", m_gt_0)) { in porter_stemmer()
528 stem(&z, "luf", "", m_gt_0); in porter_stemmer()
532 stem(&z, "ssen", "", m_gt_0); in porter_stemmer()
537 switch (z[1]) { in porter_stemmer()
539 if (z[0] == 'l' && m_gt_1(z + 2)) { in porter_stemmer()
540 z += 2; in porter_stemmer()
544 … if (z[0] == 'e' && z[2] == 'n' && (z[3] == 'a' || z[3] == 'e') && m_gt_1(z + 4)) { in porter_stemmer()
545 z += 4; in porter_stemmer()
549 if (z[0] == 'r' && m_gt_1(z + 2)) { in porter_stemmer()
550 z += 2; in porter_stemmer()
554 if (z[0] == 'c' && m_gt_1(z + 2)) { in porter_stemmer()
555 z += 2; in porter_stemmer()
559 … if (z[0] == 'e' && z[2] == 'b' && (z[3] == 'a' || z[3] == 'i') && m_gt_1(z + 4)) { in porter_stemmer()
560 z += 4; in porter_stemmer()
564 if (z[0] == 't') { in porter_stemmer()
565 if (z[2] == 'a') { in porter_stemmer()
566 if (m_gt_1(z + 3)) { in porter_stemmer()
567 z += 3; in porter_stemmer()
569 } else if (z[2] == 'e') { in porter_stemmer()
570 if (!stem(&z, "tneme", "", m_gt_1) in porter_stemmer()
571 && !stem(&z, "tnem", "", m_gt_1) in porter_stemmer()
573 stem(&z, "tne", "", m_gt_1); in porter_stemmer()
579 if (z[0] == 'u') { in porter_stemmer()
580 if (m_gt_1(z + 2)) { in porter_stemmer()
581 z += 2; in porter_stemmer()
583 } else if (z[3] == 's' || z[3] == 't') { in porter_stemmer()
584 stem(&z, "noi", "", m_gt_1); in porter_stemmer()
588 if (z[0] == 'm' && z[2] == 'i' && m_gt_1(z + 3)) { in porter_stemmer()
589 z += 3; in porter_stemmer()
593 if (!stem(&z, "eta", "", m_gt_1)) { in porter_stemmer()
594 stem(&z, "iti", "", m_gt_1); in porter_stemmer()
598 if (z[0] == 's' && z[2] == 'o' && m_gt_1(z + 3)) { in porter_stemmer()
599 z += 3; in porter_stemmer()
604 if (z[0] == 'e' && z[2] == 'i' && m_gt_1(z + 3)) { in porter_stemmer()
605 z += 3; in porter_stemmer()
611 if (z[0] == 'e') { in porter_stemmer()
612 if (m_gt_1(z + 1)) { in porter_stemmer()
613 z++; in porter_stemmer()
614 } else if (m_eq_1(z + 1) && !star_oh(z + 1)) { in porter_stemmer()
615 z++; in porter_stemmer()
619 if (m_gt_1(z) && z[0] == 'l' && z[1] == 'l') { in porter_stemmer()
620 z++; in porter_stemmer()
625 *pnOut = i = strlen(z); in porter_stemmer()
627 while (*z) { in porter_stemmer()
628 zOut[--i] = *(z++); in porter_stemmer()
693 const char *z = c->zInput; in aproposPorterNext() local
699 while (c->iOffset < c->nInput && isDelim(z[c->iOffset])) { in aproposPorterNext()
705 while (c->iOffset < c->nInput && !isDelim(z[c->iOffset])) { in aproposPorterNext()
721 int stemStatus = do_stem(&z[iStartOffset], n, c->zToken, &temp); in aproposPorterNext()