47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
}
function apposition (sWord1, sWord2) {
// returns true if nom + nom (no agreement required)
return sWord2.length < 2 || (cregex.mbNomNotAdj(_oSpellChecker.getMorph(sWord2)) && cregex.mbPpasNomNotAdj(_oSpellChecker.getMorph(sWord1)));
}
function isAmbiguousNAV (sWord) {
// words which are nom|adj and verb are ambiguous (except être and avoir)
let lMorph = _oSpellChecker.getMorph(sWord);
if (lMorph.length === 0) {
return false;
}
if (!cregex.mbNomAdj(lMorph) || sWord == "est") {
return false;
}
if (cregex.mbVconj(lMorph) && !cregex.mbMG(lMorph)) {
return true;
}
return false;
}
function isAmbiguousAndWrong (sWord1, sWord2, sReqMorphNA, sReqMorphConj) {
//// use it if sWord1 won’t be a verb; word2 is assumed to be true via isAmbiguousNAV
let lMorph2 = _oSpellChecker.getMorph(sWord2);
if (lMorph2.length === 0) {
return false;
}
if (cregex.checkConjVerb(lMorph2, sReqMorphConj)) {
// verb word2 is ok
return false;
}
let lMorph1 = _oSpellChecker.getMorph(sWord1);
if (lMorph1.length === 0) {
return false;
}
if (cregex.checkAgreement(lMorph1, lMorph2) && (cregex.mbAdj(lMorph2) || cregex.mbAdj(lMorph1))) {
return false;
}
return true;
}
function isVeryAmbiguousAndWrong (sWord1, sWord2, sReqMorphNA, sReqMorphConj, bLastHopeCond) {
//// use it if sWord1 can be also a verb; word2 is assumed to be true via isAmbiguousNAV
let lMorph2 = _oSpellChecker.getMorph(sWord2);
if (lMorph2.length === 0) {
return false;
}
if (cregex.checkConjVerb(lMorph2, sReqMorphConj)) {
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
}
function apposition (sWord1, sWord2) {
// returns true if nom + nom (no agreement required)
return sWord2.length < 2 || (cregex.mbNomNotAdj(_oSpellChecker.getMorph(sWord2)) && cregex.mbPpasNomNotAdj(_oSpellChecker.getMorph(sWord1)));
}
function isVeryAmbiguousAndWrong (sWord1, sWord2, sReqMorphNA, sReqMorphConj, bLastHopeCond) {
//// use it if sWord1 can be also a verb; word2 is assumed to be true via isAmbiguousNAV
let lMorph2 = _oSpellChecker.getMorph(sWord2);
if (lMorph2.length === 0) {
return false;
}
if (cregex.checkConjVerb(lMorph2, sReqMorphConj)) {
|
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
}
//if cregex.isNomAdjVerb(lMorph1): # considered true
if (bLastHopeCond) {
return true;
}
return false;
}
function checkAgreement (sWord1, sWord2) {
let lMorph2 = _oSpellChecker.getMorph(sWord2);
if (lMorph2.length === 0) {
return true;
}
let lMorph1 = _oSpellChecker.getMorph(sWord1);
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
}
//if cregex.isNomAdjVerb(lMorph1): # considered true
if (bLastHopeCond) {
return true;
}
return false;
}
function g_checkAgreement (oToken1, oToken2) {
// check agreement between <oToken1> and <oToken2>
let lMorph1 = oToken1.hasOwnProperty("lMorph") ? oToken1["lMorph"] : _oSpellChecker.getMorph(oToken1["sValue"]);
if (lMorph1.length === 0) {
return true;
}
let lMorph2 = oToken2.hasOwnProperty("lMorph") ? oToken2["lMorph"] : _oSpellChecker.getMorph(oToken2["sValue"]);
if (lMorph2.length === 0) {
return true;
}
return cregex.checkAgreement(lMorph1, lMorph2);
}
function checkAgreement (sWord1, sWord2) {
let lMorph2 = _oSpellChecker.getMorph(sWord2);
if (lMorph2.length === 0) {
return true;
}
let lMorph1 = _oSpellChecker.getMorph(sWord1);
|