Grammalecte  Check-in [dc5c955540]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[fr] ajustements et faux positifs
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: dc5c955540e039e441ede12162ea829a5ddd515766ef2e0d60e1578f2751e1ec
User & Date: olr 2020-06-05 17:18:21
Context
2020-06-10
13:25
[fr] ajustements et faux positifs check-in: bffda9847f user: olr tags: fr, trunk
2020-06-05
17:18
[fr] ajustements et faux positifs check-in: dc5c955540 user: olr tags: fr, trunk
12:25
[fr] ajustements [core] tests: don’t check subrules generated by token offset check-in: 203e4950f1 user: olr tags: fr, trunk
Changes

Changes to gc_lang/fr/rules.grx.

18222
18223
18224
18225
18226
18227
18228

18229
18230


18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243

18244
18245
18246

18247
18248
18249
18250
18251
18252
18253
18254
18255
.....
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216

20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
.....
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
.....
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
.....
23295
23296
23297
23298
23299
23300
23301

23302
23303
23304
23305
23306
23307
23308
        <<- /conf/ -1>> =\1.replace("and", "ant")                           && Confusion. Flamand = habitant des Flandres. Flamant = oiseau.

TEST: j’ai vu un {{flamand}} rose.


# foi / fois / foie
__conf_foi_fois_foie__

    [de|la|cette|une] mauvaise [fois|>foie]
    [ma|ta|sa|notre|votre|leur] fois


        <<- /conf/ --1>> foi                                                && Confusion probable.|https://fr.wiktionary.org/wiki/foi

    sans [fois|>foie] ?,¿ ni >loi
        <<- /conf/ -2>> foi                                                 && Confusion probable.|https://fr.wiktionary.org/wiki/foi

    bonne [fois|>foie]
        <<- /conf/ not (value(<1, "|une|") and after("(?i)^ +pour toute") )
        -2>> foi                                                            && Confusion probable.|https://fr.wiktionary.org/wiki/foi

    [>faire|>perdre|>donner|>avoir]  [fois|>foie]
    >avoir  la  [fois|>foie]
        <<- /conf/ --1>> foi                                                && Confusion probable. Pour évoquer la ferveur religieuse, écrivez “foi”.|https://fr.wiktionary.org/wiki/foi


    [>huile|>terrine|>pâté] de >foi
        <<- /conf/ --1>> foie                                               && Confusion probable. L’organe s’écrit “foie”.|https://fr.wiktionary.org/wiki/foie


    [la|une|cette] prochaine foi
    une bonne foi pour [toute|toutes]
        <<- /conf/ -3>> fois                                                && Confusion probable.|https://fr.wiktionary.org/wiki/fois

TEST: ces gens sont de mauvaise {{fois}}
TEST: C’est une personne de bonne {{fois}}.
TEST: Mais il a perdu {{fois}} en l’avenir.
TEST: sans {{fois}} ni loi
TEST: J’ai préparé du pâté de {{fois}}
................................................................................
__gn_nombre_plur_2m__
    $:B:e:p  *WORD  *WORD
        <<- /gn/ not morph(<1, ">(?:et|ou)/|:R") and not morph(\3, ">(?:seul|minimum|maximum)/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":V0") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

TEST: deux sombres {{idiot}}
TEST: sept valeurs {{aléatoire}}
TEST: huit {{grandes}} {{claviers}}
TEST: X a perdu mon estime et ma considération.
TEST: vivre une situation hors du commun à deux a aussi pesé dans la balance.
TEST: deux jours minimum



__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":(?:[VRBX]|Cs|LV)|>comme/|<start>|>,", "*") or morph(\3, ":N", ":[AQ]")) and not \3.startswith("seul") >>>
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- not morph(\3, ":G|>a/") and checkAgreement(\2, \3) =>> =exclude(\3, ":V")

