isomorfeus-ferret 0.12.4 → 0.12.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +80 -48
  4. data/ext/isomorfeus_ferret_ext/bm_hash.c +9 -6
  5. data/ext/isomorfeus_ferret_ext/bm_micro_string.c +4 -2
  6. data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
  7. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  8. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  9. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +7 -7
  10. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  11. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  12. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  13. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  14. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  15. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  16. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  17. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  18. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  19. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  20. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  21. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  22. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  23. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  24. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  25. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  26. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  27. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  28. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  29. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  30. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  31. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  32. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  33. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  34. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  35. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  36. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  37. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  38. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  39. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  40. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  41. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  42. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  43. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  44. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  45. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  46. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  47. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  48. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  49. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  50. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  51. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  52. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  53. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  54. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  55. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  56. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  57. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  58. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  59. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  60. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  61. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  62. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  63. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  64. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  65. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  66. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  67. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  68. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  69. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  70. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  71. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  72. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  73. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  74. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  75. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  76. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  77. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  78. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  79. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  80. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  81. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  82. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  83. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  84. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  85. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  86. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  87. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  88. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  89. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  90. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  91. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  92. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  93. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  94. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  95. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  96. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  97. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  98. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  99. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  100. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  101. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  102. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  103. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  104. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  105. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  106. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  107. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  108. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  109. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  110. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  111. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  112. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  113. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  114. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  115. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  116. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  117. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  118. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  119. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  120. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  121. data/lib/isomorfeus/ferret/version.rb +1 -1
  122. metadata +39 -4
  123. data/ext/isomorfeus_ferret_ext/q_parser.y +0 -1366
@@ -1,4 +1,4 @@
1
- /* This file was generated automatically by the Snowball to ANSI C compiler */
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
2
 
3
3
  #include "stem_header.h"
4
4
 
@@ -61,16 +61,16 @@ static const symbol s_0_9[4] = { 'n', 0xC3, 0xBC, 'z' };
61
61
 
62
62
  static const struct among a_0[10] =
63
63
  {
64
- /* 0 */ { 1, s_0_0, -1, -1, 0},
65
- /* 1 */ { 1, s_0_1, -1, -1, 0},
66
- /* 2 */ { 3, s_0_2, -1, -1, 0},
67
- /* 3 */ { 3, s_0_3, -1, -1, 0},
68
- /* 4 */ { 3, s_0_4, -1, -1, 0},
69
- /* 5 */ { 3, s_0_5, -1, -1, 0},
70
- /* 6 */ { 4, s_0_6, -1, -1, 0},
71
- /* 7 */ { 4, s_0_7, -1, -1, 0},
72
- /* 8 */ { 4, s_0_8, -1, -1, 0},
73
- /* 9 */ { 4, s_0_9, -1, -1, 0}
64
+ { 1, s_0_0, -1, -1, 0},
65
+ { 1, s_0_1, -1, -1, 0},
66
+ { 3, s_0_2, -1, -1, 0},
67
+ { 3, s_0_3, -1, -1, 0},
68
+ { 3, s_0_4, -1, -1, 0},
69
+ { 3, s_0_5, -1, -1, 0},
70
+ { 4, s_0_6, -1, -1, 0},
71
+ { 4, s_0_7, -1, -1, 0},
72
+ { 4, s_0_8, -1, -1, 0},
73
+ { 4, s_0_9, -1, -1, 0}
74
74
  };
75
75
 
76
76
  static const symbol s_1_0[4] = { 'l', 'e', 'r', 'i' };
@@ -78,8 +78,8 @@ static const symbol s_1_1[5] = { 'l', 'a', 'r', 0xC4, 0xB1 };
78
78
 
79
79
  static const struct among a_1[2] =
80
80
  {
81
- /* 0 */ { 4, s_1_0, -1, -1, 0},
82
- /* 1 */ { 5, s_1_1, -1, -1, 0}
81
+ { 4, s_1_0, -1, -1, 0},
82
+ { 5, s_1_1, -1, -1, 0}
83
83
  };
84
84
 
85
85
  static const symbol s_2_0[2] = { 'n', 'i' };
@@ -89,10 +89,10 @@ static const symbol s_2_3[3] = { 'n', 0xC3, 0xBC };
89
89
 
90
90
  static const struct among a_2[4] =
91
91
  {
92
- /* 0 */ { 2, s_2_0, -1, -1, 0},
93
- /* 1 */ { 2, s_2_1, -1, -1, 0},
94
- /* 2 */ { 3, s_2_2, -1, -1, 0},
95
- /* 3 */ { 3, s_2_3, -1, -1, 0}
92
+ { 2, s_2_0, -1, -1, 0},
93
+ { 2, s_2_1, -1, -1, 0},
94
+ { 3, s_2_2, -1, -1, 0},
95
+ { 3, s_2_3, -1, -1, 0}
96
96
  };
97
97
 
98
98
  static const symbol s_3_0[2] = { 'i', 'n' };
@@ -102,10 +102,10 @@ static const symbol s_3_3[3] = { 0xC3, 0xBC, 'n' };
102
102
 
103
103
  static const struct among a_3[4] =
104
104
  {
105
- /* 0 */ { 2, s_3_0, -1, -1, 0},
106
- /* 1 */ { 2, s_3_1, -1, -1, 0},
107
- /* 2 */ { 3, s_3_2, -1, -1, 0},
108
- /* 3 */ { 3, s_3_3, -1, -1, 0}
105
+ { 2, s_3_0, -1, -1, 0},
106
+ { 2, s_3_1, -1, -1, 0},
107
+ { 3, s_3_2, -1, -1, 0},
108
+ { 3, s_3_3, -1, -1, 0}
109
109
  };
110
110
 
111
111
  static const symbol s_4_0[1] = { 'a' };
@@ -113,8 +113,8 @@ static const symbol s_4_1[1] = { 'e' };
113
113
 
114
114
  static const struct among a_4[2] =
115
115
  {
116
- /* 0 */ { 1, s_4_0, -1, -1, 0},
117
- /* 1 */ { 1, s_4_1, -1, -1, 0}
116
+ { 1, s_4_0, -1, -1, 0},
117
+ { 1, s_4_1, -1, -1, 0}
118
118
  };
119
119
 
120
120
  static const symbol s_5_0[2] = { 'n', 'a' };
@@ -122,8 +122,8 @@ static const symbol s_5_1[2] = { 'n', 'e' };
122
122
 
123
123
  static const struct among a_5[2] =
124
124
  {
125
- /* 0 */ { 2, s_5_0, -1, -1, 0},
126
- /* 1 */ { 2, s_5_1, -1, -1, 0}
125
+ { 2, s_5_0, -1, -1, 0},
126
+ { 2, s_5_1, -1, -1, 0}
127
127
  };
128
128
 
129
129
  static const symbol s_6_0[2] = { 'd', 'a' };
@@ -133,10 +133,10 @@ static const symbol s_6_3[2] = { 't', 'e' };
133
133
 
134
134
  static const struct among a_6[4] =
135
135
  {
136
- /* 0 */ { 2, s_6_0, -1, -1, 0},
137
- /* 1 */ { 2, s_6_1, -1, -1, 0},
138
- /* 2 */ { 2, s_6_2, -1, -1, 0},
139
- /* 3 */ { 2, s_6_3, -1, -1, 0}
136
+ { 2, s_6_0, -1, -1, 0},
137
+ { 2, s_6_1, -1, -1, 0},
138
+ { 2, s_6_2, -1, -1, 0},
139
+ { 2, s_6_3, -1, -1, 0}
140
140
  };
141
141
 
142
142
  static const symbol s_7_0[3] = { 'n', 'd', 'a' };
@@ -144,8 +144,8 @@ static const symbol s_7_1[3] = { 'n', 'd', 'e' };
144
144
 
145
145
  static const struct among a_7[2] =
146
146
  {
147
- /* 0 */ { 3, s_7_0, -1, -1, 0},
148
- /* 1 */ { 3, s_7_1, -1, -1, 0}
147
+ { 3, s_7_0, -1, -1, 0},
148
+ { 3, s_7_1, -1, -1, 0}
149
149
  };
150
150
 
151
151
  static const symbol s_8_0[3] = { 'd', 'a', 'n' };
@@ -155,10 +155,10 @@ static const symbol s_8_3[3] = { 't', 'e', 'n' };
155
155
 
156
156
  static const struct among a_8[4] =
157
157
  {
158
- /* 0 */ { 3, s_8_0, -1, -1, 0},
159
- /* 1 */ { 3, s_8_1, -1, -1, 0},
160
- /* 2 */ { 3, s_8_2, -1, -1, 0},
161
- /* 3 */ { 3, s_8_3, -1, -1, 0}
158
+ { 3, s_8_0, -1, -1, 0},
159
+ { 3, s_8_1, -1, -1, 0},
160
+ { 3, s_8_2, -1, -1, 0},
161
+ { 3, s_8_3, -1, -1, 0}
162
162
  };
163
163
 
164
164
  static const symbol s_9_0[4] = { 'n', 'd', 'a', 'n' };
@@ -166,8 +166,8 @@ static const symbol s_9_1[4] = { 'n', 'd', 'e', 'n' };
166
166
 
167
167
  static const struct among a_9[2] =
168
168
  {
169
- /* 0 */ { 4, s_9_0, -1, -1, 0},
170
- /* 1 */ { 4, s_9_1, -1, -1, 0}
169
+ { 4, s_9_0, -1, -1, 0},
170
+ { 4, s_9_1, -1, -1, 0}
171
171
  };
172
172
 
173
173
  static const symbol s_10_0[2] = { 'l', 'a' };
@@ -175,8 +175,8 @@ static const symbol s_10_1[2] = { 'l', 'e' };
175
175
 
176
176
  static const struct among a_10[2] =
177
177
  {
178
- /* 0 */ { 2, s_10_0, -1, -1, 0},
179
- /* 1 */ { 2, s_10_1, -1, -1, 0}
178
+ { 2, s_10_0, -1, -1, 0},
179
+ { 2, s_10_1, -1, -1, 0}
180
180
  };
181
181
 
182
182
  static const symbol s_11_0[2] = { 'c', 'a' };
@@ -184,8 +184,8 @@ static const symbol s_11_1[2] = { 'c', 'e' };
184
184
 
185
185
  static const struct among a_11[2] =
186
186
  {
187
- /* 0 */ { 2, s_11_0, -1, -1, 0},
188
- /* 1 */ { 2, s_11_1, -1, -1, 0}
187
+ { 2, s_11_0, -1, -1, 0},
188
+ { 2, s_11_1, -1, -1, 0}
189
189
  };
190
190
 
191
191
  static const symbol s_12_0[2] = { 'i', 'm' };
@@ -195,10 +195,10 @@ static const symbol s_12_3[3] = { 0xC3, 0xBC, 'm' };
195
195
 
196
196
  static const struct among a_12[4] =
197
197
  {
198
- /* 0 */ { 2, s_12_0, -1, -1, 0},
199
- /* 1 */ { 2, s_12_1, -1, -1, 0},
200
- /* 2 */ { 3, s_12_2, -1, -1, 0},
201
- /* 3 */ { 3, s_12_3, -1, -1, 0}
198
+ { 2, s_12_0, -1, -1, 0},
199
+ { 2, s_12_1, -1, -1, 0},
200
+ { 3, s_12_2, -1, -1, 0},
201
+ { 3, s_12_3, -1, -1, 0}
202
202
  };
203
203
 
204
204
  static const symbol s_13_0[3] = { 's', 'i', 'n' };
@@ -208,10 +208,10 @@ static const symbol s_13_3[4] = { 's', 0xC3, 0xBC, 'n' };
208
208
 
209
209
  static const struct among a_13[4] =
210
210
  {
211
- /* 0 */ { 3, s_13_0, -1, -1, 0},
212
- /* 1 */ { 3, s_13_1, -1, -1, 0},
213
- /* 2 */ { 4, s_13_2, -1, -1, 0},
214
- /* 3 */ { 4, s_13_3, -1, -1, 0}
211
+ { 3, s_13_0, -1, -1, 0},
212
+ { 3, s_13_1, -1, -1, 0},
213
+ { 4, s_13_2, -1, -1, 0},
214
+ { 4, s_13_3, -1, -1, 0}
215
215
  };
216
216
 
217
217
  static const symbol s_14_0[2] = { 'i', 'z' };
@@ -221,10 +221,10 @@ static const symbol s_14_3[3] = { 0xC3, 0xBC, 'z' };
221
221
 
222
222
  static const struct among a_14[4] =
223
223
  {
224
- /* 0 */ { 2, s_14_0, -1, -1, 0},
225
- /* 1 */ { 2, s_14_1, -1, -1, 0},
226
- /* 2 */ { 3, s_14_2, -1, -1, 0},
227
- /* 3 */ { 3, s_14_3, -1, -1, 0}
224
+ { 2, s_14_0, -1, -1, 0},
225
+ { 2, s_14_1, -1, -1, 0},
226
+ { 3, s_14_2, -1, -1, 0},
227
+ { 3, s_14_3, -1, -1, 0}
228
228
  };
229
229
 
230
230
  static const symbol s_15_0[5] = { 's', 'i', 'n', 'i', 'z' };
@@ -234,10 +234,10 @@ static const symbol s_15_3[7] = { 's', 0xC3, 0xBC, 'n', 0xC3, 0xBC, 'z' };
234
234
 
235
235
  static const struct among a_15[4] =
236
236
  {
237
- /* 0 */ { 5, s_15_0, -1, -1, 0},
238
- /* 1 */ { 5, s_15_1, -1, -1, 0},
239
- /* 2 */ { 7, s_15_2, -1, -1, 0},
240
- /* 3 */ { 7, s_15_3, -1, -1, 0}
237
+ { 5, s_15_0, -1, -1, 0},
238
+ { 5, s_15_1, -1, -1, 0},
239
+ { 7, s_15_2, -1, -1, 0},
240
+ { 7, s_15_3, -1, -1, 0}
241
241
  };
242
242
 
243
243
  static const symbol s_16_0[3] = { 'l', 'a', 'r' };
@@ -245,8 +245,8 @@ static const symbol s_16_1[3] = { 'l', 'e', 'r' };
245
245
 
246
246
  static const struct among a_16[2] =
247
247
  {
248
- /* 0 */ { 3, s_16_0, -1, -1, 0},
249
- /* 1 */ { 3, s_16_1, -1, -1, 0}
248
+ { 3, s_16_0, -1, -1, 0},
249
+ { 3, s_16_1, -1, -1, 0}
250
250
  };
251
251
 
252
252
  static const symbol s_17_0[3] = { 'n', 'i', 'z' };
@@ -256,10 +256,10 @@ static const symbol s_17_3[4] = { 'n', 0xC3, 0xBC, 'z' };
256
256
 
257
257
  static const struct among a_17[4] =
258
258
  {
259
- /* 0 */ { 3, s_17_0, -1, -1, 0},
260
- /* 1 */ { 3, s_17_1, -1, -1, 0},
261
- /* 2 */ { 4, s_17_2, -1, -1, 0},
262
- /* 3 */ { 4, s_17_3, -1, -1, 0}
259
+ { 3, s_17_0, -1, -1, 0},
260
+ { 3, s_17_1, -1, -1, 0},
261
+ { 4, s_17_2, -1, -1, 0},
262
+ { 4, s_17_3, -1, -1, 0}
263
263
  };
264
264
 
265
265
  static const symbol s_18_0[3] = { 'd', 'i', 'r' };
@@ -273,14 +273,14 @@ static const symbol s_18_7[4] = { 't', 0xC3, 0xBC, 'r' };
273
273
 
274
274
  static const struct among a_18[8] =
275
275
  {
276
- /* 0 */ { 3, s_18_0, -1, -1, 0},
277
- /* 1 */ { 3, s_18_1, -1, -1, 0},
278
- /* 2 */ { 3, s_18_2, -1, -1, 0},
279
- /* 3 */ { 3, s_18_3, -1, -1, 0},
280
- /* 4 */ { 4, s_18_4, -1, -1, 0},
281
- /* 5 */ { 4, s_18_5, -1, -1, 0},
282
- /* 6 */ { 4, s_18_6, -1, -1, 0},
283
- /* 7 */ { 4, s_18_7, -1, -1, 0}
276
+ { 3, s_18_0, -1, -1, 0},
277
+ { 3, s_18_1, -1, -1, 0},
278
+ { 3, s_18_2, -1, -1, 0},
279
+ { 3, s_18_3, -1, -1, 0},
280
+ { 4, s_18_4, -1, -1, 0},
281
+ { 4, s_18_5, -1, -1, 0},
282
+ { 4, s_18_6, -1, -1, 0},
283
+ { 4, s_18_7, -1, -1, 0}
284
284
  };
