Grammalecte  Check-in [c62eb048ad]

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:c62eb048ad429e3a9e0694efc179fc8502b8487c2ac674e5b18be70e826a3e8f
User & Date: olr 2019-05-13 15:25:40
Context
2019-05-13
17:20
[fr] faux positifs check-in: ab85e26fd1 user: olr tags: fr, trunk
15:25
[fr] faux positifs et ajustements check-in: c62eb048ad user: olr tags: fr, trunk
09:17
[fr] règle mal écrite check-in: 2c9f1ccc11 user: olr tags: fr, trunk
Changes

Changes to gc_lang/fr/rules.grx.

745
746
747
748
749
750
751









752
753
754
755
756
757
758
....
1868
1869
1870
1871
1872
1873
1874
1875



1876
1877
1878
1879
1880
1881
1882
....
1886
1887
1888
1889
1890
1891
1892

1893
1894
1895
1896
1897
1898
1899
....
2151
2152
2153
2154
2155
2156
2157

2158
2159
2160
2161
2162
2163
2164
....
3727
3728
3729
3730
3731
3732
3733




3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
....
3755
3756
3757
3758
3759
3760
3761

3762
3763
3764
3765
3766
3767
3768
....
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
....
4971
4972
4973
4974
4975
4976
4977

4978
4979
4980
4981
4982
4983
4984
....
7290
7291
7292
7293
7294
7295
7296



7297
7298
7299
7300
7301
7302
7303
....
7306
7307
7308
7309
7310
7311
7312

7313
7314
7315
7316
7317
7318
7319
....
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116










9117
9118
9119
9120

9121
9122
9123

9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
.....
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
.....
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590




11591
11592
11593
11594
11595
11596
11597
.....
12066
12067
12068
12069
12070
12071
12072



12073
12074
12075
12076
12077
12078
12079
.....
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550

18551
18552
18553
18554
18555
18556
18557
.....
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
.....
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
.....
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
.....
19881
19882
19883
19884
19885
19886
19887
19888

19889
19890
19891
19892
19893
19894
19895
19896

19897
19898
19899

19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911

19912
19913
19914
19915
19916
19917
19918
.....
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283

20284
20285
20286
20287
20288
20289
20290
.....
20356
20357
20358
20359
20360
20361
20362

20363
20364
20365
20366
20367
20368
20369
.....
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
TEST: je suis {{déconsidéré.e}} par ma hiérarchie.                      ->> déconsidéré·e
TEST: il faut en parler à l’{{auteur(e)}} et à son agent.               ->> auteur·e
TEST: le ou la {{patron/ne}}                                            ->> patron·ne
TEST: Totalement {{con(ne)}}                                            ->> con·ne
TEST: un ou une {{intellectuel.le}}                                     ->> intellectuel·le












!!
!!
!!!! Majuscules manquantes                                                                        !!
!!
!!

................................................................................
    en peine
        <<- =>> exclude(\2, ":V")

    par  *WORD
        <<- =>> exclude(\2, ":[123][sp]")

    plein  [de|d’]  @:[AN]
        <<- not morph(<1, ":V0e") =>> =define(\1, [":G"])




    tout feu ?,¿ tout >flamme
        <<- ~>> ␣
        <<- =>> define(\1, [":A:e:i"])

    très  *WORD
        <<- =>> exclude(\2, ":[123][sp]")
................................................................................
TEST: elle finit par être très fière de son fils.
TEST: en tant que président du conseil
TEST: les bac +2 sont trop nombreux.
TEST: c’est à n’y plus rien comprendre.
TEST: Elle était tout feu, tout flamme.
TEST: Ses rencards finissent par devenir lassants
TEST: trois espèces de chauve-souris dont une est éteinte




!!!
!!!
!!! Étiquettes                                                                                    !!
!!!
................................................................................
    [cultural|gender] studies
        <<- ~>> ␣
        <<- =>> define(\1, [":N:f:p"])

    machine [learning|learnings]
    standing >ovation
    star [system|systems]

        <<- ~>> ␣

    *NUM : *NUM
        <<- space_after(\1, 0, 0) and space_after(\1, 0, 0) ~>> ␣

    *NUM  ~^h[0-9][0-9]$
        <<- space_after(\1, 0, 0) ~>> ␣
................................................................................

    Royaume Uni
        <<- /tu/ ->> Royaume-Uni                                                                    # Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord).

    Saône et Loire
        <<- /tu/ ->> Saône-et-Loire                                                                 # Il manque un trait d’union.





    [St|Ste]  ~^[A-ZÉÈÎ]
        <<- /tu/ ->> \1-\2
        # Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté… S’il s’agit d’une personne, écrivez “saint” ou “sainte” sans majuscule, sans trait d’union.

TEST: J’ai vu {{Anne Marie}}.
TEST: Émigrer au {{Royaume Uni}}
TEST: Étudier en {{Grande Bretagne}}
TEST: Vivre aux {{Pays Bas}}
TEST: Il passe par {{Aix en Provence}}
TEST: Qui se souvient de la {{Bosnie Herzégovine}} ?
................................................................................
TEST: Vivre dans le {{Pas de Calais}}
TEST: Des vacances en {{Rhône Alpes}}
TEST: Elle déménage en {{Saône et Loire}}
TEST: {{Jésus Christ}}, dernier héros de l’Antiquité
TEST: Elle a quitté {{Jean Paul}}.
TEST: {{Marie Hélène}} s’est perdue dans le dédale
TEST: Elle va prier à {{Ste Catherine}}.



__tu_nombres__
    [dix|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante] [deux|trois|quatre|cinq|six|sept|huit|neuf]
    [dix|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante] [>deuxième|>troisième|>quatrième|>cinquième|>sixième|>septième|>huitième|>neuvième]
        <<- /tu/ ->> \1-\2                                                                          # Il manque un trait d’union.

................................................................................
    [me|m’|te|t’|se|s’]   [en|y]                            @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:pas|presque|jamais|rien|guère|point|plus|voici|voilà)/
        <<- /conf/ -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [nous|vous]           y                                 @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:pas|presque|jamais|rien|guère|point|plus|voici|voilà)/
        <<- /conf/ not morph(<1, ":R") -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)               # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [ne|n’]                                                 @:¬:(?:[123][sp]|Y|P|Ov|X|W)|>(?:[mtsl]’|même|pas|presque|jamais|rien|guère|point|plus)/
    [me|m’|te|t’]                                           @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:l’|pas|presque|jamais|rien|guère|point|plus|voici|voilà)/
    se                                                      @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:l’|pas|presque|jamais|rien|guère|point|plus|qu[e’])/
    s’                                                      @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:l’|ils?|qu[e’])/
        <<- /conf/ -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: ne l’{{oubli}} pas