TEST: faire table rase des passions {{inutile}}               ->> inutiles
TEST: à bonne distance des {{chiens}} {{méchante}}
TEST: des hommes {{attaquée}}
TEST: des femmes {{agressé}}
................................................................................
    [plusieurs|quelques|certains|certaines|moult]           *WORD  *WORD  *WORD
    [lesdits|lesdites|desdits|desdites|auxdits|auxdites]    *WORD  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
            and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not morph(\4, ">seul/")
        -4>> =suggPlur(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

    leurs  *WORD  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:[pi]", "[123][sp]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
            and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not morph(\4, ">seul/")
        -4>> =suggPlur(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

TEST: ces petites sottes {{déjantée}}
TEST: Leurs grands plans {{dépassé}} par les évènements
TEST: Prendre goût aux heures passées seul à marcher

................................................................................
    [de|d’]  @:V[123]_i.*:Y  [lui|leur|y]                             en                        @:[123][sp]¬:G
    [de|d’]  @:V[123]_i.*:Y  [lui|y]                                                            @:[123][sp]¬:G
    [de|d’]  @:V[123]_i.*:Y  [le|la|l’|les|leur|en]                                             @:[123][sp]¬:[NAG]
    [de|d’]  @:V[123]_i.*:Y  @:3[sp]¬:[DM]
        <<- not morph(\2, ">(?:être|demeurer|devenir|redevenir|sembler|para[îi]tre|rester)/") ~1:2>> *

    [à|de|d’|par|pour|sans]  [l’|le|la|les]  ?[en|y]¿   $:Y
        <<- ~>> *

    ne [lui|leur]
        <<- not value(>1, "|en|") ~2>> *

    que >sembler [le|l’] [penser|croire|présumer|supposer|envisager|imaginer|supposer]
        <<- ~3:4>> *

................................................................................
TEST: tandis que d’autres perçoivent le bon goût de la soupe.
TEST: Je me doute bien que vous avez trouvé la réponse.
TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire.
TEST: Notre but n’était pas de devenir célèbres.
TEST: sans qu’on ait à le lui ordonner
TEST: Les messages envoyés à toto@toto.fr seront transmis à Roger.
TEST: En outre, les grosses institutions comme l’Éducation Nationale ne développent pas forcément en interne



__tag_locutions_verbales_d_état__
    [>aller|>adorer|>affirmer|>aimer|>croire|>déclarer|>désirer|>détester|>devoir|>dire|>estimer|>imaginer|>paraître|>paraitre|>penser|>pouvoir|>préférer|>risquer|>savoir|>sembler|>souhaiter|>vouloir]
        || ?[en|y]¿ [être|devenir|redevenir|rester|paraître|paraitre|sembler]
        <<- /1>> _LVED_verbe_verbeétat_
        <<- /-1>> _LVEF_verbe_verbeétat_







>


>
>
|










|

>



>
|
|







 







|








>








|







 







|







 







|







 







>







18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
.....
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
.....
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
.....
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
.....
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
        <<- /conf/ -1>> =\1.replace("and", "ant")                           && Confusion. Flamand = habitant des Flandres. Flamant = oiseau.

TEST: j’ai vu un {{flamand}} rose.


# foi / fois / foie
__conf_foi_fois_foie__
    ## foi
    [de|la|cette|une] mauvaise [fois|>foie]
    [ma|ta|sa|notre|votre|leur] fois
    [>homme|>femme] [de|d’] peu [de|d’] [>foie|fois]
    >acte [de|d’] [>foie|fois]
        <<- /conf/ --1>> foi                                                && Confusion probable. Pour évoquer la ferveur (religieuse), écrivez “foi”.|https://fr.wiktionary.org/wiki/foi

    sans [fois|>foie] ?,¿ ni >loi
        <<- /conf/ -2>> foi                                                 && Confusion probable.|https://fr.wiktionary.org/wiki/foi

    bonne [fois|>foie]
        <<- /conf/ not (value(<1, "|une|") and after("(?i)^ +pour toute") )
        -2>> foi                                                            && Confusion probable.|https://fr.wiktionary.org/wiki/foi

    [>faire|>perdre|>donner|>avoir]  [fois|>foie]
    >avoir  la  [fois|>foie]
        <<- /conf/ --1>> foi                                                && Confusion probable. Pour évoquer la ferveur (religieuse), écrivez “foi”.|https://fr.wiktionary.org/wiki/foi

    ## foie
    [>huile|>terrine|>pâté] de >foi
        <<- /conf/ --1>> foie                                               && Confusion probable. L’organe s’écrit “foie”.|https://fr.wiktionary.org/wiki/foie

    ## fois
    [la|une|cette] prochaine [foi|>foie]
    une bonne [foi|>foie] pour [toute|toutes]
        <<- /conf/ -3>> fois                                                && Confusion probable.|https://fr.wiktionary.org/wiki/fois

TEST: ces gens sont de mauvaise {{fois}}
TEST: C’est une personne de bonne {{fois}}.
TEST: Mais il a perdu {{fois}} en l’avenir.
TEST: sans {{fois}} ni loi
TEST: J’ai préparé du pâté de {{fois}}
................................................................................
__gn_nombre_plur_2m__
    $:B:e:p  *WORD  *WORD
        <<- /gn/ not morph(<1, ">(?:et|ou)/|:R") and not morph(\3, ">(?:seul|minimum|maximum)/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

TEST: deux sombres {{idiot}}
TEST: sept valeurs {{aléatoire}}
TEST: huit {{grandes}} {{claviers}}
TEST: X a perdu mon estime et ma considération.
TEST: vivre une situation hors du commun à deux a aussi pesé dans la balance.
TEST: deux jours minimum
TEST: ils disent finalement tous les deux la même chose


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":(?:[VRBX]|Cs|LV)|>comme/|<start>|>,", "*") or morph(\3, ":N", ":[AQ]")) and not \3.startswith("seul") >>>
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- not morph(\3, ":G|>a/") and checkAgreement(\2, \3) =>> =exclude(\3, ":V")

TEST: faire table rase des passions {{inutile}}               ->> inutiles
TEST: à bonne distance des {{chiens}} {{méchante}}
TEST: des hommes {{attaquée}}
TEST: des femmes {{agressé}}
................................................................................
    [plusieurs|quelques|certains|certaines|moult]           *WORD  *WORD  *WORD
    [lesdits|lesdites|desdits|desdites|auxdits|auxdites]    *WORD  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
            and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not morph(\4, ">seul/")
        -4>> =suggPlur(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

    leurs  *WORD  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":[123][sp]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
            and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not morph(\4, ">seul/")
        -4>> =suggPlur(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

TEST: ces petites sottes {{déjantée}}
TEST: Leurs grands plans {{dépassé}} par les évènements
TEST: Prendre goût aux heures passées seul à marcher

................................................................................
    [de|d’]  @:V[123]_i.*:Y  [lui|leur|y]                             en                        @:[123][sp]¬:G
    [de|d’]  @:V[123]_i.*:Y  [lui|y]                                                            @:[123][sp]¬:G
    [de|d’]  @:V[123]_i.*:Y  [le|la|l’|les|leur|en]                                             @:[123][sp]¬:[NAG]
    [de|d’]  @:V[123]_i.*:Y  @:3[sp]¬:[DM]
        <<- not morph(\2, ">(?:être|demeurer|devenir|redevenir|sembler|para[îi]tre|rester)/") ~1:2>> *

    [à|de|d’|par|pour|sans]  [l’|le|la|les]  ?[en|y]¿   $:Y
        <<- not morph(>1, ":Y") ~>> *

    ne [lui|leur]
        <<- not value(>1, "|en|") ~2>> *

    que >sembler [le|l’] [penser|croire|présumer|supposer|envisager|imaginer|supposer]
        <<- ~3:4>> *

................................................................................
TEST: tandis que d’autres perçoivent le bon goût de la soupe.
TEST: Je me doute bien que vous avez trouvé la réponse.
TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire.
TEST: Notre but n’était pas de devenir célèbres.
TEST: sans qu’on ait à le lui ordonner
TEST: Les messages envoyés à toto@toto.fr seront transmis à Roger.
TEST: En outre, les grosses institutions comme l’Éducation Nationale ne développent pas forcément en interne
TEST: Le mieux serait de le faire glisser


__tag_locutions_verbales_d_état__
    [>aller|>adorer|>affirmer|>aimer|>croire|>déclarer|>désirer|>détester|>devoir|>dire|>estimer|>imaginer|>paraître|>paraitre|>penser|>pouvoir|>préférer|>risquer|>savoir|>sembler|>souhaiter|>vouloir]
        || ?[en|y]¿ [être|devenir|redevenir|rester|paraître|paraitre|sembler]
        <<- /1>> _LVED_verbe_verbeétat_
        <<- /-1>> _LVEF_verbe_verbeétat_