Grammalecte  Check-in [2f921877e7]

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

Overview
Comment:[fr] faux positifs et ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256:2f921877e760c219417e1fbc6129d657e8a1a81135f0ad0fbac8a9f1db6d9b21
User & Date: olr 2019-05-24 07:03:43
Context
2019-05-24
07:42
[core] move getSentenceBoundaries from gc_engine to text module check-in: bf0a1bdd5d user: olr tags: core, trunk
07:03
[fr] faux positifs et ajustements check-in: 2f921877e7 user: olr tags: fr, trunk
2019-05-23
10:57
[fr] ajustements check-in: d04bf88afa user: olr tags: fr, trunk
Changes

Changes to gc_lang/fr/rules.grx.

12117
12118
12119
12120
12121
12122
12123

12124
12125
12126
12127
12128
12129
12130
.....
12202
12203
12204
12205
12206
12207
12208

12209
12210
12211
12212
12213
12214
12215
.....
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
.....
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
.....
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
.....
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
.....
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219

18220
18221
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
18261
18262
.....
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998

20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012





21013
21014
21015
21016
21017
21018






21019
21020
21021
21022



21023
21024
21025
21026
21027
21028
21029
.....
21031
21032
21033
21034
21035
21036
21037

21038
21039
21040
21041
21042




21043
21044
21045
21046
21047
21048
21049


__purge_locutions_verbales__
    >aller bon train
    >arriver à échéance
    >arriver à point nommé
    >arriver à bon port

    >battre en [brèche|retraite]
    >chauffer à blanc
    >compter à rebours
    >condamner à mort
    >couler à ?grands¿ flots
    >demander [assistance|audience|conseil|pardon]
    [>donner|>redonner] [sens|suite]
................................................................................
        <<- ~2:0>> *


__conf_locutions_verbales__
    >arriver a échéance
    >arriver a point nommé
    >arriver a bon port

    >chauffer a blanc
    [>gonfler|>regonfler] a bloc
    [>mettre|>remettre] a [bas|>flot|>jour|>niveau|>nu|>nue|>plat|>terre]
    [>mettre|>remettre] a l’ [écart|épreuve]
    >percer a jour
    >prendre a la légère
    >saigner a blanc
................................................................................
!!!! Groupe nominal (avec déterminants)                                                           !!
!!
!!

## l’

__gn_l_1m__
    l’  @:[NA].*:p¬:[123][sp]|:[si]
        <<- /gn/ -2>> =suggSing(\2)                                                                 # Accord de nombre erroné : “\2” devrait être au singulier.

TEST: toute l’importance de l’{{accords}} musical.


__gn_l_2m__
    l’  @:[NA]¬*  @:[NA]¬*
................................................................................
TEST: Une des pierres veinée de rouge…
TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie.
TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion.


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":[VRBX]|:Cs|>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.
        <<- checkAgreement(\2, \3) =>> =exclude(\3, ":V")

................................................................................
TEST: deux {{cents}} quatre tests lancés à chaque itération du processus nouveau
TEST: par {{cents}} idées différentes.


# mille
__sgpl_mille__
    milles
        <<- /sgpl/ morph(>1, ":B|:N.*:p", ":[QA]") or (morph(<1, ":B") and morph(>1, ":[NA]"))
        ->> mille                           # “Mille” est invariable s’il s’agit d’un nombre (et non de l’unité de mesure maritime).

TEST: Plus de {{milles}} personnes sont venues.
TEST: plus de deux cent quatre-vingt mille personnes


#### Groupes, regroupements, collections, etc.
................................................................................
TEST: Avec le même nombre de bulletins, les xénophobes apparaîtront plus forts.
TEST: Pour leur permettre d’être plus forts face aux maîtres de tous bords, patrons, maris ou bureaucrates.


# bien
__sgpl_verbe_bien__
    biens
        <<- /sgpl/ morph(<1, ":V", ":D.*:p|:A.*:p") ->> bien    # Confusion probable. Ici, “bien” est un adverbe, donc invariable.

TEST: Ils vont {{biens}}.
TEST: Elles travaillaient vraiment {{biens}}.
TEST: Il ne comprenait vraiment pas très {{biens}} ces principes de base.
TEST: Il a de grands biens.
TEST: Ce sont des biens de peu de valeur.