285
285
 
286
286
  static const symbol s_19_0[7] = { 'c', 'a', 's', 0xC4, 0xB1, 'n', 'a' };
@@ -288,8 +288,8 @@ static const symbol s_19_1[6] = { 'c', 'e', 's', 'i', 'n', 'e' };
288
288
 
289
289
  static const struct among a_19[2] =
290
290
  {
291
- /* 0 */ { 7, s_19_0, -1, -1, 0},
292
- /* 1 */ { 6, s_19_1, -1, -1, 0}
291
+ { 7, s_19_0, -1, -1, 0},
292
+ { 6, s_19_1, -1, -1, 0}
293
293
  };
294
294
 
295
295
  static const symbol s_20_0[2] = { 'd', 'i' };
@@ -327,38 +327,38 @@ static const symbol s_20_31[3] = { 't', 0xC3, 0xBC };
327
327
 
328
328
  static const struct among a_20[32] =
329
329
  {
330
- /* 0 */ { 2, s_20_0, -1, -1, 0},
331
- /* 1 */ { 2, s_20_1, -1, -1, 0},
332
- /* 2 */ { 3, s_20_2, -1, -1, 0},
333
- /* 3 */ { 3, s_20_3, -1, -1, 0},
334
- /* 4 */ { 3, s_20_4, -1, -1, 0},
335
- /* 5 */ { 3, s_20_5, -1, -1, 0},
336
- /* 6 */ { 4, s_20_6, -1, -1, 0},
337
- /* 7 */ { 4, s_20_7, -1, -1, 0},
338
- /* 8 */ { 4, s_20_8, -1, -1, 0},
339
- /* 9 */ { 4, s_20_9, -1, -1, 0},
340
- /* 10 */ { 3, s_20_10, -1, -1, 0},
341
- /* 11 */ { 3, s_20_11, -1, -1, 0},
342
- /* 12 */ { 3, s_20_12, -1, -1, 0},
343
- /* 13 */ { 3, s_20_13, -1, -1, 0},
344
- /* 14 */ { 4, s_20_14, -1, -1, 0},
345
- /* 15 */ { 4, s_20_15, -1, -1, 0},
346
- /* 16 */ { 4, s_20_16, -1, -1, 0},
347
- /* 17 */ { 4, s_20_17, -1, -1, 0},
348
- /* 18 */ { 3, s_20_18, -1, -1, 0},
349
- /* 19 */ { 3, s_20_19, -1, -1, 0},
350
- /* 20 */ { 3, s_20_20, -1, -1, 0},
351
- /* 21 */ { 3, s_20_21, -1, -1, 0},
352
- /* 22 */ { 4, s_20_22, -1, -1, 0},
353
- /* 23 */ { 4, s_20_23, -1, -1, 0},
354
- /* 24 */ { 4, s_20_24, -1, -1, 0},
355
- /* 25 */ { 4, s_20_25, -1, -1, 0},
356
- /* 26 */ { 2, s_20_26, -1, -1, 0},
357
- /* 27 */ { 2, s_20_27, -1, -1, 0},
358
- /* 28 */ { 3, s_20_28, -1, -1, 0},
359
- /* 29 */ { 3, s_20_29, -1, -1, 0},
360
- /* 30 */ { 3, s_20_30, -1, -1, 0},
361
- /* 31 */ { 3, s_20_31, -1, -1, 0}
330
+ { 2, s_20_0, -1, -1, 0},
331
+ { 2, s_20_1, -1, -1, 0},
332
+ { 3, s_20_2, -1, -1, 0},
333
+ { 3, s_20_3, -1, -1, 0},
334
+ { 3, s_20_4, -1, -1, 0},
335
+ { 3, s_20_5, -1, -1, 0},
336
+ { 4, s_20_6, -1, -1, 0},
337
+ { 4, s_20_7, -1, -1, 0},
338
+ { 4, s_20_8, -1, -1, 0},
339
+ { 4, s_20_9, -1, -1, 0},
340
+ { 3, s_20_10, -1, -1, 0},
341
+ { 3, s_20_11, -1, -1, 0},
342
+ { 3, s_20_12, -1, -1, 0},
343
+ { 3, s_20_13, -1, -1, 0},
344
+ { 4, s_20_14, -1, -1, 0},
345
+ { 4, s_20_15, -1, -1, 0},
346
+ { 4, s_20_16, -1, -1, 0},
347
+ { 4, s_20_17, -1, -1, 0},
348
+ { 3, s_20_18, -1, -1, 0},
349
+ { 3, s_20_19, -1, -1, 0},
350
+ { 3, s_20_20, -1, -1, 0},
351
+ { 3, s_20_21, -1, -1, 0},
352
+ { 4, s_20_22, -1, -1, 0},
353
+ { 4, s_20_23, -1, -1, 0},
354
+ { 4, s_20_24, -1, -1, 0},
355
+ { 4, s_20_25, -1, -1, 0},
356
+ { 2, s_20_26, -1, -1, 0},
357
+ { 2, s_20_27, -1, -1, 0},
358
+ { 3, s_20_28, -1, -1, 0},
359
+ { 3, s_20_29, -1, -1, 0},
360
+ { 3, s_20_30, -1, -1, 0},
361
+ { 3, s_20_31, -1, -1, 0}
362
362
  };
363
363
 
364
364
  static const symbol s_21_0[2] = { 's', 'a' };
@@ -372,14 +372,14 @@ static const symbol s_21_7[3] = { 's', 'e', 'n' };
372
372
 
373
373
  static const struct among a_21[8] =
374
374
  {
375
- /* 0 */ { 2, s_21_0, -1, -1, 0},
376
- /* 1 */ { 2, s_21_1, -1, -1, 0},
377
- /* 2 */ { 3, s_21_2, -1, -1, 0},
378
- /* 3 */ { 3, s_21_3, -1, -1, 0},
379
- /* 4 */ { 3, s_21_4, -1, -1, 0},
380
- /* 5 */ { 3, s_21_5, -1, -1, 0},
381
- /* 6 */ { 3, s_21_6, -1, -1, 0},
382
- /* 7 */ { 3, s_21_7, -1, -1, 0}
375
+ { 2, s_21_0, -1, -1, 0},
376
+ { 2, s_21_1, -1, -1, 0},
377
+ { 3, s_21_2, -1, -1, 0},
378
+ { 3, s_21_3, -1, -1, 0},
379
+ { 3, s_21_4, -1, -1, 0},
380
+ { 3, s_21_5, -1, -1, 0},
381
+ { 3, s_21_6, -1, -1, 0},
382
+ { 3, s_21_7, -1, -1, 0}
383
383
  };
384
384
 
385
385
  static const symbol s_22_0[4] = { 'm', 'i', 0xC5, 0x9F };
@@ -389,10 +389,10 @@ static const symbol s_22_3[5] = { 'm', 0xC3, 0xBC, 0xC5, 0x9F };
389
389
 
390
390
  static const struct among a_22[4] =
391
391
  {
392
- /* 0 */ { 4, s_22_0, -1, -1, 0},
393
- /* 1 */ { 4, s_22_1, -1, -1, 0},
394
- /* 2 */ { 5, s_22_2, -1, -1, 0},
395
- /* 3 */ { 5, s_22_3, -1, -1, 0}
392
+ { 4, s_22_0, -1, -1, 0},
393
+ { 4, s_22_1, -1, -1, 0},
394
+ { 5, s_22_2, -1, -1, 0},
395
+ { 5, s_22_3, -1, -1, 0}
396
396
  };
397
397
 
398
398
  static const symbol s_23_0[1] = { 'b' };
@@ -402,10 +402,10 @@ static const symbol s_23_3[2] = { 0xC4, 0x9F };
402
402
 
403
403
  static const struct among a_23[4] =
404
404
  {
405
- /* 0 */ { 1, s_23_0, -1, 1, 0},
406
- /* 1 */ { 1, s_23_1, -1, 2, 0},
407
- /* 2 */ { 1, s_23_2, -1, 3, 0},
408
- /* 3 */ { 2, s_23_3, -1, 4, 0}
405
+ { 1, s_23_0, -1, 1, 0},
406
+ { 1, s_23_1, -1, 2, 0},
407
+ { 1, s_23_2, -1, 3, 0},
408
+ { 2, s_23_3, -1, 4, 0}
409
409
  };
410
410
 
411
411
  static const unsigned char g_vowel[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 };
@@ -424,127 +424,106 @@ static const unsigned char g_vowel5[] = { 65 };
424
424
 
425
425
  static const unsigned char g_vowel6[] = { 65 };
426
426
 
427
- static const symbol s_0[] = { 'a' };
428
- static const symbol s_1[] = { 'e' };
429
- static const symbol s_2[] = { 0xC4, 0xB1 };
430
- static const symbol s_3[] = { 'i' };
431
- static const symbol s_4[] = { 'o' };
432
- static const symbol s_5[] = { 0xC3, 0xB6 };
433
- static const symbol s_6[] = { 'u' };
434
- static const symbol s_7[] = { 0xC3, 0xBC };
435
- static const symbol s_8[] = { 'n' };
436
- static const symbol s_9[] = { 'n' };
437
- static const symbol s_10[] = { 's' };
438
- static const symbol s_11[] = { 's' };
439
- static const symbol s_12[] = { 'y' };
440
- static const symbol s_13[] = { 'y' };
441
- static const symbol s_14[] = { 'k', 'i' };
442
- static const symbol s_15[] = { 'k', 'e', 'n' };
443
- static const symbol s_16[] = { 'p' };
444
- static const symbol s_17[] = { 0xC3, 0xA7 };
445
- static const symbol s_18[] = { 't' };
446
- static const symbol s_19[] = { 'k' };
447
- static const symbol s_20[] = { 'd' };
448
- static const symbol s_21[] = { 'g' };
449
- static const symbol s_22[] = { 'a' };
450
- static const symbol s_23[] = { 0xC4, 0xB1 };
451
- static const symbol s_24[] = { 0xC4, 0xB1 };
452
- static const symbol s_25[] = { 'e' };
453
- static const symbol s_26[] = { 'i' };
454
- static const symbol s_27[] = { 'i' };
455
- static const symbol s_28[] = { 'o' };
456
- static const symbol s_29[] = { 'u' };
457
- static const symbol s_30[] = { 'u' };
458
- static const symbol s_31[] = { 0xC3, 0xB6 };
459
- static const symbol s_32[] = { 0xC3, 0xBC };
460
- static const symbol s_33[] = { 0xC3, 0xBC };
461
- static const symbol s_34[] = { 'a', 'd' };
462
- static const symbol s_35[] = { 's', 'o', 'y', 'a', 'd' };
427
+ static const symbol s_0[] = { 0xC4, 0xB1 };
428
+ static const symbol s_1[] = { 0xC3, 0xB6 };
429
+ static const symbol s_2[] = { 0xC3, 0xBC };
430
+ static const symbol s_3[] = { 'k', 'i' };
431
+ static const symbol s_4[] = { 'k', 'e', 'n' };
432
+ static const symbol s_5[] = { 'p' };
433
+ static const symbol s_6[] = { 0xC3, 0xA7 };
434
+ static const symbol s_7[] = { 't' };
435
+ static const symbol s_8[] = { 'k' };
436
+ static const symbol s_9[] = { 0xC4, 0xB1 };
437
+ static const symbol s_10[] = { 0xC4, 0xB1 };
438
+ static const symbol s_11[] = { 'i' };
439
+ static const symbol s_12[] = { 'u' };
440
+ static const symbol s_13[] = { 0xC3, 0xB6 };
441
+ static const symbol s_14[] = { 0xC3, 0xBC };
442
+ static const symbol s_15[] = { 0xC3, 0xBC };
443
+ static const symbol s_16[] = { 'a', 'd' };
444
+ static const symbol s_17[] = { 's', 'o', 'y' };
463
445
 
