nlptoolkit-morphologicalanalysis 1.0.18 → 1.0.20

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 (34) hide show
  1. package/dist/Corpus/DisambiguatedWord.js +26 -35
  2. package/dist/Corpus/DisambiguatedWord.js.map +1 -1
  3. package/dist/Corpus/DisambiguationCorpus.js +70 -47
  4. package/dist/Corpus/DisambiguationCorpus.js.map +1 -1
  5. package/dist/MorphologicalAnalysis/FiniteStateMachine.js +148 -158
  6. package/dist/MorphologicalAnalysis/FiniteStateMachine.js.map +1 -1
  7. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.js +1281 -1254
  8. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.js.map +1 -1
  9. package/dist/MorphologicalAnalysis/FsmParse.js +596 -603
  10. package/dist/MorphologicalAnalysis/FsmParse.js.map +1 -1
  11. package/dist/MorphologicalAnalysis/FsmParseList.js +263 -273
  12. package/dist/MorphologicalAnalysis/FsmParseList.js.map +1 -1
  13. package/dist/MorphologicalAnalysis/InflectionalGroup.js +152 -162
  14. package/dist/MorphologicalAnalysis/InflectionalGroup.js.map +1 -1
  15. package/dist/MorphologicalAnalysis/MetamorphicParse.js +120 -129
  16. package/dist/MorphologicalAnalysis/MetamorphicParse.js.map +1 -1
  17. package/dist/MorphologicalAnalysis/MorphologicalParse.js +1037 -1046
  18. package/dist/MorphologicalAnalysis/MorphologicalParse.js.map +1 -1
  19. package/dist/MorphologicalAnalysis/MorphologicalTag.js +530 -540
  20. package/dist/MorphologicalAnalysis/MorphologicalTag.js.map +1 -1
  21. package/dist/MorphologicalAnalysis/MorphotacticEngine.js +230 -240
  22. package/dist/MorphologicalAnalysis/MorphotacticEngine.js.map +1 -1
  23. package/dist/MorphologicalAnalysis/State.js +54 -60
  24. package/dist/MorphologicalAnalysis/State.js.map +1 -1
  25. package/dist/MorphologicalAnalysis/Transition.js +408 -418
  26. package/dist/MorphologicalAnalysis/Transition.js.map +1 -1
  27. package/dist/index.js +19 -25
  28. package/dist/index.js.map +1 -1
  29. package/package.json +8 -7
  30. package/tests/FsmParseListTest.ts +3 -3
  31. package/tests/FsmParseTest.ts +1 -1
  32. package/tsconfig.json +4 -3
  33. package/turkish_dictionary.txt +9114 -9114
  34. package/source/tsconfig.json +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"MorphologicalTag.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/MorphologicalTag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MorphologicalTag.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/MorphologicalTag.ts"],"names":[],"mappings":"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"}
