ruby-stemmer 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02b3e3b11e2a4a00b904607855a551e3df0dc330eaa77d1822bcb377df70d2c5
4
- data.tar.gz: f4be7cba4b8578aee14d1039ba245b7e6f3d87cee4620e08157526ab88fb9924
3
+ metadata.gz: 9107a68300bd5a7f56e341d8a112fa4cd7918f5cb1bff5d159b9607042f05a14
4
+ data.tar.gz: 89b2764637264eba32ddf3be10553660f683ca2a0f6eaad0a2cb9598c17821fd
5
5
  SHA512:
6
- metadata.gz: b42a23792334ff447745b0e5af1f9618c458ef3fff752a0fabc34f2c10570f22b53372a899f36d6cc65820f466dbbd233918febfd2372e147dbc5072020efc78
7
- data.tar.gz: 2ef5552bd98bad1045d1f40ceb51611e5eac2cfac0b4ad360c9ffecced246553bd453dea9532586665d626ccdff066b8a3deeb5dd3f134ec3ebd796b3c8b0ae8
6
+ metadata.gz: 0dd735c2fb6d0304d755dec37e8cdb61dfd9aa18b5e625d745979b86abc96a596877e4c8e5a4bc293f41232e8089388f53bf9bf595dffb0f19cbef260375bc84
7
+ data.tar.gz: '059c30ef10ee59ecb51f89b75cb0d36b33e28b1134a834db4f5ee65442413df8f80d142de036e55d45644cb085ee5512bc6a8ea2d7d5c1c3ef0aa8f2a8d82bef'
@@ -2,6 +2,6 @@ module Lingua
2
2
 
3
3
  class Stemmer
4
4
 
5
- VERSION = "2.0.0"
5
+ VERSION = "2.0.1"
6
6
  end
7
7
  end
@@ -12,4 +12,4 @@ libstemmer.o: $(snowball_sources:.c=.o)
12
12
  stemwords: examples/stemwords.o libstemmer.o
13
13
  $(CC) -o $@ $^
14
14
  clean:
15
- rm -f stemwords *.o src_c/*.o runtime/*.o libstemmer/*.o
15
+ rm -f stemwords *.o src_c/*.o runtime/*.o libstemmer/*.o examples/*.o
@@ -41,6 +41,7 @@
41
41
  #include "../src_c/stem_ISO_8859_1_swedish.h"
42
42
  #include "../src_c/stem_UTF_8_swedish.h"
43
43
  #include "../src_c/stem_UTF_8_turkish.h"
44
+ #include "../src_c/stem_UTF_8_lithuanian.h"
44
45
 
45
46
  typedef enum {
46
47
  ENC_UNKNOWN=0,
@@ -64,7 +65,7 @@ static struct stemmer_encoding encodings[] = {
64
65
 
65
66
  struct stemmer_modules {
66
67
  const char * name;
67
- stemmer_encoding_t enc;
68
+ stemmer_encoding_t enc;
68
69
  struct SN_env * (*create)(void);
69
70
  void (*close)(struct SN_env *);
70
71
  int (*stem)(struct SN_env *);
@@ -171,25 +172,29 @@ static struct stemmer_modules modules[] = {
171
172
  {"tr", ENC_UTF_8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem},
172
173
  {"tur", ENC_UTF_8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem},
173
174
  {"turkish", ENC_UTF_8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem},
175
+ {"lt", ENC_UTF_8, lithuanian_UTF_8_create_env, lithuanian_UTF_8_close_env, lithuanian_UTF_8_stem},
176
+ {"lit", ENC_UTF_8, lithuanian_UTF_8_create_env, lithuanian_UTF_8_close_env, lithuanian_UTF_8_stem},
177
+ {"lithuanian", ENC_UTF_8, lithuanian_UTF_8_create_env, lithuanian_UTF_8_close_env, lithuanian_UTF_8_stem},
174
178
  {0,ENC_UNKNOWN,0,0,0}
175
179
  };
176
180
  static const char * algorithm_names[] = {
177
181
  "latin",
178
- "danish",
179
- "dutch",
180
- "english",
181
- "finnish",
182
- "french",
183
- "german",
184
- "hungarian",
185
- "italian",
186
- "norwegian",
187
- "porter",
188
- "portuguese",
189
- "romanian",
190
- "russian",
191
- "spanish",
192
- "swedish",
193
- "turkish",
182
+ "danish",
183
+ "dutch",
184
+ "english",
185
+ "finnish",
186
+ "french",
187
+ "german",
188
+ "hungarian",
189
+ "italian",
190
+ "norwegian",
191
+ "porter",
192
+ "portuguese",
193
+ "romanian",
194
+ "russian",
195
+ "spanish",
196
+ "swedish",
197
+ "turkish",
198
+ "lithuanian",
194
199
  0
195
200
  };
@@ -25,6 +25,7 @@
25
25
  #include "../src_c/stem_UTF_8_spanish.h"
26
26
  #include "../src_c/stem_UTF_8_swedish.h"
27
27
  #include "../src_c/stem_UTF_8_turkish.h"
28
+ #include "../src_c/stem_UTF_8_lithuanian.h"
28
29
 
29
30
  typedef enum {
30
31
  ENC_UNKNOWN=0,
@@ -42,7 +43,7 @@ static struct stemmer_encoding encodings[] = {
42
43
 
43
44
  struct stemmer_modules {
44
45
  const char * name;
45
- stemmer_encoding_t enc;
46
+ stemmer_encoding_t enc;
46
47
  struct SN_env * (*create)(void);
47
48
  void (*close)(struct SN_env *);
48
49
  int (*stem)(struct SN_env *);
@@ -100,24 +101,28 @@ static struct stemmer_modules modules[] = {
100
101
  {"tr", ENC_UTF_8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem},
101
102
  {"tur", ENC_UTF_8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem},
102
103
  {"turkish", ENC_UTF_8, turkish_UTF_8_create_env, turkish_UTF_8_close_env, turkish_UTF_8_stem},
104
+ {"lt", ENC_UTF_8, lithuanian_UTF_8_create_env, lithuanian_UTF_8_close_env, lithuanian_UTF_8_stem},
105
+ {"lit", ENC_UTF_8, lithuanian_UTF_8_create_env, lithuanian_UTF_8_close_env, lithuanian_UTF_8_stem},
106
+ {"lithuanian", ENC_UTF_8, lithuanian_UTF_8_create_env, lithuanian_UTF_8_close_env, lithuanian_UTF_8_stem},
103
107
  {0,ENC_UNKNOWN,0,0,0}
104
108
  };
105
109
  static const char * algorithm_names[] = {
106
- "danish",
107
- "dutch",
108
- "english",
109
- "finnish",
110
- "french",
111
- "german",
112
- "hungarian",
113
- "italian",
114
- "norwegian",
115
- "porter",
116
- "portuguese",
117
- "romanian",
118
- "russian",
119
- "spanish",
120
- "swedish",
121
- "turkish",
110
+ "danish",
111
+ "dutch",
112
+ "english",
113
+ "finnish",
114
+ "french",
115
+ "german",
116
+ "hungarian",
117
+ "italian",
118
+ "norwegian",
119
+ "porter",
120
+ "portuguese",
121
+ "romanian",
122
+ "russian",
123
+ "spanish",
124
+ "swedish",
125
+ "turkish",
126
+ "lithuanian",
122
127
  0
123
128
  };
@@ -24,6 +24,7 @@ russian UTF_8 russian,ru,rus
24
24
  spanish UTF_8 spanish,es,esl,spa
25
25
  swedish UTF_8 swedish,sv,swe
26
26
  turkish UTF_8 turkish,tr,tur
27
+ lithuanian UTF_8 lithuanian,lt,lit
27
28
 
28
29
  # Also include the traditional porter algorithm for english.
29
30
  # The porter algorithm is included in the libstemmer distribution to assist
@@ -41,6 +41,7 @@ snowball_sources= \
41
41
  src_c/stem_ISO_8859_1_swedish.c \
42
42
  src_c/stem_UTF_8_swedish.c \
43
43
  src_c/stem_UTF_8_turkish.c \
44
+ src_c/stem_UTF_8_lithuanian.c \
44
45
  runtime/api.c \
45
46
  runtime/utilities.c \
46
47
  libstemmer/libstemmer.c
@@ -79,6 +80,7 @@ snowball_headers= \
79
80
  src_c/stem_ISO_8859_1_swedish.h \
80
81
  src_c/stem_UTF_8_swedish.h \
81
82
  src_c/stem_UTF_8_turkish.h \
83
+ src_c/stem_UTF_8_lithuanian.h \
82
84
  include/libstemmer.h \
83
85
  libstemmer/modules.h \
84
86
  runtime/api.h \
@@ -25,6 +25,7 @@ snowball_sources= \
25
25
  src_c/stem_UTF_8_spanish.c \
26
26
  src_c/stem_UTF_8_swedish.c \
27
27
  src_c/stem_UTF_8_turkish.c \
28
+ src_c/stem_UTF_8_lithuanian.c \
28
29
  runtime/api.c \
29
30
  runtime/utilities.c \
30
31
  libstemmer/libstemmer_utf8.c
@@ -47,6 +48,7 @@ snowball_headers= \
47
48
  src_c/stem_UTF_8_spanish.h \
48
49
  src_c/stem_UTF_8_swedish.h \
49
50
  src_c/stem_UTF_8_turkish.h \
51
+ src_c/stem_UTF_8_lithuanian.h \
50
52
  include/libstemmer.h \
51
53
  libstemmer/modules_utf8.h \
52
54
  runtime/api.h \
@@ -0,0 +1,909 @@
1
+
2
+ /* This file was generated automatically by the Snowball to ANSI C compiler */
3
+
4
+ #include "../runtime/header.h"
5
+
6
+ static int r_fix_conflicts(struct SN_env * z);
7
+ static int r_fix_gd(struct SN_env * z);
8
+ static int r_fix_chdz(struct SN_env * z);
9
+ static int r_step1(struct SN_env * z);
10
+ static int r_R1(struct SN_env * z);
11
+ static int r_step2(struct SN_env * z);
12
+ #ifdef __cplusplus
13
+ extern "C" {
14
+ #endif
15
+ extern int lithuanian_UTF_8_stem(struct SN_env * z);
16
+ #ifdef __cplusplus
17
+ }
18
+ #endif
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+
24
+ extern struct SN_env * lithuanian_UTF_8_create_env(void);
25
+ extern void lithuanian_UTF_8_close_env(struct SN_env * z);
26
+
27
+
28
+ #ifdef __cplusplus
29
+ }
30
+ #endif
31
+ static const symbol s_0_0[1] = { 'a' };
32
+ static const symbol s_0_1[2] = { 'i', 'a' };
33
+ static const symbol s_0_2[4] = { 'e', 'r', 'i', 'a' };
34
+ static const symbol s_0_3[4] = { 'o', 's', 'n', 'a' };
35
+ static const symbol s_0_4[5] = { 'i', 'o', 's', 'n', 'a' };
36
+ static const symbol s_0_5[5] = { 'u', 'o', 's', 'n', 'a' };
37
+ static const symbol s_0_6[6] = { 'i', 'u', 'o', 's', 'n', 'a' };
38
+ static const symbol s_0_7[4] = { 'y', 's', 'n', 'a' };
39
+ static const symbol s_0_8[5] = { 0xC4, 0x97, 's', 'n', 'a' };
40
+ static const symbol s_0_9[1] = { 'e' };
41
+ static const symbol s_0_10[2] = { 'i', 'e' };
42
+ static const symbol s_0_11[4] = { 'e', 'n', 'i', 'e' };
43
+ static const symbol s_0_12[4] = { 'e', 'r', 'i', 'e' };
44
+ static const symbol s_0_13[3] = { 'o', 'j', 'e' };
45
+ static const symbol s_0_14[4] = { 'i', 'o', 'j', 'e' };
46
+ static const symbol s_0_15[3] = { 'u', 'j', 'e' };
47
+ static const symbol s_0_16[4] = { 'i', 'u', 'j', 'e' };
48
+ static const symbol s_0_17[3] = { 'y', 'j', 'e' };
49
+ static const symbol s_0_18[5] = { 'e', 'n', 'y', 'j', 'e' };
50
+ static const symbol s_0_19[5] = { 'e', 'r', 'y', 'j', 'e' };
51
+ static const symbol s_0_20[4] = { 0xC4, 0x97, 'j', 'e' };
52
+ static const symbol s_0_21[3] = { 'a', 'm', 'e' };
53
+ static const symbol s_0_22[4] = { 'i', 'a', 'm', 'e' };
54
+ static const symbol s_0_23[4] = { 's', 'i', 'm', 'e' };
55
+ static const symbol s_0_24[3] = { 'o', 'm', 'e' };
56
+ static const symbol s_0_25[4] = { 0xC4, 0x97, 'm', 'e' };
57
+ static const symbol s_0_26[7] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 'e' };
58
+ static const symbol s_0_27[3] = { 'o', 's', 'e' };
59
+ static const symbol s_0_28[4] = { 'i', 'o', 's', 'e' };
60
+ static const symbol s_0_29[4] = { 'u', 'o', 's', 'e' };
61
+ static const symbol s_0_30[5] = { 'i', 'u', 'o', 's', 'e' };
62
+ static const symbol s_0_31[3] = { 'y', 's', 'e' };
63
+ static const symbol s_0_32[5] = { 'e', 'n', 'y', 's', 'e' };
64
+ static const symbol s_0_33[5] = { 'e', 'r', 'y', 's', 'e' };
65
+ static const symbol s_0_34[4] = { 0xC4, 0x97, 's', 'e' };
66
+ static const symbol s_0_35[3] = { 'a', 't', 'e' };
67
+ static const symbol s_0_36[4] = { 'i', 'a', 't', 'e' };
68
+ static const symbol s_0_37[3] = { 'i', 't', 'e' };
69
+ static const symbol s_0_38[4] = { 'k', 'i', 't', 'e' };
70
+ static const symbol s_0_39[4] = { 's', 'i', 't', 'e' };
71
+ static const symbol s_0_40[3] = { 'o', 't', 'e' };
72
+ static const symbol s_0_41[4] = { 't', 'u', 't', 'e' };
73
+ static const symbol s_0_42[4] = { 0xC4, 0x97, 't', 'e' };
74
+ static const symbol s_0_43[7] = { 't', 'u', 'm', 0xC4, 0x97, 't', 'e' };
75
+ static const symbol s_0_44[1] = { 'i' };
76
+ static const symbol s_0_45[2] = { 'a', 'i' };
77
+ static const symbol s_0_46[3] = { 'i', 'a', 'i' };
78
+ static const symbol s_0_47[5] = { 'e', 'r', 'i', 'a', 'i' };
79
+ static const symbol s_0_48[2] = { 'e', 'i' };
80
+ static const symbol s_0_49[5] = { 't', 'u', 'm', 'e', 'i' };
81
+ static const symbol s_0_50[2] = { 'k', 'i' };
82
+ static const symbol s_0_51[3] = { 'i', 'm', 'i' };
83
+ static const symbol s_0_52[5] = { 'e', 'r', 'i', 'm', 'i' };
84
+ static const symbol s_0_53[3] = { 'u', 'm', 'i' };
85
+ static const symbol s_0_54[4] = { 'i', 'u', 'm', 'i' };
86
+ static const symbol s_0_55[2] = { 's', 'i' };
87
+ static const symbol s_0_56[3] = { 'a', 's', 'i' };
88
+ static const symbol s_0_57[4] = { 'i', 'a', 's', 'i' };
89
+ static const symbol s_0_58[3] = { 'e', 's', 'i' };
90
+ static const symbol s_0_59[4] = { 'i', 'e', 's', 'i' };
91
+ static const symbol s_0_60[5] = { 's', 'i', 'e', 's', 'i' };
92
+ static const symbol s_0_61[3] = { 'i', 's', 'i' };
93
+ static const symbol s_0_62[4] = { 'a', 'i', 's', 'i' };
94
+ static const symbol s_0_63[4] = { 'e', 'i', 's', 'i' };
95
+ static const symbol s_0_64[7] = { 't', 'u', 'm', 'e', 'i', 's', 'i' };
96
+ static const symbol s_0_65[4] = { 'u', 'i', 's', 'i' };
97
+ static const symbol s_0_66[3] = { 'o', 's', 'i' };
98
+ static const symbol s_0_67[6] = { 0xC4, 0x97, 'j', 'o', 's', 'i' };
99
+ static const symbol s_0_68[4] = { 'u', 'o', 's', 'i' };
100
+ static const symbol s_0_69[5] = { 'i', 'u', 'o', 's', 'i' };
101
+ static const symbol s_0_70[6] = { 's', 'i', 'u', 'o', 's', 'i' };
102
+ static const symbol s_0_71[3] = { 'u', 's', 'i' };
103
+ static const symbol s_0_72[4] = { 'a', 'u', 's', 'i' };
104
+ static const symbol s_0_73[7] = { 0xC5, 0x8D, 'i', 'a', 'u', 's', 'i' };
105
+ static const symbol s_0_74[4] = { 0xC4, 0x85, 's', 'i' };
106
+ static const symbol s_0_75[4] = { 0xC4, 0x97, 's', 'i' };
107
+ static const symbol s_0_76[4] = { 0xC5, 0xB3, 's', 'i' };
108
+ static const symbol s_0_77[5] = { 't', 0xC5, 0xB3, 's', 'i' };
109
+ static const symbol s_0_78[2] = { 't', 'i' };
110
+ static const symbol s_0_79[4] = { 'e', 'n', 't', 'i' };
111
+ static const symbol s_0_80[4] = { 'i', 'n', 't', 'i' };
112
+ static const symbol s_0_81[3] = { 'o', 't', 'i' };
113
+ static const symbol s_0_82[4] = { 'i', 'o', 't', 'i' };
114
+ static const symbol s_0_83[4] = { 'u', 'o', 't', 'i' };
115
+ static const symbol s_0_84[5] = { 'i', 'u', 'o', 't', 'i' };
116
+ static const symbol s_0_85[4] = { 'a', 'u', 't', 'i' };
117
+ static const symbol s_0_86[5] = { 'i', 'a', 'u', 't', 'i' };
118
+ static const symbol s_0_87[3] = { 'y', 't', 'i' };
119
+ static const symbol s_0_88[4] = { 0xC4, 0x97, 't', 'i' };
120
+ static const symbol s_0_89[7] = { 't', 'e', 'l', 0xC4, 0x97, 't', 'i' };
121
+ static const symbol s_0_90[6] = { 'i', 'n', 0xC4, 0x97, 't', 'i' };
122
+ static const symbol s_0_91[7] = { 't', 'e', 'r', 0xC4, 0x97, 't', 'i' };
123
+ static const symbol s_0_92[2] = { 'u', 'i' };
124
+ static const symbol s_0_93[3] = { 'i', 'u', 'i' };
125
+ static const symbol s_0_94[5] = { 'e', 'n', 'i', 'u', 'i' };
126
+ static const symbol s_0_95[2] = { 'o', 'j' };
127
+ static const symbol s_0_96[3] = { 0xC4, 0x97, 'j' };
128
+ static const symbol s_0_97[1] = { 'k' };
129
+ static const symbol s_0_98[2] = { 'a', 'm' };
130
+ static const symbol s_0_99[3] = { 'i', 'a', 'm' };
131
+ static const symbol s_0_100[3] = { 'i', 'e', 'm' };
132
+ static const symbol s_0_101[2] = { 'i', 'm' };
133
+ static const symbol s_0_102[3] = { 's', 'i', 'm' };
134
+ static const symbol s_0_103[2] = { 'o', 'm' };
135
+ static const symbol s_0_104[3] = { 't', 'u', 'm' };
136
+ static const symbol s_0_105[3] = { 0xC4, 0x97, 'm' };
137
+ static const symbol s_0_106[6] = { 't', 'u', 'm', 0xC4, 0x97, 'm' };
138
+ static const symbol s_0_107[2] = { 'a', 'n' };
139
+ static const symbol s_0_108[2] = { 'o', 'n' };
140
+ static const symbol s_0_109[3] = { 'i', 'o', 'n' };
141
+ static const symbol s_0_110[2] = { 'u', 'n' };
142
+ static const symbol s_0_111[3] = { 'i', 'u', 'n' };
143
+ static const symbol s_0_112[3] = { 0xC4, 0x97, 'n' };
144
+ static const symbol s_0_113[1] = { 'o' };
145
+ static const symbol s_0_114[2] = { 'i', 'o' };
146
+ static const symbol s_0_115[4] = { 'e', 'n', 'i', 'o' };
147
+ static const symbol s_0_116[4] = { 0xC4, 0x97, 'j', 'o' };
148
+ static const symbol s_0_117[2] = { 'u', 'o' };
149
+ static const symbol s_0_118[1] = { 's' };
150
+ static const symbol s_0_119[2] = { 'a', 's' };
151
+ static const symbol s_0_120[3] = { 'i', 'a', 's' };
152
+ static const symbol s_0_121[2] = { 'e', 's' };
153
+ static const symbol s_0_122[3] = { 'i', 'e', 's' };
154
+ static const symbol s_0_123[2] = { 'i', 's' };
155
+ static const symbol s_0_124[3] = { 'a', 'i', 's' };
156
+ static const symbol s_0_125[4] = { 'i', 'a', 'i', 's' };
157
+ static const symbol s_0_126[6] = { 't', 'u', 'm', 'e', 'i', 's' };
158
+ static const symbol s_0_127[4] = { 'i', 'm', 'i', 's' };
159
+ static const symbol s_0_128[6] = { 'e', 'n', 'i', 'm', 'i', 's' };
160
+ static const symbol s_0_129[4] = { 'o', 'm', 'i', 's' };
161
+ static const symbol s_0_130[5] = { 'i', 'o', 'm', 'i', 's' };
162
+ static const symbol s_0_131[4] = { 'u', 'm', 'i', 's' };
163
+ static const symbol s_0_132[5] = { 0xC4, 0x97, 'm', 'i', 's' };
164
+ static const symbol s_0_133[4] = { 'e', 'n', 'i', 's' };
165
+ static const symbol s_0_134[4] = { 'a', 's', 'i', 's' };
166
+ static const symbol s_0_135[4] = { 'y', 's', 'i', 's' };
167
+ static const symbol s_0_136[3] = { 'a', 'm', 's' };
168
+ static const symbol s_0_137[4] = { 'i', 'a', 'm', 's' };
169
+ static const symbol s_0_138[4] = { 'i', 'e', 'm', 's' };
170
+ static const symbol s_0_139[3] = { 'i', 'm', 's' };
171
+ static const symbol s_0_140[5] = { 'e', 'n', 'i', 'm', 's' };
172
+ static const symbol s_0_141[5] = { 'e', 'r', 'i', 'm', 's' };
173
+ static const symbol s_0_142[3] = { 'o', 'm', 's' };
174
+ static const symbol s_0_143[4] = { 'i', 'o', 'm', 's' };
175
+ static const symbol s_0_144[3] = { 'u', 'm', 's' };
176
+ static const symbol s_0_145[4] = { 0xC4, 0x97, 'm', 's' };
177
+ static const symbol s_0_146[3] = { 'e', 'n', 's' };
178
+ static const symbol s_0_147[2] = { 'o', 's' };
179
+ static const symbol s_0_148[3] = { 'i', 'o', 's' };
180
+ static const symbol s_0_149[3] = { 'u', 'o', 's' };
181
+ static const symbol s_0_150[4] = { 'i', 'u', 'o', 's' };
182
+ static const symbol s_0_151[3] = { 'e', 'r', 's' };
183
+ static const symbol s_0_152[2] = { 'u', 's' };
184
+ static const symbol s_0_153[3] = { 'a', 'u', 's' };
185
+ static const symbol s_0_154[4] = { 'i', 'a', 'u', 's' };
186
+ static const symbol s_0_155[3] = { 'i', 'u', 's' };
187
+ static const symbol s_0_156[2] = { 'y', 's' };
188
+ static const symbol s_0_157[4] = { 'e', 'n', 'y', 's' };
189
+ static const symbol s_0_158[4] = { 'e', 'r', 'y', 's' };
190
+ static const symbol s_0_159[3] = { 0xC4, 0x85, 's' };
191
+ static const symbol s_0_160[4] = { 'i', 0xC4, 0x85, 's' };
192
+ static const symbol s_0_161[3] = { 0xC4, 0x97, 's' };
193
+ static const symbol s_0_162[5] = { 'a', 'm', 0xC4, 0x97, 's' };
194
+ static const symbol s_0_163[6] = { 'i', 'a', 'm', 0xC4, 0x97, 's' };
195
+ static const symbol s_0_164[5] = { 'i', 'm', 0xC4, 0x97, 's' };
196
+ static const symbol s_0_165[6] = { 'k', 'i', 'm', 0xC4, 0x97, 's' };
197
+ static const symbol s_0_166[6] = { 's', 'i', 'm', 0xC4, 0x97, 's' };
198
+ static const symbol s_0_167[5] = { 'o', 'm', 0xC4, 0x97, 's' };
199
+ static const symbol s_0_168[6] = { 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
200
+ static const symbol s_0_169[9] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
201
+ static const symbol s_0_170[5] = { 'a', 't', 0xC4, 0x97, 's' };
202
+ static const symbol s_0_171[6] = { 'i', 'a', 't', 0xC4, 0x97, 's' };
203
+ static const symbol s_0_172[6] = { 's', 'i', 't', 0xC4, 0x97, 's' };
204
+ static const symbol s_0_173[5] = { 'o', 't', 0xC4, 0x97, 's' };
205
+ static const symbol s_0_174[6] = { 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
206
+ static const symbol s_0_175[9] = { 't', 'u', 'm', 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
207
+ static const symbol s_0_176[3] = { 0xC5, 0xAB, 's' };
208
+ static const symbol s_0_177[3] = { 0xC4, 0xAF, 's' };
209
+ static const symbol s_0_178[4] = { 't', 0xC5, 0xB3, 's' };
210
+ static const symbol s_0_179[2] = { 'a', 't' };
211
+ static const symbol s_0_180[3] = { 'i', 'a', 't' };
212
+ static const symbol s_0_181[2] = { 'i', 't' };
213
+ static const symbol s_0_182[3] = { 's', 'i', 't' };
214
+ static const symbol s_0_183[2] = { 'o', 't' };
215
+ static const symbol s_0_184[3] = { 0xC4, 0x97, 't' };
216
+ static const symbol s_0_185[6] = { 't', 'u', 'm', 0xC4, 0x97, 't' };
217
+ static const symbol s_0_186[1] = { 'u' };
218
+ static const symbol s_0_187[2] = { 'a', 'u' };
219
+ static const symbol s_0_188[3] = { 'i', 'a', 'u' };
220
+ static const symbol s_0_189[5] = { 0xC5, 0x8D, 'i', 'a', 'u' };
221
+ static const symbol s_0_190[2] = { 'i', 'u' };
222
+ static const symbol s_0_191[4] = { 'e', 'n', 'i', 'u' };
223
+ static const symbol s_0_192[3] = { 's', 'i', 'u' };
224
+ static const symbol s_0_193[1] = { 'y' };
225
+ static const symbol s_0_194[2] = { 0xC4, 0x85 };
226
+ static const symbol s_0_195[3] = { 'i', 0xC4, 0x85 };
227
+ static const symbol s_0_196[2] = { 0xC4, 0x97 };
228
+ static const symbol s_0_197[2] = { 0xC4, 0x98 };
229
+ static const symbol s_0_198[2] = { 0xC4, 0xAF };
230
+ static const symbol s_0_199[4] = { 'e', 'n', 0xC4, 0xAF };
231
+ static const symbol s_0_200[4] = { 'e', 'r', 0xC4, 0xAF };
232
+ static const symbol s_0_201[2] = { 0xC5, 0xB3 };
233
+ static const symbol s_0_202[3] = { 'i', 0xC5, 0xB3 };
234
+ static const symbol s_0_203[4] = { 'e', 'r', 0xC5, 0xB3 };
235
+
236
+ static const struct among a_0[204] =
237
+ {
238
+ /* 0 */ { 1, s_0_0, -1, -1, 0},
239
+ /* 1 */ { 2, s_0_1, 0, -1, 0},
240
+ /* 2 */ { 4, s_0_2, 1, -1, 0},
241
+ /* 3 */ { 4, s_0_3, 0, -1, 0},
242
+ /* 4 */ { 5, s_0_4, 3, -1, 0},
243
+ /* 5 */ { 5, s_0_5, 3, -1, 0},
244
+ /* 6 */ { 6, s_0_6, 5, -1, 0},
245
+ /* 7 */ { 4, s_0_7, 0, -1, 0},
246
+ /* 8 */ { 5, s_0_8, 0, -1, 0},
247
+ /* 9 */ { 1, s_0_9, -1, -1, 0},
248
+ /* 10 */ { 2, s_0_10, 9, -1, 0},
249
+ /* 11 */ { 4, s_0_11, 10, -1, 0},
250
+ /* 12 */ { 4, s_0_12, 10, -1, 0},
251
+ /* 13 */ { 3, s_0_13, 9, -1, 0},
252
+ /* 14 */ { 4, s_0_14, 13, -1, 0},
253
+ /* 15 */ { 3, s_0_15, 9, -1, 0},
254
+ /* 16 */ { 4, s_0_16, 15, -1, 0},
255
+ /* 17 */ { 3, s_0_17, 9, -1, 0},
256
+ /* 18 */ { 5, s_0_18, 17, -1, 0},
257
+ /* 19 */ { 5, s_0_19, 17, -1, 0},
258
+ /* 20 */ { 4, s_0_20, 9, -1, 0},
259
+ /* 21 */ { 3, s_0_21, 9, -1, 0},
260
+ /* 22 */ { 4, s_0_22, 21, -1, 0},
261
+ /* 23 */ { 4, s_0_23, 9, -1, 0},
262
+ /* 24 */ { 3, s_0_24, 9, -1, 0},
263
+ /* 25 */ { 4, s_0_25, 9, -1, 0},
264
+ /* 26 */ { 7, s_0_26, 25, -1, 0},
265
+ /* 27 */ { 3, s_0_27, 9, -1, 0},
266
+ /* 28 */ { 4, s_0_28, 27, -1, 0},
267
+ /* 29 */ { 4, s_0_29, 27, -1, 0},
268
+ /* 30 */ { 5, s_0_30, 29, -1, 0},
269
+ /* 31 */ { 3, s_0_31, 9, -1, 0},
270
+ /* 32 */ { 5, s_0_32, 31, -1, 0},
271
+ /* 33 */ { 5, s_0_33, 31, -1, 0},
272
+ /* 34 */ { 4, s_0_34, 9, -1, 0},
273
+ /* 35 */ { 3, s_0_35, 9, -1, 0},
274
+ /* 36 */ { 4, s_0_36, 35, -1, 0},
275
+ /* 37 */ { 3, s_0_37, 9, -1, 0},
276
+ /* 38 */ { 4, s_0_38, 37, -1, 0},
277
+ /* 39 */ { 4, s_0_39, 37, -1, 0},
278
+ /* 40 */ { 3, s_0_40, 9, -1, 0},
279
+ /* 41 */ { 4, s_0_41, 9, -1, 0},
280
+ /* 42 */ { 4, s_0_42, 9, -1, 0},
281
+ /* 43 */ { 7, s_0_43, 42, -1, 0},
282
+ /* 44 */ { 1, s_0_44, -1, -1, 0},
283
+ /* 45 */ { 2, s_0_45, 44, -1, 0},
284
+ /* 46 */ { 3, s_0_46, 45, -1, 0},
285
+ /* 47 */ { 5, s_0_47, 46, -1, 0},
286
+ /* 48 */ { 2, s_0_48, 44, -1, 0},
287
+ /* 49 */ { 5, s_0_49, 48, -1, 0},
288
+ /* 50 */ { 2, s_0_50, 44, -1, 0},
289
+ /* 51 */ { 3, s_0_51, 44, -1, 0},
290
+ /* 52 */ { 5, s_0_52, 51, -1, 0},
291
+ /* 53 */ { 3, s_0_53, 44, -1, 0},
292
+ /* 54 */ { 4, s_0_54, 53, -1, 0},
293
+ /* 55 */ { 2, s_0_55, 44, -1, 0},
294
+ /* 56 */ { 3, s_0_56, 55, -1, 0},
295
+ /* 57 */ { 4, s_0_57, 56, -1, 0},
296
+ /* 58 */ { 3, s_0_58, 55, -1, 0},
297
+ /* 59 */ { 4, s_0_59, 58, -1, 0},
298
+ /* 60 */ { 5, s_0_60, 59, -1, 0},
299
+ /* 61 */ { 3, s_0_61, 55, -1, 0},
300
+ /* 62 */ { 4, s_0_62, 61, -1, 0},
301
+ /* 63 */ { 4, s_0_63, 61, -1, 0},
302
+ /* 64 */ { 7, s_0_64, 63, -1, 0},
303
+ /* 65 */ { 4, s_0_65, 61, -1, 0},
304
+ /* 66 */ { 3, s_0_66, 55, -1, 0},
305
+ /* 67 */ { 6, s_0_67, 66, -1, 0},
306
+ /* 68 */ { 4, s_0_68, 66, -1, 0},
307
+ /* 69 */ { 5, s_0_69, 68, -1, 0},
308
+ /* 70 */ { 6, s_0_70, 69, -1, 0},
309
+ /* 71 */ { 3, s_0_71, 55, -1, 0},
310
+ /* 72 */ { 4, s_0_72, 71, -1, 0},
311
+ /* 73 */ { 7, s_0_73, 72, -1, 0},
312
+ /* 74 */ { 4, s_0_74, 55, -1, 0},
313
+ /* 75 */ { 4, s_0_75, 55, -1, 0},
314
+ /* 76 */ { 4, s_0_76, 55, -1, 0},
315
+ /* 77 */ { 5, s_0_77, 76, -1, 0},
316
+ /* 78 */ { 2, s_0_78, 44, -1, 0},
317
+ /* 79 */ { 4, s_0_79, 78, -1, 0},
318
+ /* 80 */ { 4, s_0_80, 78, -1, 0},
319
+ /* 81 */ { 3, s_0_81, 78, -1, 0},
320
+ /* 82 */ { 4, s_0_82, 81, -1, 0},
321
+ /* 83 */ { 4, s_0_83, 81, -1, 0},
322
+ /* 84 */ { 5, s_0_84, 83, -1, 0},
323
+ /* 85 */ { 4, s_0_85, 78, -1, 0},
324
+ /* 86 */ { 5, s_0_86, 85, -1, 0},
325
+ /* 87 */ { 3, s_0_87, 78, -1, 0},
326
+ /* 88 */ { 4, s_0_88, 78, -1, 0},
327
+ /* 89 */ { 7, s_0_89, 88, -1, 0},
328
+ /* 90 */ { 6, s_0_90, 88, -1, 0},
329
+ /* 91 */ { 7, s_0_91, 88, -1, 0},
330
+ /* 92 */ { 2, s_0_92, 44, -1, 0},
331
+ /* 93 */ { 3, s_0_93, 92, -1, 0},
332
+ /* 94 */ { 5, s_0_94, 93, -1, 0},
333
+ /* 95 */ { 2, s_0_95, -1, -1, 0},
334
+ /* 96 */ { 3, s_0_96, -1, -1, 0},
335
+ /* 97 */ { 1, s_0_97, -1, -1, 0},
336
+ /* 98 */ { 2, s_0_98, -1, -1, 0},
337
+ /* 99 */ { 3, s_0_99, 98, -1, 0},
338
+ /*100 */ { 3, s_0_100, -1, -1, 0},
339
+ /*101 */ { 2, s_0_101, -1, -1, 0},
340
+ /*102 */ { 3, s_0_102, 101, -1, 0},
341
+ /*103 */ { 2, s_0_103, -1, -1, 0},
342
+ /*104 */ { 3, s_0_104, -1, -1, 0},
343
+ /*105 */ { 3, s_0_105, -1, -1, 0},
344
+ /*106 */ { 6, s_0_106, 105, -1, 0},
345
+ /*107 */ { 2, s_0_107, -1, -1, 0},
346
+ /*108 */ { 2, s_0_108, -1, -1, 0},
347
+ /*109 */ { 3, s_0_109, 108, -1, 0},
348
+ /*110 */ { 2, s_0_110, -1, -1, 0},
349
+ /*111 */ { 3, s_0_111, 110, -1, 0},
350
+ /*112 */ { 3, s_0_112, -1, -1, 0},
351
+ /*113 */ { 1, s_0_113, -1, -1, 0},
352
+ /*114 */ { 2, s_0_114, 113, -1, 0},
353
+ /*115 */ { 4, s_0_115, 114, -1, 0},
354
+ /*116 */ { 4, s_0_116, 113, -1, 0},
355
+ /*117 */ { 2, s_0_117, 113, -1, 0},
356
+ /*118 */ { 1, s_0_118, -1, -1, 0},
357
+ /*119 */ { 2, s_0_119, 118, -1, 0},
358
+ /*120 */ { 3, s_0_120, 119, -1, 0},
359
+ /*121 */ { 2, s_0_121, 118, -1, 0},
360
+ /*122 */ { 3, s_0_122, 121, -1, 0},
361
+ /*123 */ { 2, s_0_123, 118, -1, 0},
362
+ /*124 */ { 3, s_0_124, 123, -1, 0},
363
+ /*125 */ { 4, s_0_125, 124, -1, 0},
364
+ /*126 */ { 6, s_0_126, 123, -1, 0},
365
+ /*127 */ { 4, s_0_127, 123, -1, 0},
366
+ /*128 */ { 6, s_0_128, 127, -1, 0},
367
+ /*129 */ { 4, s_0_129, 123, -1, 0},
368
+ /*130 */ { 5, s_0_130, 129, -1, 0},
369
+ /*131 */ { 4, s_0_131, 123, -1, 0},
370
+ /*132 */ { 5, s_0_132, 123, -1, 0},
371
+ /*133 */ { 4, s_0_133, 123, -1, 0},
372
+ /*134 */ { 4, s_0_134, 123, -1, 0},
373
+ /*135 */ { 4, s_0_135, 123, -1, 0},
374
+ /*136 */ { 3, s_0_136, 118, -1, 0},
375
+ /*137 */ { 4, s_0_137, 136, -1, 0},
376
+ /*138 */ { 4, s_0_138, 118, -1, 0},
377
+ /*139 */ { 3, s_0_139, 118, -1, 0},
378
+ /*140 */ { 5, s_0_140, 139, -1, 0},
379
+ /*141 */ { 5, s_0_141, 139, -1, 0},
380
+ /*142 */ { 3, s_0_142, 118, -1, 0},
381
+ /*143 */ { 4, s_0_143, 142, -1, 0},
382
+ /*144 */ { 3, s_0_144, 118, -1, 0},
383
+ /*145 */ { 4, s_0_145, 118, -1, 0},
384
+ /*146 */ { 3, s_0_146, 118, -1, 0},
385
+ /*147 */ { 2, s_0_147, 118, -1, 0},
386
+ /*148 */ { 3, s_0_148, 147, -1, 0},
387
+ /*149 */ { 3, s_0_149, 147, -1, 0},
388
+ /*150 */ { 4, s_0_150, 149, -1, 0},
389
+ /*151 */ { 3, s_0_151, 118, -1, 0},
390
+ /*152 */ { 2, s_0_152, 118, -1, 0},
391
+ /*153 */ { 3, s_0_153, 152, -1, 0},
392
+ /*154 */ { 4, s_0_154, 153, -1, 0},
393
+ /*155 */ { 3, s_0_155, 152, -1, 0},
394
+ /*156 */ { 2, s_0_156, 118, -1, 0},
395
+ /*157 */ { 4, s_0_157, 156, -1, 0},
396
+ /*158 */ { 4, s_0_158, 156, -1, 0},
397
+ /*159 */ { 3, s_0_159, 118, -1, 0},
398
+ /*160 */ { 4, s_0_160, 159, -1, 0},
399
+ /*161 */ { 3, s_0_161, 118, -1, 0},
400
+ /*162 */ { 5, s_0_162, 161, -1, 0},
401
+ /*163 */ { 6, s_0_163, 162, -1, 0},
402
+ /*164 */ { 5, s_0_164, 161, -1, 0},
403
+ /*165 */ { 6, s_0_165, 164, -1, 0},
404
+ /*166 */ { 6, s_0_166, 164, -1, 0},
405
+ /*167 */ { 5, s_0_167, 161, -1, 0},
406
+ /*168 */ { 6, s_0_168, 161, -1, 0},
407
+ /*169 */ { 9, s_0_169, 168, -1, 0},
408
+ /*170 */ { 5, s_0_170, 161, -1, 0},
409
+ /*171 */ { 6, s_0_171, 170, -1, 0},
410
+ /*172 */ { 6, s_0_172, 161, -1, 0},
411
+ /*173 */ { 5, s_0_173, 161, -1, 0},
412
+ /*174 */ { 6, s_0_174, 161, -1, 0},
413
+ /*175 */ { 9, s_0_175, 174, -1, 0},
414
+ /*176 */ { 3, s_0_176, 118, -1, 0},
415
+ /*177 */ { 3, s_0_177, 118, -1, 0},
416
+ /*178 */ { 4, s_0_178, 118, -1, 0},
417
+ /*179 */ { 2, s_0_179, -1, -1, 0},
418
+ /*180 */ { 3, s_0_180, 179, -1, 0},
419
+ /*181 */ { 2, s_0_181, -1, -1, 0},
420
+ /*182 */ { 3, s_0_182, 181, -1, 0},
421
+ /*183 */ { 2, s_0_183, -1, -1, 0},
422
+ /*184 */ { 3, s_0_184, -1, -1, 0},
423
+ /*185 */ { 6, s_0_185, 184, -1, 0},
424
+ /*186 */ { 1, s_0_186, -1, -1, 0},
425
+ /*187 */ { 2, s_0_187, 186, -1, 0},
426
+ /*188 */ { 3, s_0_188, 187, -1, 0},
427
+ /*189 */ { 5, s_0_189, 188, -1, 0},
428
+ /*190 */ { 2, s_0_190, 186, -1, 0},
429
+ /*191 */ { 4, s_0_191, 190, -1, 0},
430
+ /*192 */ { 3, s_0_192, 190, -1, 0},
431
+ /*193 */ { 1, s_0_193, -1, -1, 0},
432
+ /*194 */ { 2, s_0_194, -1, -1, 0},
433
+ /*195 */ { 3, s_0_195, 194, -1, 0},
434
+ /*196 */ { 2, s_0_196, -1, -1, 0},
435
+ /*197 */ { 2, s_0_197, -1, -1, 0},
436
+ /*198 */ { 2, s_0_198, -1, -1, 0},
437
+ /*199 */ { 4, s_0_199, 198, -1, 0},
438
+ /*200 */ { 4, s_0_200, 198, -1, 0},
439
+ /*201 */ { 2, s_0_201, -1, -1, 0},
440
+ /*202 */ { 3, s_0_202, 201, -1, 0},
441
+ /*203 */ { 4, s_0_203, 201, -1, 0}
442
+ };
443
+
444
+ static const symbol s_1_0[3] = { 'i', 'n', 'g' };
445
+ static const symbol s_1_1[2] = { 'a', 'j' };
446
+ static const symbol s_1_2[3] = { 'i', 'a', 'j' };
447
+ static const symbol s_1_3[3] = { 'i', 'e', 'j' };
448
+ static const symbol s_1_4[2] = { 'o', 'j' };
449
+ static const symbol s_1_5[3] = { 'i', 'o', 'j' };
450
+ static const symbol s_1_6[3] = { 'u', 'o', 'j' };
451
+ static const symbol s_1_7[4] = { 'i', 'u', 'o', 'j' };
452
+ static const symbol s_1_8[3] = { 'a', 'u', 'j' };
453
+ static const symbol s_1_9[3] = { 0xC4, 0x85, 'j' };
454
+ static const symbol s_1_10[4] = { 'i', 0xC4, 0x85, 'j' };
455
+ static const symbol s_1_11[3] = { 0xC4, 0x97, 'j' };
456
+ static const symbol s_1_12[3] = { 0xC5, 0xB3, 'j' };
457
+ static const symbol s_1_13[4] = { 'i', 0xC5, 0xB3, 'j' };
458
+ static const symbol s_1_14[2] = { 'o', 'k' };
459
+ static const symbol s_1_15[3] = { 'i', 'o', 'k' };
460
+ static const symbol s_1_16[3] = { 'i', 'u', 'k' };
461
+ static const symbol s_1_17[5] = { 'u', 'l', 'i', 'u', 'k' };
462
+ static const symbol s_1_18[6] = { 'u', 0xC5, 0x8D, 'i', 'u', 'k' };
463
+ static const symbol s_1_19[4] = { 'i', 0xC5, 0xA1, 'k' };
464
+ static const symbol s_1_20[3] = { 'i', 'u', 'l' };
465
+ static const symbol s_1_21[2] = { 'y', 'l' };
466
+ static const symbol s_1_22[3] = { 0xC4, 0x97, 'l' };
467
+ static const symbol s_1_23[2] = { 'a', 'm' };
468
+ static const symbol s_1_24[3] = { 'd', 'a', 'm' };
469
+ static const symbol s_1_25[3] = { 'j', 'a', 'm' };
470
+ static const symbol s_1_26[4] = { 'z', 'g', 'a', 'n' };
471
+ static const symbol s_1_27[3] = { 'a', 'i', 'n' };
472
+ static const symbol s_1_28[3] = { 'e', 's', 'n' };
473
+ static const symbol s_1_29[2] = { 'o', 'p' };
474
+ static const symbol s_1_30[3] = { 'i', 'o', 'p' };
475
+ static const symbol s_1_31[3] = { 'i', 'a', 's' };
476
+ static const symbol s_1_32[3] = { 'i', 'e', 's' };
477
+ static const symbol s_1_33[3] = { 'a', 'i', 's' };
478
+ static const symbol s_1_34[4] = { 'i', 'a', 'i', 's' };
479
+ static const symbol s_1_35[2] = { 'o', 's' };
480
+ static const symbol s_1_36[3] = { 'i', 'o', 's' };
481
+ static const symbol s_1_37[3] = { 'u', 'o', 's' };
482
+ static const symbol s_1_38[4] = { 'i', 'u', 'o', 's' };
483
+ static const symbol s_1_39[3] = { 'a', 'u', 's' };
484
+ static const symbol s_1_40[4] = { 'i', 'a', 'u', 's' };
485
+ static const symbol s_1_41[3] = { 0xC4, 0x85, 's' };
486
+ static const symbol s_1_42[4] = { 'i', 0xC4, 0x85, 's' };
487
+ static const symbol s_1_43[3] = { 0xC4, 0x98, 's' };
488
+ static const symbol s_1_44[7] = { 'u', 't', 0xC4, 0x97, 'a', 'i', 't' };
489
+ static const symbol s_1_45[3] = { 'a', 'n', 't' };
490
+ static const symbol s_1_46[4] = { 'i', 'a', 'n', 't' };
491
+ static const symbol s_1_47[5] = { 's', 'i', 'a', 'n', 't' };
492
+ static const symbol s_1_48[3] = { 'i', 'n', 't' };
493
+ static const symbol s_1_49[2] = { 'o', 't' };
494
+ static const symbol s_1_50[3] = { 'u', 'o', 't' };
495
+ static const symbol s_1_51[4] = { 'i', 'u', 'o', 't' };
496
+ static const symbol s_1_52[2] = { 'y', 't' };
497
+ static const symbol s_1_53[3] = { 0xC4, 0x97, 't' };
498
+ static const symbol s_1_54[5] = { 'y', 'k', 0xC5, 0xA1, 't' };
499
+ static const symbol s_1_55[3] = { 'i', 'a', 'u' };
500
+ static const symbol s_1_56[3] = { 'd', 'a', 'v' };
501
+ static const symbol s_1_57[2] = { 's', 'v' };
502
+ static const symbol s_1_58[3] = { 0xC5, 0xA1, 'v' };
503
+ static const symbol s_1_59[6] = { 'y', 'k', 0xC5, 0xA1, 0xC5, 0x8D };
504
+ static const symbol s_1_60[2] = { 0xC4, 0x98 };
505
+ static const symbol s_1_61[5] = { 0xC4, 0x97, 'j', 0xC4, 0x98 };
506
+
507
+ static const struct among a_1[62] =
508
+ {
509
+ /* 0 */ { 3, s_1_0, -1, -1, 0},
510
+ /* 1 */ { 2, s_1_1, -1, -1, 0},
511
+ /* 2 */ { 3, s_1_2, 1, -1, 0},
512
+ /* 3 */ { 3, s_1_3, -1, -1, 0},
513
+ /* 4 */ { 2, s_1_4, -1, -1, 0},
514
+ /* 5 */ { 3, s_1_5, 4, -1, 0},
515
+ /* 6 */ { 3, s_1_6, 4, -1, 0},
516
+ /* 7 */ { 4, s_1_7, 6, -1, 0},
517
+ /* 8 */ { 3, s_1_8, -1, -1, 0},
518
+ /* 9 */ { 3, s_1_9, -1, -1, 0},
519
+ /* 10 */ { 4, s_1_10, 9, -1, 0},
520
+ /* 11 */ { 3, s_1_11, -1, -1, 0},
521
+ /* 12 */ { 3, s_1_12, -1, -1, 0},
522
+ /* 13 */ { 4, s_1_13, 12, -1, 0},
523
+ /* 14 */ { 2, s_1_14, -1, -1, 0},
524
+ /* 15 */ { 3, s_1_15, 14, -1, 0},
525
+ /* 16 */ { 3, s_1_16, -1, -1, 0},
526
+ /* 17 */ { 5, s_1_17, 16, -1, 0},
527
+ /* 18 */ { 6, s_1_18, 16, -1, 0},
528
+ /* 19 */ { 4, s_1_19, -1, -1, 0},
529
+ /* 20 */ { 3, s_1_20, -1, -1, 0},
530
+ /* 21 */ { 2, s_1_21, -1, -1, 0},
531
+ /* 22 */ { 3, s_1_22, -1, -1, 0},
532
+ /* 23 */ { 2, s_1_23, -1, -1, 0},
533
+ /* 24 */ { 3, s_1_24, 23, -1, 0},
534
+ /* 25 */ { 3, s_1_25, 23, -1, 0},
535
+ /* 26 */ { 4, s_1_26, -1, -1, 0},
536
+ /* 27 */ { 3, s_1_27, -1, -1, 0},
537
+ /* 28 */ { 3, s_1_28, -1, -1, 0},
538
+ /* 29 */ { 2, s_1_29, -1, -1, 0},
539
+ /* 30 */ { 3, s_1_30, 29, -1, 0},
540
+ /* 31 */ { 3, s_1_31, -1, -1, 0},
541
+ /* 32 */ { 3, s_1_32, -1, -1, 0},
542
+ /* 33 */ { 3, s_1_33, -1, -1, 0},
543
+ /* 34 */ { 4, s_1_34, 33, -1, 0},
544
+ /* 35 */ { 2, s_1_35, -1, -1, 0},
545
+ /* 36 */ { 3, s_1_36, 35, -1, 0},
546
+ /* 37 */ { 3, s_1_37, 35, -1, 0},
547
+ /* 38 */ { 4, s_1_38, 37, -1, 0},
548
+ /* 39 */ { 3, s_1_39, -1, -1, 0},
549
+ /* 40 */ { 4, s_1_40, 39, -1, 0},
550
+ /* 41 */ { 3, s_1_41, -1, -1, 0},
551
+ /* 42 */ { 4, s_1_42, 41, -1, 0},
552
+ /* 43 */ { 3, s_1_43, -1, -1, 0},
553
+ /* 44 */ { 7, s_1_44, -1, -1, 0},
554
+ /* 45 */ { 3, s_1_45, -1, -1, 0},
555
+ /* 46 */ { 4, s_1_46, 45, -1, 0},
556
+ /* 47 */ { 5, s_1_47, 46, -1, 0},
557
+ /* 48 */ { 3, s_1_48, -1, -1, 0},
558
+ /* 49 */ { 2, s_1_49, -1, -1, 0},
559
+ /* 50 */ { 3, s_1_50, 49, -1, 0},
560
+ /* 51 */ { 4, s_1_51, 50, -1, 0},
561
+ /* 52 */ { 2, s_1_52, -1, -1, 0},
562
+ /* 53 */ { 3, s_1_53, -1, -1, 0},
563
+ /* 54 */ { 5, s_1_54, -1, -1, 0},
564
+ /* 55 */ { 3, s_1_55, -1, -1, 0},
565
+ /* 56 */ { 3, s_1_56, -1, -1, 0},
566
+ /* 57 */ { 2, s_1_57, -1, -1, 0},
567
+ /* 58 */ { 3, s_1_58, -1, -1, 0},
568
+ /* 59 */ { 6, s_1_59, -1, -1, 0},
569
+ /* 60 */ { 2, s_1_60, -1, -1, 0},
570
+ /* 61 */ { 5, s_1_61, 60, -1, 0}
571
+ };
572
+
573
+ static const symbol s_2_0[5] = { 'o', 'j', 'i', 'm', 'e' };
574
+ static const symbol s_2_1[6] = { 0xC4, 0x97, 'j', 'i', 'm', 'e' };
575
+ static const symbol s_2_2[5] = { 'a', 'v', 'i', 'm', 'e' };
576
+ static const symbol s_2_3[5] = { 'o', 'k', 'a', 't', 'e' };
577
+ static const symbol s_2_4[4] = { 'a', 'i', 't', 'e' };
578
+ static const symbol s_2_5[4] = { 'u', 'o', 't', 'e' };
579
+ static const symbol s_2_6[5] = { 'a', 's', 'i', 'u', 's' };
580
+ static const symbol s_2_7[7] = { 'o', 'k', 'a', 't', 0xC4, 0x97, 's' };
581
+ static const symbol s_2_8[6] = { 'a', 'i', 't', 0xC4, 0x97, 's' };
582
+ static const symbol s_2_9[6] = { 'u', 'o', 't', 0xC4, 0x97, 's' };
583
+ static const symbol s_2_10[4] = { 'e', 's', 'i', 'u' };
584
+
585
+ static const struct among a_2[11] =
586
+ {
587
+ /* 0 */ { 5, s_2_0, -1, 9, 0},
588
+ /* 1 */ { 6, s_2_1, -1, 5, 0},
589
+ /* 2 */ { 5, s_2_2, -1, 8, 0},
590
+ /* 3 */ { 5, s_2_3, -1, 11, 0},
591
+ /* 4 */ { 4, s_2_4, -1, 1, 0},
592
+ /* 5 */ { 4, s_2_5, -1, 4, 0},
593
+ /* 6 */ { 5, s_2_6, -1, 7, 0},
594
+ /* 7 */ { 7, s_2_7, -1, 10, 0},
595
+ /* 8 */ { 6, s_2_8, -1, 2, 0},
596
+ /* 9 */ { 6, s_2_9, -1, 3, 0},
597
+ /* 10 */ { 4, s_2_10, -1, 6, 0}
598
+ };
599
+
600
+ static const symbol s_3_0[2] = { 0xC5, 0x8D };
601
+ static const symbol s_3_1[3] = { 'd', 0xC5, 0xBE };
602
+
603
+ static const struct among a_3[2] =
604
+ {
605
+ /* 0 */ { 2, s_3_0, -1, 1, 0},
606
+ /* 1 */ { 3, s_3_1, -1, 2, 0}
607
+ };
608
+
609
+ static const symbol s_4_0[2] = { 'g', 'd' };
610
+
611
+ static const struct among a_4[1] =
612
+ {
613
+ /* 0 */ { 2, s_4_0, -1, 1, 0}
614
+ };
615
+
616
+ static const unsigned char g_v[] = { 17, 65, 16, 1, 16, 0, 192, 0, 0, 68, 4, 0, 24 };
617
+
618
+ static const symbol s_0[] = { 'a', 'i', 't', 0xC4, 0x97 };
619
+ static const symbol s_1[] = { 'a', 'i', 't', 0xC4, 0x97 };
620
+ static const symbol s_2[] = { 'u', 'o', 't', 0xC4, 0x97 };
621
+ static const symbol s_3[] = { 'u', 'o', 't', 0xC4, 0x97 };
622
+ static const symbol s_4[] = { 0xC4, 0x97, 'j', 'i', 'm', 'a', 's' };
623
+ static const symbol s_5[] = { 'e', 's', 'y', 's' };
624
+ static const symbol s_6[] = { 'a', 's', 'y', 's' };
625
+ static const symbol s_7[] = { 'a', 'v', 'i', 'm', 'a', 's' };
626
+ static const symbol s_8[] = { 'o', 'j', 'i', 'm', 'a', 's' };
627
+ static const symbol s_9[] = { 'o', 'k', 'a', 't', 0xC4, 0x97 };
628
+ static const symbol s_10[] = { 'o', 'k', 'a', 't', 0xC4, 0x97 };
629
+ static const symbol s_11[] = { 't' };
630
+ static const symbol s_12[] = { 'd' };
631
+ static const symbol s_13[] = { 'g' };
632
+ static const symbol s_14[] = { 'a' };
633
+
634
+ static int r_R1(struct SN_env * z) {
635
+ if (!(z->I[0] <= z->c)) return 0;
636
+ return 1;
637
+ }
638
+
639
+ static int r_step1(struct SN_env * z) {
640
+ { int mlimit; /* setlimit, line 49 */
641
+ int m1 = z->l - z->c; (void)m1;
642
+ if (z->c < z->I[0]) return 0;
643
+ z->c = z->I[0]; /* tomark, line 49 */
644
+ mlimit = z->lb; z->lb = z->c;
645
+ z->c = z->l - m1;
646
+ z->ket = z->c; /* [, line 49 */
647
+ if (!(find_among_b(z, a_0, 204))) { z->lb = mlimit; return 0; } /* substring, line 49 */
648
+ z->bra = z->c; /* ], line 49 */
649
+ z->lb = mlimit;
650
+ }
651
+ { int ret = r_R1(z);
652
+ if (ret == 0) return 0; /* call R1, line 49 */
653
+ if (ret < 0) return ret;
654
+ }
655
+ { int ret = slice_del(z); /* delete, line 235 */
656
+ if (ret < 0) return ret;
657
+ }
658
+ return 1;
659
+ }
660
+
661
+ static int r_step2(struct SN_env * z) {
662
+ while(1) { /* repeat, line 238 */
663
+ int m1 = z->l - z->c; (void)m1;
664
+ { int mlimit; /* setlimit, line 239 */
665
+ int m2 = z->l - z->c; (void)m2;
666
+ if (z->c < z->I[0]) goto lab0;
667
+ z->c = z->I[0]; /* tomark, line 239 */
668
+ mlimit = z->lb; z->lb = z->c;
669
+ z->c = z->l - m2;
670
+ z->ket = z->c; /* [, line 239 */
671
+ if (!(find_among_b(z, a_1, 62))) { z->lb = mlimit; goto lab0; } /* substring, line 239 */
672
+ z->bra = z->c; /* ], line 239 */
673
+ z->lb = mlimit;
674
+ }
675
+ { int ret = slice_del(z); /* delete, line 309 */
676
+ if (ret < 0) return ret;
677
+ }
678
+ continue;
679
+ lab0:
680
+ z->c = z->l - m1;
681
+ break;
682
+ }
683
+ return 1;
684
+ }
685
+
686
+ static int r_fix_conflicts(struct SN_env * z) {
687
+ int among_var;
688
+ z->ket = z->c; /* [, line 313 */
689
+ if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2621472 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
690
+ among_var = find_among_b(z, a_2, 11); /* substring, line 313 */
691
+ if (!(among_var)) return 0;
692
+ z->bra = z->c; /* ], line 313 */
693
+ switch(among_var) {
694
+ case 0: return 0;
695
+ case 1:
696
+ { int ret = slice_from_s(z, 5, s_0); /* <-, line 315 */
697
+ if (ret < 0) return ret;
698
+ }
699
+ z->B[0] = 1; /* set CHANGE, line 315 */
700
+ break;
701
+ case 2:
702
+ { int ret = slice_from_s(z, 5, s_1); /* <-, line 317 */
703
+ if (ret < 0) return ret;
704
+ }
705
+ z->B[0] = 1; /* set CHANGE, line 317 */
706
+ break;
707
+ case 3:
708
+ { int ret = slice_from_s(z, 5, s_2); /* <-, line 320 */
709
+ if (ret < 0) return ret;
710
+ }
711
+ z->B[0] = 1; /* set CHANGE, line 320 */
712
+ break;
713
+ case 4:
714
+ { int ret = slice_from_s(z, 5, s_3); /* <-, line 322 */
715
+ if (ret < 0) return ret;
716
+ }
717
+ z->B[0] = 1; /* set CHANGE, line 322 */
718
+ break;
719
+ case 5:
720
+ { int ret = slice_from_s(z, 7, s_4); /* <-, line 325 */
721
+ if (ret < 0) return ret;
722
+ }
723
+ z->B[0] = 1; /* set CHANGE, line 325 */
724
+ break;
725
+ case 6:
726
+ { int ret = slice_from_s(z, 4, s_5); /* <-, line 328 */
727
+ if (ret < 0) return ret;
728
+ }
729
+ z->B[0] = 1; /* set CHANGE, line 328 */
730
+ break;
731
+ case 7:
732
+ { int ret = slice_from_s(z, 4, s_6); /* <-, line 330 */
733
+ if (ret < 0) return ret;
734
+ }
735
+ z->B[0] = 1; /* set CHANGE, line 330 */
736
+ break;
737
+ case 8:
738
+ { int ret = slice_from_s(z, 6, s_7); /* <-, line 334 */
739
+ if (ret < 0) return ret;
740
+ }
741
+ z->B[0] = 1; /* set CHANGE, line 334 */
742
+ break;
743
+ case 9:
744
+ { int ret = slice_from_s(z, 6, s_8); /* <-, line 335 */
745
+ if (ret < 0) return ret;
746
+ }
747
+ z->B[0] = 1; /* set CHANGE, line 335 */
748
+ break;
749
+ case 10:
750
+ { int ret = slice_from_s(z, 6, s_9); /* <-, line 338 */
751
+ if (ret < 0) return ret;
752
+ }
753
+ z->B[0] = 1; /* set CHANGE, line 338 */
754
+ break;
755
+ case 11:
756
+ { int ret = slice_from_s(z, 6, s_10); /* <-, line 340 */
757
+ if (ret < 0) return ret;
758
+ }
759
+ z->B[0] = 1; /* set CHANGE, line 340 */
760
+ break;
761
+ }
762
+ return 1;
763
+ }
764
+
765
+ static int r_fix_chdz(struct SN_env * z) {
766
+ int among_var;
767
+ z->ket = z->c; /* [, line 347 */
768
+ if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 190)) return 0;
769
+ among_var = find_among_b(z, a_3, 2); /* substring, line 347 */
770
+ if (!(among_var)) return 0;
771
+ z->bra = z->c; /* ], line 347 */
772
+ switch(among_var) {
773
+ case 0: return 0;
774
+ case 1:
775
+ { int ret = slice_from_s(z, 1, s_11); /* <-, line 348 */
776
+ if (ret < 0) return ret;
777
+ }
778
+ z->B[0] = 1; /* set CHANGE, line 348 */
779
+ break;
780
+ case 2:
781
+ { int ret = slice_from_s(z, 1, s_12); /* <-, line 349 */
782
+ if (ret < 0) return ret;
783
+ }
784
+ z->B[0] = 1; /* set CHANGE, line 349 */
785
+ break;
786
+ }
787
+ return 1;
788
+ }
789
+
790
+ static int r_fix_gd(struct SN_env * z) {
791
+ int among_var;
792
+ z->ket = z->c; /* [, line 354 */
793
+ if (z->c - 1 <= z->lb || z->p[z->c - 1] != 100) return 0;
794
+ among_var = find_among_b(z, a_4, 1); /* substring, line 354 */
795
+ if (!(among_var)) return 0;
796
+ z->bra = z->c; /* ], line 354 */
797
+ switch(among_var) {
798
+ case 0: return 0;
799
+ case 1:
800
+ { int ret = slice_from_s(z, 1, s_13); /* <-, line 355 */
801
+ if (ret < 0) return ret;
802
+ }
803
+ z->B[0] = 1; /* set CHANGE, line 355 */
804
+ break;
805
+ }
806
+ return 1;
807
+ }
808
+
809
+ extern int lithuanian_UTF_8_stem(struct SN_env * z) {
810
+ z->I[0] = z->l;
811
+ z->I[1] = z->l;
812
+ z->I[2] = SIZE(z->p);
813
+ { int c1 = z->c; /* do, line 368 */
814
+ { int c_keep = z->c; /* try, line 370 */
815
+ { int c_test = z->c; /* test, line 370 */
816
+ if (!(eq_s(z, 1, s_14))) { z->c = c_keep; goto lab1; }
817
+ z->c = c_test;
818
+ }
819
+ if (!(z->I[2] > 6)) { z->c = c_keep; goto lab1; }
820
+ { int ret = z->c + 1;
821
+ if (0 > ret || ret > z->l) { z->c = c_keep; goto lab1; }
822
+ z->c = ret; /* hop, line 370 */
823
+ }
824
+ lab1:
825
+ ;
826
+ }
827
+ { /* gopast */ /* grouping v, line 372 */
828
+ int ret = out_grouping(z, g_v, 97, 197, 1);
829
+ if (ret < 0) goto lab0;
830
+ z->c += ret;
831
+ }
832
+ { /* gopast */ /* non v, line 372 */
833
+ int ret = in_grouping(z, g_v, 97, 197, 1);
834
+ if (ret < 0) goto lab0;
835
+ z->c += ret;
836
+ }
837
+ z->I[0] = z->c; /* setmark p1, line 372 */
838
+ { /* gopast */ /* grouping v, line 373 */
839
+ int ret = out_grouping(z, g_v, 97, 197, 1);
840
+ if (ret < 0) goto lab0;
841
+ z->c += ret;
842
+ }
843
+ { /* gopast */ /* non v, line 373 */
844
+ int ret = in_grouping(z, g_v, 97, 197, 1);
845
+ if (ret < 0) goto lab0;
846
+ z->c += ret;
847
+ }
848
+ z->I[1] = z->c; /* setmark p2, line 373 */
849
+ lab0:
850
+ z->c = c1;
851
+ }
852
+ z->lb = z->c; z->c = z->l; /* backwards, line 377 */
853
+
854
+ { int m2 = z->l - z->c; (void)m2; /* do, line 378 */
855
+ { int ret = r_fix_conflicts(z);
856
+ if (ret == 0) goto lab2; /* call fix_conflicts, line 378 */
857
+ if (ret < 0) return ret;
858
+ }
859
+ lab2:
860
+ z->c = z->l - m2;
861
+ }
862
+ { int m3 = z->l - z->c; (void)m3; /* do, line 379 */
863
+ { int ret = r_step1(z);
864
+ if (ret == 0) goto lab3; /* call step1, line 379 */
865
+ if (ret < 0) return ret;
866
+ }
867
+ lab3:
868
+ z->c = z->l - m3;
869
+ }
870
+ { int m4 = z->l - z->c; (void)m4; /* do, line 380 */
871
+ { int ret = r_fix_chdz(z);
872
+ if (ret == 0) goto lab4; /* call fix_chdz, line 380 */
873
+ if (ret < 0) return ret;
874
+ }
875
+ lab4:
876
+ z->c = z->l - m4;
877
+ }
878
+ { int m5 = z->l - z->c; (void)m5; /* do, line 381 */
879
+ { int ret = r_step2(z);
880
+ if (ret == 0) goto lab5; /* call step2, line 381 */
881
+ if (ret < 0) return ret;
882
+ }
883
+ lab5:
884
+ z->c = z->l - m5;
885
+ }
886
+ { int m6 = z->l - z->c; (void)m6; /* do, line 382 */
887
+ { int ret = r_fix_chdz(z);
888
+ if (ret == 0) goto lab6; /* call fix_chdz, line 382 */
889
+ if (ret < 0) return ret;
890
+ }
891
+ lab6:
892
+ z->c = z->l - m6;
893
+ }
894
+ { int m7 = z->l - z->c; (void)m7; /* do, line 383 */
895
+ { int ret = r_fix_gd(z);
896
+ if (ret == 0) goto lab7; /* call fix_gd, line 383 */
897
+ if (ret < 0) return ret;
898
+ }
899
+ lab7:
900
+ z->c = z->l - m7;
901
+ }
902
+ z->c = z->lb;
903
+ return 1;
904
+ }
905
+
906
+ extern struct SN_env * lithuanian_UTF_8_create_env(void) { return SN_create_env(0, 3, 1); }
907
+
908
+ extern void lithuanian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
909
+
@@ -0,0 +1,16 @@
1
+
2
+ /* This file was generated automatically by the Snowball to ANSI C compiler */
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ extern struct SN_env * lithuanian_UTF_8_create_env(void);
9
+ extern void lithuanian_UTF_8_close_env(struct SN_env * z);
10
+
11
+ extern int lithuanian_UTF_8_stem(struct SN_env * z);
12
+
13
+ #ifdef __cplusplus
14
+ }
15
+ #endif
16
+
@@ -100,6 +100,12 @@ class TestStemmer < Minitest::Test
100
100
  stem = ::Lingua.stemmer("installation", :language => "fr", :encoding => "ISO-8859-1")