TEST: ne {{pensée}} rien, jamais
TEST: n’en {{laissée}} que des miettes
................................................................................
TEST: T’y viendras, comme tout le monde.
TEST: T’y voilà propulsé.
TEST: t’en voilà débarrassée.
TEST: N’oublient-ils pas ce qu’ils étaient autrefois…
TEST: Ne presque jamais réussir un plat aussi simple, c’est de l’incompétence pure et simple.
TEST: c’est vous les journalistes qui l’avez écrit
TEST: C’est nous les patrons



__loc_notre_père_qui_es_au_cieux__
    notre père qui [es|est] aux cieux
        <<- %4>>
        <<- ~3:0>> *

................................................................................

TEST: ils ont oublié leur {{laisser-passer}}.
TEST: il faut en finir avec le {{laissez-aller}}.


# la / là
__conf_la_là!7__



    la  [l’|d’|n’|m’|t’|s’|c’|ç’|j’|qu’|lorsqu’|puisqu’|quoiqu’]
    la  @:G¬:(?:[NA]:[ef]|W|V)|>(?:lui|leur|votre|notre|voilà|voici|plupart|quell?e?s?|tout|toute)/
        <<- /conf/ not \1.isupper() and not \2.isupper() and not morph(<1, ":E|>le/") -1>> là       # Confusion probable. Écrivez “là” si vous voulez dire “ici”.

    [ce|cet|cette|ces]  /-la
        <<- /conf/ -2>> =\2[:-2]+"là"                                                               # Confusion. Écrivez “là” soudé au nom pour désigner un objet précis.

................................................................................
TEST: Ce {{fait-la}} ne peut être ignoré.
TEST: la peu efficace sensibilité
TEST: c’est toujours la même histoire
TEST: c’est la moins habile de toutes
TEST: Qui serait la ou le plus à même à occuper ce poste selon vous ?
TEST: Il fait remonter à la toute première expérience humaine de maîtrise.
TEST: l’existence d’un fichage la concernant



    [celle-la|celles-la|celui-la|ceux-la]
        <<- /conf/ ->> =\1[:-2]+"là"                                # Écrivez “là” et non “la”.

    [celle|celles|celui|ceux] la
        <<- /conf/ ->> \1-là                                        # Écrivez “là” et non “la”.
................................................................................
    [<start>|,] tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
    de          tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
        <<- /gn/ -3>> =suggMasSing(\3, True)                                                        # Accord avec “tout” : “\3” devrait être au masculin singulier.

    tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
        <<- /gn/ morph(<1, ":R", ":D.*:p") -2>> =suggMasSing(\2, True)                              # Accord avec “tout” : “\2” devrait être au masculin singulier.

__toute_nom__
    [<start>|,] toute  @:[NA].*:[mp]¬:(?:W|P|G|M|[fe]:[is])
    de          toute  @:[NA].*:[mp]¬:(?:W|P|G|M|Y|[fe]:[is])
        <<- /gn/ -3>> =suggFemSing(\3, True)                                                        # Accord avec “toute” : “\3” devrait être au féminin singulie

    toute  @:[NA].*:[mp]¬:(?:W|G|M|Y|P|[fe]:[is])
        <<- /gn/ morph(<1, ":R") -2>> =suggFemSing(\2, True)                                        # Accord avec “toute” : “\2” devrait être au féminin singulier.

__tous_nom__
    [<start>|,] tous  @:[NA].*:[fs]¬:(?:W|P|G|M|[me]:[ip]|3p)
    de          tous  @:[NA].*:[fs]¬:(?:W|P|G|M|Y|[me]:[ip]|3[sp])
        <<- /gn/ -3>> =suggMasPlur(\3, True)                                                        # Accord avec “tous” : “\3” devrait être au masculin pluriel.

    tous  @:[NA].*:[fs]¬:(?:W|G|M|Y|P|3[sp]|[me]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggMasPlur(\2, True)                                        # Accord avec “tous” : “\2” devrait être au masculin pluriel.











__toutes_nom__
    [<start>|,] toutes  @:[NA].*:[ms]¬:(?:W|G|M|[fe]:[ip])
    de          toutes  @:[NA].*:[ms]¬:(?:W|G|M|Y|[fe]:[ip])
        <<- /gn/ -3>> =suggFemPlur(\3, True)                                                        # Accord avec “toutes” : “\3” devrait être au féminin pluriel.


    toutes  @:[NA].*:[ms]¬:(?:W|G|M|Y|P|[fe]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggFemPlur(\2, True)                                        # Accord avec “toutes” : “\2” devrait être au féminin pluriel.


TEST: Tout {{hommes}}
TEST: De tous {{âge}} !
TEST: avec toutes {{femme}}                                     ->> femmes
TEST: sur toutes {{armure}}                                     ->> armures
TEST: Toute {{époux}} doit faire preuve de bienveillance
TEST: Il se souvient de toute mon histoire.
TEST: Tout les sépare.
TEST: les tout débuts du mouvement ouvrier
TEST: vos tout débuts furent difficiles
TEST: aux tout débuts, il y eut bien des erreurs
TEST: comment les inégalités sociales impactent la santé des tout petits
................................................................................
    comme [moi|toi]
        <<- morph(<1, ":[NA]", ":V0") ~>> *

    comme [lui|elle|ça|cela]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme le [mien|tien|sien|nôtre|vôtre|leur]
    comme la [mienne|tienne|sienne|nôtre|vôtre|leur]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:3s)") ~>> *

    comme nous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:1p)") ~>> *

    comme vous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:2p)") ~>> *

    comme [eux|elles]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme les [miens|tiens|siens|miennes|tiennes|siennes|nôtres|vôtres|leurs]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:3p)") ~>> *

    d’ entrée                           @¬:A:[fe]:[si]
        <<- ~1:2>> *

    dans ce cas                         @¬:A:[me]:[pi]
        <<- ~1:3>> *

................................................................................
    @:V  même
    @:[123]  bien [entendu|sûr]
    @:[123]  ?pas¿  juste
    @:[123]  ?pas¿  ensemble
    @:[123]  ?pas¿  ?[fort|très|super]¿  [bien|mal]
        <<- ~2:0>> *


    [>pouvoir|>savoir|>vouloir] mieux que personne @:[YG]
    >avoir mieux que personne @:[QYG]
    >être mieux que personne @:[QAYG]
        <<- ~2:5>> *






__purge_avant_adjectifs_adverbes__
    le  @:[NAQ].*:[me]¬:G  le  plus  @:A.*:[me]
        <<- ~3:4>> *

    la  @:[NAQ].*:[fe]¬:G  la  plus  @:A.*:[fe]
