summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/oktavia/src/stemmer/hungarian-stemmer.jsx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/misc/oktavia/src/stemmer/hungarian-stemmer.jsx1478
1 files changed, 1478 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/hungarian-stemmer.jsx b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/hungarian-stemmer.jsx
new file mode 100644
index 00000000..9d67dba4
--- /dev/null
+++ b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/hungarian-stemmer.jsx
@@ -0,0 +1,1478 @@
+// This file was generated automatically by the Snowball to JSX compiler
+
+import "base-stemmer.jsx";
+import "among.jsx";
+
+ /**
+ * 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
+{
+ static const serialVersionUID = 1;
+ static const methodObject = new HungarianStemmer();
+
+ static const 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)
+ ];
+
+ static const a_1 = [
+ new Among("\u00E1", -1, 1),
+ new Among("\u00E9", -1, 2)
+ ];
+
+ static const 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)
+ ];
+
+ static const a_3 = [
+ new Among("al", -1, 1),
+ new Among("el", -1, 2)
+ ];
+
+ static const 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)
+ ];
+
+ static const a_5 = [
+ new Among("\u00E1n", -1, 2),
+ new Among("\u00E9n", -1, 1),
+ new Among("\u00E1nk\u00E9nt", -1, 3)
+ ];
+
+ static const 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)
+ ];
+
+ static const a_7 = [
+ new Among("\u00E1", -1, 1),
+ new Among("\u00E9", -1, 2)
+ ];
+
+ static const 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)
+ ];
+
+ static const 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)
+ ];
+
+ static const 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)
+ ];
+
+ static const 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)
+ ];
+
+ static const g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14] : int[];
+
+ var I_p1 : int = 0;
+
+ function copy_from (other : HungarianStemmer) : void
+ {
+ this.I_p1 = other.I_p1;
+ super.copy_from(other);
+ }
+
+ function r_mark_regions () : boolean
+ {
+ var v_1 : int;
+ var v_2 : int;
+ var v_3 : int;
+ // (, line 44
+ this.I_p1 = this.limit;
+ // or, line 51
+ var lab0 = true;
+ lab0: while (lab0 == true)
+ {
+ lab0 = false;
+ v_1 = this.cursor;
+ var lab1 = true;
+ lab1: while (lab1 == true)
+ {
+ lab1 = false;
+ // (, line 48
+ if (!(this.in_grouping(HungarianStemmer.g_v, 97, 252)))
+ {
+ break lab1;
+ }
+ // goto, line 48
+ golab2: while(true)
+ {
+ v_2 = this.cursor;
+ var lab3 = true;
+ lab3: while (lab3 == true)
+ {
+ lab3 = false;
+ if (!(this.out_grouping(HungarianStemmer.g_v, 97, 252)))
+ {
+ break lab3;
+ }
+ this.cursor = v_2;
+ break golab2;
+ }
+ this.cursor = v_2;
+ if (this.cursor >= this.limit)
+ {
+ break lab1;
+ }
+ this.cursor++;
+ }
+ // or, line 49
+ var lab4 = true;
+ lab4: while (lab4 == true)
+ {
+ lab4 = false;
+ v_3 = this.cursor;
+ var lab5 = true;
+ lab5: while (lab5 == true)
+ {
+ lab5 = false;
+ // among, line 49
+ if (this.find_among(HungarianStemmer.a_0, 8) == 0)
+ {
+ break lab5;
+ }
+ 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)
+ {
+ var lab7 = true;
+ lab7: while (lab7 == true)
+ {
+ lab7 = false;
+ if (!(this.in_grouping(HungarianStemmer.g_v, 97, 252)))
+ {
+ break lab7;
+ }
+ break golab6;
+ }
+ if (this.cursor >= this.limit)
+ {
+ return false;
+ }
+ this.cursor++;
+ }
+ // setmark p1, line 53
+ this.I_p1 = this.cursor;
+ }
+ return true;
+ }
+
+ function r_R1 () : boolean
+ {
+ if (!(this.I_p1 <= this.cursor))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ function r_v_ending () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 62
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ // (, line 63
+ // <-, line 63
+ if (!this.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ }
+
+ function r_double () : boolean
+ {
+ var v_1 : int;
+ // (, 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;
+ }
+
+ function r_undouble () : boolean
+ {
+ // (, line 72
+ // next, line 73
+ if (this.cursor <= this.limit_backward)
+ {
+ return false;
+ }
+ this.cursor--;
+ // [, line 73
+ this.ket = this.cursor;
+ // hop, line 73
+ {
+ var c : int = 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;
+ }
+
+ function r_instrum () : boolean
+ {
+ var among_var : int;
+ // (, 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;
+ }
+
+ function r_case () : boolean
+ {
+ // (, 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;
+ }
+
+ function r_case_special () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 117
+ if (!this.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ // (, line 118
+ // <-, line 118
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ // (, line 119
+ // <-, line 119
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ }
+
+ function r_case_other () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 127
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ // (, line 128
+ // <-, line 128
+ if (!this.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ }
+
+ function r_factive () : boolean
+ {
+ var among_var : int;
+ // (, 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;
+ }
+
+ function r_plural () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 143
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ // (, line 144
+ // <-, 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;
+ }
+
+ function r_owned () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 156
+ if (!this.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ // (, line 157
+ // <-, 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
+ // <-, line 159
+ if (!this.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ // (, line 160
+ // <-, 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
+ // <-, 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;
+ }
+
+ function r_sing_owner () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 170
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ // (, line 171
+ // <-, 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
+ // <-, line 173
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ // (, line 174
+ // <-, 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
+ // <-, line 178
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 11:
+ // (, line 179
+ // <-, 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
+ // <-, line 182
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 15:
+ // (, line 183
+ // <-, 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
+ // <-, line 187
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 20:
+ // (, line 188
+ // <-, line 188
+ if (!this.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ }
+
+ function r_plur_owner () : boolean
+ {
+ var among_var : int;
+ // (, 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
+ // <-, line 195
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ // (, line 196
+ // <-, 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
+ // <-, line 200
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 8:
+ // (, line 201
+ // <-, 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
+ // <-, line 205
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 13:
+ // (, line 206
+ // <-, 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
+ // <-, line 211
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 19:
+ // (, line 212
+ // <-, 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
+ // <-, line 216
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 23:
+ // (, line 217
+ // <-, 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
+ // <-, line 221
+ if (!this.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 28:
+ // (, line 222
+ // <-, 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;
+ }
+
+ override function stem () : boolean
+ {
+ var v_1 : int;
+ var v_2 : int;
+ var v_3 : int;
+ var v_4 : int;
+ var v_5 : int;
+ var v_6 : int;
+ var v_7 : int;
+ var v_8 : int;
+ var v_9 : int;
+ var v_10 : int;
+ // (, line 228
+ // do, line 229
+ v_1 = this.cursor;
+ var lab0 = true;
+ lab0: while (lab0 == true)
+ {
+ lab0 = false;
+ // call mark_regions, line 229
+ if (!this.r_mark_regions())
+ {
+ break lab0;
+ }
+ }
+ 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;
+ var lab1 = true;
+ lab1: while (lab1 == true)
+ {
+ lab1 = false;
+ // call instrum, line 231
+ if (!this.r_instrum())
+ {
+ break lab1;
+ }
+ }
+ this.cursor = this.limit - v_2;
+ // do, line 232
+ v_3 = this.limit - this.cursor;
+ var lab2 = true;
+ lab2: while (lab2 == true)
+ {
+ lab2 = false;
+ // call case, line 232
+ if (!this.r_case())
+ {
+ break lab2;
+ }
+ }
+ this.cursor = this.limit - v_3;
+ // do, line 233
+ v_4 = this.limit - this.cursor;
+ var lab3 = true;
+ lab3: while (lab3 == true)
+ {
+ lab3 = false;
+ // call case_special, line 233
+ if (!this.r_case_special())
+ {
+ break lab3;
+ }
+ }
+ this.cursor = this.limit - v_4;
+ // do, line 234
+ v_5 = this.limit - this.cursor;
+ var lab4 = true;
+ lab4: while (lab4 == true)
+ {
+ lab4 = false;
+ // call case_other, line 234
+ if (!this.r_case_other())
+ {
+ break lab4;
+ }
+ }
+ this.cursor = this.limit - v_5;
+ // do, line 235
+ v_6 = this.limit - this.cursor;
+ var lab5 = true;
+ lab5: while (lab5 == true)
+ {
+ lab5 = false;
+ // call factive, line 235
+ if (!this.r_factive())
+ {
+ break lab5;
+ }
+ }
+ this.cursor = this.limit - v_6;
+ // do, line 236
+ v_7 = this.limit - this.cursor;
+ var lab6 = true;
+ lab6: while (lab6 == true)
+ {
+ lab6 = false;
+ // call owned, line 236
+ if (!this.r_owned())
+ {
+ break lab6;
+ }
+ }
+ this.cursor = this.limit - v_7;
+ // do, line 237
+ v_8 = this.limit - this.cursor;
+ var lab7 = true;
+ lab7: while (lab7 == true)
+ {
+ lab7 = false;
+ // call sing_owner, line 237
+ if (!this.r_sing_owner())
+ {
+ break lab7;
+ }
+ }
+ this.cursor = this.limit - v_8;
+ // do, line 238
+ v_9 = this.limit - this.cursor;
+ var lab8 = true;
+ lab8: while (lab8 == true)
+ {
+ lab8 = false;
+ // call plur_owner, line 238
+ if (!this.r_plur_owner())
+ {
+ break lab8;
+ }
+ }
+ this.cursor = this.limit - v_9;
+ // do, line 239
+ v_10 = this.limit - this.cursor;
+ var lab9 = true;
+ lab9: while (lab9 == true)
+ {
+ lab9 = false;
+ // call plural, line 239
+ if (!this.r_plural())
+ {
+ break lab9;
+ }
+ }
+ this.cursor = this.limit - v_10;
+ this.cursor = this.limit_backward; return true;
+ }
+
+ function equals (o : variant) : boolean {
+ return o instanceof HungarianStemmer;
+ }
+
+ function hashCode() : int
+ {
+ //http://stackoverflow.com/questions/194846/is-there-any-kind-of-hashcode-function-in-javascript
+ var classname = "HungarianStemmer";
+ var hash = 0;
+ if (classname.length == 0) return hash;
+ for (var i = 0; i < classname.length; i++) {
+ var char = classname.charCodeAt(i);
+ hash = ((hash << 5) - hash) + char;
+ hash = hash & hash; // Convert to 32bit integer
+ }
+ return hash;
+ }
+
+}
+