@@ -1,284 +1,274 @@
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", "nlptoolkit-dictionary/dist/Dictionary/Word", "nlptoolkit-dictionary/dist/Language/TurkishLanguage"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MorphotacticEngine = void 0;
13
- const Word_1 = require("nlptoolkit-dictionary/dist/Dictionary/Word");
14
- const TurkishLanguage_1 = require("nlptoolkit-dictionary/dist/Language/TurkishLanguage");
15
- class MorphotacticEngine {
16
- /**
17
- * resolveD resolves the D metamorpheme to 'd' or 't' depending on the root and current formationToCheck. It adds
18
- * 'd' if the root is an abbreviation; 't' if the last phoneme is one of the "çfhkpsşt" (fıstıkçı şahap) or 'd'
19
- * otherwise; 't' if the word is a number ending with 3, 4, 5, 40, 60, or 70 or 'd' otherwise.
20
- * @param root Root of the word
21
- * @param formation Formation is current status of the wordform in the current state of the finite state machine. It
22
- * is always equal to formationToCheck except the case where there is an apostrophe after the
23
- * formationToCheck such as (3').
24
- * @param formationToCheck FormationToCheck is current status of the wordform in the current state of the finite
25
- * state machine except the apostrophe at the end if it exists.
26
- * @return Formation with added 'd' or 't' character.
27
- */
28
- static resolveD(root, formation, formationToCheck) {
29
- if (root.isAbbreviation()) {
30
- return formation + 'd';
31
- }
32
- if (Word_1.Word.lastPhoneme(formationToCheck) >= '0' && Word_1.Word.lastPhoneme(formationToCheck) <= '9') {
33
- switch (Word_1.Word.lastPhoneme(formationToCheck)) {
34
- case '3':
35
- case '4':
36
- case '5':
37
- //3->3'tü, 5->5'ti, 4->4'tü
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MorphotacticEngine = void 0;
4
+ const Word_1 = require("nlptoolkit-dictionary/dist/Dictionary/Word");
5
+ const TurkishLanguage_1 = require("nlptoolkit-dictionary/dist/Language/TurkishLanguage");
6
+ class MorphotacticEngine {
7
+ /**
8
+ * resolveD resolves the D metamorpheme to 'd' or 't' depending on the root and current formationToCheck. It adds
9
+ * 'd' if the root is an abbreviation; 't' if the last phoneme is one of the "çfhkpsşt" (fıstıkçı şahap) or 'd'
10
+ * otherwise; 't' if the word is a number ending with 3, 4, 5, 40, 60, or 70 or 'd' otherwise.
11
+ * @param root Root of the word
12
+ * @param formation Formation is current status of the wordform in the current state of the finite state machine. It
13
+ * is always equal to formationToCheck except the case where there is an apostrophe after the
14
+ * formationToCheck such as (3').
15
+ * @param formationToCheck FormationToCheck is current status of the wordform in the current state of the finite
16
+ * state machine except the apostrophe at the end if it exists.
17
+ * @return Formation with added 'd' or 't' character.
18
+ */
19
+ static resolveD(root, formation, formationToCheck) {
20
+ if (root.isAbbreviation()) {
21
+ return formation + 'd';
22
+ }
23
+ if (Word_1.Word.lastPhoneme(formationToCheck) >= '0' && Word_1.Word.lastPhoneme(formationToCheck) <= '9') {
24
+ switch (Word_1.Word.lastPhoneme(formationToCheck)) {
25
+ case '3':
26
+ case '4':
27
+ case '5':
28
+ //3->3'tü, 5->5'ti, 4->4'tü
29
+ return formation + 't';
30
+ case '0':
31
+ if (root.getName().endsWith("40") || root.getName().endsWith("60") || root.getName().endsWith("70"))
32
+ //40->40'tı, 60->60'tı, 70->70'ti
38
33
  return formation + 't';
39
- case '0':
40
- if (root.getName().endsWith("40") || root.getName().endsWith("60") || root.getName().endsWith("70"))
41
- //40->40'tı, 60->60'tı, 70->70'ti
42
- return formation + 't';
43
- else
44
- //30->30'du, 50->50'ydi, 80->80'di
45
- return formation + 'd';
46
- default:
34
+ else
35
+ //30->30'du, 50->50'ydi, 80->80'di
47
36
  return formation + 'd';
48
- }
49
- }
50
- else {
51
- if (TurkishLanguage_1.TurkishLanguage.isSertSessiz(Word_1.Word.lastPhoneme(formationToCheck))) {
52
- //yap+DH->yaptı
53
- return formation + 't';
54
- }
55
- else {
56
- //sar+DH->sardı
37
+ default:
57
38
  return formation + 'd';
58
- }
59
39
  }
60
40
  }
61
- /**
62
- * resolveA resolves the A metamorpheme to 'a' or 'e' depending on the root and current formationToCheck. It adds
63
- * 'e' if the root is an abbreviation; 'a' if the last vowel is a back vowel (except words that do not obey vowel
64
- * harmony during agglutination); 'e' if the last vowel is a front vowel (except words that do not obey vowel
65
- * harmony during agglutination); 'a' if the word is a number ending with 6, 9, 10, 30, 40, 60, or 90 or 'e'
66
- * otherwise.
67
- * @param root Root of the word
68
- * @param formation Formation is current status of the wordform in the current state of the finite state machine. It
69
- * is always equal to formationToCheck except the case where there is an apostrophe after the
70
- * formationToCheck such as (3').
71
- * @param rootWord True if the current word form is root form, false otherwise.
72
- * @param formationToCheck FormationToCheck is current status of the wordform in the current state of the finite
73
- * state machine except the apostrophe at the end if it exists.
74
- * @return Formation with added 'a' or 'e' character.
75
- */
76
- static resolveA(root, formation, rootWord, formationToCheck) {
77
- if (root.isAbbreviation()) {
78
- return formation + 'e';
41
+ else {
42
+ if (TurkishLanguage_1.TurkishLanguage.isSertSessiz(Word_1.Word.lastPhoneme(formationToCheck))) {
43
+ //yap+DH->yaptı
44
+ return formation + 't';
45
+ }
46
+ else {
47
+ //sar+DH->sardı
48
+ return formation + 'd';
79
49
  }
80
- if (Word_1.Word.lastVowel(formationToCheck) >= '0' && Word_1.Word.lastVowel(formationToCheck) <= '9') {
81
- switch (Word_1.Word.lastVowel(formationToCheck)) {
82
- case '6':
83
- case '9':
84
- //6'ya, 9'a
50
+ }
51
+ }
52
+ /**
53
+ * resolveA resolves the A metamorpheme to 'a' or 'e' depending on the root and current formationToCheck. It adds
54
+ * 'e' if the root is an abbreviation; 'a' if the last vowel is a back vowel (except words that do not obey vowel
55
+ * harmony during agglutination); 'e' if the last vowel is a front vowel (except words that do not obey vowel
56
+ * harmony during agglutination); 'a' if the word is a number ending with 6, 9, 10, 30, 40, 60, or 90 or 'e'
57
+ * otherwise.
58
+ * @param root Root of the word
59
+ * @param formation Formation is current status of the wordform in the current state of the finite state machine. It
60
+ * is always equal to formationToCheck except the case where there is an apostrophe after the
61
+ * formationToCheck such as (3').
62
+ * @param rootWord True if the current word form is root form, false otherwise.
63
+ * @param formationToCheck FormationToCheck is current status of the wordform in the current state of the finite
64
+ * state machine except the apostrophe at the end if it exists.
65
+ * @return Formation with added 'a' or 'e' character.
66
+ */
67
+ static resolveA(root, formation, rootWord, formationToCheck) {
68
+ if (root.isAbbreviation()) {
69
+ return formation + 'e';
70
+ }
71
+ if (Word_1.Word.lastVowel(formationToCheck) >= '0' && Word_1.Word.lastVowel(formationToCheck) <= '9') {
72
+ switch (Word_1.Word.lastVowel(formationToCheck)) {
73
+ case '6':
74
+ case '9':
75
+ //6'ya, 9'a
76
+ return formation + 'a';
77
+ case '0':
78
+ if (root.getName().endsWith("10") || root.getName().endsWith("30") || root.getName().endsWith("40") ||
79
+ root.getName().endsWith("60") || root.getName().endsWith("90"))
80
+ //10'a, 30'a, 40'a, 60'a, 90'a
85
81
  return formation + 'a';
86
- case '0':
87
- if (root.getName().endsWith("10") || root.getName().endsWith("30") || root.getName().endsWith("40") ||
88
- root.getName().endsWith("60") || root.getName().endsWith("90"))
89
- //10'a, 30'a, 40'a, 60'a, 90'a
90
- return formation + 'a';
91
- else
92
- //20'ye, 50'ye, 80'e, 70'e
93
- return formation + 'e';
94
- default:
95
- //3'e, 8'e, 4'e, 2'ye
82
+ else
83
+ //20'ye, 50'ye, 80'e, 70'e
96
84
  return formation + 'e';
97
- }
98
- }
99
- if (TurkishLanguage_1.TurkishLanguage.isBackVowel(Word_1.Word.lastVowel(formationToCheck))) {
100
- if (root.notObeysVowelHarmonyDuringAgglutination() && rootWord) {
101
- //alkole, anormale
85
+ default:
86
+ //3'e, 8'e, 4'e, 2'ye
102
87
  return formation + 'e';
103
- }
104
- else {
105
- //sakala, kabala
106
- return formation + 'a';
107
- }
108
88
  }
109
- if (TurkishLanguage_1.TurkishLanguage.isFrontVowel(Word_1.Word.lastVowel(formationToCheck))) {
110
- if (root.notObeysVowelHarmonyDuringAgglutination() && rootWord) {
111
- //faika, halika
112
- return formation + 'a';
113
- }
114
- else {
115
- //kediye, eve
116
- return formation + 'e';
117
- }
89
+ }
90
+ if (TurkishLanguage_1.TurkishLanguage.isBackVowel(Word_1.Word.lastVowel(formationToCheck))) {
91
+ if (root.notObeysVowelHarmonyDuringAgglutination() && rootWord) {
92
+ //alkole, anormale
93
+ return formation + 'e';
118
94
  }
119
- if (root.isNumeral() || root.isFraction() || root.isReal()) {
120
- if (root.getName().endsWith("6") || root.getName().endsWith("9") || root.getName().endsWith("10") ||
121
- root.getName().endsWith("30") || root.getName().endsWith("40") || root.getName().endsWith("60") ||
122
- root.getName().endsWith("90")) {
123
- return formation + 'a';
124
- }
125
- else {
126
- return formation + 'e';
127
- }
95
+ else {
96
+ //sakala, kabala
97
+ return formation + 'a';
128
98
  }
129
- return formation;
130
99
  }
131
- /**
132
- * resolveH resolves the H metamorpheme to 'ı', 'i', 'u' or 'ü', depending on the current formationToCheck, root,
133
- * and formation. It adds 'i' if the root is an abbreviation; 'ü' if the character before the last vowel is
134
- * front rounded (or back rounded when the root word does not obey vowel harmony during agglutination); 'i' if the
135
- * character before the last vowel is front unrounded; 'u' if the character before the last vowel is back rounded;
136
- * 'ı' if the character before the last vowel is back unrounded (or front unrounded when the root word does not obey
137
- * vowel harmony during agglutination); 'ı' if the word is a number ending with 6, 40, 60 or 90; 'ü' if the word
138
- * is a number ending with 3, 4, or 00; 'u' if the word is a number ending with 9, 10, or 30; 'i' otherwise for
139
- * numbers. Special case for 'Hyor' suffix is handled with resolveHforSpecialCaseTenseSuffix method.
140
- * @param root Root of the word
141
- * @param formation Formation is current status of the wordform in the current state of the finite state machine. It
142
- * is always equal to formationToCheck except the case where there is an apostrophe after the
143
- * formationToCheck such as (3').
144
- * @param beginningOfSuffix True if H appears in the beginning of the suffix, false otherwise.
145
- * @param specialCaseTenseSuffix True if the suffix is 'Hyor', false otherwise.
146
- * @param rootWord True if the current word form is root form, false otherwise.
147
- * @param formationToCheck FormationToCheck is current status of the word form in the current state of the finite
148
- * state machine except the apostrophe at the end if it exists.
149
- * @return Formation with possibly last character dropped and 'ı', 'i', 'u' or 'ü' character added.
150
- */
151
- static resolveH(root, formation, beginningOfSuffix, specialCaseTenseSuffix, rootWord, formationToCheck) {
152
- if (root.isAbbreviation())
153
- return formation + 'i';
154
- if (beginningOfSuffix && TurkishLanguage_1.TurkishLanguage.isVowel(Word_1.Word.lastPhoneme(formationToCheck)) &&
155
- !specialCaseTenseSuffix) {
156
- return formation;
100
+ if (TurkishLanguage_1.TurkishLanguage.isFrontVowel(Word_1.Word.lastVowel(formationToCheck))) {
101
+ if (root.notObeysVowelHarmonyDuringAgglutination() && rootWord) {
102
+ //faika, halika
103
+ return formation + 'a';
157
104
  }
158
- if (specialCaseTenseSuffix) {
159
- //eğer ek Hyor eki ise,
160
- if (rootWord) {
161
- if (root.vowelAChangesToIDuringYSuffixation()) {
162
- if (TurkishLanguage_1.TurkishLanguage.isFrontRoundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
163
- //büyülüyor, bölümlüyor, çözümlüyor, döşüyor
164
- return formation.substring(0, formation.length - 1) + 'ü';
165
- }
166
- if (TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
167
- //adresliyor, alevliyor, ateşliyor, bekliyor
168
- return formation.substring(0, formation.length - 1) + 'i';
169
- }
170
- if (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
171
- //buğuluyor, bulguluyor, çamurluyor, aforozluyor
172
- return formation.substring(0, formation.length - 1) + 'u';
173
- }
174
- if (TurkishLanguage_1.TurkishLanguage.isBackUnroundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
175
- //açıklıyor, çalkalıyor, gazlıyor, gıcırdıyor
176
- return formation.substring(0, formation.length - 1) + 'ı';
177
- }
178
- }
179
- }
180
- if (TurkishLanguage_1.TurkishLanguage.isVowel(Word_1.Word.lastPhoneme(formationToCheck))) {
105
+ else {
106
+ //kediye, eve
107
+ return formation + 'e';
108
+ }
109
+ }
110
+ if (root.isNumeral() || root.isFraction() || root.isReal()) {
111
+ if (root.getName().endsWith("6") || root.getName().endsWith("9") || root.getName().endsWith("10") ||
112
+ root.getName().endsWith("30") || root.getName().endsWith("40") || root.getName().endsWith("60") ||
113
+ root.getName().endsWith("90")) {
114
+ return formation + 'a';
115
+ }
116
+ else {
117
+ return formation + 'e';
118
+ }
119
+ }
120
+ return formation;
121
+ }
122
+ /**
123
+ * resolveH resolves the H metamorpheme to 'ı', 'i', 'u' or 'ü', depending on the current formationToCheck, root,
124
+ * and formation. It adds 'i' if the root is an abbreviation; 'ü' if the character before the last vowel is
125
+ * front rounded (or back rounded when the root word does not obey vowel harmony during agglutination); 'i' if the
126
+ * character before the last vowel is front unrounded; 'u' if the character before the last vowel is back rounded;
127
+ * 'ı' if the character before the last vowel is back unrounded (or front unrounded when the root word does not obey
128
+ * vowel harmony during agglutination); 'ı' if the word is a number ending with 6, 40, 60 or 90; 'ü' if the word
129
+ * is a number ending with 3, 4, or 00; 'u' if the word is a number ending with 9, 10, or 30; 'i' otherwise for
130
+ * numbers. Special case for 'Hyor' suffix is handled with resolveHforSpecialCaseTenseSuffix method.
131
+ * @param root Root of the word
132
+ * @param formation Formation is current status of the wordform in the current state of the finite state machine. It
133
+ * is always equal to formationToCheck except the case where there is an apostrophe after the
134
+ * formationToCheck such as (3').
135
+ * @param beginningOfSuffix True if H appears in the beginning of the suffix, false otherwise.
136
+ * @param specialCaseTenseSuffix True if the suffix is 'Hyor', false otherwise.
137
+ * @param rootWord True if the current word form is root form, false otherwise.
138
+ * @param formationToCheck FormationToCheck is current status of the word form in the current state of the finite
139
+ * state machine except the apostrophe at the end if it exists.
140
+ * @return Formation with possibly last character dropped and 'ı', 'i', 'u' or 'ü' character added.
141
+ */
142
+ static resolveH(root, formation, beginningOfSuffix, specialCaseTenseSuffix, rootWord, formationToCheck) {
143
+ if (root.isAbbreviation())
144
+ return formation + 'i';
145
+ if (beginningOfSuffix && TurkishLanguage_1.TurkishLanguage.isVowel(Word_1.Word.lastPhoneme(formationToCheck)) &&
146
+ !specialCaseTenseSuffix) {
147
+ return formation;
148
+ }
149
+ if (specialCaseTenseSuffix) {
150
+ //eğer ek Hyor eki ise,
151
+ if (rootWord) {
152
+ if (root.vowelAChangesToIDuringYSuffixation()) {
181
153
  if (TurkishLanguage_1.TurkishLanguage.isFrontRoundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
154
+ //büyülüyor, bölümlüyor, çözümlüyor, döşüyor
182
155
  return formation.substring(0, formation.length - 1) + 'ü';
183
156
  }
184
157
  if (TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
158
+ //adresliyor, alevliyor, ateşliyor, bekliyor
185
159
  return formation.substring(0, formation.length - 1) + 'i';
186
160
  }
187
161
  if (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
162
+ //buğuluyor, bulguluyor, çamurluyor, aforozluyor
188
163
  return formation.substring(0, formation.length - 1) + 'u';
189
164
  }
190
165
  if (TurkishLanguage_1.TurkishLanguage.isBackUnroundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
166
+ //açıklıyor, çalkalıyor, gazlıyor, gıcırdıyor
191
167
  return formation.substring(0, formation.length - 1) + 'ı';
192
168
  }
193
169
  }
194
170
  }
195
- if (TurkishLanguage_1.TurkishLanguage.isFrontRoundedVowel(Word_1.Word.lastVowel(formationToCheck)) ||
196
- (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.lastVowel(formationToCheck)) && root.notObeysVowelHarmonyDuringAgglutination())) {
197
- return formation + 'ü';
198
- }
199
- if ((TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.lastVowel(formationToCheck)) && (!root.notObeysVowelHarmonyDuringAgglutination() || !rootWord)) ||
200
- ((Word_1.Word.lastVowel(formationToCheck) == 'a' || Word_1.Word.lastVowel(formationToCheck) == 'â') && root.notObeysVowelHarmonyDuringAgglutination())) {
201
- return formation + 'i';
202
- }
203
- if (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.lastVowel(formationToCheck))) {
204
- return formation + 'u';
171
+ if (TurkishLanguage_1.TurkishLanguage.isVowel(Word_1.Word.lastPhoneme(formationToCheck))) {
172
+ if (TurkishLanguage_1.TurkishLanguage.isFrontRoundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
173
+ return formation.substring(0, formation.length - 1) + 'ü';
174
+ }
175
+ if (TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
176
+ return formation.substring(0, formation.length - 1) + 'i';
177
+ }
178
+ if (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
179
+ return formation.substring(0, formation.length - 1) + 'u';
180
+ }
181
+ if (TurkishLanguage_1.TurkishLanguage.isBackUnroundedVowel(Word_1.Word.beforeLastVowel(formationToCheck))) {
182
+ return formation.substring(0, formation.length - 1) + 'ı';
183
+ }
205
184
  }
206
- if (TurkishLanguage_1.TurkishLanguage.isBackUnroundedVowel(Word_1.Word.lastVowel(formationToCheck)) || (TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.lastVowel(formationToCheck)) && root.notObeysVowelHarmonyDuringAgglutination())) {
185
+ }
186
+ if (TurkishLanguage_1.TurkishLanguage.isFrontRoundedVowel(Word_1.Word.lastVowel(formationToCheck)) ||
187
+ (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.lastVowel(formationToCheck)) && root.notObeysVowelHarmonyDuringAgglutination())) {
188
+ return formation + 'ü';
189
+ }
190
+ if ((TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.lastVowel(formationToCheck)) && (!root.notObeysVowelHarmonyDuringAgglutination() || !rootWord)) ||
191
+ ((Word_1.Word.lastVowel(formationToCheck) == 'a' || Word_1.Word.lastVowel(formationToCheck) == 'â') && root.notObeysVowelHarmonyDuringAgglutination())) {
192
+ return formation + 'i';
193
+ }
194
+ if (TurkishLanguage_1.TurkishLanguage.isBackRoundedVowel(Word_1.Word.lastVowel(formationToCheck))) {
195
+ return formation + 'u';
196
+ }
197
+ if (TurkishLanguage_1.TurkishLanguage.isBackUnroundedVowel(Word_1.Word.lastVowel(formationToCheck)) || (TurkishLanguage_1.TurkishLanguage.isFrontUnroundedVowel(Word_1.Word.lastVowel(formationToCheck)) && root.notObeysVowelHarmonyDuringAgglutination())) {
198
+ return formation + 'ı';
199
+ }
200
+ if (root.isNumeral() || root.isFraction() || root.isReal()) {
201
+ if (root.getName().endsWith("6") || root.getName().endsWith("40") || root.getName().endsWith("60") ||
202
+ root.getName().endsWith("90")) {
203
+ //6'yı, 40'ı, 60'ı
207
204
  return formation + 'ı';
208
205
  }
209
- if (root.isNumeral() || root.isFraction() || root.isReal()) {
210
- if (root.getName().endsWith("6") || root.getName().endsWith("40") || root.getName().endsWith("60") ||
211
- root.getName().endsWith("90")) {
212
- //6'yı, 40'ı, 60'ı
213
- return formation + 'ı';
206
+ else {
207
+ if (root.getName().endsWith("3") || root.getName().endsWith("4") || root.getName().endsWith("00")) {
208
+ //3'ü, 4'ü, 100'ü
209
+ return formation + 'ü';
214
210
  }
215
211
  else {
216
- if (root.getName().endsWith("3") || root.getName().endsWith("4") || root.getName().endsWith("00")) {
217
- //3'ü, 4'ü, 100'ü
218
- return formation + 'ü';
212
+ if (root.getName().endsWith("9") || root.getName().endsWith("10") || root.getName().endsWith("30")) {
213
+ //9'u, 10'u, 30'u
214
+ return formation + 'u';
219
215
  }
220
216
  else {
221
- if (root.getName().endsWith("9") || root.getName().endsWith("10") || root.getName().endsWith("30")) {
222
- //9'u, 10'u, 30'u
223
- return formation + 'u';
224
- }
225
- else {
226
- //2'yi, 5'i, 8'i
227
- return formation + 'i';
228
- }
217
+ //2'yi, 5'i, 8'i
218
+ return formation + 'i';
229
219
  }
230
220
  }
231
221
  }
232
- if (Word_1.Word.lastVowel(formationToCheck) == '0') {
233
- return formation + 'i';
234
- }
235
- return formation;
236
222
  }
237
- /**
238
- * The resolveC method takes a {@link String} formation as an input. If the last phoneme is on of the "çfhkpsşt", it
239
- * concatenates given formation with 'ç', if not it concatenates given formation with 'c'.
240
- *
241
- * @param formation {@link String} input.
242
- * @param formationToCheck {@link String} input.
243
- * @return resolved String.
244
- */
245
- static resolveC(formation, formationToCheck) {
246
- if (TurkishLanguage_1.TurkishLanguage.isSertSessiz(Word_1.Word.lastPhoneme(formationToCheck))) {
247
- return formation + 'ç';
248
- }
249
- else {
250
- return formation + 'c';
251
- }
223
+ if (Word_1.Word.lastVowel(formationToCheck) == '0') {
224
+ return formation + 'i';
252
225
  }
253
- /**
254
- * The resolveS method takes a {@link String} formation as an input. It then concatenates given formation with 's'.
255
- *
256
- * @param formation {@link String} input.
257
- * @return resolved String.
258
- */
259
- static resolveS(formation) {
260
- return formation + 's';
226
+ return formation;
227
+ }
228
+ /**
229
+ * The resolveC method takes a {@link String} formation as an input. If the last phoneme is on of the "çfhkpsşt", it
230
+ * concatenates given formation with 'ç', if not it concatenates given formation with 'c'.
231
+ *
232
+ * @param formation {@link String} input.
233
+ * @param formationToCheck {@link String} input.
234
+ * @return resolved String.
235
+ */
236
+ static resolveC(formation, formationToCheck) {
237
+ if (TurkishLanguage_1.TurkishLanguage.isSertSessiz(Word_1.Word.lastPhoneme(formationToCheck))) {
238
+ return formation + 'ç';
261
239
  }
262
- /**
263
- * The resolveSh method takes a {@link String} formation as an input. If the last character is a vowel, it concatenates
264
- * given formation with ş, if the last character is not a vowel, and not 't' it directly returns given formation, but if it
265
- * is equal to 't', it transforms it to 'd'.
266
- *
267
- * @param formation {@link String} input.
268
- * @return resolved String.
269
- */
270
- static resolveSh(formation) {
271
- if (TurkishLanguage_1.TurkishLanguage.isVowel(formation.charAt(formation.length - 1))) {
272
- return formation + 'ş';
273
- }
274
- else {
275
- if (formation.charAt(formation.length - 1) != 't')
276
- return formation;
277
- else
278
- return formation.substring(0, formation.length - 1) + 'd';
279
- }
240
+ else {
241
+ return formation + 'c';
242
+ }
243
+ }
244
+ /**
245
+ * The resolveS method takes a {@link String} formation as an input. It then concatenates given formation with 's'.
246
+ *
247
+ * @param formation {@link String} input.
248
+ * @return resolved String.
249
+ */
250
+ static resolveS(formation) {
251
+ return formation + 's';
252
+ }
253
+ /**
254
+ * The resolveSh method takes a {@link String} formation as an input. If the last character is a vowel, it concatenates
255
+ * given formation with ş, if the last character is not a vowel, and not 't' it directly returns given formation, but if it
256
+ * is equal to 't', it transforms it to 'd'.
257
+ *
258
+ * @param formation {@link String} input.
259
+ * @return resolved String.
260
+ */
261
+ static resolveSh(formation) {
262
+ if (TurkishLanguage_1.TurkishLanguage.isVowel(formation.charAt(formation.length - 1))) {
263
+ return formation + 'ş';
264
+ }
265
+ else {
266
+ if (formation.charAt(formation.length - 1) != 't')
267
+ return formation;
268
+ else
269
+ return formation.substring(0, formation.length - 1) + 'd';
280
270
  }
281
271
  }
282
- exports.MorphotacticEngine = MorphotacticEngine;
283
- });
272
+ }
273
+ exports.MorphotacticEngine = MorphotacticEngine;
284
274
  //# sourceMappingURL=MorphotacticEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MorphotacticEngine.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/MorphotacticEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;IACA,qEAAgE;IAChE,yFAAoF;IAEpF,MAAa,kBAAkB;QAE3B;;;;;;;;;;;WAWG;QACH,MAAM,CAAC,QAAQ,CAAC,IAAa,EAAE,SAAiB,EAAE,gBAAwB;YACtE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBACvB,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE;gBACxF,QAAQ,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;oBACxC,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACJ,2BAA2B;wBAC3B,OAAO,SAAS,GAAG,GAAG,CAAC;oBAC3B,KAAK,GAAG;wBACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/F,iCAAiC;4BACjC,OAAO,SAAS,GAAG,GAAG,CAAC;;4BAEvB,kCAAkC;4BAClC,OAAO,SAAS,GAAG,GAAG,CAAC;oBAC/B;wBACI,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC9B;aACJ;iBAAM;gBACH,IAAI,iCAAe,CAAC,YAAY,CAAC,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAE;oBAClE,eAAe;oBACf,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;qBAAM;oBACH,eAAe;oBACf,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;aACJ;QACL,CAAC;QAED;;;;;;;;;;;;;;WAcG;QACH,MAAM,CAAC,QAAQ,CAAC,IAAa,EAAE,SAAiB,EAAE,QAAiB,EAAE,gBAAwB;YACzF,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBACvB,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE;gBACpF,QAAQ,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;oBACtC,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACJ,WAAW;wBACX,OAAO,SAAS,GAAG,GAAG,CAAC;oBAC3B,KAAK,GAAG;wBACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/F,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC9D,8BAA8B;4BAC9B,OAAO,SAAS,GAAG,GAAG,CAAC;;4BAEvB,0BAA0B;4BAC1B,OAAO,SAAS,GAAG,GAAG,CAAC;oBAC/B;wBACI,qBAAqB;wBACrB,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC9B;aACJ;YACD,IAAI,iCAAe,CAAC,WAAW,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBAC/D,IAAI,IAAI,CAAC,uCAAuC,EAAE,IAAI,QAAQ,EAAE;oBAC5D,kBAAkB;oBAClB,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;qBAAM;oBACH,gBAAgB;oBAChB,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;aACJ;YACD,IAAI,iCAAe,CAAC,YAAY,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBAChE,IAAI,IAAI,CAAC,uCAAuC,EAAE,IAAI,QAAQ,EAAE;oBAC5D,eAAe;oBACf,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;qBAAM;oBACH,aAAa;oBACb,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;aACJ;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC7F,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC/F,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;qBAAM;oBACH,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;aACJ;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED;;;;;;;;;;;;;;;;;;;WAmBG;QACH,MAAM,CAAC,QAAQ,CAAC,IAAa,EAAE,SAAiB,EAAE,iBAA0B,EAC3D,sBAA+B,EAAE,QAAiB,EAAE,gBAAwB;YACzF,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,OAAO,SAAS,GAAG,GAAG,CAAC;YAC3B,IAAI,iBAAiB,IAAI,iCAAe,CAAC,OAAO,CAAC,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAChF,CAAC,sBAAsB,EAAE;gBACzB,OAAO,SAAS,CAAC;aACpB;YACD,IAAI,sBAAsB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,QAAQ,EAAE;oBACV,IAAI,IAAI,CAAC,kCAAkC,EAAE,EAAE;wBAC3C,IAAI,iCAAe,CAAC,mBAAmB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;4BAC7E,4CAA4C;4BAC5C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;yBAC7D;wBACD,IAAI,iCAAe,CAAC,qBAAqB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;4BAC/E,4CAA4C;4BAC5C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;yBAC7D;wBACD,IAAI,iCAAe,CAAC,kBAAkB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;4BAC5E,gDAAgD;4BAChD,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;yBAC7D;wBACD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;4BAC9E,6CAA6C;4BAC7C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;yBAC7D;qBACJ;iBACJ;gBACD,IAAI,iCAAe,CAAC,OAAO,CAAC,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAE;oBAC7D,IAAI,iCAAe,CAAC,mBAAmB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;wBAC7E,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC7D;oBACD,IAAI,iCAAe,CAAC,qBAAqB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;wBAC/E,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC7D;oBACD,IAAI,iCAAe,CAAC,kBAAkB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;wBAC5E,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC7D;oBACD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,WAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;wBAC9E,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;qBAC7D;iBACJ;aACJ;YACD,IAAI,iCAAe,CAAC,mBAAmB,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBACrE,CAAC,iCAAe,CAAC,kBAAkB,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE;gBAC1H,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,CAAC,iCAAe,CAAC,qBAAqB,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3I,CAAC,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE;gBAC1I,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,iCAAe,CAAC,kBAAkB,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBACtE,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,iCAAe,CAAC,qBAAqB,CAAC,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE;gBACvM,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC9F,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC/B,kBAAkB;oBAClB,OAAO,SAAS,GAAG,GAAG,CAAC;iBAC1B;qBAAM;oBACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC/F,iBAAiB;wBACjB,OAAO,SAAS,GAAG,GAAG,CAAC;qBAC1B;yBAAM;wBACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;4BAChG,iBAAiB;4BACjB,OAAO,SAAS,GAAG,GAAG,CAAC;yBAC1B;6BAAM;4BACH,gBAAgB;4BAChB,OAAO,SAAS,GAAG,GAAG,CAAC;yBAC1B;qBACJ;iBACJ;aACJ;YACD,IAAI,WAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAC;gBACxC,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED;;;;;;;WAOG;QACH,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,gBAAwB;YACvD,IAAI,iCAAe,CAAC,YAAY,CAAC,WAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBAClE,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;iBAAM;gBACH,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;QACL,CAAC;QAED;;;;;WAKG;QACH,MAAM,CAAC,QAAQ,CAAC,SAAiB;YAC7B,OAAO,SAAS,GAAG,GAAG,CAAC;QAC3B,CAAC;QAED;;;;;;;WAOG;QACH,MAAM,CAAC,SAAS,CAAC,SAAiB;YAC9B,IAAI,iCAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;gBACjE,OAAO,SAAS,GAAG,GAAG,CAAC;aAC1B;iBAAM;gBACH,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG;oBAC7C,OAAO,SAAS,CAAC;;oBAEjB,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;aACjE;QACL,CAAC;KACJ;IAvQD,gDAuQC"}
1
+ {"version":3,"file":"MorphotacticEngine.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/MorphotacticEngine.ts"],"names":[],"mappings":"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"}