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.
- 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
|
|
@@ -23,9 +23,9 @@ static const symbol s_0_2[1] = { 0xF5 };
|
|
23
23
|
|
24
24
|
static const struct among a_0[3] =
|
25
25
|
{
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
{ 0, 0, -1, 3, 0},
|
27
|
+
{ 1, s_0_1, 0, 1, 0},
|
28
|
+
{ 1, s_0_2, 0, 2, 0}
|
29
29
|
};
|
30
30
|
|
31
31
|
static const symbol s_1_1[2] = { 'a', '~' };
|
@@ -33,9 +33,9 @@ static const symbol s_1_2[2] = { 'o', '~' };
|
|
33
33
|
|
34
34
|
static const struct among a_1[3] =
|
35
35
|
{
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
{ 0, 0, -1, 3, 0},
|
37
|
+
{ 2, s_1_1, 0, 1, 0},
|
38
|
+
{ 2, s_1_2, 0, 2, 0}
|
39
39
|
};
|
40
40
|
|
41
41
|
static const symbol s_2_0[2] = { 'i', 'c' };
|
@@ -45,10 +45,10 @@ static const symbol s_2_3[2] = { 'i', 'v' };
|
|
45
45
|
|
46
46
|
static const struct among a_2[4] =
|
47
47
|
{
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
{ 2, s_2_0, -1, -1, 0},
|
49
|
+
{ 2, s_2_1, -1, -1, 0},
|
50
|
+
{ 2, s_2_2, -1, -1, 0},
|
51
|
+
{ 2, s_2_3, -1, 1, 0}
|
52
52
|
};
|
53
53
|
|
54
54
|
static const symbol s_3_0[4] = { 'a', 'n', 't', 'e' };
|
@@ -57,9 +57,9 @@ static const symbol s_3_2[4] = { 0xED, 'v', 'e', 'l' };
|
|
57
57
|
|
58
58
|
static const struct among a_3[3] =
|
59
59
|
{
|
60
|
-
|
61
|
-
|
62
|
-
|
60
|
+
{ 4, s_3_0, -1, 1, 0},
|
61
|
+
{ 4, s_3_1, -1, 1, 0},
|
62
|
+
{ 4, s_3_2, -1, 1, 0}
|
63
63
|
};
|
64
64
|
|
65
65
|
static const symbol s_4_0[2] = { 'i', 'c' };
|
@@ -68,50 +68,50 @@ static const symbol s_4_2[2] = { 'i', 'v' };
|
|
68
68
|
|
69
69
|
static const struct among a_4[3] =
|
70
70
|
{
|
71
|
-
|
72
|
-
|
73
|
-
|
71
|
+
{ 2, s_4_0, -1, 1, 0},
|
72
|
+
{ 4, s_4_1, -1, 1, 0},
|
73
|
+
{ 2, s_4_2, -1, 1, 0}
|
74
74
|
};
|
75
75
|
|
76
76
|
static const symbol s_5_0[3] = { 'i', 'c', 'a' };
|
77
77
|
static const symbol s_5_1[5] = { 0xE2, 'n', 'c', 'i', 'a' };
|
78
78
|
static const symbol s_5_2[5] = { 0xEA, 'n', 'c', 'i', 'a' };
|
79
|
-
static const symbol s_5_3[
|
80
|
-
static const symbol s_5_4[
|
81
|
-
static const symbol s_5_5[
|
82
|
-
static const symbol s_5_6[
|
83
|
-
static const symbol s_5_7[
|
84
|
-
static const symbol s_5_8[3] = { '
|
85
|
-
static const symbol s_5_9[
|
79
|
+
static const symbol s_5_3[5] = { 'l', 'o', 'g', 'i', 'a' };
|
80
|
+
static const symbol s_5_4[3] = { 'i', 'r', 'a' };
|
81
|
+
static const symbol s_5_5[5] = { 'a', 'd', 'o', 'r', 'a' };
|
82
|
+
static const symbol s_5_6[3] = { 'o', 's', 'a' };
|
83
|
+
static const symbol s_5_7[4] = { 'i', 's', 't', 'a' };
|
84
|
+
static const symbol s_5_8[3] = { 'i', 'v', 'a' };
|
85
|
+
static const symbol s_5_9[3] = { 'e', 'z', 'a' };
|
86
86
|
static const symbol s_5_10[5] = { 'i', 'd', 'a', 'd', 'e' };
|
87
87
|
static const symbol s_5_11[4] = { 'a', 'n', 't', 'e' };
|
88
88
|
static const symbol s_5_12[5] = { 'm', 'e', 'n', 't', 'e' };
|
89
89
|
static const symbol s_5_13[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
|
90
90
|
static const symbol s_5_14[4] = { 0xE1, 'v', 'e', 'l' };
|
91
91
|
static const symbol s_5_15[4] = { 0xED, 'v', 'e', 'l' };
|
92
|
-
static const symbol s_5_16[
|
93
|
-
static const symbol s_5_17[
|
94
|
-
static const symbol s_5_18[
|
95
|
-
static const symbol s_5_19[
|
96
|
-
static const symbol s_5_20[6] = { '
|
97
|
-
static const symbol s_5_21[
|
98
|
-
static const symbol s_5_22[
|
99
|
-
static const symbol s_5_23[5] = { '
|
92
|
+
static const symbol s_5_16[3] = { 'i', 'c', 'o' };
|
93
|
+
static const symbol s_5_17[4] = { 'i', 's', 'm', 'o' };
|
94
|
+
static const symbol s_5_18[3] = { 'o', 's', 'o' };
|
95
|
+
static const symbol s_5_19[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
|
96
|
+
static const symbol s_5_20[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
|
97
|
+
static const symbol s_5_21[3] = { 'i', 'v', 'o' };
|
98
|
+
static const symbol s_5_22[5] = { 'a', 0xE7, 'a', '~', 'o' };
|
99
|
+
static const symbol s_5_23[5] = { 'u', 0xE7, 'a', '~', 'o' };
|
100
100
|
static const symbol s_5_24[4] = { 'a', 'd', 'o', 'r' };
|
101
101
|
static const symbol s_5_25[4] = { 'i', 'c', 'a', 's' };
|
102
102
|
static const symbol s_5_26[6] = { 0xEA, 'n', 'c', 'i', 'a', 's' };
|
103
|
-
static const symbol s_5_27[
|
104
|
-
static const symbol s_5_28[
|
105
|
-
static const symbol s_5_29[
|
106
|
-
static const symbol s_5_30[
|
107
|
-
static const symbol s_5_31[
|
108
|
-
static const symbol s_5_32[4] = { '
|
109
|
-
static const symbol s_5_33[
|
103
|
+
static const symbol s_5_27[6] = { 'l', 'o', 'g', 'i', 'a', 's' };
|
104
|
+
static const symbol s_5_28[4] = { 'i', 'r', 'a', 's' };
|
105
|
+
static const symbol s_5_29[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
|
106
|
+
static const symbol s_5_30[4] = { 'o', 's', 'a', 's' };
|
107
|
+
static const symbol s_5_31[5] = { 'i', 's', 't', 'a', 's' };
|
108
|
+
static const symbol s_5_32[4] = { 'i', 'v', 'a', 's' };
|
109
|
+
static const symbol s_5_33[4] = { 'e', 'z', 'a', 's' };
|
110
110
|
static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
|
111
|
-
static const symbol s_5_35[
|
112
|
-
static const symbol s_5_36[
|
113
|
-
static const symbol s_5_37[
|
114
|
-
static const symbol s_5_38[6] = { '
|
111
|
+
static const symbol s_5_35[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
|
112
|
+
static const symbol s_5_36[5] = { 'a', 'n', 't', 'e', 's' };
|
113
|
+
static const symbol s_5_37[6] = { 'a', 0xE7, 'o', '~', 'e', 's' };
|
114
|
+
static const symbol s_5_38[6] = { 'u', 0xE7, 'o', '~', 'e', 's' };
|
115
115
|
static const symbol s_5_39[4] = { 'i', 'c', 'o', 's' };
|
116
116
|
static const symbol s_5_40[5] = { 'i', 's', 'm', 'o', 's' };
|
117
117
|
static const symbol s_5_41[4] = { 'o', 's', 'o', 's' };
|
@@ -121,51 +121,51 @@ static const symbol s_5_44[4] = { 'i', 'v', 'o', 's' };
|
|
121
121
|
|
122
122
|
static const struct among a_5[45] =
|
123
123
|
{
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
124
|
+
{ 3, s_5_0, -1, 1, 0},
|
125
|
+
{ 5, s_5_1, -1, 1, 0},
|
126
|
+
{ 5, s_5_2, -1, 4, 0},
|
127
|
+
{ 5, s_5_3, -1, 2, 0},
|
128
|
+
{ 3, s_5_4, -1, 9, 0},
|
129
|
+
{ 5, s_5_5, -1, 1, 0},
|
130
|
+
{ 3, s_5_6, -1, 1, 0},
|
131
|
+
{ 4, s_5_7, -1, 1, 0},
|
132
|
+
{ 3, s_5_8, -1, 8, 0},
|
133
|
+
{ 3, s_5_9, -1, 1, 0},
|
134
|
+
{ 5, s_5_10, -1, 7, 0},
|
135
|
+
{ 4, s_5_11, -1, 1, 0},
|
136
|
+
{ 5, s_5_12, -1, 6, 0},
|
137
|
+
{ 6, s_5_13, 12, 5, 0},
|
138
|
+
{ 4, s_5_14, -1, 1, 0},
|
139
|
+
{ 4, s_5_15, -1, 1, 0},
|
140
|
+
{ 3, s_5_16, -1, 1, 0},
|
141
|
+
{ 4, s_5_17, -1, 1, 0},
|
142
|
+
{ 3, s_5_18, -1, 1, 0},
|
143
|
+
{ 6, s_5_19, -1, 1, 0},
|
144
|
+
{ 6, s_5_20, -1, 1, 0},
|
145
|
+
{ 3, s_5_21, -1, 8, 0},
|
146
|
+
{ 5, s_5_22, -1, 1, 0},
|
147
|
+
{ 5, s_5_23, -1, 3, 0},
|
148
|
+
{ 4, s_5_24, -1, 1, 0},
|
149
|
+
{ 4, s_5_25, -1, 1, 0},
|
150
|
+
{ 6, s_5_26, -1, 4, 0},
|
151
|
+
{ 6, s_5_27, -1, 2, 0},
|
152
|
+
{ 4, s_5_28, -1, 9, 0},
|
153
|
+
{ 6, s_5_29, -1, 1, 0},
|
154
|
+
{ 4, s_5_30, -1, 1, 0},
|
155
|
+
{ 5, s_5_31, -1, 1, 0},
|
156
|
+
{ 4, s_5_32, -1, 8, 0},
|
157
|
+
{ 4, s_5_33, -1, 1, 0},
|
158
|
+
{ 6, s_5_34, -1, 7, 0},
|
159
|
+
{ 6, s_5_35, -1, 1, 0},
|
160
|
+
{ 5, s_5_36, -1, 1, 0},
|
161
|
+
{ 6, s_5_37, -1, 1, 0},
|
162
|
+
{ 6, s_5_38, -1, 3, 0},
|
163
|
+
{ 4, s_5_39, -1, 1, 0},
|
164
|
+
{ 5, s_5_40, -1, 1, 0},
|
165
|
+
{ 4, s_5_41, -1, 1, 0},
|
166
|
+
{ 7, s_5_42, -1, 1, 0},
|
167
|
+
{ 7, s_5_43, -1, 1, 0},
|
168
|
+
{ 4, s_5_44, -1, 8, 0}
|
169
169
|
};
|
170
170
|
|
171
171
|
static const symbol s_6_0[3] = { 'a', 'd', 'a' };
|
@@ -291,126 +291,126 @@ static const symbol s_6_119[3] = { 'i', 'r', 0xE1 };
|
|
291
291
|
|
292
292
|
static const struct among a_6[120] =
|
293
293
|
{
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
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
|
-
|
294
|
+
{ 3, s_6_0, -1, 1, 0},
|
295
|
+
{ 3, s_6_1, -1, 1, 0},
|
296
|
+
{ 2, s_6_2, -1, 1, 0},
|
297
|
+
{ 4, s_6_3, 2, 1, 0},
|
298
|
+
{ 4, s_6_4, 2, 1, 0},
|
299
|
+
{ 4, s_6_5, 2, 1, 0},
|
300
|
+
{ 3, s_6_6, -1, 1, 0},
|
301
|
+
{ 3, s_6_7, -1, 1, 0},
|
302
|
+
{ 3, s_6_8, -1, 1, 0},
|
303
|
+
{ 3, s_6_9, -1, 1, 0},
|
304
|
+
{ 4, s_6_10, -1, 1, 0},
|
305
|
+
{ 4, s_6_11, -1, 1, 0},
|
306
|
+
{ 4, s_6_12, -1, 1, 0},
|
307
|
+
{ 4, s_6_13, -1, 1, 0},
|
308
|
+
{ 4, s_6_14, -1, 1, 0},
|
309
|
+
{ 4, s_6_15, -1, 1, 0},
|
310
|
+
{ 2, s_6_16, -1, 1, 0},
|
311
|
+
{ 4, s_6_17, 16, 1, 0},
|
312
|
+
{ 4, s_6_18, 16, 1, 0},
|
313
|
+
{ 4, s_6_19, 16, 1, 0},
|
314
|
+
{ 2, s_6_20, -1, 1, 0},
|
315
|
+
{ 3, s_6_21, 20, 1, 0},
|
316
|
+
{ 5, s_6_22, 21, 1, 0},
|
317
|
+
{ 5, s_6_23, 21, 1, 0},
|
318
|
+
{ 5, s_6_24, 21, 1, 0},
|
319
|
+
{ 4, s_6_25, 20, 1, 0},
|
320
|
+
{ 4, s_6_26, 20, 1, 0},
|
321
|
+
{ 4, s_6_27, 20, 1, 0},
|
322
|
+
{ 4, s_6_28, 20, 1, 0},
|
323
|
+
{ 2, s_6_29, -1, 1, 0},
|
324
|
+
{ 4, s_6_30, 29, 1, 0},
|
325
|
+
{ 4, s_6_31, 29, 1, 0},
|
326
|
+
{ 4, s_6_32, 29, 1, 0},
|
327
|
+
{ 5, s_6_33, 29, 1, 0},
|
328
|
+
{ 5, s_6_34, 29, 1, 0},
|
329
|
+
{ 5, s_6_35, 29, 1, 0},
|
330
|
+
{ 3, s_6_36, -1, 1, 0},
|
331
|
+
{ 3, s_6_37, -1, 1, 0},
|
332
|
+
{ 4, s_6_38, -1, 1, 0},
|
333
|
+
{ 4, s_6_39, -1, 1, 0},
|
334
|
+
{ 4, s_6_40, -1, 1, 0},
|
335
|
+
{ 5, s_6_41, -1, 1, 0},
|
336
|
+
{ 5, s_6_42, -1, 1, 0},
|
337
|
+
{ 5, s_6_43, -1, 1, 0},
|
338
|
+
{ 2, s_6_44, -1, 1, 0},
|
339
|
+
{ 2, s_6_45, -1, 1, 0},
|
340
|
+
{ 2, s_6_46, -1, 1, 0},
|
341
|
+
{ 2, s_6_47, -1, 1, 0},
|
342
|
+
{ 4, s_6_48, 47, 1, 0},
|
343
|
+
{ 4, s_6_49, 47, 1, 0},
|
344
|
+
{ 3, s_6_50, 47, 1, 0},
|
345
|
+
{ 5, s_6_51, 50, 1, 0},
|
346
|
+
{ 5, s_6_52, 50, 1, 0},
|
347
|
+
{ 5, s_6_53, 50, 1, 0},
|
348
|
+
{ 4, s_6_54, 47, 1, 0},
|
349
|
+
{ 4, s_6_55, 47, 1, 0},
|
350
|
+
{ 4, s_6_56, 47, 1, 0},
|
351
|
+
{ 4, s_6_57, 47, 1, 0},
|
352
|
+
{ 2, s_6_58, -1, 1, 0},
|
353
|
+
{ 5, s_6_59, 58, 1, 0},
|
354
|
+
{ 5, s_6_60, 58, 1, 0},
|
355
|
+
{ 5, s_6_61, 58, 1, 0},
|
356
|
+
{ 4, s_6_62, 58, 1, 0},
|
357
|
+
{ 4, s_6_63, 58, 1, 0},
|
358
|
+
{ 4, s_6_64, 58, 1, 0},
|
359
|
+
{ 5, s_6_65, 58, 1, 0},
|
360
|
+
{ 5, s_6_66, 58, 1, 0},
|
361
|
+
{ 5, s_6_67, 58, 1, 0},
|
362
|
+
{ 5, s_6_68, 58, 1, 0},
|
363
|
+
{ 5, s_6_69, 58, 1, 0},
|
364
|
+
{ 5, s_6_70, 58, 1, 0},
|
365
|
+
{ 2, s_6_71, -1, 1, 0},
|
366
|
+
{ 3, s_6_72, 71, 1, 0},
|
367
|
+
{ 3, s_6_73, 71, 1, 0},
|
368
|
+
{ 5, s_6_74, 73, 1, 0},
|
369
|
+
{ 5, s_6_75, 73, 1, 0},
|
370
|
+
{ 5, s_6_76, 73, 1, 0},
|
371
|
+
{ 5, s_6_77, 73, 1, 0},
|
372
|
+
{ 5, s_6_78, 73, 1, 0},
|
373
|
+
{ 5, s_6_79, 73, 1, 0},
|
374
|
+
{ 6, s_6_80, 73, 1, 0},
|
375
|
+
{ 6, s_6_81, 73, 1, 0},
|
376
|
+
{ 6, s_6_82, 73, 1, 0},
|
377
|
+
{ 5, s_6_83, 73, 1, 0},
|
378
|
+
{ 4, s_6_84, 73, 1, 0},
|
379
|
+
{ 6, s_6_85, 84, 1, 0},
|
380
|
+
{ 6, s_6_86, 84, 1, 0},
|
381
|
+
{ 6, s_6_87, 84, 1, 0},
|
382
|
+
{ 4, s_6_88, -1, 1, 0},
|
383
|
+
{ 4, s_6_89, -1, 1, 0},
|
384
|
+
{ 4, s_6_90, -1, 1, 0},
|
385
|
+
{ 6, s_6_91, 90, 1, 0},
|
386
|
+
{ 6, s_6_92, 90, 1, 0},
|
387
|
+
{ 6, s_6_93, 90, 1, 0},
|
388
|
+
{ 6, s_6_94, 90, 1, 0},
|
389
|
+
{ 5, s_6_95, 90, 1, 0},
|
390
|
+
{ 7, s_6_96, 95, 1, 0},
|
391
|
+
{ 7, s_6_97, 95, 1, 0},
|
392
|
+
{ 7, s_6_98, 95, 1, 0},
|
393
|
+
{ 4, s_6_99, -1, 1, 0},
|
394
|
+
{ 6, s_6_100, 99, 1, 0},
|
395
|
+
{ 6, s_6_101, 99, 1, 0},
|
396
|
+
{ 6, s_6_102, 99, 1, 0},
|
397
|
+
{ 7, s_6_103, 99, 1, 0},
|
398
|
+
{ 7, s_6_104, 99, 1, 0},
|
399
|
+
{ 7, s_6_105, 99, 1, 0},
|
400
|
+
{ 4, s_6_106, -1, 1, 0},
|
401
|
+
{ 5, s_6_107, -1, 1, 0},
|
402
|
+
{ 5, s_6_108, -1, 1, 0},
|
403
|
+
{ 5, s_6_109, -1, 1, 0},
|
404
|
+
{ 4, s_6_110, -1, 1, 0},
|
405
|
+
{ 4, s_6_111, -1, 1, 0},
|
406
|
+
{ 4, s_6_112, -1, 1, 0},
|
407
|
+
{ 4, s_6_113, -1, 1, 0},
|
408
|
+
{ 2, s_6_114, -1, 1, 0},
|
409
|
+
{ 2, s_6_115, -1, 1, 0},
|
410
|
+
{ 2, s_6_116, -1, 1, 0},
|
411
|
+
{ 3, s_6_117, -1, 1, 0},
|
412
|
+
{ 3, s_6_118, -1, 1, 0},
|
413
|
+
{ 3, s_6_119, -1, 1, 0}
|
414
414
|
};
|
415
415
|
|
416
416
|
static const symbol s_7_0[1] = { 'a' };
|
@@ -423,13 +423,13 @@ static const symbol s_7_6[1] = { 0xF3 };
|
|
423
423
|
|
424
424
|
static const struct among a_7[7] =
|
425
425
|
{
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
426
|
+
{ 1, s_7_0, -1, 1, 0},
|
427
|
+
{ 1, s_7_1, -1, 1, 0},
|
428
|
+
{ 1, s_7_2, -1, 1, 0},
|
429
|
+
{ 2, s_7_3, -1, 1, 0},
|
430
|
+
{ 1, s_7_4, -1, 1, 0},
|
431
|
+
{ 1, s_7_5, -1, 1, 0},
|
432
|
+
{ 1, s_7_6, -1, 1, 0}
|
433
433
|
};
|
434
434
|
|
435
435
|
static const symbol s_8_0[1] = { 'e' };
|
@@ -439,10 +439,10 @@ static const symbol s_8_3[1] = { 0xEA };
|
|
439
439
|
|
440
440
|
static const struct among a_8[4] =
|
441
441
|
{
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
442
|
+
{ 1, s_8_0, -1, 1, 0},
|
443
|
+
{ 1, s_8_1, -1, 2, 0},
|
444
|
+
{ 1, s_8_2, -1, 1, 0},
|
445
|
+
{ 1, s_8_3, -1, 1, 0}
|
446
446
|
};
|
447
447
|
|
448
448
|
static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
|
@@ -456,40 +456,32 @@ static const symbol s_5[] = { 'u' };
|
|
456
456
|
static const symbol s_6[] = { 'e', 'n', 't', 'e' };
|
457
457
|
static const symbol s_7[] = { 'a', 't' };
|
458
458
|
static const symbol s_8[] = { 'a', 't' };
|
459
|
-
static const symbol s_9[] = { '
|
460
|
-
static const symbol s_10[] = { '
|
461
|
-
static const symbol s_11[] = { 'u' };
|
462
|
-
static const symbol s_12[] = { 'g' };
|
463
|
-
static const symbol s_13[] = { 'i' };
|
464
|
-
static const symbol s_14[] = { 'c' };
|
465
|
-
static const symbol s_15[] = { 'c' };
|
466
|
-
static const symbol s_16[] = { 'i' };
|
467
|
-
static const symbol s_17[] = { 'c' };
|
459
|
+
static const symbol s_9[] = { 'i', 'r' };
|
460
|
+
static const symbol s_10[] = { 'c' };
|
468
461
|
|
469
462
|
static int r_prelude(struct SN_env * z) {
|
470
463
|
int among_var;
|
471
|
-
while(1) {
|
464
|
+
while(1) {
|
472
465
|
int c1 = z->c;
|
473
|
-
z->bra = z->c;
|
466
|
+
z->bra = z->c;
|
474
467
|
if (z->c >= z->l || (z->p[z->c + 0] != 227 && z->p[z->c + 0] != 245)) among_var = 3; else
|
475
|
-
among_var = find_among(z, a_0, 3);
|
468
|
+
among_var = find_among(z, a_0, 3);
|
476
469
|
if (!(among_var)) goto lab0;
|
477
|
-
z->ket = z->c;
|
478
|
-
switch(among_var) {
|
479
|
-
case 0: goto lab0;
|
470
|
+
z->ket = z->c;
|
471
|
+
switch (among_var) {
|
480
472
|
case 1:
|
481
|
-
{ int ret = slice_from_s(z, 2, s_0);
|
473
|
+
{ int ret = slice_from_s(z, 2, s_0);
|
482
474
|
if (ret < 0) return ret;
|
483
475
|
}
|
484
476
|
break;
|
485
477
|
case 2:
|
486
|
-
{ int ret = slice_from_s(z, 2, s_1);
|
478
|
+
{ int ret = slice_from_s(z, 2, s_1);
|
487
479
|
if (ret < 0) return ret;
|
488
480
|
}
|
489
481
|
break;
|
490
482
|
case 3:
|
491
483
|
if (z->c >= z->l) goto lab0;
|
492
|
-
z->c++;
|
484
|
+
z->c++;
|
493
485
|
break;
|
494
486
|
}
|
495
487
|
continue;
|
@@ -501,15 +493,15 @@ static int r_prelude(struct SN_env * z) {
|
|
501
493
|
}
|
502
494
|
|
503
495
|
static int r_mark_regions(struct SN_env * z) {
|
504
|
-
z->I[0] = z->l;
|
505
|
-
z->I[1] = z->l;
|
506
496
|
z->I[2] = z->l;
|
507
|
-
|
508
|
-
|
497
|
+
z->I[1] = z->l;
|
498
|
+
z->I[0] = z->l;
|
499
|
+
{ int c1 = z->c;
|
500
|
+
{ int c2 = z->c;
|
509
501
|
if (in_grouping(z, g_v, 97, 250, 0)) goto lab2;
|
510
|
-
{ int c3 = z->c;
|
502
|
+
{ int c3 = z->c;
|
511
503
|
if (out_grouping(z, g_v, 97, 250, 0)) goto lab4;
|
512
|
-
{
|
504
|
+
{
|
513
505
|
int ret = out_grouping(z, g_v, 97, 250, 1);
|
514
506
|
if (ret < 0) goto lab4;
|
515
507
|
z->c += ret;
|
@@ -518,7 +510,7 @@ static int r_mark_regions(struct SN_env * z) {
|
|
518
510
|
lab4:
|
519
511
|
z->c = c3;
|
520
512
|
if (in_grouping(z, g_v, 97, 250, 0)) goto lab2;
|
521
|
-
{
|
513
|
+
{
|
522
514
|
int ret = in_grouping(z, g_v, 97, 250, 1);
|
523
515
|
if (ret < 0) goto lab2;
|
524
516
|
z->c += ret;
|
@@ -529,9 +521,9 @@ static int r_mark_regions(struct SN_env * z) {
|
|
529
521
|
lab2:
|
530
522
|
z->c = c2;
|
531
523
|
if (out_grouping(z, g_v, 97, 250, 0)) goto lab0;
|
532
|
-
{ int c4 = z->c;
|
524
|
+
{ int c4 = z->c;
|
533
525
|
if (out_grouping(z, g_v, 97, 250, 0)) goto lab6;
|
534
|
-
{
|
526
|
+
{
|
535
527
|
int ret = out_grouping(z, g_v, 97, 250, 1);
|
536
528
|
if (ret < 0) goto lab6;
|
537
529
|
z->c += ret;
|
@@ -541,39 +533,39 @@ static int r_mark_regions(struct SN_env * z) {
|
|
541
533
|
z->c = c4;
|
542
534
|
if (in_grouping(z, g_v, 97, 250, 0)) goto lab0;
|
543
535
|
if (z->c >= z->l) goto lab0;
|
544
|
-
z->c++;
|
536
|
+
z->c++;
|
545
537
|
}
|
546
538
|
lab5:
|
547
539
|
;
|
548
540
|
}
|
549
541
|
lab1:
|
550
|
-
z->I[
|
542
|
+
z->I[2] = z->c;
|
551
543
|
lab0:
|
552
544
|
z->c = c1;
|
553
545
|
}
|
554
|
-
{ int c5 = z->c;
|
555
|
-
{
|
546
|
+
{ int c5 = z->c;
|
547
|
+
{
|
556
548
|
int ret = out_grouping(z, g_v, 97, 250, 1);
|
557
549
|
if (ret < 0) goto lab7;
|
558
550
|
z->c += ret;
|
559
551
|
}
|
560
|
-
{
|
552
|
+
{
|
561
553
|
int ret = in_grouping(z, g_v, 97, 250, 1);
|
562
554
|
if (ret < 0) goto lab7;
|
563
555
|
z->c += ret;
|
564
556
|
}
|
565
|
-
z->I[1] = z->c;
|
566
|
-
{
|
557
|
+
z->I[1] = z->c;
|
558
|
+
{
|
567
559
|
int ret = out_grouping(z, g_v, 97, 250, 1);
|
568
560
|
if (ret < 0) goto lab7;
|
569
561
|
z->c += ret;
|
570
562
|
}
|
571
|
-
{
|
563
|
+
{
|
572
564
|
int ret = in_grouping(z, g_v, 97, 250, 1);
|
573
565
|
if (ret < 0) goto lab7;
|
574
566
|
z->c += ret;
|
575
567
|
}
|
576
|
-
z->I[
|
568
|
+
z->I[0] = z->c;
|
577
569
|
lab7:
|
578
570
|
z->c = c5;
|
579
571
|
}
|
@@ -582,28 +574,27 @@ static int r_mark_regions(struct SN_env * z) {
|
|
582
574
|
|
583
575
|
static int r_postlude(struct SN_env * z) {
|
584
576
|
int among_var;
|
585
|
-
while(1) {
|
577
|
+
while(1) {
|
586
578
|
int c1 = z->c;
|
587
|
-
z->bra = z->c;
|
579
|
+
z->bra = z->c;
|
588
580
|
if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else
|
589
|
-
among_var = find_among(z, a_1, 3);
|
581
|
+
among_var = find_among(z, a_1, 3);
|
590
582
|
if (!(among_var)) goto lab0;
|
591
|
-
z->ket = z->c;
|
592
|
-
switch(among_var) {
|
593
|
-
case 0: goto lab0;
|
583
|
+
z->ket = z->c;
|
584
|
+
switch (among_var) {
|
594
585
|
case 1:
|
595
|
-
{ int ret = slice_from_s(z, 1, s_2);
|
586
|
+
{ int ret = slice_from_s(z, 1, s_2);
|
596
587
|
if (ret < 0) return ret;
|
597
588
|
}
|
598
589
|
break;
|
599
590
|
case 2:
|
600
|
-
{ int ret = slice_from_s(z, 1, s_3);
|
591
|
+
{ int ret = slice_from_s(z, 1, s_3);
|
601
592
|
if (ret < 0) return ret;
|
602
593
|
}
|
603
594
|
break;
|
604
595
|
case 3:
|
605
596
|
if (z->c >= z->l) goto lab0;
|
606
|
-
z->c++;
|
597
|
+
z->c++;
|
607
598
|
break;
|
608
599
|
}
|
609
600
|
continue;
|
@@ -615,7 +606,7 @@ static int r_postlude(struct SN_env * z) {
|
|
615
606
|
}
|
616
607
|
|
617
608
|
static int r_RV(struct SN_env * z) {
|
618
|
-
if (!(z->I[
|
609
|
+
if (!(z->I[2] <= z->c)) return 0;
|
619
610
|
return 1;
|
620
611
|
}
|
621
612
|
|
@@ -625,87 +616,80 @@ static int r_R1(struct SN_env * z) {
|
|
625
616
|
}
|
626
617
|
|
627
618
|
static int r_R2(struct SN_env * z) {
|
628
|
-
if (!(z->I[
|
619
|
+
if (!(z->I[0] <= z->c)) return 0;
|
629
620
|
return 1;
|
630
621
|
}
|
631
622
|
|
632
623
|
static int r_standard_suffix(struct SN_env * z) {
|
633
624
|
int among_var;
|
634
|
-
z->ket = z->c;
|
635
|
-
if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((
|
636
|
-
among_var = find_among_b(z, a_5, 45);
|
625
|
+
z->ket = z->c;
|
626
|
+
if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((823330 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
|
627
|
+
among_var = find_among_b(z, a_5, 45);
|
637
628
|
if (!(among_var)) return 0;
|
638
|
-
z->bra = z->c;
|
639
|
-
switch(among_var) {
|
640
|
-
case 0: return 0;
|
629
|
+
z->bra = z->c;
|
630
|
+
switch (among_var) {
|
641
631
|
case 1:
|
642
632
|
{ int ret = r_R2(z);
|
643
|
-
if (ret
|
644
|
-
if (ret < 0) return ret;
|
633
|
+
if (ret <= 0) return ret;
|
645
634
|
}
|
646
|
-
{ int ret = slice_del(z);
|
635
|
+
{ int ret = slice_del(z);
|
647
636
|
if (ret < 0) return ret;
|
648
637
|
}
|
649
638
|
break;
|
650
639
|
case 2:
|
651
640
|
{ int ret = r_R2(z);
|
652
|
-
if (ret
|
653
|
-
if (ret < 0) return ret;
|
641
|
+
if (ret <= 0) return ret;
|
654
642
|
}
|
655
|
-
{ int ret = slice_from_s(z, 3, s_4);
|
643
|
+
{ int ret = slice_from_s(z, 3, s_4);
|
656
644
|
if (ret < 0) return ret;
|
657
645
|
}
|
658
646
|
break;
|
659
647
|
case 3:
|
660
648
|
{ int ret = r_R2(z);
|
661
|
-
if (ret
|
662
|
-
if (ret < 0) return ret;
|
649
|
+
if (ret <= 0) return ret;
|
663
650
|
}
|
664
|
-
{ int ret = slice_from_s(z, 1, s_5);
|
651
|
+
{ int ret = slice_from_s(z, 1, s_5);
|
665
652
|
if (ret < 0) return ret;
|
666
653
|
}
|
667
654
|
break;
|
668
655
|
case 4:
|
669
656
|
{ int ret = r_R2(z);
|
670
|
-
if (ret
|
671
|
-
if (ret < 0) return ret;
|
657
|
+
if (ret <= 0) return ret;
|
672
658
|
}
|
673
|
-
{ int ret = slice_from_s(z, 4, s_6);
|
659
|
+
{ int ret = slice_from_s(z, 4, s_6);
|
674
660
|
if (ret < 0) return ret;
|
675
661
|
}
|
676
662
|
break;
|
677
663
|
case 5:
|
678
664
|
{ int ret = r_R1(z);
|
679
|
-
if (ret
|
680
|
-
if (ret < 0) return ret;
|
665
|
+
if (ret <= 0) return ret;
|
681
666
|
}
|
682
|
-
{ int ret = slice_del(z);
|
667
|
+
{ int ret = slice_del(z);
|
683
668
|
if (ret < 0) return ret;
|
684
669
|
}
|
685
|
-
{ int
|
686
|
-
z->ket = z->c;
|
687
|
-
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l -
|
688
|
-
among_var = find_among_b(z, a_2, 4);
|
689
|
-
if (!(among_var)) { z->c = z->l -
|
690
|
-
z->bra = z->c;
|
670
|
+
{ int m1 = z->l - z->c; (void)m1;
|
671
|
+
z->ket = z->c;
|
672
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; }
|
673
|
+
among_var = find_among_b(z, a_2, 4);
|
674
|
+
if (!(among_var)) { z->c = z->l - m1; goto lab0; }
|
675
|
+
z->bra = z->c;
|
691
676
|
{ int ret = r_R2(z);
|
692
|
-
if (ret == 0) { z->c = z->l -
|
677
|
+
if (ret == 0) { z->c = z->l - m1; goto lab0; }
|
693
678
|
if (ret < 0) return ret;
|
694
679
|
}
|
695
|
-
{ int ret = slice_del(z);
|
680
|
+
{ int ret = slice_del(z);
|
696
681
|
if (ret < 0) return ret;
|
697
682
|
}
|
698
|
-
switch(among_var) {
|
699
|
-
case 0: { z->c = z->l - m_keep; goto lab0; }
|
683
|
+
switch (among_var) {
|
700
684
|
case 1:
|
701
|
-
z->ket = z->c;
|
702
|
-
if (!(eq_s_b(z, 2, s_7))) { z->c = z->l -
|
703
|
-
z->bra = z->c;
|
685
|
+
z->ket = z->c;
|
686
|
+
if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m1; goto lab0; }
|
687
|
+
z->bra = z->c;
|
704
688
|
{ int ret = r_R2(z);
|
705
|
-
if (ret == 0) { z->c = z->l -
|
689
|
+
if (ret == 0) { z->c = z->l - m1; goto lab0; }
|
706
690
|
if (ret < 0) return ret;
|
707
691
|
}
|
708
|
-
{ int ret = slice_del(z);
|
692
|
+
{ int ret = slice_del(z);
|
709
693
|
if (ret < 0) return ret;
|
710
694
|
}
|
711
695
|
break;
|
@@ -716,29 +700,22 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
716
700
|
break;
|
717
701
|
case 6:
|
718
702
|
{ int ret = r_R2(z);
|
719
|
-
if (ret
|
720
|
-
if (ret < 0) return ret;
|
703
|
+
if (ret <= 0) return ret;
|
721
704
|
}
|
722
|
-
{ int ret = slice_del(z);
|
705
|
+
{ int ret = slice_del(z);
|
723
706
|
if (ret < 0) return ret;
|
724
707
|
}
|
725
|
-
{ int
|
726
|
-
z->ket = z->c;
|
727
|
-
if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l -
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
if (ret < 0) return ret;
|
737
|
-
}
|
738
|
-
{ int ret = slice_del(z); /* delete, line 127 */
|
739
|
-
if (ret < 0) return ret;
|
740
|
-
}
|
741
|
-
break;
|
708
|
+
{ int m2 = z->l - z->c; (void)m2;
|
709
|
+
z->ket = z->c;
|
710
|
+
if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m2; goto lab1; }
|
711
|
+
if (!(find_among_b(z, a_3, 3))) { z->c = z->l - m2; goto lab1; }
|
712
|
+
z->bra = z->c;
|
713
|
+
{ int ret = r_R2(z);
|
714
|
+
if (ret == 0) { z->c = z->l - m2; goto lab1; }
|
715
|
+
if (ret < 0) return ret;
|
716
|
+
}
|
717
|
+
{ int ret = slice_del(z);
|
718
|
+
if (ret < 0) return ret;
|
742
719
|
}
|
743
720
|
lab1:
|
744
721
|
;
|
@@ -746,29 +723,22 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
746
723
|
break;
|
747
724
|
case 7:
|
748
725
|
{ int ret = r_R2(z);
|
749
|
-
if (ret
|
750
|
-
if (ret < 0) return ret;
|
726
|
+
if (ret <= 0) return ret;
|
751
727
|
}
|
752
|
-
{ int ret = slice_del(z);
|
728
|
+
{ int ret = slice_del(z);
|
753
729
|
if (ret < 0) return ret;
|
754
730
|
}
|
755
|
-
{ int
|
756
|
-
z->ket = z->c;
|
757
|
-
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 -
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
if (ret < 0) return ret;
|
767
|
-
}
|
768
|
-
{ int ret = slice_del(z); /* delete, line 139 */
|
769
|
-
if (ret < 0) return ret;
|
770
|
-
}
|
771
|
-
break;
|
731
|
+
{ int m3 = z->l - z->c; (void)m3;
|
732
|
+
z->ket = z->c;
|
733
|
+
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; }
|
734
|
+
if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; }
|
735
|
+
z->bra = z->c;
|
736
|
+
{ int ret = r_R2(z);
|
737
|
+
if (ret == 0) { z->c = z->l - m3; goto lab2; }
|
738
|
+
if (ret < 0) return ret;
|
739
|
+
}
|
740
|
+
{ int ret = slice_del(z);
|
741
|
+
if (ret < 0) return ret;
|
772
742
|
}
|
773
743
|
lab2:
|
774
744
|
;
|
@@ -776,21 +746,20 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
776
746
|
break;
|
777
747
|
case 8:
|
778
748
|
{ int ret = r_R2(z);
|
779
|
-
if (ret
|
780
|
-
if (ret < 0) return ret;
|
749
|
+
if (ret <= 0) return ret;
|
781
750
|
}
|
782
|
-
{ int ret = slice_del(z);
|
751
|
+
{ int ret = slice_del(z);
|
783
752
|
if (ret < 0) return ret;
|
784
753
|
}
|
785
|
-
{ int
|
786
|
-
z->ket = z->c;
|
787
|
-
if (!(eq_s_b(z, 2, s_8))) { z->c = z->l -
|
788
|
-
z->bra = z->c;
|
754
|
+
{ int m4 = z->l - z->c; (void)m4;
|
755
|
+
z->ket = z->c;
|
756
|
+
if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m4; goto lab3; }
|
757
|
+
z->bra = z->c;
|
789
758
|
{ int ret = r_R2(z);
|
790
|
-
if (ret == 0) { z->c = z->l -
|
759
|
+
if (ret == 0) { z->c = z->l - m4; goto lab3; }
|
791
760
|
if (ret < 0) return ret;
|
792
761
|
}
|
793
|
-
{ int ret = slice_del(z);
|
762
|
+
{ int ret = slice_del(z);
|
794
763
|
if (ret < 0) return ret;
|
795
764
|
}
|
796
765
|
lab3:
|
@@ -799,11 +768,11 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
799
768
|
break;
|
800
769
|
case 9:
|
801
770
|
{ int ret = r_RV(z);
|
802
|
-
if (ret
|
803
|
-
if (ret < 0) return ret;
|
771
|
+
if (ret <= 0) return ret;
|
804
772
|
}
|
805
|
-
if (
|
806
|
-
|
773
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
|
774
|
+
z->c--;
|
775
|
+
{ int ret = slice_from_s(z, 2, s_9);
|
807
776
|
if (ret < 0) return ret;
|
808
777
|
}
|
809
778
|
break;
|
@@ -812,96 +781,80 @@ static int r_standard_suffix(struct SN_env * z) {
|
|
812
781
|
}
|
813
782
|
|
814
783
|
static int r_verb_suffix(struct SN_env * z) {
|
815
|
-
|
816
|
-
{ int
|
817
|
-
|
818
|
-
|
819
|
-
z->
|
820
|
-
|
821
|
-
z->
|
822
|
-
|
823
|
-
|
824
|
-
if (!(among_var)) { z->lb = mlimit; return 0; }
|
825
|
-
z->bra = z->c; /* ], line 160 */
|
826
|
-
switch(among_var) {
|
827
|
-
case 0: { z->lb = mlimit; return 0; }
|
828
|
-
case 1:
|
829
|
-
{ int ret = slice_del(z); /* delete, line 179 */
|
830
|
-
if (ret < 0) return ret;
|
831
|
-
}
|
832
|
-
break;
|
784
|
+
|
785
|
+
{ int mlimit1;
|
786
|
+
if (z->c < z->I[2]) return 0;
|
787
|
+
mlimit1 = z->lb; z->lb = z->I[2];
|
788
|
+
z->ket = z->c;
|
789
|
+
if (!(find_among_b(z, a_6, 120))) { z->lb = mlimit1; return 0; }
|
790
|
+
z->bra = z->c;
|
791
|
+
{ int ret = slice_del(z);
|
792
|
+
if (ret < 0) return ret;
|
833
793
|
}
|
834
|
-
z->lb =
|
794
|
+
z->lb = mlimit1;
|
835
795
|
}
|
836
796
|
return 1;
|
837
797
|
}
|
838
798
|
|
839
799
|
static int r_residual_suffix(struct SN_env * z) {
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
{ int ret = r_RV(z);
|
849
|
-
if (ret == 0) return 0; /* call RV, line 187 */
|
850
|
-
if (ret < 0) return ret;
|
851
|
-
}
|
852
|
-
{ int ret = slice_del(z); /* delete, line 187 */
|
853
|
-
if (ret < 0) return ret;
|
854
|
-
}
|
855
|
-
break;
|
800
|
+
z->ket = z->c;
|
801
|
+
if (!(find_among_b(z, a_7, 7))) return 0;
|
802
|
+
z->bra = z->c;
|
803
|
+
{ int ret = r_RV(z);
|
804
|
+
if (ret <= 0) return ret;
|
805
|
+
}
|
806
|
+
{ int ret = slice_del(z);
|
807
|
+
if (ret < 0) return ret;
|
856
808
|
}
|
857
809
|
return 1;
|
858
810
|
}
|
859
811
|
|
860
812
|
static int r_residual_form(struct SN_env * z) {
|
861
813
|
int among_var;
|
862
|
-
z->ket = z->c;
|
863
|
-
among_var = find_among_b(z, a_8, 4);
|
814
|
+
z->ket = z->c;
|
815
|
+
among_var = find_among_b(z, a_8, 4);
|
864
816
|
if (!(among_var)) return 0;
|
865
|
-
z->bra = z->c;
|
866
|
-
switch(among_var) {
|
867
|
-
case 0: return 0;
|
817
|
+
z->bra = z->c;
|
818
|
+
switch (among_var) {
|
868
819
|
case 1:
|
869
820
|
{ int ret = r_RV(z);
|
870
|
-
if (ret
|
871
|
-
if (ret < 0) return ret;
|
821
|
+
if (ret <= 0) return ret;
|
872
822
|
}
|
873
|
-
{ int ret = slice_del(z);
|
823
|
+
{ int ret = slice_del(z);
|
874
824
|
if (ret < 0) return ret;
|
875
825
|
}
|
876
|
-
z->ket = z->c;
|
877
|
-
{ int m1 = z->l - z->c; (void)m1;
|
878
|
-
if (
|
879
|
-
z->
|
880
|
-
|
881
|
-
|
882
|
-
z->c
|
826
|
+
z->ket = z->c;
|
827
|
+
{ int m1 = z->l - z->c; (void)m1;
|
828
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab1;
|
829
|
+
z->c--;
|
830
|
+
z->bra = z->c;
|
831
|
+
{ int m_test2 = z->l - z->c;
|
832
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab1;
|
833
|
+
z->c--;
|
834
|
+
z->c = z->l - m_test2;
|
883
835
|
}
|
884
836
|
goto lab0;
|
885
837
|
lab1:
|
886
838
|
z->c = z->l - m1;
|
887
|
-
if (
|
888
|
-
z->
|
889
|
-
|
890
|
-
|
891
|
-
z->c
|
839
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0;
|
840
|
+
z->c--;
|
841
|
+
z->bra = z->c;
|
842
|
+
{ int m_test3 = z->l - z->c;
|
843
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'c') return 0;
|
844
|
+
z->c--;
|
845
|
+
z->c = z->l - m_test3;
|
892
846
|
}
|
893
847
|
}
|
894
848
|
lab0:
|
895
849
|
{ int ret = r_RV(z);
|
896
|
-
if (ret
|
897
|
-
if (ret < 0) return ret;
|
850
|
+
if (ret <= 0) return ret;
|
898
851
|
}
|
899
|
-
{ int ret = slice_del(z);
|
852
|
+
{ int ret = slice_del(z);
|
900
853
|
if (ret < 0) return ret;
|
901
854
|
}
|
902
855
|
break;
|
903
856
|
case 2:
|
904
|
-
{ int ret = slice_from_s(z, 1,
|
857
|
+
{ int ret = slice_from_s(z, 1, s_10);
|
905
858
|
if (ret < 0) return ret;
|
906
859
|
}
|
907
860
|
break;
|
@@ -910,94 +863,86 @@ static int r_residual_form(struct SN_env * z) {
|
|
910
863
|
}
|
911
864
|
|
912
865
|
extern int portuguese_ISO_8859_1_stem(struct SN_env * z) {
|
913
|
-
{ int c1 = z->c;
|
866
|
+
{ int c1 = z->c;
|
914
867
|
{ int ret = r_prelude(z);
|
915
|
-
if (ret == 0) goto lab0; /* call prelude, line 202 */
|
916
868
|
if (ret < 0) return ret;
|
917
869
|
}
|
918
|
-
lab0:
|
919
870
|
z->c = c1;
|
920
871
|
}
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
if (ret < 0) return ret;
|
925
|
-
}
|
926
|
-
lab1:
|
927
|
-
z->c = c2;
|
872
|
+
|
873
|
+
{ int ret = r_mark_regions(z);
|
874
|
+
if (ret < 0) return ret;
|
928
875
|
}
|
929
|
-
z->lb = z->c; z->c = z->l;
|
876
|
+
z->lb = z->c; z->c = z->l;
|
930
877
|
|
931
|
-
{ int
|
932
|
-
{ int
|
933
|
-
{ int
|
934
|
-
{ int
|
878
|
+
{ int m2 = z->l - z->c; (void)m2;
|
879
|
+
{ int m3 = z->l - z->c; (void)m3;
|
880
|
+
{ int m4 = z->l - z->c; (void)m4;
|
881
|
+
{ int m5 = z->l - z->c; (void)m5;
|
935
882
|
{ int ret = r_standard_suffix(z);
|
936
|
-
if (ret == 0) goto
|
883
|
+
if (ret == 0) goto lab4;
|
937
884
|
if (ret < 0) return ret;
|
938
885
|
}
|
939
|
-
goto
|
940
|
-
|
941
|
-
z->c = z->l -
|
886
|
+
goto lab3;
|
887
|
+
lab4:
|
888
|
+
z->c = z->l - m5;
|
942
889
|
{ int ret = r_verb_suffix(z);
|
943
|
-
if (ret == 0) goto
|
890
|
+
if (ret == 0) goto lab2;
|
944
891
|
if (ret < 0) return ret;
|
945
892
|
}
|
946
893
|
}
|
947
|
-
|
948
|
-
z->c = z->l -
|
949
|
-
{ int
|
950
|
-
z->ket = z->c;
|
951
|
-
if (
|
952
|
-
z->
|
953
|
-
|
954
|
-
|
955
|
-
z->c
|
894
|
+
lab3:
|
895
|
+
z->c = z->l - m4;
|
896
|
+
{ int m6 = z->l - z->c; (void)m6;
|
897
|
+
z->ket = z->c;
|
898
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab5;
|
899
|
+
z->c--;
|
900
|
+
z->bra = z->c;
|
901
|
+
{ int m_test7 = z->l - z->c;
|
902
|
+
if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab5;
|
903
|
+
z->c--;
|
904
|
+
z->c = z->l - m_test7;
|
956
905
|
}
|
957
906
|
{ int ret = r_RV(z);
|
958
|
-
if (ret == 0) goto
|
907
|
+
if (ret == 0) goto lab5;
|
959
908
|
if (ret < 0) return ret;
|
960
909
|
}
|
961
|
-
{ int ret = slice_del(z);
|
910
|
+
{ int ret = slice_del(z);
|
962
911
|
if (ret < 0) return ret;
|
963
912
|
}
|
964
|
-
|
965
|
-
z->c = z->l -
|
913
|
+
lab5:
|
914
|
+
z->c = z->l - m6;
|
966
915
|
}
|
967
916
|
}
|
968
|
-
goto
|
969
|
-
|
970
|
-
z->c = z->l -
|
917
|
+
goto lab1;
|
918
|
+
lab2:
|
919
|
+
z->c = z->l - m3;
|
971
920
|
{ int ret = r_residual_suffix(z);
|
972
|
-
if (ret == 0) goto
|
921
|
+
if (ret == 0) goto lab0;
|
973
922
|
if (ret < 0) return ret;
|
974
923
|
}
|
975
924
|
}
|
976
|
-
|
977
|
-
|
978
|
-
z->c = z->l -
|
925
|
+
lab1:
|
926
|
+
lab0:
|
927
|
+
z->c = z->l - m2;
|
979
928
|
}
|
980
|
-
{ int m8 = z->l - z->c; (void)m8;
|
929
|
+
{ int m8 = z->l - z->c; (void)m8;
|
981
930
|
{ int ret = r_residual_form(z);
|
982
|
-
if (ret == 0) goto lab8; /* call residual_form, line 211 */
|
983
931
|
if (ret < 0) return ret;
|
984
932
|
}
|
985
|
-
lab8:
|
986
933
|
z->c = z->l - m8;
|
987
934
|
}
|
988
935
|
z->c = z->lb;
|
989
|
-
{ int c9 = z->c;
|
936
|
+
{ int c9 = z->c;
|
990
937
|
{ int ret = r_postlude(z);
|
991
|
-
if (ret == 0) goto lab9; /* call postlude, line 213 */
|
992
938
|
if (ret < 0) return ret;
|
993
939
|
}
|
994
|
-
lab9:
|
995
940
|
z->c = c9;
|
996
941
|
}
|
997
942
|
return 1;
|
998
943
|
}
|
999
944
|
|
1000
|
-
extern struct SN_env * portuguese_ISO_8859_1_create_env(void) { return SN_create_env(0, 3
|
945
|
+
extern struct SN_env * portuguese_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
|
1001
946
|
|
1002
947
|
extern void portuguese_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
|
1003
948
|
|