................................................................................
TEST: Sous la coupole bleu et or construite il y a deux siècles, les jurés sont attentifs. Ils écoutent et observent tout.
TEST: À mes yeux, aucune cathédrale, pyramide, musée, arc de triomphe, Colisée, abbaye, chapelle, temple, synagogue, mosquée, joyaux architecturaux d’hier ou d’avant-hier ne valent la vie d’un être humain, quel qu’il soit, d’où qu’il vienne.
TEST: Ça fait sens.
TEST: il faut recruter des administratrices système
TEST: Cette politique spctacle est indigne de notre démocratie.
TEST: Ils sont vent debout contre cette politique de renoncement
TEST: qui sait mieux que personne orchestrer une campagne de promotion médiatique






@@@@
@@@@
@@@@
@@@@
................................................................................
!!!! Impératif : traits d’union manquants                                                         !!
!!
!!

__imp_union_moi__
    *WORD  moi
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and not value(<1, "|de|d’|le|la|les|l’|me|m’|te|t’|se|s’|nous|vous|lui|leur|")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

    ,  *WORD  moi
        <<- /imp/ space_after(\1, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)")
        -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-moi"   # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Apportez moi}} ce dictionnaire
TEST: tu me dois bien ça, {{Achèves moi}}, je t’en prie.
TEST: explique ça mieux, {{Définit moi}} ça en termes intelligibles.
TEST: Viens moi je m’ennuie.



__imp_union_toi__
    *WORD  toi
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, ":E:2s", ":[GM]|>(?:venir|aller|partir)") and not value(<1, "|de|d’|le|la|les|l’|me|m’|te|t’|se|s’|nous|vous|lui|leur|")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206
................................................................................
    [me|m’|te|t’|se|s’]  ?[le|la|l’|les|en|y]¿  @:V¬:G
    nous nous            ?[le|la|l’|les|en|y]¿  @:V¬:G
    vous vous            ?[le|la|l’|les|en|y]¿  @:V¬:G
        <<- /-1>> upron


__énumérations_substantifs__
    [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] (*WORD)
        || , [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] (*WORD)
        || [,|et|ou] [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] (*WORD)
    [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] (*WORD)
        || , [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] (*WORD)
        || ?,¿ ainsi [que|qu’] [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] (*WORD)
        <<- morph(\1, ":[NAM]") and morph(\2, ":[NAM]") and morph(\3, ":[NAM]") />> enum

    <start> [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] (*WORD)
        || [,|et|ou] [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] (*WORD)
    <start> [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] (*WORD)
        || ?,¿ ainsi [que|qu’] [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] (*WORD)
        <<- morph(\1, ":[NAM]") and morph(\2, ":[NAM]") />> enum


@@@@
@@@@
@@@@
@@@@
................................................................................
!!
!!
!!!! Traits d’union manquants (formes interrogatives)                                             !!
!!
!!

__inte_union_je__
    [<start>|,]  ~..[éèe]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1[sŝś]", ":[GW]") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> =\2[:-1]+"é-je"                                                                      # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~..[éèe]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1[sŝś]", ":[GNW]") and not value(\1, "|je|j’|il|elle|") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> =\2[:-1]+"é-je"                                                                      # Forme interrogative ? Mettez un trait d’union.

    [<start>|,]  ~.[is]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1s", ":[GW]") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> \2-je                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.[is]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1s", ":[GNW]") and not value(\1, "|je|j’|tu|") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> \2-je                                                                                   # Forme interrogative ? Mettez un trait d’union.

TEST: {{mangé je}} {{ça}} avec dégoût ?
TEST: {{viendrais je}} à la fête ?
TEST: {{ai je}} enfin trouvé la réponse à mes questions ?


__inte_union_tu__
    [<start>|,]  ~.s$  tu
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2s", ":[GW]") and morph(>1, ":|<end>|,", ":2s")
        -2:3>> \2-tu                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.s$  tu
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2s", ":[GNW]") and not value(\1, "|je|j’|tu|") and morph(>1, ":|<end>|,", ":2s")
        -2:3>> \2-tu                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: {{Seras tu}} là ?
TEST: et toi, {{as tu}} découvert le secret de l’immortalité ?


__inte_union_il_on__
    [<start>|,]  ~.[td]$  [il|on]
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GW]") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-\3                                                                                   # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.[td]$  [il|on]
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GNW]") and not value(\1, "|ce|il|elle|on|") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-\3                                                                                   # Forme interrogative ? Mettez un trait d’union.

TEST: {{prend on}} le temps d’y réfléchir ?
TEST: De quel droit {{vient il}} m’{{ennuyer}} ?
TEST: Pourquoi le message de Jean {{était‐il}} très radical pour son époque ?


__inte_union_elle__
    [<start>|,]  ~.[td]$  elle
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GW]") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-elle                                                                              # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.[td]$  elle
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GNW]") and not value(\1, "|ce|c’|ça|ç’|il|elle|on|") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-elle                                                                              # Forme interrogative ? Mettez un trait d’union.

TEST: {{vient elle}} souvent ?
TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça.
TEST: C’était elle qui avait pris le contrôle.


__inte_union_nous!6__
    [<start>|,]  ~ons$  nous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GW]") and morph(>1, ":|<end>|,", ":1p")
        -2:3>> \2-nous                                                                              # Forme interrogative ? Mettez un trait d’union.

    [<start>|,]  sommes  nous
        <<- /inte/ space_after(\2, 1, 1)
        -2:3>> \2-nous                                                                              # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~ons$  nous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GNW]") and not morph(\1, ":Os") and morph(>1, ":|<end>|,", ":(?:Y|1p)")
        -2:3>> \2-nous                                                                              # Forme interrogative ? Mettez un trait d’union.

TEST: {{retrouverons nous}} enfin la tranquilité ?
TEST: Ne {{sommes nous}} pas des dieux ?


__inte_union_vous__
    [<start>|,]  ~..e[zs]$  vous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GW]") and morph(>1, ":|<end>|,", ":2p")
        -2:3>> \2-vous                                                                              # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~..e[zs]$  vous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GNW]|>vouloir/.*:E:2p") and not morph(\1, ":Os") and morph(>1, ":|<end>|,", ":(?:Y|2p)")
        -2:3>> \2-vous                                                                              # Forme interrogative ? Mettez un trait d’union.

................................................................................
TEST: Mais {{soutiendrez vous}} cette proposition ?
TEST: comment {{êtes vous}} arrivées là ?
TEST: mais {{voulez vous}} venir plus près de nous ?
TEST: Veuillez vous instruire avant de contester ces mesures.


