UNPKG

node-nlp

Version:

Library for NLU (Natural Language Understanding) done in Node.js

1,296 lines (1,266 loc) 31.7 kB
/* * Copyright (c) AXA Shared Services Spain S.A. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ const BaseStemmer = require('./base-stemmer'); const Among = require('./among'); /** * This class was automatically generated by a Snowball to JSX compiler * It implements the stemming algorithm defined by a snowball script. */ class ItalianStemmer extends BaseStemmer { constructor(tokenizer) { super(tokenizer); this.I_p2 = 0; this.I_p1 = 0; this.I_pV = 0; } copy_from(other) { this.I_p2 = other.I_p2; this.I_p1 = other.I_p1; this.I_pV = other.I_pV; super.copy_from(other); } r_prelude() { let among_var; let v_1; let v_2; let v_3; let v_4; let v_5; // (, line 34 // test, line 35 v_1 = this.cursor; // repeat, line 35 replab0: while (true) { v_2 = this.cursor; let lab1 = true; lab1: while (lab1 == true) { lab1 = false; // (, line 35 // [, line 36 this.bra = this.cursor; // substring, line 36 among_var = this.find_among(ItalianStemmer.a_0, 7); if (among_var == 0) { break; } // ], line 36 this.ket = this.cursor; switch (among_var) { case 0: break lab1; case 1: // (, line 37 // <-, line 37 if (!this.slice_from('\u00E0')) { return false; } break; case 2: // (, line 38 // <-, line 38 if (!this.slice_from('\u00E8')) { return false; } break; case 3: // (, line 39 // <-, line 39 if (!this.slice_from('\u00EC')) { return false; } break; case 4: // (, line 40 // <-, line 40 if (!this.slice_from('\u00F2')) { return false; } break; case 5: // (, line 41 // <-, line 41 if (!this.slice_from('\u00F9')) { return false; } break; case 6: // (, line 42 // <-, line 42 if (!this.slice_from('qU')) { return false; } break; case 7: // (, line 43 // next, line 43 if (this.cursor >= this.limit) { break lab1; } this.cursor++; break; } continue replab0; } this.cursor = v_2; break; } this.cursor = v_1; // repeat, line 46 replab2: while (true) { v_3 = this.cursor; let lab3 = true; lab3: while (lab3 == true) { lab3 = false; // goto, line 46 golab4: while (true) { v_4 = this.cursor; let lab5 = true; lab5: while (lab5 == true) { lab5 = false; // (, line 46 if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } // [, line 47 this.bra = this.cursor; // or, line 47 let lab6 = true; lab6: while (lab6 == true) { lab6 = false; v_5 = this.cursor; let lab7 = true; while (lab7 == true) { lab7 = false; // (, line 47 // literal, line 47 if (!this.eq_s(1, 'u')) { break; } // ], line 47 this.ket = this.cursor; if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } // <-, line 47 if (!this.slice_from('U')) { return false; } break lab6; } this.cursor = v_5; // (, line 48 // literal, line 48 if (!this.eq_s(1, 'i')) { break lab5; } // ], line 48 this.ket = this.cursor; if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break lab5; } // <-, line 48 if (!this.slice_from('I')) { return false; } } this.cursor = v_4; break golab4; } this.cursor = v_4; if (this.cursor >= this.limit) { break lab3; } this.cursor++; } continue replab2; } this.cursor = v_3; break; } return true; } r_mark_regions() { let v_1; let v_2; let v_3; let v_6; let v_8; // (, line 52 this.I_pV = this.limit; this.I_p1 = this.limit; this.I_p2 = this.limit; // do, line 58 v_1 = this.cursor; let lab0 = true; lab0: while (lab0 == true) { lab0 = false; // (, line 58 // or, line 60 let lab1 = true; lab1: while (lab1 == true) { lab1 = false; v_2 = this.cursor; let lab2 = true; lab2: while (lab2 == true) { lab2 = false; // (, line 59 if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } // or, line 59 let lab3 = true; lab3: while (lab3 == true) { lab3 = false; v_3 = this.cursor; let lab4 = true; lab4: while (lab4 == true) { lab4 = false; // (, line 59 if (!this.out_grouping(ItalianStemmer.g_v, 97, 249)) { break; } // gopast, line 59 golab5: while (true) { let lab6 = true; while (lab6 == true) { lab6 = false; if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab5; } if (this.cursor >= this.limit) { break lab4; } this.cursor++; } break lab3; } this.cursor = v_3; // (, line 59 if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break lab2; } // gopast, line 59 golab7: while (true) { let lab8 = true; while (lab8 == true) { lab8 = false; if (!this.out_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab7; } if (this.cursor >= this.limit) { break lab2; } this.cursor++; } } break lab1; } this.cursor = v_2; // (, line 61 if (!this.out_grouping(ItalianStemmer.g_v, 97, 249)) { break lab0; } // or, line 61 let lab9 = true; lab9: while (lab9 == true) { lab9 = false; v_6 = this.cursor; let lab10 = true; lab10: while (lab10 == true) { lab10 = false; // (, line 61 if (!this.out_grouping(ItalianStemmer.g_v, 97, 249)) { break; } // gopast, line 61 golab11: while (true) { let lab12 = true; while (lab12 == true) { lab12 = false; if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab11; } if (this.cursor >= this.limit) { break lab10; } this.cursor++; } break lab9; } this.cursor = v_6; // (, line 61 if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break lab0; } // next, line 61 if (this.cursor >= this.limit) { break lab0; } this.cursor++; } } // setmark pV, line 62 this.I_pV = this.cursor; } this.cursor = v_1; // do, line 64 v_8 = this.cursor; let lab13 = true; lab13: while (lab13 == true) { lab13 = false; // (, line 64 // gopast, line 65 golab14: while (true) { let lab15 = true; while (lab15 == true) { lab15 = false; if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab14; } if (this.cursor >= this.limit) { break lab13; } this.cursor++; } // gopast, line 65 golab16: while (true) { let lab17 = true; while (lab17 == true) { lab17 = false; if (!this.out_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab16; } if (this.cursor >= this.limit) { break lab13; } this.cursor++; } // setmark p1, line 65 this.I_p1 = this.cursor; // gopast, line 66 golab18: while (true) { let lab19 = true; while (lab19 == true) { lab19 = false; if (!this.in_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab18; } if (this.cursor >= this.limit) { break lab13; } this.cursor++; } // gopast, line 66 golab20: while (true) { let lab21 = true; while (lab21 == true) { lab21 = false; if (!this.out_grouping(ItalianStemmer.g_v, 97, 249)) { break; } break golab20; } if (this.cursor >= this.limit) { break lab13; } this.cursor++; } // setmark p2, line 66 this.I_p2 = this.cursor; } this.cursor = v_8; return true; } r_postlude() { let among_var; let v_1; // repeat, line 70 replab0: while (true) { v_1 = this.cursor; let lab1 = true; lab1: while (lab1 == true) { lab1 = false; // (, line 70 // [, line 72 this.bra = this.cursor; // substring, line 72 among_var = this.find_among(ItalianStemmer.a_1, 3); if (among_var == 0) { break; } // ], line 72 this.ket = this.cursor; switch (among_var) { case 0: break lab1; case 1: // (, line 73 // <-, line 73 if (!this.slice_from('i')) { return false; } break; case 2: // (, line 74 // <-, line 74 if (!this.slice_from('u')) { return false; } break; case 3: // (, line 75 // next, line 75 if (this.cursor >= this.limit) { break lab1; } this.cursor++; break; } continue replab0; } this.cursor = v_1; break; } return true; } r_RV() { if (!(this.I_pV <= this.cursor)) { return false; } return true; } r_R1() { if (!(this.I_p1 <= this.cursor)) { return false; } return true; } r_R2() { if (!(this.I_p2 <= this.cursor)) { return false; } return true; } r_attached_pronoun() { let among_var; // (, line 86 // [, line 87 this.ket = this.cursor; // substring, line 87 if (this.find_among_b(ItalianStemmer.a_2, 37) == 0) { return false; } // ], line 87 this.bra = this.cursor; // among, line 97 among_var = this.find_among_b(ItalianStemmer.a_3, 5); if (among_var == 0) { return false; } // (, line 97 // call RV, line 97 if (!this.r_RV()) { return false; } switch (among_var) { case 0: return false; case 1: // (, line 98 // delete, line 98 if (!this.slice_del()) { return false; } break; case 2: // (, line 99 // <-, line 99 if (!this.slice_from('e')) { return false; } break; } return true; } r_standard_suffix() { let among_var; let v_1; let v_2; let v_3; let v_4; // (, line 103 // [, line 104 this.ket = this.cursor; // substring, line 104 among_var = this.find_among_b(ItalianStemmer.a_6, 51); if (among_var == 0) { return false; } // ], line 104 this.bra = this.cursor; switch (among_var) { case 0: return false; case 1: // (, line 111 // call R2, line 111 if (!this.r_R2()) { return false; } // delete, line 111 if (!this.slice_del()) { return false; } break; case 2: // (, line 113 // call R2, line 113 if (!this.r_R2()) { return false; } // delete, line 113 if (!this.slice_del()) { return false; } // try, line 114 v_1 = this.limit - this.cursor; var lab0 = true; while (lab0 == true) { lab0 = false; // (, line 114 // [, line 114 this.ket = this.cursor; // literal, line 114 if (!this.eq_s_b(2, 'ic')) { this.cursor = this.limit - v_1; break; } // ], line 114 this.bra = this.cursor; // call R2, line 114 if (!this.r_R2()) { this.cursor = this.limit - v_1; break; } // delete, line 114 if (!this.slice_del()) { return false; } } break; case 3: // (, line 117 // call R2, line 117 if (!this.r_R2()) { return false; } // <-, line 117 if (!this.slice_from('log')) { return false; } break; case 4: // (, line 119 // call R2, line 119 if (!this.r_R2()) { return false; } // <-, line 119 if (!this.slice_from('u')) { return false; } break; case 5: // (, line 121 // call R2, line 121 if (!this.r_R2()) { return false; } // <-, line 121 if (!this.slice_from('ente')) { return false; } break; case 6: // (, line 123 // call RV, line 123 if (!this.r_RV()) { return false; } // delete, line 123 if (!this.slice_del()) { return false; } break; case 7: // (, line 124 // call R1, line 125 if (!this.r_R1()) { return false; } // delete, line 125 if (!this.slice_del()) { return false; } // try, line 126 v_2 = this.limit - this.cursor; var lab1 = true; lab1: while (lab1 == true) { lab1 = false; // (, line 126 // [, line 127 this.ket = this.cursor; // substring, line 127 among_var = this.find_among_b(ItalianStemmer.a_4, 4); if (among_var == 0) { this.cursor = this.limit - v_2; break; } // ], line 127 this.bra = this.cursor; // call R2, line 127 if (!this.r_R2()) { this.cursor = this.limit - v_2; break; } // delete, line 127 if (!this.slice_del()) { return false; } switch (among_var) { case 0: this.cursor = this.limit - v_2; break lab1; case 1: // (, line 128 // [, line 128 this.ket = this.cursor; // literal, line 128 if (!this.eq_s_b(2, 'at')) { this.cursor = this.limit - v_2; break lab1; } // ], line 128 this.bra = this.cursor; // call R2, line 128 if (!this.r_R2()) { this.cursor = this.limit - v_2; break lab1; } // delete, line 128 if (!this.slice_del()) { return false; } break; } } break; case 8: // (, line 133 // call R2, line 134 if (!this.r_R2()) { return false; } // delete, line 134 if (!this.slice_del()) { return false; } // try, line 135 v_3 = this.limit - this.cursor; var lab2 = true; lab2: while (lab2 == true) { lab2 = false; // (, line 135 // [, line 136 this.ket = this.cursor; // substring, line 136 among_var = this.find_among_b(ItalianStemmer.a_5, 3); if (among_var == 0) { this.cursor = this.limit - v_3; break; } // ], line 136 this.bra = this.cursor; switch (among_var) { case 0: this.cursor = this.limit - v_3; break lab2; case 1: // (, line 137 // call R2, line 137 if (!this.r_R2()) { this.cursor = this.limit - v_3; break lab2; } // delete, line 137 if (!this.slice_del()) { return false; } break; } } break; case 9: // (, line 141 // call R2, line 142 if (!this.r_R2()) { return false; } // delete, line 142 if (!this.slice_del()) { return false; } // try, line 143 v_4 = this.limit - this.cursor; var lab3 = true; while (lab3 == true) { lab3 = false; // (, line 143 // [, line 143 this.ket = this.cursor; // literal, line 143 if (!this.eq_s_b(2, 'at')) { this.cursor = this.limit - v_4; break; } // ], line 143 this.bra = this.cursor; // call R2, line 143 if (!this.r_R2()) { this.cursor = this.limit - v_4; break; } // delete, line 143 if (!this.slice_del()) { return false; } // [, line 143 this.ket = this.cursor; // literal, line 143 if (!this.eq_s_b(2, 'ic')) { this.cursor = this.limit - v_4; break; } // ], line 143 this.bra = this.cursor; // call R2, line 143 if (!this.r_R2()) { this.cursor = this.limit - v_4; break; } // delete, line 143 if (!this.slice_del()) { return false; } } break; } return true; } r_verb_suffix() { let among_var; let v_1; let v_2; // setlimit, line 148 v_1 = this.limit - this.cursor; // tomark, line 148 if (this.cursor < this.I_pV) { return false; } this.cursor = this.I_pV; v_2 = this.limit_backward; this.limit_backward = this.cursor; this.cursor = this.limit - v_1; // (, line 148 // [, line 149 this.ket = this.cursor; // substring, line 149 among_var = this.find_among_b(ItalianStemmer.a_7, 87); if (among_var == 0) { this.limit_backward = v_2; return false; } // ], line 149 this.bra = this.cursor; switch (among_var) { case 0: this.limit_backward = v_2; return false; case 1: // (, line 163 // delete, line 163 if (!this.slice_del()) { return false; } break; } this.limit_backward = v_2; return true; } r_vowel_suffix() { let v_1; let v_2; // (, line 170 // try, line 171 v_1 = this.limit - this.cursor; let lab0 = true; while (lab0 == true) { lab0 = false; // (, line 171 // [, line 172 this.ket = this.cursor; if (!this.in_grouping_b(ItalianStemmer.g_AEIO, 97, 242)) { this.cursor = this.limit - v_1; break; } // ], line 172 this.bra = this.cursor; // call RV, line 172 if (!this.r_RV()) { this.cursor = this.limit - v_1; break; } // delete, line 172 if (!this.slice_del()) { return false; } // [, line 173 this.ket = this.cursor; // literal, line 173 if (!this.eq_s_b(1, 'i')) { this.cursor = this.limit - v_1; break; } // ], line 173 this.bra = this.cursor; // call RV, line 173 if (!this.r_RV()) { this.cursor = this.limit - v_1; break; } // delete, line 173 if (!this.slice_del()) { return false; } } // try, line 175 v_2 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 175 // [, line 176 this.ket = this.cursor; // literal, line 176 if (!this.eq_s_b(1, 'h')) { this.cursor = this.limit - v_2; break; } // ], line 176 this.bra = this.cursor; if (!this.in_grouping_b(ItalianStemmer.g_CG, 99, 103)) { this.cursor = this.limit - v_2; break; } // call RV, line 176 if (!this.r_RV()) { this.cursor = this.limit - v_2; break; } // delete, line 176 if (!this.slice_del()) { return false; } } return true; } stem() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; // (, line 181 // do, line 182 v_1 = this.cursor; let lab0 = true; while (lab0 == true) { lab0 = false; // call prelude, line 182 if (!this.r_prelude()) { break; } } this.cursor = v_1; // do, line 183 v_2 = this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // call mark_regions, line 183 if (!this.r_mark_regions()) { break; } } this.cursor = v_2; // backwards, line 184 this.limit_backward = this.cursor; this.cursor = this.limit; // (, line 184 // do, line 185 v_3 = this.limit - this.cursor; let lab2 = true; while (lab2 == true) { lab2 = false; // call attached_pronoun, line 185 if (!this.r_attached_pronoun()) { break; } } this.cursor = this.limit - v_3; // do, line 186 v_4 = this.limit - this.cursor; let lab3 = true; lab3: while (lab3 == true) { lab3 = false; // (, line 186 // or, line 186 let lab4 = true; lab4: while (lab4 == true) { lab4 = false; v_5 = this.limit - this.cursor; let lab5 = true; while (lab5 == true) { lab5 = false; // call standard_suffix, line 186 if (!this.r_standard_suffix()) { break; } break lab4; } this.cursor = this.limit - v_5; // call verb_suffix, line 186 if (!this.r_verb_suffix()) { break lab3; } } } this.cursor = this.limit - v_4; // do, line 187 v_6 = this.limit - this.cursor; let lab6 = true; while (lab6 == true) { lab6 = false; // call vowel_suffix, line 187 if (!this.r_vowel_suffix()) { break; } } this.cursor = this.limit - v_6; this.cursor = this.limit_backward; // do, line 189 v_7 = this.cursor; let lab7 = true; while (lab7 == true) { lab7 = false; // call postlude, line 189 if (!this.r_postlude()) { break; } } this.cursor = v_7; return true; } } ItalianStemmer.methodObject = new ItalianStemmer(); ItalianStemmer.a_0 = [ new Among('', -1, 7), new Among('qu', 0, 6), new Among('\u00E1', 0, 1), new Among('\u00E9', 0, 2), new Among('\u00ED', 0, 3), new Among('\u00F3', 0, 4), new Among('\u00FA', 0, 5) ]; ItalianStemmer.a_1 = [ new Among('', -1, 3), new Among('I', 0, 1), new Among('U', 0, 2) ]; ItalianStemmer.a_2 = [ new Among('la', -1, -1), new Among('cela', 0, -1), new Among('gliela', 0, -1), new Among('mela', 0, -1), new Among('tela', 0, -1), new Among('vela', 0, -1), new Among('le', -1, -1), new Among('cele', 6, -1), new Among('gliele', 6, -1), new Among('mele', 6, -1), new Among('tele', 6, -1), new Among('vele', 6, -1), new Among('ne', -1, -1), new Among('cene', 12, -1), new Among('gliene', 12, -1), new Among('mene', 12, -1), new Among('sene', 12, -1), new Among('tene', 12, -1), new Among('vene', 12, -1), new Among('ci', -1, -1), new Among('li', -1, -1), new Among('celi', 20, -1), new Among('glieli', 20, -1), new Among('meli', 20, -1), new Among('teli', 20, -1), new Among('veli', 20, -1), new Among('gli', 20, -1), new Among('mi', -1, -1), new Among('si', -1, -1), new Among('ti', -1, -1), new Among('vi', -1, -1), new Among('lo', -1, -1), new Among('celo', 31, -1), new Among('glielo', 31, -1), new Among('melo', 31, -1), new Among('telo', 31, -1), new Among('velo', 31, -1) ]; ItalianStemmer.a_3 = [ new Among('ando', -1, 1), new Among('endo', -1, 1), new Among('ar', -1, 2), new Among('er', -1, 2), new Among('ir', -1, 2) ]; ItalianStemmer.a_4 = [ new Among('ic', -1, -1), new Among('abil', -1, -1), new Among('os', -1, -1), new Among('iv', -1, 1) ]; ItalianStemmer.a_5 = [ new Among('ic', -1, 1), new Among('abil', -1, 1), new Among('iv', -1, 1) ]; ItalianStemmer.a_6 = [ new Among('ica', -1, 1), new Among('logia', -1, 3), new Among('osa', -1, 1), new Among('ista', -1, 1), new Among('iva', -1, 9), new Among('anza', -1, 1), new Among('enza', -1, 5), new Among('ice', -1, 1), new Among('atrice', 7, 1), new Among('iche', -1, 1), new Among('logie', -1, 3), new Among('abile', -1, 1), new Among('ibile', -1, 1), new Among('usione', -1, 4), new Among('azione', -1, 2), new Among('uzione', -1, 4), new Among('atore', -1, 2), new Among('ose', -1, 1), new Among('ante', -1, 1), new Among('mente', -1, 1), new Among('amente', 19, 7), new Among('iste', -1, 1), new Among('ive', -1, 9), new Among('anze', -1, 1), new Among('enze', -1, 5), new Among('ici', -1, 1), new Among('atrici', 25, 1), new Among('ichi', -1, 1), new Among('abili', -1, 1), new Among('ibili', -1, 1), new Among('ismi', -1, 1), new Among('usioni', -1, 4), new Among('azioni', -1, 2), new Among('uzioni', -1, 4), new Among('atori', -1, 2), new Among('osi', -1, 1), new Among('anti', -1, 1), new Among('amenti', -1, 6), new Among('imenti', -1, 6), new Among('isti', -1, 1), new Among('ivi', -1, 9), new Among('ico', -1, 1), new Among('ismo', -1, 1), new Among('oso', -1, 1), new Among('amento', -1, 6), new Among('imento', -1, 6), new Among('ivo', -1, 9), new Among('it\u00E0', -1, 8), new Among('ist\u00E0', -1, 1), new Among('ist\u00E8', -1, 1), new Among('ist\u00EC', -1, 1) ]; ItalianStemmer.a_7 = [ new Among('isca', -1, 1), new Among('enda', -1, 1), new Among('ata', -1, 1), new Among('ita', -1, 1), new Among('uta', -1, 1), new Among('ava', -1, 1), new Among('eva', -1, 1), new Among('iva', -1, 1), new Among('erebbe', -1, 1), new Among('irebbe', -1, 1), new Among('isce', -1, 1), new Among('ende', -1, 1), new Among('are', -1, 1), new Among('ere', -1, 1), new Among('ire', -1, 1), new Among('asse', -1, 1), new Among('ate', -1, 1), new Among('avate', 16, 1), new Among('evate', 16, 1), new Among('ivate', 16, 1), new Among('ete', -1, 1), new Among('erete', 20, 1), new Among('irete', 20, 1), new Among('ite', -1, 1), new Among('ereste', -1, 1), new Among('ireste', -1, 1), new Among('ute', -1, 1), new Among('erai', -1, 1), new Among('irai', -1, 1), new Among('isci', -1, 1), new Among('endi', -1, 1), new Among('erei', -1, 1), new Among('irei', -1, 1), new Among('assi', -1, 1), new Among('ati', -1, 1), new Among('iti', -1, 1), new Among('eresti', -1, 1), new Among('iresti', -1, 1), new Among('uti', -1, 1), new Among('avi', -1, 1), new Among('evi', -1, 1), new Among('ivi', -1, 1), new Among('isco', -1, 1), new Among('ando', -1, 1), new Among('endo', -1, 1), new Among('Yamo', -1, 1), new Among('iamo', -1, 1), new Among('avamo', -1, 1), new Among('evamo', -1, 1), new Among('ivamo', -1, 1), new Among('eremo', -1, 1), new Among('iremo', -1, 1), new Among('assimo', -1, 1), new Among('ammo', -1, 1), new Among('emmo', -1, 1), new Among('eremmo', 54, 1), new Among('iremmo', 54, 1), new Among('immo', -1, 1), new Among('ano', -1, 1), new Among('iscano', 58, 1), new Among('avano', 58, 1), new Among('evano', 58, 1), new Among('ivano', 58, 1), new Among('eranno', -1, 1), new Among('iranno', -1, 1), new Among('ono', -1, 1), new Among('iscono', 65, 1), new Among('arono', 65, 1), new Among('erono', 65, 1), new Among('irono', 65, 1), new Among('erebbero', -1, 1), new Among('irebbero', -1, 1), new Among('assero', -1, 1), new Among('essero', -1, 1), new Among('issero', -1, 1), new Among('ato', -1, 1), new Among('ito', -1, 1), new Among('uto', -1, 1), new Among('avo', -1, 1), new Among('evo', -1, 1), new Among('ivo', -1, 1), new Among('ar', -1, 1), new Among('ir', -1, 1), new Among('er\u00E0', -1, 1), new Among('ir\u00E0', -1, 1), new Among('er\u00F2', -1, 1), new Among('ir\u00F2', -1, 1) ]; ItalianStemmer.g_v = [ 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 ]; ItalianStemmer.g_AEIO = [ 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 ]; ItalianStemmer.g_CG = [17]; module.exports = ItalianStemmer;