xapian-core  2.0.0
porter.cc
Go to the documentation of this file.
1 /* Generated from porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2 
3 #include <config.h>
4 
5 #define SNOWBALL_RUNTIME_THROW_EXCEPTIONS
6 #include "porter.h"
7 
8 #include <stddef.h>
9 
11 
12 static int r_Step_5b(struct SN_env * z);
13 static int r_Step_5a(struct SN_env * z);
14 static int r_Step_4(struct SN_env * z);
15 static int r_Step_3(struct SN_env * z);
16 static int r_Step_2(struct SN_env * z);
17 static int r_Step_1c(struct SN_env * z);
18 static int r_Step_1b(struct SN_env * z);
19 static int r_Step_1a(struct SN_env * z);
20 static int r_R2(struct SN_env * z);
21 static int r_R1(struct SN_env * z);
22 static int r_shortv(struct SN_env * z);
23 
24 static const symbol s_0[] = { 's', 's' };
25 static const symbol s_1[] = { 'i' };
26 static const symbol s_2[] = { 'e', 'e' };
27 static const symbol s_3[] = { 'e' };
28 static const symbol s_4[] = { 'e' };
29 static const symbol s_5[] = { 'i' };
30 static const symbol s_6[] = { 't', 'i', 'o', 'n' };
31 static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
32 static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
33 static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
34 static const symbol s_10[] = { 'e', 'n', 't' };
35 static const symbol s_11[] = { 'e' };
36 static const symbol s_12[] = { 'i', 'z', 'e' };
37 static const symbol s_13[] = { 'a', 't', 'e' };
38 static const symbol s_14[] = { 'a', 'l' };
39 static const symbol s_15[] = { 'f', 'u', 'l' };
40 static const symbol s_16[] = { 'o', 'u', 's' };
41 static const symbol s_17[] = { 'i', 'v', 'e' };
42 static const symbol s_18[] = { 'b', 'l', 'e' };
43 static const symbol s_19[] = { 'a', 'l' };
44 static const symbol s_20[] = { 'i', 'c' };
45 static const symbol s_21[] = { 'Y' };
46 static const symbol s_22[] = { 'Y' };
47 static const symbol s_23[] = { 'y' };
48 
49 static const symbol s_0_0[1] = { 's' };
50 static const symbol s_0_1[3] = { 'i', 'e', 's' };
51 static const symbol s_0_2[4] = { 's', 's', 'e', 's' };
52 static const symbol s_0_3[2] = { 's', 's' };
53 static const struct among a_0[4] = {
54 { 1, s_0_0, 0, 3, 0},
55 { 3, s_0_1, -1, 2, 0},
56 { 4, s_0_2, -2, 1, 0},
57 { 2, s_0_3, -3, -1, 0}
58 };
59 
60 static const symbol s_1_1[2] = { 'b', 'b' };
61 static const symbol s_1_2[2] = { 'd', 'd' };
62 static const symbol s_1_3[2] = { 'f', 'f' };
63 static const symbol s_1_4[2] = { 'g', 'g' };
64 static const symbol s_1_5[2] = { 'b', 'l' };
65 static const symbol s_1_6[2] = { 'm', 'm' };
66 static const symbol s_1_7[2] = { 'n', 'n' };
67 static const symbol s_1_8[2] = { 'p', 'p' };
68 static const symbol s_1_9[2] = { 'r', 'r' };
69 static const symbol s_1_10[2] = { 'a', 't' };
70 static const symbol s_1_11[2] = { 't', 't' };
71 static const symbol s_1_12[2] = { 'i', 'z' };
72 static const struct among a_1[13] = {
73 { 0, 0, 0, 3, 0},
74 { 2, s_1_1, -1, 2, 0},
75 { 2, s_1_2, -2, 2, 0},
76 { 2, s_1_3, -3, 2, 0},
77 { 2, s_1_4, -4, 2, 0},
78 { 2, s_1_5, -5, 1, 0},
79 { 2, s_1_6, -6, 2, 0},
80 { 2, s_1_7, -7, 2, 0},
81 { 2, s_1_8, -8, 2, 0},
82 { 2, s_1_9, -9, 2, 0},
83 { 2, s_1_10, -10, 1, 0},
84 { 2, s_1_11, -11, 2, 0},
85 { 2, s_1_12, -12, 1, 0}
86 };
87 
88 static const symbol s_2_0[2] = { 'e', 'd' };
89 static const symbol s_2_1[3] = { 'e', 'e', 'd' };
90 static const symbol s_2_2[3] = { 'i', 'n', 'g' };
91 static const struct among a_2[3] = {
92 { 2, s_2_0, 0, 2, 0},
93 { 3, s_2_1, -1, 1, 0},
94 { 3, s_2_2, 0, 2, 0}
95 };
96 
97 static const symbol s_3_0[4] = { 'a', 'n', 'c', 'i' };
98 static const symbol s_3_1[4] = { 'e', 'n', 'c', 'i' };
99 static const symbol s_3_2[4] = { 'a', 'b', 'l', 'i' };
100 static const symbol s_3_3[3] = { 'e', 'l', 'i' };
101 static const symbol s_3_4[4] = { 'a', 'l', 'l', 'i' };
102 static const symbol s_3_5[5] = { 'o', 'u', 's', 'l', 'i' };
103 static const symbol s_3_6[5] = { 'e', 'n', 't', 'l', 'i' };
104 static const symbol s_3_7[5] = { 'a', 'l', 'i', 't', 'i' };
105 static const symbol s_3_8[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
106 static const symbol s_3_9[5] = { 'i', 'v', 'i', 't', 'i' };
107 static const symbol s_3_10[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
108 static const symbol s_3_11[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
109 static const symbol s_3_12[5] = { 'a', 'l', 'i', 's', 'm' };
110 static const symbol s_3_13[5] = { 'a', 't', 'i', 'o', 'n' };
111 static const symbol s_3_14[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
112 static const symbol s_3_15[4] = { 'i', 'z', 'e', 'r' };
113 static const symbol s_3_16[4] = { 'a', 't', 'o', 'r' };
114 static const symbol s_3_17[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
115 static const symbol s_3_18[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
116 static const symbol s_3_19[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
117 static const struct among a_3[20] = {
118 { 4, s_3_0, 0, 3, 0},
119 { 4, s_3_1, 0, 2, 0},
120 { 4, s_3_2, 0, 4, 0},
121 { 3, s_3_3, 0, 6, 0},
122 { 4, s_3_4, 0, 9, 0},
123 { 5, s_3_5, 0, 11, 0},
124 { 5, s_3_6, 0, 5, 0},
125 { 5, s_3_7, 0, 9, 0},
126 { 6, s_3_8, 0, 13, 0},
127 { 5, s_3_9, 0, 12, 0},
128 { 6, s_3_10, 0, 1, 0},
129 { 7, s_3_11, -1, 8, 0},
130 { 5, s_3_12, 0, 9, 0},
131 { 5, s_3_13, 0, 8, 0},
132 { 7, s_3_14, -1, 7, 0},
133 { 4, s_3_15, 0, 7, 0},
134 { 4, s_3_16, 0, 8, 0},
135 { 7, s_3_17, 0, 12, 0},
136 { 7, s_3_18, 0, 10, 0},
137 { 7, s_3_19, 0, 11, 0}
138 };
139 
140 static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' };
141 static const symbol s_4_1[5] = { 'a', 't', 'i', 'v', 'e' };
142 static const symbol s_4_2[5] = { 'a', 'l', 'i', 'z', 'e' };
143 static const symbol s_4_3[5] = { 'i', 'c', 'i', 't', 'i' };
144 static const symbol s_4_4[4] = { 'i', 'c', 'a', 'l' };
145 static const symbol s_4_5[3] = { 'f', 'u', 'l' };
146 static const symbol s_4_6[4] = { 'n', 'e', 's', 's' };
147 static const struct among a_4[7] = {
148 { 5, s_4_0, 0, 2, 0},
149 { 5, s_4_1, 0, 3, 0},
150 { 5, s_4_2, 0, 1, 0},
151 { 5, s_4_3, 0, 2, 0},
152 { 4, s_4_4, 0, 2, 0},
153 { 3, s_4_5, 0, 3, 0},
154 { 4, s_4_6, 0, 3, 0}
155 };
156 
157 static const symbol s_5_0[2] = { 'i', 'c' };
158 static const symbol s_5_1[4] = { 'a', 'n', 'c', 'e' };
159 static const symbol s_5_2[4] = { 'e', 'n', 'c', 'e' };
160 static const symbol s_5_3[4] = { 'a', 'b', 'l', 'e' };
161 static const symbol s_5_4[4] = { 'i', 'b', 'l', 'e' };
162 static const symbol s_5_5[3] = { 'a', 't', 'e' };
163 static const symbol s_5_6[3] = { 'i', 'v', 'e' };
164 static const symbol s_5_7[3] = { 'i', 'z', 'e' };
165 static const symbol s_5_8[3] = { 'i', 't', 'i' };
166 static const symbol s_5_9[2] = { 'a', 'l' };
167 static const symbol s_5_10[3] = { 'i', 's', 'm' };
168 static const symbol s_5_11[3] = { 'i', 'o', 'n' };
169 static const symbol s_5_12[2] = { 'e', 'r' };
170 static const symbol s_5_13[3] = { 'o', 'u', 's' };
171 static const symbol s_5_14[3] = { 'a', 'n', 't' };
172 static const symbol s_5_15[3] = { 'e', 'n', 't' };
173 static const symbol s_5_16[4] = { 'm', 'e', 'n', 't' };
174 static const symbol s_5_17[5] = { 'e', 'm', 'e', 'n', 't' };
175 static const symbol s_5_18[2] = { 'o', 'u' };
176 static const struct among a_5[19] = {
177 { 2, s_5_0, 0, 1, 0},
178 { 4, s_5_1, 0, 1, 0},
179 { 4, s_5_2, 0, 1, 0},
180 { 4, s_5_3, 0, 1, 0},
181 { 4, s_5_4, 0, 1, 0},
182 { 3, s_5_5, 0, 1, 0},
183 { 3, s_5_6, 0, 1, 0},
184 { 3, s_5_7, 0, 1, 0},
185 { 3, s_5_8, 0, 1, 0},
186 { 2, s_5_9, 0, 1, 0},
187 { 3, s_5_10, 0, 1, 0},
188 { 3, s_5_11, 0, 2, 0},
189 { 2, s_5_12, 0, 1, 0},
190 { 3, s_5_13, 0, 1, 0},
191 { 3, s_5_14, 0, 1, 0},
192 { 3, s_5_15, 0, 1, 0},
193 { 4, s_5_16, -1, 1, 0},
194 { 5, s_5_17, -1, 1, 0},
195 { 2, s_5_18, 0, 1, 0}
196 };
197 
198 static const unsigned char g_v[] = { 17, 65, 16, 1 };
199 
200 static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
201 
202 static int r_shortv(struct SN_env * z) {
203  if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) return 0;
204  if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
205  return !out_grouping_b_U(z, g_v, 97, 121, 0);
206 }
207 
208 static int r_R1(struct SN_env * z) {
209  return ((SN_local *)z)->i_p1 <= z->c;
210 }
211 
212 static int r_R2(struct SN_env * z) {
213  return ((SN_local *)z)->i_p2 <= z->c;
214 }
215 
216 static int r_Step_1a(struct SN_env * z) {
217  int among_var;
218  z->ket = z->c;
219  if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0;
220  among_var = find_among_b(z, a_0, 4, 0);
221  if (!among_var) return 0;
222  z->bra = z->c;
223  switch (among_var) {
224  case 1:
225  slice_from_s(z, 2, s_0);
226  break;
227  case 2:
228  slice_from_s(z, 1, s_1);
229  break;
230  case 3:
231  slice_del(z);
232  break;
233  }
234  return 1;
235 }
236 
237 static int r_Step_1b(struct SN_env * z) {
238  int among_var;
239  z->ket = z->c;
240  if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
241  among_var = find_among_b(z, a_2, 3, 0);
242  if (!among_var) return 0;
243  z->bra = z->c;
244  switch (among_var) {
245  case 1:
246  {
247  int ret = r_R1(z);
248  if (ret == 0) return ret;
249  }
250  slice_from_s(z, 2, s_2);
251  break;
252  case 2:
253  {
254  int v_1 = z->l - z->c;
255  {
256  int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
257  if (ret < 0) return 0;
258  z->c -= ret;
259  }
260  z->c = z->l - v_1;
261  }
262  slice_del(z);
263  {
264  int v_2 = z->l - z->c;
265  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
266  among_var = find_among_b(z, a_1, 13, 0);
267  z->c = z->l - v_2;
268  }
269  switch (among_var) {
270  case 1:
271  {
272  int saved_c = z->c;
273  insert_s(z, z->c, z->c, 1, s_3);
274  z->c = saved_c;
275  }
276  break;
277  case 2:
278  z->ket = z->c;
279  {
280  int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
281  if (ret < 0) return 0;
282  z->c = ret;
283  }
284  z->bra = z->c;
285  slice_del(z);
286  break;
287  case 3:
288  if (z->c != ((SN_local *)z)->i_p1) return 0;
289  {
290  int v_3 = z->l - z->c;
291  {
292  int ret = r_shortv(z);
293  if (ret == 0) return ret;
294  }
295  z->c = z->l - v_3;
296  }
297  {
298  int saved_c = z->c;
299  insert_s(z, z->c, z->c, 1, s_4);
300  z->c = saved_c;
301  }
302  break;
303  }
304  break;
305  }
306  return 1;
307 }
308 
309 static int r_Step_1c(struct SN_env * z) {
310  z->ket = z->c;
311  do {
312  int v_1 = z->l - z->c;
313  if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
314  z->c--;
315  break;
316  lab0:
317  z->c = z->l - v_1;
318  if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
319  z->c--;
320  } while (0);
321  z->bra = z->c;
322  {
323  int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
324  if (ret < 0) return 0;
325  z->c -= ret;
326  }
327  slice_from_s(z, 1, s_5);
328  return 1;
329 }
330 
331 static int r_Step_2(struct SN_env * z) {
332  int among_var;
333  z->ket = z->c;
334  if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
335  among_var = find_among_b(z, a_3, 20, 0);
336  if (!among_var) return 0;
337  z->bra = z->c;
338  {
339  int ret = r_R1(z);
340  if (ret == 0) return ret;
341  }
342  switch (among_var) {
343  case 1:
344  slice_from_s(z, 4, s_6);
345  break;
346  case 2:
347  slice_from_s(z, 4, s_7);
348  break;
349  case 3:
350  slice_from_s(z, 4, s_8);
351  break;
352  case 4:
353  slice_from_s(z, 4, s_9);
354  break;
355  case 5:
356  slice_from_s(z, 3, s_10);
357  break;
358  case 6:
359  slice_from_s(z, 1, s_11);
360  break;
361  case 7:
362  slice_from_s(z, 3, s_12);
363  break;
364  case 8:
365  slice_from_s(z, 3, s_13);
366  break;
367  case 9:
368  slice_from_s(z, 2, s_14);
369  break;
370  case 10:
371  slice_from_s(z, 3, s_15);
372  break;
373  case 11:
374  slice_from_s(z, 3, s_16);
375  break;
376  case 12:
377  slice_from_s(z, 3, s_17);
378  break;
379  case 13:
380  slice_from_s(z, 3, s_18);
381  break;
382  }
383  return 1;
384 }
385 
386 static int r_Step_3(struct SN_env * z) {
387  int among_var;
388  z->ket = z->c;
389  if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
390  among_var = find_among_b(z, a_4, 7, 0);
391  if (!among_var) return 0;
392  z->bra = z->c;
393  {
394  int ret = r_R1(z);
395  if (ret == 0) return ret;
396  }
397  switch (among_var) {
398  case 1:
399  slice_from_s(z, 2, s_19);
400  break;
401  case 2:
402  slice_from_s(z, 2, s_20);
403  break;
404  case 3:
405  slice_del(z);
406  break;
407  }
408  return 1;
409 }
410 
411 static int r_Step_4(struct SN_env * z) {
412  int among_var;
413  z->ket = z->c;
414  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
415  among_var = find_among_b(z, a_5, 19, 0);
416  if (!among_var) return 0;
417  z->bra = z->c;
418  {
419  int ret = r_R2(z);
420  if (ret == 0) return ret;
421  }
422  switch (among_var) {
423  case 1:
424  slice_del(z);
425  break;
426  case 2:
427  do {
428  int v_1 = z->l - z->c;
429  if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
430  z->c--;
431  break;
432  lab0:
433  z->c = z->l - v_1;
434  if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
435  z->c--;
436  } while (0);
437  slice_del(z);
438  break;
439  }
440  return 1;
441 }
442 
443 static int r_Step_5a(struct SN_env * z) {
444  z->ket = z->c;
445  if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
446  z->c--;
447  z->bra = z->c;
448  do {
449  if (!r_R2(z)) goto lab0;
450  break;
451  lab0:
452  {
453  int ret = r_R1(z);
454  if (ret == 0) return ret;
455  }
456  {
457  int v_1 = z->l - z->c;
458  if (!r_shortv(z)) goto lab1;
459  return 0;
460  lab1:
461  z->c = z->l - v_1;
462  }
463  } while (0);
464  slice_del(z);
465  return 1;
466 }
467 
468 static int r_Step_5b(struct SN_env * z) {
469  z->ket = z->c;
470  if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
471  z->c--;
472  z->bra = z->c;
473  {
474  int ret = r_R2(z);
475  if (ret == 0) return ret;
476  }
477  if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
478  z->c--;
479  slice_del(z);
480  return 1;
481 }
482 
484  bool b_Y_found;
485  b_Y_found = false;
486  {
487  int v_1 = z->c;
488  z->bra = z->c;
489  if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
490  z->c++;
491  z->ket = z->c;
492  slice_from_s(z, 1, s_21);
493  b_Y_found = true;
494  lab0:
495  z->c = v_1;
496  }
497  {
498  int v_2 = z->c;
499  while (1) {
500  int v_3 = z->c;
501  while (1) {
502  int v_4 = z->c;
503  if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab3;
504  z->bra = z->c;
505  if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
506  z->c++;
507  z->ket = z->c;
508  z->c = v_4;
509  break;
510  lab3:
511  z->c = v_4;
512  {
513  int ret = skip_utf8(z->p, z->c, z->l, 1);
514  if (ret < 0) goto lab2;
515  z->c = ret;
516  }
517  }
518  slice_from_s(z, 1, s_22);
519  b_Y_found = true;
520  continue;
521  lab2:
522  z->c = v_3;
523  break;
524  }
525  z->c = v_2;
526  }
527  ((SN_local *)z)->i_p1 = z->l;
528  ((SN_local *)z)->i_p2 = z->l;
529  {
530  int v_5 = z->c;
531  {
532  int ret = out_grouping_U(z, g_v, 97, 121, 1);
533  if (ret < 0) goto lab4;
534  z->c += ret;
535  }
536  {
537  int ret = in_grouping_U(z, g_v, 97, 121, 1);
538  if (ret < 0) goto lab4;
539  z->c += ret;
540  }
541  ((SN_local *)z)->i_p1 = z->c;
542  {
543  int ret = out_grouping_U(z, g_v, 97, 121, 1);
544  if (ret < 0) goto lab4;
545  z->c += ret;
546  }
547  {
548  int ret = in_grouping_U(z, g_v, 97, 121, 1);
549  if (ret < 0) goto lab4;
550  z->c += ret;
551  }
552  ((SN_local *)z)->i_p2 = z->c;
553  lab4:
554  z->c = v_5;
555  }
556  z->lb = z->c; z->c = z->l;
557  {
558  int v_6 = z->l - z->c;
559  r_Step_1a(z);
560  z->c = z->l - v_6;
561  }
562  {
563  int v_7 = z->l - z->c;
564  r_Step_1b(z);
565  z->c = z->l - v_7;
566  }
567  {
568  int v_8 = z->l - z->c;
569  r_Step_1c(z);
570  z->c = z->l - v_8;
571  }
572  {
573  int v_9 = z->l - z->c;
574  r_Step_2(z);
575  z->c = z->l - v_9;
576  }
577  {
578  int v_10 = z->l - z->c;
579  r_Step_3(z);
580  z->c = z->l - v_10;
581  }
582  {
583  int v_11 = z->l - z->c;
584  r_Step_4(z);
585  z->c = z->l - v_11;
586  }
587  {
588  int v_12 = z->l - z->c;
589  r_Step_5a(z);
590  z->c = z->l - v_12;
591  }
592  {
593  int v_13 = z->l - z->c;
594  r_Step_5b(z);
595  z->c = z->l - v_13;
596  }
597  z->c = z->lb;
598  {
599  int v_14 = z->c;
600  if (!b_Y_found) goto lab5;
601  while (1) {
602  int v_15 = z->c;
603  while (1) {
604  int v_16 = z->c;
605  z->bra = z->c;
606  if (z->c == z->l || z->p[z->c] != 'Y') goto lab7;
607  z->c++;
608  z->ket = z->c;
609  z->c = v_16;
610  break;
611  lab7:
612  z->c = v_16;
613  {
614  int ret = skip_utf8(z->p, z->c, z->l, 1);
615  if (ret < 0) goto lab6;
616  z->c = ret;
617  }
618  }
619  slice_from_s(z, 1, s_23);
620  continue;
621  lab6:
622  z->c = v_15;
623  break;
624  }
625  lab5:
626  z->c = v_14;
627  }
628  return 1;
629 }
unsigned char symbol
Definition: api.h:4
static int stem(struct SN_env *z)
Definition: porter.cc:483
static const symbol s_0_2[4]
Definition: porter.cc:51
static const symbol s_1_5[2]
Definition: porter.cc:64
static const symbol s_2[]
Definition: porter.cc:26
static const symbol s_5_6[3]
Definition: porter.cc:163
static const symbol s_3_12[5]
Definition: porter.cc:109
static const struct among a_3[20]
Definition: porter.cc:117
static const symbol s_3_8[6]
Definition: porter.cc:105
static const symbol s_4[]
Definition: porter.cc:28
static const symbol s_3_15[4]
Definition: porter.cc:112
static const symbol s_1_9[2]
Definition: porter.cc:68
static const symbol s_1_6[2]
Definition: porter.cc:65
static const symbol s_3_14[7]
Definition: porter.cc:111
static const symbol s_4_6[4]
Definition: porter.cc:146
static const symbol s_5_12[2]
Definition: porter.cc:169
static int r_Step_5b(struct SN_env *z)
Definition: porter.cc:468
static int r_Step_3(struct SN_env *z)
Definition: porter.cc:386
static const symbol s_1_2[2]
Definition: porter.cc:61
static const symbol s_0_0[1]
Definition: porter.cc:49
static const symbol s_5_0[2]
Definition: porter.cc:157
static const symbol s_4_3[5]
Definition: porter.cc:143
static const symbol s_4_4[4]
Definition: porter.cc:144
static const symbol s_2_0[2]
Definition: porter.cc:88
static const symbol s_1_3[2]
Definition: porter.cc:62
static const symbol s_2_1[3]
Definition: porter.cc:89
static const symbol s_3_0[4]
Definition: porter.cc:97
static const symbol s_3_6[5]
Definition: porter.cc:103
static const symbol s_6[]
Definition: porter.cc:30
static const symbol s_5_9[2]
Definition: porter.cc:166
static const symbol s_21[]
Definition: porter.cc:45
static const symbol s_3[]
Definition: porter.cc:27
static const symbol s_3_4[4]
Definition: porter.cc:101
static const symbol s_5_17[5]
Definition: porter.cc:174
static int r_R2(struct SN_env *z)
Definition: porter.cc:212
static const symbol s_7[]
Definition: porter.cc:31
static const symbol s_5_7[3]
Definition: porter.cc:164
static const symbol s_13[]
Definition: porter.cc:37
static const symbol s_1_7[2]
Definition: porter.cc:66
static const symbol s_1_1[2]
Definition: porter.cc:60
static const symbol s_20[]
Definition: porter.cc:44
static const symbol s_3_17[7]
Definition: porter.cc:114
static const symbol s_3_10[6]
Definition: porter.cc:107
static const symbol s_3_13[5]
Definition: porter.cc:110
static const symbol s_19[]
Definition: porter.cc:43
static const symbol s_23[]
Definition: porter.cc:47
static const symbol s_5_14[3]
Definition: porter.cc:171
static const symbol s_4_5[3]
Definition: porter.cc:145
static int r_Step_1c(struct SN_env *z)
Definition: porter.cc:309
static const symbol s_0_1[3]
Definition: porter.cc:50
static const unsigned char g_v_WXY[]
Definition: porter.cc:200
Xapian::Internal::Snowball::Porter::SN_local SN_local
Definition: porter.cc:10
static int r_R1(struct SN_env *z)
Definition: porter.cc:208
static const symbol s_5_3[4]
Definition: porter.cc:160
static const symbol s_16[]
Definition: porter.cc:40
static const symbol s_5_4[4]
Definition: porter.cc:161
static const symbol s_14[]
Definition: porter.cc:38
static int r_Step_5a(struct SN_env *z)
Definition: porter.cc:443
static const symbol s_22[]
Definition: porter.cc:46
static const symbol s_1_11[2]
Definition: porter.cc:70
static const symbol s_4_0[5]
Definition: porter.cc:140
static const symbol s_10[]
Definition: porter.cc:34
static const struct among a_0[4]
Definition: porter.cc:53
static const symbol s_1_10[2]
Definition: porter.cc:69
static const symbol s_5_2[4]
Definition: porter.cc:159
static const symbol s_1[]
Definition: porter.cc:25
static const symbol s_3_19[7]
Definition: porter.cc:116
static int r_Step_1a(struct SN_env *z)
Definition: porter.cc:216
static int r_shortv(struct SN_env *z)
Definition: porter.cc:202
static const struct among a_2[3]
Definition: porter.cc:91
static const symbol s_1_8[2]
Definition: porter.cc:67
static const struct among a_5[19]
Definition: porter.cc:176
static const symbol s_3_1[4]
Definition: porter.cc:98
static const symbol s_1_4[2]
Definition: porter.cc:63
static const symbol s_3_3[3]
Definition: porter.cc:100
static const symbol s_3_9[5]
Definition: porter.cc:106
static const symbol s_2_2[3]
Definition: porter.cc:90
static const struct among a_1[13]
Definition: porter.cc:72
static const symbol s_11[]
Definition: porter.cc:35
static const symbol s_12[]
Definition: porter.cc:36
static const symbol s_5_8[3]
Definition: porter.cc:165
static const symbol s_3_18[7]
Definition: porter.cc:115
static const symbol s_5_11[3]
Definition: porter.cc:168
static int r_Step_4(struct SN_env *z)
Definition: porter.cc:411
static int r_Step_2(struct SN_env *z)
Definition: porter.cc:331
static const struct among a_4[7]
Definition: porter.cc:147
static const symbol s_5_16[4]
Definition: porter.cc:173
static const symbol s_5_15[3]
Definition: porter.cc:172
static const symbol s_18[]
Definition: porter.cc:42
static const symbol s_17[]
Definition: porter.cc:41
static const symbol s_5_13[3]
Definition: porter.cc:170
static int r_Step_1b(struct SN_env *z)
Definition: porter.cc:237
static const symbol s_0_3[2]
Definition: porter.cc:52
static const symbol s_3_2[4]
Definition: porter.cc:99
static const symbol s_5_5[3]
Definition: porter.cc:162
static const symbol s_5_10[3]
Definition: porter.cc:167
static const unsigned char g_v[]
Definition: porter.cc:198
static const symbol s_8[]
Definition: porter.cc:32
static const symbol s_9[]
Definition: porter.cc:33
static const symbol s_3_7[5]
Definition: porter.cc:104
static const symbol s_4_1[5]
Definition: porter.cc:141
static const symbol s_5[]
Definition: porter.cc:29
static const symbol s_5_18[2]
Definition: porter.cc:175
static const symbol s_3_5[5]
Definition: porter.cc:102
static const symbol s_15[]
Definition: porter.cc:39
static const symbol s_1_12[2]
Definition: porter.cc:71
static const symbol s_3_16[4]
Definition: porter.cc:113
static const symbol s_4_2[5]
Definition: porter.cc:142
static const symbol s_5_1[4]
Definition: porter.cc:158
static const symbol s_0[]
Definition: porter.cc:24
static const symbol s_3_11[7]
Definition: porter.cc:108
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.cc:164
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.cc:140
SNOWBALL_ERR insert_s(struct SN_env *z, int bra, int ket, int s_size, const symbol *s)
Definition: utilities.cc:471
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.cc:439
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.cc:152
int skip_b_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.cc:75
SNOWBALL_ERR slice_del(struct SN_env *z)
Definition: utilities.cc:450
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.cc:176
int skip_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.cc:50
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*)(struct SN_env *))
Definition: utilities.cc:322
Definition: api.h:15
int lb
Definition: api.h:17
symbol * p
Definition: api.h:16
int ket
Definition: api.h:17
int c
Definition: api.h:17
int bra
Definition: api.h:17
int l
Definition: api.h:17
Definition: header.h:256