__inte_union_ils__
    [<start>|,]  ~nt$  ils
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GW]") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~nt$  ils
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GNW]") and not value(\1, "|ce|ils|elles|") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: {{Viendront ils}} demain ?


__inte_union_elles__
    [<start>|,]  ~nt$  elles
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GW]") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~nt$  elles
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GNW]") and not value(\1, "|ce|ils|elles|") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: {{viennent elles}} souvent ?



................................................................................
TEST: aucun ne {{vas}} là-bas
TEST: il ne faut rien faire ou rien dire contre les manifestants
TEST: qui n’ont rien appris et rien oublié
TEST: comme si son pays n’avait rien appris du fascisme ni rien reçu de l’Europe


__conj_nul_nulle__
    [nul|nulle]  ?@:[NA]¿  ?qui¿  @:V¬:(?:3s|P|G|N.*:[si])

        <<- /conj/ morph(<1, ":Cs|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: nul ne {{savaient}} que faire
TEST: nulle n’{{iront}} là-bas
TEST: nulle femme ne {{sauraient}} le faire
TEST: nul homme ne {{sauraient}} s’y prendre
TEST: nulle partie du corps ne peut être considérée comme le siège de l’âme.



__conj_aucun_aucune__

    [aucun|aucune]  ?@:[NA]¿  ?qui¿  @:V¬:(?:3s|P|G|[NA].*:[si])
        <<- /conj/ morph(<1, ":Cs|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: aucun ne {{savaient}} que faire
TEST: aucune n’{{iront}} là-bas
TEST: aucune femme ne {{sauraient}} le faire
TEST: aucun homme ne {{sauraient}} s’y prendre
TEST: aucune partie du corps ne peut être considérée comme le siège de l’âme.
TEST: Aucun terme attesté dans des textes antiques, mésopotamien ou autre, ne sert à désigner la Mésopotamie au sens moderne du terme
TEST: signalons qu’aucun fait avéré ne correspond à ce qui se propage
TEST: Aucune solution envisagée n’a engendré de résultat positif.



__conj_vinfi_suj__
    [<start>|,]  @:Y  @:V¬:(?:3s|P|Q.*:[me]:[si]|Y|G|3p!|M)
        <<- /conj/ not (value(\2, "|avoir|croire|être|devenir|redevenir|voir|sembler|paraître|paraitre|sentir|rester|retrouver|") and morph(\3, ":A"))
        -3>> =suggVerb(\3, ":3s")                                       # Conjugaison erronée. Accord avec “\2”. Le verbe devrait être à la 3ᵉ personne du singulier.

................................................................................
TEST: L’un comme l’autre devaient y renoncer.
TEST: Les écrivaines Marie Darrieussecq et Annie Ernaux
TEST: Les femmes candidates à ce poste doivent se présenter cet après-midi.
TEST: Toutes les personnes candidates seront évaluées plusieurs fois.


__conj_des_nom__
    [<start>|,]  des  @:[NA].*:[pi]  @:V¬:(?:3p|P|G|Q|A.*:[pi]|V[23].*:Y)
        <<- /conj/ morph(>1, ":(?:R|D.*:p)|>au/|<end>|>,") >>>
        <<- /conj/ not morph(\4, ":[NA]") -4>> =suggVerb(\4, ":3p")                                 # Conjugaison erronée. Accord avec “\2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ __else__ and not checkAgreement(\3, \4) -4>> =suggVerb(\4, ":3p", suggPlur)      # Conjugaison erronée. Accord avec “\2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [<start>|,]  des  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|G)
        <<- /conj/ -5>> =suggVerb(\5, ":3p")                                                        # Conjugaison erronée. Accord avec “\2 \3 \4…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Des hommes {{arrive}}.
TEST: Des femmes ne {{demande}} rien.
TEST: des femmes qui {{conduise}} la marche du monde.
TEST: des démocrates geindre à propos de l’absence pourtant parlante de délégation



#### NOMS PROPRES

# 3sg
__conj_nom_propre__
    ~^[A-ZÉÈ]  @:[123][sp]¬:(?:G|3s|3p!|P|M|A.*:[si]|N.*:m:s)
................................................................................
TEST: en proportion des efforts que requièrent son entretien et son exploitation
TEST: une crainte aussi que renforcent son éloignement et le protocole compliqué
TEST: à l’époque de Mansur que grandissent la place et le rôle de…
TEST: où vivent la majorité des immigrés et des enfants d’immigrés
TEST: Que deviennent la vitesse, le courant, ainsi que le rendement ?
TEST: Le complexe argilo-humique est mieux hydraté que ne pourraient l’être les micelles d’argile ou humiques
TEST: C’est ce qu’avancent l’épidémiologiste britannique et sa consœur



__conj_lxquel_verbe_sujet_sing__
    [lequel|laquelle|lesquels|lesquelles]  @:[123][sp]¬:(?:3s|G|W|3p!)  [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD
        <<- /conj/ morph(<1, ":R") and not value(\4, "|plupart|majorité|groupe|") and not (value(>1, "|et|ou|") and morph(>2, ":D"))
        -2>> =suggVerb(\2, ":3s")                                                   # Conjugaison erronée. Accord avec “\3 \4…”. Le verbe devrait être à la 3ᵉ personne du singulier.

................................................................................
TEST: Comment voulez-vous qu’à vingt-deux heures trente un cadavre
TEST: Le porteur de la télécommande pas plus que la créatrice ne sont revenus nous donner des ordres.
TEST: j’espère que vous aurez le temps de tout lire
TEST: Nous avons partie gagnée.
TEST: de a à z
TEST: de A à Z
TEST: Le point S′ est sur la droite. (Il s’agit ici du caractère “prime”.)
TEST: le ou les élément(s).

## version 0.4.7
TEST: rien de dérangé
TEST: Au début on le traite de dérangé
TEST: il vient… puis repart
TEST: une photo noir et blanc
TEST: pour ce faire, il faut partir







>
>
>
>
>
>
>
>
>







 







|
>
>
>







 







>







 







>







 







>
>
>
>


|







 







>







 







|







 







>







 







>
>
>







 







>







 







<
<
<
<
<
<
<
<








>
>
>
>
>
>
>
>
>
>




>



>



|
|







 







|


|


|




|







 







<
|
|
|
|
>
>
>
>







 







>
>
>







 







|










>







 







|
|
|
|
|
|


|
|
|
|







 







|







|













|












|













|













|



|












|







 







|



|







|



|







 







|
>








>



>
|











>







 







|











>







 







>







 







|







745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
....
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
....
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
....
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
....
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
....
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
....
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
....
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
....
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
....
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
....
9118
9119
9120
9121
9122
9123
9124








9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
.....
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
.....
11607
11608
11609
11610
11611
11612
11613

11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
.....
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
.....
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
.....
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
.....
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
.....
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
.....
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
.....
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
.....
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
.....
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
TEST: je suis {{déconsidéré.e}} par ma hiérarchie.                      ->> déconsidéré·e
TEST: il faut en parler à l’{{auteur(e)}} et à son agent.               ->> auteur·e
TEST: le ou la {{patron/ne}}                                            ->> patron·ne
TEST: Totalement {{con(ne)}}                                            ->> con·ne
TEST: un ou une {{intellectuel.le}}                                     ->> intellectuel·le


__[i](typo_écriture_invariable)__
    ({w_3})([-·–—.•⋅/]s|[(]s[)])  @@0,$
        <<- ~>> =normalizeInclusiveWriting(\0)
        <<- option("typo") and option("eepi") and not \0.endswith("·s") ->> \1·s                    # Écriture invariable. Utilisez un point médian.

TEST: la ou les {{fille(s)}}                                            ->> fille·s
TEST: le ou les patron·s



!!
!!
!!!! Majuscules manquantes                                                                        !!
!!
!!

................................................................................
    en peine
        <<- =>> exclude(\2, ":V")

    par  *WORD
        <<- =>> exclude(\2, ":[123][sp]")

    plein  [de|d’]  @:[AN]
        <<- not morph(<1, ">(?:être|(?:re|)devenir|rester|demeurer|sembler|para[iî]tre)/") =>> =define(\1, [":G"])

    source [de|d’]
        <<- morph(<1, ">(?:être|(?:re|)devenir|rester|demeurer|sembler|para[iî]tre)/") =>> define(\1, [":LV"])

    tout feu ?,¿ tout >flamme
        <<- ~>> ␣
        <<- =>> define(\1, [":A:e:i"])

    très  *WORD
        <<- =>> exclude(\2, ":[123][sp]")
................................................................................
TEST: elle finit par être très fière de son fils.
TEST: en tant que président du conseil
TEST: les bac +2 sont trop nombreux.
TEST: c’est à n’y plus rien comprendre.
TEST: Elle était tout feu, tout flamme.
TEST: Ses rencards finissent par devenir lassants
TEST: trois espèces de chauve-souris dont une est éteinte
TEST: Ils sont source de conflits



!!!
!!!
!!! Étiquettes                                                                                    !!
!!!
................................................................................
    [cultural|gender] studies
        <<- ~>> ␣
        <<- =>> define(\1, [":N:f:p"])

    machine [learning|learnings]
    standing >ovation
    star [system|systems]
    black [>bloc|>block]
        <<- ~>> ␣

    *NUM : *NUM
        <<- space_after(\1, 0, 0) and space_after(\1, 0, 0) ~>> ␣

    *NUM  ~^h[0-9][0-9]$
        <<- space_after(\1, 0, 0) ~>> ␣
................................................................................

    Royaume Uni
        <<- /tu/ ->> Royaume-Uni                                                                    # Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord).

    Saône et Loire
        <<- /tu/ ->> Saône-et-Loire                                                                 # Il manque un trait d’union.

    [Saint|Sainte] ~^[A-ZÉÈÎ]
        <<- /tu/ not value(<1, "|<start>|") and morph(\2, ":M") ->> \1-\2
        # Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “saint” ou “sainte” sans majuscule, sans trait d’union.

    [St|Ste]  ~^[A-ZÉÈÎ]
        <<- /tu/ ->> \1-\2
        # Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “saint” ou “sainte” sans majuscule, sans trait d’union.

TEST: J’ai vu {{Anne Marie}}.
TEST: Émigrer au {{Royaume Uni}}
TEST: Étudier en {{Grande Bretagne}}
TEST: Vivre aux {{Pays Bas}}
TEST: Il passe par {{Aix en Provence}}
TEST: Qui se souvient de la {{Bosnie Herzégovine}} ?
................................................................................
TEST: Vivre dans le {{Pas de Calais}}
TEST: Des vacances en {{Rhône Alpes}}
TEST: Elle déménage en {{Saône et Loire}}
TEST: {{Jésus Christ}}, dernier héros de l’Antiquité
TEST: Elle a quitté {{Jean Paul}}.
TEST: {{Marie Hélène}} s’est perdue dans le dédale
TEST: Elle va prier à {{Ste Catherine}}.
TEST: La station {{Saint Georges}}


__tu_nombres__
    [dix|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante] [deux|trois|quatre|cinq|six|sept|huit|neuf]
    [dix|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante] [>deuxième|>troisième|>quatrième|>cinquième|>sixième|>septième|>huitième|>neuvième]
        <<- /tu/ ->> \1-\2                                                                          # Il manque un trait d’union.

................................................................................
    [me|m’|te|t’|se|s’]   [en|y]                            @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:pas|presque|jamais|rien|guère|point|plus|voici|voilà)/
        <<- /conf/ -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [nous|vous]           y                                 @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:pas|presque|jamais|rien|guère|point|plus|voici|voilà)/
        <<- /conf/ not morph(<1, ":R") -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)               # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [ne|n’]                                                 @:¬:(?:[123][sp]|Y|P|Ov|X|W)|>(?:[mtsl]’|même|pas|presque|jamais|rien|guère|point|plus)/
    [me|m’|te|t’]                                           @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:l’|pas|presque|jamais|rien|guère|point|plus|voici|revoici|voilà|revoilà)/
    se                                                      @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:l’|pas|presque|jamais|rien|guère|point|plus|qu[e’])/
    s’                                                      @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:l’|ils?|qu[e’])/
        <<- /conf/ -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: ne l’{{oubli}} pas
