14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
}
}
return g_morph(oToken, sPattern, sNegPattern, 0, nEnd, false);
}
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 g_checkAgreement (oToken1, oToken2, bNotOnlyNames=true) {
// 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;
}
if (bNotOnlyNames && !(cregex.mbAdj(lMorph2) || cregex.mbAdjNb(lMorph1))) {
return false;
}
return cregex.checkAgreement(lMorph1, lMorph2);
}
function mbUnit (s) {
if (/[µ\/⁰¹²³⁴⁵⁶⁷⁸⁹Ωℓ·]/.test(s)) {
return true;
}
if (s.length > 1 && s.length < 16 && s.slice(0, 1).gl_isLowerCase() && (!s.slice(1).gl_isLowerCase() || /[0-9]/.test(s))) {
return true;
}
return false;
}
function queryNamesPOS (sWord1, sWord2) {
let lMorph1 = _oSpellChecker.getMorph(sWord1);
let lMorph2 = _oSpellChecker.getMorph(sWord2);
if (lMorph1.length == 0 || lMorph2.length == 0) {
return ":N:e:p";
}
let sGender1 = cregex.getGender(lMorph1);
let sGender2 = cregex.getGender(lMorph2);
if (sGender1 == ":m" || sGender2 == ":m") {
return ":N:m:p";
}
if (sGender1 == ":f" || sGender2 == ":f") {
return ":N:f:p";
}
return ":N:e:p";
}
|
|
|
|
|
|
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
}
}
return g_morph(oToken, sPattern, sNegPattern, 0, nEnd, false);
}
function apposition (sWord1, sWord2) {
// returns true if nom + nom (no agreement required)
return sWord2.length < 2 || (cregex.mbNomNotAdj(gc_engine.oSpellChecker.getMorph(sWord2)) && cregex.mbPpasNomNotAdj(gc_engine.oSpellChecker.getMorph(sWord1)));
}
function g_checkAgreement (oToken1, oToken2, bNotOnlyNames=true) {
// check agreement between <oToken1> and <oToken2>
let lMorph1 = oToken1.hasOwnProperty("lMorph") ? oToken1["lMorph"] : gc_engine.oSpellChecker.getMorph(oToken1["sValue"]);
if (lMorph1.length === 0) {
return true;
}
let lMorph2 = oToken2.hasOwnProperty("lMorph") ? oToken2["lMorph"] : gc_engine.oSpellChecker.getMorph(oToken2["sValue"]);
if (lMorph2.length === 0) {
return true;
}
if (bNotOnlyNames && !(cregex.mbAdj(lMorph2) || cregex.mbAdjNb(lMorph1))) {
return false;
}
return cregex.checkAgreement(lMorph1, lMorph2);
}
function mbUnit (s) {
if (/[µ\/⁰¹²³⁴⁵⁶⁷⁸⁹Ωℓ·]/.test(s)) {
return true;
}
if (s.length > 1 && s.length < 16 && s.slice(0, 1).gl_isLowerCase() && (!s.slice(1).gl_isLowerCase() || /[0-9]/.test(s))) {
return true;
}
return false;
}
function queryNamesPOS (sWord1, sWord2) {
let lMorph1 = gc_engine.oSpellChecker.getMorph(sWord1);
let lMorph2 = gc_engine.oSpellChecker.getMorph(sWord2);
if (lMorph1.length == 0 || lMorph2.length == 0) {
return ":N:e:p";
}
let sGender1 = cregex.getGender(lMorph1);
let sGender2 = cregex.getGender(lMorph2);
if (sGender1 == ":m" || sGender2 == ":m") {
return ":N:m:p";
}
if (sGender1 == ":f" || sGender2 == ":f") {
return ":N:f:p";
}
return ":N:e:p";
}
|