nlptoolkit-morphologicalanalysis 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +144 -0
  2. package/dist/Corpus/DisambiguatedWord.d.ts +20 -0
  3. package/dist/Corpus/DisambiguatedWord.js +38 -0
  4. package/dist/Corpus/DisambiguatedWord.js.map +1 -0
  5. package/dist/Corpus/DisambiguationCorpus.d.ts +4 -0
  6. package/dist/Corpus/DisambiguationCorpus.js +54 -0
  7. package/dist/Corpus/DisambiguationCorpus.js.map +1 -0
  8. package/dist/MorphologicalAnalysis/FiniteStateMachine.d.ts +63 -0
  9. package/dist/MorphologicalAnalysis/FiniteStateMachine.js +178 -0
  10. package/dist/MorphologicalAnalysis/FiniteStateMachine.js.map +1 -0
  11. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.d.ts +399 -0
  12. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.js +1255 -0
  13. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.js.map +1 -0
  14. package/dist/MorphologicalAnalysis/FsmParse.d.ts +290 -0
  15. package/dist/MorphologicalAnalysis/FsmParse.js +684 -0
  16. package/dist/MorphologicalAnalysis/FsmParse.js.map +1 -0
  17. package/dist/MorphologicalAnalysis/FsmParseList.d.ts +96 -0
  18. package/dist/MorphologicalAnalysis/FsmParseList.js +242 -0
  19. package/dist/MorphologicalAnalysis/FsmParseList.js.map +1 -0
  20. package/dist/MorphologicalAnalysis/InflectionalGroup.d.ts +77 -0
  21. package/dist/MorphologicalAnalysis/InflectionalGroup.js +213 -0
  22. package/dist/MorphologicalAnalysis/InflectionalGroup.js.map +1 -0
  23. package/dist/MorphologicalAnalysis/MetamorphicParse.d.ts +63 -0
  24. package/dist/MorphologicalAnalysis/MetamorphicParse.js +592 -0
  25. package/dist/MorphologicalAnalysis/MetamorphicParse.js.map +1 -0
  26. package/dist/MorphologicalAnalysis/MorphologicalParse.d.ts +301 -0
  27. package/dist/MorphologicalAnalysis/MorphologicalParse.js +969 -0
  28. package/dist/MorphologicalAnalysis/MorphologicalParse.js.map +1 -0
  29. package/dist/MorphologicalAnalysis/MorphologicalTag.d.ts +510 -0
  30. package/dist/MorphologicalAnalysis/MorphologicalTag.js +525 -0
  31. package/dist/MorphologicalAnalysis/MorphologicalTag.js.map +1 -0
  32. package/dist/MorphologicalAnalysis/State.d.ts +40 -0
  33. package/dist/MorphologicalAnalysis/State.js +64 -0
  34. package/dist/MorphologicalAnalysis/State.js.map +1 -0
  35. package/dist/MorphologicalAnalysis/Transition.d.ts +159 -0
  36. package/dist/MorphologicalAnalysis/Transition.js +751 -0
  37. package/dist/MorphologicalAnalysis/Transition.js.map +1 -0
  38. package/index.js +12 -0
  39. package/package.json +30 -0
  40. package/penntreebank.txt +208431 -0
  41. package/source/Corpus/DisambiguatedWord.ts +29 -0
  42. package/source/Corpus/DisambiguationCorpus.ts +39 -0
  43. package/source/MorphologicalAnalysis/FiniteStateMachine.ts +165 -0
  44. package/source/MorphologicalAnalysis/FsmMorphologicalAnalyzer.ts +1256 -0
  45. package/source/MorphologicalAnalysis/FsmParse.ts +664 -0
  46. package/source/MorphologicalAnalysis/FsmParseList.ts +238 -0
  47. package/source/MorphologicalAnalysis/InflectionalGroup.ts +210 -0
  48. package/source/MorphologicalAnalysis/MetamorphicParse.ts +589 -0
  49. package/source/MorphologicalAnalysis/MorphologicalParse.ts +995 -0
  50. package/source/MorphologicalAnalysis/MorphologicalTag.ts +510 -0
  51. package/source/MorphologicalAnalysis/State.ts +59 -0
  52. package/source/MorphologicalAnalysis/Transition.ts +733 -0
  53. package/source/tsconfig.json +13 -0
  54. package/tests/DisambiguationCorpusTest.ts +12 -0
  55. package/tests/FiniteStateMachineTest.ts +87 -0
  56. package/tests/FsmMorphologicalAnalyzerTest.ts +204 -0
  57. package/tests/FsmParseListTest.ts +90 -0
  58. package/tests/FsmParseTest.ts +66 -0
  59. package/tests/InflectionalGroupTest.ts +84 -0
  60. package/tests/MorphologicalParseTest.ts +152 -0
  61. package/tests/TransitionTest.ts +174 -0
  62. package/tsconfig.json +15 -0
  63. package/turkish_dictionary.txt +62120 -0
  64. package/turkish_finite_state_machine.xml +1887 -0
  65. package/turkish_misspellings.txt +148932 -0
