xref: /Lucene/lucene/analysis/common/src/java/org/tartarus/snowball/ext/HindiStemmer.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 HindiStemmer 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("\u0906\u0901", -1, -1),
21     new Among("\u093E\u0901", -1, -1),
22     new Among("\u0907\u092F\u093E\u0901", 1, -1),
23     new Among("\u0906\u0907\u092F\u093E\u0901", 2, -1),
24     new Among("\u093E\u0907\u092F\u093E\u0901", 2, -1),
25     new Among("\u093F\u092F\u093E\u0901", 1, -1),
26     new Among("\u0906\u0902", -1, -1),
27     new Among("\u0909\u0906\u0902", 6, -1),
28     new Among("\u0941\u0906\u0902", 6, -1),
29     new Among("\u0908\u0902", -1, -1),
30     new Among("\u0906\u0908\u0902", 9, -1),
31     new Among("\u093E\u0908\u0902", 9, -1),
32     new Among("\u090F\u0902", -1, -1),
33     new Among("\u0906\u090F\u0902", 12, -1),
34     new Among("\u0909\u090F\u0902", 12, -1),
35     new Among("\u093E\u090F\u0902", 12, -1),
36     new Among("\u0924\u093E\u090F\u0902", 15, -1, "r_CONSONANT", methodObject),
37     new Among("\u0905\u0924\u093E\u090F\u0902", 16, -1),
38     new Among("\u0928\u093E\u090F\u0902", 15, -1, "r_CONSONANT", methodObject),
39     new Among("\u0905\u0928\u093E\u090F\u0902", 18, -1),
40     new Among("\u0941\u090F\u0902", 12, -1),
41     new Among("\u0913\u0902", -1, -1),
42     new Among("\u0906\u0913\u0902", 21, -1),
43     new Among("\u0909\u0913\u0902", 21, -1),
44     new Among("\u093E\u0913\u0902", 21, -1),
45     new Among("\u0924\u093E\u0913\u0902", 24, -1, "r_CONSONANT", methodObject),
46     new Among("\u0905\u0924\u093E\u0913\u0902", 25, -1),
47     new Among("\u0928\u093E\u0913\u0902", 24, -1, "r_CONSONANT", methodObject),
48     new Among("\u0905\u0928\u093E\u0913\u0902", 27, -1),
49     new Among("\u0941\u0913\u0902", 21, -1),
50     new Among("\u093E\u0902", -1, -1),
51     new Among("\u0907\u092F\u093E\u0902", 30, -1),
52     new Among("\u0906\u0907\u092F\u093E\u0902", 31, -1),
53     new Among("\u093E\u0907\u092F\u093E\u0902", 31, -1),
54     new Among("\u093F\u092F\u093E\u0902", 30, -1),
55     new Among("\u0940\u0902", -1, -1),
56     new Among("\u0924\u0940\u0902", 35, -1, "r_CONSONANT", methodObject),
57     new Among("\u0905\u0924\u0940\u0902", 36, -1),
58     new Among("\u0906\u0924\u0940\u0902", 36, -1),
59     new Among("\u093E\u0924\u0940\u0902", 36, -1),
60     new Among("\u0947\u0902", -1, -1),
61     new Among("\u094B\u0902", -1, -1),
62     new Among("\u0907\u092F\u094B\u0902", 41, -1),
63     new Among("\u0906\u0907\u092F\u094B\u0902", 42, -1),
64     new Among("\u093E\u0907\u092F\u094B\u0902", 42, -1),
65     new Among("\u093F\u092F\u094B\u0902", 41, -1),
66     new Among("\u0905", -1, -1),
67     new Among("\u0906", -1, -1),
68     new Among("\u0907", -1, -1),
69     new Among("\u0908", -1, -1),
70     new Among("\u0906\u0908", 49, -1),
71     new Among("\u093E\u0908", 49, -1),
72     new Among("\u0909", -1, -1),
73     new Among("\u090A", -1, -1),
74     new Among("\u090F", -1, -1),
75     new Among("\u0906\u090F", 54, -1),
76     new Among("\u0907\u090F", 54, -1),
77     new Among("\u0906\u0907\u090F", 56, -1),
78     new Among("\u093E\u0907\u090F", 56, -1),
79     new Among("\u093E\u090F", 54, -1),
80     new Among("\u093F\u090F", 54, -1),
81     new Among("\u0913", -1, -1),
82     new Among("\u0906\u0913", 61, -1),
83     new Among("\u093E\u0913", 61, -1),
84     new Among("\u0915\u0930", -1, -1, "r_CONSONANT", methodObject),
85     new Among("\u0905\u0915\u0930", 64, -1),
86     new Among("\u0906\u0915\u0930", 64, -1),
87     new Among("\u093E\u0915\u0930", 64, -1),
88     new Among("\u093E", -1, -1),
89     new Among("\u090A\u0902\u0917\u093E", 68, -1),
90     new Among("\u0906\u090A\u0902\u0917\u093E", 69, -1),
91     new Among("\u093E\u090A\u0902\u0917\u093E", 69, -1),
92     new Among("\u0942\u0902\u0917\u093E", 68, -1),
93     new Among("\u090F\u0917\u093E", 68, -1),
94     new Among("\u0906\u090F\u0917\u093E", 73, -1),
95     new Among("\u093E\u090F\u0917\u093E", 73, -1),
96     new Among("\u0947\u0917\u093E", 68, -1),
97     new Among("\u0924\u093E", 68, -1, "r_CONSONANT", methodObject),
98     new Among("\u0905\u0924\u093E", 77, -1),
99     new Among("\u0906\u0924\u093E", 77, -1),
100     new Among("\u093E\u0924\u093E", 77, -1),
101     new Among("\u0928\u093E", 68, -1, "r_CONSONANT", methodObject),
102     new Among("\u0905\u0928\u093E", 81, -1),
103     new Among("\u0906\u0928\u093E", 81, -1),
104     new Among("\u093E\u0928\u093E", 81, -1),
105     new Among("\u0906\u092F\u093E", 68, -1),
106     new Among("\u093E\u092F\u093E", 68, -1),
107     new Among("\u093F", -1, -1),
108     new Among("\u0940", -1, -1),
109     new Among("\u090A\u0902\u0917\u0940", 88, -1),
110     new Among("\u0906\u090A\u0902\u0917\u0940", 89, -1),
111     new Among("\u093E\u090A\u0902\u0917\u0940", 89, -1),
112     new Among("\u090F\u0902\u0917\u0940", 88, -1),
113     new Among("\u0906\u090F\u0902\u0917\u0940", 92, -1),
114     new Among("\u093E\u090F\u0902\u0917\u0940", 92, -1),
115     new Among("\u0942\u0902\u0917\u0940", 88, -1),
116     new Among("\u0947\u0902\u0917\u0940", 88, -1),
117     new Among("\u090F\u0917\u0940", 88, -1),
118     new Among("\u0906\u090F\u0917\u0940", 97, -1),
119     new Among("\u093E\u090F\u0917\u0940", 97, -1),
120     new Among("\u0913\u0917\u0940", 88, -1),
121     new Among("\u0906\u0913\u0917\u0940", 100, -1),
122     new Among("\u093E\u0913\u0917\u0940", 100, -1),
123     new Among("\u0947\u0917\u0940", 88, -1),
124     new Among("\u094B\u0917\u0940", 88, -1),
125     new Among("\u0924\u0940", 88, -1, "r_CONSONANT", methodObject),
126     new Among("\u0905\u0924\u0940", 105, -1),
127     new Among("\u0906\u0924\u0940", 105, -1),
128     new Among("\u093E\u0924\u0940", 105, -1),
129     new Among("\u0928\u0940", 88, -1, "r_CONSONANT", methodObject),
130     new Among("\u0905\u0928\u0940", 109, -1),
131     new Among("\u0941", -1, -1),
132     new Among("\u0942", -1, -1),
133     new Among("\u0947", -1, -1),
134     new Among("\u090F\u0902\u0917\u0947", 113, -1),
135     new Among("\u0906\u090F\u0902\u0917\u0947", 114, -1),
136     new Among("\u093E\u090F\u0902\u0917\u0947", 114, -1),
137     new Among("\u0947\u0902\u0917\u0947", 113, -1),
138     new Among("\u0913\u0917\u0947", 113, -1),
139     new Among("\u0906\u0913\u0917\u0947", 118, -1),
140     new Among("\u093E\u0913\u0917\u0947", 118, -1),
141     new Among("\u094B\u0917\u0947", 113, -1),
142     new Among("\u0924\u0947", 113, -1, "r_CONSONANT", methodObject),
143     new Among("\u0905\u0924\u0947", 122, -1),
144     new Among("\u0906\u0924\u0947", 122, -1),
145     new Among("\u093E\u0924\u0947", 122, -1),
146     new Among("\u0928\u0947", 113, -1, "r_CONSONANT", methodObject),
147     new Among("\u0905\u0928\u0947", 126, -1),
148     new Among("\u0906\u0928\u0947", 126, -1),
149     new Among("\u093E\u0928\u0947", 126, -1),
150     new Among("\u094B", -1, -1),
151     new Among("\u094D", -1, -1)
152   };
153 
154   private static final char g_consonant[] = {255, 255, 255, 255, 159, 0, 0, 0, 248, 7};
155 
156   private int I_p;
157 
r_CONSONANT()158   public boolean r_CONSONANT() {
159     if (!(in_grouping_b(g_consonant, 2325, 2399))) {
160       return false;
161     }
162     return true;
163   }
164 
165   @Override
stem()166   public boolean stem() {
167     int v_1 = cursor;
168     if (cursor >= limit) {
169       return false;
170     }
171     cursor++;
172     I_p = cursor;
173     cursor = v_1;
174     limit_backward = cursor;
175     cursor = limit;
176     if (cursor < I_p) {
177       return false;
178     }
179     int v_3 = limit_backward;
180     limit_backward = I_p;
181     ket = cursor;
182     if (find_among_b(a_0) == 0) {
183       limit_backward = v_3;
184       return false;
185     }
186     bra = cursor;
187     limit_backward = v_3;
188     slice_del();
189     cursor = limit_backward;
190     return true;
191   }
192 
193   @Override
equals(Object o)194   public boolean equals(Object o) {
195     return o instanceof HindiStemmer;
196   }
197 
198   @Override
hashCode()199   public int hashCode() {
200     return HindiStemmer.class.getName().hashCode();
201   }
202 }
203