stemmer4r 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. data/CVS/Entries +5 -0
  2. data/CVS/Repository +1 -0
  3. data/CVS/Root +1 -0
  4. data/LICENSE +20 -0
  5. data/README +9 -0
  6. data/ext/CVS/Entries +1 -0
  7. data/ext/CVS/Repository +1 -0
  8. data/ext/CVS/Root +1 -0
  9. data/ext/stemmer4r/CVS/Entries +4 -0
  10. data/ext/stemmer4r/CVS/Repository +1 -0
  11. data/ext/stemmer4r/CVS/Root +1 -0
  12. data/ext/stemmer4r/depend +14 -0
  13. data/ext/stemmer4r/extconf.rb +8 -0
  14. data/ext/stemmer4r/libstemmer_c/CVS/Entries +7 -0
  15. data/ext/stemmer4r/libstemmer_c/CVS/Repository +1 -0
  16. data/ext/stemmer4r/libstemmer_c/CVS/Root +1 -0
  17. data/ext/stemmer4r/libstemmer_c/MANIFEST +39 -0
  18. data/ext/stemmer4r/libstemmer_c/Makefile +5 -0
  19. data/ext/stemmer4r/libstemmer_c/include/CVS/Entries +2 -0
  20. data/ext/stemmer4r/libstemmer_c/include/CVS/Repository +1 -0
  21. data/ext/stemmer4r/libstemmer_c/include/CVS/Root +1 -0
  22. data/ext/stemmer4r/libstemmer_c/include/libstemmer.h +63 -0
  23. data/ext/stemmer4r/libstemmer_c/libstemmer/CVS/Entries +3 -0
  24. data/ext/stemmer4r/libstemmer_c/libstemmer/CVS/Repository +1 -0
  25. data/ext/stemmer4r/libstemmer_c/libstemmer/CVS/Root +1 -0
  26. data/ext/stemmer4r/libstemmer_c/libstemmer/libstemmer.c +78 -0
  27. data/ext/stemmer4r/libstemmer_c/libstemmer/modules.h +96 -0
  28. data/ext/stemmer4r/libstemmer_c/mkinc.mak +42 -0
  29. data/ext/stemmer4r/libstemmer_c/runtime/CVS/Entries +5 -0
  30. data/ext/stemmer4r/libstemmer_c/runtime/CVS/Repository +1 -0
  31. data/ext/stemmer4r/libstemmer_c/runtime/CVS/Root +1 -0
  32. data/ext/stemmer4r/libstemmer_c/runtime/api.c +69 -0
  33. data/ext/stemmer4r/libstemmer_c/runtime/api.h +27 -0
  34. data/ext/stemmer4r/libstemmer_c/runtime/header.h +56 -0
  35. data/ext/stemmer4r/libstemmer_c/runtime/utilities.c +403 -0
  36. data/ext/stemmer4r/libstemmer_c/src_c/CVS/Entries +33 -0
  37. data/ext/stemmer4r/libstemmer_c/src_c/CVS/Repository +1 -0
  38. data/ext/stemmer4r/libstemmer_c/src_c/CVS/Root +1 -0
  39. data/ext/stemmer4r/libstemmer_c/src_c/stem_danish.c +330 -0
  40. data/ext/stemmer4r/libstemmer_c/src_c/stem_danish.h +16 -0
  41. data/ext/stemmer4r/libstemmer_c/src_c/stem_dutch.c +635 -0
  42. data/ext/stemmer4r/libstemmer_c/src_c/stem_dutch.h +16 -0
  43. data/ext/stemmer4r/libstemmer_c/src_c/stem_english.c +1109 -0
  44. data/ext/stemmer4r/libstemmer_c/src_c/stem_english.h +16 -0
  45. data/ext/stemmer4r/libstemmer_c/src_c/stem_finnish.c +792 -0
  46. data/ext/stemmer4r/libstemmer_c/src_c/stem_finnish.h +16 -0
  47. data/ext/stemmer4r/libstemmer_c/src_c/stem_french.c +1276 -0
  48. data/ext/stemmer4r/libstemmer_c/src_c/stem_french.h +16 -0
  49. data/ext/stemmer4r/libstemmer_c/src_c/stem_german.c +504 -0
  50. data/ext/stemmer4r/libstemmer_c/src_c/stem_german.h +16 -0
  51. data/ext/stemmer4r/libstemmer_c/src_c/stem_german2.c +549 -0
  52. data/ext/stemmer4r/libstemmer_c/src_c/stem_german2.h +16 -0
  53. data/ext/stemmer4r/libstemmer_c/src_c/stem_italian.c +1087 -0
  54. data/ext/stemmer4r/libstemmer_c/src_c/stem_italian.h +16 -0
  55. data/ext/stemmer4r/libstemmer_c/src_c/stem_kraaij_pohlmann.c +1780 -0
  56. data/ext/stemmer4r/libstemmer_c/src_c/stem_kraaij_pohlmann.h +16 -0
  57. data/ext/stemmer4r/libstemmer_c/src_c/stem_lovins.c +1752 -0
  58. data/ext/stemmer4r/libstemmer_c/src_c/stem_lovins.h +16 -0
  59. data/ext/stemmer4r/libstemmer_c/src_c/stem_norwegian.c +279 -0
  60. data/ext/stemmer4r/libstemmer_c/src_c/stem_norwegian.h +16 -0
  61. data/ext/stemmer4r/libstemmer_c/src_c/stem_porter.c +776 -0
  62. data/ext/stemmer4r/libstemmer_c/src_c/stem_porter.h +16 -0
  63. data/ext/stemmer4r/libstemmer_c/src_c/stem_portuguese.c +1027 -0
  64. data/ext/stemmer4r/libstemmer_c/src_c/stem_portuguese.h +16 -0
  65. data/ext/stemmer4r/libstemmer_c/src_c/stem_russian.c +701 -0
  66. data/ext/stemmer4r/libstemmer_c/src_c/stem_russian.h +16 -0
  67. data/ext/stemmer4r/libstemmer_c/src_c/stem_spanish.c +1109 -0
  68. data/ext/stemmer4r/libstemmer_c/src_c/stem_spanish.h +16 -0
  69. data/ext/stemmer4r/libstemmer_c/src_c/stem_swedish.c +299 -0
  70. data/ext/stemmer4r/libstemmer_c/src_c/stem_swedish.h +16 -0
  71. data/ext/stemmer4r/stemmer4r.c +146 -0
  72. data/stemmer4r.gemspec +23 -0
  73. data/test/CVS/Entries +2 -0
  74. data/test/CVS/Repository +1 -0
  75. data/test/CVS/Root +1 -0
  76. data/test/test.rb +31 -0
  77. data/test/tests/CVS/Entries +12 -0
  78. data/test/tests/CVS/Repository +1 -0
  79. data/test/tests/CVS/Root +1 -0
  80. data/test/tests/da/CVS/Entries +3 -0
  81. data/test/tests/da/CVS/Repository +1 -0
  82. data/test/tests/da/CVS/Root +1 -0
  83. data/test/tests/da/output.txt +23829 -0
  84. data/test/tests/da/voc.txt +23829 -0
  85. data/test/tests/de/CVS/Entries +3 -0
  86. data/test/tests/de/CVS/Repository +1 -0
  87. data/test/tests/de/CVS/Root +1 -0
  88. data/test/tests/de/output.txt +35033 -0
  89. data/test/tests/de/voc.txt +35033 -0
  90. data/test/tests/en/CVS/Entries +3 -0
  91. data/test/tests/en/CVS/Repository +1 -0
  92. data/test/tests/en/CVS/Root +1 -0
  93. data/test/tests/en/output.txt +29400 -0
  94. data/test/tests/en/voc.txt +29400 -0
  95. data/test/tests/es/CVS/Entries +3 -0
  96. data/test/tests/es/CVS/Repository +1 -0
  97. data/test/tests/es/CVS/Root +1 -0
  98. data/test/tests/es/output.txt +28390 -0
  99. data/test/tests/es/voc.txt +28390 -0
  100. data/test/tests/fi/CVS/Entries +3 -0
  101. data/test/tests/fi/CVS/Repository +1 -0
  102. data/test/tests/fi/CVS/Root +1 -0
  103. data/test/tests/fi/output.txt +50000 -0
  104. data/test/tests/fi/voc.txt +50000 -0
  105. data/test/tests/fr/CVS/Entries +3 -0
  106. data/test/tests/fr/CVS/Repository +1 -0
  107. data/test/tests/fr/CVS/Root +1 -0
  108. data/test/tests/fr/output.txt +20403 -0
  109. data/test/tests/fr/voc.txt +20403 -0
  110. data/test/tests/it/CVS/Entries +3 -0
  111. data/test/tests/it/CVS/Repository +1 -0
  112. data/test/tests/it/CVS/Root +1 -0
  113. data/test/tests/it/output.txt +35494 -0
  114. data/test/tests/it/voc.txt +35494 -0
  115. data/test/tests/nl/CVS/Entries +3 -0
  116. data/test/tests/nl/CVS/Repository +1 -0
  117. data/test/tests/nl/CVS/Root +1 -0
  118. data/test/tests/nl/output.txt +45669 -0
  119. data/test/tests/nl/voc.txt +45669 -0
  120. data/test/tests/no/CVS/Entries +3 -0
  121. data/test/tests/no/CVS/Repository +1 -0
  122. data/test/tests/no/CVS/Root +1 -0
  123. data/test/tests/no/output.txt +20628 -0
  124. data/test/tests/no/voc.txt +20628 -0
  125. data/test/tests/pt/CVS/Entries +3 -0
  126. data/test/tests/pt/CVS/Repository +1 -0
  127. data/test/tests/pt/CVS/Root +1 -0
  128. data/test/tests/pt/output.txt +32016 -0
  129. data/test/tests/pt/voc.txt +32016 -0
  130. data/test/tests/ru/CVS/Entries +3 -0
  131. data/test/tests/ru/CVS/Repository +1 -0
  132. data/test/tests/ru/CVS/Root +1 -0
  133. data/test/tests/ru/output.txt +49673 -0
  134. data/test/tests/ru/voc.txt +49673 -0
  135. data/test/tests/sv/CVS/Entries +3 -0
  136. data/test/tests/sv/CVS/Repository +1 -0
  137. data/test/tests/sv/CVS/Root +1 -0
  138. data/test/tests/sv/output.txt +30623 -0
  139. data/test/tests/sv/voc.txt +30623 -0
  140. metadata +221 -0
