| // Generated by Snowball 2.0.0 - https://snowballstem.org/ |
| |
| package org.tartarus.snowball.ext; |
| |
| import org.tartarus.snowball.Among; |
| |
| /** |
| * This class implements the stemming algorithm defined by a snowball script. |
| * <p> |
| * Generated by Snowball 2.0.0 - https://snowballstem.org/ |
| * </p> |
| */ |
| @SuppressWarnings("unused") |
| public class ArmenianStemmer extends org.tartarus.snowball.SnowballStemmer { |
| |
| private static final long serialVersionUID = 1L; |
| private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); |
| |
| private final static Among a_0[] = { |
| new Among("\u0580\u0578\u0580\u0564", -1, 1), |
| new Among("\u0565\u0580\u0578\u0580\u0564", 0, 1), |
| new Among("\u0561\u056C\u056B", -1, 1), |
| new Among("\u0561\u056F\u056B", -1, 1), |
| new Among("\u0578\u0580\u0561\u056F", -1, 1), |
| new Among("\u0565\u0572", -1, 1), |
| new Among("\u0561\u056F\u0561\u0576", -1, 1), |
| new Among("\u0561\u0580\u0561\u0576", -1, 1), |
| new Among("\u0565\u0576", -1, 1), |
| new Among("\u0565\u056F\u0565\u0576", 8, 1), |
| new Among("\u0565\u0580\u0565\u0576", 8, 1), |
| new Among("\u0578\u0580\u0567\u0576", -1, 1), |
| new Among("\u056B\u0576", -1, 1), |
| new Among("\u0563\u056B\u0576", 12, 1), |
| new Among("\u0578\u057E\u056B\u0576", 12, 1), |
| new Among("\u056C\u0561\u0575\u0576", -1, 1), |
| new Among("\u057E\u0578\u0582\u0576", -1, 1), |
| new Among("\u057A\u0565\u057D", -1, 1), |
| new Among("\u056B\u057E", -1, 1), |
| new Among("\u0561\u057F", -1, 1), |
| new Among("\u0561\u057E\u0565\u057F", -1, 1), |
| new Among("\u056F\u0578\u057F", -1, 1), |
| new Among("\u0562\u0561\u0580", -1, 1) |
| }; |
| |
| private final static Among a_1[] = { |
| new Among("\u0561", -1, 1), |
| new Among("\u0561\u0581\u0561", 0, 1), |
| new Among("\u0565\u0581\u0561", 0, 1), |
| new Among("\u057E\u0565", -1, 1), |
| new Among("\u0561\u0581\u0580\u056B", -1, 1), |
| new Among("\u0561\u0581\u056B", -1, 1), |
| new Among("\u0565\u0581\u056B", -1, 1), |
| new Among("\u057E\u0565\u0581\u056B", 6, 1), |
| new Among("\u0561\u056C", -1, 1), |
| new Among("\u0568\u0561\u056C", 8, 1), |
| new Among("\u0561\u0576\u0561\u056C", 8, 1), |
| new Among("\u0565\u0576\u0561\u056C", 8, 1), |
| new Among("\u0561\u0581\u0576\u0561\u056C", 8, 1), |
| new Among("\u0565\u056C", -1, 1), |
| new Among("\u0568\u0565\u056C", 13, 1), |
| new Among("\u0576\u0565\u056C", 13, 1), |
| new Among("\u0581\u0576\u0565\u056C", 15, 1), |
| new Among("\u0565\u0581\u0576\u0565\u056C", 16, 1), |
| new Among("\u0579\u0565\u056C", 13, 1), |
| new Among("\u057E\u0565\u056C", 13, 1), |
| new Among("\u0561\u0581\u057E\u0565\u056C", 19, 1), |
| new Among("\u0565\u0581\u057E\u0565\u056C", 19, 1), |
| new Among("\u057F\u0565\u056C", 13, 1), |
| new Among("\u0561\u057F\u0565\u056C", 22, 1), |
| new Among("\u0578\u057F\u0565\u056C", 22, 1), |
| new Among("\u056F\u0578\u057F\u0565\u056C", 24, 1), |
| new Among("\u057E\u0561\u056E", -1, 1), |
| new Among("\u0578\u0582\u0574", -1, 1), |
| new Among("\u057E\u0578\u0582\u0574", 27, 1), |
| new Among("\u0561\u0576", -1, 1), |
| new Among("\u0581\u0561\u0576", 29, 1), |
| new Among("\u0561\u0581\u0561\u0576", 30, 1), |
| new Among("\u0561\u0581\u0580\u056B\u0576", -1, 1), |
| new Among("\u0561\u0581\u056B\u0576", -1, 1), |
| new Among("\u0565\u0581\u056B\u0576", -1, 1), |
| new Among("\u057E\u0565\u0581\u056B\u0576", 34, 1), |
| new Among("\u0561\u056C\u056B\u057D", -1, 1), |
| new Among("\u0565\u056C\u056B\u057D", -1, 1), |
| new Among("\u0561\u057E", -1, 1), |
| new Among("\u0561\u0581\u0561\u057E", 38, 1), |
| new Among("\u0565\u0581\u0561\u057E", 38, 1), |
| new Among("\u0561\u056C\u0578\u057E", -1, 1), |
| new Among("\u0565\u056C\u0578\u057E", -1, 1), |
| new Among("\u0561\u0580", -1, 1), |
| new Among("\u0561\u0581\u0561\u0580", 43, 1), |
| new Among("\u0565\u0581\u0561\u0580", 43, 1), |
| new Among("\u0561\u0581\u0580\u056B\u0580", -1, 1), |
| new Among("\u0561\u0581\u056B\u0580", -1, 1), |
| new Among("\u0565\u0581\u056B\u0580", -1, 1), |
| new Among("\u057E\u0565\u0581\u056B\u0580", 48, 1), |
| new Among("\u0561\u0581", -1, 1), |
| new Among("\u0565\u0581", -1, 1), |
| new Among("\u0561\u0581\u0580\u0565\u0581", 51, 1), |
| new Among("\u0561\u056C\u0578\u0582\u0581", -1, 1), |
| new Among("\u0565\u056C\u0578\u0582\u0581", -1, 1), |
| new Among("\u0561\u056C\u0578\u0582", -1, 1), |
| new Among("\u0565\u056C\u0578\u0582", -1, 1), |
| new Among("\u0561\u0584", -1, 1), |
| new Among("\u0581\u0561\u0584", 57, 1), |
| new Among("\u0561\u0581\u0561\u0584", 58, 1), |
| new Among("\u0561\u0581\u0580\u056B\u0584", -1, 1), |
| new Among("\u0561\u0581\u056B\u0584", -1, 1), |
| new Among("\u0565\u0581\u056B\u0584", -1, 1), |
| new Among("\u057E\u0565\u0581\u056B\u0584", 62, 1), |
| new Among("\u0561\u0576\u0584", -1, 1), |
| new Among("\u0581\u0561\u0576\u0584", 64, 1), |
| new Among("\u0561\u0581\u0561\u0576\u0584", 65, 1), |
| new Among("\u0561\u0581\u0580\u056B\u0576\u0584", -1, 1), |
| new Among("\u0561\u0581\u056B\u0576\u0584", -1, 1), |
| new Among("\u0565\u0581\u056B\u0576\u0584", -1, 1), |
| new Among("\u057E\u0565\u0581\u056B\u0576\u0584", 69, 1) |
| }; |
| |
| private final static Among a_2[] = { |
| new Among("\u0578\u0580\u0564", -1, 1), |
| new Among("\u0578\u0582\u0575\u0569", -1, 1), |
| new Among("\u0578\u0582\u0570\u056B", -1, 1), |
| new Among("\u0581\u056B", -1, 1), |
| new Among("\u056B\u056C", -1, 1), |
| new Among("\u0561\u056F", -1, 1), |
| new Among("\u0575\u0561\u056F", 5, 1), |
| new Among("\u0561\u0576\u0561\u056F", 5, 1), |
| new Among("\u056B\u056F", -1, 1), |
| new Among("\u0578\u0582\u056F", -1, 1), |
| new Among("\u0561\u0576", -1, 1), |
| new Among("\u057A\u0561\u0576", 10, 1), |
| new Among("\u057D\u057F\u0561\u0576", 10, 1), |
| new Among("\u0561\u0580\u0561\u0576", 10, 1), |
| new Among("\u0565\u0572\u0567\u0576", -1, 1), |
| new Among("\u0575\u0578\u0582\u0576", -1, 1), |
| new Among("\u0578\u0582\u0569\u0575\u0578\u0582\u0576", 15, 1), |
| new Among("\u0561\u056E\u0578", -1, 1), |
| new Among("\u056B\u0579", -1, 1), |
| new Among("\u0578\u0582\u057D", -1, 1), |
| new Among("\u0578\u0582\u057D\u057F", -1, 1), |
| new Among("\u0563\u0561\u0580", -1, 1), |
| new Among("\u057E\u0578\u0580", -1, 1), |
| new Among("\u0561\u057E\u0578\u0580", 22, 1), |
| new Among("\u0578\u0581", -1, 1), |
| new Among("\u0561\u0576\u0585\u0581", -1, 1), |
| new Among("\u0578\u0582", -1, 1), |
| new Among("\u0584", -1, 1), |
| new Among("\u0579\u0565\u0584", 27, 1), |
| new Among("\u056B\u0584", 27, 1), |
| new Among("\u0561\u056C\u056B\u0584", 29, 1), |
| new Among("\u0561\u0576\u056B\u0584", 29, 1), |
| new Among("\u057E\u0561\u056E\u0584", 27, 1), |
| new Among("\u0578\u0582\u0575\u0584", 27, 1), |
| new Among("\u0565\u0576\u0584", 27, 1), |
| new Among("\u0578\u0576\u0584", 27, 1), |
| new Among("\u0578\u0582\u0576\u0584", 27, 1), |
| new Among("\u0574\u0578\u0582\u0576\u0584", 36, 1), |
| new Among("\u056B\u0579\u0584", 27, 1), |
| new Among("\u0561\u0580\u0584", 27, 1) |
| }; |
| |
| private final static Among a_3[] = { |
| new Among("\u057D\u0561", -1, 1), |
| new Among("\u057E\u0561", -1, 1), |
| new Among("\u0561\u0574\u0562", -1, 1), |
| new Among("\u0564", -1, 1), |
| new Among("\u0561\u0576\u0564", 3, 1), |
| new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u0564", 4, 1), |
| new Among("\u057E\u0561\u0576\u0564", 4, 1), |
| new Among("\u0578\u057B\u0564", 3, 1), |
| new Among("\u0565\u0580\u0564", 3, 1), |
| new Among("\u0576\u0565\u0580\u0564", 8, 1), |
| new Among("\u0578\u0582\u0564", 3, 1), |
| new Among("\u0568", -1, 1), |
| new Among("\u0561\u0576\u0568", 11, 1), |
| new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u0568", 12, 1), |
| new Among("\u057E\u0561\u0576\u0568", 12, 1), |
| new Among("\u0578\u057B\u0568", 11, 1), |
| new Among("\u0565\u0580\u0568", 11, 1), |
| new Among("\u0576\u0565\u0580\u0568", 16, 1), |
| new Among("\u056B", -1, 1), |
| new Among("\u057E\u056B", 18, 1), |
| new Among("\u0565\u0580\u056B", 18, 1), |
| new Among("\u0576\u0565\u0580\u056B", 20, 1), |
| new Among("\u0561\u0576\u0578\u0582\u0574", -1, 1), |
| new Among("\u0565\u0580\u0578\u0582\u0574", -1, 1), |
| new Among("\u0576\u0565\u0580\u0578\u0582\u0574", 23, 1), |
| new Among("\u0576", -1, 1), |
| new Among("\u0561\u0576", 25, 1), |
| new Among("\u0578\u0582\u0569\u0575\u0561\u0576", 26, 1), |
| new Among("\u057E\u0561\u0576", 26, 1), |
| new Among("\u056B\u0576", 25, 1), |
| new Among("\u0565\u0580\u056B\u0576", 29, 1), |
| new Among("\u0576\u0565\u0580\u056B\u0576", 30, 1), |
| new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u0576", 25, 1), |
| new Among("\u0565\u0580\u0576", 25, 1), |
| new Among("\u0576\u0565\u0580\u0576", 33, 1), |
| new Among("\u0578\u0582\u0576", 25, 1), |
| new Among("\u0578\u057B", -1, 1), |
| new Among("\u0578\u0582\u0569\u0575\u0561\u0576\u057D", -1, 1), |
| new Among("\u057E\u0561\u0576\u057D", -1, 1), |
| new Among("\u0578\u057B\u057D", -1, 1), |
| new Among("\u0578\u057E", -1, 1), |
| new Among("\u0561\u0576\u0578\u057E", 40, 1), |
| new Among("\u057E\u0578\u057E", 40, 1), |
| new Among("\u0565\u0580\u0578\u057E", 40, 1), |
| new Among("\u0576\u0565\u0580\u0578\u057E", 43, 1), |
| new Among("\u0565\u0580", -1, 1), |
| new Among("\u0576\u0565\u0580", 45, 1), |
| new Among("\u0581", -1, 1), |
| new Among("\u056B\u0581", 47, 1), |
| new Among("\u057E\u0561\u0576\u056B\u0581", 48, 1), |
| new Among("\u0578\u057B\u056B\u0581", 48, 1), |
| new Among("\u057E\u056B\u0581", 48, 1), |
| new Among("\u0565\u0580\u056B\u0581", 48, 1), |
| new Among("\u0576\u0565\u0580\u056B\u0581", 52, 1), |
| new Among("\u0581\u056B\u0581", 48, 1), |
| new Among("\u0578\u0581", 47, 1), |
| new Among("\u0578\u0582\u0581", 47, 1) |
| }; |
| |
| private static final char g_v[] = {209, 4, 128, 0, 18 }; |
| |
| private int I_p2; |
| private int I_pV; |
| |
| |
| private boolean r_mark_regions() { |
| I_pV = limit; |
| I_p2 = limit; |
| int v_1 = cursor; |
| lab0: { |
| golab1: while(true) |
| { |
| lab2: { |
| if (!(in_grouping(g_v, 1377, 1413))) |
| { |
| break lab2; |
| } |
| break golab1; |
| } |
| if (cursor >= limit) |
| { |
| break lab0; |
| } |
| cursor++; |
| } |
| I_pV = cursor; |
| golab3: while(true) |
| { |
| lab4: { |
| if (!(out_grouping(g_v, 1377, 1413))) |
| { |
| break lab4; |
| } |
| break golab3; |
| } |
| if (cursor >= limit) |
| { |
| break lab0; |
| } |
| cursor++; |
| } |
| golab5: while(true) |
| { |
| lab6: { |
| if (!(in_grouping(g_v, 1377, 1413))) |
| { |
| break lab6; |
| } |
| break golab5; |
| } |
| if (cursor >= limit) |
| { |
| break lab0; |
| } |
| cursor++; |
| } |
| golab7: while(true) |
| { |
| lab8: { |
| if (!(out_grouping(g_v, 1377, 1413))) |
| { |
| break lab8; |
| } |
| break golab7; |
| } |
| if (cursor >= limit) |
| { |
| break lab0; |
| } |
| cursor++; |
| } |
| I_p2 = cursor; |
| } |
| cursor = v_1; |
| return true; |
| } |
| |
| private boolean r_R2() { |
| if (!(I_p2 <= cursor)) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private boolean r_adjective() { |
| ket = cursor; |
| if (find_among_b(a_0) == 0) |
| { |
| return false; |
| } |
| bra = cursor; |
| slice_del(); |
| return true; |
| } |
| |
| private boolean r_verb() { |
| ket = cursor; |
| if (find_among_b(a_1) == 0) |
| { |
| return false; |
| } |
| bra = cursor; |
| slice_del(); |
| return true; |
| } |
| |
| private boolean r_noun() { |
| ket = cursor; |
| if (find_among_b(a_2) == 0) |
| { |
| return false; |
| } |
| bra = cursor; |
| slice_del(); |
| return true; |
| } |
| |
| private boolean r_ending() { |
| ket = cursor; |
| if (find_among_b(a_3) == 0) |
| { |
| return false; |
| } |
| bra = cursor; |
| if (!r_R2()) |
| { |
| return false; |
| } |
| slice_del(); |
| return true; |
| } |
| |
| public boolean stem() { |
| r_mark_regions(); |
| limit_backward = cursor; |
| cursor = limit; |
| if (cursor < I_pV) |
| { |
| return false; |
| } |
| int v_3 = limit_backward; |
| limit_backward = I_pV; |
| int v_4 = limit - cursor; |
| r_ending(); |
| cursor = limit - v_4; |
| int v_5 = limit - cursor; |
| r_verb(); |
| cursor = limit - v_5; |
| int v_6 = limit - cursor; |
| r_adjective(); |
| cursor = limit - v_6; |
| int v_7 = limit - cursor; |
| r_noun(); |
| cursor = limit - v_7; |
| limit_backward = v_3; |
| cursor = limit_backward; |
| return true; |
| } |
| |
| @Override |
| public boolean equals( Object o ) { |
| return o instanceof ArmenianStemmer; |
| } |
| |
| @Override |
| public int hashCode() { |
| return ArmenianStemmer.class.getName().hashCode(); |
| } |
| |
| |
| |
| } |
| |