Grammalecte  Check-in [a6f73e3a7b]

Overview
Comment:[core][fr] fix bug in suggestions for JS
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr | core
Files: files | file ages | folders
SHA3-256: a6f73e3a7b2bbf27ea95c923dcc36215d99377a083916c581a4f77b8ef90004e
User & Date: olr on 2021-01-22 11:34:59
Other Links: manifest | tags
Context
2021-01-23
13:03
[core][build][js] replace nbsp by nnbsp within the GC, instead of replacing them at build check-in: bd2ff57bf8 user: olr tags: trunk, fr, core, build
2021-01-22
11:34
[core][fr] fix bug in suggestions for JS check-in: a6f73e3a7b user: olr tags: trunk, fr, core
2021-01-21
21:12
[build] nnbsp in py2js() also check-in: b217bc2731 user: olr tags: trunk, build
Changes

Modified gc_lang/fr/modules-js/gce_suggestions.js from [807177b0cf] to [e69e781426].

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
                if (conj._hasConjWithTags(tTags, sTense, sWho)) {
                    aSugg.add(conj._getConjWithTags(sStem, tTags, sTense, sWho));
                }
            }
        }
    }
    if (funcSugg2) {
        let aSugg2 = funcSugg2(sFlex);
        if (aSugg2.size > 0) {
            aSugg.add(aSugg2);
        }
    }
    if (aSugg.size > 0) {
        if (bVC) {
            return Array.from(aSugg).map((sSugg) => joinVerbAndSuffix(sSugg, sSfx)).join("|");
        }
        return Array.from(aSugg).join("|");







|
|
|







62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
                if (conj._hasConjWithTags(tTags, sTense, sWho)) {
                    aSugg.add(conj._getConjWithTags(sStem, tTags, sTense, sWho));
                }
            }
        }
    }
    if (funcSugg2) {
        let sSugg2 = funcSugg2(sFlex);
        if (sSugg2.length > 0) {
            aSugg.add(sSugg2);
        }
    }
    if (aSugg.size > 0) {
        if (bVC) {
            return Array.from(aSugg).map((sSugg) => joinVerbAndSuffix(sSugg, sSfx)).join("|");
        }
        return Array.from(aSugg).join("|");
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
                if (conj.hasConj(sStem, sTense, sWho)) {
                    aSugg.add(conj.getConj(sStem, sTense, sWho));
                }
            }
        }
        else {
            for (let [sTense, ] of lTenses) {
                for (let sWho of [ ...sMorph.matchAll(/:[123][sp]/g) ]) {
                    if (conj.hasConj(sStem, sTense, sWho)) {
                        aSugg.add(conj.getConj(sStem, sTense, sWho));
                    }
                }
            }
        }
    }







|







168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
                if (conj.hasConj(sStem, sTense, sWho)) {
                    aSugg.add(conj.getConj(sStem, sTense, sWho));
                }
            }
        }
        else {
            for (let [sTense, ] of lTenses) {
                for (let [sWho, ] of [ ...sMorph.matchAll(/:[123][sp]/g) ]) {
                    if (conj.hasConj(sStem, sTense, sWho)) {
                        aSugg.add(conj.getConj(sStem, sTense, sWho));
                    }
                }
            }
        }
    }

Modified gc_lang/fr/modules/gce_suggestions.py from [8bef0dbc3f] to [1f53e39acb].

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
                            aTense.add(m.group(1))
            for sTense in aTense:
                if sWho == ":1ś" and not conj._hasConjWithTags(tTags, sTense, ":1ś"):
                    sWho = ":1s"
                if conj._hasConjWithTags(tTags, sTense, sWho):
                    aSugg.add(conj._getConjWithTags(sStem, tTags, sTense, sWho))
    if funcSugg2:
        aSugg2 = funcSugg2(sFlex)
        if aSugg2:
            aSugg.add(aSugg2)
    if aSugg:
        if bVC:
            aSugg = [ joinVerbAndSuffix(sSugg, sSfx)  for sSugg in aSugg ]
        return "|".join(aSugg)
    return ""









|
|
|