@@ -0,0 +1,213 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "./MorphologicalTag"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.InflectionalGroup = void 0;
13
+ const MorphologicalTag_1 = require("./MorphologicalTag");
14
+ class InflectionalGroup {
15
+ /**
16
+ * A constructor of {@link InflectionalGroup} class which initializes the IG {@link Array} by parsing given input
17
+ * String IG by + and calling the getMorphologicalTag method with these substrings. If getMorphologicalTag method returns
18
+ * a tag, it adds this tag to the IG {@link Array}.
19
+ *
20
+ * @param IG String input.
21
+ */
22
+ constructor(IG) {
23
+ this.IG = new Array();
24
+ let st = IG;
25
+ while (st.includes("+")) {
26
+ let morphologicalTag = st.substring(0, st.indexOf("+"));
27
+ let tag = InflectionalGroup.getMorphologicalTag(morphologicalTag);
28
+ if (tag != undefined) {
29
+ this.IG.push(tag);
30
+ }
31
+ st = st.substring(st.indexOf("+") + 1);
32
+ }
33
+ let morphologicalTag = st;
34
+ let tag = InflectionalGroup.getMorphologicalTag(morphologicalTag);
35
+ if (tag != undefined) {
36
+ this.IG.push(tag);
37
+ }
38
+ }
39
+ /**
40
+ * The getMorphologicalTag method takes a String tag as an input and if the input matches with one of the elements of
41
+ * tags array, it then gets the morphoTags of this tag and returns it.
42
+ *
43
+ * @param tag String to get morphoTags from.
44
+ * @return morphoTags if found, null otherwise.
45
+ */
46
+ static getMorphologicalTag(tag) {
47
+ for (let j = 0; j < this.tags.length; j++) {
48
+ if (tag.toLowerCase() == this.tags[j].toLowerCase()) {
49
+ return this.morphoTags[j];
50
+ }
51
+ }
52
+ return undefined;
53
+ }
54
+ /**
55
+ * The getTag method takes a MorphologicalTag type tag as an input and returns its corresponding tag from tags array.
56
+ *
57
+ * @param tag MorphologicalTag type input to find tag from.
58
+ * @return tag if found, null otherwise.
59
+ */
60
+ static getTag(tag) {
61
+ for (let j = 0; j < this.morphoTags.length; j++) {
62
+ if (tag == this.morphoTags[j]) {
63
+ return this.tags[j];
64
+ }
65
+ }
66
+ return undefined;
67
+ }
68
+ /**
69
+ * Another getTag method which takes index as an input and returns the corresponding tag from IG {@link ArrayList}.
70
+ *
71
+ * @param index to get tag.
72
+ * @return tag at input index.
73
+ */
74
+ getTag(index) {
75
+ return this.IG[index];
76
+ }
77
+ /**
78
+ * The size method returns the size of the IG {@link Array}.
79
+ *
80
+ * @return the size of the IG {@link Array}.
81
+ */
82
+ size() {
83
+ return this.IG.length;
84
+ }
85
+ /**
86
+ * Overridden toString method to return resulting tags in IG {@link Array}.
87
+ *
88
+ * @return String result.
89
+ */
90
+ toString() {
91
+ let result = InflectionalGroup.getTag(this.IG[0]);
92
+ for (let i = 1; i < this.IG.length; i++) {
93
+ result = result + "+" + InflectionalGroup.getTag(this.IG[i]);
94
+ }
95
+ return result;
96
+ }
97
+ /**
98
+ * The containsCase method loops through the tags in IG {@link Array} and finds out the tags of the NOMINATIVE,
99
+ * ACCUSATIVE, DATIVE, LOCATIVE or ABLATIVE cases.
100
+ *
101
+ * @return tag which holds the condition.
102
+ */
103
+ containsCase() {
104
+ for (let tag of this.IG) {
105
+ if (tag == MorphologicalTag_1.MorphologicalTag.NOMINATIVE || tag == MorphologicalTag_1.MorphologicalTag.ACCUSATIVE ||
106
+ tag == MorphologicalTag_1.MorphologicalTag.DATIVE || tag == MorphologicalTag_1.MorphologicalTag.LOCATIVE ||
107
+ tag == MorphologicalTag_1.MorphologicalTag.ABLATIVE) {
108
+ return tag;
109
+ }
110
+ }
111
+ return undefined;
112
+ }
113
+ /**
114
+ * The containsPlural method loops through the tags in IG {@link Array} and checks whether the tags are from
115
+ * the agreement plural or possessive plural, i.e A1PL, A2PL, A3PL, P1PL, P2PL and P3PL.
116
+ *
117
+ * @return true if the tag is plural, false otherwise.
118
+ */
119
+ containsPlural() {
120
+ for (let tag of this.IG) {
121
+ if (tag == MorphologicalTag_1.MorphologicalTag.A1PL || tag == MorphologicalTag_1.MorphologicalTag.A2PL || tag == MorphologicalTag_1.MorphologicalTag.A3PL ||
122
+ tag == MorphologicalTag_1.MorphologicalTag.P1PL || tag == MorphologicalTag_1.MorphologicalTag.P2PL || tag == MorphologicalTag_1.MorphologicalTag.P3PL) {
123
+ return true;
124
+ }
125
+ }
126
+ return false;
127
+ }
128
+ /**
129
+ * The containsTag method takes a MorphologicalTag type tag as an input and loops through the tags in
130
+ * IG {@link Array} and returns true if the input matches with on of the tags in the IG.
131
+ *
132
+ * @param tag MorphologicalTag type input to search for.
133
+ * @return true if tag matches with the tag in IG, false otherwise.
134
+ */
135
+ containsTag(tag) {
136
+ for (let currentTag of this.IG) {
137
+ if (currentTag == tag) {
138
+ return true;
139
+ }
140
+ }
141
+ return false;
142
+ }
143
+ /**
144
+ * The containsPossessive method loops through the tags in IG {@link Array} and returns true if the tag in IG is
145
+ * one of the possessives: P1PL, P1SG, P2PL, P2SG, P3PL AND P3SG.
146
+ *
147
+ * @return true if it contains possessive tag, false otherwise.
148
+ */
149
+ containsPossessive() {
150
+ for (let tag of this.IG) {
151
+ if (tag == MorphologicalTag_1.MorphologicalTag.P1PL || tag == MorphologicalTag_1.MorphologicalTag.P1SG || tag == MorphologicalTag_1.MorphologicalTag.P2PL ||
152
+ tag == MorphologicalTag_1.MorphologicalTag.P2SG || tag == MorphologicalTag_1.MorphologicalTag.P3PL || tag == MorphologicalTag_1.MorphologicalTag.P3SG) {
153
+ return true;
154
+ }
155
+ }
156
+ return false;
157
+ }
158
+ }
159
+ exports.InflectionalGroup = InflectionalGroup;
160
+ InflectionalGroup.tags = ["NOUN", "ADV", "ADJ", "VERB", "A1SG",
161
+ "A2SG", "A3SG", "A1PL", "A2PL", "A3PL",
162
+ "P1SG", "P2SG", "P3SG", "P1PL", "P2PL",
163
+ "P3PL", "PROP", "PNON", "NOM", "WITH",
164
+ "WITHOUT", "ACC", "DAT", "GEN", "ABL",
165
+ "ZERO", "ABLE", "NEG", "PAST",
166
+ "CONJ", "DET", "DUP", "INTERJ", "NUM",
167
+ "POSTP", "PUNC", "QUES", "AGT", "BYDOINGSO",
168
+ "CARD", "CAUS", "DEMONSP", "DISTRIB", "FITFOR",
169
+ "FUTPART", "INF", "NESS", "ORD", "PASS",
170
+ "PASTPART", "PRESPART", "QUESP", "QUANTP", "RANGE",
171
+ "RATIO", "REAL", "RECIP", "REFLEX", "REFLEXP",
172
+ "TIME", "WHEN", "WHILE", "WITHOUTHAVINGDONESO", "PCABL",
173
+ "PCACC", "PCDAT", "PCGEN", "PCINS", "PCNOM",
174
+ "ACQUIRE", "ACTOF", "AFTERDOINGSO", "ALMOST", "AS",
175
+ "ASIF", "BECOME", "EVERSINCE", "FEELLIKE", "HASTILY",
176
+ "INBETWEEN", "JUSTLIKE", "LY", "NOTABLESTATE", "RELATED",
177
+ "REPEAT", "SINCE", "SINCEDOINGSO", "START", "STAY",
178
+ "EQU", "INS", "AOR", "DESR", "FUT",
179
+ "IMP", "NARR", "NECES", "OPT", "PAST",
180
+ "PRES", "PROG1", "PROG2", "COND", "COP",
181
+ "POS", "PRON", "LOC", "REL", "DEMONS",
182
+ "INF2", "INF3", "BSTAG", "ESTAG", "BTTAG",
183
+ "ETTAG", "BDTAG", "EDTAG", "INF1", "ASLONGAS",
184
+ "DIST", "ADAMANTLY", "PERCENT", "WITHOUTBEINGABLETOHAVEDONESO", "DIM",
185
+ "PERS", "FRACTION", "HASHTAG", "EMAIL", "DATE"];
186
+ InflectionalGroup.morphoTags = [MorphologicalTag_1.MorphologicalTag.NOUN, MorphologicalTag_1.MorphologicalTag.ADVERB, MorphologicalTag_1.MorphologicalTag.ADJECTIVE,
187
+ MorphologicalTag_1.MorphologicalTag.VERB, MorphologicalTag_1.MorphologicalTag.A1SG, MorphologicalTag_1.MorphologicalTag.A2SG, MorphologicalTag_1.MorphologicalTag.A3SG, MorphologicalTag_1.MorphologicalTag.A1PL,
188
+ MorphologicalTag_1.MorphologicalTag.A2PL, MorphologicalTag_1.MorphologicalTag.A3PL, MorphologicalTag_1.MorphologicalTag.P1SG, MorphologicalTag_1.MorphologicalTag.P2SG, MorphologicalTag_1.MorphologicalTag.P3SG, MorphologicalTag_1.MorphologicalTag.P1PL,
189
+ MorphologicalTag_1.MorphologicalTag.P2PL, MorphologicalTag_1.MorphologicalTag.P3PL, MorphologicalTag_1.MorphologicalTag.PROPERNOUN, MorphologicalTag_1.MorphologicalTag.PNON, MorphologicalTag_1.MorphologicalTag.NOMINATIVE,
190
+ MorphologicalTag_1.MorphologicalTag.WITH, MorphologicalTag_1.MorphologicalTag.WITHOUT, MorphologicalTag_1.MorphologicalTag.ACCUSATIVE, MorphologicalTag_1.MorphologicalTag.DATIVE, MorphologicalTag_1.MorphologicalTag.GENITIVE,
191
+ MorphologicalTag_1.MorphologicalTag.ABLATIVE, MorphologicalTag_1.MorphologicalTag.ZERO, MorphologicalTag_1.MorphologicalTag.ABLE, MorphologicalTag_1.MorphologicalTag.NEGATIVE, MorphologicalTag_1.MorphologicalTag.PASTTENSE,
192
+ MorphologicalTag_1.MorphologicalTag.CONJUNCTION, MorphologicalTag_1.MorphologicalTag.DETERMINER, MorphologicalTag_1.MorphologicalTag.DUPLICATION, MorphologicalTag_1.MorphologicalTag.INTERJECTION, MorphologicalTag_1.MorphologicalTag.NUMBER,
193
+ MorphologicalTag_1.MorphologicalTag.POSTPOSITION, MorphologicalTag_1.MorphologicalTag.PUNCTUATION, MorphologicalTag_1.MorphologicalTag.QUESTION, MorphologicalTag_1.MorphologicalTag.AGENT, MorphologicalTag_1.MorphologicalTag.BYDOINGSO,
194
+ MorphologicalTag_1.MorphologicalTag.CARDINAL, MorphologicalTag_1.MorphologicalTag.CAUSATIVE, MorphologicalTag_1.MorphologicalTag.DEMONSTRATIVEPRONOUN, MorphologicalTag_1.MorphologicalTag.DISTRIBUTIVE, MorphologicalTag_1.MorphologicalTag.FITFOR,
195
+ MorphologicalTag_1.MorphologicalTag.FUTUREPARTICIPLE, MorphologicalTag_1.MorphologicalTag.INFINITIVE, MorphologicalTag_1.MorphologicalTag.NESS, MorphologicalTag_1.MorphologicalTag.ORDINAL, MorphologicalTag_1.MorphologicalTag.PASSIVE,
196
+ MorphologicalTag_1.MorphologicalTag.PASTPARTICIPLE, MorphologicalTag_1.MorphologicalTag.PRESENTPARTICIPLE, MorphologicalTag_1.MorphologicalTag.QUESTIONPRONOUN, MorphologicalTag_1.MorphologicalTag.QUANTITATIVEPRONOUN, MorphologicalTag_1.MorphologicalTag.RANGE,
197
+ MorphologicalTag_1.MorphologicalTag.RATIO, MorphologicalTag_1.MorphologicalTag.REAL, MorphologicalTag_1.MorphologicalTag.RECIPROCAL, MorphologicalTag_1.MorphologicalTag.REFLEXIVE, MorphologicalTag_1.MorphologicalTag.REFLEXIVEPRONOUN,
198
+ MorphologicalTag_1.MorphologicalTag.TIME, MorphologicalTag_1.MorphologicalTag.WHEN, MorphologicalTag_1.MorphologicalTag.WHILE, MorphologicalTag_1.MorphologicalTag.WITHOUTHAVINGDONESO, MorphologicalTag_1.MorphologicalTag.PCABLATIVE,
199
+ MorphologicalTag_1.MorphologicalTag.PCACCUSATIVE, MorphologicalTag_1.MorphologicalTag.PCDATIVE, MorphologicalTag_1.MorphologicalTag.PCGENITIVE, MorphologicalTag_1.MorphologicalTag.PCINSTRUMENTAL, MorphologicalTag_1.MorphologicalTag.PCNOMINATIVE,
200
+ MorphologicalTag_1.MorphologicalTag.ACQUIRE, MorphologicalTag_1.MorphologicalTag.ACTOF, MorphologicalTag_1.MorphologicalTag.AFTERDOINGSO, MorphologicalTag_1.MorphologicalTag.ALMOST, MorphologicalTag_1.MorphologicalTag.AS,
201
+ MorphologicalTag_1.MorphologicalTag.ASIF, MorphologicalTag_1.MorphologicalTag.BECOME, MorphologicalTag_1.MorphologicalTag.EVERSINCE, MorphologicalTag_1.MorphologicalTag.FEELLIKE, MorphologicalTag_1.MorphologicalTag.HASTILY,
202
+ MorphologicalTag_1.MorphologicalTag.INBETWEEN, MorphologicalTag_1.MorphologicalTag.JUSTLIKE, MorphologicalTag_1.MorphologicalTag.LY, MorphologicalTag_1.MorphologicalTag.NOTABLESTATE, MorphologicalTag_1.MorphologicalTag.RELATED,
203
+ MorphologicalTag_1.MorphologicalTag.REPEAT, MorphologicalTag_1.MorphologicalTag.SINCE, MorphologicalTag_1.MorphologicalTag.SINCEDOINGSO, MorphologicalTag_1.MorphologicalTag.START, MorphologicalTag_1.MorphologicalTag.STAY,
204
+ MorphologicalTag_1.MorphologicalTag.EQUATIVE, MorphologicalTag_1.MorphologicalTag.INSTRUMENTAL, MorphologicalTag_1.MorphologicalTag.AORIST, MorphologicalTag_1.MorphologicalTag.DESIRE, MorphologicalTag_1.MorphologicalTag.FUTURE,
205
+ MorphologicalTag_1.MorphologicalTag.IMPERATIVE, MorphologicalTag_1.MorphologicalTag.NARRATIVE, MorphologicalTag_1.MorphologicalTag.NECESSITY, MorphologicalTag_1.MorphologicalTag.OPTATIVE, MorphologicalTag_1.MorphologicalTag.PAST,
206
+ MorphologicalTag_1.MorphologicalTag.PRESENT, MorphologicalTag_1.MorphologicalTag.PROGRESSIVE1, MorphologicalTag_1.MorphologicalTag.PROGRESSIVE2, MorphologicalTag_1.MorphologicalTag.CONDITIONAL, MorphologicalTag_1.MorphologicalTag.COPULA,
207
+ MorphologicalTag_1.MorphologicalTag.POSITIVE, MorphologicalTag_1.MorphologicalTag.PRONOUN, MorphologicalTag_1.MorphologicalTag.LOCATIVE, MorphologicalTag_1.MorphologicalTag.RELATIVE, MorphologicalTag_1.MorphologicalTag.DEMONSTRATIVE,
208
+ MorphologicalTag_1.MorphologicalTag.INFINITIVE2, MorphologicalTag_1.MorphologicalTag.INFINITIVE3, MorphologicalTag_1.MorphologicalTag.BEGINNINGOFSENTENCE, MorphologicalTag_1.MorphologicalTag.ENDOFSENTENCE, MorphologicalTag_1.MorphologicalTag.BEGINNINGOFTITLE,
209
+ MorphologicalTag_1.MorphologicalTag.ENDOFTITLE, MorphologicalTag_1.MorphologicalTag.BEGINNINGOFDOCUMENT, MorphologicalTag_1.MorphologicalTag.ENDOFDOCUMENT, MorphologicalTag_1.MorphologicalTag.INFINITIVE, MorphologicalTag_1.MorphologicalTag.ASLONGAS,
210
+ MorphologicalTag_1.MorphologicalTag.DISTRIBUTIVE, MorphologicalTag_1.MorphologicalTag.ADAMANTLY, MorphologicalTag_1.MorphologicalTag.PERCENT, MorphologicalTag_1.MorphologicalTag.WITHOUTBEINGABLETOHAVEDONESO, MorphologicalTag_1.MorphologicalTag.DIMENSION,
211
+ MorphologicalTag_1.MorphologicalTag.PERSONALPRONOUN, MorphologicalTag_1.MorphologicalTag.FRACTION, MorphologicalTag_1.MorphologicalTag.HASHTAG, MorphologicalTag_1.MorphologicalTag.EMAIL, MorphologicalTag_1.MorphologicalTag.DATE];
212
+ });
213
+ //# sourceMappingURL=InflectionalGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InflectionalGroup.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/InflectionalGroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { MorphologicalTag } from "./MorphologicalTag";
2
+ import { Word } from "nlptoolkit-dictionary/dist/Dictionary/Word";
3
+ import { MorphologicalParse } from "./MorphologicalParse";
4
+ export declare class MetamorphicParse {
5
+ static metaMorphemes: string[];
6
+ static morphotacticTags: MorphologicalTag[];
7
+ private metaMorphemeList;
8
+ private readonly root;
9
+ /**
10
+ * The getMetaMorphemeTag method takes a String tag as an input and takes the first char of the tag. If first char
11
+ * is a punctuation it gets a substring from the tag. And gets the meta morphemes of this tag then adds to the
12
+ * result {@link Array}.
13
+ *
14
+ * @param tag String to get meta morphemes from.
15
+ * @param parse MorphologicalParse type input.
16
+ * @return ArrayList type result which holds meta morphemes.
17
+ */
18
+ static getMetaMorphemeTag(tag: string, parse?: MorphologicalParse): Array<MorphologicalTag>;
19
+ /**
20
+ * The getter method for Private Word root.
21
+ *
22
+ * @return Word type root.
23
+ */
24
+ getWord(): Word;
25
+ /**
26
+ * A constructor of {@link MetamorphicParse} class which creates an {@link ArrayList} metaMorphemeList which has split words
27
+ * according to +.
28
+ *
29
+ * @param parse String to parse.
30
+ */
31
+ constructor(parse: string);
32
+ /**
33
+ * The size method returns the size of the metaMorphemeList.
34
+ *
35
+ * @return the size of the metaMorphemeList.
36
+ */
37
+ size(): number;
38
+ /**
39
+ * The addMetaMorphemeList method splits input String by + and add to the metaMorphemeList.
40
+ *
41
+ * @param newTacticSet String to add the metaMorphemeList.
42
+ */
43
+ addMetamorphemeList(newTacticSet: string): void;
44
+ /**
45
+ * The removeMetaMorphemeFromIndex method removes the meta morpheme at given index from metaMorphemeList.
46
+ *
47
+ * @param index to remove from metaMorphemeList.
48
+ */
49
+ removeMetaMorphemeFromIndex(index: number): void;
50
+ /**
51
+ * The getMetaMorpheme method gets the meta morpheme at given index.
52
+ *
53
+ * @param index is used to get the meta morpheme.
54
+ * @return metaMorphemeList's corresponding meta morpheme.
55
+ */
56
+ getMetaMorpheme(index: number): string;
57
+ /**
58
+ * Overridden toString method to return resulting meta morphemes in metaMorphemeList.
59
+ *
60
+ * @return String result.
61
+ */
62
+ toString(): string;
63
+ }