TEST: ne {{pensée}} rien, jamais
TEST: n’en {{laissée}} que des miettes
................................................................................
TEST: T’y viendras, comme tout le monde.
TEST: T’y voilà propulsé.
TEST: t’en voilà débarrassée.
TEST: N’oublient-ils pas ce qu’ils étaient autrefois…
TEST: Ne presque jamais réussir un plat aussi simple, c’est de l’incompétence pure et simple.
TEST: c’est vous les journalistes qui l’avez écrit
TEST: C’est nous les patrons
TEST: me revoilà


__loc_notre_père_qui_es_au_cieux__
    notre père qui [es|est] aux cieux
        <<- %4>>
        <<- ~3:0>> *

................................................................................

TEST: ils ont oublié leur {{laisser-passer}}.
TEST: il faut en finir avec le {{laissez-aller}}.


# la / là
__conf_la_là!7__
    la ou les
        <<- %1>>

    la  [l’|d’|n’|m’|t’|s’|c’|ç’|j’|qu’|lorsqu’|puisqu’|quoiqu’]
    la  @:G¬:(?:[NA]:[ef]|W|V)|>(?:lui|leur|votre|notre|voilà|voici|plupart|quell?e?s?|tout|toute)/
        <<- /conf/ not \1.isupper() and not \2.isupper() and not morph(<1, ":E|>le/") -1>> là       # Confusion probable. Écrivez “là” si vous voulez dire “ici”.

    [ce|cet|cette|ces]  /-la
        <<- /conf/ -2>> =\2[:-2]+"là"                                                               # Confusion. Écrivez “là” soudé au nom pour désigner un objet précis.