................................................................................
    tu  ?[ne|n’]¿  [te|t’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:p¬:(?:[GWYsi]|V0)
        <<- /ppas/ --1>> =suggSing(\-1)                                 # Accord avec le sujet “tu” : “\-1” devrait être au singulier.

TEST: quand tu te montres {{infaillibles}}


__ppas_3sg_mas_se_verbe__
    [il|quiconque]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
        <<- /ppas/ --1>> =suggMasSing(\-1)                              # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    [lui|ça|ceci|cela|celui-ci|celui-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggMasSing(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    ([lui|ça|ceci|cela|ce|c’|ç’|celui|celui-ci|celui-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
        <<- /ppas/ morph(\2, ":[123]s") --1>> =suggMasSing(\-1)         # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    lequel  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggMasSing(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

TEST: il se révéla totalement {{incapables}} d’y parvenir.
TEST: ceci se veut {{différents}} des autres.
TEST: celui-là qui ne se montre jamais {{reconnaissants}}
TEST: lequel se veut {{imbattables}} ?


__ppas_3sg_fem_se_verbe__
    [elle|celle-ci|celle-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pm]¬:(?:G|W|V0|:[fe]:[si])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggFemSing(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    ([elle|celle|celle-ci|celle-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[pm]¬:(?:G|W|V0|:[fe]:[si])
        <<- /ppas/ morph(\2, ":[123]s") --1>> =suggFemSing(\-1)         # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    laquelle  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pm]¬:(?:G|W|V0|:[fe]:[si])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggFemSing(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

TEST: Elle se sait plus {{fortes}} qu’eux tous.
TEST: elle se vit {{abandonné}}
TEST: à celle qui se révélera {{attentif}} à tous ces problèmes.
TEST: laquelle ne se sentit {{légitimes}} malgré ses compétences dans ce domaine.



__ppas_1pl_nous_verbe__
    nous  ?[ne|n’]¿  nous  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:s¬:(?:[GWpi]|V0)
        <<- /ppas/ morph(\1, ":1p") --1>> =suggPlur(\-1)                # Accord avec le sujet “nous” : “\-1” devrait être au pluriel.

TEST: nous nous pensions {{invincible}} jusqu’au jour où tout a basculé.


__ppas_3pl_mas_se_verbe__
    ils  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
        <<- /ppas/ --1>> =suggMasPlur(\-1)                              # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    [ceux-ci|ceux-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggMasPlur(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    ([eux|ceux|ceux-ci|ceux-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
        <<- /ppas/ morph(\2, ":3p") --1>> =suggMasPlur(\-1)             # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    lesquels  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggMasPlur(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

TEST: ils se montrent {{exigeantes}}
TEST: ceux-ci se surent {{espionné}} par les agents secrets de l’ennemi.
TEST: agissons eux qui se montrent tellement {{arrogantes}} qu’ils méritent une petite leçon.
TEST: lesquels se pensent encore {{anonyme}}


__ppas_3pl_fem_se_verbe__
    [elles|celles-ci|celles-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sm]¬:(?:G|W|V0|:[fe]:[pi])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggFemPlur(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    ([elles|celles|celles-ci|celles-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[sm]¬:(?:G|W|V0|:[fe]:[pi])
        <<- /ppas/ morph(\2, ":3p") --1>> =suggFemPlur(\-1)             # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    lesquelles  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sm]¬:(?:G|W|V0|:[fe]:[pi])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggFemPlur(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

TEST: elles se sentent {{perdu}}
TEST: contre celles qui se veulent {{ignorante}} des réalités.
TEST: Lesquelles s’y montraient {{dure}}.


................................................................................
TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros.
TEST: Si j’{{irais}} le faire


# Dès que + indicatif
__vmode_dès_que__
    dès  [que|qu’]  @:(?:Os|M)  @:S¬:[IG]
        <<- /vmode/ -4>> =suggVerbMode(\4, ":I", \3)                                                     # Ce verbe ne devrait pas être au subjonctif.
#        <<- morph(\1, ":(?:Os|M)", False) and morph(\2, ":K", False)        -2>> =suggVerbMode(@, ":If", \1)    # Ce verbe ne devrait pas être au conditionnel.

#TEST: dès que je le {{verrais}}
TEST: dès qu’il le {{voie}}
TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion


# verbe que + subjonctif
__vmode_qqch_que_subjonctif__
    [quoique|quoiqu’]  @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -3>> =suggVerbMode(\3, ":S", \2)                                                # Après “quoique”, ce verbe devrait être au subjonctif.

    [>permettre|>falloir|>vouloir|>ordonner|>exiger|>désirer|>préférer|>souhaiter|>suffire]  [que|qu’]  @:(?:Os|M)  @:I¬:[GYS]

    [afin|avant|malgré|pour|pourvu|quoi|sans]                                                [que|qu’]  @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -4>> =suggVerbMode(\4, ":S", \3)                                                # Après “\1 que”, ce verbe devrait être au subjonctif.

    >douter  [que|qu’]  @:(?:Os|M)  @:I¬:(?:[GYSK]|If)
        <<- /vmode/ not tag(\1, "upron") and morph(\1, ":V", ":N")
        -4>> =suggVerbMode(\4, ":S", \3)                                                            # Après “\1 que”, ce verbe devrait être au subjonctif.

    [il|ça|cela]    peut                            [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ tag(\2, "upron") -5>> =suggVerbMode(\5, ":S", \4)                               # Ce verbe devrait être au subjonctif.

    à               [condition|moins|supposer]      [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    pour            peu                             [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    de              [crainte|peur]                  [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    de              [façon|manière]                 [que|qu’]   @:(?:Os|M)  @:I¬:(?:[GYS]|Iq)





    [<start>|,]     non                             [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4)                                                # Ce verbe devrait être au subjonctif.

    [<start>|,]     en          admettant           [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5)                                                # Si “en admettant que” indique que la suite est une hypothèse, le verbe doit être au subjonctif.







    il          est         possible            [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    jusqu’      à           ce                  [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    si          tant        est                 [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5)                                                # Après “\1 \2 \3”, ce verbe devrait être au subjonctif.




TEST: Quoiqu’il {{est}} parti il y a longtemps, on pense encore beaucoup à lui.
TEST: Il suffit qu’il {{court}} plus
TEST: Je veux qu’il {{finit}} son repas.
TEST: quoi qu’il en {{conclut}}
TEST: Je ne veux pas que tu {{es}} des ennuis
TEST: Avant que tu {{pars}}, je voudrais qu’on discute.
................................................................................
TEST: il est possible qu’il {{vient}} demain.
TEST: à condition que tu {{réussis}}
TEST: Pourvu qu’elle {{réussit}}.
TEST: en admettant que tu {{deviens}} plus talentueuse qu’elle, qu’est-ce que tu feras ?
TEST: afin que je {{prends}} des mesures
TEST: à condition qu’il {{finit}} son boulot.
TEST: pour peu qu’il {{prend}} son devoir sérieux…

TEST: il se peut que nous {{avons}} tort.
TEST: Nous œuvrons silencieusement de crainte qu’il nous {{entend}}.
TEST: En admettant qu’il {{devient}} juste.
TEST: ça ira, si tant est que Paul {{comprend}} ce qui se passe.
TEST: à condition qu’elle l’{{est}} jamais été




TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard.
TEST: Je ne doute pas qu’ils réussiront leur mission.
TEST: Je me doutais bien qu’Apple pourrait marcher
TEST: Tu vivras plus sereinement en admettant que tu ne peux pas être la meilleure en toutes choses.
TEST: il ne fait aucun doute qu’Amazon le sait.
TEST: quoi que nous autres hommes ayons pu faire
TEST: Je me doutais bien qu’elle me détestait







>







 







>







 







|







 







|







 







|







 







|







 







|


|


|


|









|


|


|






>










|


|


|


|









|


|


|







 







|













>
|







|





>
>
>
>
>

|




>
>
>
>
>
>
|
|
|
|
>
>
>







 







>





>
>
>
>







12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
.....
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
.....
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
.....
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
.....
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
.....
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
.....
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
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
18261
18262
18263
18264
18265
.....
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
.....
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072


__purge_locutions_verbales__
    >aller bon train
    >arriver à échéance
    >arriver à point nommé
    >arriver à bon port
    >battre à plate couture
    >battre en [brèche|retraite]
    >chauffer à blanc
    >compter à rebours
    >condamner à mort
    >couler à ?grands¿ flots
    >demander [assistance|audience|conseil|pardon]
    [>donner|>redonner] [sens|suite]
................................................................................
        <<- ~2:0>> *


__conf_locutions_verbales__
    >arriver a échéance
    >arriver a point nommé
    >arriver a bon port
    >battre a plate couture
    >chauffer a blanc
    [>gonfler|>regonfler] a bloc
    [>mettre|>remettre] a [bas|>flot|>jour|>niveau|>nu|>nue|>plat|>terre]
    [>mettre|>remettre] a l’ [écart|épreuve]
    >percer a jour
    >prendre a la légère
    >saigner a blanc
................................................................................
!!!! Groupe nominal (avec déterminants)                                                           !!
!!
!!

## l’

__gn_l_1m__
    l’  @:[NA].*:p¬:(?:[123][sp]|[si])
        <<- /gn/ -2>> =suggSing(\2)                                                                 # Accord de nombre erroné : “\2” devrait être au singulier.

TEST: toute l’importance de l’{{accords}} musical.


__gn_l_2m__
    l’  @:[NA]¬*  @:[NA]¬*
................................................................................
TEST: Une des pierres veinée de rouge…
TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie.
TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion.


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":(?:[VRBX]|Cs)|>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.
        <<- checkAgreement(\2, \3) =>> =exclude(\3, ":V")

................................................................................
TEST: deux {{cents}} quatre tests lancés à chaque itération du processus nouveau
TEST: par {{cents}} idées différentes.


# mille
__sgpl_mille__
    milles
        <<- /sgpl/ morph(>1, ":(?:B|N.*:p)", ":[QA]") or (morph(<1, ":B") and morph(>1, ":[NA]"))
        ->> mille                           # “Mille” est invariable s’il s’agit d’un nombre (et non de l’unité de mesure maritime).

TEST: Plus de {{milles}} personnes sont venues.
TEST: plus de deux cent quatre-vingt mille personnes


#### Groupes, regroupements, collections, etc.
................................................................................
TEST: Avec le même nombre de bulletins, les xénophobes apparaîtront plus forts.
TEST: Pour leur permettre d’être plus forts face aux maîtres de tous bords, patrons, maris ou bureaucrates.


# bien
__sgpl_verbe_bien__
    biens
        <<- /sgpl/ morph(<1, ":V", ":[DA].*:p") ->> bien        # Confusion probable. Ici, “bien” est un adverbe, donc invariable.

TEST: Ils vont {{biens}}.
TEST: Elles travaillaient vraiment {{biens}}.
TEST: Il ne comprenait vraiment pas très {{biens}} ces principes de base.
TEST: Il a de grands biens.
TEST: Ce sont des biens de peu de valeur.

................................................................................
    tu  ?[ne|n’]¿  [te|t’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:p¬:(?:[GWYsi]|V0)
        <<- /ppas/ --1>> =suggSing(\-1)                                 # Accord avec le sujet “tu” : “\-1” devrait être au singulier.

TEST: quand tu te montres {{infaillibles}}


__ppas_3sg_mas_se_verbe__
    [il|quiconque]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pf]¬:(?:G|W|V0|[me]:[si])
        <<- /ppas/ --1>> =suggMasSing(\-1)                              # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    [lui|ça|ceci|cela|celui-ci|celui-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pf]¬:(?:G|W|V0|[me]:[si])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggMasSing(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    ([lui|ça|ceci|cela|ce|c’|ç’|celui|celui-ci|celui-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[pf]¬:(?:G|W|V0|[me]:[si])
        <<- /ppas/ morph(\2, ":[123]s") --1>> =suggMasSing(\-1)         # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    lequel  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pf]¬:(?:G|W|V0|[me]:[si])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggMasSing(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

TEST: il se révéla totalement {{incapables}} d’y parvenir.
TEST: ceci se veut {{différents}} des autres.
TEST: celui-là qui ne se montre jamais {{reconnaissants}}
TEST: lequel se veut {{imbattables}} ?


__ppas_3sg_fem_se_verbe__
    [elle|celle-ci|celle-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pm]¬:(?:G|W|V0|[fe]:[si])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggFemSing(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    ([elle|celle|celle-ci|celle-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[pm]¬:(?:G|W|V0|[fe]:[si])
        <<- /ppas/ morph(\2, ":[123]s") --1>> =suggFemSing(\-1)         # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    laquelle  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[pm]¬:(?:G|W|V0|[fe]:[si])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggFemSing(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

TEST: Elle se sait plus {{fortes}} qu’eux tous.
TEST: elle se vit {{abandonné}}
TEST: à celle qui se révélera {{attentif}} à tous ces problèmes.
TEST: laquelle ne se sentit {{légitimes}} malgré ses compétences dans ce domaine.
TEST: elle se sent vide.


__ppas_1pl_nous_verbe__
    nous  ?[ne|n’]¿  nous  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:s¬:(?:[GWpi]|V0)
        <<- /ppas/ morph(\1, ":1p") --1>> =suggPlur(\-1)                # Accord avec le sujet “nous” : “\-1” devrait être au pluriel.

TEST: nous nous pensions {{invincible}} jusqu’au jour où tout a basculé.


__ppas_3pl_mas_se_verbe__
    ils  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sf]¬:(?:G|W|V0|[me]:[pi])
        <<- /ppas/ --1>> =suggMasPlur(\-1)                              # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    [ceux-ci|ceux-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sf]¬:(?:G|W|V0|[me]:[pi])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggMasPlur(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    ([eux|ceux|ceux-ci|ceux-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[sf]¬:(?:G|W|V0|[me]:[pi])
        <<- /ppas/ morph(\2, ":3p") --1>> =suggMasPlur(\-1)             # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

    lesquels  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sf]¬:(?:G|W|V0|[me]:[pi])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggMasPlur(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.

TEST: ils se montrent {{exigeantes}}
TEST: ceux-ci se surent {{espionné}} par les agents secrets de l’ennemi.
TEST: agissons eux qui se montrent tellement {{arrogantes}} qu’ils méritent une petite leçon.
TEST: lesquels se pensent encore {{anonyme}}


__ppas_3pl_fem_se_verbe__
    [elles|celles-ci|celles-là]  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sm]¬:(?:G|W|V0|[fe]:[pi])
        <<- /ppas/ not morph(<1, ":[RV]") --1>> =suggFemPlur(\-1)       # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    ([elles|celles|celles-ci|celles-là])  qui  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir])  @:[NA].*:[sm]¬:(?:G|W|V0|[fe]:[pi])
        <<- /ppas/ morph(\2, ":3p") --1>> =suggFemPlur(\-1)             # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

    lesquelles  ?[ne|n’]¿  [se|s’]  ?[en|y]¿  [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]  @:[NA].*:[sm]¬:(?:G|W|V0|[fe]:[pi])
        <<- /ppas/ not morph(<1, ":R") --1>> =suggFemPlur(\-1)          # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.

TEST: elles se sentent {{perdu}}
TEST: contre celles qui se veulent {{ignorante}} des réalités.
TEST: Lesquelles s’y montraient {{dure}}.


................................................................................
TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros.
TEST: Si j’{{irais}} le faire


# Dès que + indicatif
__vmode_dès_que__
    dès  [que|qu’]  @:(?:Os|M)  @:S¬:[IG]
        <<- /vmode/ -4>> =suggVerbMode(\4, ":I", \3)                                                # Après “dès que”, le verbe ne devrait pas être au subjonctif.
#        <<- morph(\1, ":(?:Os|M)", False) and morph(\2, ":K", False)        -2>> =suggVerbMode(@, ":If", \1)    # Ce verbe ne devrait pas être au conditionnel.

#TEST: dès que je le {{verrais}}
TEST: dès qu’il le {{voie}}
TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion


# verbe que + subjonctif
__vmode_qqch_que_subjonctif__
    [quoique|quoiqu’]  @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -3>> =suggVerbMode(\3, ":S", \2)                                                # Après “quoique”, ce verbe devrait être au subjonctif.

    [>permettre|>falloir|>vouloir|>ordonner|>exiger|>désirer|>préférer|>souhaiter|>suffire]  [que|qu’]  @:(?:Os|M)  @:I¬:[GYS]
    [afin|avant|malgré|pour|pourvu|qui|quoi|sans]                                            [que|qu’]  @:(?:Os|M)  @:I¬:[GYS]
    moyennant                                                                                [que|qu’]  @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -4>> =suggVerbMode(\4, ":S", \3)                                                # Après “\1 que”, ce verbe devrait être au subjonctif.

    >douter  [que|qu’]  @:(?:Os|M)  @:I¬:(?:[GYSK]|If)
        <<- /vmode/ not tag(\1, "upron") and morph(\1, ":V", ":N")
        -4>> =suggVerbMode(\4, ":S", \3)                                                            # Après “\1 que”, ce verbe devrait être au subjonctif.

    [il|ça|cela]    peut                            [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ tag(\2, "upron") -5>> =suggVerbMode(\5, ":S", \4)                               # Après “\1 se peut que”, le verbe devrait être au subjonctif.

    à               [condition|moins|supposer]      [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    pour            peu                             [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    de              [crainte|peur]                  [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    de              [façon|manière]                 [que|qu’]   @:(?:Os|M)  @:I¬:(?:[GYS]|Iq)
    en              sorte                           [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    pour            autant                          [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4)                                                # Après “\1 \2 que”, ce verbe devrait être au subjonctif.


    [<start>|,]     non                             [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4)                                                # Après “non que”, ce verbe devrait probablement être au subjonctif.

    [<start>|,]     en          admettant           [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5)                                                # Si “en admettant que” indique que la suite est une hypothèse, le verbe doit être au subjonctif.

    [<start>|,]     en          attendant           [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5)                                                # Après “en attendant que”, le verbe devrait être au subjonctif.

    [<start>|,]     si          [bien|peu]          [que|qu’]   @:(?:Os|M)  @:I¬:(?:[GYS]|I[qf]|V0)
        <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5)                                                # Après “\2 \3 que”, ce verbe devrait être au subjonctif.

    il          est         possible                [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    jusqu’      à           ce                      [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
    si          tant        est                     [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5)                                                # Après “\1 \2 \3 que”, ce verbe devrait être au subjonctif.

    peu         [est|était] fallu                   [que|qu’]   @:(?:Os|M)  @:I¬:[GYS]
        <<- /vmode/ tag(\2, "upron") --1>> =suggVerbMode(\-1, ":S", \-2)                            # Après “peu s’en est fallu que”, ce verbe devrait être au subjonctif.

TEST: Quoiqu’il {{est}} parti il y a longtemps, on pense encore beaucoup à lui.
TEST: Il suffit qu’il {{court}} plus
TEST: Je veux qu’il {{finit}} son repas.
TEST: quoi qu’il en {{conclut}}
TEST: Je ne veux pas que tu {{es}} des ennuis
TEST: Avant que tu {{pars}}, je voudrais qu’on discute.
................................................................................
TEST: il est possible qu’il {{vient}} demain.
TEST: à condition que tu {{réussis}}
TEST: Pourvu qu’elle {{réussit}}.
TEST: en admettant que tu {{deviens}} plus talentueuse qu’elle, qu’est-ce que tu feras ?
TEST: afin que je {{prends}} des mesures
TEST: à condition qu’il {{finit}} son boulot.
TEST: pour peu qu’il {{prend}} son devoir sérieux…
TEST: Fais en sorte qu’elle {{court}} à sa perte
TEST: il se peut que nous {{avons}} tort.
TEST: Nous œuvrons silencieusement de crainte qu’il nous {{entend}}.
TEST: En admettant qu’il {{devient}} juste.
TEST: ça ira, si tant est que Paul {{comprend}} ce qui se passe.
TEST: à condition qu’elle l’{{est}} jamais été
TEST: non qu’il {{prend}} son temps
TEST: si tant est que nous {{prenons}} notre temps
TEST: moyennant qu’elle {{vient}} demain
TEST: peu s’en est fallu qu’il {{devient}} estropié.
TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard.
TEST: Je ne doute pas qu’ils réussiront leur mission.
TEST: Je me doutais bien qu’Apple pourrait marcher
TEST: Tu vivras plus sereinement en admettant que tu ne peux pas être la meilleure en toutes choses.
TEST: il ne fait aucun doute qu’Amazon le sait.
TEST: quoi que nous autres hommes ayons pu faire
TEST: Je me doutais bien qu’elle me détestait