79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// returns raw informations about sVerb
if (!this._dVerb.hasOwnProperty(sVerb)) {
return null;
}
return this._lVtyp[this._dVerb[sVerb][0]];
},
getSimil: function (sWord, sMorph, sFilter=null) {
if (!sMorph.includes(":V")) {
return new Set();
}
let sInfi = sMorph.slice(1, sMorph.indexOf(" "));
let tTags = this._getTags(sInfi);
let aSugg = new Set();
if (sMorph.includes(":Q") || sMorph.includes(":Y")) {
// we suggest conjugated forms
if (sMorph.includes(":V1")) {
aSugg.add(sInfi);
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Ip", ":3s"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Ip", ":2p"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Iq", ":1s"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Iq", ":3s"));
|
|
|
|
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// returns raw informations about sVerb
if (!this._dVerb.hasOwnProperty(sVerb)) {
return null;
}
return this._lVtyp[this._dVerb[sVerb][0]];
},
getSimil: function (sWord, sMorph, bSubst=false) {
if (!sMorph.includes(":V")) {
return new Set();
}
let sInfi = sMorph.slice(1, sMorph.indexOf(" "));
let tTags = this._getTags(sInfi);
let aSugg = new Set();
if (!bSubst) {
// we suggest conjugated forms
if (sMorph.includes(":V1")) {
aSugg.add(sInfi);
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Ip", ":3s"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Ip", ":2p"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Iq", ":1s"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":Iq", ":3s"));
|
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
aSugg.add(this._getConjWithTags(sInfi, tTags, ":PQ", ":Q3"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":PQ", ":Q4"));
aSugg.delete("");
// if there is only one past participle (epi inv), unreliable.
if (aSugg.size === 1) {
aSugg.clear();
}
if (sMorph.includes(":V1")) {
aSugg.add(sInfi);
}
}
return aSugg;
},
_getTags: function (sVerb) {
// returns tuple of tags (usable with functions _getConjWithTags and _hasConjWithTags)
if (!this._dVerb.hasOwnProperty(sVerb)) {
|
<
<
<
|
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
aSugg.add(this._getConjWithTags(sInfi, tTags, ":PQ", ":Q3"));
aSugg.add(this._getConjWithTags(sInfi, tTags, ":PQ", ":Q4"));
aSugg.delete("");
// if there is only one past participle (epi inv), unreliable.
if (aSugg.size === 1) {
aSugg.clear();
}
}
return aSugg;
},
_getTags: function (sVerb) {
// returns tuple of tags (usable with functions _getConjWithTags and _hasConjWithTags)
if (!this._dVerb.hasOwnProperty(sVerb)) {
|