summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/oktavia/src/stemmer/porter-stemmer.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/server/h2o/libh2o/misc/oktavia/src/stemmer/porter-stemmer.jsx')
-rw-r--r--web/server/h2o/libh2o/misc/oktavia/src/stemmer/porter-stemmer.jsx1121
1 files changed, 0 insertions, 1121 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/porter-stemmer.jsx b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/porter-stemmer.jsx
deleted file mode 100644
index f8570501d..000000000
--- a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/porter-stemmer.jsx
+++ /dev/null
@@ -1,1121 +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 PorterStemmer extends BaseStemmer
-{
- static const serialVersionUID = 1;
- static const methodObject = new PorterStemmer();
-
- static const a_0 = [
- new Among("s", -1, 3),
- new Among("ies", 0, 2),
- new Among("sses", 0, 1),
- new Among("ss", 0, -1)
- ];
-
- static const a_1 = [
- 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_2 = [
- new Among("ed", -1, 2),
- new Among("eed", 0, 1),
- new Among("ing", -1, 2)
- ];
-
- static const a_3 = [
- new Among("anci", -1, 3),
- new Among("enci", -1, 2),
- new Among("abli", -1, 4),
- new Among("eli", -1, 6),
- new Among("alli", -1, 9),
- new Among("ousli", -1, 12),
- new Among("entli", -1, 5),
- new Among("aliti", -1, 10),
- new Among("biliti", -1, 14),
- new Among("iviti", -1, 13),
- new Among("tional", -1, 1),
- new Among("ational", 10, 8),
- new Among("alism", -1, 10),
- new Among("ation", -1, 8),
- new Among("ization", 13, 7),
- new Among("izer", -1, 7),
- new Among("ator", -1, 8),
- new Among("iveness", -1, 13),
- new Among("fulness", -1, 11),
- new Among("ousness", -1, 12)
- ];
-
- static const a_4 = [
- new Among("icate", -1, 2),
- new Among("ative", -1, 3),
- new Among("alize", -1, 1),
- new Among("iciti", -1, 2),
- new Among("ical", -1, 2),
- new Among("ful", -1, 3),
- new Among("ness", -1, 3)
- ];
-
- static const a_5 = [
- 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),
- new Among("ou", -1, 1)
- ];
-
- static const g_v = [17, 65, 16, 1] : int[];
-
- static const g_v_WXY = [1, 17, 65, 208, 1] : int[];
-
- var B_Y_found : boolean = false;
- var I_p2 : int = 0;
- var I_p1 : int = 0;
-
- function copy_from (other : PorterStemmer) : 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_shortv () : boolean
- {
- // (, line 19
- if (!(this.out_grouping_b(PorterStemmer.g_v_WXY, 89, 121)))
- {
- return false;
- }
- if (!(this.in_grouping_b(PorterStemmer.g_v, 97, 121)))
- {
- return false;
- }
- if (!(this.out_grouping_b(PorterStemmer.g_v, 97, 121)))
- {
- 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;
- // (, line 24
- // [, line 25
- this.ket = this.cursor;
- // substring, line 25
- among_var = this.find_among_b(PorterStemmer.a_0, 4);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 25
- this.bra = this.cursor;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 26
- // <-, line 26
- if (!this.slice_from("ss"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 27
- // <-, line 27
- if (!this.slice_from("i"))
- {
- return false;
- }
- break;
- case 3:
- // (, line 29
- // delete, line 29
- 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 33
- // [, line 34
- this.ket = this.cursor;
- // substring, line 34
- among_var = this.find_among_b(PorterStemmer.a_2, 3);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 34
- this.bra = this.cursor;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 35
- // call R1, line 35
- if (!this.r_R1())
- {
- return false;
- }
- // <-, line 35
- if (!this.slice_from("ee"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 37
- // test, line 38
- v_1 = this.limit - this.cursor;
- // gopast, line 38
- golab0: while(true)
- {
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- if (!(this.in_grouping_b(PorterStemmer.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 38
- if (!this.slice_del())
- {
- return false;
- }
- // test, line 39
- v_3 = this.limit - this.cursor;
- // substring, line 39
- among_var = this.find_among_b(PorterStemmer.a_1, 13);
- if (among_var == 0)
- {
- return false;
- }
- this.cursor = this.limit - v_3;
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 41
- // <+, line 41
- {
- var c : int = this.cursor;
- this.insert(this.cursor, this.cursor, "e");
- this.cursor = c;
- }
- break;
- case 2:
- // (, line 44
- // [, line 44
- this.ket = this.cursor;
- // next, line 44
- if (this.cursor <= this.limit_backward)
- {
- return false;
- }
- this.cursor--;
- // ], line 44
- this.bra = this.cursor;
- // delete, line 44
- if (!this.slice_del())
- {
- return false;
- }
- break;
- case 3:
- // (, line 45
- // atmark, line 45
- if (this.cursor != this.I_p1)
- {
- return false;
- }
- // test, line 45
- v_4 = this.limit - this.cursor;
- // call shortv, line 45
- if (!this.r_shortv())
- {
- return false;
- }
- this.cursor = this.limit - v_4;
- // <+, line 45
- {
- 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;
- // (, line 51
- // [, line 52
- this.ket = this.cursor;
- // or, line 52
- 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 52
- if (!(this.eq_s_b(1, "y")))
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // literal, line 52
- if (!(this.eq_s_b(1, "Y")))
- {
- return false;
- }
- }
- // ], line 52
- this.bra = this.cursor;
- // gopast, line 53
- golab2: while(true)
- {
- var lab3 = true;
- lab3: while (lab3 == true)
- {
- lab3 = false;
- if (!(this.in_grouping_b(PorterStemmer.g_v, 97, 121)))
- {
- break lab3;
- }
- break golab2;
- }
- if (this.cursor <= this.limit_backward)
- {
- return false;
- }
- this.cursor--;
- }
- // <-, line 54
- if (!this.slice_from("i"))
- {
- return false;
- }
- return true;
- }
-
- function r_Step_2 () : boolean
- {
- var among_var : int;
- // (, line 57
- // [, line 58
- this.ket = this.cursor;
- // substring, line 58
- among_var = this.find_among_b(PorterStemmer.a_3, 20);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 58
- this.bra = this.cursor;
- // call R1, line 58
- if (!this.r_R1())
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 59
- // <-, line 59
- if (!this.slice_from("tion"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 60
- // <-, line 60
- if (!this.slice_from("ence"))
- {
- return false;
- }
- break;
- case 3:
- // (, line 61
- // <-, line 61
- if (!this.slice_from("ance"))
- {
- return false;
- }
- break;
- case 4:
- // (, line 62
- // <-, line 62
- if (!this.slice_from("able"))
- {
- return false;
- }
- break;
- case 5:
- // (, line 63
- // <-, line 63
- if (!this.slice_from("ent"))
- {
- return false;
- }
- break;
- case 6:
- // (, line 64
- // <-, line 64
- if (!this.slice_from("e"))
- {
- return false;
- }
- break;
- case 7:
- // (, line 66
- // <-, line 66
- if (!this.slice_from("ize"))
- {
- return false;
- }
- break;
- case 8:
- // (, line 68
- // <-, line 68
- if (!this.slice_from("ate"))
- {
- return false;
- }
- break;
- case 9:
- // (, line 69
- // <-, line 69
- if (!this.slice_from("al"))
- {
- return false;
- }
- break;
- case 10:
- // (, line 71
- // <-, line 71
- if (!this.slice_from("al"))
- {
- return false;
- }
- break;
- case 11:
- // (, line 72
- // <-, line 72
- if (!this.slice_from("ful"))
- {
- return false;
- }
- break;
- case 12:
- // (, line 74
- // <-, line 74
- if (!this.slice_from("ous"))
- {
- return false;
- }
- break;
- case 13:
- // (, line 76
- // <-, line 76
- if (!this.slice_from("ive"))
- {
- return false;
- }
- break;
- case 14:
- // (, line 77
- // <-, line 77
- if (!this.slice_from("ble"))
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_3 () : boolean
- {
- var among_var : int;
- // (, line 81
- // [, line 82
- this.ket = this.cursor;
- // substring, line 82
- among_var = this.find_among_b(PorterStemmer.a_4, 7);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 82
- this.bra = this.cursor;
- // call R1, line 82
- if (!this.r_R1())
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 83
- // <-, line 83
- if (!this.slice_from("al"))
- {
- return false;
- }
- break;
- case 2:
- // (, line 85
- // <-, line 85
- if (!this.slice_from("ic"))
- {
- return false;
- }
- break;
- case 3:
- // (, line 87
- // delete, line 87
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_4 () : boolean
- {
- var among_var : int;
- var v_1 : int;
- // (, line 91
- // [, line 92
- this.ket = this.cursor;
- // substring, line 92
- among_var = this.find_among_b(PorterStemmer.a_5, 19);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 92
- this.bra = this.cursor;
- // call R2, line 92
- if (!this.r_R2())
- {
- return false;
- }
- switch (among_var) {
- case 0:
- return false;
- case 1:
- // (, line 95
- // delete, line 95
- if (!this.slice_del())
- {
- return false;
- }
- break;
- case 2:
- // (, line 96
- // or, line 96
- 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 96
- if (!(this.eq_s_b(1, "s")))
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // literal, line 96
- if (!(this.eq_s_b(1, "t")))
- {
- return false;
- }
- }
- // delete, line 96
- if (!this.slice_del())
- {
- return false;
- }
- break;
- }
- return true;
- }
-
- function r_Step_5a () : boolean
- {
- var v_1 : int;
- var v_2 : int;
- // (, line 100
- // [, line 101
- this.ket = this.cursor;
- // literal, line 101
- if (!(this.eq_s_b(1, "e")))
- {
- return false;
- }
- // ], line 101
- this.bra = this.cursor;
- // or, line 102
- 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 102
- if (!this.r_R2())
- {
- break lab1;
- }
- break lab0;
- }
- this.cursor = this.limit - v_1;
- // (, line 102
- // call R1, line 102
- if (!this.r_R1())
- {
- return false;
- }
- // not, line 102
- {
- v_2 = this.limit - this.cursor;
- var lab2 = true;
- lab2: while (lab2 == true)
- {
- lab2 = false;
- // call shortv, line 102
- if (!this.r_shortv())
- {
- break lab2;
- }
- return false;
- }
- this.cursor = this.limit - v_2;
- }
- }
- // delete, line 103
- if (!this.slice_del())
- {
- return false;
- }
- return true;
- }
-
- function r_Step_5b () : boolean
- {
- // (, line 106
- // [, line 107
- this.ket = this.cursor;
- // literal, line 107
- if (!(this.eq_s_b(1, "l")))
- {
- return false;
- }
- // ], line 107
- this.bra = this.cursor;
- // call R2, line 108
- if (!this.r_R2())
- {
- return false;
- }
- // literal, line 108
- if (!(this.eq_s_b(1, "l")))
- {
- return false;
- }
- // delete, line 109
- if (!this.slice_del())
- {
- return false;
- }
- 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_10 : int;
- var v_11 : int;
- var v_12 : int;
- var v_13 : int;
- var v_14 : int;
- var v_15 : int;
- var v_16 : int;
- var v_17 : int;
- var v_18 : int;
- var v_19 : int;
- var v_20 : int;
- // (, line 113
- // unset Y_found, line 115
- this.B_Y_found = false;
- // do, line 116
- v_1 = this.cursor;
- var lab0 = true;
- lab0: while (lab0 == true)
- {
- lab0 = false;
- // (, line 116
- // [, line 116
- this.bra = this.cursor;
- // literal, line 116
- if (!(this.eq_s(1, "y")))
- {
- break lab0;
- }
- // ], line 116
- this.ket = this.cursor;
- // <-, line 116
- if (!this.slice_from("Y"))
- {
- return false;
- }
- // set Y_found, line 116
- this.B_Y_found = true;
- }
- this.cursor = v_1;
- // do, line 117
- v_2 = this.cursor;
- var lab1 = true;
- lab1: while (lab1 == true)
- {
- lab1 = false;
- // repeat, line 117
- replab2: while(true)
- {
- v_3 = this.cursor;
- var lab3 = true;
- lab3: while (lab3 == true)
- {
- lab3 = false;
- // (, line 117
- // goto, line 117
- golab4: while(true)
- {
- v_4 = this.cursor;
- var lab5 = true;
- lab5: while (lab5 == true)
- {
- lab5 = false;
- // (, line 117
- if (!(this.in_grouping(PorterStemmer.g_v, 97, 121)))
- {
- break lab5;
- }
- // [, line 117
- this.bra = this.cursor;
- // literal, line 117
- if (!(this.eq_s(1, "y")))
- {
- break lab5;
- }
- // ], line 117
- this.ket = this.cursor;
- this.cursor = v_4;
- break golab4;
- }
- this.cursor = v_4;
- if (this.cursor >= this.limit)
- {
- break lab3;
- }
- this.cursor++;
- }
- // <-, line 117
- if (!this.slice_from("Y"))
- {
- return false;
- }
- // set Y_found, line 117
- this.B_Y_found = true;
- continue replab2;
- }
- this.cursor = v_3;
- break replab2;
- }
- }
- this.cursor = v_2;
- this.I_p1 = this.limit;
- this.I_p2 = this.limit;
- // do, line 121
- v_5 = this.cursor;
- var lab6 = true;
- lab6: while (lab6 == true)
- {
- lab6 = false;
- // (, line 121
- // gopast, line 122
- golab7: while(true)
- {
- var lab8 = true;
- lab8: while (lab8 == true)
- {
- lab8 = false;
- if (!(this.in_grouping(PorterStemmer.g_v, 97, 121)))
- {
- break lab8;
- }
- break golab7;
- }
- if (this.cursor >= this.limit)
- {
- break lab6;
- }
- this.cursor++;
- }
- // gopast, line 122
- golab9: while(true)
- {
- var lab10 = true;
- lab10: while (lab10 == true)
- {
- lab10 = false;
- if (!(this.out_grouping(PorterStemmer.g_v, 97, 121)))
- {
- break lab10;
- }
- break golab9;
- }
- if (this.cursor >= this.limit)
- {
- break lab6;
- }
- this.cursor++;
- }
- // setmark p1, line 122
- this.I_p1 = this.cursor;
- // gopast, line 123
- golab11: while(true)
- {
- var lab12 = true;
- lab12: while (lab12 == true)
- {
- lab12 = false;
- if (!(this.in_grouping(PorterStemmer.g_v, 97, 121)))
- {
- break lab12;
- }
- break golab11;
- }
- if (this.cursor >= this.limit)
- {
- break lab6;
- }
- this.cursor++;
- }
- // gopast, line 123
- golab13: while(true)
- {
- var lab14 = true;
- lab14: while (lab14 == true)
- {
- lab14 = false;
- if (!(this.out_grouping(PorterStemmer.g_v, 97, 121)))
- {
- break lab14;
- }
- break golab13;
- }
- if (this.cursor >= this.limit)
- {
- break lab6;
- }
- this.cursor++;
- }
- // setmark p2, line 123
- this.I_p2 = this.cursor;
- }
- this.cursor = v_5;
- // backwards, line 126
- this.limit_backward = this.cursor; this.cursor = this.limit;
- // (, line 126
- // do, line 127
- v_10 = this.limit - this.cursor;
- var lab15 = true;
- lab15: while (lab15 == true)
- {
- lab15 = false;
- // call Step_1a, line 127
- if (!this.r_Step_1a())
- {
- break lab15;
- }
- }
- this.cursor = this.limit - v_10;
- // do, line 128
- v_11 = this.limit - this.cursor;
- var lab16 = true;
- lab16: while (lab16 == true)
- {
- lab16 = false;
- // call Step_1b, line 128
- if (!this.r_Step_1b())
- {
- break lab16;
- }
- }
- this.cursor = this.limit - v_11;
- // do, line 129
- v_12 = this.limit - this.cursor;
- var lab17 = true;
- lab17: while (lab17 == true)
- {
- lab17 = false;
- // call Step_1c, line 129
- if (!this.r_Step_1c())
- {
- break lab17;
- }
- }
- this.cursor = this.limit - v_12;
- // do, line 130
- v_13 = this.limit - this.cursor;
- var lab18 = true;
- lab18: while (lab18 == true)
- {
- lab18 = false;
- // call Step_2, line 130
- if (!this.r_Step_2())
- {
- break lab18;
- }
- }
- this.cursor = this.limit - v_13;
- // do, line 131
- v_14 = this.limit - this.cursor;
- var lab19 = true;
- lab19: while (lab19 == true)
- {
- lab19 = false;
- // call Step_3, line 131
- if (!this.r_Step_3())
- {
- break lab19;
- }
- }
- this.cursor = this.limit - v_14;
- // do, line 132
- v_15 = this.limit - this.cursor;
- var lab20 = true;
- lab20: while (lab20 == true)
- {
- lab20 = false;
- // call Step_4, line 132
- if (!this.r_Step_4())
- {
- break lab20;
- }
- }
- this.cursor = this.limit - v_15;
- // do, line 133
- v_16 = this.limit - this.cursor;
- var lab21 = true;
- lab21: while (lab21 == true)
- {
- lab21 = false;
- // call Step_5a, line 133
- if (!this.r_Step_5a())
- {
- break lab21;
- }
- }
- this.cursor = this.limit - v_16;
- // do, line 134
- v_17 = this.limit - this.cursor;
- var lab22 = true;
- lab22: while (lab22 == true)
- {
- lab22 = false;
- // call Step_5b, line 134
- if (!this.r_Step_5b())
- {
- break lab22;
- }
- }
- this.cursor = this.limit - v_17;
- this.cursor = this.limit_backward; // do, line 137
- v_18 = this.cursor;
- var lab23 = true;
- lab23: while (lab23 == true)
- {
- lab23 = false;
- // (, line 137
- // Boolean test Y_found, line 137
- if (!(this.B_Y_found))
- {
- break lab23;
- }
- // repeat, line 137
- replab24: while(true)
- {
- v_19 = this.cursor;
- var lab25 = true;
- lab25: while (lab25 == true)
- {
- lab25 = false;
- // (, line 137
- // goto, line 137
- golab26: while(true)
- {
- v_20 = this.cursor;
- var lab27 = true;
- lab27: while (lab27 == true)
- {
- lab27 = false;
- // (, line 137
- // [, line 137
- this.bra = this.cursor;
- // literal, line 137
- if (!(this.eq_s(1, "Y")))
- {
- break lab27;
- }
- // ], line 137
- this.ket = this.cursor;
- this.cursor = v_20;
- break golab26;
- }
- this.cursor = v_20;
- if (this.cursor >= this.limit)
- {
- break lab25;
- }
- this.cursor++;
- }
- // <-, line 137
- if (!this.slice_from("y"))
- {
- return false;
- }
- continue replab24;
- }
- this.cursor = v_19;
- break replab24;
- }
- }
- this.cursor = v_18;
- return true;
- }
-
- function equals (o : variant) : boolean {
- return o instanceof PorterStemmer;
- }
-
- function hashCode() : int
- {
- //http://stackoverflow.com/questions/194846/is-there-any-kind-of-hashcode-function-in-javascript
- var classname = "PorterStemmer";
- 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;
- }
-
-}
-