isomorfeus-ferret 0.12.4 → 0.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +612 -612
- data/README.md +80 -48
- data/ext/isomorfeus_ferret_ext/bm_hash.c +9 -6
- data/ext/isomorfeus_ferret_ext/bm_micro_string.c +4 -2
- data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
- data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
- data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
- data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +7 -7
- data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
- data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
- data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
- data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
- data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
- data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
- data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
- data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
- data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
- data/ext/isomorfeus_ferret_ext/test.c +7 -1
- data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
- data/lib/isomorfeus/ferret/version.rb +1 -1
- metadata +39 -4
- data/ext/isomorfeus_ferret_ext/q_parser.y +0 -1366
@@ -1,4 +1,4 @@
|
|
1
|
-
/*
|
1
|
+
/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
|
2
2
|
|
3
3
|
#include "stem_header.h"
|
4
4
|
|
@@ -44,35 +44,35 @@ static const symbol s_0_28[3] = { 'a', 's', 't' };
|
|
44
44
|
|
45
45
|
static const struct among a_0[29] =
|
46
46
|
{
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
47
|
+
{ 1, s_0_0, -1, 1, 0},
|
48
|
+
{ 1, s_0_1, -1, 1, 0},
|
49
|
+
{ 3, s_0_2, 1, 1, 0},
|
50
|
+
{ 4, s_0_3, 1, 1, 0},
|
51
|
+
{ 4, s_0_4, 1, 1, 0},
|
52
|
+
{ 3, s_0_5, 1, 1, 0},
|
53
|
+
{ 3, s_0_6, 1, 1, 0},
|
54
|
+
{ 6, s_0_7, 6, 1, 0},
|
55
|
+
{ 4, s_0_8, 1, 3, 0},
|
56
|
+
{ 2, s_0_9, -1, 1, 0},
|
57
|
+
{ 5, s_0_10, 9, 1, 0},
|
58
|
+
{ 2, s_0_11, -1, 1, 0},
|
59
|
+
{ 2, s_0_12, -1, 1, 0},
|
60
|
+
{ 5, s_0_13, 12, 1, 0},
|
61
|
+
{ 1, s_0_14, -1, 2, 0},
|
62
|
+
{ 2, s_0_15, 14, 1, 0},
|
63
|
+
{ 2, s_0_16, 14, 1, 0},
|
64
|
+
{ 4, s_0_17, 16, 1, 0},
|
65
|
+
{ 5, s_0_18, 16, 1, 0},
|
66
|
+
{ 4, s_0_19, 16, 1, 0},
|
67
|
+
{ 7, s_0_20, 19, 1, 0},
|
68
|
+
{ 3, s_0_21, 14, 1, 0},
|
69
|
+
{ 6, s_0_22, 21, 1, 0},
|
70
|
+
{ 3, s_0_23, 14, 1, 0},
|
71
|
+
{ 3, s_0_24, 14, 1, 0},
|
72
|
+
{ 2, s_0_25, -1, 1, 0},
|
73
|
+
{ 3, s_0_26, 25, 1, 0},
|
74
|
+
{ 3, s_0_27, -1, 3, 0},
|
75
|
+
{ 3, s_0_28, -1, 1, 0}
|
76
76
|
};
|
77
77
|
|
78
78
|
static const symbol s_1_0[2] = { 'd', 't' };
|
@@ -80,8 +80,8 @@ static const symbol s_1_1[2] = { 'v', 't' };
|
|
80
80
|
|
81
81
|
static const struct among a_1[2] =
|
82
82
|
{
|
83
|
-
|
84
|
-
|
83
|
+
{ 2, s_1_0, -1, -1, 0},
|
84
|
+
{ 2, s_1_1, -1, -1, 0}
|
85
85
|
};
|
86
86
|
|
87
87
|
static const symbol s_2_0[3] = { 'l', 'e', 'g' };
|
@@ -98,88 +98,85 @@ static const symbol s_2_10[7] = { 'h', 'e', 't', 's', 'l', 'o', 'v' };
|
|
98
98
|
|
99
99
|
static const struct among a_2[11] =
|
100
100
|
{
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
101
|
+
{ 3, s_2_0, -1, 1, 0},
|
102
|
+
{ 4, s_2_1, 0, 1, 0},
|
103
|
+
{ 2, s_2_2, -1, 1, 0},
|
104
|
+
{ 3, s_2_3, 2, 1, 0},
|
105
|
+
{ 3, s_2_4, 2, 1, 0},
|
106
|
+
{ 4, s_2_5, 4, 1, 0},
|
107
|
+
{ 3, s_2_6, -1, 1, 0},
|
108
|
+
{ 3, s_2_7, -1, 1, 0},
|
109
|
+
{ 4, s_2_8, 7, 1, 0},
|
110
|
+
{ 4, s_2_9, 7, 1, 0},
|
111
|
+
{ 7, s_2_10, 9, 1, 0}
|
112
112
|
};
|
113
113
|
|
114
114
|
static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 };
|
115
115
|
|
116
116
|
static const unsigned char g_s_ending[] = { 119, 125, 149, 1 };
|
117
117
|
|
118
|
-
static const symbol s_0[] = { '
|
119
|
-
static const symbol s_1[] = { 'e', 'r' };
|
118
|
+
static const symbol s_0[] = { 'e', 'r' };
|
120
119
|
|
121
120
|
static int r_mark_regions(struct SN_env * z) {
|
122
|
-
z->I[
|
123
|
-
{ int
|
124
|
-
{ int ret = skip_utf8(z->p, z->c,
|
121
|
+
z->I[1] = z->l;
|
122
|
+
{ int c_test1 = z->c;
|
123
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 3);
|
125
124
|
if (ret < 0) return 0;
|
126
|
-
z->c = ret;
|
125
|
+
z->c = ret;
|
127
126
|
}
|
128
|
-
z->I[
|
129
|
-
z->c =
|
127
|
+
z->I[0] = z->c;
|
128
|
+
z->c = c_test1;
|
130
129
|
}
|
131
|
-
if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0;
|
132
|
-
{
|
130
|
+
if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0;
|
131
|
+
{
|
133
132
|
int ret = in_grouping_U(z, g_v, 97, 248, 1);
|
134
133
|
if (ret < 0) return 0;
|
135
134
|
z->c += ret;
|
136
135
|
}
|
137
|
-
z->I[
|
138
|
-
|
139
|
-
if (!(z->I[
|
140
|
-
z->I[
|
136
|
+
z->I[1] = z->c;
|
137
|
+
|
138
|
+
if (!(z->I[1] < z->I[0])) goto lab0;
|
139
|
+
z->I[1] = z->I[0];
|
141
140
|
lab0:
|
142
141
|
return 1;
|
143
142
|
}
|
144
143
|
|
145
144
|
static int r_main_suffix(struct SN_env * z) {
|
146
145
|
int among_var;
|
147
|
-
|
148
|
-
|
149
|
-
if (z->c < z->I[
|
150
|
-
z->
|
151
|
-
|
152
|
-
z->c
|
153
|
-
|
154
|
-
if (
|
155
|
-
|
156
|
-
|
157
|
-
z->bra = z->c; /* ], line 38 */
|
158
|
-
z->lb = mlimit;
|
146
|
+
|
147
|
+
{ int mlimit1;
|
148
|
+
if (z->c < z->I[1]) return 0;
|
149
|
+
mlimit1 = z->lb; z->lb = z->I[1];
|
150
|
+
z->ket = z->c;
|
151
|
+
if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
|
152
|
+
among_var = find_among_b(z, a_0, 29);
|
153
|
+
if (!(among_var)) { z->lb = mlimit1; return 0; }
|
154
|
+
z->bra = z->c;
|
155
|
+
z->lb = mlimit1;
|
159
156
|
}
|
160
|
-
switch(among_var) {
|
161
|
-
case 0: return 0;
|
157
|
+
switch (among_var) {
|
162
158
|
case 1:
|
163
|
-
{ int ret = slice_del(z);
|
159
|
+
{ int ret = slice_del(z);
|
164
160
|
if (ret < 0) return ret;
|
165
161
|
}
|
166
162
|
break;
|
167
163
|
case 2:
|
168
|
-
{ int m2 = z->l - z->c; (void)m2;
|
164
|
+
{ int m2 = z->l - z->c; (void)m2;
|
169
165
|
if (in_grouping_b_U(z, g_s_ending, 98, 122, 0)) goto lab1;
|
170
166
|
goto lab0;
|
171
167
|
lab1:
|
172
168
|
z->c = z->l - m2;
|
173
|
-
if (
|
169
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'k') return 0;
|
170
|
+
z->c--;
|
174
171
|
if (out_grouping_b_U(z, g_v, 97, 248, 0)) return 0;
|
175
172
|
}
|
176
173
|
lab0:
|
177
|
-
{ int ret = slice_del(z);
|
174
|
+
{ int ret = slice_del(z);
|
178
175
|
if (ret < 0) return ret;
|
179
176
|
}
|
180
177
|
break;
|
181
178
|
case 3:
|
182
|
-
{ int ret = slice_from_s(z, 2,
|
179
|
+
{ int ret = slice_from_s(z, 2, s_0);
|
183
180
|
if (ret < 0) return ret;
|
184
181
|
}
|
185
182
|
break;
|
@@ -188,98 +185,79 @@ static int r_main_suffix(struct SN_env * z) {
|
|
188
185
|
}
|
189
186
|
|
190
187
|
static int r_consonant_pair(struct SN_env * z) {
|
191
|
-
{ int
|
192
|
-
|
193
|
-
|
194
|
-
if (z->c < z->I[
|
195
|
-
z->
|
196
|
-
|
197
|
-
z->c
|
198
|
-
z
|
199
|
-
|
200
|
-
|
201
|
-
z->bra = z->c; /* ], line 54 */
|
202
|
-
z->lb = mlimit;
|
188
|
+
{ int m_test1 = z->l - z->c;
|
189
|
+
|
190
|
+
{ int mlimit2;
|
191
|
+
if (z->c < z->I[1]) return 0;
|
192
|
+
mlimit2 = z->lb; z->lb = z->I[1];
|
193
|
+
z->ket = z->c;
|
194
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit2; return 0; }
|
195
|
+
if (!(find_among_b(z, a_1, 2))) { z->lb = mlimit2; return 0; }
|
196
|
+
z->bra = z->c;
|
197
|
+
z->lb = mlimit2;
|
203
198
|
}
|
204
|
-
z->c = z->l -
|
199
|
+
z->c = z->l - m_test1;
|
205
200
|
}
|
206
|
-
{ int ret =
|
201
|
+
{ int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
|
207
202
|
if (ret < 0) return 0;
|
208
|
-
z->c = ret;
|
203
|
+
z->c = ret;
|
209
204
|
}
|
210
|
-
z->bra = z->c;
|
211
|
-
{ int ret = slice_del(z);
|
205
|
+
z->bra = z->c;
|
206
|
+
{ int ret = slice_del(z);
|
212
207
|
if (ret < 0) return ret;
|
213
208
|
}
|
214
209
|
return 1;
|
215
210
|
}
|
216
211
|
|
217
212
|
static int r_other_suffix(struct SN_env * z) {
|
218
|
-
|
219
|
-
{ int
|
220
|
-
|
221
|
-
|
222
|
-
z->
|
223
|
-
|
224
|
-
z
|
225
|
-
z->
|
226
|
-
|
227
|
-
among_var = find_among_b(z, a_2, 11); /* substring, line 63 */
|
228
|
-
if (!(among_var)) { z->lb = mlimit; return 0; }
|
229
|
-
z->bra = z->c; /* ], line 63 */
|
230
|
-
z->lb = mlimit;
|
213
|
+
|
214
|
+
{ int mlimit1;
|
215
|
+
if (z->c < z->I[1]) return 0;
|
216
|
+
mlimit1 = z->lb; z->lb = z->I[1];
|
217
|
+
z->ket = z->c;
|
218
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
|
219
|
+
if (!(find_among_b(z, a_2, 11))) { z->lb = mlimit1; return 0; }
|
220
|
+
z->bra = z->c;
|
221
|
+
z->lb = mlimit1;
|
231
222
|
}
|
232
|
-
|
233
|
-
|
234
|
-
case 1:
|
235
|
-
{ int ret = slice_del(z); /* delete, line 67 */
|
236
|
-
if (ret < 0) return ret;
|
237
|
-
}
|
238
|
-
break;
|
223
|
+
{ int ret = slice_del(z);
|
224
|
+
if (ret < 0) return ret;
|
239
225
|
}
|
240
226
|
return 1;
|
241
227
|
}
|
242
228
|
|
243
229
|
extern int norwegian_UTF_8_stem(struct SN_env * z) {
|
244
|
-
{ int c1 = z->c;
|
230
|
+
{ int c1 = z->c;
|
245
231
|
{ int ret = r_mark_regions(z);
|
246
|
-
if (ret == 0) goto lab0; /* call mark_regions, line 74 */
|
247
232
|
if (ret < 0) return ret;
|
248
233
|
}
|
249
|
-
lab0:
|
250
234
|
z->c = c1;
|
251
235
|
}
|
252
|
-
z->lb = z->c; z->c = z->l;
|
236
|
+
z->lb = z->c; z->c = z->l;
|
253
237
|
|
254
|
-
{ int m2 = z->l - z->c; (void)m2;
|
238
|
+
{ int m2 = z->l - z->c; (void)m2;
|
255
239
|
{ int ret = r_main_suffix(z);
|
256
|
-
if (ret == 0) goto lab1; /* call main_suffix, line 76 */
|
257
240
|
if (ret < 0) return ret;
|
258
241
|
}
|
259
|
-
lab1:
|
260
242
|
z->c = z->l - m2;
|
261
243
|
}
|
262
|
-
{ int m3 = z->l - z->c; (void)m3;
|
244
|
+
{ int m3 = z->l - z->c; (void)m3;
|
263
245
|
{ int ret = r_consonant_pair(z);
|
264
|
-
if (ret == 0) goto lab2; /* call consonant_pair, line 77 */
|
265
246
|
if (ret < 0) return ret;
|
266
247
|
}
|
267
|
-
lab2:
|
268
248
|
z->c = z->l - m3;
|
269
249
|
}
|
270
|
-
{ int m4 = z->l - z->c; (void)m4;
|
250
|
+
{ int m4 = z->l - z->c; (void)m4;
|
271
251
|
{ int ret = r_other_suffix(z);
|
272
|
-
if (ret == 0) goto lab3; /* call other_suffix, line 78 */
|
273
252
|
if (ret < 0) return ret;
|
274
253
|
}
|
275
|
-
lab3:
|
276
254
|
z->c = z->l - m4;
|
277
255
|
}
|
278
256
|
z->c = z->lb;
|
279
257
|
return 1;
|
280
258
|
}
|
281
259
|
|
282
|
-
extern struct SN_env * norwegian_UTF_8_create_env(void) { return SN_create_env(0, 2
|
260
|
+
extern struct SN_env * norwegian_UTF_8_create_env(void) { return SN_create_env(0, 2); }
|
283
261
|
|
284
262
|
extern void norwegian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
|
285
263
|
|