PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
stem_ISO_8859_1_dutch.c File Reference
#include "header.h"
Include dependency graph for stem_ISO_8859_1_dutch.c:

Go to the source code of this file.

Functions

int dutch_ISO_8859_1_stem (struct SN_env *z)
 
static int r_standard_suffix (struct SN_env *z)
 
static int r_undouble (struct SN_env *z)
 
static int r_R2 (struct SN_env *z)
 
static int r_R1 (struct SN_env *z)
 
static int r_mark_regions (struct SN_env *z)
 
static int r_en_ending (struct SN_env *z)
 
static int r_e_ending (struct SN_env *z)
 
static int r_postlude (struct SN_env *z)
 
static int r_prelude (struct SN_env *z)
 
struct SN_envdutch_ISO_8859_1_create_env (void)
 
void dutch_ISO_8859_1_close_env (struct SN_env *z)
 

Variables

static const symbol s_0_1 [1] = { 0xE1 }
 
static const symbol s_0_2 [1] = { 0xE4 }
 
static const symbol s_0_3 [1] = { 0xE9 }
 
static const symbol s_0_4 [1] = { 0xEB }
 
static const symbol s_0_5 [1] = { 0xED }
 
static const symbol s_0_6 [1] = { 0xEF }
 
static const symbol s_0_7 [1] = { 0xF3 }
 
static const symbol s_0_8 [1] = { 0xF6 }
 
static const symbol s_0_9 [1] = { 0xFA }
 
static const symbol s_0_10 [1] = { 0xFC }
 
static const struct among a_0 [11]
 
static const symbol s_1_1 [1] = { 'I' }
 
static const symbol s_1_2 [1] = { 'Y' }
 
static const struct among a_1 [3]
 
static const symbol s_2_0 [2] = { 'd', 'd' }
 
static const symbol s_2_1 [2] = { 'k', 'k' }
 
static const symbol s_2_2 [2] = { 't', 't' }
 
static const struct among a_2 [3]
 
static const symbol s_3_0 [3] = { 'e', 'n', 'e' }
 
static const symbol s_3_1 [2] = { 's', 'e' }
 
static const symbol s_3_2 [2] = { 'e', 'n' }
 
static const symbol s_3_3 [5] = { 'h', 'e', 'd', 'e', 'n' }
 
static const symbol s_3_4 [1] = { 's' }
 
static const struct among a_3 [5]
 
static const symbol s_4_0 [3] = { 'e', 'n', 'd' }
 
static const symbol s_4_1 [2] = { 'i', 'g' }
 
static const symbol s_4_2 [3] = { 'i', 'n', 'g' }
 
static const symbol s_4_3 [4] = { 'l', 'i', 'j', 'k' }
 
static const symbol s_4_4 [4] = { 'b', 'a', 'a', 'r' }
 
static const symbol s_4_5 [3] = { 'b', 'a', 'r' }
 
static const struct among a_4 [6]
 
static const symbol s_5_0 [2] = { 'a', 'a' }
 
static const symbol s_5_1 [2] = { 'e', 'e' }
 
static const symbol s_5_2 [2] = { 'o', 'o' }
 
static const symbol s_5_3 [2] = { 'u', 'u' }
 
static const struct among a_5 [4]
 
static const unsigned char g_v [] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
 
static const unsigned char g_v_I [] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
 
static const unsigned char g_v_j [] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
 
static const symbol s_0 [] = { 'a' }
 
static const symbol s_1 [] = { 'e' }
 
static const symbol s_2 [] = { 'i' }
 
static const symbol s_3 [] = { 'o' }
 
static const symbol s_4 [] = { 'u' }
 
static const symbol s_5 [] = { 'y' }
 
static const symbol s_6 [] = { 'Y' }
 
static const symbol s_7 [] = { 'i' }
 
static const symbol s_8 [] = { 'I' }
 
static const symbol s_9 [] = { 'y' }
 
static const symbol s_10 [] = { 'Y' }
 
static const symbol s_11 [] = { 'y' }
 
static const symbol s_12 [] = { 'i' }
 
static const symbol s_13 [] = { 'e' }
 
static const symbol s_14 [] = { 'g', 'e', 'm' }
 
static const symbol s_15 [] = { 'h', 'e', 'i', 'd' }
 
static const symbol s_16 [] = { 'h', 'e', 'i', 'd' }
 
static const symbol s_17 [] = { 'c' }
 
static const symbol s_18 [] = { 'e', 'n' }
 
static const symbol s_19 [] = { 'i', 'g' }
 
static const symbol s_20 [] = { 'e' }
 
static const symbol s_21 [] = { 'e' }
 

Function Documentation

void dutch_ISO_8859_1_close_env ( struct SN_env z)

