Lucene.Net  3.0.3
Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Pages
KpStemmer.cs
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 // This file was generated automatically by the Snowball to Java compiler
19 using System;
20 using Among = SF.Snowball.Among;
21 using SnowballProgram = SF.Snowball.SnowballProgram;
22 namespace SF.Snowball.Ext
23 {
24 #pragma warning disable 162,164
25 
26  /// <summary> Generated class implementing code defined by a snowball script.</summary>
27  public class KpStemmer : SnowballProgram
28  {
29  public KpStemmer()
30  {
31  InitBlock();
32  }
33  private void InitBlock()
34  {
35  a_0 = new Among[]{new Among("nde", - 1, 7, "", this), new Among("en", - 1, 6, "", this), new Among("s", - 1, 2, "", this), new Among("'s", 2, 1, "", this), new Among("es", 2, 4, "", this), new Among("ies", 4, 3, "", this), new Among("aus", 2, 5, "", this)};
36  a_1 = new Among[]{new Among("de", - 1, 5, "", this), new Among("ge", - 1, 2, "", this), new Among("ische", - 1, 4, "", this), new Among("je", - 1, 1, "", this), new Among("lijke", - 1, 3, "", this), new Among("le", - 1, 9, "", this), new Among("ene", - 1, 10, "", this), new Among("re", - 1, 8, "", this), new Among("se", - 1, 7, "", this), new Among("te", - 1, 6, "", this), new Among("ieve", - 1, 11, "", this)};
37  a_2 = new Among[]{new Among("heid", - 1, 3, "", this), new Among("fie", - 1, 7, "", this), new Among("gie", - 1, 8, "", this), new Among("atie", - 1, 1, "", this), new Among("isme", - 1, 5, "", this), new Among("ing", - 1, 5, "", this), new Among("arij", - 1, 6, "", this), new Among("erij", - 1, 5, "", this), new Among("sel", - 1, 3, "", this), new Among("rder", - 1, 4, "", this), new Among("ster", - 1, 3, "", this), new Among("iteit", - 1, 2, "", this), new Among("dst", - 1, 10, "", this), new Among("tst", - 1, 9, "", this)};
38  a_3 = new Among[]{new Among("end", - 1, 10, "", this), new Among("atief", - 1, 2, "", this), new Among("erig", - 1, 10, "", this), new Among("achtig", - 1, 9, "", this), new Among("ioneel", - 1, 1, "", this), new Among("baar", - 1, 3, "", this), new Among("laar", - 1, 5, "", this), new Among("naar", - 1, 4, "", this), new Among("raar", - 1, 6, "", this), new Among("eriger", - 1, 10, "", this), new Among("achtiger", - 1, 9, "", this), new Among("lijker", - 1, 8, "", this), new Among("tant", - 1, 7, "", this), new Among("erigst", - 1, 10, "", this), new Among("achtigst", - 1, 9, "", this), new Among("lijkst", - 1, 8, "", this)};
39  a_4 = new Among[]{new Among("ig", - 1, 1, "", this), new Among("iger", - 1, 1, "", this), new Among("igst", - 1, 1, "", this)};
40  a_5 = new Among[]{new Among("ft", - 1, 2, "", this), new Among("kt", - 1, 1, "", this), new Among("pt", - 1, 3, "", this)};
41  a_6 = new Among[]{new Among("bb", - 1, 1, "", this), new Among("cc", - 1, 2, "", this), new Among("dd", - 1, 3, "", this), new Among("ff", - 1, 4, "", this), new Among("gg", - 1, 5, "", this), new Among("hh", - 1, 6, "", this), new Among("jj", - 1, 7, "", this), new Among("kk", - 1, 8, "", this), new Among("ll", - 1, 9, "", this), new Among("mm", - 1, 10, "", this), new Among("nn", - 1, 11, "", this), new Among("pp", - 1, 12, "", this), new Among("qq", - 1, 13, "", this), new Among("rr", - 1, 14, "", this), new Among("ss", - 1, 15, "", this), new Among("tt", - 1, 16, "", this), new Among("v", - 1, 21, "", this), new Among("vv", 16, 17, "", this), new Among("ww", - 1, 18, "", this), new Among("xx", - 1, 19, "", this), new Among("z", - 1, 22, "", this), new Among("zz", 20, 20, "", this)};
42  a_7 = new Among[]{new Among("d", - 1, 1, "", this), new Among("t", - 1, 2, "", this)};
43  }
44 
45  private Among[] a_0;
46  private Among[] a_1;
47  private Among[] a_2;
48  private Among[] a_3;
49  private Among[] a_4;
50  private Among[] a_5;
51  private Among[] a_6;
52  private Among[] a_7;
53  private static readonly char[] g_v = new char[]{(char) (17), (char) (65), (char) (16), (char) (1)};
54  private static readonly char[] g_v_WX = new char[]{(char) (17), (char) (65), (char) (208), (char) (1)};
55  private static readonly char[] g_AOU = new char[]{(char) (1), (char) (64), (char) (16)};
56  private static readonly char[] g_AIOU = new char[]{(char) (1), (char) (65), (char) (16)};
57 
58  private bool B_GE_removed;
59  private bool B_stemmed;
60  private bool B_Y_found;
61  private int I_p2;
62  private int I_p1;
63  private int I_x;
64  private System.Text.StringBuilder S_ch = new System.Text.StringBuilder();
65 
66  protected internal virtual void copy_from(KpStemmer other)
67  {
68  B_GE_removed = other.B_GE_removed;
69  B_stemmed = other.B_stemmed;
70  B_Y_found = other.B_Y_found;
71  I_p2 = other.I_p2;
72  I_p1 = other.I_p1;
73  I_x = other.I_x;
74  S_ch = other.S_ch;
75  base.copy_from(other);
76  }
77 
78  private bool r_R1()
79  {
80  // (, line 32
81  // setmark x, line 32
82  I_x = cursor;
83  if (!(I_x >= I_p1))
84  {
85  return false;
86  }
87  return true;
88  }
89 
90  private bool r_R2()
91  {
92  // (, line 33
93  // setmark x, line 33
94  I_x = cursor;
95  if (!(I_x >= I_p2))
96  {
97  return false;
98  }
99  return true;
100  }
101 
102  private bool r_V()
103  {
104  int v_1;
105  int v_2;
106  // test, line 35
107  v_1 = limit - cursor;
108  // (, line 35
109  // or, line 35
110  do
111  {
112  v_2 = limit - cursor;
113  do
114  {
115  if (!(in_grouping_b(g_v, 97, 121)))
116  {
117  goto lab1_brk;
118  }
119  goto lab0_brk;
120  }
121  while (false);
122 
123 lab1_brk: ;
124 
125  cursor = limit - v_2;
126  // literal, line 35
127  if (!(eq_s_b(2, "ij")))
128  {
129  return false;
130  }
131  }
132  while (false);
133 
134 lab0_brk: ;
135 
136  cursor = limit - v_1;
137  return true;
138  }
139 
140  private bool r_VX()
141  {
142  int v_1;
143  int v_2;
144  // test, line 36
145  v_1 = limit - cursor;
146  // (, line 36
147  // next, line 36
148  if (cursor <= limit_backward)
149  {
150  return false;
151  }
152  cursor--;
153  // or, line 36
154 lab2:
155  do
156  {
157  v_2 = limit - cursor;
158  do
159  {
160  if (!(in_grouping_b(g_v, 97, 121)))
161  {
162  goto lab2_brk;
163  }
164  goto lab2_brk;
165  }
166  while (false);
167 
168 lab2_brk: ;
169 
170  cursor = limit - v_2;
171  // literal, line 36
172  if (!(eq_s_b(2, "ij")))
173  {
174  return false;
175  }
176  }
177  while (false);
178  cursor = limit - v_1;
179  return true;
180  }
181 
182  private bool r_C()
183  {
184  int v_1;
185  int v_2;
186  // test, line 37
187  v_1 = limit - cursor;
188  // (, line 37
189  // not, line 37
190  {
191  v_2 = limit - cursor;
192  do
193  {
194  // literal, line 37
195  if (!(eq_s_b(2, "ij")))
196  {
197  goto lab2_brk;
198  }
199  return false;
200  }
201  while (false);
202 
203 lab2_brk: ;
204 
205  cursor = limit - v_2;
206  }
207  if (!(out_grouping_b(g_v, 97, 121)))
208  {
209  return false;
210  }
211  cursor = limit - v_1;
212  return true;
213  }
214 
215  private bool r_lengthen_V()
216  {
217  int v_1;
218  int v_2;
219  int v_3;
220  int v_4;
221  int v_5;
222  int v_6;
223  int v_7;
224  int v_8;
225  // do, line 39
226  v_1 = limit - cursor;
227  do
228  {
229  // (, line 39
230  if (!(out_grouping_b(g_v_WX, 97, 121)))
231  {
232  goto lab0_brk;
233  }
234  // [, line 40
235  ket = cursor;
236  // or, line 40
237  do
238  {
239  v_2 = limit - cursor;
240  do
241  {
242  // (, line 40
243  if (!(in_grouping_b(g_AOU, 97, 117)))
244  {
245  goto lab2_brk;
246  }
247  // ], line 40
248  bra = cursor;
249  // test, line 40
250  v_3 = limit - cursor;
251  // (, line 40
252  // or, line 40
253  do
254  {
255  v_4 = limit - cursor;
256  do
257  {
258  if (!(out_grouping_b(g_v, 97, 121)))
259  {
260  goto lab4_brk;
261  }
262  goto lab3_brk;
263  }
264  while (false);
265 
266 lab4_brk: ;
267 
268  cursor = limit - v_4;
269  // atlimit, line 40
270  if (cursor > limit_backward)
271  {
272  goto lab2_brk;
273  }
274  }
275  while (false);
276 
277 lab3_brk: ;
278 
279  cursor = limit - v_3;
280  goto lab1_brk;
281  }
282  while (false);
283 
284 lab2_brk: ;
285 
286  cursor = limit - v_2;
287  // (, line 41
288  // literal, line 41
289  if (!(eq_s_b(1, "e")))
290  {
291  goto lab0_brk;
292  }
293  // ], line 41
294  bra = cursor;
295  // test, line 41
296  v_5 = limit - cursor;
297  // (, line 41
298  // or, line 41
299  do
300  {
301  v_6 = limit - cursor;
302  do
303  {
304  if (!(out_grouping_b(g_v, 97, 121)))
305  {
306  goto lab6_brk;
307  }
308  goto lab5_brk;
309  }
310  while (false);
311 
312 lab6_brk: ;
313 
314  cursor = limit - v_6;
315  // atlimit, line 41
316  if (cursor > limit_backward)
317  {
318  goto lab0_brk;
319  }
320  }
321  while (false);
322 
323 lab5_brk: ;
324 
325  // not, line 42
326  {
327  v_7 = limit - cursor;
328  do
329  {
330  if (!(in_grouping_b(g_AIOU, 97, 117)))
331  {
332  goto lab7_brk;
333  }
334  goto lab0_brk;
335  }
336  while (false);
337 
338 lab7_brk: ;
339 
340  cursor = limit - v_7;
341  }
342  // not, line 43
343  {
344  v_8 = limit - cursor;
345  do
346  {
347  // (, line 43
348  // next, line 43
349  if (cursor <= limit_backward)
350  {
351  goto lab8_brk;
352  }
353  cursor--;
354  if (!(in_grouping_b(g_AIOU, 97, 117)))
355  {
356  goto lab8_brk;
357  }
358  if (!(out_grouping_b(g_v, 97, 121)))
359  {
360  goto lab8_brk;
361  }
362  goto lab0_brk;
363  }
364  while (false);
365 
366 lab8_brk: ;
367 
368  cursor = limit - v_8;
369  }
370  cursor = limit - v_5;
371  }
372  while (false);
373 
374 lab1_brk: ;
375 
376  // -> ch, line 44
377  S_ch = slice_to(S_ch);
378  // <+ ch, line 44
379  {
380  int c = cursor;
381  insert(cursor, cursor, S_ch);
382  cursor = c;
383  }
384  }
385  while (false);
386 
387 lab0_brk: ;
388 
389  cursor = limit - v_1;
390  return true;
391  }
392 
393  private bool r_Step_1()
394  {
395  int among_var;
396  int v_1;
397  int v_2;
398  int v_3;
399  int v_4;
400  // (, line 48
401  // [, line 49
402  ket = cursor;
403  // among, line 49
404  among_var = find_among_b(a_0, 7);
405  if (among_var == 0)
406  {
407  return false;
408  }
409  // (, line 49
410  // ], line 49
411  bra = cursor;
412  switch (among_var)
413  {
414 
415  case 0:
416  return false;
417 
418  case 1:
419  // (, line 51
420  // delete, line 51
421  slice_del();
422  break;
423 
424  case 2:
425  // (, line 52
426  // call R1, line 52
427  if (!r_R1())
428  {
429  return false;
430  }
431  // not, line 52
432  {
433  v_1 = limit - cursor;
434  do
435  {
436  // (, line 52
437  // literal, line 52
438  if (!(eq_s_b(1, "t")))
439  {
440  goto lab0_brk;
441  }
442  // call R1, line 52
443  if (!r_R1())
444  {
445  goto lab0_brk;
446  }
447  return false;
448  }
449  while (false);
450 
451 lab0_brk: ;
452 
453  cursor = limit - v_1;
454  }
455  // call C, line 52
456  if (!r_C())
457  {
458  return false;
459  }
460  // delete, line 52
461  slice_del();
462  break;
463 
464  case 3:
465  // (, line 53
466  // call R1, line 53
467  if (!r_R1())
468  {
469  return false;
470  }
471  // <-, line 53
472  slice_from("ie");
473  break;
474 
475  case 4:
476  // (, line 55
477  // or, line 55
478  do
479  {
480  v_2 = limit - cursor;
481  do
482  {
483  // (, line 55
484  // literal, line 55
485  if (!(eq_s_b(2, "ar")))
486  {
487  goto lab2_brk;
488  }
489  // call R1, line 55
490  if (!r_R1())
491  {
492  goto lab2_brk;
493  }
494  // call C, line 55
495  if (!r_C())
496  {
497  goto lab2_brk;
498  }
499  // ], line 55
500  bra = cursor;
501  // delete, line 55
502  slice_del();
503  // call lengthen_V, line 55
504  if (!r_lengthen_V())
505  {
506  goto lab2_brk;
507  }
508  goto lab1_brk;
509  }
510  while (false);
511 
512 lab2_brk: ;
513 
514  cursor = limit - v_2;
515  do
516  {
517  // (, line 56
518  // literal, line 56
519  if (!(eq_s_b(2, "er")))
520  {
521  goto lab3_brk;
522  }
523  // call R1, line 56
524  if (!r_R1())
525  {
526  goto lab3_brk;
527  }
528  // call C, line 56
529  if (!r_C())
530  {
531  goto lab3_brk;
532  }
533  // ], line 56
534  bra = cursor;
535  // delete, line 56
536  slice_del();
537  goto lab1_brk;
538  }
539  while (false);
540 
541 lab3_brk: ;
542 
543  cursor = limit - v_2;
544  // (, line 57
545  // call R1, line 57
546  if (!r_R1())
547  {
548  return false;
549  }
550  // call C, line 57
551  if (!r_C())
552  {
553  return false;
554  }
555  // <-, line 57
556  slice_from("e");
557  }
558  while (false);
559 
560 lab1_brk: ;
561 
562  break;
563 
564  case 5:
565  // (, line 59
566  // call R1, line 59
567  if (!r_R1())
568  {
569  return false;
570  }
571  // call V, line 59
572  if (!r_V())
573  {
574  return false;
575  }
576  // <-, line 59
577  slice_from("au");
578  break;
579 
580  case 6:
581  // (, line 60
582  // or, line 60
583  do
584  {
585  v_3 = limit - cursor;
586  do
587  {
588  // (, line 60
589  // literal, line 60
590  if (!(eq_s_b(3, "hed")))
591  {
592  goto lab5_brk;
593  }
594  // call R1, line 60
595  if (!r_R1())
596  {
597  goto lab5_brk;
598  }
599  // ], line 60
600  bra = cursor;
601  // <-, line 60
602  slice_from("heid");
603  goto lab4_brk;
604  }
605  while (false);
606 
607 lab5_brk: ;
608 
609  cursor = limit - v_3;
610  do
611  {
612  // (, line 61
613  // literal, line 61
614  if (!(eq_s_b(2, "nd")))
615  {
616  goto lab6_brk;
617  }
618  // delete, line 61
619  slice_del();
620  goto lab4_brk;
621  }
622  while (false);
623 
624 lab6_brk: ;
625 
626  cursor = limit - v_3;
627  do
628  {
629  // (, line 62
630  // literal, line 62
631  if (!(eq_s_b(1, "d")))
632  {
633  goto lab7_brk;
634  }
635  // call R1, line 62
636  if (!r_R1())
637  {
638  goto lab7_brk;
639  }
640  // call C, line 62
641  if (!r_C())
642  {
643  goto lab7_brk;
644  }
645  // ], line 62
646  bra = cursor;
647  // delete, line 62
648  slice_del();
649  goto lab4_brk;
650  }
651  while (false);
652 
653 lab7_brk: ;
654 
655  cursor = limit - v_3;
656  do
657  {
658  // (, line 63
659  // or, line 63
660  do
661  {
662  v_4 = limit - cursor;
663  do
664  {
665  // literal, line 63
666  if (!(eq_s_b(1, "i")))
667  {
668  goto lab10_brk;
669  }
670  goto lab9_brk;
671  }
672  while (false);
673 
674 lab10_brk: ;
675 
676  cursor = limit - v_4;
677  // literal, line 63
678  if (!(eq_s_b(1, "j")))
679  {
680  goto lab8_brk;
681  }
682  }
683  while (false);
684 
685 lab9_brk: ;
686 
687  // call V, line 63
688  if (!r_V())
689  {
690  goto lab8_brk;
691  }
692  // delete, line 63
693  slice_del();
694  goto lab4_brk;
695  }
696  while (false);
697 
698 lab8_brk: ;
699 
700  cursor = limit - v_3;
701  // (, line 64
702  // call R1, line 64
703  if (!r_R1())
704  {
705  return false;
706  }
707  // call C, line 64
708  if (!r_C())
709  {
710  return false;
711  }
712  // delete, line 64
713  slice_del();
714  // call lengthen_V, line 64
715  if (!r_lengthen_V())
716  {
717  return false;
718  }
719  }
720  while (false);
721 
722 lab4_brk: ;
723 
724  break;
725 
726  case 7:
727  // (, line 65
728  // <-, line 65
729  slice_from("nd");
730  break;
731  }
732  return true;
733  }
734 
735  private bool r_Step_2()
736  {
737  int among_var;
738  int v_1;
739  // (, line 70
740  // [, line 71
741  ket = cursor;
742  // among, line 71
743  among_var = find_among_b(a_1, 11);
744  if (among_var == 0)
745  {
746  return false;
747  }
748  // (, line 71
749  // ], line 71
750  bra = cursor;
751  switch (among_var)
752  {
753 
754  case 0:
755  return false;
756 
757  case 1:
758  // (, line 72
759  // or, line 72
760  do
761  {
762  v_1 = limit - cursor;
763  do
764  {
765  // (, line 72
766  // literal, line 72
767  if (!(eq_s_b(2, "'t")))
768  {
769  goto lab1_brk;
770  }
771  // ], line 72
772  bra = cursor;
773  // delete, line 72
774  slice_del();
775  goto lab0_brk;
776  }
777  while (false);
778 
779 lab1_brk: ;
780 
781  cursor = limit - v_1;
782  do
783  {
784  // (, line 73
785  // literal, line 73
786  if (!(eq_s_b(2, "et")))
787  {
788  goto lab2_brk;
789  }
790  // ], line 73
791  bra = cursor;
792  // call R1, line 73
793  if (!r_R1())
794  {
795  goto lab2_brk;
796  }
797  // call C, line 73
798  if (!r_C())
799  {
800  goto lab2_brk;
801  }
802  // delete, line 73
803  slice_del();
804  goto lab0_brk;
805  }
806  while (false);
807 
808 lab2_brk: ;
809 
810  cursor = limit - v_1;
811  do
812  {
813  // (, line 74
814  // literal, line 74
815  if (!(eq_s_b(3, "rnt")))
816  {
817  goto lab3_brk;
818  }
819  // ], line 74
820  bra = cursor;
821  // <-, line 74
822  slice_from("rn");
823  goto lab0_brk;
824  }
825  while (false);
826 
827 lab3_brk: ;
828 
829  cursor = limit - v_1;
830  do
831  {
832  // (, line 75
833  // literal, line 75
834  if (!(eq_s_b(1, "t")))
835  {
836  goto lab4_brk;
837  }
838  // ], line 75
839  bra = cursor;
840  // call R1, line 75
841  if (!r_R1())
842  {
843  goto lab4_brk;
844  }
845  // call VX, line 75
846  if (!r_VX())
847  {
848  goto lab4_brk;
849  }
850  // delete, line 75
851  slice_del();
852  goto lab0_brk;
853  }
854  while (false);
855 
856 lab4_brk: ;
857 
858  cursor = limit - v_1;
859  do
860  {
861  // (, line 76
862  // literal, line 76
863  if (!(eq_s_b(3, "ink")))
864  {
865  goto lab5_brk;
866  }
867  // ], line 76
868  bra = cursor;
869  // <-, line 76
870  slice_from("ing");
871  goto lab0_brk;
872  }
873  while (false);
874 
875 lab5_brk: ;
876 
877  cursor = limit - v_1;
878  do
879  {
880  // (, line 77
881  // literal, line 77
882  if (!(eq_s_b(2, "mp")))
883  {
884  goto lab6_brk;
885  }
886  // ], line 77
887  bra = cursor;
888  // <-, line 77
889  slice_from("m");
890  goto lab0_brk;
891  }
892  while (false);
893 
894 lab6_brk: ;
895 
896  cursor = limit - v_1;
897  do
898  {
899  // (, line 78
900  // literal, line 78
901  if (!(eq_s_b(1, "'")))
902  {
903  goto lab7_brk;
904  }
905  // ], line 78
906  bra = cursor;
907  // call R1, line 78
908  if (!r_R1())
909  {
910  goto lab7_brk;
911  }
912  // delete, line 78
913  slice_del();
914  goto lab0_brk;
915  }
916  while (false);
917 
918 lab7_brk: ;
919 
920  cursor = limit - v_1;
921  // (, line 79
922  // ], line 79
923  bra = cursor;
924  // call R1, line 79
925  if (!r_R1())
926  {
927  return false;
928  }
929  // call C, line 79
930  if (!r_C())
931  {
932  return false;
933  }
934  // delete, line 79
935  slice_del();
936  }
937  while (false);
938 
939 lab0_brk: ;
940 
941  break;
942 
943  case 2:
944  // (, line 80
945  // call R1, line 80
946  if (!r_R1())
947  {
948  return false;
949  }
950  // <-, line 80
951  slice_from("g");
952  break;
953 
954  case 3:
955  // (, line 81
956  // call R1, line 81
957  if (!r_R1())
958  {
959  return false;
960  }
961  // <-, line 81
962  slice_from("lijk");
963  break;
964 
965  case 4:
966  // (, line 82
967  // call R1, line 82
968  if (!r_R1())
969  {
970  return false;
971  }
972  // <-, line 82
973  slice_from("isch");
974  break;
975 
976  case 5:
977  // (, line 83
978  // call R1, line 83
979  if (!r_R1())
980  {
981  return false;
982  }
983  // call C, line 83
984  if (!r_C())
985  {
986  return false;
987  }
988  // delete, line 83
989  slice_del();
990  break;
991 
992  case 6:
993  // (, line 84
994  // call R1, line 84
995  if (!r_R1())
996  {
997  return false;
998  }
999  // <-, line 84
1000  slice_from("t");
1001  break;
1002 
1003  case 7:
1004  // (, line 85
1005  // call R1, line 85
1006  if (!r_R1())
1007  {
1008  return false;
1009  }
1010  // <-, line 85
1011  slice_from("s");
1012  break;
1013 
1014  case 8:
1015  // (, line 86
1016  // call R1, line 86
1017  if (!r_R1())
1018  {
1019  return false;
1020  }
1021  // <-, line 86
1022  slice_from("r");
1023  break;
1024 
1025  case 9:
1026  // (, line 87
1027  // call R1, line 87
1028  if (!r_R1())
1029  {
1030  return false;
1031  }
1032  // delete, line 87
1033  slice_del();
1034  // attach, line 87
1035  insert(cursor, cursor, "l");
1036  // call lengthen_V, line 87
1037  if (!r_lengthen_V())
1038  {
1039  return false;
1040  }
1041  break;
1042 
1043  case 10:
1044  // (, line 88
1045  // call R1, line 88
1046  if (!r_R1())
1047  {
1048  return false;
1049  }
1050  // call C, line 88
1051  if (!r_C())
1052  {
1053  return false;
1054  }
1055  // delete, line 88
1056  slice_del();
1057  // attach, line 88
1058  insert(cursor, cursor, "en");
1059  // call lengthen_V, line 88
1060  if (!r_lengthen_V())
1061  {
1062  return false;
1063  }
1064  break;
1065 
1066  case 11:
1067  // (, line 89
1068  // call R1, line 89
1069  if (!r_R1())
1070  {
1071  return false;
1072  }
1073  // call C, line 89
1074  if (!r_C())
1075  {
1076  return false;
1077  }
1078  // <-, line 89
1079  slice_from("ief");
1080  break;
1081  }
1082  return true;
1083  }
1084 
1085  private bool r_Step_3()
1086  {
1087  int among_var;
1088  // (, line 94
1089  // [, line 95
1090  ket = cursor;
1091  // among, line 95
1092  among_var = find_among_b(a_2, 14);
1093  if (among_var == 0)
1094  {
1095  return false;
1096  }
1097  // (, line 95
1098  // ], line 95
1099  bra = cursor;
1100  switch (among_var)
1101  {
1102 
1103  case 0:
1104  return false;
1105 
1106  case 1:
1107  // (, line 96
1108  // call R1, line 96
1109  if (!r_R1())
1110  {
1111  return false;
1112  }
1113  // <-, line 96
1114  slice_from("eer");
1115  break;
1116 
1117  case 2:
1118  // (, line 97
1119  // call R1, line 97
1120  if (!r_R1())
1121  {
1122  return false;
1123  }
1124  // delete, line 97
1125  slice_del();
1126  // call lengthen_V, line 97
1127  if (!r_lengthen_V())
1128  {
1129  return false;
1130  }
1131  break;
1132 
1133  case 3:
1134  // (, line 100
1135  // call R1, line 100
1136  if (!r_R1())
1137  {
1138  return false;
1139  }
1140  // delete, line 100
1141  slice_del();
1142  break;
1143 
1144  case 4:
1145  // (, line 101
1146  // <-, line 101
1147  slice_from("r");
1148  break;
1149 
1150  case 5:
1151  // (, line 104
1152  // call R1, line 104
1153  if (!r_R1())
1154  {
1155  return false;
1156  }
1157  // delete, line 104
1158  slice_del();
1159  // call lengthen_V, line 104
1160  if (!r_lengthen_V())
1161  {
1162  return false;
1163  }
1164  break;
1165 
1166  case 6:
1167  // (, line 105
1168  // call R1, line 105
1169  if (!r_R1())
1170  {
1171  return false;
1172  }
1173  // call C, line 105
1174  if (!r_C())
1175  {
1176  return false;
1177  }
1178  // <-, line 105
1179  slice_from("aar");
1180  break;
1181 
1182  case 7:
1183  // (, line 106
1184  // call R2, line 106
1185  if (!r_R2())
1186  {
1187  return false;
1188  }
1189  // delete, line 106
1190  slice_del();
1191  // attach, line 106
1192  insert(cursor, cursor, "f");
1193  // call lengthen_V, line 106
1194  if (!r_lengthen_V())
1195  {
1196  return false;
1197  }
1198  break;
1199 
1200  case 8:
1201  // (, line 107
1202  // call R2, line 107
1203  if (!r_R2())
1204  {
1205  return false;
1206  }
1207  // delete, line 107
1208  slice_del();
1209  // attach, line 107
1210  insert(cursor, cursor, "g");
1211  // call lengthen_V, line 107
1212  if (!r_lengthen_V())
1213  {
1214  return false;
1215  }
1216  break;
1217 
1218  case 9:
1219  // (, line 108
1220  // call R1, line 108
1221  if (!r_R1())
1222  {
1223  return false;
1224  }
1225  // call C, line 108
1226  if (!r_C())
1227  {
1228  return false;
1229  }
1230  // <-, line 108
1231  slice_from("t");
1232  break;
1233 
1234  case 10:
1235  // (, line 109
1236  // call R1, line 109
1237  if (!r_R1())
1238  {
1239  return false;
1240  }
1241  // call C, line 109
1242  if (!r_C())
1243  {
1244  return false;
1245  }
1246  // <-, line 109
1247  slice_from("d");
1248  break;
1249  }
1250  return true;
1251  }
1252 
1253  private bool r_Step_4()
1254  {
1255  int among_var;
1256  int v_1;
1257  // (, line 114
1258  // or, line 134
1259 lab11:
1260  do
1261  {
1262  v_1 = limit - cursor;
1263  do
1264  {
1265  // (, line 115
1266  // [, line 115
1267  ket = cursor;
1268  // among, line 115
1269  among_var = find_among_b(a_3, 16);
1270  if (among_var == 0)
1271  {
1272  goto lab11_brk;
1273  }
1274  // (, line 115
1275  // ], line 115
1276  bra = cursor;
1277  switch (among_var)
1278  {
1279 
1280  case 0:
1281  goto lab11_brk;
1282 
1283  case 1:
1284  // (, line 116
1285  // call R1, line 116
1286  if (!r_R1())
1287  {
1288  goto lab11_brk;
1289  }
1290  // <-, line 116
1291  slice_from("ie");
1292  break;
1293 
1294  case 2:
1295  // (, line 117
1296  // call R1, line 117
1297  if (!r_R1())
1298  {
1299  goto lab11_brk;
1300  }
1301  // <-, line 117
1302  slice_from("eer");
1303  break;
1304 
1305  case 3:
1306  // (, line 118
1307  // call R1, line 118
1308  if (!r_R1())
1309  {
1310  goto lab11_brk;
1311  }
1312  // delete, line 118
1313  slice_del();
1314  break;
1315 
1316  case 4:
1317  // (, line 119
1318  // call R1, line 119
1319  if (!r_R1())
1320  {
1321  goto lab11_brk;
1322  }
1323  // call V, line 119
1324  if (!r_V())
1325  {
1326  goto lab11_brk;
1327  }
1328  // <-, line 119
1329  slice_from("n");
1330  break;
1331 
1332  case 5:
1333  // (, line 120
1334  // call R1, line 120
1335  if (!r_R1())
1336  {
1337  goto lab11_brk;
1338  }
1339  // call V, line 120
1340  if (!r_V())
1341  {
1342  goto lab11_brk;
1343  }
1344  // <-, line 120
1345  slice_from("l");
1346  break;
1347 
1348  case 6:
1349  // (, line 121
1350  // call R1, line 121
1351  if (!r_R1())
1352  {
1353  goto lab11_brk;
1354  }
1355  // call V, line 121
1356  if (!r_V())
1357  {
1358  goto lab11_brk;
1359  }
1360  // <-, line 121
1361  slice_from("r");
1362  break;
1363 
1364  case 7:
1365  // (, line 122
1366  // call R1, line 122
1367  if (!r_R1())
1368  {
1369  goto lab11_brk;
1370  }
1371  // <-, line 122
1372  slice_from("teer");
1373  break;
1374 
1375  case 8:
1376  // (, line 124
1377  // call R1, line 124
1378  if (!r_R1())
1379  {
1380  goto lab11_brk;
1381  }
1382  // <-, line 124
1383  slice_from("lijk");
1384  break;
1385 
1386  case 9:
1387  // (, line 127
1388  // call R1, line 127
1389  if (!r_R1())
1390  {
1391  goto lab11_brk;
1392  }
1393  // delete, line 127
1394  slice_del();
1395  break;
1396 
1397  case 10:
1398  // (, line 131
1399  // call R1, line 131
1400  if (!r_R1())
1401  {
1402  goto lab11_brk;
1403  }
1404  // call C, line 131
1405  if (!r_C())
1406  {
1407  goto lab11_brk;
1408  }
1409  // delete, line 131
1410  slice_del();
1411  // call lengthen_V, line 131
1412  if (!r_lengthen_V())
1413  {
1414  goto lab11_brk;
1415  }
1416  break;
1417  }
1418  goto lab11_brk;
1419  }
1420  while (false);
1421 
1422 lab11_brk: ;
1423 
1424  cursor = limit - v_1;
1425  // (, line 135
1426  // [, line 135
1427  ket = cursor;
1428  // among, line 135
1429  among_var = find_among_b(a_4, 3);
1430  if (among_var == 0)
1431  {
1432  return false;
1433  }
1434  // (, line 135
1435  // ], line 135
1436  bra = cursor;
1437  switch (among_var)
1438  {
1439 
1440  case 0:
1441  return false;
1442 
1443  case 1:
1444  // (, line 138
1445  // call R1, line 138
1446  if (!r_R1())
1447  {
1448  return false;
1449  }
1450  // call C, line 138
1451  if (!r_C())
1452  {
1453  return false;
1454  }
1455  // delete, line 138
1456  slice_del();
1457  // call lengthen_V, line 138
1458  if (!r_lengthen_V())
1459  {
1460  return false;
1461  }
1462  break;
1463  }
1464  }
1465  while (false);
1466  return true;
1467  }
1468 
1469  private bool r_Step_7()
1470  {
1471  int among_var;
1472  // (, line 144
1473  // [, line 145
1474  ket = cursor;
1475  // among, line 145
1476  among_var = find_among_b(a_5, 3);
1477  if (among_var == 0)
1478  {
1479  return false;
1480  }
1481  // (, line 145
1482  // ], line 145
1483  bra = cursor;
1484  switch (among_var)
1485  {
1486 
1487  case 0:
1488  return false;
1489 
1490  case 1:
1491  // (, line 146
1492  // <-, line 146
1493  slice_from("k");
1494  break;
1495 
1496  case 2:
1497  // (, line 147
1498  // <-, line 147
1499  slice_from("f");
1500  break;
1501 
1502  case 3:
1503  // (, line 148
1504  // <-, line 148
1505  slice_from("p");
1506  break;
1507  }
1508  return true;
1509  }
1510 
1511  private bool r_Step_6()
1512  {
1513  int among_var;
1514  // (, line 153
1515  // [, line 154
1516  ket = cursor;
1517  // among, line 154
1518  among_var = find_among_b(a_6, 22);
1519  if (among_var == 0)
1520  {
1521  return false;
1522  }
1523  // (, line 154
1524  // ], line 154
1525  bra = cursor;
1526  switch (among_var)
1527  {
1528 
1529  case 0:
1530  return false;
1531 
1532  case 1:
1533  // (, line 155
1534  // <-, line 155
1535  slice_from("b");
1536  break;
1537 
1538  case 2:
1539  // (, line 156
1540  // <-, line 156
1541  slice_from("c");
1542  break;
1543 
1544  case 3:
1545  // (, line 157
1546  // <-, line 157
1547  slice_from("d");
1548  break;
1549 
1550  case 4:
1551  // (, line 158
1552  // <-, line 158
1553  slice_from("f");
1554  break;
1555 
1556  case 5:
1557  // (, line 159
1558  // <-, line 159
1559  slice_from("g");
1560  break;
1561 
1562  case 6:
1563  // (, line 160
1564  // <-, line 160
1565  slice_from("h");
1566  break;
1567 
1568  case 7:
1569  // (, line 161
1570  // <-, line 161
1571  slice_from("j");
1572  break;
1573 
1574  case 8:
1575  // (, line 162
1576  // <-, line 162
1577  slice_from("k");
1578  break;
1579 
1580  case 9:
1581  // (, line 163
1582  // <-, line 163
1583  slice_from("l");
1584  break;
1585 
1586  case 10:
1587  // (, line 164
1588  // <-, line 164
1589  slice_from("m");
1590  break;
1591 
1592  case 11:
1593  // (, line 165
1594  // <-, line 165
1595  slice_from("n");
1596  break;
1597 
1598  case 12:
1599  // (, line 166
1600  // <-, line 166
1601  slice_from("p");
1602  break;
1603 
1604  case 13:
1605  // (, line 167
1606  // <-, line 167
1607  slice_from("q");
1608  break;
1609 
1610  case 14:
1611  // (, line 168
1612  // <-, line 168
1613  slice_from("r");
1614  break;
1615 
1616  case 15:
1617  // (, line 169
1618  // <-, line 169
1619  slice_from("s");
1620  break;
1621 
1622  case 16:
1623  // (, line 170
1624  // <-, line 170
1625  slice_from("t");
1626  break;
1627 
1628  case 17:
1629  // (, line 171
1630  // <-, line 171
1631  slice_from("v");
1632  break;
1633 
1634  case 18:
1635  // (, line 172
1636  // <-, line 172
1637  slice_from("w");
1638  break;
1639 
1640  case 19:
1641  // (, line 173
1642  // <-, line 173
1643  slice_from("x");
1644  break;
1645 
1646  case 20:
1647  // (, line 174
1648  // <-, line 174
1649  slice_from("z");
1650  break;
1651 
1652  case 21:
1653  // (, line 175
1654  // <-, line 175
1655  slice_from("f");
1656  break;
1657 
1658  case 22:
1659  // (, line 176
1660  // <-, line 176
1661  slice_from("s");
1662  break;
1663  }
1664  return true;
1665  }
1666 
1667  private bool r_Step_1c()
1668  {
1669  int among_var;
1670  int v_1;
1671  int v_2;
1672  // (, line 181
1673  // [, line 182
1674  ket = cursor;
1675  // among, line 182
1676  among_var = find_among_b(a_7, 2);
1677  if (among_var == 0)
1678  {
1679  return false;
1680  }
1681  // (, line 182
1682  // ], line 182
1683  bra = cursor;
1684  // call R1, line 182
1685  if (!r_R1())
1686  {
1687  return false;
1688  }
1689  // call C, line 182
1690  if (!r_C())
1691  {
1692  return false;
1693  }
1694  switch (among_var)
1695  {
1696 
1697  case 0:
1698  return false;
1699 
1700  case 1:
1701  // (, line 183
1702  // not, line 183
1703  {
1704  v_1 = limit - cursor;
1705  do
1706  {
1707  // (, line 183
1708  // literal, line 183
1709  if (!(eq_s_b(1, "n")))
1710  {
1711  goto lab11_brk;
1712  }
1713  // call R1, line 183
1714  if (!r_R1())
1715  {
1716  goto lab11_brk;
1717  }
1718  return false;
1719  }
1720  while (false);
1721 
1722 lab11_brk: ;
1723 
1724  cursor = limit - v_1;
1725  }
1726  // delete, line 183
1727  slice_del();
1728  break;
1729 
1730  case 2:
1731  // (, line 184
1732  // not, line 184
1733  {
1734  v_2 = limit - cursor;
1735  do
1736  {
1737  // (, line 184
1738  // literal, line 184
1739  if (!(eq_s_b(1, "h")))
1740  {
1741  goto lab11_brk;
1742  }
1743  // call R1, line 184
1744  if (!r_R1())
1745  {
1746  goto lab11_brk;
1747  }
1748  return false;
1749  }
1750  while (false);
1751 
1752 lab11_brk: ;
1753 
1754  cursor = limit - v_2;
1755  }
1756  // delete, line 184
1757  slice_del();
1758  break;
1759  }
1760  return true;
1761  }
1762 
1763  private bool r_Lose_prefix()
1764  {
1765  int v_1;
1766  int v_2;
1767  int v_3;
1768  // (, line 189
1769  // [, line 190
1770  bra = cursor;
1771  // literal, line 190
1772  if (!(eq_s(2, "ge")))
1773  {
1774  return false;
1775  }
1776  // ], line 190
1777  ket = cursor;
1778  // test, line 190
1779  v_1 = cursor;
1780  // hop, line 190
1781  {
1782  int c = cursor + 3;
1783  if (0 > c || c > limit)
1784  {
1785  return false;
1786  }
1787  cursor = c;
1788  }
1789  cursor = v_1;
1790  // (, line 190
1791  // goto, line 190
1792  while (true)
1793  {
1794  v_2 = cursor;
1795  do
1796  {
1797  if (!(in_grouping(g_v, 97, 121)))
1798  {
1799  goto lab11_brk;
1800  }
1801  cursor = v_2;
1802  goto golab0_brk;
1803  }
1804  while (false);
1805 
1806 lab11_brk: ;
1807 
1808  cursor = v_2;
1809  if (cursor >= limit)
1810  {
1811  return false;
1812  }
1813  cursor++;
1814  }
1815 
1816 golab0_brk: ;
1817 
1818  // goto, line 190
1819  while (true)
1820  {
1821  v_3 = cursor;
1822  do
1823  {
1824  if (!(out_grouping(g_v, 97, 121)))
1825  {
1826  goto lab11_brk;
1827  }
1828  cursor = v_3;
1829  goto golab2_brk;
1830  }
1831  while (false);
1832 
1833 lab11_brk: ;
1834 
1835  cursor = v_3;
1836  if (cursor >= limit)
1837  {
1838  return false;
1839  }
1840  cursor++;
1841  }
1842 
1843 golab2_brk: ;
1844 
1845  // set GE_removed, line 191
1846  B_GE_removed = true;
1847  // delete, line 192
1848  slice_del();
1849  return true;
1850  }
1851 
1852  private bool r_Lose_infix()
1853  {
1854  int v_2;
1855  int v_3;
1856  int v_4;
1857  // (, line 195
1858  // next, line 196
1859  if (cursor >= limit)
1860  {
1861  return false;
1862  }
1863  cursor++;
1864  // gopast, line 197
1865  while (true)
1866  {
1867  do
1868  {
1869  // (, line 197
1870  // [, line 197
1871  bra = cursor;
1872  // literal, line 197
1873  if (!(eq_s(2, "ge")))
1874  {
1875  goto lab11_brk;
1876  }
1877  // ], line 197
1878  ket = cursor;
1879  goto golab1_brk;
1880  }
1881  while (false);
1882 
1883 lab11_brk: ;
1884 
1885  if (cursor >= limit)
1886  {
1887  return false;
1888  }
1889  cursor++;
1890  }
1891 
1892 golab1_brk: ;
1893 
1894  // test, line 197
1895  v_2 = cursor;
1896  // hop, line 197
1897  {
1898  int c = cursor + 3;
1899  if (0 > c || c > limit)
1900  {
1901  return false;
1902  }
1903  cursor = c;
1904  }
1905  cursor = v_2;
1906  // (, line 197
1907  // goto, line 197
1908  while (true)
1909  {
1910  v_3 = cursor;
1911  do
1912  {
1913  if (!(in_grouping(g_v, 97, 121)))
1914  {
1915  goto lab11_brk;
1916  }
1917  cursor = v_3;
1918  goto golab3_brk;
1919  }
1920  while (false);
1921 
1922 lab11_brk: ;
1923 
1924  cursor = v_3;
1925  if (cursor >= limit)
1926  {
1927  return false;
1928  }
1929  cursor++;
1930  }
1931 
1932 golab3_brk: ;
1933 
1934  // goto, line 197
1935  while (true)
1936  {
1937  v_4 = cursor;
1938  do
1939  {
1940  if (!(out_grouping(g_v, 97, 121)))
1941  {
1942  goto lab11_brk;
1943  }
1944  cursor = v_4;
1945  goto golab4_brk;
1946  }
1947  while (false);
1948 
1949 lab11_brk: ;
1950 
1951  cursor = v_4;
1952  if (cursor >= limit)
1953  {
1954  return false;
1955  }
1956  cursor++;
1957  }
1958 
1959 golab4_brk: ;
1960 
1961  // set GE_removed, line 198
1962  B_GE_removed = true;
1963  // delete, line 199
1964  slice_del();
1965  return true;
1966  }
1967 
1968  private bool r_measure()
1969  {
1970  int v_1;
1971  int v_2;
1972  int v_5;
1973  int v_6;
1974  int v_9;
1975  int v_10;
1976  // (, line 202
1977  // do, line 203
1978  v_1 = cursor;
1979  do
1980  {
1981  // (, line 203
1982  // tolimit, line 204
1983  cursor = limit;
1984  // setmark p1, line 205
1985  I_p1 = cursor;
1986  // setmark p2, line 206
1987  I_p2 = cursor;
1988  }
1989  while (false);
1990 
1991 lab0_brk: ;
1992 
1993  cursor = v_1;
1994  // do, line 208
1995  v_2 = cursor;
1996  do
1997  {
1998  // (, line 208
1999  // repeat, line 209
2000  while (true)
2001  {
2002  do
2003  {
2004  if (!(out_grouping(g_v, 97, 121)))
2005  {
2006  goto lab3_brk;
2007  }
2008  goto replab2;
2009  }
2010  while (false);
2011 
2012 lab3_brk: ;
2013 
2014  goto replab2_brk;
2015 
2016 replab2: ;
2017  }
2018 
2019 replab2_brk: ;
2020 
2021  // atleast, line 209
2022  {
2023  int v_4 = 1;
2024  // atleast, line 209
2025  while (true)
2026  {
2027  v_5 = cursor;
2028  do
2029  {
2030  // (, line 209
2031  // or, line 209
2032  do
2033  {
2034  v_6 = cursor;
2035  do
2036  {
2037  // literal, line 209
2038  if (!(eq_s(2, "ij")))
2039  {
2040  goto lab7_brk;
2041  }
2042  goto lab6_brk;
2043  }
2044  while (false);
2045 
2046 lab7_brk: ;
2047 
2048  cursor = v_6;
2049  if (!(in_grouping(g_v, 97, 121)))
2050  {
2051  goto lab5_brk;
2052  }
2053  }
2054  while (false);
2055 
2056 lab6_brk: ;
2057 
2058  v_4--;
2059  goto replab4;
2060  }
2061  while (false);
2062 
2063 lab5_brk: ;
2064 
2065  cursor = v_5;
2066  goto replab4_brk;
2067 
2068 replab4: ;
2069  }
2070 
2071 replab4_brk: ;
2072 
2073  if (v_4 > 0)
2074  {
2075  goto lab1_brk;
2076  }
2077  }
2078  if (!(out_grouping(g_v, 97, 121)))
2079  {
2080  goto lab1_brk;
2081  }
2082  // setmark p1, line 209
2083  I_p1 = cursor;
2084  // repeat, line 210
2085  while (true)
2086  {
2087  do
2088  {
2089  if (!(out_grouping(g_v, 97, 121)))
2090  {
2091  goto lab9_brk;
2092  }
2093  goto replab8;
2094  }
2095  while (false);
2096 
2097 lab9_brk: ;
2098 
2099  goto replab8_brk;
2100 
2101 replab8: ;
2102  }
2103 
2104 replab8_brk: ;
2105 
2106  // atleast, line 210
2107  {
2108  int v_8 = 1;
2109  // atleast, line 210
2110  while (true)
2111  {
2112  v_9 = cursor;
2113  do
2114  {
2115  // (, line 210
2116  // or, line 210
2117  do
2118  {
2119  v_10 = cursor;
2120  do
2121  {
2122  // literal, line 210
2123  if (!(eq_s(2, "ij")))
2124  {
2125  goto lab13_brk;
2126  }
2127  goto lab12_brk;
2128  }
2129  while (false);
2130 
2131 lab13_brk: ;
2132 
2133  cursor = v_10;
2134  if (!(in_grouping(g_v, 97, 121)))
2135  {
2136  goto lab11_brk;
2137  }
2138  }
2139  while (false);
2140 
2141 lab12_brk: ;
2142 
2143  v_8--;
2144  goto replab10;
2145  }
2146  while (false);
2147 
2148 lab11_brk: ;
2149 
2150  cursor = v_9;
2151  goto replab10_brk;
2152 
2153 replab10: ;
2154  }
2155 
2156 replab10_brk: ;
2157 
2158  if (v_8 > 0)
2159  {
2160  goto lab1_brk;
2161  }
2162  }
2163  if (!(out_grouping(g_v, 97, 121)))
2164  {
2165  goto lab1_brk;
2166  }
2167  // setmark p2, line 210
2168  I_p2 = cursor;
2169  }
2170  while (false);
2171 
2172 lab1_brk: ;
2173 
2174  cursor = v_2;
2175  return true;
2176  }
2177 
2178  public override bool Stem()
2179  {
2180  int v_1;
2181  int v_2;
2182  int v_3;
2183  int v_4;
2184  int v_5;
2185  int v_6;
2186  int v_7;
2187  int v_8;
2188  int v_9;
2189  int v_10;
2190  int v_11;
2191  int v_12;
2192  int v_13;
2193  int v_14;
2194  int v_15;
2195  int v_16;
2196  int v_18;
2197  int v_19;
2198  int v_20;
2199  // (, line 214
2200  // unset Y_found, line 216
2201  B_Y_found = false;
2202  // unset stemmed, line 217
2203  B_stemmed = false;
2204  // do, line 218
2205  v_1 = cursor;
2206  do
2207  {
2208  // (, line 218
2209  // [, line 218
2210  bra = cursor;
2211  // literal, line 218
2212  if (!(eq_s(1, "y")))
2213  {
2214  goto lab0_brk;
2215  }
2216  // ], line 218
2217  ket = cursor;
2218  // <-, line 218
2219  slice_from("Y");
2220  // set Y_found, line 218
2221  B_Y_found = true;
2222  }
2223  while (false);
2224 
2225 lab0_brk: ;
2226 
2227  cursor = v_1;
2228  // do, line 219
2229  v_2 = cursor;
2230  do
2231  {
2232  // repeat, line 219
2233  while (true)
2234  {
2235  v_3 = cursor;
2236  do
2237  {
2238  // (, line 219
2239  // goto, line 219
2240  while (true)
2241  {
2242  v_4 = cursor;
2243  do
2244  {
2245  // (, line 219
2246  if (!(in_grouping(g_v, 97, 121)))
2247  {
2248  goto lab5_brk;
2249  }
2250  // [, line 219
2251  bra = cursor;
2252  // literal, line 219
2253  if (!(eq_s(1, "y")))
2254  {
2255  goto lab5_brk;
2256  }
2257  // ], line 219
2258  ket = cursor;
2259  cursor = v_4;
2260  goto golab4_brk;
2261  }
2262  while (false);
2263 
2264 lab5_brk: ;
2265 
2266  cursor = v_4;
2267  if (cursor >= limit)
2268  {
2269  goto lab3_brk;
2270  }
2271  cursor++;
2272  }
2273 
2274 golab4_brk: ;
2275 
2276  // <-, line 219
2277  slice_from("Y");
2278  // set Y_found, line 219
2279  B_Y_found = true;
2280  goto replab3;
2281  }
2282  while (false);
2283 
2284 lab3_brk: ;
2285 
2286  cursor = v_3;
2287  goto replab3_brk;
2288 
2289 replab3: ;
2290  }
2291 
2292 replab3_brk: ;
2293 
2294  }
2295  while (false);
2296 
2297 lab1_brk: ;
2298 
2299  cursor = v_2;
2300  // call measure, line 221
2301  if (!r_measure())
2302  {
2303  return false;
2304  }
2305  // backwards, line 223
2306  limit_backward = cursor; cursor = limit;
2307  // (, line 223
2308  // do, line 224
2309  v_5 = limit - cursor;
2310  do
2311  {
2312  // (, line 224
2313  // call Step_1, line 224
2314  if (!r_Step_1())
2315  {
2316  goto lab6_brk;
2317  }
2318  // set stemmed, line 224
2319  B_stemmed = true;
2320  }
2321  while (false);
2322 
2323 lab6_brk: ;
2324 
2325  cursor = limit - v_5;
2326  // do, line 225
2327  v_6 = limit - cursor;
2328  do
2329  {
2330  // (, line 225
2331  // call Step_2, line 225
2332  if (!r_Step_2())
2333  {
2334  goto lab7_brk;
2335  }
2336  // set stemmed, line 225
2337  B_stemmed = true;
2338  }
2339  while (false);
2340 
2341 lab7_brk: ;
2342 
2343  cursor = limit - v_6;
2344  // do, line 226
2345  v_7 = limit - cursor;
2346  do
2347  {
2348  // (, line 226
2349  // call Step_3, line 226
2350  if (!r_Step_3())
2351  {
2352  goto lab8_brk;
2353  }
2354  // set stemmed, line 226
2355  B_stemmed = true;
2356  }
2357  while (false);
2358 
2359 lab8_brk: ;
2360 
2361  cursor = limit - v_7;
2362  // do, line 227
2363  v_8 = limit - cursor;
2364  do
2365  {
2366  // (, line 227
2367  // call Step_4, line 227
2368  if (!r_Step_4())
2369  {
2370  goto lab9_brk;
2371  }
2372  // set stemmed, line 227
2373  B_stemmed = true;
2374  }
2375  while (false);
2376 
2377 lab9_brk: ;
2378 
2379  cursor = limit - v_8;
2380  cursor = limit_backward; // unset GE_removed, line 229
2381  B_GE_removed = false;
2382  // do, line 230
2383  v_9 = cursor;
2384  do
2385  {
2386  // (, line 230
2387  // and, line 230
2388  v_10 = cursor;
2389  // call Lose_prefix, line 230
2390  if (!r_Lose_prefix())
2391  {
2392  goto lab10_brk;
2393  }
2394  cursor = v_10;
2395  // call measure, line 230
2396  if (!r_measure())
2397  {
2398  goto lab10_brk;
2399  }
2400  }
2401  while (false);
2402 
2403 lab10_brk: ;
2404 
2405  cursor = v_9;
2406  // backwards, line 231
2407  limit_backward = cursor; cursor = limit;
2408  // (, line 231
2409  // do, line 232
2410  v_11 = limit - cursor;
2411  do
2412  {
2413  // (, line 232
2414  // Boolean test GE_removed, line 232
2415  if (!(B_GE_removed))
2416  {
2417  goto lab11_brk;
2418  }
2419  // call Step_1c, line 232
2420  if (!r_Step_1c())
2421  {
2422  goto lab11_brk;
2423  }
2424  }
2425  while (false);
2426 
2427 lab11_brk: ;
2428 
2429  cursor = limit - v_11;
2430  cursor = limit_backward; // unset GE_removed, line 234
2431  B_GE_removed = false;
2432  // do, line 235
2433  v_12 = cursor;
2434  do
2435  {
2436  // (, line 235
2437  // and, line 235
2438  v_13 = cursor;
2439  // call Lose_infix, line 235
2440  if (!r_Lose_infix())
2441  {
2442  goto lab12_brk;
2443  }
2444  cursor = v_13;
2445  // call measure, line 235
2446  if (!r_measure())
2447  {
2448  goto lab12_brk;
2449  }
2450  }
2451  while (false);
2452 
2453 lab12_brk: ;
2454 
2455  cursor = v_12;
2456  // backwards, line 236
2457  limit_backward = cursor; cursor = limit;
2458  // (, line 236
2459  // do, line 237
2460  v_14 = limit - cursor;
2461  do
2462  {
2463  // (, line 237
2464  // Boolean test GE_removed, line 237
2465  if (!(B_GE_removed))
2466  {
2467  goto lab13_brk;
2468  }
2469  // call Step_1c, line 237
2470  if (!r_Step_1c())
2471  {
2472  goto lab13_brk;
2473  }
2474  }
2475  while (false);
2476 
2477 lab13_brk: ;
2478 
2479  cursor = limit - v_14;
2480  cursor = limit_backward; // backwards, line 239
2481  limit_backward = cursor; cursor = limit;
2482  // (, line 239
2483  // do, line 240
2484  v_15 = limit - cursor;
2485  do
2486  {
2487  // (, line 240
2488  // call Step_7, line 240
2489  if (!r_Step_7())
2490  {
2491  goto lab14_brk;
2492  }
2493  // set stemmed, line 240
2494  B_stemmed = true;
2495  }
2496  while (false);
2497 
2498 lab14_brk: ;
2499 
2500  cursor = limit - v_15;
2501  // do, line 241
2502  v_16 = limit - cursor;
2503  do
2504  {
2505  // (, line 241
2506  // or, line 241
2507  do
2508  {
2509  do
2510  {
2511  // Boolean test stemmed, line 241
2512  if (!(B_stemmed))
2513  {
2514  goto lab17_brk;
2515  }
2516  goto lab16_brk;
2517  }
2518  while (false);
2519 
2520 lab17_brk: ;
2521 
2522  // Boolean test GE_removed, line 241
2523  if (!(B_GE_removed))
2524  {
2525  goto lab15_brk;
2526  }
2527  }
2528  while (false);
2529 
2530 lab16_brk: ;
2531 
2532  // call Step_6, line 241
2533  if (!r_Step_6())
2534  {
2535  goto lab15_brk;
2536  }
2537  }
2538  while (false);
2539 
2540 lab15_brk: ;
2541 
2542  cursor = limit - v_16;
2543  cursor = limit_backward; // do, line 243
2544  v_18 = cursor;
2545  do
2546  {
2547  // (, line 243
2548  // Boolean test Y_found, line 243
2549  if (!(B_Y_found))
2550  {
2551  goto lab18_brk;
2552  }
2553  // repeat, line 243
2554  while (true)
2555  {
2556  v_19 = cursor;
2557  do
2558  {
2559  // (, line 243
2560  // goto, line 243
2561  while (true)
2562  {
2563  v_20 = cursor;
2564  do
2565  {
2566  // (, line 243
2567  // [, line 243
2568  bra = cursor;
2569  // literal, line 243
2570  if (!(eq_s(1, "Y")))
2571  {
2572  goto lab22_brk;
2573  }
2574  // ], line 243
2575  ket = cursor;
2576  cursor = v_20;
2577  goto golab21_brk;
2578  }
2579  while (false);
2580 
2581 lab22_brk: ;
2582 
2583  cursor = v_20;
2584  if (cursor >= limit)
2585  {
2586  goto lab20_brk;
2587  }
2588  cursor++;
2589  }
2590 
2591 golab21_brk: ;
2592 
2593  // <-, line 243
2594  slice_from("y");
2595  goto replab19;
2596  }
2597  while (false);
2598 
2599 lab20_brk: ;
2600 
2601  cursor = v_19;
2602  goto replab19_brk;
2603 
2604 replab19: ;
2605  }
2606 
2607 replab19_brk: ;
2608 
2609  }
2610  while (false);
2611 
2612 lab18_brk: ;
2613 
2614  cursor = v_18;
2615  return true;
2616  }
2617  }
2618 }