464
446
  static int r_check_vowel_harmony(struct SN_env * z) {
465
- { int m_test = z->l - z->c; /* test, line 112 */
466
- if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0; /* goto */ /* grouping vowel, line 114 */
467
- { int m1 = z->l - z->c; (void)m1; /* or, line 116 */
468
- if (!(eq_s_b(z, 1, s_0))) goto lab1;
469
- if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1; /* goto */ /* grouping vowel1, line 116 */
447
+ { int m_test1 = z->l - z->c;
448
+ if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
449
+ { int m2 = z->l - z->c; (void)m2;
450
+ if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab1;
451
+ z->c--;
452
+ if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1;
470
453
  goto lab0;
471
454
  lab1:
472
- z->c = z->l - m1;
473
- if (!(eq_s_b(z, 1, s_1))) goto lab2;
474
- if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2; /* goto */ /* grouping vowel2, line 117 */
455
+ z->c = z->l - m2;
456
+ if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2;
457
+ z->c--;
458
+ if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2;
475
459
  goto lab0;
476
460
  lab2:
477
- z->c = z->l - m1;
478
- if (!(eq_s_b(z, 2, s_2))) goto lab3;
479
- if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3; /* goto */ /* grouping vowel3, line 118 */
461
+ z->c = z->l - m2;
462
+ if (!(eq_s_b(z, 2, s_0))) goto lab3;
463
+ if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3;
480
464
  goto lab0;
481
465
  lab3:
482
- z->c = z->l - m1;
483
- if (!(eq_s_b(z, 1, s_3))) goto lab4;
484
- if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4; /* goto */ /* grouping vowel4, line 119 */
466
+ z->c = z->l - m2;
467
+ if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab4;
468
+ z->c--;
469
+ if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4;
485
470
  goto lab0;
486
471
  lab4:
487
- z->c = z->l - m1;
488
- if (!(eq_s_b(z, 1, s_4))) goto lab5;
489
- if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5; /* goto */ /* grouping vowel5, line 120 */
472
+ z->c = z->l - m2;
473
+ if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5;
474
+ z->c--;
475
+ if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5;
490
476
  goto lab0;
491
477
  lab5:
492
- z->c = z->l - m1;
493
- if (!(eq_s_b(z, 2, s_5))) goto lab6;
494
- if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6; /* goto */ /* grouping vowel6, line 121 */
478
+ z->c = z->l - m2;
479
+ if (!(eq_s_b(z, 2, s_1))) goto lab6;
480
+ if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6;
495
481
  goto lab0;
496
482
  lab6:
497
- z->c = z->l - m1;
498
- if (!(eq_s_b(z, 1, s_6))) goto lab7;
499
- if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7; /* goto */ /* grouping vowel5, line 122 */
483
+ z->c = z->l - m2;
484
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab7;
485
+ z->c--;
486
+ if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7;
500
487
  goto lab0;
501
488
  lab7:
502
- z->c = z->l - m1;
503
- if (!(eq_s_b(z, 2, s_7))) return 0;
504
- if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0; /* goto */ /* grouping vowel6, line 123 */
489
+ z->c = z->l - m2;
490
+ if (!(eq_s_b(z, 2, s_2))) return 0;
491
+ if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0;
505
492
  }
506
493
  lab0:
507
- z->c = z->l - m_test;
494
+ z->c = z->l - m_test1;
508
495
  }
509
496
  return 1;
510
497
  }
511
498
 
512
499
  static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z) {
513
- { int m1 = z->l - z->c; (void)m1; /* or, line 134 */
514
- { int m_test = z->l - z->c; /* test, line 133 */
515
- if (!(eq_s_b(z, 1, s_8))) goto lab1;
516
- z->c = z->l - m_test;
517
- }
518
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
519
- if (ret < 0) goto lab1;
520
- z->c = ret; /* next, line 133 */
521
- }
522
- { int m_test = z->l - z->c; /* test, line 133 */
500
+ { int m1 = z->l - z->c; (void)m1;
501
+ if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab1;
502
+ z->c--;
503
+ { int m_test2 = z->l - z->c;
523
504
  if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
524
- z->c = z->l - m_test;
505
+ z->c = z->l - m_test2;
525
506
  }
526
507
  goto lab0;
527
508
  lab1:
528
509
  z->c = z->l - m1;
529
- { int m2 = z->l - z->c; (void)m2; /* not, line 135 */
530
- { int m_test = z->l - z->c; /* test, line 135 */
531
- if (!(eq_s_b(z, 1, s_9))) goto lab2;
532
- z->c = z->l - m_test;
510
+ { int m3 = z->l - z->c; (void)m3;
511
+ { int m_test4 = z->l - z->c;
512
+ if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab2;
513
+ z->c--;
514
+ z->c = z->l - m_test4;
533
515
  }
534
516
  return 0;
535
517
  lab2:
536
- z->c = z->l - m2;
518
+ z->c = z->l - m3;
537
519
  }
538
- { int m_test = z->l - z->c; /* test, line 135 */
539
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
520
+ { int m_test5 = z->l - z->c;
521
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
540
522
  if (ret < 0) return 0;
541
- z->c = ret; /* next, line 135 */
542
- }
543
- { int m_test = z->l - z->c; /* test, line 135 */
544
- if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
545
- z->c = z->l - m_test;
523
+ z->c = ret;
546
524
  }
547
- z->c = z->l - m_test;
525
+ if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
526
+ z->c = z->l - m_test5;
548
527
  }
549
528
  }
550
529
  lab0:
@@ -552,41 +531,33 @@ lab0:
552
531
  }
553
532
 
554
533
  static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z) {
555
- { int m1 = z->l - z->c; (void)m1; /* or, line 145 */
556
- { int m_test = z->l - z->c; /* test, line 144 */
557
- if (!(eq_s_b(z, 1, s_10))) goto lab1;
558
- z->c = z->l - m_test;
559
- }
560
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
561
- if (ret < 0) goto lab1;
562
- z->c = ret; /* next, line 144 */
563
- }
564
- { int m_test = z->l - z->c; /* test, line 144 */
534
+ { int m1 = z->l - z->c; (void)m1;
535
+ if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
536
+ z->c--;
537
+ { int m_test2 = z->l - z->c;
565
538
  if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
566
- z->c = z->l - m_test;
539
+ z->c = z->l - m_test2;
567
540
  }
568
541
  goto lab0;
569
542
  lab1:
570
543
  z->c = z->l - m1;
571
- { int m2 = z->l - z->c; (void)m2; /* not, line 146 */
572
- { int m_test = z->l - z->c; /* test, line 146 */
573
- if (!(eq_s_b(z, 1, s_11))) goto lab2;
574
- z->c = z->l - m_test;
544
+ { int m3 = z->l - z->c; (void)m3;
545
+ { int m_test4 = z->l - z->c;
546
+ if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
547
+ z->c--;
548
+ z->c = z->l - m_test4;
575
549
  }
576
550
  return 0;
577
551
  lab2:
578
- z->c = z->l - m2;
552
+ z->c = z->l - m3;
579
553
  }
580
- { int m_test = z->l - z->c; /* test, line 146 */
581
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
554
+ { int m_test5 = z->l - z->c;
555
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
582
556
  if (ret < 0) return 0;
583
- z->c = ret; /* next, line 146 */
584
- }
585
- { int m_test = z->l - z->c; /* test, line 146 */
586
- if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
587
- z->c = z->l - m_test;
557
+ z->c = ret;
588
558
  }
589
- z->c = z->l - m_test;
559
+ if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
560
+ z->c = z->l - m_test5;
590
561
  }
591
562
  }
592
563
  lab0:
@@ -594,41 +565,33 @@ lab0:
594
565
  }
595
566
 
596
567
  static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z) {
597
- { int m1 = z->l - z->c; (void)m1; /* or, line 155 */
598
- { int m_test = z->l - z->c; /* test, line 154 */
599
- if (!(eq_s_b(z, 1, s_12))) goto lab1;
600
- z->c = z->l - m_test;
601
- }
602
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
603
- if (ret < 0) goto lab1;
604
- z->c = ret; /* next, line 154 */
605
- }
606
- { int m_test = z->l - z->c; /* test, line 154 */
568
+ { int m1 = z->l - z->c; (void)m1;
569
+ if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
570
+ z->c--;
571
+ { int m_test2 = z->l - z->c;
607
572
  if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
608
- z->c = z->l - m_test;
573
+ z->c = z->l - m_test2;
609
574
  }
610
575
  goto lab0;
611
576
  lab1:
612
577
  z->c = z->l - m1;
613
- { int m2 = z->l - z->c; (void)m2; /* not, line 156 */
614
- { int m_test = z->l - z->c; /* test, line 156 */
615
- if (!(eq_s_b(z, 1, s_13))) goto lab2;
616
- z->c = z->l - m_test;
578
+ { int m3 = z->l - z->c; (void)m3;
579
+ { int m_test4 = z->l - z->c;
580
+ if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab2;
581
+ z->c--;
582
+ z->c = z->l - m_test4;
617
583
  }
618
584
  return 0;
619
585
  lab2:
620
- z->c = z->l - m2;
586
+ z->c = z->l - m3;
621
587
  }
622
- { int m_test = z->l - z->c; /* test, line 156 */
623
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
588
+ { int m_test5 = z->l - z->c;
589
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
624
590
  if (ret < 0) return 0;
625
- z->c = ret; /* next, line 156 */
626
- }
627
- { int m_test = z->l - z->c; /* test, line 156 */
628
- if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
629
- z->c = z->l - m_test;
591
+ z->c = ret;
630
592
  }
631
- z->c = z->l - m_test;
593
+ if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
594
+ z->c = z->l - m_test5;
632
595
  }
633
596
  }
634
597
  lab0:
@@ -636,41 +599,31 @@ lab0:
636
599
  }
637
600
 
638
601
  static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z) {
639
- { int m1 = z->l - z->c; (void)m1; /* or, line 161 */
640
- { int m_test = z->l - z->c; /* test, line 160 */
641
- if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1;
642
- z->c = z->l - m_test;
643
- }
644
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
645
- if (ret < 0) goto lab1;
646
- z->c = ret; /* next, line 160 */
647
- }
648
- { int m_test = z->l - z->c; /* test, line 160 */
602
+ { int m1 = z->l - z->c; (void)m1;
603
+ if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1;
604
+ { int m_test2 = z->l - z->c;
649
605
  if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
650
- z->c = z->l - m_test;
606
+ z->c = z->l - m_test2;
651
607
  }
652
608
  goto lab0;
653
609
  lab1:
654
610
  z->c = z->l - m1;
655
- { int m2 = z->l - z->c; (void)m2; /* not, line 162 */
656
- { int m_test = z->l - z->c; /* test, line 162 */
611
+ { int m3 = z->l - z->c; (void)m3;
612
+ { int m_test4 = z->l - z->c;
657
613
  if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab2;
658
- z->c = z->l - m_test;
614
+ z->c = z->l - m_test4;
659
615
  }
660
616
  return 0;
661
617
  lab2:
662
- z->c = z->l - m2;
618
+ z->c = z->l - m3;
663
619
  }
664
- { int m_test = z->l - z->c; /* test, line 162 */
665
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
620
+ { int m_test5 = z->l - z->c;
621
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
666
622
  if (ret < 0) return 0;
667
- z->c = ret; /* next, line 162 */
623
+ z->c = ret;
668
624
  }
669
- { int m_test = z->l - z->c; /* test, line 162 */
670
- if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
671
- z->c = z->l - m_test;
672
- }
673
- z->c = z->l - m_test;
625
+ if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
626
+ z->c = z->l - m_test5;
674
627
  }
675
628
  }
676
629
  lab0:
@@ -679,320 +632,287 @@ lab0:
679
632
 
680
633
  static int r_mark_possessives(struct SN_env * z) {
681
634
  if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
682
- if (!(find_among_b(z, a_0, 10))) return 0; /* among, line 167 */
635
+ if (!(find_among_b(z, a_0, 10))) return 0;
683
636
  { int ret = r_mark_suffix_with_optional_U_vowel(z);
684
- if (ret == 0) return 0; /* call mark_suffix_with_optional_U_vowel, line 169 */
685
- if (ret < 0) return ret;
637
+ if (ret <= 0) return ret;
686
638
  }
687
639
  return 1;
688
640
  }
689
641
 
690
642
  static int r_mark_sU(struct SN_env * z) {
691
643
  { int ret = r_check_vowel_harmony(z);
692
- if (ret == 0) return 0; /* call check_vowel_harmony, line 173 */
693
- if (ret < 0) return ret;
644
+ if (ret <= 0) return ret;
694
645
  }
695
646
  if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
696
647
  { int ret = r_mark_suffix_with_optional_s_consonant(z);
697
- if (ret == 0) return 0; /* call mark_suffix_with_optional_s_consonant, line 175 */
698
- if (ret < 0) return ret;
648
+ if (ret <= 0) return ret;
699
649
  }
700
650
  return 1;
701
651
  }
702
652
 
703
653
  static int r_mark_lArI(struct SN_env * z) {
704
654
  if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177)) return 0;
705
- if (!(find_among_b(z, a_1, 2))) return 0; /* among, line 179 */
655
+ if (!(find_among_b(z, a_1, 2))) return 0;
706
656
  return 1;
707
657
  }
708
658
 
709
659
  static int r_mark_yU(struct SN_env * z) {
710
660
  { int ret = r_check_vowel_harmony(z);
711
- if (ret == 0) return 0; /* call check_vowel_harmony, line 183 */
712
- if (ret < 0) return ret;
661
+ if (ret <= 0) return ret;
713
662
  }
714
663
  if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
715
664
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
716
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 185 */
717
- if (ret < 0) return ret;
665
+ if (ret <= 0) return ret;
718
666
  }
719
667
  return 1;
720
668
  }
721
669
 
722
670
  static int r_mark_nU(struct SN_env * z) {
723
671
  { int ret = r_check_vowel_harmony(z);
724
- if (ret == 0) return 0; /* call check_vowel_harmony, line 189 */
725
- if (ret < 0) return ret;
672
+ if (ret <= 0) return ret;
726
673
  }
727
- if (!(find_among_b(z, a_2, 4))) return 0; /* among, line 190 */
674
+ if (!(find_among_b(z, a_2, 4))) return 0;
728
675
  return 1;
729
676
  }
730
677
 
731
678
  static int r_mark_nUn(struct SN_env * z) {
732
679
  { int ret = r_check_vowel_harmony(z);
733
- if (ret == 0) return 0; /* call check_vowel_harmony, line 194 */
734
- if (ret < 0) return ret;
680
+ if (ret <= 0) return ret;
735
681
  }
736
682
  if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110) return 0;
737
- if (!(find_among_b(z, a_3, 4))) return 0; /* among, line 195 */
683
+ if (!(find_among_b(z, a_3, 4))) return 0;
738
684
  { int ret = r_mark_suffix_with_optional_n_consonant(z);
739
- if (ret == 0) return 0; /* call mark_suffix_with_optional_n_consonant, line 196 */
740
- if (ret < 0) return ret;
685
+ if (ret <= 0) return ret;
741
686
  }
742
687
  return 1;
743
688
  }
744
689
 
745
690
  static int r_mark_yA(struct SN_env * z) {
746
691
  { int ret = r_check_vowel_harmony(z);
747
- if (ret == 0) return 0; /* call check_vowel_harmony, line 200 */
748
- if (ret < 0) return ret;
692
+ if (ret <= 0) return ret;
749
693
  }
750
694
  if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
751
- if (!(find_among_b(z, a_4, 2))) return 0; /* among, line 201 */
695
+ if (!(find_among_b(z, a_4, 2))) return 0;
752
696
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
753
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 202 */
754
- if (ret < 0) return ret;
697
+ if (ret <= 0) return ret;
755
698
  }
756
699
  return 1;
757
700
  }
758
701
 
759
702
  static int r_mark_nA(struct SN_env * z) {
760
703
  { int ret = r_check_vowel_harmony(z);
761
- if (ret == 0) return 0; /* call check_vowel_harmony, line 206 */
762
- if (ret < 0) return ret;
704
+ if (ret <= 0) return ret;
763
705
  }
764
706
  if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
765
- if (!(find_among_b(z, a_5, 2))) return 0; /* among, line 207 */
707
+ if (!(find_among_b(z, a_5, 2))) return 0;
766
708
  return 1;
767
709
  }
768
710
 
769
711
  static int r_mark_DA(struct SN_env * z) {
770
712
  { int ret = r_check_vowel_harmony(z);
771
- if (ret == 0) return 0; /* call check_vowel_harmony, line 211 */
772
- if (ret < 0) return ret;
713
+ if (ret <= 0) return ret;
773
714
  }
774
715
  if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
775
- if (!(find_among_b(z, a_6, 4))) return 0; /* among, line 212 */
716
+ if (!(find_among_b(z, a_6, 4))) return 0;
776
717
  return 1;
777
718
  }
778
719
 
779
720
  static int r_mark_ndA(struct SN_env * z) {
780
721
  { int ret = r_check_vowel_harmony(z);
781
- if (ret == 0) return 0; /* call check_vowel_harmony, line 216 */
782
- if (ret < 0) return ret;
722
+ if (ret <= 0) return ret;
783
723
  }
784
724
  if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
785
- if (!(find_among_b(z, a_7, 2))) return 0; /* among, line 217 */
725
+ if (!(find_among_b(z, a_7, 2))) return 0;
786
726
  return 1;
787
727
  }
788
728
 
789
729
  static int r_mark_DAn(struct SN_env * z) {
790
730
  { int ret = r_check_vowel_harmony(z);
791
- if (ret == 0) return 0; /* call check_vowel_harmony, line 221 */
792
- if (ret < 0) return ret;
731
+ if (ret <= 0) return ret;
793
732
  }
794
733
  if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
795
- if (!(find_among_b(z, a_8, 4))) return 0; /* among, line 222 */
734
+ if (!(find_among_b(z, a_8, 4))) return 0;
796
735
  return 1;
797
736
  }
798
737
 
799
738
  static int r_mark_ndAn(struct SN_env * z) {
800
739
  { int ret = r_check_vowel_harmony(z);
801
- if (ret == 0) return 0; /* call check_vowel_harmony, line 226 */
802
- if (ret < 0) return ret;
740
+ if (ret <= 0) return ret;
803
741
  }
804
742
  if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110) return 0;
805
- if (!(find_among_b(z, a_9, 2))) return 0; /* among, line 227 */
743
+ if (!(find_among_b(z, a_9, 2))) return 0;
806
744
  return 1;
807
745
  }
808
746
 
809
747
  static int r_mark_ylA(struct SN_env * z) {
810
748
  { int ret = r_check_vowel_harmony(z);
811
- if (ret == 0) return 0; /* call check_vowel_harmony, line 231 */
812
- if (ret < 0) return ret;
749
+ if (ret <= 0) return ret;
813
750
  }
814
751
  if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
815
- if (!(find_among_b(z, a_10, 2))) return 0; /* among, line 232 */
752
+ if (!(find_among_b(z, a_10, 2))) return 0;
816
753
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
817
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 233 */
818
- if (ret < 0) return ret;
754
+ if (ret <= 0) return ret;
819
755
  }
820
756
  return 1;
821
757
  }
822
758
 
823
759
  static int r_mark_ki(struct SN_env * z) {
824
- if (!(eq_s_b(z, 2, s_14))) return 0;
760
+ if (!(eq_s_b(z, 2, s_3))) return 0;
825
761
  return 1;
826
762
  }
827
763
 
828
764
  static int r_mark_ncA(struct SN_env * z) {
829
765
  { int ret = r_check_vowel_harmony(z);
830
- if (ret == 0) return 0; /* call check_vowel_harmony, line 241 */
831
- if (ret < 0) return ret;
766
+ if (ret <= 0) return ret;
832
767
  }
833
768
  if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
834
- if (!(find_among_b(z, a_11, 2))) return 0; /* among, line 242 */
769
+ if (!(find_among_b(z, a_11, 2))) return 0;
835
770
  { int ret = r_mark_suffix_with_optional_n_consonant(z);
836
- if (ret == 0) return 0; /* call mark_suffix_with_optional_n_consonant, line 243 */
837
- if (ret < 0) return ret;
771
+ if (ret <= 0) return ret;
838
772
  }
839
773
  return 1;
840
774
  }
841
775
 
842
776
  static int r_mark_yUm(struct SN_env * z) {
843
777
  { int ret = r_check_vowel_harmony(z);
844
- if (ret == 0) return 0; /* call check_vowel_harmony, line 247 */
845
- if (ret < 0) return ret;
778
+ if (ret <= 0) return ret;
846
779
  }
847
780
  if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109) return 0;
848
- if (!(find_among_b(z, a_12, 4))) return 0; /* among, line 248 */
781
+ if (!(find_among_b(z, a_12, 4))) return 0;
849
782
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
850
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 249 */
851
- if (ret < 0) return ret;
783
+ if (ret <= 0) return ret;
852
784
  }
853
785
  return 1;
854
786
  }
855
787
 
856
788
  static int r_mark_sUn(struct SN_env * z) {
857
789
  { int ret = r_check_vowel_harmony(z);
858
- if (ret == 0) return 0; /* call check_vowel_harmony, line 253 */
859
- if (ret < 0) return ret;
790
+ if (ret <= 0) return ret;
860
791
  }
861
792
  if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
862
- if (!(find_among_b(z, a_13, 4))) return 0; /* among, line 254 */
793
+ if (!(find_among_b(z, a_13, 4))) return 0;
863
794
  return 1;
864
795
  }
865
796
 
866
797
  static int r_mark_yUz(struct SN_env * z) {
867
798
  { int ret = r_check_vowel_harmony(z);
868
- if (ret == 0) return 0; /* call check_vowel_harmony, line 258 */
869
- if (ret < 0) return ret;
799
+ if (ret <= 0) return ret;
870
800
  }
871
801
  if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122) return 0;
872
- if (!(find_among_b(z, a_14, 4))) return 0; /* among, line 259 */
802
+ if (!(find_among_b(z, a_14, 4))) return 0;
873
803
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
874
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 260 */
875
- if (ret < 0) return ret;
804
+ if (ret <= 0) return ret;
876
805
  }
877
806
  return 1;
878
807
  }