Definition at line 623 of file stem_ISO_8859_1_dutch.c.

References SN_close_env().

623 { SN_close_env(z, 0); }
void SN_close_env(struct SN_env *z, int S_size)
Definition: api.c:40
struct SN_env * dutch_ISO_8859_1_create_env ( void  )

Definition at line 621 of file stem_ISO_8859_1_dutch.c.

References SN_create_env().

621 { return SN_create_env(0, 2, 1); }
struct SN_env * SN_create_env(int S_size, int I_size, int B_size)
Definition: api.c:3
int dutch_ISO_8859_1_stem ( struct SN_env z)

Definition at line 582 of file stem_ISO_8859_1_dutch.c.

References SN_env::c, SN_env::l, SN_env::lb, r_mark_regions(), r_postlude(), r_prelude(), and r_standard_suffix().

582  {
583  { int c1 = z->c; /* do, line 159 */
584  { int ret = r_prelude(z);
585  if (ret == 0) goto lab0; /* call prelude, line 159 */
586  if (ret < 0) return ret;
587  }
588  lab0:
589  z->c = c1;
590  }
591  { int c2 = z->c; /* do, line 160 */
592  { int ret = r_mark_regions(z);
593  if (ret == 0) goto lab1; /* call mark_regions, line 160 */
594  if (ret < 0) return ret;
595  }
596  lab1:
597  z->c = c2;
598  }
599  z->lb = z->c; z->c = z->l; /* backwards, line 161 */
600 
601  { int m3 = z->l - z->c; (void)m3; /* do, line 162 */
602  { int ret = r_standard_suffix(z);
603  if (ret == 0) goto lab2; /* call standard_suffix, line 162 */
604  if (ret < 0) return ret;
605  }
606  lab2:
607  z->c = z->l - m3;
608  }
609  z->c = z->lb;
610  { int c4 = z->c; /* do, line 163 */
611  { int ret = r_postlude(z);
612  if (ret == 0) goto lab3; /* call postlude, line 163 */
613  if (ret < 0) return ret;
614  }
615  lab3:
616  z->c = c4;
617  }
618  return 1;
619 }
static int r_prelude(struct SN_env *z)
static int r_mark_regions(struct SN_env *z)
int c
Definition: api.h:16
static int r_postlude(struct SN_env *z)
int lb
Definition: api.h:16
static int r_standard_suffix(struct SN_env *z)
int l
Definition: api.h:16
static int r_e_ending ( struct SN_env z)
static

Definition at line 344 of file stem_ISO_8859_1_dutch.c.

References SN_env::B, SN_env::bra, SN_env::c, eq_s_b(), g_v, SN_env::ket, SN_env::l, out_grouping_b(), r_R1(), r_undouble(), s_13, and slice_del().

Referenced by r_standard_suffix().

344  {
345  z->B[0] = 0; /* unset e_found, line 95 */
346  z->ket = z->c; /* [, line 96 */
347  if (!(eq_s_b(z, 1, s_13))) return 0;
348  z->bra = z->c; /* ], line 96 */
349  { int ret = r_R1(z);
350  if (ret == 0) return 0; /* call R1, line 96 */
351  if (ret < 0) return ret;
352  }
353  { int m_test = z->l - z->c; /* test, line 96 */
354  if (out_grouping_b(z, g_v, 97, 232, 0)) return 0;
355  z->c = z->l - m_test;
356  }
357  { int ret = slice_del(z); /* delete, line 96 */
358  if (ret < 0) return ret;
359  }
360  z->B[0] = 1; /* set e_found, line 97 */
361  { int ret = r_undouble(z);
362  if (ret == 0) return 0; /* call undouble, line 98 */
363  if (ret < 0) return ret;
364  }
365  return 1;
366 }
static int r_undouble(struct SN_env *z)
static const symbol s_13[]
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:194
int ket
Definition: api.h:16
int slice_del(struct SN_env *z)
Definition: utilities.c:401
int bra
Definition: api.h:16
int c
Definition: api.h:16
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:177
static const unsigned char g_v[]
static int r_R1(struct SN_env *z)
unsigned char * B
Definition: api.h:19
int l
Definition: api.h:16
static int r_en_ending ( struct SN_env z)
static

Definition at line 368 of file stem_ISO_8859_1_dutch.c.

References SN_env::c, eq_s_b(), g_v, SN_env::l, out_grouping_b(), r_R1(), r_undouble(), s_14, and slice_del().

Referenced by r_standard_suffix().