................................................................................
TEST: Ce {{fait-la}} ne peut être ignoré.
TEST: la peu efficace sensibilité
TEST: c’est toujours la même histoire
TEST: c’est la moins habile de toutes
TEST: Qui serait la ou le plus à même à occuper ce poste selon vous ?
TEST: Il fait remonter à la toute première expérience humaine de maîtrise.
TEST: l’existence d’un fichage la concernant
TEST: avec la ou les indications qu’on recontre ici et là.


    [celle-la|celles-la|celui-la|ceux-la]
        <<- /conf/ ->> =\1[:-2]+"là"                                # Écrivez “là” et non “la”.

    [celle|celles|celui|ceux] la
        <<- /conf/ ->> \1-là                                        # Écrivez “là” et non “la”.
................................................................................
    [<start>|,] tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
    de          tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
        <<- /gn/ -3>> =suggMasSing(\3, True)                                                        # Accord avec “tout” : “\3” devrait être au masculin singulier.

    tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
        <<- /gn/ morph(<1, ":R", ":D.*:p") -2>> =suggMasSing(\2, True)                              # Accord avec “tout” : “\2” devrait être au masculin singulier.









__tous_nom__
    [<start>|,] tous  @:[NA].*:[fs]¬:(?:W|P|G|M|[me]:[ip]|3p)
    de          tous  @:[NA].*:[fs]¬:(?:W|P|G|M|Y|[me]:[ip]|3[sp])
        <<- /gn/ -3>> =suggMasPlur(\3, True)                                                        # Accord avec “tous” : “\3” devrait être au masculin pluriel.

    tous  @:[NA].*:[fs]¬:(?:W|G|M|Y|P|3[sp]|[me]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggMasPlur(\2, True)                                        # Accord avec “tous” : “\2” devrait être au masculin pluriel.

__toute_nom__
    [<start>|,] toute  @:[NA].*:[mp]¬:(?:W|P|G|M|[fe]:[is])
    de          toute  @:[NA].*:[mp]¬:(?:W|P|G|M|Y|[fe]:[is])
        <<- /gn/ -3>> =suggFemSing(\3, True)                                                        # Accord avec “toute” : “\3” devrait être au féminin singulie
        <<- /gn/ morph(\3, ":[NA].*:f:p") -2>> toutes                                               # Accord avec “\3”.

    toute  @:[NA].*:[mp]¬:(?:W|G|M|Y|P|[fe]:[is])
        <<- /gn/ morph(<1, ":R") -2>> =suggFemSing(\2, True)                                        # Accord avec “toute” : “\2” devrait être au féminin singulier.
        <<- /gn/ __also__ and morph(\2, ":[NA].*:f:p") -1>> toutes                                  # Accord avec “\2”.

__toutes_nom__
    [<start>|,] toutes  @:[NA].*:[ms]¬:(?:W|G|M|[fe]:[ip])
    de          toutes  @:[NA].*:[ms]¬:(?:W|G|M|Y|[fe]:[ip])
        <<- /gn/ -3>> =suggFemPlur(\3, True)                                                        # Accord avec “toutes” : “\3” devrait être au féminin pluriel.
        <<- /gn/ morph(\3, ":[NA].*:f:s") -2>> toute                                                # Accord avec “\3”.

    toutes  @:[NA].*:[ms]¬:(?:W|G|M|Y|P|[fe]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggFemPlur(\2, True)                                        # Accord avec “toutes” : “\2” devrait être au féminin pluriel.
        <<- /gn/ __also__ and morph(\2, ":[NA].*:f:s") -1>> toute                                   # Accord avec “\2”.

TEST: Tout {{hommes}}
TEST: De tous {{âge}} !
TEST: avec {{toutes}} {{femme}}
TEST: sur {{toutes}} {{armure}}
TEST: Toute {{époux}} doit faire preuve de bienveillance
TEST: Il se souvient de toute mon histoire.
TEST: Tout les sépare.
TEST: les tout débuts du mouvement ouvrier
TEST: vos tout débuts furent difficiles
TEST: aux tout débuts, il y eut bien des erreurs
TEST: comment les inégalités sociales impactent la santé des tout petits
................................................................................
    comme [moi|toi]
        <<- morph(<1, ":[NA]", ":V0") ~>> *

    comme [lui|elle|ça|cela]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme le [mien|tien|sien|nôtre|vôtre|leur]
    comme la [mienne|tienne|sienne|nôtre|vôtre|leur]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|3s)") ~>> *

    comme nous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|1p)") ~>> *

    comme vous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|2p)") ~>> *

    comme [eux|elles]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme les [miens|tiens|siens|miennes|tiennes|siennes|nôtres|vôtres|leurs]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|3p)") ~>> *

    d’ entrée                           @¬:A:[fe]:[si]
        <<- ~1:2>> *

    dans ce cas                         @¬:A:[me]:[pi]
        <<- ~1:3>> *

................................................................................
    @:V  même
    @:[123]  bien [entendu|sûr]
    @:[123]  ?pas¿  juste
    @:[123]  ?pas¿  ensemble
    @:[123]  ?pas¿  ?[fort|très|super]¿  [bien|mal]
        <<- ~2:0>> *


    [>pouvoir|>savoir|>vouloir] mieux que personne ?@:W¿ @:[YG]
    >avoir                      mieux que personne ?@:W¿ @:[QYG]
    >être                       mieux que personne ?@:W¿ @:[QAYG]
        <<- ~2:-2>> *

    >avoir  pour [lui|nous|vous|longtemps]  ?@:W¿  @:Q
    >être   pour [lui|nous|vous|longtemps]  ?@:W¿  @:[QA]
        <<- ~2:-2>> *


__purge_avant_adjectifs_adverbes__
    le  @:[NAQ].*:[me]¬:G  le  plus  @:A.*:[me]
        <<- ~3:4>> *

    la  @:[NAQ].*:[fe]¬:G  la  plus  @:A.*:[fe]
