xref: /Lucene/lucene/analysis/common/src/java/org/tartarus/snowball/ext/BasqueStemmer.java (revision 0b1d8ccba6cf394f707a09217813a25ec1504e50)
1 // Generated by Snowball 2.0.0 - https://snowballstem.org/
2 
3 package org.tartarus.snowball.ext;
4 
5 import org.tartarus.snowball.Among;
6 
7 /**
8  * This class implements the stemming algorithm defined by a snowball script.
9  *
10  * <p>Generated by Snowball 2.0.0 - https://snowballstem.org/
11  */
12 @SuppressWarnings("unused")
13 public class BasqueStemmer extends org.tartarus.snowball.SnowballStemmer {
14 
15   private static final long serialVersionUID = 1L;
16   private static final java.lang.invoke.MethodHandles.Lookup methodObject =
17       java.lang.invoke.MethodHandles.lookup();
18 
19   private static final Among a_0[] = {
20     new Among("idea", -1, 1),
21     new Among("bidea", 0, 1),
22     new Among("kidea", 0, 1),
23     new Among("pidea", 0, 1),
24     new Among("kundea", -1, 1),
25     new Among("galea", -1, 1),
26     new Among("tailea", -1, 1),
27     new Among("tzailea", -1, 1),
28     new Among("gunea", -1, 1),
29     new Among("kunea", -1, 1),
30     new Among("tzaga", -1, 1),
31     new Among("gaia", -1, 1),
32     new Among("aldia", -1, 1),
33     new Among("taldia", 12, 1),
34     new Among("karia", -1, 1),
35     new Among("garria", -1, 2),
36     new Among("karria", -1, 1),
37     new Among("ka", -1, 1),
38     new Among("tzaka", 17, 1),
39     new Among("la", -1, 1),
40     new Among("mena", -1, 1),
41     new Among("pena", -1, 1),
42     new Among("kina", -1, 1),
43     new Among("ezina", -1, 1),
44     new Among("tezina", 23, 1),
45     new Among("kuna", -1, 1),
46     new Among("tuna", -1, 1),
47     new Among("kizuna", -1, 1),
48     new Among("era", -1, 1),
49     new Among("bera", 28, 1),
50     new Among("arabera", 29, 4),
51     new Among("kera", 28, 1),
52     new Among("pera", 28, 1),
53     new Among("orra", -1, 1),
54     new Among("korra", 33, 1),
55     new Among("dura", -1, 1),
56     new Among("gura", -1, 1),
57     new Among("kura", -1, 1),
58     new Among("tura", -1, 1),
59     new Among("eta", -1, 1),
60     new Among("keta", 39, 1),
61     new Among("gailua", -1, 1),
62     new Among("eza", -1, 1),
63     new Among("erreza", 42, 1),
64     new Among("tza", -1, 2),
65     new Among("gaitza", 44, 1),
66     new Among("kaitza", 44, 1),
67     new Among("kuntza", 44, 1),
68     new Among("ide", -1, 1),
69     new Among("bide", 48, 1),
70     new Among("kide", 48, 1),
71     new Among("pide", 48, 1),
72     new Among("kunde", -1, 1),
73     new Among("tzake", -1, 1),
74     new Among("tzeke", -1, 1),
75     new Among("le", -1, 1),
76     new Among("gale", 55, 1),
77     new Among("taile", 55, 1),
78     new Among("tzaile", 55, 1),
79     new Among("gune", -1, 1),
80     new Among("kune", -1, 1),
81     new Among("tze", -1, 1),
82     new Among("atze", 61, 1),
83     new Among("gai", -1, 1),
84     new Among("aldi", -1, 1),
85     new Among("taldi", 64, 1),
86     new Among("ki", -1, 1),
87     new Among("ari", -1, 1),
88     new Among("kari", 67, 1),
89     new Among("lari", 67, 1),
90     new Among("tari", 67, 1),
91     new Among("etari", 70, 1),
92     new Among("garri", -1, 2),
93     new Among("karri", -1, 1),
94     new Among("arazi", -1, 1),
95     new Among("tarazi", 74, 1),
96     new Among("an", -1, 1),
97     new Among("ean", 76, 1),
98     new Among("rean", 77, 1),
99     new Among("kan", 76, 1),
100     new Among("etan", 76, 1),
101     new Among("atseden", -1, 3),
102     new Among("men", -1, 1),
103     new Among("pen", -1, 1),
104     new Among("kin", -1, 1),
105     new Among("rekin", 84, 1),
106     new Among("ezin", -1, 1),
107     new Among("tezin", 86, 1),
108     new Among("tun", -1, 1),
109     new Among("kizun", -1, 1),
110     new Among("go", -1, 1),
111     new Among("ago", 90, 1),
112     new Among("tio", -1, 1),
113     new Among("dako", -1, 1),
114     new Among("or", -1, 1),
115     new Among("kor", 94, 1),
116     new Among("tzat", -1, 1),
117     new Among("du", -1, 1),
118     new Among("gailu", -1, 1),
119     new Among("tu", -1, 1),
120     new Among("atu", 99, 1),
121     new Among("aldatu", 100, 1),
122     new Among("tatu", 100, 1),
123     new Among("baditu", 99, 5),
124     new Among("ez", -1, 1),
125     new Among("errez", 104, 1),
126     new Among("tzez", 104, 1),
127     new Among("gaitz", -1, 1),
128     new Among("kaitz", -1, 1)
129   };
130 
131   private static final Among a_1[] = {
132     new Among("ada", -1, 1),
133     new Among("kada", 0, 1),
134     new Among("anda", -1, 1),
135     new Among("denda", -1, 1),
136     new Among("gabea", -1, 1),
137     new Among("kabea", -1, 1),
138     new Among("aldea", -1, 1),
139     new Among("kaldea", 6, 1),
140     new Among("taldea", 6, 1),
141     new Among("ordea", -1, 1),
142     new Among("zalea", -1, 1),
143     new Among("tzalea", 10, 1),
144     new Among("gilea", -1, 1),
145     new Among("emea", -1, 1),
146     new Among("kumea", -1, 1),
147     new Among("nea", -1, 1),
148     new Among("enea", 15, 1),
149     new Among("zionea", 15, 1),
150     new Among("unea", 15, 1),
151     new Among("gunea", 18, 1),
152     new Among("pea", -1, 1),
153     new Among("aurrea", -1, 1),
154     new Among("tea", -1, 1),
155     new Among("kotea", 22, 1),
156     new Among("artea", 22, 1),
157     new Among("ostea", 22, 1),
158     new Among("etxea", -1, 1),
159     new Among("ga", -1, 1),
160     new Among("anga", 27, 1),
161     new Among("gaia", -1, 1),
162     new Among("aldia", -1, 1),
163     new Among("taldia", 30, 1),
164     new Among("handia", -1, 1),
165     new Among("mendia", -1, 1),
166     new Among("geia", -1, 1),
167     new Among("egia", -1, 1),
168     new Among("degia", 35, 1),
169     new Among("tegia", 35, 1),
170     new Among("nahia", -1, 1),
171     new Among("ohia", -1, 1),
172     new Among("kia", -1, 1),
173     new Among("tokia", 40, 1),
174     new Among("oia", -1, 1),
175     new Among("koia", 42, 1),
176     new Among("aria", -1, 1),
177     new Among("karia", 44, 1),
178     new Among("laria", 44, 1),
179     new Among("taria", 44, 1),
180     new Among("eria", -1, 1),
181     new Among("keria", 48, 1),
182     new Among("teria", 48, 1),
183     new Among("garria", -1, 2),
184     new Among("larria", -1, 1),
185     new Among("kirria", -1, 1),
186     new Among("duria", -1, 1),
187     new Among("asia", -1, 1),
188     new Among("tia", -1, 1),
189     new Among("ezia", -1, 1),
190     new Among("bizia", -1, 1),
191     new Among("ontzia", -1, 1),
192     new Among("ka", -1, 1),
193     new Among("joka", 60, 3),
194     new Among("aurka", 60, 10),
195     new Among("ska", 60, 1),
196     new Among("xka", 60, 1),
197     new Among("zka", 60, 1),
198     new Among("gibela", -1, 1),
199     new Among("gela", -1, 1),
200     new Among("kaila", -1, 1),
201     new Among("skila", -1, 1),
202     new Among("tila", -1, 1),
203     new Among("ola", -1, 1),
204     new Among("na", -1, 1),
205     new Among("kana", 72, 1),
206     new Among("ena", 72, 1),
207     new Among("garrena", 74, 1),
208     new Among("gerrena", 74, 1),
209     new Among("urrena", 74, 1),
210     new Among("zaina", 72, 1),
211     new Among("tzaina", 78, 1),
212     new Among("kina", 72, 1),
213     new Among("mina", 72, 1),
214     new Among("garna", 72, 1),
215     new Among("una", 72, 1),
216     new Among("duna", 83, 1),
217     new Among("asuna", 83, 1),
218     new Among("tasuna", 85, 1),
219     new Among("ondoa", -1, 1),
220     new Among("kondoa", 87, 1),
221     new Among("ngoa", -1, 1),
222     new Among("zioa", -1, 1),
223     new Among("koa", -1, 1),
224     new Among("takoa", 91, 1),
225     new Among("zkoa", 91, 1),
226     new Among("noa", -1, 1),
227     new Among("zinoa", 94, 1),
228     new Among("aroa", -1, 1),
229     new Among("taroa", 96, 1),
230     new Among("zaroa", 96, 1),
231     new Among("eroa", -1, 1),
232     new Among("oroa", -1, 1),
233     new Among("osoa", -1, 1),
234     new Among("toa", -1, 1),
235     new Among("ttoa", 102, 1),
236     new Among("ztoa", 102, 1),
237     new Among("txoa", -1, 1),
238     new Among("tzoa", -1, 1),
239     new Among("\u00F1oa", -1, 1),
240     new Among("ra", -1, 1),
241     new Among("ara", 108, 1),
242     new Among("dara", 109, 1),
243     new Among("liara", 109, 1),
244     new Among("tiara", 109, 1),
245     new Among("tara", 109, 1),
246     new Among("etara", 113, 1),
247     new Among("tzara", 109, 1),
248     new Among("bera", 108, 1),
249     new Among("kera", 108, 1),
250     new Among("pera", 108, 1),
251     new Among("ora", 108, 2),
252     new Among("tzarra", 108, 1),
253     new Among("korra", 108, 1),
254     new Among("tra", 108, 1),
255     new Among("sa", -1, 1),
256     new Among("osa", 123, 1),
257     new Among("ta", -1, 1),
258     new Among("eta", 125, 1),
259     new Among("keta", 126, 1),
260     new Among("sta", 125, 1),
261     new Among("dua", -1, 1),
262     new Among("mendua", 129, 1),
263     new Among("ordua", 129, 1),
264     new Among("lekua", -1, 1),
265     new Among("burua", -1, 1),
266     new Among("durua", -1, 1),
267     new Among("tsua", -1, 1),
268     new Among("tua", -1, 1),
269     new Among("mentua", 136, 1),
270     new Among("estua", 136, 1),
271     new Among("txua", -1, 1),
272     new Among("zua", -1, 1),
273     new Among("tzua", 140, 1),
274     new Among("za", -1, 1),
275     new Among("eza", 142, 1),
276     new Among("eroza", 142, 1),
277     new Among("tza", 142, 2),
278     new Among("koitza", 145, 1),
279     new Among("antza", 145, 1),
280     new Among("gintza", 145, 1),
281     new Among("kintza", 145, 1),
282     new Among("kuntza", 145, 1),
283     new Among("gabe", -1, 1),
284     new Among("kabe", -1, 1),
285     new Among("kide", -1, 1),
286     new Among("alde", -1, 1),
287     new Among("kalde", 154, 1),
288     new Among("talde", 154, 1),
289     new Among("orde", -1, 1),
290     new Among("ge", -1, 1),
291     new Among("zale", -1, 1),
292     new Among("tzale", 159, 1),
293     new Among("gile", -1, 1),
294     new Among("eme", -1, 1),
295     new Among("kume", -1, 1),
296     new Among("ne", -1, 1),
297     new Among("zione", 164, 1),
298     new Among("une", 164, 1),
299     new Among("gune", 166, 1),
300     new Among("pe", -1, 1),
301     new Among("aurre", -1, 1),
302     new Among("te", -1, 1),
303     new Among("kote", 170, 1),
304     new Among("arte", 170, 1),
305     new Among("oste", 170, 1),
306     new Among("etxe", -1, 1),
307     new Among("gai", -1, 1),
308     new Among("di", -1, 1),
309     new Among("aldi", 176, 1),
310     new Among("taldi", 177, 1),
311     new Among("geldi", 176, 8),
312     new Among("handi", 176, 1),
313     new Among("mendi", 176, 1),
314     new Among("gei", -1, 1),
315     new Among("egi", -1, 1),
316     new Among("degi", 183, 1),
317     new Among("tegi", 183, 1),
318     new Among("nahi", -1, 1),
319     new Among("ohi", -1, 1),
320     new Among("ki", -1, 1),
321     new Among("toki", 188, 1),
322     new Among("oi", -1, 1),
323     new Among("goi", 190, 1),
324     new Among("koi", 190, 1),
325     new Among("ari", -1, 1),
326     new Among("kari", 193, 1),
327     new Among("lari", 193, 1),
328     new Among("tari", 193, 1),
329     new Among("garri", -1, 2),
330     new Among("larri", -1, 1),
331     new Among("kirri", -1, 1),
332     new Among("duri", -1, 1),
333     new Among("asi", -1, 1),
334     new Among("ti", -1, 1),
335     new Among("ontzi", -1, 1),
336     new Among("\u00F1i", -1, 1),
337     new Among("ak", -1, 1),
338     new Among("ek", -1, 1),
339     new Among("tarik", -1, 1),
340     new Among("gibel", -1, 1),
341     new Among("ail", -1, 1),
342     new Among("kail", 209, 1),
343     new Among("kan", -1, 1),
344     new Among("tan", -1, 1),
345     new Among("etan", 212, 1),
346     new Among("en", -1, 4),
347     new Among("ren", 214, 2),
348     new Among("garren", 215, 1),
349     new Among("gerren", 215, 1),
350     new Among("urren", 215, 1),
351     new Among("ten", 214, 4),
352     new Among("tzen", 214, 4),
353     new Among("zain", -1, 1),
354     new Among("tzain", 221, 1),
355     new Among("kin", -1, 1),
356     new Among("min", -1, 1),
357     new Among("dun", -1, 1),
358     new Among("asun", -1, 1),
359     new Among("tasun", 226, 1),
360     new Among("aizun", -1, 1),
361     new Among("ondo", -1, 1),
362     new Among("kondo", 229, 1),
363     new Among("go", -1, 1),
364     new Among("ngo", 231, 1),
365     new Among("zio", -1, 1),
366     new Among("ko", -1, 1),
367     new Among("trako", 234, 5),
368     new Among("tako", 234, 1),
369     new Among("etako", 236, 1),
370     new Among("eko", 234, 1),
371     new Among("tariko", 234, 1),
372     new Among("sko", 234, 1),
373     new Among("tuko", 234, 1),
374     new Among("minutuko", 241, 6),
375     new Among("zko", 234, 1),
376     new Among("no", -1, 1),
377     new Among("zino", 244, 1),
378     new Among("ro", -1, 1),
379     new Among("aro", 246, 1),
380     new Among("igaro", 247, 9),
381     new Among("taro", 247, 1),
382     new Among("zaro", 247, 1),
383     new Among("ero", 246, 1),
384     new Among("giro", 246, 1),
385     new Among("oro", 246, 1),
386     new Among("oso", -1, 1),
387     new Among("to", -1, 1),
388     new Among("tto", 255, 1),
389     new Among("zto", 255, 1),
390     new Among("txo", -1, 1),
391     new Among("tzo", -1, 1),
392     new Among("gintzo", 259, 1),
393     new Among("\u00F1o", -1, 1),
394     new Among("zp", -1, 1),
395     new Among("ar", -1, 1),
396     new Among("dar", 263, 1),
397     new Among("behar", 263, 1),
398     new Among("zehar", 263, 7),
399     new Among("liar", 263, 1),
400     new Among("tiar", 263, 1),
401     new Among("tar", 263, 1),
402     new Among("tzar", 263, 1),
403     new Among("or", -1, 2),
404     new Among("kor", 271, 1),
405     new Among("os", -1, 1),
406     new Among("ket", -1, 1),
407     new Among("du", -1, 1),
408     new Among("mendu", 275, 1),
409     new Among("ordu", 275, 1),
410     new Among("leku", -1, 1),
411     new Among("buru", -1, 2),
412     new Among("duru", -1, 1),
413     new Among("tsu", -1, 1),
414     new Among("tu", -1, 1),
415     new Among("tatu", 282, 4),
416     new Among("mentu", 282, 1),
417     new Among("estu", 282, 1),
418     new Among("txu", -1, 1),
419     new Among("zu", -1, 1),
420     new Among("tzu", 287, 1),
421     new Among("gintzu", 288, 1),
422     new Among("z", -1, 1),
423     new Among("ez", 290, 1),
424     new Among("eroz", 290, 1),
425     new Among("tz", 290, 1),
426     new Among("koitz", 293, 1)
427   };
428 
429   private static final Among a_2[] = {
430     new Among("zlea", -1, 2),
431     new Among("keria", -1, 1),
432     new Among("la", -1, 1),
433     new Among("era", -1, 1),
434     new Among("dade", -1, 1),
435     new Among("tade", -1, 1),
436     new Among("date", -1, 1),
437     new Among("tate", -1, 1),
438     new Among("gi", -1, 1),
439     new Among("ki", -1, 1),
440     new Among("ik", -1, 1),
441     new Among("lanik", 10, 1),
442     new Among("rik", 10, 1),
443     new Among("larik", 12, 1),
444     new Among("ztik", 10, 1),
445     new Among("go", -1, 1),
446     new Among("ro", -1, 1),
447     new Among("ero", 16, 1),
448     new Among("to", -1, 1)
449   };
450 
451   private static final char g_v[] = {17, 65, 16};
452 
453   private int I_p2;
454   private int I_p1;
455   private int I_pV;
456 
r_mark_regions()457   private boolean r_mark_regions() {
458     I_pV = limit;
459     I_p1 = limit;
460     I_p2 = limit;
461     int v_1 = cursor;
462     lab0:
463     {
464       lab1:
465       {
466         int v_2 = cursor;
467         lab2:
468         {
469           if (!(in_grouping(g_v, 97, 117))) {
470             break lab2;
471           }
472           lab3:
473           {
474             int v_3 = cursor;
475             lab4:
476             {
477               if (!(out_grouping(g_v, 97, 117))) {
478                 break lab4;
479               }
480               golab5:
481               while (true) {
482                 lab6:
483                 {
484                   if (!(in_grouping(g_v, 97, 117))) {
485                     break lab6;
486                   }
487                   break golab5;
488                 }
489                 if (cursor >= limit) {
490                   break lab4;
491                 }
492                 cursor++;
493               }
494               break lab3;
495             }
496             cursor = v_3;
497             if (!(in_grouping(g_v, 97, 117))) {
498               break lab2;
499             }
500             golab7:
501             while (true) {
502               lab8:
503               {
504                 if (!(out_grouping(g_v, 97, 117))) {
505                   break lab8;
506                 }
507                 break golab7;
508               }
509               if (cursor >= limit) {
510                 break lab2;
511               }
512               cursor++;
513             }
514           }
515           break lab1;
516         }
517         cursor = v_2;
518         if (!(out_grouping(g_v, 97, 117))) {
519           break lab0;
520         }
521         lab9:
522         {
523           int v_6 = cursor;
524           lab10:
525           {
526             if (!(out_grouping(g_v, 97, 117))) {
527               break lab10;
528             }
529             golab11:
530             while (true) {
531               lab12:
532               {
533                 if (!(in_grouping(g_v, 97, 117))) {
534                   break lab12;
535                 }
536                 break golab11;
537               }
538               if (cursor >= limit) {
539                 break lab10;
540               }
541               cursor++;
542             }
543             break lab9;
544           }
545           cursor = v_6;
546           if (!(in_grouping(g_v, 97, 117))) {
547             break lab0;
548           }
549           if (cursor >= limit) {
550             break lab0;
551           }
552           cursor++;
553         }
554       }
555       I_pV = cursor;
556     }
557     cursor = v_1;
558     int v_8 = cursor;
559     lab13:
560     {
561       golab14:
562       while (true) {
563         lab15:
564         {
565           if (!(in_grouping(g_v, 97, 117))) {
566             break lab15;
567           }
568           break golab14;
569         }
570         if (cursor >= limit) {
571           break lab13;
572         }
573         cursor++;
574       }
575       golab16:
576       while (true) {
577         lab17:
578         {
579           if (!(out_grouping(g_v, 97, 117))) {
580             break lab17;
581           }
582           break golab16;
583         }
584         if (cursor >= limit) {
585           break lab13;
586         }
587         cursor++;
588       }
589       I_p1 = cursor;
590       golab18:
591       while (true) {
592         lab19:
593         {
594           if (!(in_grouping(g_v, 97, 117))) {
595             break lab19;
596           }
597           break golab18;
598         }
599         if (cursor >= limit) {
600           break lab13;
601         }
602         cursor++;
603       }
604       golab20:
605       while (true) {
606         lab21:
607         {
608           if (!(out_grouping(g_v, 97, 117))) {
609             break lab21;
610           }
611           break golab20;
612         }
613         if (cursor >= limit) {
614           break lab13;
615         }
616         cursor++;
617       }
618       I_p2 = cursor;
619     }
620     cursor = v_8;
621     return true;
622   }
623 
r_RV()624   private boolean r_RV() {
625     if (!(I_pV <= cursor)) {
626       return false;
627     }
628     return true;
629   }
630 
r_R2()631   private boolean r_R2() {
632     if (!(I_p2 <= cursor)) {
633       return false;
634     }
635     return true;
636   }
637 
r_R1()638   private boolean r_R1() {
639     if (!(I_p1 <= cursor)) {
640       return false;
641     }
642     return true;
643   }
644 
r_aditzak()645   private boolean r_aditzak() {
646     int among_var;
647     ket = cursor;
648     among_var = find_among_b(a_0);
649     if (among_var == 0) {
650       return false;
651     }
652     bra = cursor;
653     switch (among_var) {
654       case 1:
655         if (!r_RV()) {
656           return false;
657         }
658         slice_del();
659         break;
660       case 2:
661         if (!r_R2()) {
662           return false;
663         }
664         slice_del();
665         break;
666       case 3:
667         slice_from("atseden");
668         break;
669       case 4:
670         slice_from("arabera");
671         break;
672       case 5:
673         slice_from("baditu");
674         break;
675     }
676     return true;
677   }
678 
r_izenak()679   private boolean r_izenak() {
680     int among_var;
681     ket = cursor;
682     among_var = find_among_b(a_1);
683     if (among_var == 0) {
684       return false;
685     }
686     bra = cursor;
687     switch (among_var) {
688       case 1:
689         if (!r_RV()) {
690           return false;
691         }
692         slice_del();
693         break;
694       case 2:
695         if (!r_R2()) {
696           return false;
697         }
698         slice_del();
699         break;
700       case 3:
701         slice_from("jok");
702         break;
703       case 4:
704         if (!r_R1()) {
705           return false;
706         }
707         slice_del();
708         break;
709       case 5:
710         slice_from("tra");
711         break;
712       case 6:
713         slice_from("minutu");
714         break;
715       case 7:
716         slice_from("zehar");
717         break;
718       case 8:
719         slice_from("geldi");
720         break;
721       case 9:
722         slice_from("igaro");
723         break;
724       case 10:
725         slice_from("aurka");
726         break;
727     }
728     return true;
729   }
730 
r_adjetiboak()731   private boolean r_adjetiboak() {
732     int among_var;
733     ket = cursor;
734     among_var = find_among_b(a_2);
735     if (among_var == 0) {
736       return false;
737     }
738     bra = cursor;
739     switch (among_var) {
740       case 1:
741         if (!r_RV()) {
742           return false;
743         }
744         slice_del();
745         break;
746       case 2:
747         slice_from("z");
748         break;
749     }
750     return true;
751   }
752 
753   @Override
stem()754   public boolean stem() {
755     r_mark_regions();
756     limit_backward = cursor;
757     cursor = limit;
758     while (true) {
759       int v_2 = limit - cursor;
760       lab0:
761       {
762         if (!r_aditzak()) {
763           break lab0;
764         }
765         continue;
766       }
767       cursor = limit - v_2;
768       break;
769     }
770     while (true) {
771       int v_3 = limit - cursor;
772       lab1:
773       {
774         if (!r_izenak()) {
775           break lab1;
776         }
777         continue;
778       }
779       cursor = limit - v_3;
780       break;
781     }
782     int v_4 = limit - cursor;
783     r_adjetiboak();
784     cursor = limit - v_4;
785     cursor = limit_backward;
786     return true;
787   }
788 
789   @Override
equals(Object o)790   public boolean equals(Object o) {
791     return o instanceof BasqueStemmer;
792   }
793 
794   @Override
hashCode()795   public int hashCode() {
796     return BasqueStemmer.class.getName().hashCode();
797   }
798 }
799