text: <!DOCTYPE html>
  <html lang="en">
  <head>
      <meta charset="utf-8">
      <title>JSDoc: Source: nlp/stemmers/hungarian-stemmer.js</title>
  
      <script src="scripts/prettify/prettify.js"> </script>
      <script src="scripts/prettify/lang-css.js"> </script>
      <!--[if lt IE 9]>
        <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
      <![endif]-->
      <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
      <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  </head>
  
  <body>
  
  <div id="main">
  
      <h1 class="page-title">Source: nlp/stemmers/hungarian-stemmer.js</h1>
  
      
  
  
  
      
      <section>
          <article>
              <pre class="prettyprint source linenums"><code>/*
   * Copyright (c) AXA Group Operations 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 HungarianStemmer extends BaseStemmer {
    constructor(tokenizer) {
      super(tokenizer);
      this.I_p1 = 0;
    }
  
    copy_from(other) {
      this.I_p1 = other.I_p1;
      super.copy_from(other);
    }
  
    r_mark_regions() {
      let v_1;
      let v_2;
      let v_3;
      // (, line 44
      this.I_p1 = this.limit;
      // or, line 51
      let lab0 = true;
      lab0: while (lab0 == true) {
        lab0 = false;
        v_1 = this.cursor;
        let lab1 = true;
        lab1: while (lab1 == true) {
          lab1 = false;
          // (, line 48
          if (!this.in_grouping(HungarianStemmer.g_v, 97, 252)) {
            break;
          }
          // goto, line 48
          golab2: while (true) {
            v_2 = this.cursor;
            let lab3 = true;
            while (lab3 == true) {
              lab3 = false;
              if (!this.out_grouping(HungarianStemmer.g_v, 97, 252)) {
                break;
              }
              this.cursor = v_2;
              break golab2;
            }
            this.cursor = v_2;
            if (this.cursor >= this.limit) {
              break lab1;
            }
            this.cursor++;
          }
          // or, line 49
          let lab4 = true;
          lab4: while (lab4 == true) {
            lab4 = false;
            v_3 = this.cursor;
            let lab5 = true;
            while (lab5 == true) {
              lab5 = false;
              // among, line 49
              if (this.find_among(HungarianStemmer.a_0, 8) == 0) {
                break;
              }
              break lab4;
            }
            this.cursor = v_3;
            // next, line 49
            if (this.cursor >= this.limit) {
              break lab1;
            }
            this.cursor++;
          }
          // setmark p1, line 50
          this.I_p1 = this.cursor;
          break lab0;
        }
        this.cursor = v_1;
        // (, line 53
        if (!this.out_grouping(HungarianStemmer.g_v, 97, 252)) {
          return false;
        }
        // gopast, line 53
        golab6: while (true) {
          let lab7 = true;
          while (lab7 == true) {
            lab7 = false;
            if (!this.in_grouping(HungarianStemmer.g_v, 97, 252)) {
              break;
            }
            break golab6;
          }
          if (this.cursor >= this.limit) {
            return false;
          }
          this.cursor++;
        }
        // setmark p1, line 53
        this.I_p1 = this.cursor;
      }
      return true;
    }
  
    r_R1() {
      if (!(this.I_p1 &lt;= this.cursor)) {
        return false;
      }
      return true;
    }
  
    r_v_ending() {
      let among_var;
      // (, line 60
      // [, line 61
      this.ket = this.cursor;
      // substring, line 61
      among_var = this.find_among_b(HungarianStemmer.a_1, 2);
      if (among_var == 0) {
        return false;
      }
      // ], line 61
      this.bra = this.cursor;
      // call R1, line 61
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 62
          // &lt;-, line 62
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 2:
          // (, line 63
          // &lt;-, line 63
          if (!this.slice_from('e')) {
            return false;
          }
          break;
      }
      return true;
    }
  
    r_double() {
      let v_1;
      // (, line 67
      // test, line 68
      v_1 = this.limit - this.cursor;
      // among, line 68
      if (this.find_among_b(HungarianStemmer.a_2, 23) == 0) {
        return false;
      }
      this.cursor = this.limit - v_1;
      return true;
    }
  
    r_undouble() {
      // (, line 72
      // next, line 73
      if (this.cursor &lt;= this.limit_backward) {
        return false;
      }
      this.cursor--;
      // [, line 73
      this.ket = this.cursor;
      // hop, line 73
      {
        const c = this.cursor - 1;
        if (this.limit_backward > c || c > this.limit) {
          return false;
        }
        this.cursor = c;
      }
      // ], line 73
      this.bra = this.cursor;
      // delete, line 73
      if (!this.slice_del()) {
        return false;
      }
      return true;
    }
  
    r_instrum() {
      let among_var;
      // (, line 76
      // [, line 77
      this.ket = this.cursor;
      // substring, line 77
      among_var = this.find_among_b(HungarianStemmer.a_3, 2);
      if (among_var == 0) {
        return false;
      }
      // ], line 77
      this.bra = this.cursor;
      // call R1, line 77
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 78
          // call double, line 78
          if (!this.r_double()) {
            return false;
          }
          break;
        case 2:
          // (, line 79
          // call double, line 79
          if (!this.r_double()) {
            return false;
          }
          break;
      }
      // delete, line 81
      if (!this.slice_del()) {
        return false;
      }
      // call undouble, line 82
      if (!this.r_undouble()) {
        return false;
      }
      return true;
    }
  
    r_case() {
      // (, line 86
      // [, line 87
      this.ket = this.cursor;
      // substring, line 87
      if (this.find_among_b(HungarianStemmer.a_4, 44) == 0) {
        return false;
      }
      // ], line 87
      this.bra = this.cursor;
      // call R1, line 87
      if (!this.r_R1()) {
        return false;
      }
      // delete, line 111
      if (!this.slice_del()) {
        return false;
      }
      // call v_ending, line 112
      if (!this.r_v_ending()) {
        return false;
      }
      return true;
    }
  
    r_case_special() {
      let among_var;
      // (, line 115
      // [, line 116
      this.ket = this.cursor;
      // substring, line 116
      among_var = this.find_among_b(HungarianStemmer.a_5, 3);
      if (among_var == 0) {
        return false;
      }
      // ], line 116
      this.bra = this.cursor;
      // call R1, line 116
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 117
          // &lt;-, line 117
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 2:
          // (, line 118
          // &lt;-, line 118
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 3:
          // (, line 119
          // &lt;-, line 119
          if (!this.slice_from('a')) {
            return false;
          }
          break;
      }
      return true;
    }
  
    r_case_other() {
      let among_var;
      // (, line 123
      // [, line 124
      this.ket = this.cursor;
      // substring, line 124
      among_var = this.find_among_b(HungarianStemmer.a_6, 6);
      if (among_var == 0) {
        return false;
      }
      // ], line 124
      this.bra = this.cursor;
      // call R1, line 124
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 125
          // delete, line 125
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 2:
          // (, line 126
          // delete, line 126
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 3:
          // (, line 127
          // &lt;-, line 127
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 4:
          // (, line 128
          // &lt;-, line 128
          if (!this.slice_from('e')) {
            return false;
          }
          break;
      }
      return true;
    }
  
    r_factive() {
      let among_var;
      // (, line 132
      // [, line 133
      this.ket = this.cursor;
      // substring, line 133
      among_var = this.find_among_b(HungarianStemmer.a_7, 2);
      if (among_var == 0) {
        return false;
      }
      // ], line 133
      this.bra = this.cursor;
      // call R1, line 133
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 134
          // call double, line 134
          if (!this.r_double()) {
            return false;
          }
          break;
        case 2:
          // (, line 135
          // call double, line 135
          if (!this.r_double()) {
            return false;
          }
          break;
      }
      // delete, line 137
      if (!this.slice_del()) {
        return false;
      }
      // call undouble, line 138
      if (!this.r_undouble()) {
        return false;
      }
      return true;
    }
  
    r_plural() {
      let among_var;
      // (, line 141
      // [, line 142
      this.ket = this.cursor;
      // substring, line 142
      among_var = this.find_among_b(HungarianStemmer.a_8, 7);
      if (among_var == 0) {
        return false;
      }
      // ], line 142
      this.bra = this.cursor;
      // call R1, line 142
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 143
          // &lt;-, line 143
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 2:
          // (, line 144
          // &lt;-, line 144
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 3:
          // (, line 145
          // delete, line 145
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 4:
          // (, line 146
          // delete, line 146
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 5:
          // (, line 147
          // delete, line 147
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 6:
          // (, line 148
          // delete, line 148
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 7:
          // (, line 149
          // delete, line 149
          if (!this.slice_del()) {
            return false;
          }
          break;
      }
      return true;
    }
  
    r_owned() {
      let among_var;
      // (, line 153
      // [, line 154
      this.ket = this.cursor;
      // substring, line 154
      among_var = this.find_among_b(HungarianStemmer.a_9, 12);
      if (among_var == 0) {
        return false;
      }
      // ], line 154
      this.bra = this.cursor;
      // call R1, line 154
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 155
          // delete, line 155
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 2:
          // (, line 156
          // &lt;-, line 156
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 3:
          // (, line 157
          // &lt;-, line 157
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 4:
          // (, line 158
          // delete, line 158
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 5:
          // (, line 159
          // &lt;-, line 159
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 6:
          // (, line 160
          // &lt;-, line 160
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 7:
          // (, line 161
          // delete, line 161
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 8:
          // (, line 162
          // &lt;-, line 162
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 9:
          // (, line 163
          // delete, line 163
          if (!this.slice_del()) {
            return false;
          }
          break;
      }
      return true;
    }
  
    r_sing_owner() {
      let among_var;
      // (, line 167
      // [, line 168
      this.ket = this.cursor;
      // substring, line 168
      among_var = this.find_among_b(HungarianStemmer.a_10, 31);
      if (among_var == 0) {
        return false;
      }
      // ], line 168
      this.bra = this.cursor;
      // call R1, line 168
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 169
          // delete, line 169
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 2:
          // (, line 170
          // &lt;-, line 170
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 3:
          // (, line 171
          // &lt;-, line 171
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 4:
          // (, line 172
          // delete, line 172
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 5:
          // (, line 173
          // &lt;-, line 173
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 6:
          // (, line 174
          // &lt;-, line 174
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 7:
          // (, line 175
          // delete, line 175
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 8:
          // (, line 176
          // delete, line 176
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 9:
          // (, line 177
          // delete, line 177
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 10:
          // (, line 178
          // &lt;-, line 178
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 11:
          // (, line 179
          // &lt;-, line 179
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 12:
          // (, line 180
          // delete, line 180
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 13:
          // (, line 181
          // delete, line 181
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 14:
          // (, line 182
          // &lt;-, line 182
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 15:
          // (, line 183
          // &lt;-, line 183
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 16:
          // (, line 184
          // delete, line 184
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 17:
          // (, line 185
          // delete, line 185
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 18:
          // (, line 186
          // delete, line 186
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 19:
          // (, line 187
          // &lt;-, line 187
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 20:
          // (, line 188
          // &lt;-, line 188
          if (!this.slice_from('e')) {
            return false;
          }
          break;
      }
      return true;
    }
  
    r_plur_owner() {
      let among_var;
      // (, line 192
      // [, line 193
      this.ket = this.cursor;
      // substring, line 193
      among_var = this.find_among_b(HungarianStemmer.a_11, 42);
      if (among_var == 0) {
        return false;
      }
      // ], line 193
      this.bra = this.cursor;
      // call R1, line 193
      if (!this.r_R1()) {
        return false;
      }
      switch (among_var) {
        case 0:
          return false;
        case 1:
          // (, line 194
          // delete, line 194
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 2:
          // (, line 195
          // &lt;-, line 195
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 3:
          // (, line 196
          // &lt;-, line 196
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 4:
          // (, line 197
          // delete, line 197
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 5:
          // (, line 198
          // delete, line 198
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 6:
          // (, line 199
          // delete, line 199
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 7:
          // (, line 200
          // &lt;-, line 200
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 8:
          // (, line 201
          // &lt;-, line 201
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 9:
          // (, line 202
          // delete, line 202
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 10:
          // (, line 203
          // delete, line 203
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 11:
          // (, line 204
          // delete, line 204
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 12:
          // (, line 205
          // &lt;-, line 205
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 13:
          // (, line 206
          // &lt;-, line 206
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 14:
          // (, line 207
          // delete, line 207
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 15:
          // (, line 208
          // delete, line 208
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 16:
          // (, line 209
          // delete, line 209
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 17:
          // (, line 210
          // delete, line 210
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 18:
          // (, line 211
          // &lt;-, line 211
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 19:
          // (, line 212
          // &lt;-, line 212
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 20:
          // (, line 214
          // delete, line 214
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 21:
          // (, line 215
          // delete, line 215
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 22:
          // (, line 216
          // &lt;-, line 216
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 23:
          // (, line 217
          // &lt;-, line 217
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 24:
          // (, line 218
          // delete, line 218
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 25:
          // (, line 219
          // delete, line 219
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 26:
          // (, line 220
          // delete, line 220
          if (!this.slice_del()) {
            return false;
          }
          break;
        case 27:
          // (, line 221
          // &lt;-, line 221
          if (!this.slice_from('a')) {
            return false;
          }
          break;
        case 28:
          // (, line 222
          // &lt;-, line 222
          if (!this.slice_from('e')) {
            return false;
          }
          break;
        case 29:
          // (, line 223
          // delete, line 223
          if (!this.slice_del()) {
            return false;
          }
          break;
      }
      return true;
    }
  
    stem() {
      let v_1;
      let v_2;
      let v_3;
      let v_4;
      let v_5;
      let v_6;
      let v_7;
      let v_8;
      let v_9;
      let v_10;
      // (, line 228
      // do, line 229
      v_1 = this.cursor;
      let lab0 = true;
      while (lab0 == true) {
        lab0 = false;
        // call mark_regions, line 229
        if (!this.r_mark_regions()) {
          break;
        }
      }
      this.cursor = v_1;
      // backwards, line 230
      this.limit_backward = this.cursor;
      this.cursor = this.limit;
      // (, line 230
      // do, line 231
      v_2 = this.limit - this.cursor;
      let lab1 = true;
      while (lab1 == true) {
        lab1 = false;
        // call instrum, line 231
        if (!this.r_instrum()) {
          break;
        }
      }
      this.cursor = this.limit - v_2;
      // do, line 232
      v_3 = this.limit - this.cursor;
      let lab2 = true;
      while (lab2 == true) {
        lab2 = false;
        // call case, line 232
        if (!this.r_case()) {
          break;
        }
      }
      this.cursor = this.limit - v_3;
      // do, line 233
      v_4 = this.limit - this.cursor;
      let lab3 = true;
      while (lab3 == true) {
        lab3 = false;
        // call case_special, line 233
        if (!this.r_case_special()) {
          break;
        }
      }
      this.cursor = this.limit - v_4;
      // do, line 234
      v_5 = this.limit - this.cursor;
      let lab4 = true;
      while (lab4 == true) {
        lab4 = false;
        // call case_other, line 234
        if (!this.r_case_other()) {
          break;
        }
      }
      this.cursor = this.limit - v_5;
      // do, line 235
      v_6 = this.limit - this.cursor;
      let lab5 = true;
      while (lab5 == true) {
        lab5 = false;
        // call factive, line 235
        if (!this.r_factive()) {
          break;
        }
      }
      this.cursor = this.limit - v_6;
      // do, line 236
      v_7 = this.limit - this.cursor;
      let lab6 = true;
      while (lab6 == true) {
        lab6 = false;
        // call owned, line 236
        if (!this.r_owned()) {
          break;
        }
      }
      this.cursor = this.limit - v_7;
      // do, line 237
      v_8 = this.limit - this.cursor;
      let lab7 = true;
      while (lab7 == true) {
        lab7 = false;
        // call sing_owner, line 237
        if (!this.r_sing_owner()) {
          break;
        }
      }
      this.cursor = this.limit - v_8;
      // do, line 238
      v_9 = this.limit - this.cursor;
      let lab8 = true;
      while (lab8 == true) {
        lab8 = false;
        // call plur_owner, line 238
        if (!this.r_plur_owner()) {
          break;
        }
      }
      this.cursor = this.limit - v_9;
      // do, line 239
      v_10 = this.limit - this.cursor;
      let lab9 = true;
      while (lab9 == true) {
        lab9 = false;
        // call plural, line 239
        if (!this.r_plural()) {
          break;
        }
      }
      this.cursor = this.limit - v_10;
      this.cursor = this.limit_backward;
      return true;
    }
  }
  HungarianStemmer.methodObject = new HungarianStemmer();
  
  HungarianStemmer.a_0 = [
    new Among('cs', -1, -1),
    new Among('dzs', -1, -1),
    new Among('gy', -1, -1),
    new Among('ly', -1, -1),
    new Among('ny', -1, -1),
    new Among('sz', -1, -1),
    new Among('ty', -1, -1),
    new Among('zs', -1, -1)
  ];
  
  HungarianStemmer.a_1 = [new Among('\u00E1', -1, 1), new Among('\u00E9', -1, 2)];
  
  HungarianStemmer.a_2 = [
    new Among('bb', -1, -1),
    new Among('cc', -1, -1),
    new Among('dd', -1, -1),
    new Among('ff', -1, -1),
    new Among('gg', -1, -1),
    new Among('jj', -1, -1),
    new Among('kk', -1, -1),
    new Among('ll', -1, -1),
    new Among('mm', -1, -1),
    new Among('nn', -1, -1),
    new Among('pp', -1, -1),
    new Among('rr', -1, -1),
    new Among('ccs', -1, -1),
    new Among('ss', -1, -1),
    new Among('zzs', -1, -1),
    new Among('tt', -1, -1),
    new Among('vv', -1, -1),
    new Among('ggy', -1, -1),
    new Among('lly', -1, -1),
    new Among('nny', -1, -1),
    new Among('tty', -1, -1),
    new Among('ssz', -1, -1),
    new Among('zz', -1, -1)
  ];
  
  HungarianStemmer.a_3 = [new Among('al', -1, 1), new Among('el', -1, 2)];
  
  HungarianStemmer.a_4 = [
    new Among('ba', -1, -1),
    new Among('ra', -1, -1),
    new Among('be', -1, -1),
    new Among('re', -1, -1),
    new Among('ig', -1, -1),
    new Among('nak', -1, -1),
    new Among('nek', -1, -1),
    new Among('val', -1, -1),
    new Among('vel', -1, -1),
    new Among('ul', -1, -1),
    new Among('n\u00E1l', -1, -1),
    new Among('n\u00E9l', -1, -1),
    new Among('b\u00F3l', -1, -1),
    new Among('r\u00F3l', -1, -1),
    new Among('t\u00F3l', -1, -1),
    new Among('b\u00F5l', -1, -1),
    new Among('r\u00F5l', -1, -1),
    new Among('t\u00F5l', -1, -1),
    new Among('\u00FCl', -1, -1),
    new Among('n', -1, -1),
    new Among('an', 19, -1),
    new Among('ban', 20, -1),
    new Among('en', 19, -1),
    new Among('ben', 22, -1),
    new Among('k\u00E9ppen', 22, -1),
    new Among('on', 19, -1),
    new Among('\u00F6n', 19, -1),
    new Among('k\u00E9pp', -1, -1),
    new Among('kor', -1, -1),
    new Among('t', -1, -1),
    new Among('at', 29, -1),
    new Among('et', 29, -1),
    new Among('k\u00E9nt', 29, -1),
    new Among('ank\u00E9nt', 32, -1),
    new Among('enk\u00E9nt', 32, -1),
    new Among('onk\u00E9nt', 32, -1),
    new Among('ot', 29, -1),
    new Among('\u00E9rt', 29, -1),
    new Among('\u00F6t', 29, -1),
    new Among('hez', -1, -1),
    new Among('hoz', -1, -1),
    new Among('h\u00F6z', -1, -1),
    new Among('v\u00E1', -1, -1),
    new Among('v\u00E9', -1, -1)
  ];
  
  HungarianStemmer.a_5 = [
    new Among('\u00E1n', -1, 2),
    new Among('\u00E9n', -1, 1),
    new Among('\u00E1nk\u00E9nt', -1, 3)
  ];
  
  HungarianStemmer.a_6 = [
    new Among('stul', -1, 2),
    new Among('astul', 0, 1),
    new Among('\u00E1stul', 0, 3),
    new Among('st\u00FCl', -1, 2),
    new Among('est\u00FCl', 3, 1),
    new Among('\u00E9st\u00FCl', 3, 4)
  ];
  
  HungarianStemmer.a_7 = [new Among('\u00E1', -1, 1), new Among('\u00E9', -1, 2)];
  
  HungarianStemmer.a_8 = [
    new Among('k', -1, 7),
    new Among('ak', 0, 4),
    new Among('ek', 0, 6),
    new Among('ok', 0, 5),
    new Among('\u00E1k', 0, 1),
    new Among('\u00E9k', 0, 2),
    new Among('\u00F6k', 0, 3)
  ];
  
  HungarianStemmer.a_9 = [
    new Among('\u00E9i', -1, 7),
    new Among('\u00E1\u00E9i', 0, 6),
    new Among('\u00E9\u00E9i', 0, 5),
    new Among('\u00E9', -1, 9),
    new Among('k\u00E9', 3, 4),
    new Among('ak\u00E9', 4, 1),
    new Among('ek\u00E9', 4, 1),
    new Among('ok\u00E9', 4, 1),
    new Among('\u00E1k\u00E9', 4, 3),
    new Among('\u00E9k\u00E9', 4, 2),
    new Among('\u00F6k\u00E9', 4, 1),
    new Among('\u00E9\u00E9', 3, 8)
  ];
  
  HungarianStemmer.a_10 = [
    new Among('a', -1, 18),
    new Among('ja', 0, 17),
    new Among('d', -1, 16),
    new Among('ad', 2, 13),
    new Among('ed', 2, 13),
    new Among('od', 2, 13),
    new Among('\u00E1d', 2, 14),
    new Among('\u00E9d', 2, 15),
    new Among('\u00F6d', 2, 13),
    new Among('e', -1, 18),
    new Among('je', 9, 17),
    new Among('nk', -1, 4),
    new Among('unk', 11, 1),
    new Among('\u00E1nk', 11, 2),
    new Among('\u00E9nk', 11, 3),
    new Among('\u00FCnk', 11, 1),
    new Among('uk', -1, 8),
    new Among('juk', 16, 7),
    new Among('\u00E1juk', 17, 5),
    new Among('\u00FCk', -1, 8),
    new Among('j\u00FCk', 19, 7),
    new Among('\u00E9j\u00FCk', 20, 6),
    new Among('m', -1, 12),
    new Among('am', 22, 9),
    new Among('em', 22, 9),
    new Among('om', 22, 9),
    new Among('\u00E1m', 22, 10),
    new Among('\u00E9m', 22, 11),
    new Among('o', -1, 18),
    new Among('\u00E1', -1, 19),
    new Among('\u00E9', -1, 20)
  ];
  
  HungarianStemmer.a_11 = [
    new Among('id', -1, 10),
    new Among('aid', 0, 9),
    new Among('jaid', 1, 6),
    new Among('eid', 0, 9),
    new Among('jeid', 3, 6),
    new Among('\u00E1id', 0, 7),
    new Among('\u00E9id', 0, 8),
    new Among('i', -1, 15),
    new Among('ai', 7, 14),
    new Among('jai', 8, 11),
    new Among('ei', 7, 14),
    new Among('jei', 10, 11),
    new Among('\u00E1i', 7, 12),
    new Among('\u00E9i', 7, 13),
    new Among('itek', -1, 24),
    new Among('eitek', 14, 21),
    new Among('jeitek', 15, 20),
    new Among('\u00E9itek', 14, 23),
    new Among('ik', -1, 29),
    new Among('aik', 18, 26),
    new Among('jaik', 19, 25),
    new Among('eik', 18, 26),
    new Among('jeik', 21, 25),
    new Among('\u00E1ik', 18, 27),
    new Among('\u00E9ik', 18, 28),
    new Among('ink', -1, 20),
    new Among('aink', 25, 17),
    new Among('jaink', 26, 16),
    new Among('eink', 25, 17),
    new Among('jeink', 28, 16),
    new Among('\u00E1ink', 25, 18),
    new Among('\u00E9ink', 25, 19),
    new Among('aitok', -1, 21),
    new Among('jaitok', 32, 20),
    new Among('\u00E1itok', -1, 22),
    new Among('im', -1, 5),
    new Among('aim', 35, 4),
    new Among('jaim', 36, 1),
    new Among('eim', 35, 4),
    new Among('jeim', 38, 1),
    new Among('\u00E1im', 35, 2),
    new Among('\u00E9im', 35, 3)
  ];
  
  HungarianStemmer.g_v = [
    17,
    65,
    16,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    17,
    52,
    14
  ];
  
  module.exports = HungarianStemmer;
  </code></pre>
          </article>
      </section>
  
  
  
  
  </div>
  
  <nav>
      <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryNeuralNetworkClassifier.html">BinaryNeuralNetworkClassifier</a></li><li><a href="Classifier.html">Classifier</a></li><li><a href="ConversationContext.html">ConversationContext</a></li><li><a href="DutchStemmer.html">DutchStemmer</a></li><li><a href="EnglishStemmer.html">EnglishStemmer</a></li><li><a href="EnumNamedEntity.html">EnumNamedEntity</a></li><li><a href="Evaluator.html">Evaluator</a></li><li><a href="HungarianStemmer.html">HungarianStemmer</a></li><li><a href="ItalianStemmer.html">ItalianStemmer</a></li><li><a href="Language.html">Language</a></li><li><a href="LogisticRegressionClassifier.html">LogisticRegressionClassifier</a></li><li><a href="Matrix.html">Matrix</a></li><li><a href="MemoryConversationContext.html">MemoryConversationContext</a></li><li><a href="NamedEntity.html">NamedEntity</a></li><li><a href="NerManager.html">NerManager</a></li><li><a href="NlgManager.html">NlgManager</a></li><li><a href="NlpClassifier.html">NlpClassifier</a></li><li><a href="NlpManager.html">NlpManager</a></li><li><a href="NorwegianStemmer.html">NorwegianStemmer</a></li><li><a href="PortugueseStemmer.html">PortugueseStemmer</a></li><li><a href="Recognizer.html">Recognizer</a></li><li><a href="RegexNamedEntity.html">RegexNamedEntity</a></li><li><a href="RomanianStemmer.html">RomanianStemmer</a></li><li><a href="RussianStemmer.html">RussianStemmer</a></li><li><a href="SentimentAnalyzer.html">SentimentAnalyzer</a></li><li><a href="SentimentManager.html">SentimentManager</a></li><li><a href="SimilarSearch.html">SimilarSearch</a></li><li><a href="SlotManager.html">SlotManager</a></li><li><a href="StemmerJa.html">StemmerJa</a></li><li><a href="SwedishStemmer.html">SwedishStemmer</a></li><li><a href="Tokenizer.html">Tokenizer</a></li><li><a href="TrimNamedEntity.html">TrimNamedEntity</a></li><li><a href="TurkishStemmer.html">TurkishStemmer</a></li><li><a href="Vector.html">Vector</a></li><li><a href="XTable.html">XTable</a></li></ul><h3>Global</h3><ul><li><a href="global.html#endsinArr">endsinArr</a></li><li><a href="global.html#prelude">prelude</a></li><li><a href="global.html#regions">regions</a></li><li><a href="global.html#stem">stem</a></li><li><a href="global.html#stopwords">stopwords</a></li></ul>
  </nav>
  
  <br class="clear">
  
  <footer>
      Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Oct 13 2018 19:14:51 GMT+0200 (CEST)
  </footer>
  
  <script> prettyPrint(); </script>
  <script src="scripts/linenumber.js"> </script>
  </body>
  </html>
  