43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
                            aTense.add(m.group(1))
            for sTense in aTense:
                if sWho == ":1ś" and not conj._hasConjWithTags(tTags, sTense, ":1ś"):
                    sWho = ":1s"
                if conj._hasConjWithTags(tTags, sTense, sWho):
                    aSugg.add(conj._getConjWithTags(sStem, tTags, sTense, sWho))
    if funcSugg2:
        sSugg2 = funcSugg2(sFlex)
        if sSugg2:
            aSugg.add(sSugg2)
    if aSugg:
        if bVC:
            aSugg = [ joinVerbAndSuffix(sSugg, sSfx)  for sSugg in aSugg ]
        return "|".join(aSugg)
    return ""


Modified gc_lang/fr/rules.grx from [6130f02351] to [08e4bb7dc6].

24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
        -4>> =suggMasPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: certains claviers {{dégueulasse}}                                                     ->> dégueulasses|dégueulassés|dégueulés|dégueulassent
TEST: certains hommes {{petite}}                                                            ->> petits
TEST: auxdits hommes {{connu}}                                                              ->> connus
TEST: quels hommes {{grandes}}                                                              ->> grands
TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit.                        ->> désastreux
TEST: de quels grands {{fou}} s’agit-il ?                                                   ->> fous
TEST: chez certains la revue Limite provoque des crises d’hystérie.








<







24361
24362
24363
24364
24365
24366
24367

24368
24369
24370
24371
24372
24373
24374
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
        -4>> =suggMasPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.


TEST: certains hommes {{petite}}                                                            ->> petits
TEST: auxdits hommes {{connu}}                                                              ->> connus
TEST: quels hommes {{grandes}}                                                              ->> grands
TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit.                        ->> désastreux
TEST: de quels grands {{fou}} s’agit-il ?                                                   ->> fous
TEST: chez certains la revue Limite provoque des crises d’hystérie.

33142
33143
33144
33145
33146
33147
33148

33149
33150
33151
33152
33153
33154
33155
TEST: tu sais, certaines danses {{dérive}} d’autres                                                 ->> dérivent
TEST: certaines demandes qui {{donne}} le tournis.                                                  ->> donnent
TEST: certaines petites {{fatigue}}                                                                 ->> fatiguent|fatigues|fatiguées
TEST: plusieurs personnes {{devienne}} des robots                                                   ->> deviennent
TEST: plusieurs pressions qui ne {{donne}} pas les résultats attendus.                              ->> donnent
TEST: plusieurs petites {{actionne}} le levier ensemble.                                            ->> actionnent
TEST: plusieurs femmes {{marchande}}                                                                ->> marchandent|marchandes

TEST: j’en connais plusieurs soumises à de très fortes pressions
TEST: certaines femmes prises par leur travail n’ont plus le temps pour rien d’autre.
TEST: certains imbéciles passés à l’ennemi feraient mieux de se taire.


__conj_des_nom__
    [<start>|,|(]  des  @:[NA].*:[pi]  @:V¬:(?:3p|P|G|Q|Y|A.*:[pi]|V[23].*:Y)







>







33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
TEST: tu sais, certaines danses {{dérive}} d’autres                                                 ->> dérivent
TEST: certaines demandes qui {{donne}} le tournis.                                                  ->> donnent
TEST: certaines petites {{fatigue}}                                                                 ->> fatiguent|fatigues|fatiguées
TEST: plusieurs personnes {{devienne}} des robots                                                   ->> deviennent
TEST: plusieurs pressions qui ne {{donne}} pas les résultats attendus.                              ->> donnent
TEST: plusieurs petites {{actionne}} le levier ensemble.                                            ->> actionnent
TEST: plusieurs femmes {{marchande}}                                                                ->> marchandent|marchandes
TEST: certains claviers {{dégueulasse}}                                                             ->> dégueulasses|dégueulassés|dégueulés|dégueulassent
TEST: j’en connais plusieurs soumises à de très fortes pressions
TEST: certaines femmes prises par leur travail n’ont plus le temps pour rien d’autre.
TEST: certains imbéciles passés à l’ennemi feraient mieux de se taire.


__conj_des_nom__
    [<start>|,|(]  des  @:[NA].*:[pi]  @:V¬:(?:3p|P|G|Q|Y|A.*:[pi]|V[23].*:Y)