@@ -0,0 +1,1109 @@
1
+
2
+ /* This file was generated automatically by the Snowball to ANSI C compiler */
3
+
4
+ #include "../runtime/header.h"
5
+
6
+ extern int english_stem(struct SN_env * z);
7
+ static int r_exception2(struct SN_env * z);
8
+ static int r_exception1(struct SN_env * z);
9
+ static int r_Step_5(struct SN_env * z);
10
+ static int r_Step_4(struct SN_env * z);
11
+ static int r_Step_3(struct SN_env * z);
12
+ static int r_Step_2(struct SN_env * z);
13
+ static int r_Step_1c(struct SN_env * z);
14
+ static int r_Step_1b(struct SN_env * z);
15
+ static int r_Step_1a(struct SN_env * z);
16
+ static int r_R2(struct SN_env * z);
17
+ static int r_R1(struct SN_env * z);
18
+ static int r_shortv(struct SN_env * z);
19
+ static int r_mark_regions(struct SN_env * z);
20
+ static int r_postlude(struct SN_env * z);
21
+ static int r_prelude(struct SN_env * z);
22
+
23
+ extern struct SN_env * english_create_env(void);
24
+ extern void english_close_env(struct SN_env * z);
25
+
26
+ static symbol s_0_0[5] = { 'g', 'e', 'n', 'e', 'r' };
27
+
28
+ static struct among a_0[1] =
29
+ {
30
+ /* 0 */ { 5, s_0_0, -1, -1, 0}
31
+ };
32
+
33
+ static symbol s_1_0[3] = { 'i', 'e', 'd' };
34
+ static symbol s_1_1[1] = { 's' };
35
+ static symbol s_1_2[3] = { 'i', 'e', 's' };
36
+ static symbol s_1_3[4] = { 's', 's', 'e', 's' };
37
+ static symbol s_1_4[2] = { 's', 's' };
38
+ static symbol s_1_5[2] = { 'u', 's' };
39
+
40
+ static struct among a_1[6] =
41
+ {
42
+ /* 0 */ { 3, s_1_0, -1, 2, 0},
43
+ /* 1 */ { 1, s_1_1, -1, 3, 0},
44
+ /* 2 */ { 3, s_1_2, 1, 2, 0},
45
+ /* 3 */ { 4, s_1_3, 1, 1, 0},
46
+ /* 4 */ { 2, s_1_4, 1, -1, 0},
47
+ /* 5 */ { 2, s_1_5, 1, -1, 0}
48
+ };
49
+
50
+ static symbol s_2_1[2] = { 'b', 'b' };
51
+ static symbol s_2_2[2] = { 'd', 'd' };
52
+ static symbol s_2_3[2] = { 'f', 'f' };
53
+ static symbol s_2_4[2] = { 'g', 'g' };
54
+ static symbol s_2_5[2] = { 'b', 'l' };
55
+ static symbol s_2_6[2] = { 'm', 'm' };
56
+ static symbol s_2_7[2] = { 'n', 'n' };
57
+ static symbol s_2_8[2] = { 'p', 'p' };
58
+ static symbol s_2_9[2] = { 'r', 'r' };
59
+ static symbol s_2_10[2] = { 'a', 't' };
60
+ static symbol s_2_11[2] = { 't', 't' };
61
+ static symbol s_2_12[2] = { 'i', 'z' };
62
+
63
+ static struct among a_2[13] =
64
+ {
65
+ /* 0 */ { 0, 0, -1, 3, 0},
66
+ /* 1 */ { 2, s_2_1, 0, 2, 0},
67
+ /* 2 */ { 2, s_2_2, 0, 2, 0},
68
+ /* 3 */ { 2, s_2_3, 0, 2, 0},
69
+ /* 4 */ { 2, s_2_4, 0, 2, 0},
70
+ /* 5 */ { 2, s_2_5, 0, 1, 0},
71
+ /* 6 */ { 2, s_2_6, 0, 2, 0},
72
+ /* 7 */ { 2, s_2_7, 0, 2, 0},
73
+ /* 8 */ { 2, s_2_8, 0, 2, 0},
74
+ /* 9 */ { 2, s_2_9, 0, 2, 0},
75
+ /* 10 */ { 2, s_2_10, 0, 1, 0},
76
+ /* 11 */ { 2, s_2_11, 0, 2, 0},
77
+ /* 12 */ { 2, s_2_12, 0, 1, 0}
78
+ };
79
+
80
+ static symbol s_3_0[2] = { 'e', 'd' };
81
+ static symbol s_3_1[3] = { 'e', 'e', 'd' };
82
+ static symbol s_3_2[3] = { 'i', 'n', 'g' };
83
+ static symbol s_3_3[4] = { 'e', 'd', 'l', 'y' };
84
+ static symbol s_3_4[5] = { 'e', 'e', 'd', 'l', 'y' };
85
+ static symbol s_3_5[5] = { 'i', 'n', 'g', 'l', 'y' };
86
+
87
+ static struct among a_3[6] =
88
+ {
89
+ /* 0 */ { 2, s_3_0, -1, 2, 0},
90
+ /* 1 */ { 3, s_3_1, 0, 1, 0},
91
+ /* 2 */ { 3, s_3_2, -1, 2, 0},
92
+ /* 3 */ { 4, s_3_3, -1, 2, 0},
93
+ /* 4 */ { 5, s_3_4, 3, 1, 0},
94
+ /* 5 */ { 5, s_3_5, -1, 2, 0}
95
+ };
96
+
97
+ static symbol s_4_0[4] = { 'a', 'n', 'c', 'i' };
98
+ static symbol s_4_1[4] = { 'e', 'n', 'c', 'i' };
99
+ static symbol s_4_2[3] = { 'o', 'g', 'i' };
100
+ static symbol s_4_3[2] = { 'l', 'i' };
101
+ static symbol s_4_4[3] = { 'b', 'l', 'i' };
102
+ static symbol s_4_5[4] = { 'a', 'b', 'l', 'i' };
103
+ static symbol s_4_6[4] = { 'a', 'l', 'l', 'i' };
104
+ static symbol s_4_7[5] = { 'f', 'u', 'l', 'l', 'i' };
105
+ static symbol s_4_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
106
+ static symbol s_4_9[5] = { 'o', 'u', 's', 'l', 'i' };
107
+ static symbol s_4_10[5] = { 'e', 'n', 't', 'l', 'i' };
108
+ static symbol s_4_11[5] = { 'a', 'l', 'i', 't', 'i' };
109
+ static symbol s_4_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
110
+ static symbol s_4_13[5] = { 'i', 'v', 'i', 't', 'i' };
111
+ static symbol s_4_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
112
+ static symbol s_4_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
113
+ static symbol s_4_16[5] = { 'a', 'l', 'i', 's', 'm' };
114
+ static symbol s_4_17[5] = { 'a', 't', 'i', 'o', 'n' };
115
+ static symbol s_4_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
116
+ static symbol s_4_19[4] = { 'i', 'z', 'e', 'r' };
117
+ static symbol s_4_20[4] = { 'a', 't', 'o', 'r' };
118
+ static symbol s_4_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
119
+ static symbol s_4_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
120
+ static symbol s_4_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
121
+
122
+ static struct among a_4[24] =
123
+ {
124
+ /* 0 */ { 4, s_4_0, -1, 3, 0},
125
+ /* 1 */ { 4, s_4_1, -1, 2, 0},
126
+ /* 2 */ { 3, s_4_2, -1, 13, 0},
127
+ /* 3 */ { 2, s_4_3, -1, 16, 0},
128
+ /* 4 */ { 3, s_4_4, 3, 12, 0},
129
+ /* 5 */ { 4, s_4_5, 4, 4, 0},
130
+ /* 6 */ { 4, s_4_6, 3, 8, 0},
131
+ /* 7 */ { 5, s_4_7, 3, 14, 0},
132
+ /* 8 */ { 6, s_4_8, 3, 15, 0},
133
+ /* 9 */ { 5, s_4_9, 3, 10, 0},
134
+ /* 10 */ { 5, s_4_10, 3, 5, 0},
135
+ /* 11 */ { 5, s_4_11, -1, 8, 0},
136
+ /* 12 */ { 6, s_4_12, -1, 12, 0},
137
+ /* 13 */ { 5, s_4_13, -1, 11, 0},
138
+ /* 14 */ { 6, s_4_14, -1, 1, 0},
139
+ /* 15 */ { 7, s_4_15, 14, 7, 0},
140
+ /* 16 */ { 5, s_4_16, -1, 8, 0},
141
+ /* 17 */ { 5, s_4_17, -1, 7, 0},
142
+ /* 18 */ { 7, s_4_18, 17, 6, 0},
143
+ /* 19 */ { 4, s_4_19, -1, 6, 0},
144
+ /* 20 */ { 4, s_4_20, -1, 7, 0},
145
+ /* 21 */ { 7, s_4_21, -1, 11, 0},
146
+ /* 22 */ { 7, s_4_22, -1, 9, 0},
147
+ /* 23 */ { 7, s_4_23, -1, 10, 0}
148
+ };
149
+
150
+ static symbol s_5_0[5] = { 'i', 'c', 'a', 't', 'e' };
151
+ static symbol s_5_1[5] = { 'a', 't', 'i', 'v', 'e' };
152
+ static symbol s_5_2[5] = { 'a', 'l', 'i', 'z', 'e' };
153
+ static symbol s_5_3[5] = { 'i', 'c', 'i', 't', 'i' };
154
+ static symbol s_5_4[4] = { 'i', 'c', 'a', 'l' };
155
+ static symbol s_5_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
156
+ static symbol s_5_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
157
+ static symbol s_5_7[3] = { 'f', 'u', 'l' };
158
+ static symbol s_5_8[4] = { 'n', 'e', 's', 's' };
159
+
160
+ static struct among a_5[9] =
161
+ {
162
+ /* 0 */ { 5, s_5_0, -1, 4, 0},
163
+ /* 1 */ { 5, s_5_1, -1, 6, 0},
164
+ /* 2 */ { 5, s_5_2, -1, 3, 0},
165
+ /* 3 */ { 5, s_5_3, -1, 4, 0},
166
+ /* 4 */ { 4, s_5_4, -1, 4, 0},
167
+ /* 5 */ { 6, s_5_5, -1, 1, 0},
168
+ /* 6 */ { 7, s_5_6, 5, 2, 0},
169
+ /* 7 */ { 3, s_5_7, -1, 5, 0},
170
+ /* 8 */ { 4, s_5_8, -1, 5, 0}
171
+ };
172
+
173
+ static symbol s_6_0[2] = { 'i', 'c' };
174
+ static symbol s_6_1[4] = { 'a', 'n', 'c', 'e' };
175
+ static symbol s_6_2[4] = { 'e', 'n', 'c', 'e' };
176
+ static symbol s_6_3[4] = { 'a', 'b', 'l', 'e' };
177
+ static symbol s_6_4[4] = { 'i', 'b', 'l', 'e' };
178
+ static symbol s_6_5[3] = { 'a', 't', 'e' };
179
+ static symbol s_6_6[3] = { 'i', 'v', 'e' };
180
+ static symbol s_6_7[3] = { 'i', 'z', 'e' };
181
+ static symbol s_6_8[3] = { 'i', 't', 'i' };
182
+ static symbol s_6_9[2] = { 'a', 'l' };
183
+ static symbol s_6_10[3] = { 'i', 's', 'm' };
184
+ static symbol s_6_11[3] = { 'i', 'o', 'n' };
185
+ static symbol s_6_12[2] = { 'e', 'r' };
186
+ static symbol s_6_13[3] = { 'o', 'u', 's' };
187
+ static symbol s_6_14[3] = { 'a', 'n', 't' };
188
+ static symbol s_6_15[3] = { 'e', 'n', 't' };
189
+ static symbol s_6_16[4] = { 'm', 'e', 'n', 't' };
190
+ static symbol s_6_17[5] = { 'e', 'm', 'e', 'n', 't' };
191
+
192
+ static struct among a_6[18] =
193
+ {
194
+ /* 0 */ { 2, s_6_0, -1, 1, 0},
195
+ /* 1 */ { 4, s_6_1, -1, 1, 0},
196
+ /* 2 */ { 4, s_6_2, -1, 1, 0},
197
+ /* 3 */ { 4, s_6_3, -1, 1, 0},
198
+ /* 4 */ { 4, s_6_4, -1, 1, 0},
199
+ /* 5 */ { 3, s_6_5, -1, 1, 0},
200
+ /* 6 */ { 3, s_6_6, -1, 1, 0},
201
+ /* 7 */ { 3, s_6_7, -1, 1, 0},
202
+ /* 8 */ { 3, s_6_8, -1, 1, 0},
203
+ /* 9 */ { 2, s_6_9, -1, 1, 0},
204
+ /* 10 */ { 3, s_6_10, -1, 1, 0},
205
+ /* 11 */ { 3, s_6_11, -1, 2, 0},
206
+ /* 12 */ { 2, s_6_12, -1, 1, 0},
207
+ /* 13 */ { 3, s_6_13, -1, 1, 0},
208
+ /* 14 */ { 3, s_6_14, -1, 1, 0},
209
+ /* 15 */ { 3, s_6_15, -1, 1, 0},
210
+ /* 16 */ { 4, s_6_16, 15, 1, 0},
211
+ /* 17 */ { 5, s_6_17, 16, 1, 0}
212
+ };
213
+
214
+ static symbol s_7_0[1] = { 'e' };
215
+ static symbol s_7_1[1] = { 'l' };
216
+
217
+ static struct among a_7[2] =
218
+ {
219
+ /* 0 */ { 1, s_7_0, -1, 1, 0},
220
+ /* 1 */ { 1, s_7_1, -1, 2, 0}
221
+ };
222
+
223
+ static symbol s_8_0[7] = { 's', 'u', 'c', 'c', 'e', 'e', 'd' };
224
+ static symbol s_8_1[7] = { 'p', 'r', 'o', 'c', 'e', 'e', 'd' };
225
+ static symbol s_8_2[6] = { 'e', 'x', 'c', 'e', 'e', 'd' };
226
+ static symbol s_8_3[7] = { 'c', 'a', 'n', 'n', 'i', 'n', 'g' };
227
+ static symbol s_8_4[6] = { 'i', 'n', 'n', 'i', 'n', 'g' };
228
+ static symbol s_8_5[7] = { 'e', 'a', 'r', 'r', 'i', 'n', 'g' };
229
+ static symbol s_8_6[7] = { 'h', 'e', 'r', 'r', 'i', 'n', 'g' };
230
+ static symbol s_8_7[6] = { 'o', 'u', 't', 'i', 'n', 'g' };
231
+
232
+ static struct among a_8[8] =
233
+ {
234
+ /* 0 */ { 7, s_8_0, -1, -1, 0},
235
+ /* 1 */ { 7, s_8_1, -1, -1, 0},
236
+ /* 2 */ { 6, s_8_2, -1, -1, 0},
237
+ /* 3 */ { 7, s_8_3, -1, -1, 0},
238
+ /* 4 */ { 6, s_8_4, -1, -1, 0},
239
+ /* 5 */ { 7, s_8_5, -1, -1, 0},
240
+ /* 6 */ { 7, s_8_6, -1, -1, 0},
241
+ /* 7 */ { 6, s_8_7, -1, -1, 0}
242
+ };
243
+
244
+ static symbol s_9_0[5] = { 'a', 'n', 'd', 'e', 's' };
245
+ static symbol s_9_1[5] = { 'a', 't', 'l', 'a', 's' };
246
+ static symbol s_9_2[4] = { 'b', 'i', 'a', 's' };
247
+ static symbol s_9_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
248
+ static symbol s_9_4[5] = { 'd', 'y', 'i', 'n', 'g' };
249
+ static symbol s_9_5[5] = { 'e', 'a', 'r', 'l', 'y' };
250
+ static symbol s_9_6[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
251
+ static symbol s_9_7[4] = { 'h', 'o', 'w', 'e' };
252
+ static symbol s_9_8[4] = { 'i', 'd', 'l', 'y' };
253
+ static symbol s_9_9[5] = { 'l', 'y', 'i', 'n', 'g' };
254
+ static symbol s_9_10[4] = { 'n', 'e', 'w', 's' };
255
+ static symbol s_9_11[4] = { 'o', 'n', 'l', 'y' };
256
+ static symbol s_9_12[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
257
+ static symbol s_9_13[5] = { 's', 'k', 'i', 'e', 's' };
258
+ static symbol s_9_14[4] = { 's', 'k', 'i', 's' };
259
+ static symbol s_9_15[3] = { 's', 'k', 'y' };
260
+ static symbol s_9_16[5] = { 't', 'y', 'i', 'n', 'g' };
261
+ static symbol s_9_17[4] = { 'u', 'g', 'l', 'y' };
262
+
263
+ static struct among a_9[18] =
264
+ {
265
+ /* 0 */ { 5, s_9_0, -1, -1, 0},
266
+ /* 1 */ { 5, s_9_1, -1, -1, 0},
267
+ /* 2 */ { 4, s_9_2, -1, -1, 0},
268
+ /* 3 */ { 6, s_9_3, -1, -1, 0},
269
+ /* 4 */ { 5, s_9_4, -1, 3, 0},
270
+ /* 5 */ { 5, s_9_5, -1, 9, 0},
271
+ /* 6 */ { 6, s_9_6, -1, 7, 0},
272
+ /* 7 */ { 4, s_9_7, -1, -1, 0},
273
+ /* 8 */ { 4, s_9_8, -1, 6, 0},
274
+ /* 9 */ { 5, s_9_9, -1, 4, 0},
275
+ /* 10 */ { 4, s_9_10, -1, -1, 0},
276
+ /* 11 */ { 4, s_9_11, -1, 10, 0},
277
+ /* 12 */ { 6, s_9_12, -1, 11, 0},
278
+ /* 13 */ { 5, s_9_13, -1, 2, 0},
279
+ /* 14 */ { 4, s_9_14, -1, 1, 0},
280
+ /* 15 */ { 3, s_9_15, -1, -1, 0},
281
+ /* 16 */ { 5, s_9_16, -1, 5, 0},
282
+ /* 17 */ { 4, s_9_17, -1, 8, 0}
283
+ };
284
+
285
+ static unsigned char g_v[] = { 17, 65, 16, 1 };
286
+
287
+ static unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
288
+
289
+ static unsigned char g_valid_LI[] = { 55, 141, 2 };
290
+
291
+ static symbol s_0[] = { 'y' };
292
+ static symbol s_1[] = { 'Y' };
293
+ static symbol s_2[] = { 'y' };
294
+ static symbol s_3[] = { 'Y' };
295
+ static symbol s_4[] = { 's', 's' };
296
+ static symbol s_5[] = { 'i', 'e' };
297
+ static symbol s_6[] = { 'i' };
298
+ static symbol s_7[] = { 'e', 'e' };
299
+ static symbol s_8[] = { 'e' };
300
+ static symbol s_9[] = { 'e' };
301
+ static symbol s_10[] = { 'y' };
302
+ static symbol s_11[] = { 'Y' };
303
+ static symbol s_12[] = { 'i' };
304
+ static symbol s_13[] = { 't', 'i', 'o', 'n' };
305
+ static symbol s_14[] = { 'e', 'n', 'c', 'e' };
306
+ static symbol s_15[] = { 'a', 'n', 'c', 'e' };
307
+ static symbol s_16[] = { 'a', 'b', 'l', 'e' };
308
+ static symbol s_17[] = { 'e', 'n', 't' };
309
+ static symbol s_18[] = { 'i', 'z', 'e' };
310
+ static symbol s_19[] = { 'a', 't', 'e' };
311
+ static symbol s_20[] = { 'a', 'l' };
312
+ static symbol s_21[] = { 'f', 'u', 'l' };
313
+ static symbol s_22[] = { 'o', 'u', 's' };
314
+ static symbol s_23[] = { 'i', 'v', 'e' };
315
+ static symbol s_24[] = { 'b', 'l', 'e' };
316
+ static symbol s_25[] = { 'l' };
317
+ static symbol s_26[] = { 'o', 'g' };
318
+ static symbol s_27[] = { 'f', 'u', 'l' };
319
+ static symbol s_28[] = { 'l', 'e', 's', 's' };
320
+ static symbol s_29[] = { 't', 'i', 'o', 'n' };
321
+ static symbol s_30[] = { 'a', 't', 'e' };
322
+ static symbol s_31[] = { 'a', 'l' };
323
+ static symbol s_32[] = { 'i', 'c' };
324
+ static symbol s_33[] = { 's' };
325
+ static symbol s_34[] = { 't' };
326
+ static symbol s_35[] = { 'l' };
327
+ static symbol s_36[] = { 's', 'k', 'i' };
328
+ static symbol s_37[] = { 's', 'k', 'y' };
329
+ static symbol s_38[] = { 'd', 'i', 'e' };
330
+ static symbol s_39[] = { 'l', 'i', 'e' };
331
+ static symbol s_40[] = { 't', 'i', 'e' };
332
+ static symbol s_41[] = { 'i', 'd', 'l' };
333
+ static symbol s_42[] = { 'g', 'e', 'n', 't', 'l' };
334
+ static symbol s_43[] = { 'u', 'g', 'l', 'i' };
335
+ static symbol s_44[] = { 'e', 'a', 'r', 'l', 'i' };
336
+ static symbol s_45[] = { 'o', 'n', 'l', 'i' };
337
+ static symbol s_46[] = { 's', 'i', 'n', 'g', 'l' };
338
+ static symbol s_47[] = { 'Y' };
339
+ static symbol s_48[] = { 'y' };
340
+
341
+ static int r_prelude(struct SN_env * z) {
342
+ z->B[0] = 0; /* unset Y_found, line 24 */
343
+ { int c = z->c; /* do, line 25 */
344
+ z->bra = z->c; /* [, line 25 */
345
+ if (!(eq_s(z, 1, s_0))) goto lab0;
346
+ z->ket = z->c; /* ], line 25 */
347
+ if (!(in_grouping(z, g_v, 97, 121))) goto lab0;
348
+ { int ret;
349
+ ret = slice_from_s(z, 1, s_1); /* <-, line 25 */
350
+ if (ret < 0) return ret;
351
+ }
352
+ z->B[0] = 1; /* set Y_found, line 25 */
353
+ lab0:
354
+ z->c = c;
355
+ }
356
+ { int c = z->c; /* do, line 26 */
357
+ while(1) { /* repeat, line 26 */
358
+ int c = z->c;
359
+ while(1) { /* goto, line 26 */
360
+ int c = z->c;
361
+ if (!(in_grouping(z, g_v, 97, 121))) goto lab3;
362
+ z->bra = z->c; /* [, line 26 */
363
+ if (!(eq_s(z, 1, s_2))) goto lab3;
364
+ z->ket = z->c; /* ], line 26 */
365
+ z->c = c;
366
+ break;
367
+ lab3:
368
+ z->c = c;
369
+ if (z->c >= z->l) goto lab2;
370
+ z->c++;
371
+ }
372
+ { int ret;
373
+ ret = slice_from_s(z, 1, s_3); /* <-, line 26 */
374
+ if (ret < 0) return ret;
375
+ }
376
+ z->B[0] = 1; /* set Y_found, line 26 */
377
+ continue;
378
+ lab2:
379
+ z->c = c;
380
+ break;
381
+ }
382
+ z->c = c;
383
+ }
384
+ return 1;
385
+ }
386
+
387
+ static int r_mark_regions(struct SN_env * z) {
388
+ z->I[0] = z->l;
389
+ z->I[1] = z->l;
390
+ { int c = z->c; /* do, line 32 */
391
+ { int c = z->c; /* or, line 36 */
392
+ if (!(find_among(z, a_0, 1))) goto lab2; /* among, line 33 */
393
+ goto lab1;
394
+ lab2:
395
+ z->c = c;
396
+ while(1) { /* gopast, line 36 */
397
+ if (!(in_grouping(z, g_v, 97, 121))) goto lab3;
398
+ break;
399
+ lab3:
400
+ if (z->c >= z->l) goto lab0;
401
+ z->c++;
402
+ }
403
+ while(1) { /* gopast, line 36 */
404
+ if (!(out_grouping(z, g_v, 97, 121))) goto lab4;
405
+ break;
406
+ lab4:
407
+ if (z->c >= z->l) goto lab0;
408
+ z->c++;
409
+ }
410
+ }
411
+ lab1:
412
+ z->I[0] = z->c; /* setmark p1, line 37 */
413
+ while(1) { /* gopast, line 38 */
414
+ if (!(in_grouping(z, g_v, 97, 121))) goto lab5;
415
+ break;
416
+ lab5:
417
+ if (z->c >= z->l) goto lab0;
418
+ z->c++;
419
+ }
420
+ while(1) { /* gopast, line 38 */
421
+ if (!(out_grouping(z, g_v, 97, 121))) goto lab6;
422
+ break;
423
+ lab6:
424
+ if (z->c >= z->l) goto lab0;
425
+ z->c++;
426
+ }
427
+ z->I[1] = z->c; /* setmark p2, line 38 */
428
+ lab0:
429
+ z->c = c;
430
+ }
431
+ return 1;
432
+ }
433
+
434
+ static int r_shortv(struct SN_env * z) {
435
+ { int m = z->l - z->c; (void) m; /* or, line 46 */
436
+ if (!(out_grouping_b(z, g_v_WXY, 89, 121))) goto lab1;
437
+ if (!(in_grouping_b(z, g_v, 97, 121))) goto lab1;
438
+ if (!(out_grouping_b(z, g_v, 97, 121))) goto lab1;
439
+ goto lab0;
440
+ lab1:
441
+ z->c = z->l - m;
442
+ if (!(out_grouping_b(z, g_v, 97, 121))) return 0;
443
+ if (!(in_grouping_b(z, g_v, 97, 121))) return 0;
444
+ if (z->c > z->lb) return 0; /* atlimit, line 47 */
445
+ }
446
+ lab0:
447
+ return 1;
448
+ }
449
+
450
+ static int r_R1(struct SN_env * z) {
451
+ if (!(z->I[0] <= z->c)) return 0;
452
+ return 1;
453
+ }
454
+
455
+ static int r_R2(struct SN_env * z) {
456
+ if (!(z->I[1] <= z->c)) return 0;
457
+ return 1;
458
+ }
459
+
460
+ static int r_Step_1a(struct SN_env * z) {
461
+ int among_var;
462
+ z->ket = z->c; /* [, line 54 */
463
+ among_var = find_among_b(z, a_1, 6); /* substring, line 54 */
464
+ if (!(among_var)) return 0;
465
+ z->bra = z->c; /* ], line 54 */
466
+ switch(among_var) {
467
+ case 0: return 0;
468
+ case 1:
469
+ { int ret;
470
+ ret = slice_from_s(z, 2, s_4); /* <-, line 55 */
471
+ if (ret < 0) return ret;
472
+ }
473
+ break;
474
+ case 2:
475
+ { int m = z->l - z->c; (void) m; /* or, line 57 */
476
+ if (z->c <= z->lb) goto lab1;
477
+ z->c--; /* next, line 57 */
478
+ if (z->c > z->lb) goto lab1; /* atlimit, line 57 */
479
+ { int ret;
480
+ ret = slice_from_s(z, 2, s_5); /* <-, line 57 */
481
+ if (ret < 0) return ret;
482
+ }
483
+ goto lab0;
484
+ lab1:
485
+ z->c = z->l - m;
486
+ { int ret;
487
+ ret = slice_from_s(z, 1, s_6); /* <-, line 57 */
488
+ if (ret < 0) return ret;
489
+ }
490
+ }
491
+ lab0:
492
+ break;
493
+ case 3:
494
+ if (z->c <= z->lb) return 0;
495
+ z->c--; /* next, line 58 */
496
+ while(1) { /* gopast, line 58 */
497
+ if (!(in_grouping_b(z, g_v, 97, 121))) goto lab2;
498
+ break;
499
+ lab2:
500
+ if (z->c <= z->lb) return 0;
501
+ z->c--;
502
+ }
503
+ { int ret;
504
+ ret = slice_del(z); /* delete, line 58 */
505
+ if (ret < 0) return ret;
506
+ }
507
+ break;
508
+ }
509
+ return 1;
510
+ }
511
+
512
+ static int r_Step_1b(struct SN_env * z) {
513
+ int among_var;
514
+ z->ket = z->c; /* [, line 64 */
515
+ among_var = find_among_b(z, a_3, 6); /* substring, line 64 */
516
+ if (!(among_var)) return 0;
517
+ z->bra = z->c; /* ], line 64 */
518
+ switch(among_var) {
519
+ case 0: return 0;
520
+ case 1:
521
+ { int ret = r_R1(z);
522
+ if (ret == 0) return 0; /* call R1, line 66 */
523
+ if (ret < 0) return ret;
524
+ }
525
+ { int ret;
526
+ ret = slice_from_s(z, 2, s_7); /* <-, line 66 */
527
+ if (ret < 0) return ret;
528
+ }
529
+ break;
530
+ case 2:
531
+ { int m_test = z->l - z->c; /* test, line 69 */
532
+ while(1) { /* gopast, line 69 */
533
+ if (!(in_grouping_b(z, g_v, 97, 121))) goto lab0;
534
+ break;
535
+ lab0:
536
+ if (z->c <= z->lb) return 0;
537
+ z->c--;
538
+ }
539
+ z->c = z->l - m_test;
540
+ }
541
+ { int ret;
542
+ ret = slice_del(z); /* delete, line 69 */
543
+ if (ret < 0) return ret;
544
+ }
545
+ { int m_test = z->l - z->c; /* test, line 70 */
546
+ among_var = find_among_b(z, a_2, 13); /* substring, line 70 */
547
+ if (!(among_var)) return 0;
548
+ z->c = z->l - m_test;
549
+ }
550
+ switch(among_var) {
551
+ case 0: return 0;
552
+ case 1:
553
+ { int ret;
554
+ { int c = z->c;
555
+ ret = insert_s(z, z->c, z->c, 1, s_8); /* <+, line 72 */
556
+ z->c = c;
557
+ }
558
+ if (ret < 0) return ret;
559
+ }
560
+ break;
561
+ case 2:
562
+ z->ket = z->c; /* [, line 75 */
563
+ if (z->c <= z->lb) return 0;
564
+ z->c--; /* next, line 75 */
565
+ z->bra = z->c; /* ], line 75 */
566
+ { int ret;
567
+ ret = slice_del(z); /* delete, line 75 */
568
+ if (ret < 0) return ret;
569
+ }
570
+ break;
571
+ case 3:
572
+ if (z->c != z->I[0]) return 0; /* atmark, line 76 */
573
+ { int m_test = z->l - z->c; /* test, line 76 */
574
+ { int ret = r_shortv(z);
575
+ if (ret == 0) return 0; /* call shortv, line 76 */
576
+ if (ret < 0) return ret;
577
+ }
578
+ z->c = z->l - m_test;
579
+ }
580
+ { int ret;
581
+ { int c = z->c;
582
+ ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 76 */
583
+ z->c = c;
584
+ }
585
+ if (ret < 0) return ret;
586
+ }
587
+ break;
588
+ }
589
+ break;
590
+ }
591
+ return 1;
592
+ }
593
+
594
+ static int r_Step_1c(struct SN_env * z) {
595
+ z->ket = z->c; /* [, line 83 */
596
+ { int m = z->l - z->c; (void) m; /* or, line 83 */
597
+ if (!(eq_s_b(z, 1, s_10))) goto lab1;
598
+ goto lab0;
599
+ lab1:
600
+ z->c = z->l - m;
601
+ if (!(eq_s_b(z, 1, s_11))) return 0;
602
+ }
603
+ lab0:
604
+ z->bra = z->c; /* ], line 83 */
605
+ if (!(out_grouping_b(z, g_v, 97, 121))) return 0;
606
+ { int m = z->l - z->c; (void) m; /* not, line 84 */
607
+ if (z->c > z->lb) goto lab2; /* atlimit, line 84 */
608
+ return 0;
609
+ lab2:
610
+ z->c = z->l - m;
611
+ }
612
+ { int ret;
613
+ ret = slice_from_s(z, 1, s_12); /* <-, line 85 */
614
+ if (ret < 0) return ret;
615
+ }
616
+ return 1;
617
+ }
618
+
619
+ static int r_Step_2(struct SN_env * z) {
620
+ int among_var;
621
+ z->ket = z->c; /* [, line 89 */
622
+ among_var = find_among_b(z, a_4, 24); /* substring, line 89 */
623
+ if (!(among_var)) return 0;
624
+ z->bra = z->c; /* ], line 89 */
625
+ { int ret = r_R1(z);
626
+ if (ret == 0) return 0; /* call R1, line 89 */
627
+ if (ret < 0) return ret;
628
+ }
629
+ switch(among_var) {
630
+ case 0: return 0;
631
+ case 1:
632
+ { int ret;
633
+ ret = slice_from_s(z, 4, s_13); /* <-, line 90 */
634
+ if (ret < 0) return ret;
635
+ }
636
+ break;
637
+ case 2:
638
+ { int ret;
639
+ ret = slice_from_s(z, 4, s_14); /* <-, line 91 */
640
+ if (ret < 0) return ret;
641
+ }
642
+ break;
643
+ case 3:
644
+ { int ret;
645
+ ret = slice_from_s(z, 4, s_15); /* <-, line 92 */
646
+ if (ret < 0) return ret;
647
+ }
648
+ break;
649
+ case 4:
650
+ { int ret;
651
+ ret = slice_from_s(z, 4, s_16); /* <-, line 93 */
652
+ if (ret < 0) return ret;
653
+ }
654
+ break;
655
+ case 5:
656
+ { int ret;
657
+ ret = slice_from_s(z, 3, s_17); /* <-, line 94 */
658
+ if (ret < 0) return ret;
659
+ }
660
+ break;
661
+ case 6:
662
+ { int ret;
663
+ ret = slice_from_s(z, 3, s_18); /* <-, line 96 */
664
+ if (ret < 0) return ret;
665
+ }
666
+ break;
667
+ case 7:
668
+ { int ret;
669
+ ret = slice_from_s(z, 3, s_19); /* <-, line 98 */
670
+ if (ret < 0) return ret;
671
+ }
672
+ break;
673
+ case 8:
674
+ { int ret;
675
+ ret = slice_from_s(z, 2, s_20); /* <-, line 100 */
676
+ if (ret < 0) return ret;
677
+ }
678
+ break;
679
+ case 9:
680
+ { int ret;
681
+ ret = slice_from_s(z, 3, s_21); /* <-, line 101 */
682
+ if (ret < 0) return ret;
683
+ }
684
+ break;
685
+ case 10:
686
+ { int ret;
687
+ ret = slice_from_s(z, 3, s_22); /* <-, line 103 */
688
+ if (ret < 0) return ret;
689
+ }
690
+ break;
691
+ case 11:
692
+ { int ret;
693
+ ret = slice_from_s(z, 3, s_23); /* <-, line 105 */
694
+ if (ret < 0) return ret;
695
+ }
696
+ break;
697
+ case 12:
698
+ { int ret;
699
+ ret = slice_from_s(z, 3, s_24); /* <-, line 107 */
700
+ if (ret < 0) return ret;
701
+ }
702
+ break;
703
+ case 13:
704
+ if (!(eq_s_b(z, 1, s_25))) return 0;
705
+ { int ret;
706
+ ret = slice_from_s(z, 2, s_26); /* <-, line 108 */
707
+ if (ret < 0) return ret;
708
+ }
709
+ break;
710
+ case 14:
711
+ { int ret;
712
+ ret = slice_from_s(z, 3, s_27); /* <-, line 109 */
713
+ if (ret < 0) return ret;
714
+ }
715
+ break;
716
+ case 15:
717
+ { int ret;
718
+ ret = slice_from_s(z, 4, s_28); /* <-, line 110 */
719
+ if (ret < 0) return ret;
720
+ }
721
+ break;
722
+ case 16:
723
+ if (!(in_grouping_b(z, g_valid_LI, 99, 116))) return 0;
724
+ { int ret;
725
+ ret = slice_del(z); /* delete, line 111 */
726
+ if (ret < 0) return ret;
727
+ }
728
+ break;
729
+ }
730
+ return 1;
731
+ }
732
+
733
+ static int r_Step_3(struct SN_env * z) {
734
+ int among_var;
735
+ z->ket = z->c; /* [, line 116 */
736
+ among_var = find_among_b(z, a_5, 9); /* substring, line 116 */
737
+ if (!(among_var)) return 0;
738
+ z->bra = z->c; /* ], line 116 */
739
+ { int ret = r_R1(z);
740
+ if (ret == 0) return 0; /* call R1, line 116 */
741
+ if (ret < 0) return ret;
742
+ }
743
+ switch(among_var) {
744
+ case 0: return 0;
745
+ case 1:
746
+ { int ret;
747
+ ret = slice_from_s(z, 4, s_29); /* <-, line 117 */
748
+ if (ret < 0) return ret;
749
+ }
750
+ break;
751
+ case 2:
752
+ { int ret;
753
+ ret = slice_from_s(z, 3, s_30); /* <-, line 118 */
754
+ if (ret < 0) return ret;
755
+ }
756
+ break;
757
+ case 3:
758
+ { int ret;
759
+ ret = slice_from_s(z, 2, s_31); /* <-, line 119 */
760
+ if (ret < 0) return ret;
761
+ }
762
+ break;
763
+ case 4:
764
+ { int ret;
765
+ ret = slice_from_s(z, 2, s_32); /* <-, line 121 */
766
+ if (ret < 0) return ret;
767
+ }
768
+ break;
769
+ case 5:
770
+ { int ret;
771
+ ret = slice_del(z); /* delete, line 123 */
772
+ if (ret < 0) return ret;
773
+ }
774
+ break;
775
+ case 6:
776
+ { int ret = r_R2(z);
777
+ if (ret == 0) return 0; /* call R2, line 125 */
778
+ if (ret < 0) return ret;
779
+ }
780
+ { int ret;
781
+ ret = slice_del(z); /* delete, line 125 */
782
+ if (ret < 0) return ret;
783
+ }
784
+ break;
785
+ }
786
+ return 1;
787
+ }
788
+
789
+ static int r_Step_4(struct SN_env * z) {
790
+ int among_var;
791
+ z->ket = z->c; /* [, line 130 */
792
+ among_var = find_among_b(z, a_6, 18); /* substring, line 130 */
793
+ if (!(among_var)) return 0;
794
+ z->bra = z->c; /* ], line 130 */
795
+ { int ret = r_R2(z);
796
+ if (ret == 0) return 0; /* call R2, line 130 */
797
+ if (ret < 0) return ret;
798
+ }
799
+ switch(among_var) {
800
+ case 0: return 0;
801
+ case 1:
802
+ { int ret;
803
+ ret = slice_del(z); /* delete, line 133 */
804
+ if (ret < 0) return ret;
805
+ }
806
+ break;
807
+ case 2:
808
+ { int m = z->l - z->c; (void) m; /* or, line 134 */
809
+ if (!(eq_s_b(z, 1, s_33))) goto lab1;
810
+ goto lab0;
811
+ lab1:
812
+ z->c = z->l - m;
813
+ if (!(eq_s_b(z, 1, s_34))) return 0;
814
+ }
815
+ lab0:
816
+ { int ret;
817
+ ret = slice_del(z); /* delete, line 134 */
818
+ if (ret < 0) return ret;
819
+ }
820
+ break;
821
+ }
822
+ return 1;
823
+ }
824
+
825
+ static int r_Step_5(struct SN_env * z) {
826
+ int among_var;
827
+ z->ket = z->c; /* [, line 139 */
828
+ among_var = find_among_b(z, a_7, 2); /* substring, line 139 */
829
+ if (!(among_var)) return 0;
830
+ z->bra = z->c; /* ], line 139 */
831
+ switch(among_var) {
832
+ case 0: return 0;
833
+ case 1:
834
+ { int m = z->l - z->c; (void) m; /* or, line 140 */
835
+ { int ret = r_R2(z);
836
+ if (ret == 0) goto lab1; /* call R2, line 140 */
837
+ if (ret < 0) return ret;
838
+ }
839
+ goto lab0;
840
+ lab1:
841
+ z->c = z->l - m;
842
+ { int ret = r_R1(z);
843
+ if (ret == 0) return 0; /* call R1, line 140 */
844
+ if (ret < 0) return ret;
845
+ }
846
+ { int m = z->l - z->c; (void) m; /* not, line 140 */
847
+ { int ret = r_shortv(z);
848
+ if (ret == 0) goto lab2; /* call shortv, line 140 */
849
+ if (ret < 0) return ret;
850
+ }
851
+ return 0;
852
+ lab2:
853
+ z->c = z->l - m;
854
+ }
855
+ }
856
+ lab0:
857
+ { int ret;
858
+ ret = slice_del(z); /* delete, line 140 */
859
+ if (ret < 0) return ret;
860
+ }
861
+ break;
862
+ case 2:
863
+ { int ret = r_R2(z);
864
+ if (ret == 0) return 0; /* call R2, line 141 */
865
+ if (ret < 0) return ret;
866
+ }
867
+ if (!(eq_s_b(z, 1, s_35))) return 0;
868
+ { int ret;
869
+ ret = slice_del(z); /* delete, line 141 */
870
+ if (ret < 0) return ret;
871
+ }
872
+ break;
873
+ }
874
+ return 1;
875
+ }
876
+
877
+ static int r_exception2(struct SN_env * z) {
878
+ z->ket = z->c; /* [, line 147 */
879
+ if (!(find_among_b(z, a_8, 8))) return 0; /* substring, line 147 */
880
+ z->bra = z->c; /* ], line 147 */
881
+ if (z->c > z->lb) return 0; /* atlimit, line 147 */
882
+ return 1;
883
+ }
884
+
885
+ static int r_exception1(struct SN_env * z) {
886
+ int among_var;
887
+ z->bra = z->c; /* [, line 159 */
888
+ among_var = find_among(z, a_9, 18); /* substring, line 159 */
889
+ if (!(among_var)) return 0;
890
+ z->ket = z->c; /* ], line 159 */
891
+ if (z->c < z->l) return 0; /* atlimit, line 159 */
892
+ switch(among_var) {
893
+ case 0: return 0;
894
+ case 1:
895
+ { int ret;
896
+ ret = slice_from_s(z, 3, s_36); /* <-, line 163 */
897
+ if (ret < 0) return ret;
898
+ }
899
+ break;
900
+ case 2:
901
+ { int ret;
902
+ ret = slice_from_s(z, 3, s_37); /* <-, line 164 */
903
+ if (ret < 0) return ret;
904
+ }
905
+ break;
906
+ case 3:
907
+ { int ret;
908
+ ret = slice_from_s(z, 3, s_38); /* <-, line 165 */
909
+ if (ret < 0) return ret;
910
+ }
911
+ break;
912
+ case 4:
913
+ { int ret;
914
+ ret = slice_from_s(z, 3, s_39); /* <-, line 166 */
915
+ if (ret < 0) return ret;
916
+ }
917
+ break;
918
+ case 5:
919
+ { int ret;
920
+ ret = slice_from_s(z, 3, s_40); /* <-, line 167 */
921
+ if (ret < 0) return ret;
922
+ }
923
+ break;
924
+ case 6:
925
+ { int ret;
926
+ ret = slice_from_s(z, 3, s_41); /* <-, line 171 */
927
+ if (ret < 0) return ret;
928
+ }
929
+ break;
930
+ case 7:
931
+ { int ret;
932
+ ret = slice_from_s(z, 5, s_42); /* <-, line 172 */
933
+ if (ret < 0) return ret;
934
+ }
935
+ break;
936
+ case 8:
937
+ { int ret;
938
+ ret = slice_from_s(z, 4, s_43); /* <-, line 173 */
939
+ if (ret < 0) return ret;
940
+ }
941
+ break;
942
+ case 9:
943
+ { int ret;
944
+ ret = slice_from_s(z, 5, s_44); /* <-, line 174 */
945
+ if (ret < 0) return ret;
946
+ }
947
+ break;
948
+ case 10:
949
+ { int ret;
950
+ ret = slice_from_s(z, 4, s_45); /* <-, line 175 */
951
+ if (ret < 0) return ret;
952
+ }
953
+ break;
954
+ case 11:
955
+ { int ret;
956
+ ret = slice_from_s(z, 5, s_46); /* <-, line 176 */
957
+ if (ret < 0) return ret;
958
+ }
959
+ break;
960
+ }
961
+ return 1;
962
+ }
963
+
964
+ static int r_postlude(struct SN_env * z) {
965
+ if (!(z->B[0])) return 0; /* Boolean test Y_found, line 192 */
966
+ while(1) { /* repeat, line 192 */
967
+ int c = z->c;
968
+ while(1) { /* goto, line 192 */
969
+ int c = z->c;
970
+ z->bra = z->c; /* [, line 192 */
971
+ if (!(eq_s(z, 1, s_47))) goto lab1;
972
+ z->ket = z->c; /* ], line 192 */
973
+ z->c = c;
974
+ break;
975
+ lab1:
976
+ z->c = c;
977
+ if (z->c >= z->l) goto lab0;
978
+ z->c++;
979
+ }
980
+ { int ret;
981
+ ret = slice_from_s(z, 1, s_48); /* <-, line 192 */
982
+ if (ret < 0) return ret;
983
+ }
984
+ continue;
985
+ lab0:
986
+ z->c = c;
987
+ break;
988
+ }
989
+ return 1;
990
+ }
991
+
992
+ extern int english_stem(struct SN_env * z) {
993
+ { int c = z->c; /* or, line 196 */
994
+ { int ret = r_exception1(z);
995
+ if (ret == 0) goto lab1; /* call exception1, line 196 */
996
+ if (ret < 0) return ret;
997
+ }
998
+ goto lab0;
999
+ lab1:
1000
+ z->c = c;
1001
+ { int c_test = z->c; /* test, line 198 */
1002
+ { int c = z->c + 3;
1003
+ if (0 > c || c > z->l) return 0;
1004
+ z->c = c; /* hop, line 198 */
1005
+ }
1006
+ z->c = c_test;
1007
+ }
1008
+ { int c = z->c; /* do, line 199 */
1009
+ { int ret = r_prelude(z);
1010
+ if (ret == 0) goto lab2; /* call prelude, line 199 */
1011
+ if (ret < 0) return ret;
1012
+ }
1013
+ lab2:
1014
+ z->c = c;
1015
+ }
1016
+ { int c = z->c; /* do, line 200 */
1017
+ { int ret = r_mark_regions(z);
1018
+ if (ret == 0) goto lab3; /* call mark_regions, line 200 */
1019
+ if (ret < 0) return ret;
1020
+ }
1021
+ lab3:
1022
+ z->c = c;
1023
+ }
1024
+ z->lb = z->c; z->c = z->l; /* backwards, line 201 */
1025
+
1026
+ { int m = z->l - z->c; (void) m; /* do, line 203 */
1027
+ { int ret = r_Step_1a(z);
1028
+ if (ret == 0) goto lab4; /* call Step_1a, line 203 */
1029
+ if (ret < 0) return ret;
1030
+ }
1031
+ lab4:
1032
+ z->c = z->l - m;
1033
+ }
1034
+ { int m = z->l - z->c; (void) m; /* or, line 205 */
1035
+ { int ret = r_exception2(z);
1036
+ if (ret == 0) goto lab6; /* call exception2, line 205 */
1037
+ if (ret < 0) return ret;
1038
+ }
1039
+ goto lab5;
1040
+ lab6:
1041
+ z->c = z->l - m;
1042
+ { int m = z->l - z->c; (void) m; /* do, line 207 */
1043
+ { int ret = r_Step_1b(z);
1044
+ if (ret == 0) goto lab7; /* call Step_1b, line 207 */
1045
+ if (ret < 0) return ret;
1046
+ }
1047
+ lab7:
1048
+ z->c = z->l - m;
1049
+ }
1050
+ { int m = z->l - z->c; (void) m; /* do, line 208 */
1051
+ { int ret = r_Step_1c(z);
1052
+ if (ret == 0) goto lab8; /* call Step_1c, line 208 */
1053
+ if (ret < 0) return ret;
1054
+ }
1055
+ lab8:
1056
+ z->c = z->l - m;
1057
+ }
1058
+ { int m = z->l - z->c; (void) m; /* do, line 210 */
1059
+ { int ret = r_Step_2(z);
1060
+ if (ret == 0) goto lab9; /* call Step_2, line 210 */
1061
+ if (ret < 0) return ret;
1062
+ }
1063
+ lab9:
1064
+ z->c = z->l - m;
1065
+ }
1066
+ { int m = z->l - z->c; (void) m; /* do, line 211 */
1067
+ { int ret = r_Step_3(z);
1068
+ if (ret == 0) goto lab10; /* call Step_3, line 211 */
1069
+ if (ret < 0) return ret;
1070
+ }
1071
+ lab10:
1072
+ z->c = z->l - m;
1073
+ }
1074
+ { int m = z->l - z->c; (void) m; /* do, line 212 */
1075
+ { int ret = r_Step_4(z);
1076
+ if (ret == 0) goto lab11; /* call Step_4, line 212 */
1077
+ if (ret < 0) return ret;
1078
+ }
1079
+ lab11:
1080
+ z->c = z->l - m;
1081
+ }
1082
+ { int m = z->l - z->c; (void) m; /* do, line 214 */
1083
+ { int ret = r_Step_5(z);
1084
+ if (ret == 0) goto lab12; /* call Step_5, line 214 */
1085
+ if (ret < 0) return ret;
1086
+ }
1087
+ lab12:
1088
+ z->c = z->l - m;
1089
+ }
1090
+ }
1091
+ lab5:
1092
+ z->c = z->lb;
1093
+ { int c = z->c; /* do, line 217 */
1094
+ { int ret = r_postlude(z);
1095
+ if (ret == 0) goto lab13; /* call postlude, line 217 */
1096
+ if (ret < 0) return ret;
1097
+ }
1098
+ lab13:
1099
+ z->c = c;
1100
+ }
1101
+ }
1102
+ lab0:
1103
+ return 1;
1104
+ }
1105
+
1106
+ extern struct SN_env * english_create_env(void) { return SN_create_env(0, 2, 1); }
1107
+
1108
+ extern void english_close_env(struct SN_env * z) { SN_close_env(z); }
1109
+