isomorfeus-ferret 0.12.2 → 0.12.6
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 -44
- 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_search.c +14 -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 +12 -15
- 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/index/index.rb +1 -1
- data/lib/isomorfeus/ferret/version.rb +1 -1
- metadata +43 -7
- 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
|
|
@@ -27,13 +27,13 @@ static const symbol s_0_6[2] = { 0xC3, 0xBA };
|
|
27
27
|
|
28
28
|
static const struct among a_0[7] =
|
29
29
|
{
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
30
|
+
{ 0, 0, -1, 7, 0},
|
31
|
+
{ 2, s_0_1, 0, 6, 0},
|
32
|
+
{ 2, s_0_2, 0, 1, 0},
|
33
|
+
{ 2, s_0_3, 0, 2, 0},
|
34
|
+
{ 2, s_0_4, 0, 3, 0},
|
35
|
+
{ 2, s_0_5, 0, 4, 0},
|
36
|
+
{ 2, s_0_6, 0, 5, 0}
|
37
37
|
};
|
38
38
|
|
39
39
|
static const symbol s_1_1[1] = { 'I' };
|
@@ -41,9 +41,9 @@ static const symbol s_1_2[1] = { 'U' };
|
|
41
41
|
|
42
42
|
static const struct among a_1[3] =
|
43
43
|
{
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
{ 0, 0, -1, 3, 0},
|
45
|
+
{ 1, s_1_1, 0, 1, 0},
|
46
|
+
{ 1, s_1_2, 0, 2, 0}
|
47
47
|
};
|
48
48
|
|
49
49
|
static const symbol s_2_0[2] = { 'l', 'a' };
|
@@ -86,43 +86,43 @@ static const symbol s_2_36[4] = { 'v', 'e', 'l', 'o' };
|
|
86
86
|
|
87
87
|
static const struct among a_2[37] =
|
88
88
|
{
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
89
|
+
{ 2, s_2_0, -1, -1, 0},
|
90
|
+
{ 4, s_2_1, 0, -1, 0},
|
91
|
+
{ 6, s_2_2, 0, -1, 0},
|
92
|
+
{ 4, s_2_3, 0, -1, 0},
|
93
|
+
{ 4, s_2_4, 0, -1, 0},
|
94
|
+
{ 4, s_2_5, 0, -1, 0},
|
95
|
+
{ 2, s_2_6, -1, -1, 0},
|
96
|
+
{ 4, s_2_7, 6, -1, 0},
|
97
|
+
{ 6, s_2_8, 6, -1, 0},
|
98
|
+
{ 4, s_2_9, 6, -1, 0},
|
99
|
+
{ 4, s_2_10, 6, -1, 0},
|
100
|
+
{ 4, s_2_11, 6, -1, 0},
|
101
|
+
{ 2, s_2_12, -1, -1, 0},
|
102
|
+
{ 4, s_2_13, 12, -1, 0},
|
103
|
+
{ 6, s_2_14, 12, -1, 0},
|
104
|
+
{ 4, s_2_15, 12, -1, 0},
|
105
|
+
{ 4, s_2_16, 12, -1, 0},
|
106
|
+
{ 4, s_2_17, 12, -1, 0},
|
107
|
+
{ 4, s_2_18, 12, -1, 0},
|
108
|
+
{ 2, s_2_19, -1, -1, 0},
|
109
|
+
{ 2, s_2_20, -1, -1, 0},
|
110
|
+
{ 4, s_2_21, 20, -1, 0},
|
111
|
+
{ 6, s_2_22, 20, -1, 0},
|
112
|
+
{ 4, s_2_23, 20, -1, 0},
|
113
|
+
{ 4, s_2_24, 20, -1, 0},
|
114
|
+
{ 4, s_2_25, 20, -1, 0},
|
115
|
+
{ 3, s_2_26, 20, -1, 0},
|
116
|
+
{ 2, s_2_27, -1, -1, 0},
|
117
|
+
{ 2, s_2_28, -1, -1, 0},
|
118
|
+
{ 2, s_2_29, -1, -1, 0},
|
119
|
+
{ 2, s_2_30, -1, -1, 0},
|
120
|
+
{ 2, s_2_31, -1, -1, 0},
|
121
|
+
{ 4, s_2_32, 31, -1, 0},
|
122
|
+
{ 6, s_2_33, 31, -1, 0},
|
123
|
+
{ 4, s_2_34, 31, -1, 0},
|
124
|
+
{ 4, s_2_35, 31, -1, 0},
|
125
|
+
{ 4, s_2_36, 31, -1, 0}
|
126
126
|
};
|
127
127
|
|
128
128
|
static const symbol s_3_0[4] = { 'a', 'n', 'd', 'o' };
|
@@ -133,11 +133,11 @@ static const symbol s_3_4[2] = { 'i', 'r' };
|
|
133
133
|
|
134
134
|
static const struct among a_3[5] =
|
135
135
|
{
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
136
|
+
{ 4, s_3_0, -1, 1, 0},
|
137
|
+
{ 4, s_3_1, -1, 1, 0},
|
138
|
+
{ 2, s_3_2, -1, 2, 0},
|
139
|
+
{ 2, s_3_3, -1, 2, 0},
|
140
|
+
{ 2, s_3_4, -1, 2, 0}
|
141
141
|
};
|
142
142
|
|
143
143
|
static const symbol s_4_0[2] = { 'i', 'c' };
|
@@ -147,10 +147,10 @@ static const symbol s_4_3[2] = { 'i', 'v' };
|
|
147
147
|
|
148
148
|
static const struct among a_4[4] =
|
149
149
|
{
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
150
|
+
{ 2, s_4_0, -1, -1, 0},
|
151
|
+
{ 4, s_4_1, -1, -1, 0},
|
152
|
+
{ 2, s_4_2, -1, -1, 0},
|
153
|
+
{ 2, s_4_3, -1, 1, 0}
|
154
154
|
};
|
155
155
|
|
156
156
|
static const symbol s_5_0[2] = { 'i', 'c' };
|
@@ -159,9 +159,9 @@ static const symbol s_5_2[2] = { 'i', 'v' };
|
|
159
159
|
|
160
160
|
static const struct among a_5[3] =
|
161
161
|
{
|
162
|
-
|
163
|
-
|
164
|
-
|
162
|
+
{ 2, s_5_0, -1, 1, 0},
|
163
|
+
{ 4, s_5_1, -1, 1, 0},
|
164
|
+
{ 2, s_5_2, -1, 1, 0}
|
165
165
|
};
|
166
166
|
|
167
167
|
static const symbol s_6_0[3] = { 'i', 'c', 'a' };
|
@@ -218,57 +218,57 @@ static const symbol s_6_50[5] = { 'i', 's', 't', 0xC3, 0xAC };
|
|
218
218
|
|
219
219
|
static const struct among a_6[51] =
|
220
220
|
{
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
221
|
+
{ 3, s_6_0, -1, 1, 0},
|
222
|
+
{ 5, s_6_1, -1, 3, 0},
|
223
|
+
{ 3, s_6_2, -1, 1, 0},
|
224
|
+
{ 4, s_6_3, -1, 1, 0},
|
225
|
+
{ 3, s_6_4, -1, 9, 0},
|
226
|
+
{ 4, s_6_5, -1, 1, 0},
|
227
|
+
{ 4, s_6_6, -1, 5, 0},
|
228
|
+
{ 3, s_6_7, -1, 1, 0},
|
229
|
+
{ 6, s_6_8, 7, 1, 0},
|
230
|
+
{ 4, s_6_9, -1, 1, 0},
|
231
|
+
{ 5, s_6_10, -1, 3, 0},
|
232
|
+
{ 5, s_6_11, -1, 1, 0},
|
233
|
+
{ 5, s_6_12, -1, 1, 0},
|
234
|
+
{ 6, s_6_13, -1, 4, 0},
|
235
|
+
{ 6, s_6_14, -1, 2, 0},
|
236
|
+
{ 6, s_6_15, -1, 4, 0},
|
237
|
+
{ 5, s_6_16, -1, 2, 0},
|
238
|
+
{ 3, s_6_17, -1, 1, 0},
|
239
|
+
{ 4, s_6_18, -1, 1, 0},
|
240
|
+
{ 5, s_6_19, -1, 1, 0},
|
241
|
+
{ 6, s_6_20, 19, 7, 0},
|
242
|
+
{ 4, s_6_21, -1, 1, 0},
|
243
|
+
{ 3, s_6_22, -1, 9, 0},
|
244
|
+
{ 4, s_6_23, -1, 1, 0},
|
245
|
+
{ 4, s_6_24, -1, 5, 0},
|
246
|
+
{ 3, s_6_25, -1, 1, 0},
|
247
|
+
{ 6, s_6_26, 25, 1, 0},
|
248
|
+
{ 4, s_6_27, -1, 1, 0},
|
249
|
+
{ 5, s_6_28, -1, 1, 0},
|
250
|
+
{ 5, s_6_29, -1, 1, 0},
|
251
|
+
{ 4, s_6_30, -1, 1, 0},
|
252
|
+
{ 6, s_6_31, -1, 4, 0},
|
253
|
+
{ 6, s_6_32, -1, 2, 0},
|
254
|
+
{ 6, s_6_33, -1, 4, 0},
|
255
|
+
{ 5, s_6_34, -1, 2, 0},
|
256
|
+
{ 3, s_6_35, -1, 1, 0},
|
257
|
+
{ 4, s_6_36, -1, 1, 0},
|
258
|
+
{ 6, s_6_37, -1, 6, 0},
|
259
|
+
{ 6, s_6_38, -1, 6, 0},
|
260
|
+
{ 4, s_6_39, -1, 1, 0},
|
261
|
+
{ 3, s_6_40, -1, 9, 0},
|
262
|
+
{ 3, s_6_41, -1, 1, 0},
|
263
|
+
{ 4, s_6_42, -1, 1, 0},
|
264
|
+
{ 3, s_6_43, -1, 1, 0},
|
265
|
+
{ 6, s_6_44, -1, 6, 0},
|
266
|
+
{ 6, s_6_45, -1, 6, 0},
|
267
|
+
{ 3, s_6_46, -1, 9, 0},
|
268
|
+
{ 4, s_6_47, -1, 8, 0},
|
269
|
+
{ 5, s_6_48, -1, 1, 0},
|
270
|
+
{ 5, s_6_49, -1, 1, 0},
|
271
|
+
{ 5, s_6_50, -1, 1, 0}
|
272
272
|
};
|
273
273
|
|
274
274
|
static const symbol s_7_0[4] = { 'i', 's', 'c', 'a' };
|
@@ -361,93 +361,93 @@ static const symbol s_7_86[4] = { 'i', 'r', 0xC3, 0xB2 };
|
|
361
361
|
|
362
362
|
static const struct among a_7[87] =
|
363
363
|
{
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
364
|
+
{ 4, s_7_0, -1, 1, 0},
|
365
|
+
{ 4, s_7_1, -1, 1, 0},
|
366
|
+
{ 3, s_7_2, -1, 1, 0},
|
367
|
+
{ 3, s_7_3, -1, 1, 0},
|
368
|
+
{ 3, s_7_4, -1, 1, 0},
|
369
|
+
{ 3, s_7_5, -1, 1, 0},
|
370
|
+
{ 3, s_7_6, -1, 1, 0},
|
371
|
+
{ 3, s_7_7, -1, 1, 0},
|
372
|
+
{ 6, s_7_8, -1, 1, 0},
|
373
|
+
{ 6, s_7_9, -1, 1, 0},
|
374
|
+
{ 4, s_7_10, -1, 1, 0},
|
375
|
+
{ 4, s_7_11, -1, 1, 0},
|
376
|
+
{ 3, s_7_12, -1, 1, 0},
|
377
|
+
{ 3, s_7_13, -1, 1, 0},
|
378
|
+
{ 3, s_7_14, -1, 1, 0},
|
379
|
+
{ 4, s_7_15, -1, 1, 0},
|
380
|
+
{ 3, s_7_16, -1, 1, 0},
|
381
|
+
{ 5, s_7_17, 16, 1, 0},
|
382
|
+
{ 5, s_7_18, 16, 1, 0},
|
383
|
+
{ 5, s_7_19, 16, 1, 0},
|
384
|
+
{ 3, s_7_20, -1, 1, 0},
|
385
|
+
{ 5, s_7_21, 20, 1, 0},
|
386
|
+
{ 5, s_7_22, 20, 1, 0},
|
387
|
+
{ 3, s_7_23, -1, 1, 0},
|
388
|
+
{ 6, s_7_24, -1, 1, 0},
|
389
|
+
{ 6, s_7_25, -1, 1, 0},
|
390
|
+
{ 3, s_7_26, -1, 1, 0},
|
391
|
+
{ 4, s_7_27, -1, 1, 0},
|
392
|
+
{ 4, s_7_28, -1, 1, 0},
|
393
|
+
{ 4, s_7_29, -1, 1, 0},
|
394
|
+
{ 4, s_7_30, -1, 1, 0},
|
395
|
+
{ 4, s_7_31, -1, 1, 0},
|
396
|
+
{ 4, s_7_32, -1, 1, 0},
|
397
|
+
{ 4, s_7_33, -1, 1, 0},
|
398
|
+
{ 3, s_7_34, -1, 1, 0},
|
399
|
+
{ 3, s_7_35, -1, 1, 0},
|
400
|
+
{ 6, s_7_36, -1, 1, 0},
|
401
|
+
{ 6, s_7_37, -1, 1, 0},
|
402
|
+
{ 3, s_7_38, -1, 1, 0},
|
403
|
+
{ 3, s_7_39, -1, 1, 0},
|
404
|
+
{ 3, s_7_40, -1, 1, 0},
|
405
|
+
{ 3, s_7_41, -1, 1, 0},
|
406
|
+
{ 4, s_7_42, -1, 1, 0},
|
407
|
+
{ 4, s_7_43, -1, 1, 0},
|
408
|
+
{ 4, s_7_44, -1, 1, 0},
|
409
|
+
{ 4, s_7_45, -1, 1, 0},
|
410
|
+
{ 4, s_7_46, -1, 1, 0},
|
411
|
+
{ 5, s_7_47, -1, 1, 0},
|
412
|
+
{ 5, s_7_48, -1, 1, 0},
|
413
|
+
{ 5, s_7_49, -1, 1, 0},
|
414
|
+
{ 5, s_7_50, -1, 1, 0},
|
415
|
+
{ 5, s_7_51, -1, 1, 0},
|
416
|
+
{ 6, s_7_52, -1, 1, 0},
|
417
|
+
{ 4, s_7_53, -1, 1, 0},
|
418
|
+
{ 4, s_7_54, -1, 1, 0},
|
419
|
+
{ 6, s_7_55, 54, 1, 0},
|
420
|
+
{ 6, s_7_56, 54, 1, 0},
|
421
|
+
{ 4, s_7_57, -1, 1, 0},
|
422
|
+
{ 3, s_7_58, -1, 1, 0},
|
423
|
+
{ 6, s_7_59, 58, 1, 0},
|
424
|
+
{ 5, s_7_60, 58, 1, 0},
|
425
|
+
{ 5, s_7_61, 58, 1, 0},
|
426
|
+
{ 5, s_7_62, 58, 1, 0},
|
427
|
+
{ 6, s_7_63, -1, 1, 0},
|
428
|
+
{ 6, s_7_64, -1, 1, 0},
|
429
|
+
{ 3, s_7_65, -1, 1, 0},
|
430
|
+
{ 6, s_7_66, 65, 1, 0},
|
431
|
+
{ 5, s_7_67, 65, 1, 0},
|
432
|
+
{ 5, s_7_68, 65, 1, 0},
|
433
|
+
{ 5, s_7_69, 65, 1, 0},
|
434
|
+
{ 8, s_7_70, -1, 1, 0},
|
435
|
+
{ 8, s_7_71, -1, 1, 0},
|
436
|
+
{ 6, s_7_72, -1, 1, 0},
|
437
|
+
{ 6, s_7_73, -1, 1, 0},
|
438
|
+
{ 6, s_7_74, -1, 1, 0},
|
439
|
+
{ 3, s_7_75, -1, 1, 0},
|
440
|
+
{ 3, s_7_76, -1, 1, 0},
|
441
|
+
{ 3, s_7_77, -1, 1, 0},
|
442
|
+
{ 3, s_7_78, -1, 1, 0},
|
443
|
+
{ 3, s_7_79, -1, 1, 0},
|
444
|
+
{ 3, s_7_80, -1, 1, 0},
|
445
|
+
{ 2, s_7_81, -1, 1, 0},
|
446
|
+
{ 2, s_7_82, -1, 1, 0},
|
447
|
+
{ 4, s_7_83, -1, 1, 0},
|
448
|
+
{ 4, s_7_84, -1, 1, 0},
|
449
|
+
{ 4, s_7_85, -1, 1, 0},
|
450
|
+
{ 4, s_7_86, -1, 1, 0}
|
451
451
|
};
|
452
452
|
|
453
453
|
static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
|
@@ -462,129 +462,126 @@ static const symbol s_2[] = { 0xC3, 0xAC };
|
|
462
462
|
static const symbol s_3[] = { 0xC3, 0xB2 };
|
463
463
|
static const symbol s_4[] = { 0xC3, 0xB9 };
|
464
464
|
static const symbol s_5[] = { 'q', 'U' };
|
465
|
-
static const symbol s_6[] = { '
|
466
|
-
static const symbol s_7[] = { '
|
465
|
+
static const symbol s_6[] = { 'U' };
|
466
|
+
static const symbol s_7[] = { 'I' };
|
467
467
|
static const symbol s_8[] = { 'i' };
|
468
|
-
static const symbol s_9[] = { '
|
469
|
-
static const symbol s_10[] = { '
|
470
|
-
static const symbol s_11[] = { '
|
471
|
-
static const symbol s_12[] = { '
|
472
|
-
static const symbol s_13[] = { '
|
473
|
-
static const symbol s_14[] = { '
|
474
|
-
static const symbol s_15[] = { '
|
475
|
-
static const symbol s_16[] = { '
|
476
|
-
static const symbol s_17[] = { '
|
477
|
-
static const symbol s_18[] = { 'a', 't' };
|
478
|
-
static const symbol s_19[] = { 'i', 'c' };
|
479
|
-
static const symbol s_20[] = { 'i' };
|
480
|
-
static const symbol s_21[] = { 'h' };
|
468
|
+
static const symbol s_9[] = { 'u' };
|
469
|
+
static const symbol s_10[] = { 'e' };
|
470
|
+
static const symbol s_11[] = { 'i', 'c' };
|
471
|
+
static const symbol s_12[] = { 'l', 'o', 'g' };
|
472
|
+
static const symbol s_13[] = { 'u' };
|
473
|
+
static const symbol s_14[] = { 'e', 'n', 't', 'e' };
|
474
|
+
static const symbol s_15[] = { 'a', 't' };
|
475
|
+
static const symbol s_16[] = { 'a', 't' };
|
476
|
+
static const symbol s_17[] = { 'i', 'c' };
|
481
477
|
|
482
478
|
static int r_prelude(struct SN_env * z) {
|
483
479
|
int among_var;
|
484
|
-
{ int
|
485
|
-
while(1) {
|
486
|
-
int
|
487
|
-
z->bra = z->c;
|
488
|
-
among_var = find_among(z, a_0, 7);
|
480
|
+
{ int c_test1 = z->c;
|
481
|
+
while(1) {
|
482
|
+
int c2 = z->c;
|
483
|
+
z->bra = z->c;
|
484
|
+
among_var = find_among(z, a_0, 7);
|
489
485
|
if (!(among_var)) goto lab0;
|
490
|
-
z->ket = z->c;
|
491
|
-
switch(among_var) {
|
492
|
-
case 0: goto lab0;
|
486
|
+
z->ket = z->c;
|
487
|
+
switch (among_var) {
|
493
488
|
case 1:
|
494
|
-
{ int ret = slice_from_s(z, 2, s_0);
|
489
|
+
{ int ret = slice_from_s(z, 2, s_0);
|
495
490
|
if (ret < 0) return ret;
|
496
491
|
}
|
497
492
|
break;
|
498
493
|
case 2:
|
499
|
-
{ int ret = slice_from_s(z, 2, s_1);
|
494
|
+
{ int ret = slice_from_s(z, 2, s_1);
|
500
495
|
if (ret < 0) return ret;
|
501
496
|
}
|
502
497
|
break;
|
503
498
|
case 3:
|
504
|
-
{ int ret = slice_from_s(z, 2, s_2);
|
499
|
+
{ int ret = slice_from_s(z, 2, s_2);
|
505
500
|
if (ret < 0) return ret;
|
506
501
|
}
|
507
502
|
break;
|
508
503
|
case 4:
|
509
|
-
{ int ret = slice_from_s(z, 2, s_3);
|
504
|
+
{ int ret = slice_from_s(z, 2, s_3);
|
510
505
|
if (ret < 0) return ret;
|
511
506
|
}
|
512
507
|
break;
|
513
508
|
case 5:
|
514
|
-
{ int ret = slice_from_s(z, 2, s_4);
|
509
|
+
{ int ret = slice_from_s(z, 2, s_4);
|
515
510
|
if (ret < 0) return ret;
|
516
511
|
}
|
517
512
|
break;
|
518
513
|
case 6:
|
519
|
-
{ int ret = slice_from_s(z, 2, s_5);
|
514
|
+
{ int ret = slice_from_s(z, 2, s_5);
|
520
515
|
if (ret < 0) return ret;
|
521
516
|
}
|
522
517
|
break;
|
523
518
|
case 7:
|
524
|
-
{ int ret = skip_utf8(z->p, z->c,
|
519
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 1);
|
525
520
|
if (ret < 0) goto lab0;
|
526
|
-
z->c = ret;
|
521
|
+
z->c = ret;
|
527
522
|
}
|
528
523
|
break;
|
529
524
|
}
|
530
525
|
continue;
|
531
526
|
lab0:
|
532
|
-
z->c =
|
527
|
+
z->c = c2;
|
533
528
|
break;
|
534
529
|
}
|
535
|
-
z->c =
|
530
|
+
z->c = c_test1;
|
536
531
|
}
|
537
|
-
while(1) {
|
538
|
-
int
|
539
|
-
while(1) {
|
540
|
-
int
|
532
|
+
while(1) {
|
533
|
+
int c3 = z->c;
|
534
|
+
while(1) {
|
535
|
+
int c4 = z->c;
|
541
536
|
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
|
542
|
-
z->bra = z->c;
|
543
|
-
{ int
|
544
|
-
if (
|
545
|
-
z->
|
537
|
+
z->bra = z->c;
|
538
|
+
{ int c5 = z->c;
|
539
|
+
if (z->c == z->l || z->p[z->c] != 'u') goto lab4;
|
540
|
+
z->c++;
|
541
|
+
z->ket = z->c;
|
546
542
|
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab4;
|
547
|
-
{ int ret = slice_from_s(z, 1,
|
543
|
+
{ int ret = slice_from_s(z, 1, s_6);
|
548
544
|
if (ret < 0) return ret;
|
549
545
|
}
|
550
546
|
goto lab3;
|
551
547
|
lab4:
|
552
|
-
z->c =
|
553
|
-
if (
|
554
|
-
z->
|
548
|
+
z->c = c5;
|
549
|
+
if (z->c == z->l || z->p[z->c] != 'i') goto lab2;
|
550
|
+
z->c++;
|
551
|
+
z->ket = z->c;
|
555
552
|
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
|
556
|
-
{ int ret = slice_from_s(z, 1,
|
553
|
+
{ int ret = slice_from_s(z, 1, s_7);
|
557
554
|
if (ret < 0) return ret;
|
558
555
|
}
|
559
556
|
}
|
560
557
|
lab3:
|
561
|
-
z->c =
|
558
|
+
z->c = c4;
|
562
559
|
break;
|
563
560
|
lab2:
|
564
|
-
z->c =
|
565
|
-
{ int ret = skip_utf8(z->p, z->c,
|
561
|
+
z->c = c4;
|
562
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 1);
|
566
563
|
if (ret < 0) goto lab1;
|
567
|
-
z->c = ret;
|
564
|
+
z->c = ret;
|
568
565
|
}
|
569
566
|
}
|
570
567
|
continue;
|
571
568
|
lab1:
|
572
|
-
z->c =
|
569
|
+
z->c = c3;
|
573
570
|
break;
|
574
571
|
}
|
575
572
|
return 1;
|
576
573
|
}
|
577
574
|
|
578
575
|
static int r_mark_regions(struct SN_env * z) {
|
579
|
-
z->I[0] = z->l;
|
580
|
-
z->I[1] = z->l;
|
581
576
|
z->I[2] = z->l;
|
582
|
-
|
583
|
-
|
577
|
+
z->I[1] = z->l;
|
578
|
+
z->I[0] = z->l;
|
579
|
+
{ int c1 = z->c;
|
580
|
+
{ int c2 = z->c;
|
584
581
|
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
|
585
|
-
{ int c3 = z->c;
|
582
|
+
{ int c3 = z->c;
|
586
583
|
if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab4;
|
587
|
-
{
|
584
|
+
{
|
588
585
|
int ret = out_grouping_U(z, g_v, 97, 249, 1);
|
589
586
|
if (ret < 0) goto lab4;
|
590
587
|
z->c += ret;
|
@@ -593,7 +590,7 @@ static int r_mark_regions(struct SN_env * z) {
|
|
593
590
|
lab4:
|
594
591
|
z->c = c3;
|
595
592
|
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
|
596
|
-
{
|
593
|
+
{
|
597
594
|
int ret = in_grouping_U(z, g_v, 97, 249, 1);
|
598
595
|
if (ret < 0) goto lab2;
|
599
596
|
z->c += ret;
|
@@ -604,9 +601,9 @@ static int r_mark_regions(struct SN_env * z) {
|
|
604
601
|
lab2:
|
605
602
|
z->c = c2;
|
606
603
|
if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab0;
|
607
|
-
{ int c4 = z->c;
|
604
|
+
{ int c4 = z->c;
|
608
605
|
if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab6;
|
609
|
-
{
|
606
|
+
{
|
610
607
|
int ret = out_grouping_U(z, g_v, 97, 249, 1);
|
611
608
|
if (ret < 0) goto lab6;
|
612
609
|
z->c += ret;
|
@@ -615,42 +612,42 @@ static int r_mark_regions(struct SN_env * z) {
|
|
615
612
|
lab6:
|
616
613
|
z->c = c4;
|
617
614
|
if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab0;
|
618
|
-
{ int ret = skip_utf8(z->p, z->c,
|
615
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 1);
|
619
616
|
if (ret < 0) goto lab0;
|
620
|
-
z->c = ret;
|
617
|
+
z->c = ret;
|
621
618
|
}
|
622
619
|
}
|
623
620
|
lab5:
|
624
621
|
;
|
625
622
|
}
|
626
623
|
lab1:
|
627
|
-
z->I[
|
624
|
+
z->I[2] = z->c;
|
628
625
|
lab0:
|
629
626
|
z->c = c1;
|
630
627
|
}
|
631
|
-
{ int c5 = z->c;
|
632
|
-
{
|
628
|
+
{ int c5 = z->c;
|
629
|
+
{
|
633
630
|
int ret = out_grouping_U(z, g_v, 97, 249, 1);
|
634
631
|
if (ret < 0) goto lab7;
|
635
632
|
z->c += ret;
|
636
633
|
}
|
637
|
-
{
|
634
|
+
{
|
638
635
|
int ret = in_grouping_U(z, g_v, 97, 249, 1);
|
639
636
|
if (ret < 0) goto lab7;
|
640
637
|
z->c += ret;
|
641
638
|
}
|
642
|
-
z->I[1] = z->c;
|
643
|
-
{
|
639
|
+
z->I[1] = z->c;
|
640
|
+
{
|
644
641
|
int ret = out_grouping_U(z, g_v, 97, 249, 1);
|
645
642
|
if (ret < 0) goto lab7;
|
646
643
|
z->c += ret;
|
647
644
|
}
|
648
|
-
{
|
645
|
+
{
|
649
646
|
int ret = in_grouping_U(z, g_v, 97, 249, 1);
|
650
647
|
if (ret < 0) goto lab7;
|
651
648
|
z->c += ret;
|
652
649
|
}
|
653
|
-
z->I[
|
650
|
+
z->I[0] = z->c;
|
654
651
|
lab7:
|
655
652
|
z->c = c5;
|
656
653
|
}
|
@@ -659,29 +656,28 @@ static int r_mark_regions(struct SN_env * z) {
|
|
659
656
|
|
660
657
|
static int r_postlude(struct SN_env * z) {
|
661
658
|
int among_var;
|
662
|
-
while(1) {
|
659
|
+
while(1) {
|
663
660
|
int c1 = z->c;
|
664
|
-
z->bra = z->c;
|
661
|
+
z->bra = z->c;
|
665
662
|
if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
|
666
|
-
among_var = find_among(z, a_1, 3);
|
663
|
+
among_var = find_among(z, a_1, 3);
|
667
664
|
if (!(among_var)) goto lab0;
|
668
|
-
z->ket = z->c;
|
669
|
-
switch(among_var) {
|
670
|
-
case 0: goto lab0;
|
665
|
+
z->ket = z->c;
|
666
|
+
switch (among_var) {
|
671
667
|
case 1:
|
672
|
-
{ int ret = slice_from_s(z, 1,
|
668
|
+
{ int ret = slice_from_s(z, 1, s_8);
|
673
669
|
if (ret < 0) return ret;
|
674
670
|
}
|
675
671
|
break;
|
676
672
|
case 2:
|
677
|
-
{ int ret = slice_from_s(z, 1,
|
673
|
+
{ int ret = slice_from_s(z, 1, s_9);
|
678
674
|
if (ret < 0) return ret;
|
679
675
|
}
|
680
676
|
break;
|
681
677
|
case 3:
|
682
|
-
{ int ret = skip_utf8(z->p, z->c,
|
678
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 1);
|
683
679
|
if (ret < 0) goto lab0;
|
684
|
-
z->c = ret;
|
680
|
+
z->c = ret;
|
685
681
|
}
|
686
682
|
break;
|
687
683
|
}
|
@@ -694,7 +690,7 @@ static int r_postlude(struct SN_env * z) {
|
|
694
690
|
}
|
695
691
|
|
696
692
|
static int r_RV(struct SN_env * z) {
|
697
|
-
if (!(z->I[
|
693
|
+
if (!(z->I[2] <= z->c)) return 0;
|
698
694
|
return 1;
|
699
695
|
}
|
700
696
|
|
@@ -704,32 +700,30 @@ static int r_R1(struct SN_env * z) {
|
|
704
700
|
}
|
705
701
|
|
706
702
|
static int r_R2(struct SN_env * z) {
|
707
|
-
if (!(z->I[
|
703
|
+
if (!(z->I[0] <= z->c)) return 0;
|
708
704
|
return 1;
|
709
705
|
}
|
710
706
|
|
711
707
|
static int r_attached_pronoun(struct SN_env * z) {
|
712
708
|
int among_var;
|
713
|
-
z->ket = z->c;
|
709
|
+
z->ket = z->c;
|
714
710
|
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
|
715
|
-
if (!(find_among_b(z, a_2, 37))) return 0;
|
716
|
-
z->bra = z->c;
|
711
|
+
if (!(find_among_b(z, a_2, 37))) return 0;
|
712
|
+
z->bra = z->c;
|
717
713
|
if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
|
718
|
-
among_var = find_among_b(z, a_3, 5);
|
714
|
+
among_var = find_among_b(z, a_3, 5);
|
719
715
|
if (!(among_var)) return 0;
|
720
716
|
{ int ret = r_RV(z);
|
721
|
-
if (ret
|
722
|
-
if (ret < 0) return ret;
|
717
|
+
if (ret <= 0) return ret;
|
723
718
|
}
|
724
|
-
switch(among_var) {
|
725
|
-
case 0: return 0;
|
719
|
+
switch (among_var) {
|
726
720
|
case 1:
|
727
|
-
{ int ret = slice_del(z);
|
721
|
+
{ int ret = slice_del(z);
|
728
722
|
if (ret < 0) return ret;
|
729
723
|
}
|
730
724
|
break;
|
731
725
|
case 2:
|
732
|
-
{ int ret = slice_from_s(z, 1,
|
726
|
+
{ int ret = slice_from_s(z, 1, s_10);
|
733
727
|
if (ret < 0) return ret;
|
734
728
|
}
|
735
729
|
break;
|
@@ -739,38 +733,35 @@ static int r_attached_pronoun(struct SN_env * z) {
|
|
739
733
|
|
740
734
|
static int r_standard_suffix(struct SN_env * z) {
|
741
735
|
int among_var;
|
742
|
-
z->ket = z->c;
|
743
|
-
among_var = find_among_b(z, a_6, 51);
|
736
|
+
z->ket = z->c;
|
737
|
+
among_var = find_among_b(z, a_6, 51);
|
744
738
|
if (!(among_var)) return 0;
|
745
|
-
z->bra = z->c;
|
746
|
-
switch(among_var) {
|
747
|
-
case 0: return 0;
|
739
|
+
z->bra = z->c;
|
740
|
+
switch (among_var) {
|
748
741
|
case 1:
|
749
742
|
{ int ret = r_R2(z);
|
750
|
-
if (ret
|
751
|
-
if (ret < 0) return ret;
|
743
|
+
if (ret <= 0) return ret;
|
752
744
|
}
|
753
|
-
{ int ret = slice_del(z);
|
745
|
+
{ int ret = slice_del(z);
|
754
746
|
if (ret < 0) return ret;
|
755
747
|
}
|
756
748
|
break;
|
757
749
|
case 2:
|
758
750
|
{ int ret = r_R2(z);
|
759
|
-
if (ret
|
760
|
-
if (ret < 0) return ret;
|
751
|
+
if (ret <= 0) return ret;
|
761
752
|
}
|
762
|
-
{ int ret = slice_del(z);
|
753
|
+
{ int ret = slice_del(z);
|
763
754
|
if (ret < 0) return ret;
|
764
755
|
}
|
765
|
-
{ int
|
766
|
-
z->ket = z->c;
|
767
|
-
if (!(eq_s_b(z, 2,
|
768
|
-
z->bra = z->c;
|
756
|
+
{ int m1 = z->l - z->c; (void)m1;
|
757
|
+
z->ket = z->c;
|
758
|
+
if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m1; goto lab0; }
|
759
|
+
z->bra = z->c;
|
769
760
|
{ int ret = r_R2(z);
|
770
|
-
if (ret == 0) { z->c = z->l -
|
761
|
+
if (ret == 0) { z->c = z->l - m1; goto lab0; }
|
771
762
|
if (ret < 0) return ret;
|
772
763
|
}
|
773
|
-
{ int ret = slice_del(z);
|
764
|
+
{ int ret = slice_del(z);
|
774
765
|
if (ret < 0) return ret;
|
775
766
|
}
|
776
767
|
lab0:
|
@@ -779,72 +770,66 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
779
770
|
break;
|
780
771
|
case 3:
|
781
772
|
{ int ret = r_R2(z);
|
782
|
-
if (ret
|
783
|
-
if (ret < 0) return ret;
|
773
|
+
if (ret <= 0) return ret;
|
784
774
|
}
|
785
|
-
{ int ret = slice_from_s(z, 3,
|
775
|
+
{ int ret = slice_from_s(z, 3, s_12);
|
786
776
|
if (ret < 0) return ret;
|
787
777
|
}
|
788
778
|
break;
|
789
779
|
case 4:
|
790
780
|
{ int ret = r_R2(z);
|
791
|
-
if (ret
|
792
|
-
if (ret < 0) return ret;
|
781
|
+
if (ret <= 0) return ret;
|
793
782
|
}
|
794
|
-
{ int ret = slice_from_s(z, 1,
|
783
|
+
{ int ret = slice_from_s(z, 1, s_13);
|
795
784
|
if (ret < 0) return ret;
|
796
785
|
}
|
797
786
|
break;
|
798
787
|
case 5:
|
799
788
|
{ int ret = r_R2(z);
|
800
|
-
if (ret
|
801
|
-
if (ret < 0) return ret;
|
789
|
+
if (ret <= 0) return ret;
|
802
790
|
}
|
803
|
-
{ int ret = slice_from_s(z, 4,
|
791
|
+
{ int ret = slice_from_s(z, 4, s_14);
|
804
792
|
if (ret < 0) return ret;
|
805
793
|
}
|
806
794
|
break;
|
807
795
|
case 6:
|
808
796
|
{ int ret = r_RV(z);
|
809
|
-
if (ret
|
810
|
-
if (ret < 0) return ret;
|
797
|
+
if (ret <= 0) return ret;
|
811
798
|
}
|
812
|
-
{ int ret = slice_del(z);
|
799
|
+
{ int ret = slice_del(z);
|
813
800
|
if (ret < 0) return ret;
|
814
801
|
}
|
815
802
|
break;
|
816
803
|
case 7:
|
817
804
|
{ int ret = r_R1(z);
|
818
|
-
if (ret
|
819
|
-
if (ret < 0) return ret;
|
805
|
+
if (ret <= 0) return ret;
|
820
806
|
}
|
821
|
-
{ int ret = slice_del(z);
|
807
|
+
{ int ret = slice_del(z);
|
822
808
|
if (ret < 0) return ret;
|
823
809
|
}
|
824
|
-
{ int
|
825
|
-
z->ket = z->c;
|
826
|
-
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l -
|
827
|
-
among_var = find_among_b(z, a_4, 4);
|
828
|
-
if (!(among_var)) { z->c = z->l -
|
829
|
-
z->bra = z->c;
|
810
|
+
{ int m2 = z->l - z->c; (void)m2;
|
811
|
+
z->ket = z->c;
|
812
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; }
|
813
|
+
among_var = find_among_b(z, a_4, 4);
|
814
|
+
if (!(among_var)) { z->c = z->l - m2; goto lab1; }
|
815
|
+
z->bra = z->c;
|
830
816
|
{ int ret = r_R2(z);
|
831
|
-
if (ret == 0) { z->c = z->l -
|
817
|
+
if (ret == 0) { z->c = z->l - m2; goto lab1; }
|
832
818
|
if (ret < 0) return ret;
|
833
819
|
}
|
834
|
-
{ int ret = slice_del(z);
|
820
|
+
{ int ret = slice_del(z);
|
835
821
|
if (ret < 0) return ret;
|
836
822
|
}
|
837
|
-
switch(among_var) {
|
838
|
-
case 0: { z->c = z->l - m_keep; goto lab1; }
|
823
|
+
switch (among_var) {
|
839
824
|
case 1:
|
840
|
-
z->ket = z->c;
|
841
|
-
if (!(eq_s_b(z, 2,
|
842
|
-
z->bra = z->c;
|
825
|
+
z->ket = z->c;
|
826
|
+
if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m2; goto lab1; }
|
827
|
+
z->bra = z->c;
|
843
828
|
{ int ret = r_R2(z);
|
844
|
-
if (ret == 0) { z->c = z->l -
|
829
|
+
if (ret == 0) { z->c = z->l - m2; goto lab1; }
|
845
830
|
if (ret < 0) return ret;
|
846
831
|
}
|
847
|
-
{ int ret = slice_del(z);
|
832
|
+
{ int ret = slice_del(z);
|
848
833
|
if (ret < 0) return ret;
|
849
834
|
}
|
850
835
|
break;
|
@@ -855,29 +840,22 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
855
840
|
break;
|
856
841
|
case 8:
|
857
842
|
{ int ret = r_R2(z);
|
858
|
-
if (ret
|
859
|
-
if (ret < 0) return ret;
|
843
|
+
if (ret <= 0) return ret;
|
860
844
|
}
|
861
|
-
{ int ret = slice_del(z);
|
845
|
+
{ int ret = slice_del(z);
|
862
846
|
if (ret < 0) return ret;
|
863
847
|
}
|
864
|
-
{ int
|
865
|
-
z->ket = z->c;
|
866
|
-
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l -
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
if (ret < 0) return ret;
|
876
|
-
}
|
877
|
-
{ int ret = slice_del(z); /* delete, line 137 */
|
878
|
-
if (ret < 0) return ret;
|
879
|
-
}
|
880
|
-
break;
|
848
|
+
{ int m3 = z->l - z->c; (void)m3;
|
849
|
+
z->ket = z->c;
|
850
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m3; goto lab2; }
|
851
|
+
if (!(find_among_b(z, a_5, 3))) { z->c = z->l - m3; goto lab2; }
|
852
|
+
z->bra = z->c;
|
853
|
+
{ int ret = r_R2(z);
|
854
|
+
if (ret == 0) { z->c = z->l - m3; goto lab2; }
|
855
|
+
if (ret < 0) return ret;
|
856
|
+
}
|
857
|
+
{ int ret = slice_del(z);
|
858
|
+
if (ret < 0) return ret;
|
881
859
|
}
|
882
860
|
lab2:
|
883
861
|
;
|
@@ -885,31 +863,30 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
885
863
|
break;
|
886
864
|
case 9:
|
887
865
|
{ int ret = r_R2(z);
|
888
|
-
if (ret
|
889
|
-
if (ret < 0) return ret;
|
866
|
+
if (ret <= 0) return ret;
|
890
867
|
}
|
891
|
-
{ int ret = slice_del(z);
|
868
|
+
{ int ret = slice_del(z);
|
892
869
|
if (ret < 0) return ret;
|
893
870
|
}
|
894
|
-
{ int
|
895
|
-
z->ket = z->c;
|
896
|
-
if (!(eq_s_b(z, 2,
|
897
|
-
z->bra = z->c;
|
871
|
+
{ int m4 = z->l - z->c; (void)m4;
|
872
|
+
z->ket = z->c;
|
873
|
+
if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m4; goto lab3; }
|
874
|
+
z->bra = z->c;
|
898
875
|
{ int ret = r_R2(z);
|
899
|
-
if (ret == 0) { z->c = z->l -
|
876
|
+
if (ret == 0) { z->c = z->l - m4; goto lab3; }
|
900
877
|
if (ret < 0) return ret;
|
901
878
|
}
|
902
|
-
{ int ret = slice_del(z);
|
879
|
+
{ int ret = slice_del(z);
|
903
880
|
if (ret < 0) return ret;
|
904
881
|
}
|
905
|
-
z->ket = z->c;
|
906
|
-
if (!(eq_s_b(z, 2,
|
907
|
-
z->bra = z->c;
|
882
|
+
z->ket = z->c;
|
883
|
+
if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m4; goto lab3; }
|
884
|
+
z->bra = z->c;
|
908
885
|
{ int ret = r_R2(z);
|
909
|
-
if (ret == 0) { z->c = z->l -
|
886
|
+
if (ret == 0) { z->c = z->l - m4; goto lab3; }
|
910
887
|
if (ret < 0) return ret;
|
911
888
|
}
|
912
|
-
{ int ret = slice_del(z);
|
889
|
+
{ int ret = slice_del(z);
|
913
890
|
if (ret < 0) return ret;
|
914
891
|
}
|
915
892
|
lab3:
|
@@ -921,65 +898,58 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
921
898
|
}
|
922
899
|
|
923
900
|
static int r_verb_suffix(struct SN_env * z) {
|
924
|
-
|
925
|
-
{ int
|
926
|
-
|
927
|
-
|
928
|
-
z->
|
929
|
-
|
930
|
-
z->
|
931
|
-
|
932
|
-
|
933
|
-
if (!(among_var)) { z->lb = mlimit; return 0; }
|
934
|
-
z->bra = z->c; /* ], line 149 */
|
935
|
-
switch(among_var) {
|
936
|
-
case 0: { z->lb = mlimit; return 0; }
|
937
|
-
case 1:
|
938
|
-
{ int ret = slice_del(z); /* delete, line 163 */
|
939
|
-
if (ret < 0) return ret;
|
940
|
-
}
|
941
|
-
break;
|
901
|
+
|
902
|
+
{ int mlimit1;
|
903
|
+
if (z->c < z->I[2]) return 0;
|
904
|
+
mlimit1 = z->lb; z->lb = z->I[2];
|
905
|
+
z->ket = z->c;
|
906
|
+
if (!(find_among_b(z, a_7, 87))) { z->lb = mlimit1; return 0; }
|
907
|
+
z->bra = z->c;
|
908
|
+
{ int ret = slice_del(z);
|
909
|
+
if (ret < 0) return ret;
|
942
910
|
}
|
943
|
-
z->lb =
|
911
|
+
z->lb = mlimit1;
|
944
912
|
}
|
945
913
|
return 1;
|
946
914
|
}
|
947
915
|
|
948
916
|
static int r_vowel_suffix(struct SN_env * z) {
|
949
|
-
{ int
|
950
|
-
z->ket = z->c;
|
951
|
-
if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l -
|
952
|
-
z->bra = z->c;
|
917
|
+
{ int m1 = z->l - z->c; (void)m1;
|
918
|
+
z->ket = z->c;
|
919
|
+
if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m1; goto lab0; }
|
920
|
+
z->bra = z->c;
|
953
921
|
{ int ret = r_RV(z);
|
954
|
-
if (ret == 0) { z->c = z->l -
|
922
|
+
if (ret == 0) { z->c = z->l - m1; goto lab0; }
|
955
923
|
if (ret < 0) return ret;
|
956
924
|
}
|
957
|
-
{ int ret = slice_del(z);
|
925
|
+
{ int ret = slice_del(z);
|
958
926
|
if (ret < 0) return ret;
|
959
927
|
}
|
960
|
-
z->ket = z->c;
|
961
|
-
if (
|
962
|
-
z->
|
928
|
+
z->ket = z->c;
|
929
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - m1; goto lab0; }
|
930
|
+
z->c--;
|
931
|
+
z->bra = z->c;
|
963
932
|
{ int ret = r_RV(z);
|
964
|
-
if (ret == 0) { z->c = z->l -
|
933
|
+
if (ret == 0) { z->c = z->l - m1; goto lab0; }
|
965
934
|
if (ret < 0) return ret;
|
966
935
|
}
|
967
|
-
{ int ret = slice_del(z);
|
936
|
+
{ int ret = slice_del(z);
|
968
937
|
if (ret < 0) return ret;
|
969
938
|
}
|
970
939
|
lab0:
|
971
940
|
;
|
972
941
|
}
|
973
|
-
{ int
|
974
|
-
z->ket = z->c;
|
975
|
-
if (
|
976
|
-
z->
|
977
|
-
|
942
|
+
{ int m2 = z->l - z->c; (void)m2;
|
943
|
+
z->ket = z->c;
|
944
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - m2; goto lab1; }
|
945
|
+
z->c--;
|
946
|
+
z->bra = z->c;
|
947
|
+
if (in_grouping_b_U(z, g_CG, 99, 103, 0)) { z->c = z->l - m2; goto lab1; }
|
978
948
|
{ int ret = r_RV(z);
|
979
|
-
if (ret == 0) { z->c = z->l -
|
949
|
+
if (ret == 0) { z->c = z->l - m2; goto lab1; }
|
980
950
|
if (ret < 0) return ret;
|
981
951
|
}
|
982
|
-
{ int ret = slice_del(z);
|
952
|
+
{ int ret = slice_del(z);
|
983
953
|
if (ret < 0) return ret;
|
984
954
|
}
|
985
955
|
lab1:
|
@@ -989,71 +959,59 @@ static int r_vowel_suffix(struct SN_env * z) {
|
|
989
959
|
}
|
990
960
|
|
991
961
|
extern int italian_UTF_8_stem(struct SN_env * z) {
|
992
|
-
{ int c1 = z->c;
|
962
|
+
{ int c1 = z->c;
|
993
963
|
{ int ret = r_prelude(z);
|
994
|
-
if (ret == 0) goto lab0; /* call prelude, line 182 */
|
995
964
|
if (ret < 0) return ret;
|
996
965
|
}
|
997
|
-
lab0:
|
998
966
|
z->c = c1;
|
999
967
|
}
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
if (ret < 0) return ret;
|
1004
|
-
}
|
1005
|
-
lab1:
|
1006
|
-
z->c = c2;
|
968
|
+
|
969
|
+
{ int ret = r_mark_regions(z);
|
970
|
+
if (ret < 0) return ret;
|
1007
971
|
}
|
1008
|
-
z->lb = z->c; z->c = z->l;
|
972
|
+
z->lb = z->c; z->c = z->l;
|
1009
973
|
|
1010
|
-
{ int
|
974
|
+
{ int m2 = z->l - z->c; (void)m2;
|
1011
975
|
{ int ret = r_attached_pronoun(z);
|
1012
|
-
if (ret == 0) goto lab2; /* call attached_pronoun, line 185 */
|
1013
976
|
if (ret < 0) return ret;
|
1014
977
|
}
|
1015
|
-
|
1016
|
-
z->c = z->l - m3;
|
978
|
+
z->c = z->l - m2;
|
1017
979
|
}
|
1018
|
-
{ int
|
1019
|
-
{ int
|
980
|
+
{ int m3 = z->l - z->c; (void)m3;
|
981
|
+
{ int m4 = z->l - z->c; (void)m4;
|
1020
982
|
{ int ret = r_standard_suffix(z);
|
1021
|
-
if (ret == 0) goto
|
983
|
+
if (ret == 0) goto lab2;
|
1022
984
|
if (ret < 0) return ret;
|
1023
985
|
}
|
1024
|
-
goto
|
1025
|
-
|
1026
|
-
z->c = z->l -
|
986
|
+
goto lab1;
|
987
|
+
lab2:
|
988
|
+
z->c = z->l - m4;
|
1027
989
|
{ int ret = r_verb_suffix(z);
|
1028
|
-
if (ret == 0) goto
|
990
|
+
if (ret == 0) goto lab0;
|
1029
991
|
if (ret < 0) return ret;
|
1030
992
|
}
|
1031
993
|
}
|
1032
|
-
|
1033
|
-
|
1034
|
-
z->c = z->l -
|
994
|
+
lab1:
|
995
|
+
lab0:
|
996
|
+
z->c = z->l - m3;
|
1035
997
|
}
|
1036
|
-
{ int
|
998
|
+
{ int m5 = z->l - z->c; (void)m5;
|
1037
999
|
{ int ret = r_vowel_suffix(z);
|
1038
|
-
if (ret == 0) goto lab6; /* call vowel_suffix, line 187 */
|
1039
1000
|
if (ret < 0) return ret;
|
1040
1001
|
}
|
1041
|
-
|
1042
|
-
z->c = z->l - m6;
|
1002
|
+
z->c = z->l - m5;
|
1043
1003
|
}
|
1044
1004
|
z->c = z->lb;
|
1045
|
-
{ int
|
1005
|
+
{ int c6 = z->c;
|
1046
1006
|
{ int ret = r_postlude(z);
|
1047
|
-
if (ret == 0) goto lab7; /* call postlude, line 189 */
|
1048
1007
|
if (ret < 0) return ret;
|
1049
1008
|
}
|
1050
|
-
|
1051
|
-
z->c = c7;
|
1009
|
+
z->c = c6;
|
1052
1010
|
}
|
1053
1011
|
return 1;
|
1054
1012
|
}
|
1055
1013
|
|
1056
|
-
extern struct SN_env * italian_UTF_8_create_env(void) { return SN_create_env(0, 3
|
1014
|
+
extern struct SN_env * italian_UTF_8_create_env(void) { return SN_create_env(0, 3); }
|
1057
1015
|
|
1058
1016
|
extern void italian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
|
1059
1017
|
|