879
808
 
880
809
  static int r_mark_sUnUz(struct SN_env * z) {
881
810
  if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122) return 0;
882
- if (!(find_among_b(z, a_15, 4))) return 0; /* among, line 264 */
811
+ if (!(find_among_b(z, a_15, 4))) return 0;
883
812
  return 1;
884
813
  }
885
814
 
886
815
  static int r_mark_lAr(struct SN_env * z) {
887
816
  { int ret = r_check_vowel_harmony(z);
888
- if (ret == 0) return 0; /* call check_vowel_harmony, line 268 */
889
- if (ret < 0) return ret;
817
+ if (ret <= 0) return ret;
890
818
  }
891
819
  if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
892
- if (!(find_among_b(z, a_16, 2))) return 0; /* among, line 269 */
820
+ if (!(find_among_b(z, a_16, 2))) return 0;
893
821
  return 1;
894
822
  }
895
823
 
896
824
  static int r_mark_nUz(struct SN_env * z) {
897
825
  { int ret = r_check_vowel_harmony(z);
898
- if (ret == 0) return 0; /* call check_vowel_harmony, line 273 */
899
- if (ret < 0) return ret;
826
+ if (ret <= 0) return ret;
900
827
  }
901
828
  if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122) return 0;
902
- if (!(find_among_b(z, a_17, 4))) return 0; /* among, line 274 */
829
+ if (!(find_among_b(z, a_17, 4))) return 0;
903
830
  return 1;
904
831
  }
905
832
 
906
833
  static int r_mark_DUr(struct SN_env * z) {
907
834
  { int ret = r_check_vowel_harmony(z);
908
- if (ret == 0) return 0; /* call check_vowel_harmony, line 278 */
909
- if (ret < 0) return ret;
835
+ if (ret <= 0) return ret;
910
836
  }
911
837
  if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
912
- if (!(find_among_b(z, a_18, 8))) return 0; /* among, line 279 */
838
+ if (!(find_among_b(z, a_18, 8))) return 0;
913
839
  return 1;
914
840
  }
915
841
 
916
842
  static int r_mark_cAsInA(struct SN_env * z) {
917
843
  if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
918
- if (!(find_among_b(z, a_19, 2))) return 0; /* among, line 283 */
844
+ if (!(find_among_b(z, a_19, 2))) return 0;
919
845
  return 1;
920
846
  }
921
847
 
922
848
  static int r_mark_yDU(struct SN_env * z) {
923
849
  { int ret = r_check_vowel_harmony(z);
924
- if (ret == 0) return 0; /* call check_vowel_harmony, line 287 */
925
- if (ret < 0) return ret;
850
+ if (ret <= 0) return ret;
926
851
  }
927
- if (!(find_among_b(z, a_20, 32))) return 0; /* among, line 288 */
852
+ if (!(find_among_b(z, a_20, 32))) return 0;
928
853
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
929
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 292 */
930
- if (ret < 0) return ret;
854
+ if (ret <= 0) return ret;
931
855
  }
932
856
  return 1;
933
857
  }
934
858
 
935
859
  static int r_mark_ysA(struct SN_env * z) {
936
860
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
937
- if (!(find_among_b(z, a_21, 8))) return 0; /* among, line 297 */
861
+ if (!(find_among_b(z, a_21, 8))) return 0;
938
862
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
939
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 298 */
940
- if (ret < 0) return ret;
863
+ if (ret <= 0) return ret;
941
864
  }
942
865
  return 1;
943
866
  }
944
867
 
945
868
  static int r_mark_ymUs_(struct SN_env * z) {
946
869
  { int ret = r_check_vowel_harmony(z);
947
- if (ret == 0) return 0; /* call check_vowel_harmony, line 302 */
948
- if (ret < 0) return ret;
870
+ if (ret <= 0) return ret;
949
871
  }
950
872
  if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159) return 0;
951
- if (!(find_among_b(z, a_22, 4))) return 0; /* among, line 303 */
873
+ if (!(find_among_b(z, a_22, 4))) return 0;
952
874
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
953
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 304 */
954
- if (ret < 0) return ret;
875
+ if (ret <= 0) return ret;
955
876
  }
956
877
  return 1;
957
878
  }
958
879
 
959
880
  static int r_mark_yken(struct SN_env * z) {
960
- if (!(eq_s_b(z, 3, s_15))) return 0;
881
+ if (!(eq_s_b(z, 3, s_4))) return 0;
961
882
  { int ret = r_mark_suffix_with_optional_y_consonant(z);
962
- if (ret == 0) return 0; /* call mark_suffix_with_optional_y_consonant, line 308 */
963
- if (ret < 0) return ret;
883
+ if (ret <= 0) return ret;
964
884
  }
965
885
  return 1;
966
886
  }
967
887
 
968
888
  static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