368  {
369  { int ret = r_R1(z);
370  if (ret == 0) return 0; /* call R1, line 102 */
371  if (ret < 0) return ret;
372  }
373  { int m1 = z->l - z->c; (void)m1; /* and, line 102 */
374  if (out_grouping_b(z, g_v, 97, 232, 0)) return 0;
375  z->c = z->l - m1;
376  { int m2 = z->l - z->c; (void)m2; /* not, line 102 */
377  if (!(eq_s_b(z, 3, s_14))) goto lab0;
378  return 0;
379  lab0:
380  z->c = z->l - m2;
381  }
382  }
383  { int ret = slice_del(z); /* delete, line 102 */
384  if (ret < 0) return ret;
385  }
386  { int ret = r_undouble(z);
387  if (ret == 0) return 0; /* call undouble, line 103 */
388  if (ret < 0) return ret;
389  }
390  return 1;
391 }
static int r_undouble(struct SN_env *z)
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:194
int slice_del(struct SN_env *z)
Definition: utilities.c:401
int c
Definition: api.h:16
static const symbol s_14[]
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:177
static const unsigned char g_v[]
static int r_R1(struct SN_env *z)
int l
Definition: api.h:16
static int r_mark_regions ( struct SN_env z)
static

Definition at line 252 of file stem_ISO_8859_1_dutch.c.

References SN_env::c, g_v, SN_env::I, in_grouping(), SN_env::l, and out_grouping().

Referenced by dutch_ISO_8859_1_stem().

252  {
253  z->I[0] = z->l;
254  z->I[1] = z->l;
255  { /* gopast */ /* grouping v, line 69 */
256  int ret = out_grouping(z, g_v, 97, 232, 1);
257  if (ret < 0) return 0;
258  z->c += ret;
259  }
260  { /* gopast */ /* non v, line 69 */
261  int ret = in_grouping(z, g_v, 97, 232, 1);
262  if (ret < 0) return 0;
263  z->c += ret;
264  }
265  z->I[0] = z->c; /* setmark p1, line 69 */
266  /* try, line 70 */
267  if (!(z->I[0] < 3)) goto lab0;
268  z->I[0] = 3;
269 lab0:
270  { /* gopast */ /* grouping v, line 71 */
271  int ret = out_grouping(z, g_v, 97, 232, 1);
272  if (ret < 0) return 0;
273  z->c += ret;
274  }
275  { /* gopast */ /* non v, line 71 */
276  int ret = in_grouping(z, g_v, 97, 232, 1);
277  if (ret < 0) return 0;
278  z->c += ret;
279  }
280  z->I[1] = z->c; /* setmark p2, line 71 */
281  return 1;
282 }
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:141
int * I
Definition: api.h:18
int c
Definition: api.h:16
static const unsigned char g_v[]
int out_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:165
int l
Definition: api.h:16
static int r_postlude ( struct SN_env z)
static

Definition at line 284 of file stem_ISO_8859_1_dutch.c.

References SN_env::bra, SN_env::c, find_among(), SN_env::ket, SN_env::l, SN_env::p, s_11, s_12, and slice_from_s().

Referenced by dutch_ISO_8859_1_stem().

284  {
285  int among_var;
286  while(1) { /* repeat, line 75 */
287  int c1 = z->c;
288  z->bra = z->c; /* [, line 77 */
289  if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else
290  among_var = find_among(z, a_1, 3); /* substring, line 77 */
291  if (!(among_var)) goto lab0;
292  z->ket = z->c; /* ], line 77 */
293  switch(among_var) {
294  case 0: goto lab0;
295  case 1:
296  { int ret = slice_from_s(z, 1, s_11); /* <-, line 78 */
297  if (ret < 0) return ret;
298  }
299  break;
300  case 2:
301  { int ret = slice_from_s(z, 1, s_12); /* <-, line 79 */
302  if (ret < 0) return ret;
303  }
304  break;
305  case 3:
306  if (z->c >= z->l) goto lab0;
307  z->c++; /* next, line 80 */
308  break;
309  }
310  continue;
311  lab0:
312  z->c = c1;
313  break;
314  }
315  return 1;
316 }
symbol * p
Definition: api.h:15
int ket
Definition: api.h:16
int bra
Definition: api.h:16
static const struct among a_1[3]
int c
Definition: api.h:16
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:392
static const symbol s_11[]
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:207
static const symbol s_12[]
int l
Definition: api.h:16
static int r_prelude ( struct SN_env z)
static

Definition at line 155 of file stem_ISO_8859_1_dutch.c.

References SN_env::bra, SN_env::c, eq_s(), find_among(), g_v, in_grouping(), SN_env::ket, SN_env::l, SN_env::p, s_0, s_1, s_10, s_2, s_3, s_4, s_5, s_6, s_7, s_8, s_9, and slice_from_s().

Referenced by dutch_ISO_8859_1_stem().