................................................................................
TEST: Sous la coupole bleu et or construite il y a deux siècles, les jurés sont attentifs. Ils écoutent et observent tout.
TEST: À mes yeux, aucune cathédrale, pyramide, musée, arc de triomphe, Colisée, abbaye, chapelle, temple, synagogue, mosquée, joyaux architecturaux d’hier ou d’avant-hier ne valent la vie d’un être humain, quel qu’il soit, d’où qu’il vienne.
TEST: Ça fait sens.
TEST: il faut recruter des administratrices système
TEST: Cette politique spctacle est indigne de notre démocratie.
TEST: Ils sont vent debout contre cette politique de renoncement
TEST: qui sait mieux que personne orchestrer une campagne de promotion médiatique
TEST: la cathédrale a pour nous cessé d’être cette vague masse architecturale qui se découpe parfois au coin des rues
TEST: Le très gros problème qui se pose est d’abord celui de la “masse” comme vous dites.
TEST: la philosophie antique (que j’aime beaucoup par ailleurs), opposant le matériel et le spirituel, le corps et l’esprit, a pour longtemps mal formaté l’esprit humain



@@@@
@@@@
@@@@
@@@@
................................................................................
!!!! Impératif : traits d’union manquants                                                         !!
!!
!!

__imp_union_moi__
    *WORD  moi
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and not value(<1, "|de|d’|le|la|les|l|je|j|me|m’|te|t’|se|s’|nous|vous|lui|leur|")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

    ,  *WORD  moi
        <<- /imp/ space_after(\1, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)")
        -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-moi"   # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Apportez moi}} ce dictionnaire
TEST: tu me dois bien ça, {{Achèves moi}}, je t’en prie.
TEST: explique ça mieux, {{Définit moi}} ça en termes intelligibles.
TEST: Viens moi je m’ennuie.
TEST: je suis moi et tu es toi.


__imp_union_toi__
    *WORD  toi
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, ":E:2s", ":[GM]|>(?:venir|aller|partir)") and not value(<1, "|de|d’|le|la|les|l’|me|m’|te|t’|se|s’|nous|vous|lui|leur|")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206
................................................................................
    [me|m’|te|t’|se|s’]  ?[le|la|l’|les|en|y]¿  @:V¬:G
    nous nous            ?[le|la|l’|les|en|y]¿  @:V¬:G
    vous vous            ?[le|la|l’|les|en|y]¿  @:V¬:G
        <<- /-1>> upron


__énumérations_substantifs__
    [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        || , [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        || [,|et|ou] [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
    [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        || , [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        || ?,¿ ainsi [que|qu’] [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        <<- morph(\1, ":[NAM]") and morph(\2, ":[NAM]") and morph(\3, ":[NAM]") />> enum

    <start> [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        || [,|et|ou] [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
    <start> [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        || ?,¿ ainsi [que|qu’] [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD)
        <<- morph(\1, ":[NAM]") and morph(\2, ":[NAM]") />> enum


@@@@
@@@@
@@@@
@@@@
................................................................................
!!
!!
!!!! Traits d’union manquants (formes interrogatives)                                             !!
!!
!!

__inte_union_je__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~..[éèe]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1[sŝś]", ":[GW]") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> =\2[:-1]+"é-je"                                                                      # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~..[éèe]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1[sŝś]", ":[GNW]") and not value(\1, "|je|j’|il|elle|") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> =\2[:-1]+"é-je"                                                                      # Forme interrogative ? Mettez un trait d’union.

    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~.[is]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1s", ":[GW]") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> \2-je                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.[is]$  je
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1s", ":[GNW]") and not value(\1, "|je|j’|tu|") and morph(>1, ":|<end>|,", ":1s")
        -2:3>> \2-je                                                                                   # Forme interrogative ? Mettez un trait d’union.

TEST: {{mangé je}} {{ça}} avec dégoût ?
TEST: {{viendrais je}} à la fête ?
TEST: {{ai je}} enfin trouvé la réponse à mes questions ?


__inte_union_tu__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~.s$  tu
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2s", ":[GW]") and morph(>1, ":|<end>|,", ":2s")
        -2:3>> \2-tu                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.s$  tu
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2s", ":[GNW]") and not value(\1, "|je|j’|tu|") and morph(>1, ":|<end>|,", ":2s")
        -2:3>> \2-tu                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: {{Seras tu}} là ?
TEST: et toi, {{as tu}} découvert le secret de l’immortalité ?


__inte_union_il_on__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~.[td]$  [il|on]
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GW]") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-\3                                                                                   # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.[td]$  [il|on]
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GNW]") and not value(\1, "|ce|il|elle|on|") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-\3                                                                                   # Forme interrogative ? Mettez un trait d’union.

TEST: {{prend on}} le temps d’y réfléchir ?
TEST: De quel droit {{vient il}} m’{{ennuyer}} ?
TEST: Pourquoi le message de Jean {{était‐il}} très radical pour son époque ?


__inte_union_elle__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~.[td]$  elle
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GW]") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-elle                                                                              # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~.[td]$  elle
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3s", ":[GNW]") and not value(\1, "|ce|c’|ça|ç’|il|elle|on|") and morph(>1, ":|<end>|,", ":3s")
        -2:3>> \2-elle                                                                              # Forme interrogative ? Mettez un trait d’union.

TEST: {{vient elle}} souvent ?
TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça.
TEST: C’était elle qui avait pris le contrôle.


__inte_union_nous!6__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~ons$  nous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GW]") and morph(>1, ":|<end>|,", ":1p")
        -2:3>> \2-nous                                                                              # Forme interrogative ? Mettez un trait d’union.

    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  sommes  nous
        <<- /inte/ space_after(\2, 1, 1)
        -2:3>> \2-nous                                                                              # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~ons$  nous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GNW]") and not morph(\1, ":Os") and morph(>1, ":|<end>|,", ":(?:Y|1p)")
        -2:3>> \2-nous                                                                              # Forme interrogative ? Mettez un trait d’union.

TEST: {{retrouverons nous}} enfin la tranquilité ?
TEST: Ne {{sommes nous}} pas des dieux ?


__inte_union_vous__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~..e[zs]$  vous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GW]") and morph(>1, ":|<end>|,", ":2p")
        -2:3>> \2-vous                                                                              # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~..e[zs]$  vous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GNW]|>vouloir/.*:E:2p") and not morph(\1, ":Os") and morph(>1, ":|<end>|,", ":(?:Y|2p)")
        -2:3>> \2-vous                                                                              # Forme interrogative ? Mettez un trait d’union.

................................................................................
TEST: Mais {{soutiendrez vous}} cette proposition ?
TEST: comment {{êtes vous}} arrivées là ?
TEST: mais {{voulez vous}} venir plus près de nous ?
TEST: Veuillez vous instruire avant de contester ces mesures.


__inte_union_ils__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~[eo]nt$  ils
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GW]") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~[eo]nt$  ils
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GNW]") and not value(\1, "|ce|ils|elles|") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: {{Viendront ils}} demain ?


__inte_union_elles__
    [<start>|,|comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand]  ~[eo]nt$  elles
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GW]") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    *WORD  ~[eo]nt$  elles
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:3p", ":[GNW]") and not value(\1, "|ce|ils|elles|") and morph(>1, ":|<end>|,", ":3p")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: {{viennent elles}} souvent ?