969
- z->ket = z->c; /* [, line 312 */
970
- z->B[0] = 1; /* set continue_stemming_noun_suffixes, line 313 */
971
- { int m1 = z->l - z->c; (void)m1; /* or, line 315 */
972
- { int m2 = z->l - z->c; (void)m2; /* or, line 314 */
889
+ z->ket = z->c;
890
+ z->I[0] = 1;
891
+ { int m1 = z->l - z->c; (void)m1;
892
+ { int m2 = z->l - z->c; (void)m2;
973
893
  { int ret = r_mark_ymUs_(z);
974
- if (ret == 0) goto lab3; /* call mark_ymUs_, line 314 */
894
+ if (ret == 0) goto lab3;
975
895
  if (ret < 0) return ret;
976
896
  }
977
897
  goto lab2;
978
898
  lab3:
979
899
  z->c = z->l - m2;
980
900
  { int ret = r_mark_yDU(z);
981
- if (ret == 0) goto lab4; /* call mark_yDU, line 314 */
901
+ if (ret == 0) goto lab4;
982
902
  if (ret < 0) return ret;
983
903
  }
984
904
  goto lab2;
985
905
  lab4:
986
906
  z->c = z->l - m2;
987
907
  { int ret = r_mark_ysA(z);
988
- if (ret == 0) goto lab5; /* call mark_ysA, line 314 */
908
+ if (ret == 0) goto lab5;
989
909
  if (ret < 0) return ret;
990
910
  }
991
911
  goto lab2;
992
912
  lab5:
993
913
  z->c = z->l - m2;
994
914
  { int ret = r_mark_yken(z);
995
- if (ret == 0) goto lab1; /* call mark_yken, line 314 */
915
+ if (ret == 0) goto lab1;
996
916
  if (ret < 0) return ret;
997
917
  }
998
918
  }
@@ -1001,40 +921,40 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
1001
921
  lab1:
1002
922
  z->c = z->l - m1;
1003
923
  { int ret = r_mark_cAsInA(z);
1004
- if (ret == 0) goto lab6; /* call mark_cAsInA, line 316 */
924
+ if (ret == 0) goto lab6;
1005
925
  if (ret < 0) return ret;
1006
926
  }
1007
- { int m3 = z->l - z->c; (void)m3; /* or, line 316 */
927
+ { int m3 = z->l - z->c; (void)m3;
1008
928
  { int ret = r_mark_sUnUz(z);
1009
- if (ret == 0) goto lab8; /* call mark_sUnUz, line 316 */
929
+ if (ret == 0) goto lab8;
1010
930
  if (ret < 0) return ret;
1011
931
  }
1012
932
  goto lab7;
1013
933
  lab8:
1014
934
  z->c = z->l - m3;
1015
935
  { int ret = r_mark_lAr(z);
1016
- if (ret == 0) goto lab9; /* call mark_lAr, line 316 */
936
+ if (ret == 0) goto lab9;
1017
937
  if (ret < 0) return ret;
1018
938
  }
1019
939
  goto lab7;
1020
940
  lab9:
1021
941
  z->c = z->l - m3;
1022
942
  { int ret = r_mark_yUm(z);
1023
- if (ret == 0) goto lab10; /* call mark_yUm, line 316 */
943
+ if (ret == 0) goto lab10;
1024
944
  if (ret < 0) return ret;
1025
945
  }
1026
946
  goto lab7;
1027
947
  lab10:
1028
948
  z->c = z->l - m3;
1029
949
  { int ret = r_mark_sUn(z);
1030
- if (ret == 0) goto lab11; /* call mark_sUn, line 316 */
950
+ if (ret == 0) goto lab11;
1031
951
  if (ret < 0) return ret;
1032
952
  }
1033
953
  goto lab7;
1034
954
  lab11:
1035
955
  z->c = z->l - m3;
1036
956
  { int ret = r_mark_yUz(z);
1037
- if (ret == 0) goto lab12; /* call mark_yUz, line 316 */
957
+ if (ret == 0) goto lab12;
1038
958
  if (ret < 0) return ret;
1039
959
  }
1040
960
  goto lab7;
@@ -1043,46 +963,46 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
1043
963
  }
1044
964
  lab7:
1045
965
  { int ret = r_mark_ymUs_(z);
1046
- if (ret == 0) goto lab6; /* call mark_ymUs_, line 316 */
966
+ if (ret == 0) goto lab6;
1047
967
  if (ret < 0) return ret;
1048
968
  }
1049
969
  goto lab0;
1050
970
  lab6:
1051
971
  z->c = z->l - m1;
1052
972
  { int ret = r_mark_lAr(z);
1053
- if (ret == 0) goto lab13; /* call mark_lAr, line 319 */
973
+ if (ret == 0) goto lab13;
1054
974
  if (ret < 0) return ret;
1055
975
  }
1056
- z->bra = z->c; /* ], line 319 */
1057
- { int ret = slice_del(z); /* delete, line 319 */
976
+ z->bra = z->c;
977
+ { int ret = slice_del(z);
1058
978
  if (ret < 0) return ret;
1059
979
  }
1060
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 319 */
1061
- z->ket = z->c; /* [, line 319 */
1062
- { int m4 = z->l - z->c; (void)m4; /* or, line 319 */
980
+ { int m4 = z->l - z->c; (void)m4;
981
+ z->ket = z->c;
982
+ { int m5 = z->l - z->c; (void)m5;
1063
983
  { int ret = r_mark_DUr(z);
1064
- if (ret == 0) goto lab16; /* call mark_DUr, line 319 */
984
+ if (ret == 0) goto lab16;
1065
985
  if (ret < 0) return ret;
1066
986
  }
1067
987
  goto lab15;
1068
988
  lab16:
1069
- z->c = z->l - m4;
989
+ z->c = z->l - m5;
1070
990
  { int ret = r_mark_yDU(z);
1071
- if (ret == 0) goto lab17; /* call mark_yDU, line 319 */
991
+ if (ret == 0) goto lab17;
1072
992
  if (ret < 0) return ret;
1073
993
  }
1074
994
  goto lab15;
1075
995
  lab17:
1076
- z->c = z->l - m4;
996
+ z->c = z->l - m5;
1077
997
  { int ret = r_mark_ysA(z);
1078
- if (ret == 0) goto lab18; /* call mark_ysA, line 319 */
998
+ if (ret == 0) goto lab18;
1079
999
  if (ret < 0) return ret;
1080
1000
  }
1081
1001
  goto lab15;
1082
1002
  lab18:
1083
- z->c = z->l - m4;
1003
+ z->c = z->l - m5;
1084
1004
  { int ret = r_mark_ymUs_(z);
1085
- if (ret == 0) { z->c = z->l - m_keep; goto lab14; } /* call mark_ymUs_, line 319 */
1005
+ if (ret == 0) { z->c = z->l - m4; goto lab14; }
1086
1006
  if (ret < 0) return ret;
1087
1007
  }
1088
1008
  }
@@ -1090,24 +1010,24 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
1090
1010
  lab14:
1091
1011
  ;
1092
1012
  }
1093
- z->B[0] = 0; /* unset continue_stemming_noun_suffixes, line 320 */
1013
+ z->I[0] = 0;
1094
1014
  goto lab0;
1095
1015
  lab13:
1096
1016
  z->c = z->l - m1;
1097
1017
  { int ret = r_mark_nUz(z);
1098
- if (ret == 0) goto lab19; /* call mark_nUz, line 323 */
1018
+ if (ret == 0) goto lab19;
1099
1019
  if (ret < 0) return ret;
1100
1020
  }
1101
- { int m5 = z->l - z->c; (void)m5; /* or, line 323 */
1021
+ { int m6 = z->l - z->c; (void)m6;
1102
1022
  { int ret = r_mark_yDU(z);
1103
- if (ret == 0) goto lab21; /* call mark_yDU, line 323 */
1023
+ if (ret == 0) goto lab21;
1104
1024
  if (ret < 0) return ret;
1105
1025
  }
1106
1026
  goto lab20;
1107
1027
  lab21:
1108
- z->c = z->l - m5;
1028
+ z->c = z->l - m6;
1109
1029
  { int ret = r_mark_ysA(z);
1110
- if (ret == 0) goto lab19; /* call mark_ysA, line 323 */
1030
+ if (ret == 0) goto lab19;
1111
1031
  if (ret < 0) return ret;
1112
1032
  }
1113
1033
  }
@@ -1115,42 +1035,42 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
1115
1035
  goto lab0;
1116
1036
  lab19:
1117
1037
  z->c = z->l - m1;
1118
- { int m6 = z->l - z->c; (void)m6; /* or, line 325 */
1038
+ { int m7 = z->l - z->c; (void)m7;
1119
1039
  { int ret = r_mark_sUnUz(z);
1120
- if (ret == 0) goto lab24; /* call mark_sUnUz, line 325 */
1040
+ if (ret == 0) goto lab24;
1121
1041
  if (ret < 0) return ret;
1122
1042
  }
1123
1043
  goto lab23;
1124
1044
  lab24:
1125
- z->c = z->l - m6;
1045
+ z->c = z->l - m7;
1126
1046
  { int ret = r_mark_yUz(z);
1127
- if (ret == 0) goto lab25; /* call mark_yUz, line 325 */
1047
+ if (ret == 0) goto lab25;
1128
1048
  if (ret < 0) return ret;
1129
1049
  }
1130
1050
  goto lab23;
1131
1051
  lab25:
1132
- z->c = z->l - m6;
1052
+ z->c = z->l - m7;
1133
1053
  { int ret = r_mark_sUn(z);
1134
- if (ret == 0) goto lab26; /* call mark_sUn, line 325 */
1054
+ if (ret == 0) goto lab26;
1135
1055
  if (ret < 0) return ret;
1136
1056
  }
1137
1057
  goto lab23;
1138
1058
  lab26:
1139
- z->c = z->l - m6;
1059
+ z->c = z->l - m7;
1140
1060
  { int ret = r_mark_yUm(z);
1141
- if (ret == 0) goto lab22; /* call mark_yUm, line 325 */
1061
+ if (ret == 0) goto lab22;
1142
1062
  if (ret < 0) return ret;
1143
1063
  }
1144
1064
  }
1145
1065
  lab23:
1146
- z->bra = z->c; /* ], line 325 */
1147
- { int ret = slice_del(z); /* delete, line 325 */
1066
+ z->bra = z->c;
1067
+ { int ret = slice_del(z);
1148
1068
  if (ret < 0) return ret;
1149
1069
  }
1150
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 325 */
1151
- z->ket = z->c; /* [, line 325 */
1070
+ { int m8 = z->l - z->c; (void)m8;
1071
+ z->ket = z->c;
1152
1072
  { int ret = r_mark_ymUs_(z);
1153
- if (ret == 0) { z->c = z->l - m_keep; goto lab27; } /* call mark_ymUs_, line 325 */
1073
+ if (ret == 0) { z->c = z->l - m8; goto lab27; }
1154
1074
  if (ret < 0) return ret;
1155
1075
  }
1156
1076
  lab27:
@@ -1160,55 +1080,54 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
1160
1080
  lab22:
1161
1081
  z->c = z->l - m1;
1162
1082
  { int ret = r_mark_DUr(z);
1163
- if (ret == 0) return 0; /* call mark_DUr, line 327 */
1164
- if (ret < 0) return ret;
1083
+ if (ret <= 0) return ret;
1165
1084
  }
1166
- z->bra = z->c; /* ], line 327 */
1167
- { int ret = slice_del(z); /* delete, line 327 */
1085
+ z->bra = z->c;
1086
+ { int ret = slice_del(z);
1168
1087
  if (ret < 0) return ret;
1169
1088
  }
1170
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 327 */
1171
- z->ket = z->c; /* [, line 327 */
1172
- { int m7 = z->l - z->c; (void)m7; /* or, line 327 */
1089
+ { int m9 = z->l - z->c; (void)m9;
1090
+ z->ket = z->c;
1091
+ { int m10 = z->l - z->c; (void)m10;
1173
1092
  { int ret = r_mark_sUnUz(z);
1174
- if (ret == 0) goto lab30; /* call mark_sUnUz, line 327 */
1093
+ if (ret == 0) goto lab30;
1175
1094
  if (ret < 0) return ret;
1176
1095
  }
1177
1096
  goto lab29;
1178
1097
  lab30:
1179
- z->c = z->l - m7;
1098
+ z->c = z->l - m10;
1180
1099
  { int ret = r_mark_lAr(z);
1181
- if (ret == 0) goto lab31; /* call mark_lAr, line 327 */
1100
+ if (ret == 0) goto lab31;
1182
1101
  if (ret < 0) return ret;
1183
1102
  }
1184
1103
  goto lab29;
1185
1104
  lab31:
1186
- z->c = z->l - m7;
1105
+ z->c = z->l - m10;
1187
1106
  { int ret = r_mark_yUm(z);
1188
- if (ret == 0) goto lab32; /* call mark_yUm, line 327 */
1107
+ if (ret == 0) goto lab32;
1189
1108
  if (ret < 0) return ret;
1190
1109
  }
1191
1110
  goto lab29;
1192
1111
  lab32:
1193
- z->c = z->l - m7;
1112
+ z->c = z->l - m10;
1194
1113
  { int ret = r_mark_sUn(z);
1195
- if (ret == 0) goto lab33; /* call mark_sUn, line 327 */
1114
+ if (ret == 0) goto lab33;
1196
1115
  if (ret < 0) return ret;
1197
1116
  }
1198
1117
  goto lab29;
1199
1118
  lab33:
1200
- z->c = z->l - m7;
1119
+ z->c = z->l - m10;
1201
1120
  { int ret = r_mark_yUz(z);
1202
- if (ret == 0) goto lab34; /* call mark_yUz, line 327 */
1121
+ if (ret == 0) goto lab34;
1203
1122
  if (ret < 0) return ret;
1204
1123
  }
1205
1124
  goto lab29;
1206
1125
  lab34:
1207
- z->c = z->l - m7;
1126
+ z->c = z->l - m10;
1208
1127
  }
1209
1128
  lab29:
1210
1129
  { int ret = r_mark_ymUs_(z);
1211
- if (ret == 0) { z->c = z->l - m_keep; goto lab28; } /* call mark_ymUs_, line 327 */
1130
+ if (ret == 0) { z->c = z->l - m9; goto lab28; }
1212
1131
  if (ret < 0) return ret;
1213
1132
  }
1214
1133
  lab28:
@@ -1216,42 +1135,41 @@ static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
1216
1135
  }
1217
1136
  }
1218
1137
  lab0:
1219
- z->bra = z->c; /* ], line 328 */
1220
- { int ret = slice_del(z); /* delete, line 328 */
1138
+ z->bra = z->c;
1139
+ { int ret = slice_del(z);
1221
1140
  if (ret < 0) return ret;
1222
1141
  }
1223
1142
  return 1;
1224
1143
  }
1225
1144
 
1226
1145
  static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1227
- z->ket = z->c; /* [, line 333 */
1146
+ z->ket = z->c;
1228
1147
  { int ret = r_mark_ki(z);
1229
- if (ret == 0) return 0; /* call mark_ki, line 334 */
1230
- if (ret < 0) return ret;
1148
+ if (ret <= 0) return ret;
1231
1149
  }
1232
- { int m1 = z->l - z->c; (void)m1; /* or, line 342 */
1150
+ { int m1 = z->l - z->c; (void)m1;
1233
1151
  { int ret = r_mark_DA(z);
1234
- if (ret == 0) goto lab1; /* call mark_DA, line 336 */
1152
+ if (ret == 0) goto lab1;
1235
1153
  if (ret < 0) return ret;
1236
1154
  }
1237
- z->bra = z->c; /* ], line 336 */
1238
- { int ret = slice_del(z); /* delete, line 336 */
1155
+ z->bra = z->c;
1156
+ { int ret = slice_del(z);
1239
1157
  if (ret < 0) return ret;
1240
1158
  }
1241
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 336 */
1242
- z->ket = z->c; /* [, line 336 */
1243
- { int m2 = z->l - z->c; (void)m2; /* or, line 338 */
1159
+ { int m2 = z->l - z->c; (void)m2;
1160
+ z->ket = z->c;
1161
+ { int m3 = z->l - z->c; (void)m3;
1244
1162
  { int ret = r_mark_lAr(z);
1245
- if (ret == 0) goto lab4; /* call mark_lAr, line 337 */
1163
+ if (ret == 0) goto lab4;
1246
1164
  if (ret < 0) return ret;
1247
1165
  }
1248
- z->bra = z->c; /* ], line 337 */
1249
- { int ret = slice_del(z); /* delete, line 337 */
1166
+ z->bra = z->c;
1167
+ { int ret = slice_del(z);
1250
1168
  if (ret < 0) return ret;
1251
1169
  }
1252
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 337 */
1170
+ { int m4 = z->l - z->c; (void)m4;
1253
1171
  { int ret = r_stem_suffix_chain_before_ki(z);
1254
- if (ret == 0) { z->c = z->l - m_keep; goto lab5; } /* call stem_suffix_chain_before_ki, line 337 */
1172
+ if (ret == 0) { z->c = z->l - m4; goto lab5; }
1255
1173
  if (ret < 0) return ret;
1256
1174
  }
1257
1175
  lab5:
@@ -1259,27 +1177,27 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1259
1177
  }
1260
1178
  goto lab3;
1261
1179
  lab4:
1262
- z->c = z->l - m2;
1180
+ z->c = z->l - m3;
1263
1181
  { int ret = r_mark_possessives(z);
1264
- if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call mark_possessives, line 339 */
1182
+ if (ret == 0) { z->c = z->l - m2; goto lab2; }
1265
1183
  if (ret < 0) return ret;
1266
1184
  }
1267
- z->bra = z->c; /* ], line 339 */
1268
- { int ret = slice_del(z); /* delete, line 339 */
1185
+ z->bra = z->c;
1186
+ { int ret = slice_del(z);
1269
1187
  if (ret < 0) return ret;
1270
1188
  }
1271
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 339 */
1272
- z->ket = z->c; /* [, line 339 */
1189
+ { int m5 = z->l - z->c; (void)m5;
1190
+ z->ket = z->c;
1273
1191
  { int ret = r_mark_lAr(z);
1274
- if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call mark_lAr, line 339 */
1192
+ if (ret == 0) { z->c = z->l - m5; goto lab6; }
1275
1193
  if (ret < 0) return ret;
1276
1194
  }
1277
- z->bra = z->c; /* ], line 339 */
1278
- { int ret = slice_del(z); /* delete, line 339 */
1195
+ z->bra = z->c;
1196
+ { int ret = slice_del(z);
1279
1197
  if (ret < 0) return ret;
1280
1198
  }
1281
1199
  { int ret = r_stem_suffix_chain_before_ki(z);
1282
- if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call stem_suffix_chain_before_ki, line 339 */
1200
+ if (ret == 0) { z->c = z->l - m5; goto lab6; }
1283
1201
  if (ret < 0) return ret;
1284
1202
  }
1285
1203
  lab6:
@@ -1294,58 +1212,58 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1294
1212
  lab1:
1295
1213
  z->c = z->l - m1;
1296
1214
  { int ret = r_mark_nUn(z);
1297
- if (ret == 0) goto lab7; /* call mark_nUn, line 343 */
1215
+ if (ret == 0) goto lab7;
1298
1216
  if (ret < 0) return ret;
1299
1217
  }
1300
- z->bra = z->c; /* ], line 343 */
1301
- { int ret = slice_del(z); /* delete, line 343 */
1218
+ z->bra = z->c;
1219
+ { int ret = slice_del(z);
1302
1220
  if (ret < 0) return ret;
1303
1221
  }
1304
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 343 */
1305
- z->ket = z->c; /* [, line 343 */
1306
- { int m3 = z->l - z->c; (void)m3; /* or, line 345 */
1222
+ { int m6 = z->l - z->c; (void)m6;
1223
+ z->ket = z->c;
1224
+ { int m7 = z->l - z->c; (void)m7;
1307
1225
  { int ret = r_mark_lArI(z);
1308
- if (ret == 0) goto lab10; /* call mark_lArI, line 344 */
1226
+ if (ret == 0) goto lab10;
1309
1227
  if (ret < 0) return ret;
1310
1228
  }
1311
- z->bra = z->c; /* ], line 344 */
1312
- { int ret = slice_del(z); /* delete, line 344 */
1229
+ z->bra = z->c;
1230
+ { int ret = slice_del(z);
1313
1231
  if (ret < 0) return ret;
1314
1232
  }
1315
1233
  goto lab9;
1316
1234
  lab10:
1317
- z->c = z->l - m3;
1318
- z->ket = z->c; /* [, line 346 */
1319
- { int m4 = z->l - z->c; (void)m4; /* or, line 346 */
1235
+ z->c = z->l - m7;
1236
+ z->ket = z->c;
1237
+ { int m8 = z->l - z->c; (void)m8;
1320
1238
  { int ret = r_mark_possessives(z);
1321
- if (ret == 0) goto lab13; /* call mark_possessives, line 346 */
1239
+ if (ret == 0) goto lab13;
1322
1240
  if (ret < 0) return ret;
1323
1241
  }
1324
1242
  goto lab12;
1325
1243
  lab13:
1326
- z->c = z->l - m4;
1244
+ z->c = z->l - m8;
1327
1245
  { int ret = r_mark_sU(z);
1328
- if (ret == 0) goto lab11; /* call mark_sU, line 346 */
1246
+ if (ret == 0) goto lab11;
1329
1247
  if (ret < 0) return ret;
1330
1248
  }
1331
1249
  }
1332
1250
  lab12:
1333
- z->bra = z->c; /* ], line 346 */
1334
- { int ret = slice_del(z); /* delete, line 346 */
1251
+ z->bra = z->c;
1252
+ { int ret = slice_del(z);
1335
1253
  if (ret < 0) return ret;
1336
1254
  }
1337
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 346 */
1338
- z->ket = z->c; /* [, line 346 */
1255
+ { int m9 = z->l - z->c; (void)m9;
1256
+ z->ket = z->c;
1339
1257
  { int ret = r_mark_lAr(z);
1340
- if (ret == 0) { z->c = z->l - m_keep; goto lab14; } /* call mark_lAr, line 346 */
1258
+ if (ret == 0) { z->c = z->l - m9; goto lab14; }
1341
1259
  if (ret < 0) return ret;
1342
1260
  }
1343
- z->bra = z->c; /* ], line 346 */
1344
- { int ret = slice_del(z); /* delete, line 346 */
1261
+ z->bra = z->c;
1262
+ { int ret = slice_del(z);
1345
1263
  if (ret < 0) return ret;
1346
1264
  }
1347
1265
  { int ret = r_stem_suffix_chain_before_ki(z);
1348
- if (ret == 0) { z->c = z->l - m_keep; goto lab14; } /* call stem_suffix_chain_before_ki, line 346 */
1266
+ if (ret == 0) { z->c = z->l - m9; goto lab14; }
1349
1267
  if (ret < 0) return ret;
1350
1268
  }
1351
1269
  lab14:
@@ -1353,9 +1271,9 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1353
1271
  }
1354
1272
  goto lab9;
1355
1273
  lab11:
1356
- z->c = z->l - m3;
1274
+ z->c = z->l - m7;
1357
1275
  { int ret = r_stem_suffix_chain_before_ki(z);
1358
- if (ret == 0) { z->c = z->l - m_keep; goto lab8; } /* call stem_suffix_chain_before_ki, line 348 */
1276
+ if (ret == 0) { z->c = z->l - m6; goto lab8; }
1359
1277
  if (ret < 0) return ret;
1360
1278
  }
1361
1279
  }
@@ -1367,41 +1285,40 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1367
1285
  lab7:
1368
1286
  z->c = z->l - m1;
1369
1287
  { int ret = r_mark_ndA(z);
1370
- if (ret == 0) return 0; /* call mark_ndA, line 351 */
1371
- if (ret < 0) return ret;
1288
+ if (ret <= 0) return ret;
1372
1289
  }
1373
- { int m5 = z->l - z->c; (void)m5; /* or, line 353 */
1290
+ { int m10 = z->l - z->c; (void)m10;
1374
1291
  { int ret = r_mark_lArI(z);
1375
- if (ret == 0) goto lab16; /* call mark_lArI, line 352 */
1292
+ if (ret == 0) goto lab16;
1376
1293
  if (ret < 0) return ret;
1377
1294
  }
1378
- z->bra = z->c; /* ], line 352 */
1379
- { int ret = slice_del(z); /* delete, line 352 */
1295
+ z->bra = z->c;
1296
+ { int ret = slice_del(z);
1380
1297
  if (ret < 0) return ret;
1381
1298
  }
1382
1299
  goto lab15;
1383
1300
  lab16:
1384
- z->c = z->l - m5;
1301
+ z->c = z->l - m10;
1385
1302
  { int ret = r_mark_sU(z);
1386
- if (ret == 0) goto lab17; /* call mark_sU, line 354 */
1303
+ if (ret == 0) goto lab17;
1387
1304
  if (ret < 0) return ret;
1388
1305
  }
1389
- z->bra = z->c; /* ], line 354 */
1390
- { int ret = slice_del(z); /* delete, line 354 */
1306
+ z->bra = z->c;
1307
+ { int ret = slice_del(z);
1391
1308
  if (ret < 0) return ret;
1392
1309
  }
1393
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 354 */
1394
- z->ket = z->c; /* [, line 354 */
1310
+ { int m11 = z->l - z->c; (void)m11;
1311
+ z->ket = z->c;
1395
1312
  { int ret = r_mark_lAr(z);
1396
- if (ret == 0) { z->c = z->l - m_keep; goto lab18; } /* call mark_lAr, line 354 */
1313
+ if (ret == 0) { z->c = z->l - m11; goto lab18; }
1397
1314
  if (ret < 0) return ret;
1398
1315
  }
1399
- z->bra = z->c; /* ], line 354 */
1400
- { int ret = slice_del(z); /* delete, line 354 */
1316
+ z->bra = z->c;
1317
+ { int ret = slice_del(z);
1401
1318
  if (ret < 0) return ret;
1402
1319
  }
1403
1320
  { int ret = r_stem_suffix_chain_before_ki(z);
1404
- if (ret == 0) { z->c = z->l - m_keep; goto lab18; } /* call stem_suffix_chain_before_ki, line 354 */
1321
+ if (ret == 0) { z->c = z->l - m11; goto lab18; }
1405
1322
  if (ret < 0) return ret;
1406
1323
  }
1407
1324
  lab18:
@@ -1409,10 +1326,9 @@ static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1409
1326
  }
1410
1327
  goto lab15;
1411
1328
  lab17:
1412
- z->c = z->l - m5;
1329
+ z->c = z->l - m10;
1413
1330
  { int ret = r_stem_suffix_chain_before_ki(z);
1414
- if (ret == 0) return 0; /* call stem_suffix_chain_before_ki, line 356 */
1415
- if (ret < 0) return ret;
1331
+ if (ret <= 0) return ret;
1416
1332
  }
1417
1333
  }
1418
1334
  lab15:
@@ -1423,19 +1339,19 @@ lab0:
1423
1339
  }
1424
1340
 
1425
1341
  static int r_stem_noun_suffixes(struct SN_env * z) {
1426
- { int m1 = z->l - z->c; (void)m1; /* or, line 363 */
1427
- z->ket = z->c; /* [, line 362 */
1342
+ { int m1 = z->l - z->c; (void)m1;
1343
+ z->ket = z->c;
1428
1344
  { int ret = r_mark_lAr(z);
1429
- if (ret == 0) goto lab1; /* call mark_lAr, line 362 */
1345
+ if (ret == 0) goto lab1;
1430
1346
  if (ret < 0) return ret;
1431
1347
  }
1432
- z->bra = z->c; /* ], line 362 */
1433
- { int ret = slice_del(z); /* delete, line 362 */
1348
+ z->bra = z->c;
1349
+ { int ret = slice_del(z);
1434
1350
  if (ret < 0) return ret;
1435
1351
  }
1436
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 362 */
1352
+ { int m2 = z->l - z->c; (void)m2;
1437
1353
  { int ret = r_stem_suffix_chain_before_ki(z);
1438
- if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call stem_suffix_chain_before_ki, line 362 */
1354
+ if (ret == 0) { z->c = z->l - m2; goto lab2; }
1439
1355
  if (ret < 0) return ret;
1440
1356
  }
1441
1357
  lab2:
@@ -1444,60 +1360,60 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1444
1360
  goto lab0;
1445
1361
  lab1:
1446
1362
  z->c = z->l - m1;
1447
- z->ket = z->c; /* [, line 364 */
1363
+ z->ket = z->c;
1448
1364
  { int ret = r_mark_ncA(z);
1449
- if (ret == 0) goto lab3; /* call mark_ncA, line 364 */
1365
+ if (ret == 0) goto lab3;
1450
1366
  if (ret < 0) return ret;
1451
1367
  }
1452
- z->bra = z->c; /* ], line 364 */
1453
- { int ret = slice_del(z); /* delete, line 364 */
1368
+ z->bra = z->c;
1369
+ { int ret = slice_del(z);
1454
1370
  if (ret < 0) return ret;
1455
1371
  }
1456
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 365 */
1457
- { int m2 = z->l - z->c; (void)m2; /* or, line 367 */
1458
- z->ket = z->c; /* [, line 366 */
1372
+ { int m3 = z->l - z->c; (void)m3;
1373
+ { int m4 = z->l - z->c; (void)m4;
1374
+ z->ket = z->c;
1459
1375
  { int ret = r_mark_lArI(z);
1460
- if (ret == 0) goto lab6; /* call mark_lArI, line 366 */
1376
+ if (ret == 0) goto lab6;
1461
1377
  if (ret < 0) return ret;
1462
1378
  }
1463
- z->bra = z->c; /* ], line 366 */
1464
- { int ret = slice_del(z); /* delete, line 366 */
1379
+ z->bra = z->c;
1380
+ { int ret = slice_del(z);
1465
1381
  if (ret < 0) return ret;
1466
1382
  }
1467
1383
  goto lab5;
1468
1384
  lab6:
1469
- z->c = z->l - m2;
1470
- z->ket = z->c; /* [, line 368 */
1471
- { int m3 = z->l - z->c; (void)m3; /* or, line 368 */
1385
+ z->c = z->l - m4;
1386
+ z->ket = z->c;
1387
+ { int m5 = z->l - z->c; (void)m5;
1472
1388
  { int ret = r_mark_possessives(z);
1473
- if (ret == 0) goto lab9; /* call mark_possessives, line 368 */
1389
+ if (ret == 0) goto lab9;
1474
1390
  if (ret < 0) return ret;
1475
1391
  }
1476
1392
  goto lab8;
1477
1393
  lab9:
1478
- z->c = z->l - m3;
1394
+ z->c = z->l - m5;
1479
1395
  { int ret = r_mark_sU(z);
1480
- if (ret == 0) goto lab7; /* call mark_sU, line 368 */
1396
+ if (ret == 0) goto lab7;
1481
1397
  if (ret < 0) return ret;
1482
1398
  }
1483
1399
  }
1484
1400
  lab8:
1485
- z->bra = z->c; /* ], line 368 */
1486
- { int ret = slice_del(z); /* delete, line 368 */
1401
+ z->bra = z->c;
1402
+ { int ret = slice_del(z);
1487
1403
  if (ret < 0) return ret;
1488
1404
  }
1489
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 368 */
1490
- z->ket = z->c; /* [, line 368 */
1405
+ { int m6 = z->l - z->c; (void)m6;
1406
+ z->ket = z->c;
1491
1407
  { int ret = r_mark_lAr(z);
1492
- if (ret == 0) { z->c = z->l - m_keep; goto lab10; } /* call mark_lAr, line 368 */
1408
+ if (ret == 0) { z->c = z->l - m6; goto lab10; }
1493
1409
  if (ret < 0) return ret;
1494
1410
  }
1495
- z->bra = z->c; /* ], line 368 */
1496
- { int ret = slice_del(z); /* delete, line 368 */
1411
+ z->bra = z->c;
1412
+ { int ret = slice_del(z);
1497
1413
  if (ret < 0) return ret;
1498
1414
  }
1499
1415
  { int ret = r_stem_suffix_chain_before_ki(z);
1500
- if (ret == 0) { z->c = z->l - m_keep; goto lab10; } /* call stem_suffix_chain_before_ki, line 368 */
1416
+ if (ret == 0) { z->c = z->l - m6; goto lab10; }
1501
1417
  if (ret < 0) return ret;
1502
1418
  }
1503
1419
  lab10:
@@ -1505,18 +1421,18 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1505
1421
  }
1506
1422
  goto lab5;
1507
1423
  lab7:
1508
- z->c = z->l - m2;
1509
- z->ket = z->c; /* [, line 370 */
1424
+ z->c = z->l - m4;
1425
+ z->ket = z->c;
1510
1426
  { int ret = r_mark_lAr(z);
1511
- if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call mark_lAr, line 370 */
1427
+ if (ret == 0) { z->c = z->l - m3; goto lab4; }
1512
1428
  if (ret < 0) return ret;
1513
1429
  }
1514
- z->bra = z->c; /* ], line 370 */
1515
- { int ret = slice_del(z); /* delete, line 370 */
1430
+ z->bra = z->c;
1431
+ { int ret = slice_del(z);
1516
1432
  if (ret < 0) return ret;
1517
1433
  }
1518
1434
  { int ret = r_stem_suffix_chain_before_ki(z);
1519
- if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call stem_suffix_chain_before_ki, line 370 */
1435
+ if (ret == 0) { z->c = z->l - m3; goto lab4; }
1520
1436
  if (ret < 0) return ret;
1521
1437
  }
1522
1438
  }
@@ -1527,53 +1443,53 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1527
1443
  goto lab0;
1528
1444
  lab3:
1529
1445
  z->c = z->l - m1;
1530
- z->ket = z->c; /* [, line 374 */
1531
- { int m4 = z->l - z->c; (void)m4; /* or, line 374 */
1446
+ z->ket = z->c;
1447
+ { int m7 = z->l - z->c; (void)m7;
1532
1448
  { int ret = r_mark_ndA(z);
1533
- if (ret == 0) goto lab13; /* call mark_ndA, line 374 */
1449
+ if (ret == 0) goto lab13;
1534
1450
  if (ret < 0) return ret;
1535
1451
  }
1536
1452
  goto lab12;
1537
1453
  lab13:
1538
- z->c = z->l - m4;
1454
+ z->c = z->l - m7;
1539
1455
  { int ret = r_mark_nA(z);
1540
- if (ret == 0) goto lab11; /* call mark_nA, line 374 */
1456
+ if (ret == 0) goto lab11;
1541
1457
  if (ret < 0) return ret;
1542
1458
  }
1543
1459
  }
1544
1460
  lab12:
1545
- { int m5 = z->l - z->c; (void)m5; /* or, line 377 */
1461
+ { int m8 = z->l - z->c; (void)m8;
1546
1462
  { int ret = r_mark_lArI(z);
1547
- if (ret == 0) goto lab15; /* call mark_lArI, line 376 */
1463
+ if (ret == 0) goto lab15;
1548
1464
  if (ret < 0) return ret;
1549
1465
  }
1550
- z->bra = z->c; /* ], line 376 */
1551
- { int ret = slice_del(z); /* delete, line 376 */
1466
+ z->bra = z->c;
1467
+ { int ret = slice_del(z);
1552
1468
  if (ret < 0) return ret;
1553
1469
  }
1554
1470
  goto lab14;
1555
1471
  lab15:
1556
- z->c = z->l - m5;
1472
+ z->c = z->l - m8;
1557
1473
  { int ret = r_mark_sU(z);
1558
- if (ret == 0) goto lab16; /* call mark_sU, line 378 */
1474
+ if (ret == 0) goto lab16;
1559
1475
  if (ret < 0) return ret;
1560
1476
  }
1561
- z->bra = z->c; /* ], line 378 */
1562
- { int ret = slice_del(z); /* delete, line 378 */
1477
+ z->bra = z->c;
1478
+ { int ret = slice_del(z);
1563
1479
  if (ret < 0) return ret;
1564
1480
  }
1565
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 378 */
1566
- z->ket = z->c; /* [, line 378 */
1481
+ { int m9 = z->l - z->c; (void)m9;
1482
+ z->ket = z->c;
1567
1483
  { int ret = r_mark_lAr(z);
1568
- if (ret == 0) { z->c = z->l - m_keep; goto lab17; } /* call mark_lAr, line 378 */
1484
+ if (ret == 0) { z->c = z->l - m9; goto lab17; }
1569
1485
  if (ret < 0) return ret;
1570
1486
  }
1571
- z->bra = z->c; /* ], line 378 */
1572
- { int ret = slice_del(z); /* delete, line 378 */
1487
+ z->bra = z->c;
1488
+ { int ret = slice_del(z);
1573
1489
  if (ret < 0) return ret;
1574
1490
  }
1575
1491
  { int ret = r_stem_suffix_chain_before_ki(z);
1576
- if (ret == 0) { z->c = z->l - m_keep; goto lab17; } /* call stem_suffix_chain_before_ki, line 378 */
1492
+ if (ret == 0) { z->c = z->l - m9; goto lab17; }
1577
1493
  if (ret < 0) return ret;
1578
1494
  }
1579
1495
  lab17:
@@ -1581,9 +1497,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1581
1497
  }
1582
1498
  goto lab14;
1583
1499
  lab16:
1584
- z->c = z->l - m5;
1500
+ z->c = z->l - m8;
1585
1501
  { int ret = r_stem_suffix_chain_before_ki(z);
1586
- if (ret == 0) goto lab11; /* call stem_suffix_chain_before_ki, line 380 */
1502
+ if (ret == 0) goto lab11;
1587
1503
  if (ret < 0) return ret;
1588
1504
  }
1589
1505
  }
@@ -1591,42 +1507,42 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1591
1507
  goto lab0;
1592
1508
  lab11:
1593
1509
  z->c = z->l - m1;
1594
- z->ket = z->c; /* [, line 384 */
1595
- { int m6 = z->l - z->c; (void)m6; /* or, line 384 */
1510
+ z->ket = z->c;
1511
+ { int m10 = z->l - z->c; (void)m10;
1596
1512
  { int ret = r_mark_ndAn(z);
1597
- if (ret == 0) goto lab20; /* call mark_ndAn, line 384 */
1513
+ if (ret == 0) goto lab20;
1598
1514
  if (ret < 0) return ret;
1599
1515
  }
1600
1516
  goto lab19;
1601
1517
  lab20:
1602
- z->c = z->l - m6;
1518
+ z->c = z->l - m10;
1603
1519
  { int ret = r_mark_nU(z);
1604
- if (ret == 0) goto lab18; /* call mark_nU, line 384 */
1520
+ if (ret == 0) goto lab18;
1605
1521
  if (ret < 0) return ret;
1606
1522
  }
1607
1523
  }
1608
1524
  lab19:
1609
- { int m7 = z->l - z->c; (void)m7; /* or, line 384 */
1525
+ { int m11 = z->l - z->c; (void)m11;
1610
1526
  { int ret = r_mark_sU(z);
1611
- if (ret == 0) goto lab22; /* call mark_sU, line 384 */
1527
+ if (ret == 0) goto lab22;
1612
1528
  if (ret < 0) return ret;
1613
1529
  }
1614
- z->bra = z->c; /* ], line 384 */
1615
- { int ret = slice_del(z); /* delete, line 384 */
1530
+ z->bra = z->c;
1531
+ { int ret = slice_del(z);
1616
1532
  if (ret < 0) return ret;
1617
1533
  }
1618
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 384 */
1619
- z->ket = z->c; /* [, line 384 */
1534
+ { int m12 = z->l - z->c; (void)m12;
1535
+ z->ket = z->c;
1620
1536
  { int ret = r_mark_lAr(z);
1621
- if (ret == 0) { z->c = z->l - m_keep; goto lab23; } /* call mark_lAr, line 384 */
1537
+ if (ret == 0) { z->c = z->l - m12; goto lab23; }
1622
1538
  if (ret < 0) return ret;
1623
1539
  }
1624
- z->bra = z->c; /* ], line 384 */
1625
- { int ret = slice_del(z); /* delete, line 384 */
1540
+ z->bra = z->c;
1541
+ { int ret = slice_del(z);
1626
1542
  if (ret < 0) return ret;
1627
1543
  }
1628
1544
  { int ret = r_stem_suffix_chain_before_ki(z);
1629
- if (ret == 0) { z->c = z->l - m_keep; goto lab23; } /* call stem_suffix_chain_before_ki, line 384 */
1545
+ if (ret == 0) { z->c = z->l - m12; goto lab23; }
1630
1546
  if (ret < 0) return ret;
1631
1547
  }
1632
1548
  lab23:
@@ -1634,9 +1550,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1634
1550
  }
1635
1551
  goto lab21;
1636
1552
  lab22:
1637
- z->c = z->l - m7;
1553
+ z->c = z->l - m11;
1638
1554
  { int ret = r_mark_lArI(z);
1639
- if (ret == 0) goto lab18; /* call mark_lArI, line 384 */
1555
+ if (ret == 0) goto lab18;
1640
1556
  if (ret < 0) return ret;
1641
1557
  }
1642
1558
  }
@@ -1644,38 +1560,38 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1644
1560
  goto lab0;
1645
1561
  lab18:
1646
1562
  z->c = z->l - m1;
1647
- z->ket = z->c; /* [, line 386 */
1563
+ z->ket = z->c;
1648
1564
  { int ret = r_mark_DAn(z);
1649
- if (ret == 0) goto lab24; /* call mark_DAn, line 386 */
1565
+ if (ret == 0) goto lab24;
1650
1566
  if (ret < 0) return ret;
1651
1567
  }
1652
- z->bra = z->c; /* ], line 386 */
1653
- { int ret = slice_del(z); /* delete, line 386 */
1568
+ z->bra = z->c;
1569
+ { int ret = slice_del(z);
1654
1570
  if (ret < 0) return ret;
1655
1571
  }
1656
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 386 */
1657
- z->ket = z->c; /* [, line 386 */
1658
- { int m8 = z->l - z->c; (void)m8; /* or, line 389 */
1572
+ { int m13 = z->l - z->c; (void)m13;
1573
+ z->ket = z->c;
1574
+ { int m14 = z->l - z->c; (void)m14;
1659
1575
  { int ret = r_mark_possessives(z);
1660
- if (ret == 0) goto lab27; /* call mark_possessives, line 388 */
1576
+ if (ret == 0) goto lab27;
1661
1577
  if (ret < 0) return ret;
1662
1578
  }
1663
- z->bra = z->c; /* ], line 388 */
1664
- { int ret = slice_del(z); /* delete, line 388 */
1579
+ z->bra = z->c;
1580
+ { int ret = slice_del(z);
1665
1581
  if (ret < 0) return ret;
1666
1582
  }
1667
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 388 */
1668
- z->ket = z->c; /* [, line 388 */
1583
+ { int m15 = z->l - z->c; (void)m15;
1584
+ z->ket = z->c;
1669
1585
  { int ret = r_mark_lAr(z);
1670
- if (ret == 0) { z->c = z->l - m_keep; goto lab28; } /* call mark_lAr, line 388 */
1586
+ if (ret == 0) { z->c = z->l - m15; goto lab28; }
1671
1587
  if (ret < 0) return ret;
1672
1588
  }
1673
- z->bra = z->c; /* ], line 388 */
1674
- { int ret = slice_del(z); /* delete, line 388 */
1589
+ z->bra = z->c;
1590
+ { int ret = slice_del(z);
1675
1591
  if (ret < 0) return ret;
1676
1592
  }
1677
1593
  { int ret = r_stem_suffix_chain_before_ki(z);
1678
- if (ret == 0) { z->c = z->l - m_keep; goto lab28; } /* call stem_suffix_chain_before_ki, line 388 */
1594
+ if (ret == 0) { z->c = z->l - m15; goto lab28; }
1679
1595
  if (ret < 0) return ret;
1680
1596
  }
1681
1597
  lab28:
@@ -1683,18 +1599,18 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1683
1599
  }
1684
1600
  goto lab26;
1685
1601
  lab27:
1686
- z->c = z->l - m8;
1602
+ z->c = z->l - m14;
1687
1603
  { int ret = r_mark_lAr(z);
1688
- if (ret == 0) goto lab29; /* call mark_lAr, line 390 */
1604
+ if (ret == 0) goto lab29;
1689
1605
  if (ret < 0) return ret;
1690
1606
  }
1691
- z->bra = z->c; /* ], line 390 */
1692
- { int ret = slice_del(z); /* delete, line 390 */
1607
+ z->bra = z->c;
1608
+ { int ret = slice_del(z);
1693
1609
  if (ret < 0) return ret;
1694
1610
  }
1695
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 390 */
1611
+ { int m16 = z->l - z->c; (void)m16;
1696
1612
  { int ret = r_stem_suffix_chain_before_ki(z);
1697
- if (ret == 0) { z->c = z->l - m_keep; goto lab30; } /* call stem_suffix_chain_before_ki, line 390 */
1613
+ if (ret == 0) { z->c = z->l - m16; goto lab30; }
1698
1614
  if (ret < 0) return ret;
1699
1615
  }
1700
1616
  lab30:
@@ -1702,9 +1618,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1702
1618
  }
1703
1619
  goto lab26;
1704
1620
  lab29:
1705
- z->c = z->l - m8;
1621
+ z->c = z->l - m14;
1706
1622
  { int ret = r_stem_suffix_chain_before_ki(z);
1707
- if (ret == 0) { z->c = z->l - m_keep; goto lab25; } /* call stem_suffix_chain_before_ki, line 392 */
1623
+ if (ret == 0) { z->c = z->l - m13; goto lab25; }
1708
1624
  if (ret < 0) return ret;
1709
1625
  }
1710
1626
  }
@@ -1715,74 +1631,74 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1715
1631
  goto lab0;
1716
1632
  lab24:
1717
1633
  z->c = z->l - m1;
1718
- z->ket = z->c; /* [, line 396 */
1719
- { int m9 = z->l - z->c; (void)m9; /* or, line 396 */
1634
+ z->ket = z->c;
1635
+ { int m17 = z->l - z->c; (void)m17;
1720
1636
  { int ret = r_mark_nUn(z);
1721
- if (ret == 0) goto lab33; /* call mark_nUn, line 396 */
1637
+ if (ret == 0) goto lab33;
1722
1638
  if (ret < 0) return ret;
1723
1639
  }
1724
1640
  goto lab32;
1725
1641
  lab33:
1726
- z->c = z->l - m9;
1642
+ z->c = z->l - m17;
1727
1643
  { int ret = r_mark_ylA(z);
1728
- if (ret == 0) goto lab31; /* call mark_ylA, line 396 */
1644
+ if (ret == 0) goto lab31;
1729
1645
  if (ret < 0) return ret;
1730
1646
  }
1731
1647
  }
1732
1648
  lab32:
1733
- z->bra = z->c; /* ], line 396 */
1734
- { int ret = slice_del(z); /* delete, line 396 */
1649
+ z->bra = z->c;
1650
+ { int ret = slice_del(z);
1735
1651
  if (ret < 0) return ret;
1736
1652
  }
1737
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 397 */
1738
- { int m10 = z->l - z->c; (void)m10; /* or, line 399 */
1739
- z->ket = z->c; /* [, line 398 */
1653
+ { int m18 = z->l - z->c; (void)m18;
1654
+ { int m19 = z->l - z->c; (void)m19;
1655
+ z->ket = z->c;
1740
1656
  { int ret = r_mark_lAr(z);
1741
- if (ret == 0) goto lab36; /* call mark_lAr, line 398 */
1657
+ if (ret == 0) goto lab36;
1742
1658
  if (ret < 0) return ret;
1743
1659
  }
1744
- z->bra = z->c; /* ], line 398 */
1745
- { int ret = slice_del(z); /* delete, line 398 */
1660
+ z->bra = z->c;
1661
+ { int ret = slice_del(z);
1746
1662
  if (ret < 0) return ret;
1747
1663
  }
1748
1664
  { int ret = r_stem_suffix_chain_before_ki(z);
1749
- if (ret == 0) goto lab36; /* call stem_suffix_chain_before_ki, line 398 */
1665
+ if (ret == 0) goto lab36;
1750
1666
  if (ret < 0) return ret;
1751
1667
  }
1752
1668
  goto lab35;
1753
1669
  lab36:
1754
- z->c = z->l - m10;
1755
- z->ket = z->c; /* [, line 400 */
1756
- { int m11 = z->l - z->c; (void)m11; /* or, line 400 */
1670
+ z->c = z->l - m19;
1671
+ z->ket = z->c;
1672
+ { int m20 = z->l - z->c; (void)m20;
1757
1673
  { int ret = r_mark_possessives(z);
1758
- if (ret == 0) goto lab39; /* call mark_possessives, line 400 */
1674
+ if (ret == 0) goto lab39;
1759
1675
  if (ret < 0) return ret;
1760
1676
  }
1761
1677
  goto lab38;
1762
1678
  lab39:
1763
- z->c = z->l - m11;
1679
+ z->c = z->l - m20;
1764
1680
  { int ret = r_mark_sU(z);
1765
- if (ret == 0) goto lab37; /* call mark_sU, line 400 */
1681
+ if (ret == 0) goto lab37;
1766
1682
  if (ret < 0) return ret;
1767
1683
  }
1768
1684
  }
1769
1685
  lab38:
1770
- z->bra = z->c; /* ], line 400 */
1771
- { int ret = slice_del(z); /* delete, line 400 */
1686
+ z->bra = z->c;
1687
+ { int ret = slice_del(z);
1772
1688
  if (ret < 0) return ret;
1773
1689
  }
1774
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 400 */
1775
- z->ket = z->c; /* [, line 400 */
1690
+ { int m21 = z->l - z->c; (void)m21;
1691
+ z->ket = z->c;
1776
1692
  { int ret = r_mark_lAr(z);
1777
- if (ret == 0) { z->c = z->l - m_keep; goto lab40; } /* call mark_lAr, line 400 */
1693
+ if (ret == 0) { z->c = z->l - m21; goto lab40; }
1778
1694
  if (ret < 0) return ret;
1779
1695
  }
1780
- z->bra = z->c; /* ], line 400 */
1781
- { int ret = slice_del(z); /* delete, line 400 */
1696
+ z->bra = z->c;
1697
+ { int ret = slice_del(z);
1782
1698
  if (ret < 0) return ret;
1783
1699
  }
1784
1700
  { int ret = r_stem_suffix_chain_before_ki(z);
1785
- if (ret == 0) { z->c = z->l - m_keep; goto lab40; } /* call stem_suffix_chain_before_ki, line 400 */
1701
+ if (ret == 0) { z->c = z->l - m21; goto lab40; }
1786
1702
  if (ret < 0) return ret;
1787
1703
  }
1788
1704
  lab40:
@@ -1790,9 +1706,9 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1790
1706
  }
1791
1707
  goto lab35;
1792
1708
  lab37:
1793
- z->c = z->l - m10;
1709
+ z->c = z->l - m19;
1794
1710
  { int ret = r_stem_suffix_chain_before_ki(z);
1795
- if (ret == 0) { z->c = z->l - m_keep; goto lab34; } /* call stem_suffix_chain_before_ki, line 402 */
1711
+ if (ret == 0) { z->c = z->l - m18; goto lab34; }
1796
1712
  if (ret < 0) return ret;
1797
1713
  }
1798
1714
  }
@@ -1803,66 +1719,66 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1803
1719
  goto lab0;
1804
1720
  lab31:
1805
1721
  z->c = z->l - m1;
1806
- z->ket = z->c; /* [, line 406 */
1722
+ z->ket = z->c;
1807
1723
  { int ret = r_mark_lArI(z);
1808
- if (ret == 0) goto lab41; /* call mark_lArI, line 406 */
1724
+ if (ret == 0) goto lab41;
1809
1725
  if (ret < 0) return ret;
1810
1726
  }
1811
- z->bra = z->c; /* ], line 406 */
1812
- { int ret = slice_del(z); /* delete, line 406 */
1727
+ z->bra = z->c;
1728
+ { int ret = slice_del(z);
1813
1729
  if (ret < 0) return ret;
1814
1730
  }
1815
1731
  goto lab0;
1816
1732
  lab41:
1817
1733
  z->c = z->l - m1;
1818
1734
  { int ret = r_stem_suffix_chain_before_ki(z);
1819
- if (ret == 0) goto lab42; /* call stem_suffix_chain_before_ki, line 408 */
1735
+ if (ret == 0) goto lab42;
1820
1736
  if (ret < 0) return ret;
1821
1737
  }
1822
1738
  goto lab0;
1823
1739
  lab42:
1824
1740
  z->c = z->l - m1;
1825
- z->ket = z->c; /* [, line 410 */
1826
- { int m12 = z->l - z->c; (void)m12; /* or, line 410 */
1741
+ z->ket = z->c;
1742
+ { int m22 = z->l - z->c; (void)m22;
1827
1743
  { int ret = r_mark_DA(z);
1828
- if (ret == 0) goto lab45; /* call mark_DA, line 410 */
1744
+ if (ret == 0) goto lab45;
1829
1745
  if (ret < 0) return ret;
1830
1746
  }
1831
1747
  goto lab44;
1832
1748
  lab45:
1833
- z->c = z->l - m12;
1749
+ z->c = z->l - m22;
1834
1750
  { int ret = r_mark_yU(z);
1835
- if (ret == 0) goto lab46; /* call mark_yU, line 410 */
1751
+ if (ret == 0) goto lab46;
1836
1752
  if (ret < 0) return ret;
1837
1753
  }
1838
1754
  goto lab44;
1839
1755
  lab46:
1840
- z->c = z->l - m12;
1756
+ z->c = z->l - m22;
1841
1757
  { int ret = r_mark_yA(z);
1842
- if (ret == 0) goto lab43; /* call mark_yA, line 410 */
1758
+ if (ret == 0) goto lab43;
1843
1759
  if (ret < 0) return ret;
1844
1760
  }
1845
1761
  }
1846
1762
  lab44:
1847
- z->bra = z->c; /* ], line 410 */
1848
- { int ret = slice_del(z); /* delete, line 410 */
1763
+ z->bra = z->c;
1764
+ { int ret = slice_del(z);
1849
1765
  if (ret < 0) return ret;
1850
1766
  }
1851
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 410 */
1852
- z->ket = z->c; /* [, line 410 */
1853
- { int m13 = z->l - z->c; (void)m13; /* or, line 410 */
1767
+ { int m23 = z->l - z->c; (void)m23;
1768
+ z->ket = z->c;
1769
+ { int m24 = z->l - z->c; (void)m24;
1854
1770
  { int ret = r_mark_possessives(z);
1855
- if (ret == 0) goto lab49; /* call mark_possessives, line 410 */
1771
+ if (ret == 0) goto lab49;
1856
1772
  if (ret < 0) return ret;
1857
1773
  }
1858
- z->bra = z->c; /* ], line 410 */
1859
- { int ret = slice_del(z); /* delete, line 410 */
1774
+ z->bra = z->c;
1775
+ { int ret = slice_del(z);
1860
1776
  if (ret < 0) return ret;
1861
1777
  }
1862
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 410 */
1863
- z->ket = z->c; /* [, line 410 */
1778
+ { int m25 = z->l - z->c; (void)m25;
1779
+ z->ket = z->c;
1864
1780
  { int ret = r_mark_lAr(z);
1865
- if (ret == 0) { z->c = z->l - m_keep; goto lab50; } /* call mark_lAr, line 410 */
1781
+ if (ret == 0) { z->c = z->l - m25; goto lab50; }
1866
1782
  if (ret < 0) return ret;
1867
1783
  }
1868
1784
  lab50:
@@ -1870,20 +1786,20 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1870
1786
  }
1871
1787
  goto lab48;
1872
1788
  lab49:
1873
- z->c = z->l - m13;
1789
+ z->c = z->l - m24;
1874
1790
  { int ret = r_mark_lAr(z);
1875
- if (ret == 0) { z->c = z->l - m_keep; goto lab47; } /* call mark_lAr, line 410 */
1791
+ if (ret == 0) { z->c = z->l - m23; goto lab47; }
1876
1792
  if (ret < 0) return ret;
1877
1793
  }
1878
1794
  }
1879
1795
  lab48:
1880
- z->bra = z->c; /* ], line 410 */
1881
- { int ret = slice_del(z); /* delete, line 410 */
1796
+ z->bra = z->c;
1797
+ { int ret = slice_del(z);
1882
1798
  if (ret < 0) return ret;
1883
1799
  }
1884
- z->ket = z->c; /* [, line 410 */
1800
+ z->ket = z->c;
1885
1801
  { int ret = r_stem_suffix_chain_before_ki(z);
1886
- if (ret == 0) { z->c = z->l - m_keep; goto lab47; } /* call stem_suffix_chain_before_ki, line 410 */
1802
+ if (ret == 0) { z->c = z->l - m23; goto lab47; }
1887
1803
  if (ret < 0) return ret;
1888
1804
  }
1889
1805
  lab47:
@@ -1892,37 +1808,36 @@ static int r_stem_noun_suffixes(struct SN_env * z) {
1892
1808
  goto lab0;
1893
1809
  lab43:
1894
1810
  z->c = z->l - m1;
1895
- z->ket = z->c; /* [, line 412 */
1896
- { int m14 = z->l - z->c; (void)m14; /* or, line 412 */
1811
+ z->ket = z->c;
1812
+ { int m26 = z->l - z->c; (void)m26;
1897
1813
  { int ret = r_mark_possessives(z);
1898
- if (ret == 0) goto lab52; /* call mark_possessives, line 412 */
1814
+ if (ret == 0) goto lab52;
1899
1815
  if (ret < 0) return ret;
1900
1816
  }
1901
1817
  goto lab51;
1902
1818
  lab52:
1903
- z->c = z->l - m14;
1819
+ z->c = z->l - m26;
1904
1820
  { int ret = r_mark_sU(z);
1905
- if (ret == 0) return 0; /* call mark_sU, line 412 */
1906
- if (ret < 0) return ret;
1821
+ if (ret <= 0) return ret;
1907
1822
  }
1908
1823
  }
1909
1824
  lab51:
1910
- z->bra = z->c; /* ], line 412 */
1911
- { int ret = slice_del(z); /* delete, line 412 */
1825
+ z->bra = z->c;
1826
+ { int ret = slice_del(z);
1912
1827
  if (ret < 0) return ret;
1913
1828
  }
1914
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 412 */
1915
- z->ket = z->c; /* [, line 412 */
1829
+ { int m27 = z->l - z->c; (void)m27;
1830
+ z->ket = z->c;
1916
1831
  { int ret = r_mark_lAr(z);
1917
- if (ret == 0) { z->c = z->l - m_keep; goto lab53; } /* call mark_lAr, line 412 */
1832
+ if (ret == 0) { z->c = z->l - m27; goto lab53; }
1918
1833
  if (ret < 0) return ret;
1919
1834
  }
1920
- z->bra = z->c; /* ], line 412 */
1921
- { int ret = slice_del(z); /* delete, line 412 */
1835
+ z->bra = z->c;
1836
+ { int ret = slice_del(z);
1922
1837
  if (ret < 0) return ret;
1923
1838
  }
1924
1839
  { int ret = r_stem_suffix_chain_before_ki(z);
1925
- if (ret == 0) { z->c = z->l - m_keep; goto lab53; } /* call stem_suffix_chain_before_ki, line 412 */
1840
+ if (ret == 0) { z->c = z->l - m27; goto lab53; }
1926
1841
  if (ret < 0) return ret;
1927
1842
  }
1928
1843
  lab53:
@@ -1935,29 +1850,28 @@ lab0:
1935
1850
 
1936
1851
  static int r_post_process_last_consonants(struct SN_env * z) {
1937
1852
  int among_var;
1938
- z->ket = z->c; /* [, line 416 */
1939
- among_var = find_among_b(z, a_23, 4); /* substring, line 416 */
1853
+ z->ket = z->c;
1854
+ among_var = find_among_b(z, a_23, 4);
1940
1855
  if (!(among_var)) return 0;
1941
- z->bra = z->c; /* ], line 416 */
1942
- switch(among_var) {
1943
- case 0: return 0;
1856
+ z->bra = z->c;
1857
+ switch (among_var) {
1944
1858
  case 1:
1945
- { int ret = slice_from_s(z, 1, s_16); /* <-, line 417 */
1859
+ { int ret = slice_from_s(z, 1, s_5);
1946
1860
  if (ret < 0) return ret;
1947
1861
  }
1948
1862
  break;
1949
1863
  case 2:
1950
- { int ret = slice_from_s(z, 2, s_17); /* <-, line 418 */
1864
+ { int ret = slice_from_s(z, 2, s_6);
1951
1865
  if (ret < 0) return ret;
1952
1866
  }
1953
1867
  break;
1954
1868
  case 3:
1955
- { int ret = slice_from_s(z, 1, s_18); /* <-, line 419 */
1869
+ { int ret = slice_from_s(z, 1, s_7);
1956
1870
  if (ret < 0) return ret;
1957
1871
  }
1958
1872
  break;
1959
1873
  case 4:
1960
- { int ret = slice_from_s(z, 1, s_19); /* <-, line 420 */
1874
+ { int ret = slice_from_s(z, 1, s_8);
1961
1875
  if (ret < 0) return ret;
1962
1876
  }
1963
1877
  break;
@@ -1966,93 +1880,108 @@ static int r_post_process_last_consonants(struct SN_env * z) {
1966
1880
  }
1967
1881
 
1968
1882
  static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z) {
1969
- { int m_test = z->l - z->c; /* test, line 431 */
1970
- { int m1 = z->l - z->c; (void)m1; /* or, line 431 */
1971
- if (!(eq_s_b(z, 1, s_20))) goto lab1;
1883
+ { int m_test1 = z->l - z->c;
1884
+ { int m2 = z->l - z->c; (void)m2;
1885
+ if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab1;
1886
+ z->c--;
1972
1887
  goto lab0;
1973
1888
  lab1:
1974
- z->c = z->l - m1;
1975
- if (!(eq_s_b(z, 1, s_21))) return 0;
1889
+ z->c = z->l - m2;
1890
+ if (z->c <= z->lb || z->p[z->c - 1] != 'g') return 0;
1891
+ z->c--;
1976
1892
  }
1977
1893
  lab0:
1978
- z->c = z->l - m_test;
1894
+ z->c = z->l - m_test1;
1979
1895
  }
1980
- { int m2 = z->l - z->c; (void)m2; /* or, line 433 */
1981
- { int m_test = z->l - z->c; /* test, line 432 */
1982
- if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab3; /* goto */ /* grouping vowel, line 432 */
1983
- { int m3 = z->l - z->c; (void)m3; /* or, line 432 */
1984
- if (!(eq_s_b(z, 1, s_22))) goto lab5;
1896
+ { int m3 = z->l - z->c; (void)m3;
1897
+ { int m_test4 = z->l - z->c;
1898
+ if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab3;
1899
+ { int m5 = z->l - z->c; (void)m5;
1900
+ if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab5;
1901
+ z->c--;
1985
1902
  goto lab4;
1986
1903
  lab5:
1987
- z->c = z->l - m3;
1988
- if (!(eq_s_b(z, 2, s_23))) goto lab3;
1904
+ z->c = z->l - m5;
1905
+ if (!(eq_s_b(z, 2, s_9))) goto lab3;
1989
1906
  }
1990
1907
  lab4:
1991
- z->c = z->l - m_test;
1908
+ z->c = z->l - m_test4;
1992
1909
  }
1993
- { int c_keep = z->c;
1994
- int ret = insert_s(z, z->c, z->c, 2, s_24); /* <+, line 432 */
1995
- z->c = c_keep;
1910
+ { int ret;
1911
+ { int saved_c = z->c;
1912
+ ret = insert_s(z, z->c, z->c, 2, s_10);
1913
+ z->c = saved_c;
1914
+ }
1996
1915
  if (ret < 0) return ret;
1997
1916
  }
1998
1917
  goto lab2;
1999
1918
  lab3:
2000
- z->c = z->l - m2;
2001
- { int m_test = z->l - z->c; /* test, line 434 */
2002
- if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab6; /* goto */ /* grouping vowel, line 434 */
2003
- { int m4 = z->l - z->c; (void)m4; /* or, line 434 */
2004
- if (!(eq_s_b(z, 1, s_25))) goto lab8;
1919
+ z->c = z->l - m3;
1920
+ { int m_test6 = z->l - z->c;
1921
+ if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab6;
1922
+ { int m7 = z->l - z->c; (void)m7;
1923
+ if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8;
1924
+ z->c--;
2005
1925
  goto lab7;
2006
1926
  lab8:
2007
- z->c = z->l - m4;
2008
- if (!(eq_s_b(z, 1, s_26))) goto lab6;
1927
+ z->c = z->l - m7;
1928
+ if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab6;
1929
+ z->c--;
2009
1930
  }
2010
1931
  lab7:
2011
- z->c = z->l - m_test;
1932
+ z->c = z->l - m_test6;
2012
1933
  }
2013
- { int c_keep = z->c;
2014
- int ret = insert_s(z, z->c, z->c, 1, s_27); /* <+, line 434 */
2015
- z->c = c_keep;
1934
+ { int ret;
1935
+ { int saved_c = z->c;
1936
+ ret = insert_s(z, z->c, z->c, 1, s_11);
1937
+ z->c = saved_c;
1938
+ }
2016
1939
  if (ret < 0) return ret;
2017
1940
  }
2018
1941
  goto lab2;
2019
1942
  lab6:
2020
- z->c = z->l - m2;
2021
- { int m_test = z->l - z->c; /* test, line 436 */
2022
- if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab9; /* goto */ /* grouping vowel, line 436 */
2023
- { int m5 = z->l - z->c; (void)m5; /* or, line 436 */
2024
- if (!(eq_s_b(z, 1, s_28))) goto lab11;
1943
+ z->c = z->l - m3;
1944
+ { int m_test8 = z->l - z->c;
1945
+ if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab9;
1946
+ { int m9 = z->l - z->c; (void)m9;
1947
+ if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab11;
1948
+ z->c--;
2025
1949
  goto lab10;
2026
1950
  lab11:
2027
- z->c = z->l - m5;
2028
- if (!(eq_s_b(z, 1, s_29))) goto lab9;
1951
+ z->c = z->l - m9;
1952
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab9;
1953
+ z->c--;
2029
1954
  }
2030
1955
  lab10:
2031
- z->c = z->l - m_test;
1956
+ z->c = z->l - m_test8;
2032
1957
  }
2033
- { int c_keep = z->c;
2034
- int ret = insert_s(z, z->c, z->c, 1, s_30); /* <+, line 436 */
2035
- z->c = c_keep;
1958
+ { int ret;
1959
+ { int saved_c = z->c;
1960
+ ret = insert_s(z, z->c, z->c, 1, s_12);
1961
+ z->c = saved_c;
1962
+ }
2036
1963
  if (ret < 0) return ret;
2037
1964
  }
2038
1965
  goto lab2;
2039
1966
  lab9:
2040
- z->c = z->l - m2;
2041
- { int m_test = z->l - z->c; /* test, line 438 */
2042
- if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0; /* goto */ /* grouping vowel, line 438 */
2043
- { int m6 = z->l - z->c; (void)m6; /* or, line 438 */
2044
- if (!(eq_s_b(z, 2, s_31))) goto lab13;
1967
+ z->c = z->l - m3;
1968
+ { int m_test10 = z->l - z->c;
1969
+ if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
1970
+ { int m11 = z->l - z->c; (void)m11;
1971
+ if (!(eq_s_b(z, 2, s_13))) goto lab13;
2045
1972
  goto lab12;
2046
1973
  lab13:
2047
- z->c = z->l - m6;
2048
- if (!(eq_s_b(z, 2, s_32))) return 0;
1974
+ z->c = z->l - m11;
1975
+ if (!(eq_s_b(z, 2, s_14))) return 0;
2049
1976
  }
2050
1977
  lab12:
2051
- z->c = z->l - m_test;
1978
+ z->c = z->l - m_test10;
2052
1979
  }
2053
- { int c_keep = z->c;
2054
- int ret = insert_s(z, z->c, z->c, 2, s_33); /* <+, line 438 */
2055
- z->c = c_keep;
1980
+ { int ret;
1981
+ { int saved_c = z->c;
1982
+ ret = insert_s(z, z->c, z->c, 2, s_15);
1983
+ z->c = saved_c;
1984
+ }
2056
1985
  if (ret < 0) return ret;
2057
1986
  }
2058
1987
  }
@@ -2060,12 +1989,23 @@ lab2:
2060
1989
  return 1;
2061
1990
  }
2062
1991
 
1992
+ static int r_is_reserved_word(struct SN_env * z) {
1993
+ if (!(eq_s_b(z, 2, s_16))) return 0;
1994
+ { int m1 = z->l - z->c; (void)m1;
1995
+ if (!(eq_s_b(z, 3, s_17))) { z->c = z->l - m1; goto lab0; }
1996
+ lab0:
1997
+ ;
1998
+ }
1999
+ if (z->c > z->lb) return 0;
2000
+ return 1;
2001
+ }
2002
+
2063
2003
  static int r_more_than_one_syllable_word(struct SN_env * z) {
2064
- { int c_test = z->c; /* test, line 446 */
2004
+ { int c_test1 = z->c;
2065
2005
  { int i = 2;
2066
- while(1) { /* atleast, line 446 */
2067
- int c1 = z->c;
2068
- { /* gopast */ /* grouping vowel, line 446 */
2006
+ while(1) {
2007
+ int c2 = z->c;
2008
+ {
2069
2009
  int ret = out_grouping_U(z, g_vowel, 97, 305, 1);
2070
2010
  if (ret < 0) goto lab0;
2071
2011
  z->c += ret;
@@ -2073,80 +2013,38 @@ static int r_more_than_one_syllable_word(struct SN_env * z) {
2073
2013
  i--;
2074
2014
  continue;
2075
2015
  lab0:
2076
- z->c = c1;
2016
+ z->c = c2;
2077
2017
  break;
2078
2018
  }
2079
2019
  if (i > 0) return 0;
2080
2020
  }
2081
- z->c = c_test;
2021
+ z->c = c_test1;
2082
2022
  }
2083
2023
  return 1;
2084
2024
  }
2085
2025
 
2086
- static int r_is_reserved_word(struct SN_env * z) {
2087
- { int c1 = z->c; /* or, line 451 */
2088
- { int c_test = z->c; /* test, line 450 */
2089
- while(1) { /* gopast, line 450 */
2090
- if (!(eq_s(z, 2, s_34))) goto lab2;
2091
- break;
2092
- lab2:
2093
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
2094
- if (ret < 0) goto lab1;
2095
- z->c = ret; /* gopast, line 450 */
2096
- }
2097
- }
2098
- z->I[0] = 2;
2099
- if (!(z->I[0] == z->l)) goto lab1;
2100
- z->c = c_test;
2101
- }
2102
- goto lab0;
2103
- lab1:
2104
- z->c = c1;
2105
- { int c_test = z->c; /* test, line 452 */
2106
- while(1) { /* gopast, line 452 */
2107
- if (!(eq_s(z, 5, s_35))) goto lab3;
2108
- break;
2109
- lab3:
2110
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
2111
- if (ret < 0) return 0;
2112
- z->c = ret; /* gopast, line 452 */
2113
- }
2114
- }
2115
- z->I[0] = 5;
2116
- if (!(z->I[0] == z->l)) return 0;
2117
- z->c = c_test;
2118
- }
2119
- }
2120
- lab0:
2121
- return 1;
2122
- }
2123
-
2124
2026
  static int r_postlude(struct SN_env * z) {
2125
- { int c1 = z->c; /* not, line 456 */
2027
+ z->lb = z->c; z->c = z->l;
2028
+
2029
+ { int m1 = z->l - z->c; (void)m1;
2126
2030
  { int ret = r_is_reserved_word(z);
2127
- if (ret == 0) goto lab0; /* call is_reserved_word, line 456 */
2031
+ if (ret == 0) goto lab0;
2128
2032
  if (ret < 0) return ret;
2129
2033
  }
2130
2034
  return 0;
2131
2035
  lab0:
2132
- z->c = c1;
2036
+ z->c = z->l - m1;
2133
2037
  }
2134
- z->lb = z->c; z->c = z->l; /* backwards, line 457 */
2135
-
2136
- { int m2 = z->l - z->c; (void)m2; /* do, line 458 */
2038
+ { int m2 = z->l - z->c; (void)m2;
2137
2039
  { int ret = r_append_U_to_stems_ending_with_d_or_g(z);
2138
- if (ret == 0) goto lab1; /* call append_U_to_stems_ending_with_d_or_g, line 458 */
2139
2040
  if (ret < 0) return ret;
2140
2041
  }
2141
- lab1:
2142
2042
  z->c = z->l - m2;
2143
2043
  }
2144
- { int m3 = z->l - z->c; (void)m3; /* do, line 459 */
2044
+ { int m3 = z->l - z->c; (void)m3;
2145
2045
  { int ret = r_post_process_last_consonants(z);
2146
- if (ret == 0) goto lab2; /* call post_process_last_consonants, line 459 */
2147
2046
  if (ret < 0) return ret;
2148
2047
  }
2149
- lab2:
2150
2048
  z->c = z->l - m3;
2151
2049
  }
2152
2050
  z->c = z->lb;
@@ -2155,37 +2053,31 @@ static int r_postlude(struct SN_env * z) {
2155
2053
 
2156
2054
  extern int turkish_UTF_8_stem(struct SN_env * z) {
2157
2055
  { int ret = r_more_than_one_syllable_word(z);
2158
- if (ret == 0) return 0; /* call more_than_one_syllable_word, line 465 */
2159
- if (ret < 0) return ret;
2056
+ if (ret <= 0) return ret;
2160
2057
  }
2161
- z->lb = z->c; z->c = z->l; /* backwards, line 467 */
2058
+ z->lb = z->c; z->c = z->l;
2162
2059
 
2163
- { int m1 = z->l - z->c; (void)m1; /* do, line 468 */
2060
+ { int m1 = z->l - z->c; (void)m1;
2164
2061
  { int ret = r_stem_nominal_verb_suffixes(z);
2165
- if (ret == 0) goto lab0; /* call stem_nominal_verb_suffixes, line 468 */
2166
2062
  if (ret < 0) return ret;
2167
2063
  }
2168
- lab0:
2169
2064
  z->c = z->l - m1;
2170
2065
  }
2171
- if (!(z->B[0])) return 0; /* Boolean test continue_stemming_noun_suffixes, line 469 */
2172
- { int m2 = z->l - z->c; (void)m2; /* do, line 470 */
2066
+ if (!(z->I[0])) return 0;
2067
+ { int m2 = z->l - z->c; (void)m2;
2173
2068
  { int ret = r_stem_noun_suffixes(z);
2174
- if (ret == 0) goto lab1; /* call stem_noun_suffixes, line 470 */
2175
2069
  if (ret < 0) return ret;
2176
2070
  }
2177
- lab1:
2178
2071
  z->c = z->l - m2;
2179
2072
  }
2180
2073
  z->c = z->lb;
2181
2074
  { int ret = r_postlude(z);
2182
- if (ret == 0) return 0; /* call postlude, line 473 */
2183
- if (ret < 0) return ret;
2075
+ if (ret <= 0) return ret;
2184
2076
  }
2185
2077
  return 1;
2186
2078
  }
2187
2079
 
2188
- extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 1, 1); }
2080
+ extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 1); }
2189
2081
 
2190
2082
  extern void turkish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
2191
2083