summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/oktavia/src/stemmer/english-stemmer.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/server/h2o/libh2o/misc/oktavia/src/stemmer/english-stemmer.jsx')
-rw-r--r--web/server/h2o/libh2o/misc/oktavia/src/stemmer/english-stemmer.jsx1638
1 files changed, 0 insertions, 1638 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/english-stemmer.jsx b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/english-stemmer.jsx
deleted file mode 100644
index 901c12c85..000000000
--- a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/english-stemmer.jsx
+++ /dev/null
@@ -1,1638 +0,0 @@
-// 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 EnglishStemmer extends BaseStemmer
-{
- static const serialVersionUID = 1;
- static const methodObject = new EnglishStemmer();
-
- static const a_0 = [
- new Among("arsen", -1, -1),
- new Among("commun", -1, -1),
- new Among("gener", -1, -1)
- ];
-
- static const a_1 = [
- new Among("'", -1, 1),
- new Among("'s'", 0, 1),
- new Among("'s", -1, 1)
- ];
-
- static const a_2 = [
- new Among("ied", -1, 2),
- new Among("s", -1, 3),
- new Among("ies", 1, 2),
- new Among("sses", 1, 1),
- new Among("ss", 1, -1),
- new Among("us", 1, -1)
- ];
-
- static const a_3 = [
- new Among("", -1, 3),
- new Among("bb", 0, 2),
- new Among("dd", 0, 2),
- new Among("ff", 0, 2),
- new Among("gg", 0, 2),
- new Among("bl", 0, 1),
- new Among("mm", 0, 2),
- new Among("nn", 0, 2),
- new Among("pp", 0, 2),
- new Among("rr", 0, 2),
- new Among("at", 0, 1),
- new Among("tt", 0, 2),
- new Among("iz", 0, 1)
- ];
-
- static const a_4 = [
- new Among("ed", -1, 2),
- new Among("eed", 0, 1),
- new Among("ing", -1, 2),
- new Among("edly", -1, 2),
- new Among("eedly", 3, 1),
- new Among("ingly", -1, 2)
- ];
-
- static const a_5 = [
- new Among("anci", -1, 3),
- new Among("enci", -1, 2),
- new Among("ogi", -1, 13),
- new Among("li", -1, 16),
- new Among("bli", 3, 12),
- new Among("abli", 4, 4),
- new Among("alli", 3, 8),
- new Among("fulli", 3, 14),
- new Among("lessli", 3, 15),
- new Among("ousli", 3, 10),
- new Among("entli", 3, 5),
- new Among("aliti", -1, 8),
- new Among("biliti", -1, 12),
- new Among("iviti", -1, 11),
- new Among("tional", -1, 1),
- new Among("ational", 14, 7),
- new Among("alism", -1, 8),
- new Among("ation", -1, 7),
- new Among("ization", 17, 6),
- new Among("izer", -1, 6),
- new Among("ator", -1, 7),
- new Among("iveness", -1, 11),
- new Among("fulness", -1, 9),
- new Among("ousness", -1, 10)
- ];
-
- static const a_6 = [
- new Among("icate", -1, 4),
- new Among("ative", -1, 6),
- new Among("alize", -1, 3),
- new Among("iciti", -1, 4),
- new Among("ical", -1, 4),
- new Among("tional", -1, 1),
- new Among("ational", 5, 2),
- new Among("ful", -1, 5),
- new Among("ness", -1, 5)
- ];
-
- static const a_7 = [
- new Among("ic", -1, 1),
- new Among("ance", -1, 1),
- new Among("ence", -1, 1),
- new Among("able", -1, 1),
- new Among("ible", -1, 1),
- new Among("ate", -1, 1),
- new Among("ive", -1, 1),
- new Among("ize", -1, 1),
- new Among("iti", -1, 1),
- new Among("al", -1, 1),
- new Among("ism", -1, 1),
- new Among("ion", -1, 2),
- new Among("er", -1, 1),
- new Among("ous", -1, 1),
- new Among("ant", -1, 1),
- new Among("ent", -1, 1),
- new Among("ment", 15, 1),
- new Among("ement", 16, 1)
- ];
-
- static const a_8 = [
- new Among("e", -1, 1),
- new Among("l", -1, 2)
- ];
-
- static const a_9 = [
- new Among("succeed", -1, -1),
- new Among("proceed", -1, -1),
- new Among("exceed", -1, -1),
- new Among("canning", -1, -1),
- new Among("inning", -1, -1),
- new Among("earring", -1, -1),
- new Among("herring", -1, -1),
- new Among("outing", -1, -1)
- ];
-
- static const a_10 = [
- new Among("andes", -1, -1),
- new Among("atlas", -1, -1),
- new Among("bias", -1, -1),
- new Among("cosmos", -1, -1),
- new Among("dying", -1, 3),
- new Among("early", -1, 9),
- new Among("gently", -1, 7),
- new Among("howe", -1, -1),
- new Among("idly", -1, 6),
- new Among("lying", -1, 4),
- new Among("news", -1, -1),
- new Among("only", -1, 10),
- new Among("singly", -1, 11),
- new Among("skies", -1, 2),
- new Among("skis", -1, 1),
- new Among("sky", -1, -1),
- new Among("tying", -1, 5),
- new Among("ugly", -1, 8)
- ];
-
- static const g_v = [17, 65, 16, 1] : int[];
-
- static const g_v_WXY = [1, 17, 65, 208, 1] : int[];
-
- static const g_valid_LI = [55, 141, 2] : int[];
-
- var B_Y_found : boolean = false;
- var I_p2 : int = 0;
- var I_p1 : int = 0;
-
- function copy_from (other : EnglishStemmer) : void
- {
- this.B_Y_found = other.B_Y_found;
- this.I_p2 = other.I_p2;
- this.I_p1 = other.I_p1;
- super.copy_from(other);
- }
-
- function r_prelude () : boolean
- {
- var v_1 : int;
- var v_2 : int;
- var v_3 : int;
- var v_4 : int;
- var v_5 : int;
- // (, line 25
- // unset Y_found, line 26
- this.B_Y_found = false;
- // do, line 27
- v_1 = this.cursor;
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- // (, line 27
- // [, line 27
- this.bra = this.cursor;
- // literal, line 27
- if (!(this.eq_s(1, "'")))
- {
- break lab0;
- }
- // ], line 27
- this.ket = this.cursor;
- // delete, line 27
- if (!this.slice_del())
- {
- return false;
- }
- }
- this.cursor = v_1;
- // do, line 28
- v_2 = this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // (, line 28
- // [, line 28
- this.bra = this.cursor;
- // literal, line 28
- if (!(this.eq_s(1, "y")))
- {
- break lab1;
- }
- // ], line 28
- this.ket = this.cursor;
- // <-, line 28
- if (!this.slice_from("Y"))
- {
- return false;
- }
- // set Y_found, line 28
- this.B_Y_found = true;
- }
- this.cursor = v_2;
- // do, line 29
- v_3 = this.cursor;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // repeat, line 29
- replab3: while(true)
- {
- v_4 = this.cursor;
- var lab4 = true;
- lab4: while (lab4 == true)
- {
- lab4 = false;
- // (, line 29
- // goto, line 29
- golab5: while(true)
- {
- v_5 = this.cursor;
- var lab6 = true;
- lab6: while (lab6 == true)
- {
- lab6 = false;
- // (, line 29
- if (!(this.in_grouping(EnglishStemmer.g_v, 97, 121)))
- {
- break lab6;
- }
- // [, line 29
- this.bra = this.cursor;
- // literal, line 29
- if (!(this.eq_s(1, "y")))
- {
- break lab6;
- }
- // ], line 29
- this.ket = this.cursor;
- this.cursor = v_5;
- break golab5;
- }
- this.cursor = v_5;
- if (this.cursor >= this.limit)
- {
- break lab4;
- }
- this.cursor++;
- }
- // <-, line 29
- if (!this.slice_from("Y"))
- {
- return false;
- }
- // set Y_found, line 29
- this.B_Y_found = true;
- continue replab3;
- }
- this.cursor = v_4;
- break replab3;
- }
- }
- this.cursor = v_3;
- return true;
- }
-
- function r_mark_regions () : boolean
- {
- var v_1 : int;
- var v_2 : int;
- // (, line 32
- this.I_p1 = this.limit;
- this.I_p2 = this.limit;
- // do, line 35
- v_1 = this.cursor;
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- // (, line 35
- // or, line 41
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- v_2 = this.cursor;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // among, line 36
- if (this.find_among(EnglishStemmer.a_0, 3) == 0)
- {
- break lab2;
- }
- break lab1;
- }
- this.cursor = v_2;
- // (, line 41
- // gopast, line 41
- golab3: while(true)
- {
- var lab4 = true;
- lab4: while (lab4 == true)
- {
- lab4 = false;
- if (!(this.in_grouping(EnglishStemmer.g_v, 97, 121)))
- {
- break lab4;
- }
- break golab3;
- }
- if (this.cursor >= this.limit)
- {
- break lab0;
- }
- this.cursor++;
- }
- // gopast, line 41
- golab5: while(true)
- {
- var lab6 = true;
- lab6: while (lab6 == true)
- {
- lab6 = false;
- if (!(this.out_grouping(EnglishStemmer.g_v, 97, 121)))
- {
- break lab6;
- }
- break golab5;
- }
- if (this.cursor >= this.limit)
- {
- break lab0;
- }
- this.cursor++;
- }
- }
- // setmark p1, line 42
- this.I_p1 = this.cursor;
- // gopast, line 43
- golab7: while(true)
- {
- var lab8 = true;
- lab8: while (lab8 == true)
- {
- lab8 = false;
- if (!(this.in_grouping(EnglishStemmer.g_v, 97, 121)))
- {
- break lab8;
- }
- break golab7;
- }
- if (this.cursor >= this.limit)
- {
- break lab0;
- }
- this.cursor++;
- }
- // gopast, line 43
- golab9: while(true)
- {
- var lab10 = true;
- lab10: while (lab10 == true)
- {
- lab10 = false;
- if (!(this.out_grouping(EnglishStemmer.g_v, 97, 121)))
- {
- break lab10;
- }
- break golab9;
- }
- if (this.cursor >= this.limit)
- {
- break lab0;
- }
- this.cursor++;
- }
- // setmark p2, line 43
- this.I_p2 = this.cursor;
- }
- this.cursor = v_1;
- return true;
- }
-
- function r_shortv () : boolean
- {
- var v_1 : int;
- // (, line 49
- // or, line 51
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- v_1 = this.limit - this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // (, line 50
- if (!(this.out_grouping_b(EnglishStemmer.g_v_WXY, 89, 121)))
- {
- break lab1;
- }
- if (!(this.in_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- break lab1;
- }
- if (!(this.out_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // (, line 52
- if (!(this.out_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- return false;
- }
- if (!(this.in_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- return false;
- }
- // atlimit, line 52
- if (this.cursor > this.limit_backward)
- {
- return false;
- }
- }
- return true;
- }
-
- function r_R1 () : boolean
- {
- if (!(this.I_p1 <= this.cursor))
- {
- return false;
- }
- return true;
- }
-
- function r_R2 () : boolean
- {
- if (!(this.I_p2 <= this.cursor))
- {
- return false;
- }
- return true;
- }
-
- function r_Step_1a () : boolean
- {
- var among_var : int;
- var v_1 : int;
- var v_2 : int;
- // (, line 58
- // try, line 59
- v_1 = this.limit - this.cursor;
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- // (, line 59
- // [, line 60
- this.ket = this.cursor;
- // substring, line 60
- among_var = this.find_among_b(EnglishStemmer.a_1, 3);
- if (among_var == 0)
- {
- this.cursor = this.limit - v_1;
- break lab0;
- }
- // ], line 60
- this.bra = this.cursor;
- switch (among_var) {
- case 0:
- this.cursor = this.limit - v_1;
- break lab0;
- case 1:
- // (, line 62
- // delete, line 62
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- }
- // [, line 65
- this.ket = this.cursor;
- // substring, line 65
- among_var = this.find_among_b(EnglishStemmer.a_2, 6);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 65
- this.bra = this.cursor;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 66
- // <-, line 66
- if (!this.slice_from("ss"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 68
- // or, line 68
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- v_2 = this.limit - this.cursor;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // (, line 68
- // hop, line 68
- {
- var c : int = this.cursor - 2;
- if (this.limit_backward > c || c > this.limit)
- {
- break lab2;
- }
- this.cursor = c;
- }
- // <-, line 68
- if (!this.slice_from("i"))
- {
- return false;
- }
- break lab1;
- }
- this.cursor = this.limit - v_2;
- // <-, line 68
- if (!this.slice_from("ie"))
- {
- return false;
- }
- }
- break;
- case 3:
- // (, line 69
- // next, line 69
- if (this.cursor <= this.limit_backward)
- {
- return false;
- }
- this.cursor--;
- // gopast, line 69
- golab3: while(true)
- {
- var lab4 = true;
- lab4: while (lab4 == true)
- {
- lab4 = false;
- if (!(this.in_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- break lab4;
- }
- break golab3;
- }
- if (this.cursor <= this.limit_backward)
- {
- return false;
- }
- this.cursor--;
- }
- // delete, line 69
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_1b () : boolean
- {
- var among_var : int;
- var v_1 : int;
- var v_3 : int;
- var v_4 : int;
- // (, line 74
- // [, line 75
- this.ket = this.cursor;
- // substring, line 75
- among_var = this.find_among_b(EnglishStemmer.a_4, 6);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 75
- this.bra = this.cursor;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 77
- // call R1, line 77
- if (!this.r_R1())
- {
- return false;
- }
- // <-, line 77
- if (!this.slice_from("ee"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 79
- // test, line 80
- v_1 = this.limit - this.cursor;
- // gopast, line 80
- golab0: while(true)
- {
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- if (!(this.in_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- break lab1;
- }
- break golab0;
- }
- if (this.cursor <= this.limit_backward)
- {
- return false;
- }
- this.cursor--;
- }
- this.cursor = this.limit - v_1;
- // delete, line 80
- if (!this.slice_del())
- {
- return false;
- }
- // test, line 81
- v_3 = this.limit - this.cursor;
- // substring, line 81
- among_var = this.find_among_b(EnglishStemmer.a_3, 13);
- if (among_var == 0)
- {
- return false;
- }
- this.cursor = this.limit - v_3;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 83
- // <+, line 83
- {
- var c : int = this.cursor;
- this.insert(this.cursor, this.cursor, "e");
- this.cursor = c;
- }
- break;
- case 2:
- // (, line 86
- // [, line 86
- this.ket = this.cursor;
- // next, line 86
- if (this.cursor <= this.limit_backward)
- {
- return false;
- }
- this.cursor--;
- // ], line 86
- this.bra = this.cursor;
- // delete, line 86
- if (!this.slice_del())
- {
- return false;
- }
- break;
- case 3:
- // (, line 87
- // atmark, line 87
- if (this.cursor != this.I_p1)
- {
- return false;
- }
- // test, line 87
- v_4 = this.limit - this.cursor;
- // call shortv, line 87
- if (!this.r_shortv())
- {
- return false;
- }
- this.cursor = this.limit - v_4;
- // <+, line 87
- {
- var c : int = this.cursor;
- this.insert(this.cursor, this.cursor, "e");
- this.cursor = c;
- }
- break;
- }
- break;
- }
- return true;
- }
-
- function r_Step_1c () : boolean
- {
- var v_1 : int;
- var v_2 : int;
- // (, line 93
- // [, line 94
- this.ket = this.cursor;
- // or, line 94
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- v_1 = this.limit - this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // literal, line 94
- if (!(this.eq_s_b(1, "y")))
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // literal, line 94
- if (!(this.eq_s_b(1, "Y")))
- {
- return false;
- }
- }
- // ], line 94
- this.bra = this.cursor;
- if (!(this.out_grouping_b(EnglishStemmer.g_v, 97, 121)))
- {
- return false;
- }
- // not, line 95
- {
- v_2 = this.limit - this.cursor;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // atlimit, line 95
- if (this.cursor > this.limit_backward)
- {
- break lab2;
- }
- return false;
- }
- this.cursor = this.limit - v_2;
- }
- // <-, line 96
- if (!this.slice_from("i"))
- {
- return false;
- }
- return true;
- }
-
- function r_Step_2 () : boolean
- {
- var among_var : int;
- // (, line 99
- // [, line 100
- this.ket = this.cursor;
- // substring, line 100
- among_var = this.find_among_b(EnglishStemmer.a_5, 24);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 100
- this.bra = this.cursor;
- // call R1, line 100
- if (!this.r_R1())
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 101
- // <-, line 101
- if (!this.slice_from("tion"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 102
- // <-, line 102
- if (!this.slice_from("ence"))
- {
- return false;
- }
- break;
- case 3:
- // (, line 103
- // <-, line 103
- if (!this.slice_from("ance"))
- {
- return false;
- }
- break;
- case 4:
- // (, line 104
- // <-, line 104
- if (!this.slice_from("able"))
- {
- return false;
- }
- break;
- case 5:
- // (, line 105
- // <-, line 105
- if (!this.slice_from("ent"))
- {
- return false;
- }
- break;
- case 6:
- // (, line 107
- // <-, line 107
- if (!this.slice_from("ize"))
- {
- return false;
- }
- break;
- case 7:
- // (, line 109
- // <-, line 109
- if (!this.slice_from("ate"))
- {
- return false;
- }
- break;
- case 8:
- // (, line 111
- // <-, line 111
- if (!this.slice_from("al"))
- {
- return false;
- }
- break;
- case 9:
- // (, line 112
- // <-, line 112
- if (!this.slice_from("ful"))
- {
- return false;
- }
- break;
- case 10:
- // (, line 114
- // <-, line 114
- if (!this.slice_from("ous"))
- {
- return false;
- }
- break;
- case 11:
- // (, line 116
- // <-, line 116
- if (!this.slice_from("ive"))
- {
- return false;
- }
- break;
- case 12:
- // (, line 118
- // <-, line 118
- if (!this.slice_from("ble"))
- {
- return false;
- }
- break;
- case 13:
- // (, line 119
- // literal, line 119
- if (!(this.eq_s_b(1, "l")))
- {
- return false;
- }
- // <-, line 119
- if (!this.slice_from("og"))
- {
- return false;
- }
- break;
- case 14:
- // (, line 120
- // <-, line 120
- if (!this.slice_from("ful"))
- {
- return false;
- }
- break;
- case 15:
- // (, line 121
- // <-, line 121
- if (!this.slice_from("less"))
- {
- return false;
- }
- break;
- case 16:
- // (, line 122
- if (!(this.in_grouping_b(EnglishStemmer.g_valid_LI, 99, 116)))
- {
- return false;
- }
- // delete, line 122
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_3 () : boolean
- {
- var among_var : int;
- // (, line 126
- // [, line 127
- this.ket = this.cursor;
- // substring, line 127
- among_var = this.find_among_b(EnglishStemmer.a_6, 9);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 127
- this.bra = this.cursor;
- // call R1, line 127
- if (!this.r_R1())
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 128
- // <-, line 128
- if (!this.slice_from("tion"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 129
- // <-, line 129
- if (!this.slice_from("ate"))
- {
- return false;
- }
- break;
- case 3:
- // (, line 130
- // <-, line 130
- if (!this.slice_from("al"))
- {
- return false;
- }
- break;
- case 4:
- // (, line 132
- // <-, line 132
- if (!this.slice_from("ic"))
- {
- return false;
- }
- break;
- case 5:
- // (, line 134
- // delete, line 134
- if (!this.slice_del())
- {
- return false;
- }
- break;
- case 6:
- // (, line 136
- // call R2, line 136
- if (!this.r_R2())
- {
- return false;
- }
- // delete, line 136
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_4 () : boolean
- {
- var among_var : int;
- var v_1 : int;
- // (, line 140
- // [, line 141
- this.ket = this.cursor;
- // substring, line 141
- among_var = this.find_among_b(EnglishStemmer.a_7, 18);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 141
- this.bra = this.cursor;
- // call R2, line 141
- if (!this.r_R2())
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 144
- // delete, line 144
- if (!this.slice_del())
- {
- return false;
- }
- break;
- case 2:
- // (, line 145
- // or, line 145
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- v_1 = this.limit - this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // literal, line 145
- if (!(this.eq_s_b(1, "s")))
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // literal, line 145
- if (!(this.eq_s_b(1, "t")))
- {
- return false;
- }
- }
- // delete, line 145
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_5 () : boolean
- {
- var among_var : int;
- var v_1 : int;
- var v_2 : int;
- // (, line 149
- // [, line 150
- this.ket = this.cursor;
- // substring, line 150
- among_var = this.find_among_b(EnglishStemmer.a_8, 2);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 150
- this.bra = this.cursor;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 151
- // or, line 151
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- v_1 = this.limit - this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // call R2, line 151
- if (!this.r_R2())
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // (, line 151
- // call R1, line 151
- if (!this.r_R1())
- {
- return false;
- }
- // not, line 151
- {
- v_2 = this.limit - this.cursor;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // call shortv, line 151
- if (!this.r_shortv())
- {
- break lab2;
- }
- return false;
- }
- this.cursor = this.limit - v_2;
- }
- }
- // delete, line 151
- if (!this.slice_del())
- {
- return false;
- }
- break;
- case 2:
- // (, line 152
- // call R2, line 152
- if (!this.r_R2())
- {
- return false;
- }
- // literal, line 152
- if (!(this.eq_s_b(1, "l")))
- {
- return false;
- }
- // delete, line 152
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_exception2 () : boolean
- {
- // (, line 156
- // [, line 158
- this.ket = this.cursor;
- // substring, line 158
- if (this.find_among_b(EnglishStemmer.a_9, 8) == 0)
- {
- return false;
- }
- // ], line 158
- this.bra = this.cursor;
- // atlimit, line 158
- if (this.cursor > this.limit_backward)
- {
- return false;
- }
- return true;
- }
-
- function r_exception1 () : boolean
- {
- var among_var : int;
- // (, line 168
- // [, line 170
- this.bra = this.cursor;
- // substring, line 170
- among_var = this.find_among(EnglishStemmer.a_10, 18);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 170
- this.ket = this.cursor;
- // atlimit, line 170
- if (this.cursor < this.limit)
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 174
- // <-, line 174
- if (!this.slice_from("ski"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 175
- // <-, line 175
- if (!this.slice_from("sky"))
- {
- return false;
- }
- break;
- case 3:
- // (, line 176
- // <-, line 176
- if (!this.slice_from("die"))
- {
- return false;
- }
- break;
- case 4:
- // (, line 177
- // <-, line 177
- if (!this.slice_from("lie"))
- {
- return false;
- }
- break;
- case 5:
- // (, line 178
- // <-, line 178
- if (!this.slice_from("tie"))
- {
- return false;
- }
- break;
- case 6:
- // (, line 182
- // <-, line 182
- if (!this.slice_from("idl"))
- {
- return false;
- }
- break;
- case 7:
- // (, line 183
- // <-, line 183
- if (!this.slice_from("gentl"))
- {
- return false;
- }
- break;
- case 8:
- // (, line 184
- // <-, line 184
- if (!this.slice_from("ugli"))
- {
- return false;
- }
- break;
- case 9:
- // (, line 185
- // <-, line 185
- if (!this.slice_from("earli"))
- {
- return false;
- }
- break;
- case 10:
- // (, line 186
- // <-, line 186
- if (!this.slice_from("onli"))
- {
- return false;
- }
- break;
- case 11:
- // (, line 187
- // <-, line 187
- if (!this.slice_from("singl"))
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_postlude () : boolean
- {
- var v_1 : int;
- var v_2 : int;
- // (, line 203
- // Boolean test Y_found, line 203
- if (!(this.B_Y_found))
- {
- return false;
- }
- // repeat, line 203
- replab0: while(true)
- {
- v_1 = this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // (, line 203
- // goto, line 203
- golab2: while(true)
- {
- v_2 = this.cursor;
- var lab3 = true;
- lab3: while (lab3 == true)
- {
- lab3 = false;
- // (, line 203
- // [, line 203
- this.bra = this.cursor;
- // literal, line 203
- if (!(this.eq_s(1, "Y")))
- {
- break lab3;
- }
- // ], line 203
- this.ket = this.cursor;
- this.cursor = v_2;
- break golab2;
- }
- this.cursor = v_2;
- if (this.cursor >= this.limit)
- {
- break lab1;
- }
- this.cursor++;
- }
- // <-, line 203
- if (!this.slice_from("y"))
- {
- return false;
- }
- continue replab0;
- }
- this.cursor = v_1;
- break replab0;
- }
- 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;
- var v_11 : int;
- var v_12 : int;
- var v_13 : int;
- // (, line 205
- // or, line 207
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- v_1 = this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // call exception1, line 207
- if (!this.r_exception1())
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = v_1;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // not, line 208
- {
- v_2 = this.cursor;
- var lab3 = true;
- lab3: while (lab3 == true)
- {
- lab3 = false;
- // hop, line 208
- {
- var c : int = this.cursor + 3;
- if (0 > c || c > this.limit)
- {
- break lab3;
- }
- this.cursor = c;
- }
- break lab2;
- }
- this.cursor = v_2;
- }
- break lab0;
- }
- this.cursor = v_1;
- // (, line 208
- // do, line 209
- v_3 = this.cursor;
- var lab4 = true;
- lab4: while (lab4 == true)
- {
- lab4 = false;
- // call prelude, line 209
- if (!this.r_prelude())
- {
- break lab4;
- }
- }
- this.cursor = v_3;
- // do, line 210
- v_4 = this.cursor;
- var lab5 = true;
- lab5: while (lab5 == true)
- {
- lab5 = false;
- // call mark_regions, line 210
- if (!this.r_mark_regions())
- {
- break lab5;
- }
- }
- this.cursor = v_4;
- // backwards, line 211
- this.limit_backward = this.cursor; this.cursor = this.limit;
- // (, line 211
- // do, line 213
- v_5 = this.limit - this.cursor;
- var lab6 = true;
- lab6: while (lab6 == true)
- {
- lab6 = false;
- // call Step_1a, line 213
- if (!this.r_Step_1a())
- {
- break lab6;
- }
- }
- this.cursor = this.limit - v_5;
- // or, line 215
- var lab7 = true;
- lab7: while (lab7 == true)
- {
- lab7 = false;
- v_6 = this.limit - this.cursor;
- var lab8 = true;
- lab8: while (lab8 == true)
- {
- lab8 = false;
- // call exception2, line 215
- if (!this.r_exception2())
- {
- break lab8;
- }
- break lab7;
- }
- this.cursor = this.limit - v_6;
- // (, line 215
- // do, line 217
- v_7 = this.limit - this.cursor;
- var lab9 = true;
- lab9: while (lab9 == true)
- {
- lab9 = false;
- // call Step_1b, line 217
- if (!this.r_Step_1b())
- {
- break lab9;
- }
- }
- this.cursor = this.limit - v_7;
- // do, line 218
- v_8 = this.limit - this.cursor;
- var lab10 = true;
- lab10: while (lab10 == true)
- {
- lab10 = false;
- // call Step_1c, line 218
- if (!this.r_Step_1c())
- {
- break lab10;
- }
- }
- this.cursor = this.limit - v_8;
- // do, line 220
- v_9 = this.limit - this.cursor;
- var lab11 = true;
- lab11: while (lab11 == true)
- {
- lab11 = false;
- // call Step_2, line 220
- if (!this.r_Step_2())
- {
- break lab11;
- }
- }
- this.cursor = this.limit - v_9;
- // do, line 221
- v_10 = this.limit - this.cursor;
- var lab12 = true;
- lab12: while (lab12 == true)
- {
- lab12 = false;
- // call Step_3, line 221
- if (!this.r_Step_3())
- {
- break lab12;
- }
- }
- this.cursor = this.limit - v_10;
- // do, line 222
- v_11 = this.limit - this.cursor;
- var lab13 = true;
- lab13: while (lab13 == true)
- {
- lab13 = false;
- // call Step_4, line 222
- if (!this.r_Step_4())
- {
- break lab13;
- }
- }
- this.cursor = this.limit - v_11;
- // do, line 224
- v_12 = this.limit - this.cursor;
- var lab14 = true;
- lab14: while (lab14 == true)
- {
- lab14 = false;
- // call Step_5, line 224
- if (!this.r_Step_5())
- {
- break lab14;
- }
- }
- this.cursor = this.limit - v_12;
- }
- this.cursor = this.limit_backward; // do, line 227
- v_13 = this.cursor;
- var lab15 = true;
- lab15: while (lab15 == true)
- {
- lab15 = false;
- // call postlude, line 227
- if (!this.r_postlude())
- {
- break lab15;
- }
- }
- this.cursor = v_13;
- }
- return true;
- }
-
- function equals (o : variant) : boolean {
- return o instanceof EnglishStemmer;
- }
-
- function hashCode() : int
- {
- //http://stackoverflow.com/questions/194846/is-there-any-kind-of-hashcode-function-in-javascript
- var classname = "EnglishStemmer";
- 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;
- }
-
-}
-