155  {
156  int among_var;
157  { int c_test = z->c; /* test, line 42 */
158  while(1) { /* repeat, line 42 */
159  int c1 = z->c;
160  z->bra = z->c; /* [, line 43 */
161  if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((340306450 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else
162  among_var = find_among(z, a_0, 11); /* substring, line 43 */
163  if (!(among_var)) goto lab0;
164  z->ket = z->c; /* ], line 43 */
165  switch(among_var) {
166  case 0: goto lab0;
167  case 1:
168  { int ret = slice_from_s(z, 1, s_0); /* <-, line 45 */
169  if (ret < 0) return ret;
170  }
171  break;
172  case 2:
173  { int ret = slice_from_s(z, 1, s_1); /* <-, line 47 */
174  if (ret < 0) return ret;
175  }
176  break;
177  case 3:
178  { int ret = slice_from_s(z, 1, s_2); /* <-, line 49 */
179  if (ret < 0) return ret;
180  }
181  break;
182  case 4:
183  { int ret = slice_from_s(z, 1, s_3); /* <-, line 51 */
184  if (ret < 0) return ret;
185  }
186  break;
187  case 5:
188  { int ret = slice_from_s(z, 1, s_4); /* <-, line 53 */
189  if (ret < 0) return ret;
190  }
191  break;
192  case 6:
193  if (z->c >= z->l) goto lab0;
194  z->c++; /* next, line 54 */
195  break;
196  }
197  continue;
198  lab0:
199  z->c = c1;
200  break;
201  }
202  z->c = c_test;
203  }
204  { int c_keep = z->c; /* try, line 57 */
205  z->bra = z->c; /* [, line 57 */
206  if (!(eq_s(z, 1, s_5))) { z->c = c_keep; goto lab1; }
207  z->ket = z->c; /* ], line 57 */
208  { int ret = slice_from_s(z, 1, s_6); /* <-, line 57 */
209  if (ret < 0) return ret;
210  }
211  lab1:
212  ;
213  }
214  while(1) { /* repeat, line 58 */
215  int c2 = z->c;
216  while(1) { /* goto, line 58 */
217  int c3 = z->c;
218  if (in_grouping(z, g_v, 97, 232, 0)) goto lab3;
219  z->bra = z->c; /* [, line 59 */
220  { int c4 = z->c; /* or, line 59 */
221  if (!(eq_s(z, 1, s_7))) goto lab5;
222  z->ket = z->c; /* ], line 59 */
223  if (in_grouping(z, g_v, 97, 232, 0)) goto lab5;
224  { int ret = slice_from_s(z, 1, s_8); /* <-, line 59 */
225  if (ret < 0) return ret;
226  }
227  goto lab4;
228  lab5:
229  z->c = c4;
230  if (!(eq_s(z, 1, s_9))) goto lab3;
231  z->ket = z->c; /* ], line 60 */
232  { int ret = slice_from_s(z, 1, s_10); /* <-, line 60 */
233  if (ret < 0) return ret;
234  }
235  }
236  lab4:
237  z->c = c3;
238  break;
239  lab3:
240  z->c = c3;
241  if (z->c >= z->l) goto lab2;
242  z->c++; /* goto, line 58 */
243  }
244  continue;
245  lab2:
246  z->c = c2;
247  break;
248  }
249  return 1;
250 }
symbol * p
Definition: api.h:15
static const symbol s_7[]
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:141
int ket
Definition: api.h:16
int bra
Definition: api.h:16
static const symbol s_1[]
static const symbol s_5[]
int c
Definition: api.h:16
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:189
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:392
static const symbol s_0[]
static const symbol s_6[]
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:207
static const symbol s_3[]
static const symbol s_2[]
static const unsigned char g_v[]
static const symbol s_4[]
static const struct among a_0[11]
static const symbol s_10[]
static const symbol s_8[]
static const symbol s_9[]
int l
Definition: api.h:16
static int r_R1 ( struct SN_env z)
static

Definition at line 318 of file stem_ISO_8859_1_dutch.c.

References SN_env::c, and SN_env::I.

Referenced by r_e_ending(), r_en_ending(), and r_standard_suffix().

318  {
319  if (!(z->I[0] <= z->c)) return 0;
320  return 1;
321 }
int * I
Definition: api.h:18
int c
Definition: api.h:16
static int r_R2 ( struct SN_env z)
static

Definition at line 323 of file stem_ISO_8859_1_dutch.c.

References SN_env::c, and SN_env::I.

Referenced by r_standard_suffix().

323  {
324  if (!(z->I[1] <= z->c)) return 0;
325  return 1;
326 }
int * I
Definition: api.h:18
int c
Definition: api.h:16
static int r_standard_suffix ( struct SN_env z)
static

Definition at line 393 of file stem_ISO_8859_1_dutch.c.

References SN_env::B, SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), g_v, g_v_I, g_v_j, SN_env::ket, SN_env::l, SN_env::lb, out_grouping_b(), SN_env::p, r_e_ending(), r_en_ending(), r_R1(), r_R2(), r_undouble(), s_15, s_16, s_17, s_18, s_19, s_20, s_21, slice_del(), and slice_from_s().

Referenced by dutch_ISO_8859_1_stem().

393  {
394  int among_var;
395  { int m1 = z->l - z->c; (void)m1; /* do, line 107 */
396  z->ket = z->c; /* [, line 108 */
397  if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
398  among_var = find_among_b(z, a_3, 5); /* substring, line 108 */
399  if (!(among_var)) goto lab0;
400  z->bra = z->c; /* ], line 108 */
401  switch(among_var) {
402  case 0: goto lab0;
403  case 1:
404  { int ret = r_R1(z);
405  if (ret == 0) goto lab0; /* call R1, line 110 */
406  if (ret < 0) return ret;
407  }
408  { int ret = slice_from_s(z, 4, s_15); /* <-, line 110 */
409  if (ret < 0) return ret;
410  }
411  break;
412  case 2:
413  { int ret = r_en_ending(z);
414  if (ret == 0) goto lab0; /* call en_ending, line 113 */
415  if (ret < 0) return ret;
416  }
417  break;
418  case 3:
419  { int ret = r_R1(z);
420  if (ret == 0) goto lab0; /* call R1, line 116 */
421  if (ret < 0) return ret;
422  }
423  if (out_grouping_b(z, g_v_j, 97, 232, 0)) goto lab0;
424  { int ret = slice_del(z); /* delete, line 116 */
425  if (ret < 0) return ret;
426  }
427  break;
428  }
429  lab0:
430  z->c = z->l - m1;
431  }
432  { int m2 = z->l - z->c; (void)m2; /* do, line 120 */
433  { int ret = r_e_ending(z);
434  if (ret == 0) goto lab1; /* call e_ending, line 120 */
435  if (ret < 0) return ret;
436  }
437  lab1:
438  z->c = z->l - m2;
439  }
440  { int m3 = z->l - z->c; (void)m3; /* do, line 122 */
441  z->ket = z->c; /* [, line 122 */
442  if (!(eq_s_b(z, 4, s_16))) goto lab2;
443  z->bra = z->c; /* ], line 122 */
444  { int ret = r_R2(z);
445  if (ret == 0) goto lab2; /* call R2, line 122 */
446  if (ret < 0) return ret;
447  }
448  { int m4 = z->l - z->c; (void)m4; /* not, line 122 */
449  if (!(eq_s_b(z, 1, s_17))) goto lab3;
450  goto lab2;
451  lab3:
452  z->c = z->l - m4;
453  }
454  { int ret = slice_del(z); /* delete, line 122 */
455  if (ret < 0) return ret;
456  }
457  z->ket = z->c; /* [, line 123 */
458  if (!(eq_s_b(z, 2, s_18))) goto lab2;
459  z->bra = z->c; /* ], line 123 */
460  { int ret = r_en_ending(z);
461  if (ret == 0) goto lab2; /* call en_ending, line 123 */
462  if (ret < 0) return ret;
463  }
464  lab2:
465  z->c = z->l - m3;
466  }
467  { int m5 = z->l - z->c; (void)m5; /* do, line 126 */
468  z->ket = z->c; /* [, line 127 */
469  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4;
470  among_var = find_among_b(z, a_4, 6); /* substring, line 127 */
471  if (!(among_var)) goto lab4;
472  z->bra = z->c; /* ], line 127 */
473  switch(among_var) {
474  case 0: goto lab4;
475  case 1:
476  { int ret = r_R2(z);
477  if (ret == 0) goto lab4; /* call R2, line 129 */
478  if (ret < 0) return ret;
479  }
480  { int ret = slice_del(z); /* delete, line 129 */
481  if (ret < 0) return ret;
482  }
483  { int m6 = z->l - z->c; (void)m6; /* or, line 130 */
484  z->ket = z->c; /* [, line 130 */
485  if (!(eq_s_b(z, 2, s_19))) goto lab6;
486  z->bra = z->c; /* ], line 130 */
487  { int ret = r_R2(z);
488  if (ret == 0) goto lab6; /* call R2, line 130 */
489  if (ret < 0) return ret;
490  }
491  { int m7 = z->l - z->c; (void)m7; /* not, line 130 */
492  if (!(eq_s_b(z, 1, s_20))) goto lab7;
493  goto lab6;
494  lab7:
495  z->c = z->l - m7;
496  }
497  { int ret = slice_del(z); /* delete, line 130 */
498  if (ret < 0) return ret;
499  }
500  goto lab5;
501  lab6:
502  z->c = z->l - m6;
503  { int ret = r_undouble(z);
504  if (ret == 0) goto lab4; /* call undouble, line 130 */
505  if (ret < 0) return ret;
506  }
507  }
508  lab5:
509  break;
510  case 2:
511  { int ret = r_R2(z);
512  if (ret == 0) goto lab4; /* call R2, line 133 */
513  if (ret < 0) return ret;
514  }
515  { int m8 = z->l - z->c; (void)m8; /* not, line 133 */
516  if (!(eq_s_b(z, 1, s_21))) goto lab8;
517  goto lab4;
518  lab8:
519  z->c = z->l - m8;
520  }
521  { int ret = slice_del(z); /* delete, line 133 */
522  if (ret < 0) return ret;
523  }
524  break;
525  case 3:
526  { int ret = r_R2(z);
527  if (ret == 0) goto lab4; /* call R2, line 136 */
528  if (ret < 0) return ret;
529  }
530  { int ret = slice_del(z); /* delete, line 136 */
531  if (ret < 0) return ret;
532  }
533  { int ret = r_e_ending(z);
534  if (ret == 0) goto lab4; /* call e_ending, line 136 */
535  if (ret < 0) return ret;
536  }
537  break;
538  case 4:
539  { int ret = r_R2(z);
540  if (ret == 0) goto lab4; /* call R2, line 139 */
541  if (ret < 0) return ret;
542  }
543  { int ret = slice_del(z); /* delete, line 139 */
544  if (ret < 0) return ret;
545  }
546  break;
547  case 5:
548  { int ret = r_R2(z);
549  if (ret == 0) goto lab4; /* call R2, line 142 */
550  if (ret < 0) return ret;
551  }
552  if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */
553  { int ret = slice_del(z); /* delete, line 142 */
554  if (ret < 0) return ret;
555  }
556  break;
557  }
558  lab4:
559  z->c = z->l - m5;
560  }
561  { int m9 = z->l - z->c; (void)m9; /* do, line 146 */
562  if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab9;
563  { int m_test = z->l - z->c; /* test, line 148 */
564  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab9;
565  if (!(find_among_b(z, a_5, 4))) goto lab9; /* among, line 149 */
566  if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab9;
567  z->c = z->l - m_test;
568  }
569  z->ket = z->c; /* [, line 152 */
570  if (z->c <= z->lb) goto lab9;
571  z->c--; /* next, line 152 */
572  z->bra = z->c; /* ], line 152 */
573  { int ret = slice_del(z); /* delete, line 152 */
574  if (ret < 0) return ret;
575  }
576  lab9:
577  z->c = z->l - m9;
578  }
579  return 1;
580 }
static int r_undouble(struct SN_env *z)
symbol * p
Definition: api.h:15
static const unsigned char g_v_j[]
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:194
static int r_e_ending(struct SN_env *z)
int ket
Definition: api.h:16
int slice_del(struct SN_env *z)
Definition: utilities.c:401
int bra
Definition: api.h:16
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:267
int c
Definition: api.h:16
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:392
int lb
Definition: api.h:16
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:177
static const struct among a_3[5]
static const symbol s_15[]
static const unsigned char g_v[]
static int r_en_ending(struct SN_env *z)
static int r_R2(struct SN_env *z)
static const symbol s_20[]
static int r_R1(struct SN_env *z)
static const symbol s_16[]
static const symbol s_19[]
static const symbol s_17[]
unsigned char * B
Definition: api.h:19
static const unsigned char g_v_I[]
static const struct among a_5[4]
int l
Definition: api.h:16
static const symbol s_21[]
static const struct among a_4[6]
static const symbol s_18[]
static int r_undouble ( struct SN_env z)
static

Definition at line 328 of file stem_ISO_8859_1_dutch.c.

References SN_env::bra, SN_env::c, find_among_b(), SN_env::ket, SN_env::l, SN_env::lb, SN_env::p, and slice_del().

Referenced by r_e_ending(), r_en_ending(), and r_standard_suffix().

328  {
329  { int m_test = z->l - z->c; /* test, line 91 */
330  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
331  if (!(find_among_b(z, a_2, 3))) return 0; /* among, line 91 */
332  z->c = z->l - m_test;
333  }
334  z->ket = z->c; /* [, line 91 */
335  if (z->c <= z->lb) return 0;
336  z->c--; /* next, line 91 */
337  z->bra = z->c; /* ], line 91 */
338  { int ret = slice_del(z); /* delete, line 91 */
339  if (ret < 0) return ret;
340  }
341  return 1;
342 }
symbol * p
Definition: api.h:15
int ket
Definition: api.h:16
int slice_del(struct SN_env *z)
Definition: utilities.c:401
int bra
Definition: api.h:16
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:267
int c
Definition: api.h:16
int lb
Definition: api.h:16
static const struct among a_2[3]
int l
Definition: api.h:16

Variable Documentation

const struct among a_0[11]
static
Initial value:
=
{
{ 0, 0, -1, 6, 0},
{ 1, s_0_1, 0, 1, 0},
{ 1, s_0_2, 0, 1, 0},
{ 1, s_0_3, 0, 2, 0},
{ 1, s_0_4, 0, 2, 0},
{ 1, s_0_5, 0, 3, 0},
{ 1, s_0_6, 0, 3, 0},
{ 1, s_0_7, 0, 4, 0},
{ 1, s_0_8, 0, 4, 0},
{ 1, s_0_9, 0, 5, 0},
{ 1, s_0_10, 0, 5, 0}
}
static const symbol s_0_3[1]
static const symbol s_0_1[1]
static const symbol s_0_6[1]
static const symbol s_0_4[1]
static const symbol s_0_5[1]
static const symbol s_0_7[1]
static const symbol s_0_10[1]
static const symbol s_0_8[1]
static const symbol s_0_9[1]
static const symbol s_0_2[1]

Definition at line 45 of file stem_ISO_8859_1_dutch.c.

const struct among a_1[3]
static
Initial value:
=
{
{ 0, 0, -1, 3, 0},
{ 1, s_1_1, 0, 2, 0},
{ 1, s_1_2, 0, 1, 0}
}
static const symbol s_1_2[1]
static const symbol s_1_1[1]

Definition at line 63 of file stem_ISO_8859_1_dutch.c.

const struct among a_2[3]
static
Initial value:
=
{
{ 2, s_2_0, -1, -1, 0},
{ 2, s_2_1, -1, -1, 0},
{ 2, s_2_2, -1, -1, 0}
}
static const symbol s_2_0[2]
static const symbol s_2_1[2]
static const symbol s_2_2[2]

Definition at line 74 of file stem_ISO_8859_1_dutch.c.

const struct among a_3[5]
static
Initial value:
=
{
{ 3, s_3_0, -1, 2, 0},
{ 2, s_3_1, -1, 3, 0},
{ 2, s_3_2, -1, 2, 0},
{ 5, s_3_3, 2, 1, 0},
{ 1, s_3_4, -1, 3, 0}
}
static const symbol s_3_1[2]
static const symbol s_3_2[2]
static const symbol s_3_0[3]
static const symbol s_3_3[5]
static const symbol s_3_4[1]

Definition at line 87 of file stem_ISO_8859_1_dutch.c.

const struct among a_4[6]
static
Initial value:
=
{
{ 3, s_4_0, -1, 1, 0},
{ 2, s_4_1, -1, 2, 0},
{ 3, s_4_2, -1, 1, 0},
{ 4, s_4_3, -1, 3, 0},
{ 4, s_4_4, -1, 4, 0},
{ 3, s_4_5, -1, 5, 0}
}
static const symbol s_4_1[2]
static const symbol s_4_3[4]
static const symbol s_4_5[3]
static const symbol s_4_4[4]
static const symbol s_4_2[3]
static const symbol s_4_0[3]

Definition at line 103 of file stem_ISO_8859_1_dutch.c.

const struct among a_5[4]
static
Initial value:
=
{
{ 2, s_5_0, -1, -1, 0},
{ 2, s_5_1, -1, -1, 0},
{ 2, s_5_2, -1, -1, 0},
{ 2, s_5_3, -1, -1, 0}
}
static const symbol s_5_2[2]
static const symbol s_5_3[2]
static const symbol s_5_1[2]
static const symbol s_5_0[2]

Definition at line 118 of file stem_ISO_8859_1_dutch.c.

const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
static
const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
static

Definition at line 128 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
static

Definition at line 130 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_0[] = { 'a' }
static

Definition at line 132 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_0_1[1] = { 0xE1 }
static

Definition at line 34 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_10[1] = { 0xFC }
static

Definition at line 43 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_2[1] = { 0xE4 }
static

Definition at line 35 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_3[1] = { 0xE9 }
static

Definition at line 36 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_4[1] = { 0xEB }
static

Definition at line 37 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_5[1] = { 0xED }
static

Definition at line 38 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_6[1] = { 0xEF }
static

Definition at line 39 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_7[1] = { 0xF3 }
static

Definition at line 40 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_8[1] = { 0xF6 }
static

Definition at line 41 of file stem_ISO_8859_1_dutch.c.

const symbol s_0_9[1] = { 0xFA }
static

Definition at line 42 of file stem_ISO_8859_1_dutch.c.

const symbol s_1[] = { 'e' }
static

Definition at line 133 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_10[] = { 'Y' }
static

Definition at line 142 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_11[] = { 'y' }
static

Definition at line 143 of file stem_ISO_8859_1_dutch.c.

Referenced by r_postlude().

const symbol s_12[] = { 'i' }
static

Definition at line 144 of file stem_ISO_8859_1_dutch.c.

Referenced by r_postlude().

const symbol s_13[] = { 'e' }
static

Definition at line 145 of file stem_ISO_8859_1_dutch.c.

Referenced by r_e_ending().

const symbol s_14[] = { 'g', 'e', 'm' }
static

Definition at line 146 of file stem_ISO_8859_1_dutch.c.

Referenced by r_en_ending().

const symbol s_15[] = { 'h', 'e', 'i', 'd' }
static

Definition at line 147 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_16[] = { 'h', 'e', 'i', 'd' }
static

Definition at line 148 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_17[] = { 'c' }
static

Definition at line 149 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_18[] = { 'e', 'n' }
static

Definition at line 150 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_19[] = { 'i', 'g' }
static

Definition at line 151 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_1_1[1] = { 'I' }
static

Definition at line 60 of file stem_ISO_8859_1_dutch.c.

const symbol s_1_2[1] = { 'Y' }
static

Definition at line 61 of file stem_ISO_8859_1_dutch.c.

const symbol s_2[] = { 'i' }
static

Definition at line 134 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_20[] = { 'e' }
static

Definition at line 152 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_21[] = { 'e' }
static

Definition at line 153 of file stem_ISO_8859_1_dutch.c.

Referenced by r_standard_suffix().

const symbol s_2_0[2] = { 'd', 'd' }
static

Definition at line 70 of file stem_ISO_8859_1_dutch.c.

const symbol s_2_1[2] = { 'k', 'k' }
static

Definition at line 71 of file stem_ISO_8859_1_dutch.c.

const symbol s_2_2[2] = { 't', 't' }
static

Definition at line 72 of file stem_ISO_8859_1_dutch.c.

const symbol s_3[] = { 'o' }
static

Definition at line 135 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_3_0[3] = { 'e', 'n', 'e' }
static

Definition at line 81 of file stem_ISO_8859_1_dutch.c.

const symbol s_3_1[2] = { 's', 'e' }
static

Definition at line 82 of file stem_ISO_8859_1_dutch.c.

const symbol s_3_2[2] = { 'e', 'n' }
static

Definition at line 83 of file stem_ISO_8859_1_dutch.c.

const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' }
static

Definition at line 84 of file stem_ISO_8859_1_dutch.c.

const symbol s_3_4[1] = { 's' }
static

Definition at line 85 of file stem_ISO_8859_1_dutch.c.

const symbol s_4[] = { 'u' }
static

Definition at line 136 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_4_0[3] = { 'e', 'n', 'd' }
static

Definition at line 96 of file stem_ISO_8859_1_dutch.c.

const symbol s_4_1[2] = { 'i', 'g' }
static

Definition at line 97 of file stem_ISO_8859_1_dutch.c.

const symbol s_4_2[3] = { 'i', 'n', 'g' }
static

Definition at line 98 of file stem_ISO_8859_1_dutch.c.

const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' }
static

Definition at line 99 of file stem_ISO_8859_1_dutch.c.

const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' }
static

Definition at line 100 of file stem_ISO_8859_1_dutch.c.

const symbol s_4_5[3] = { 'b', 'a', 'r' }
static

Definition at line 101 of file stem_ISO_8859_1_dutch.c.

const symbol s_5[] = { 'y' }
static

Definition at line 137 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_5_0[2] = { 'a', 'a' }
static

Definition at line 113 of file stem_ISO_8859_1_dutch.c.

const symbol s_5_1[2] = { 'e', 'e' }
static

Definition at line 114 of file stem_ISO_8859_1_dutch.c.

const symbol s_5_2[2] = { 'o', 'o' }
static

Definition at line 115 of file stem_ISO_8859_1_dutch.c.

const symbol s_5_3[2] = { 'u', 'u' }
static

Definition at line 116 of file stem_ISO_8859_1_dutch.c.

const symbol s_6[] = { 'Y' }
static

Definition at line 138 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_7[] = { 'i' }
static

Definition at line 139 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_8[] = { 'I' }
static

Definition at line 140 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().

const symbol s_9[] = { 'y' }
static

Definition at line 141 of file stem_ISO_8859_1_dutch.c.

Referenced by r_prelude().