101
101
  assert_equal stem.encoding, Encoding::ISO_8859_1
102
102
  end
103
- end
104
103
 
104
+ def test_lithuanian_stem
105
+ stemmer = ::Lingua::Stemmer.new(:language => "lt")
106
+ %w(kompiuteris kompiuterio kompiuteriui kompiuteriu kompiuteri).each do |word|
107
+ assert_equal stemmer.stem(word), 'kompiuter'
108
+ end
109
+ end
110
+ end
105
111
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-stemmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aurelian Oancea
@@ -126,6 +126,8 @@ files:
126
126
  - libstemmer_c/src_c/stem_UTF_8_italian.h
127
127
  - libstemmer_c/src_c/stem_UTF_8_latin.c
128
128
  - libstemmer_c/src_c/stem_UTF_8_latin.h
129
+ - libstemmer_c/src_c/stem_UTF_8_lithuanian.c
130
+ - libstemmer_c/src_c/stem_UTF_8_lithuanian.h
129
131
  - libstemmer_c/src_c/stem_UTF_8_norwegian.c
130
132
  - libstemmer_c/src_c/stem_UTF_8_norwegian.h
131
133
  - libstemmer_c/src_c/stem_UTF_8_porter.c
@@ -164,8 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
166
  - !ruby/object:Gem::Version
165
167
  version: '0'
166
168
  requirements: []
167
- rubyforge_project:
168
- rubygems_version: 2.7.3
169
+ rubygems_version: 3.0.3
169
170
  signing_key:
170
171
  specification_version: 4
171
172
  summary: Expose libstemmer_c to Ruby.