................................................................................
TEST: aucun ne {{vas}} là-bas
TEST: il ne faut rien faire ou rien dire contre les manifestants
TEST: qui n’ont rien appris et rien oublié
TEST: comme si son pays n’avait rien appris du fascisme ni rien reçu de l’Europe


__conj_nul_nulle__
    [nul|nulle]  ?@:[NA]¿       @:V¬:(?:3s|P|G|[NAQ].*:[si])
    [nul|nulle]  ?@:[NA]¿  qui  @:V¬:(?:3s|P|G|[NA].*:[si])
        <<- /conj/ morph(<1, ":Cs|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: nul ne {{savaient}} que faire
TEST: nulle n’{{iront}} là-bas
TEST: nulle femme ne {{sauraient}} le faire
TEST: nul homme ne {{sauraient}} s’y prendre
TEST: nulle partie du corps ne peut être considérée comme le siège de l’âme.
TEST: un silence que nul faste, nulle cagnotte, nul don défiscalisé n’achètera jamais.


__conj_aucun_aucune__
    [aucun|aucune]  ?@:[NA]¿       @:V¬:(?:3s|P|G|[NAQ].*:[si])
    [aucun|aucune]  ?@:[NA]¿  qui  @:V¬:(?:3s|P|G|[NA].*:[si])
        <<- /conj/ morph(<1, ":Cs|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: aucun ne {{savaient}} que faire
TEST: aucune n’{{iront}} là-bas
TEST: aucune femme ne {{sauraient}} le faire
TEST: aucun homme ne {{sauraient}} s’y prendre
TEST: aucune partie du corps ne peut être considérée comme le siège de l’âme.
TEST: Aucun terme attesté dans des textes antiques, mésopotamien ou autre, ne sert à désigner la Mésopotamie au sens moderne du terme
TEST: signalons qu’aucun fait avéré ne correspond à ce qui se propage
TEST: Aucune solution envisagée n’a engendré de résultat positif.
TEST: Aucun homme parti à la guerre ne revient


__conj_vinfi_suj__
    [<start>|,]  @:Y  @:V¬:(?:3s|P|Q.*:[me]:[si]|Y|G|3p!|M)
        <<- /conj/ not (value(\2, "|avoir|croire|être|devenir|redevenir|voir|sembler|paraître|paraitre|sentir|rester|retrouver|") and morph(\3, ":A"))
        -3>> =suggVerb(\3, ":3s")                                       # Conjugaison erronée. Accord avec “\2”. Le verbe devrait être à la 3ᵉ personne du singulier.

................................................................................
TEST: L’un comme l’autre devaient y renoncer.
TEST: Les écrivaines Marie Darrieussecq et Annie Ernaux
TEST: Les femmes candidates à ce poste doivent se présenter cet après-midi.
TEST: Toutes les personnes candidates seront évaluées plusieurs fois.


__conj_des_nom__
    [<start>|,]  des  @:[NA].*:[pi]  @:V¬:(?:3p|P|G|Q|Y|A.*:[pi]|V[23].*:Y)
        <<- /conj/ morph(>1, ":(?:R|D.*:p)|>au/|<end>|>,") >>>
        <<- /conj/ not morph(\4, ":[NA]") -4>> =suggVerb(\4, ":3p")                                 # Conjugaison erronée. Accord avec “\2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ __else__ and not checkAgreement(\3, \4) -4>> =suggVerb(\4, ":3p", suggPlur)      # Conjugaison erronée. Accord avec “\2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [<start>|,]  des  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|G)
        <<- /conj/ -5>> =suggVerb(\5, ":3p")                                                        # Conjugaison erronée. Accord avec “\2 \3 \4…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Des hommes {{arrive}}.
TEST: Des femmes ne {{demande}} rien.
TEST: des femmes qui {{conduise}} la marche du monde.
TEST: des démocrates geindre à propos de l’absence pourtant parlante de délégation
TEST: On vit très vite, en quelques jours, les gens installer des jeux d’argent sur les trottoirs, des femmes se prostituer, des commerces illicites…


#### NOMS PROPRES

# 3sg
__conj_nom_propre__
    ~^[A-ZÉÈ]  @:[123][sp]¬:(?:G|3s|3p!|P|M|A.*:[si]|N.*:m:s)
................................................................................
TEST: en proportion des efforts que requièrent son entretien et son exploitation
TEST: une crainte aussi que renforcent son éloignement et le protocole compliqué
TEST: à l’époque de Mansur que grandissent la place et le rôle de…
TEST: où vivent la majorité des immigrés et des enfants d’immigrés
TEST: Que deviennent la vitesse, le courant, ainsi que le rendement ?
TEST: Le complexe argilo-humique est mieux hydraté que ne pourraient l’être les micelles d’argile ou humiques
TEST: C’est ce qu’avancent l’épidémiologiste britannique et sa consœur
TEST: il en va de l’image d’une capitale que peuplent l’égoïsme, la cupidité, les logements vides, la chasse aux pauvres et à l’étranger, les divertissements frivoles.


__conj_lxquel_verbe_sujet_sing__
    [lequel|laquelle|lesquels|lesquelles]  @:[123][sp]¬:(?:3s|G|W|3p!)  [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD
        <<- /conj/ morph(<1, ":R") and not value(\4, "|plupart|majorité|groupe|") and not (value(>1, "|et|ou|") and morph(>2, ":D"))
        -2>> =suggVerb(\2, ":3s")                                                   # Conjugaison erronée. Accord avec “\3 \4…”. Le verbe devrait être à la 3ᵉ personne du singulier.

................................................................................
TEST: Comment voulez-vous qu’à vingt-deux heures trente un cadavre
TEST: Le porteur de la télécommande pas plus que la créatrice ne sont revenus nous donner des ordres.
TEST: j’espère que vous aurez le temps de tout lire
TEST: Nous avons partie gagnée.
TEST: de a à z
TEST: de A à Z
TEST: Le point S′ est sur la droite. (Il s’agit ici du caractère “prime”.)
TEST: le ou les élément·s.

## version 0.4.7
TEST: rien de dérangé
TEST: Au début on le traite de dérangé
TEST: il vient… puis repart
TEST: une photo noir et blanc
TEST: pour ce faire, il faut partir