Grammalecte  Check-in [e84d82b3a7]

Overview
Comment:[fr] ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: e84d82b3a7343b6c4ddc8d40ca0343a41858971dee85120555ce5613e4420728
User & Date: olr on 2021-01-06 21:58:58
Other Links: manifest | tags
Context
2021-01-07
13:48
[cli] clear text beginning by TEST: check-in: b5ba52c145 user: olr tags: cli, trunk
2021-01-06
21:58
[fr] ajustements check-in: e84d82b3a7 user: olr tags: fr, trunk
18:31
[fr] ajustements check-in: 45826e7120 user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [4183532562] to [74ea4b8074].

6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
....
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
....
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
....
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
.....
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
.....
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
.....
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
.....
11218
11219
11220
11221
11222
11223
11224

11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
.....
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
.....
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821


11822
11823
11824
11825


11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
.....
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
.....
12057
12058
12059
12060
12061
12062
12063


12064
12065
12066
12067
12068
12069
12070
.....
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
.....
20301
20302
20303
20304
20305
20306
20307
20308
20309

20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
.....
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
.....
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
.....
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
.....
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
.....
20918
20919
20920
20921
20922
20923
20924

20925
20926
20927
20928
20929
20930
20931
.....
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
.....
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
.....
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
.....
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
.....
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
.....
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
.....
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
.....
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
.....
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976

24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005

25006
25007
25008
25009
25010
25011
25012
.....
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
.....
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
.....
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
.....
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
.....
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
.....
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
.....
26339
26340
26341
26342
26343
26344
26345
26346
26347

26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
.....
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
.....
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643

26644




26645
26646
26647
26648
26649
26650
26651
26652
26653
.....
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
.....
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
.....
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
.....
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
.....
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127

28128
28129
28130
28131
28132
28133
28134
.....
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
.....
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
.....
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
.....
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
.....
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
.....
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
.....
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
.....
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
.....
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
.....
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
.....
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
.....
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679

30680
30681

30682
30683
30684
30685
30686
30687
30688
.....
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
.....
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
    d’ entre-eux
    d’ entre-elles
    d’ entre-iels
        <<- /tu/ -2>> =\2.replace("-", " ")                                     && Pas de trait d’union.

TEST: Il est {{en-dessous}} de tout.                                            ->> en dessous
TEST: Ils sont {{en-deçà}} de tout                                              ->> en deçà
TEST: mais {{peu-à-peu}}
TEST: J’en ai déjà fait les {{deux-tiers}}.
TEST: {{en-haut}} de la montagne.
TEST: On va finir par s’y faire, {{peu-à-peu}}.
TEST: Venez vite, s’{{il-vous-plait}}.
TEST: Elles sont {{tout-à-fait}} ravies.
TEST: les {{trois-quarts}} ne savent pas ce qu’ils font.
TEST: {{Trois-quarts}} des participantes y sont parvenues.
TEST: {{Parce-qu’ils}} y croient plus que tout.
TEST: c’est {{par-là}}
TEST: Oui, {{ça-aussi}}.
TEST: Peu d’{{entre-nous}} savent ce dont il s’agit.


__tu_y_attaché__
    ~^[yY][’-]\w+
        <<- /tu/ morph(\1, ":V0", "", 2) -1>> ="y " + \1[2:]                    && Ni apostrophe ni trait d’union après “y”.

    ~^[yY][’-][\w-]+-(?:ie?ls?|elles?|je|tu|on|nous|vous)$
................................................................................


__conf_à_en_juger_par__
    !! à en juger par ¡¡
    [à|a] [en|>an] [juger|jugé+ses|jugeait|jugeais] [par|pare+s|>part]
        <<- /conf/ ->> à en juger par               && Confusion : “à en juger par” c’est-à-dire “selon le jugement qu’on se fait avec”.

TEST: {{a en jugé part}} cet article, c’est bientôt la fin.
TEST: ils sont à en juger par leurs résultats les prochains champions.


__conf_à_risques_et_périls__
    !! à [mes|tes|ses|nos|vos|leurs] risques et périls ¡¡
    [a|à] [mes|tes|ses|nos|vos|leur|leurs] [risque+s] [et|est|é|eh|hé|ai|aie+s|ait] [péril+s|>pérille]
        <<- /conf/ ->> à \2 risques et périls       && Confusion. Locution “à ses risques et périls”.|https://fr.wiktionary.org/wiki/%C3%A0_ses_risques_et_p%C3%A9rils
................................................................................


__conf_à_prendre_ou_à_laisser__
    !! à prendre ou à laisser ¡¡
    [à|a] prendre [ou|où|houe|hou] [à|a] [laisser|laissé+ses]
        <<- /conf/ ->> à prendre ou à laisser       && Confusion. Locution “à prendre ou à laisser”.|https://fr.wiktionary.org/wiki/%C3%A0_prendre_ou_%C3%A0_laisser

TEST: C’était {{à prendre où à laisser}}.
TEST: C’est à prendre ou à laisser : cent pour cent sur cinq ans ou rien du tout et faillite immédiate.


__conf_à_tout_bout_de_champ__
    !! à tout bout de champ ¡¡
    [à|a] [tout|tous] [bout|bous|>boue] [de|d’] [champ+s|>chant|chan]
        <<- /conf/ ->> à tout bout de champ         && Confusion. Locution “à tout bout de champ”.|https://fr.wiktionary.org/wiki/%C3%A0_tout_bout_de_champ

TEST: il râlait {{à tous bous de chant}}
TEST: elles chantaient à tout bout de champ.


__conf_celui_celle_à_qui__
    [celui|celle|ceux|celles]  a  qui
        <<- /conf/ -2>> à                           && Confusion. Utilisez la préposition “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: Ceux {{a}} qui nous avons notifié le problème sont partis.
TEST: Il y a qui au dîner ce soir ?


# m’a tuer
__conf_m_a_tuer__
    m’ a tuer
        <<- /conf/ -3>> tué|tuée
        && Cliché. Évitez cette erreur de grammaire délibérée, faite d’innombrables fois, pour mimer une affaire judiciaire.|https://fr.wikipedia.org/wiki/Omar_m%27a_tuer

TEST: la réalité m’a {{tuer}}


# après avoir
__conf_après_avoir__
    [à|a] [>prêt|>pré|près] [a|à] [voire|voir]
    [à|a] [>prêt|>pré|près] [a|à] [voire|voir]
    [à|a] [>prêt|>pré|près] avoir
................................................................................
__conf_conte__
    [comte+s|>compte] de [bonne+s] >femme
    [comte+s|>compte] de >fée
    [comte+s|>compte] [>allégorique|>fantastique|>littéraire|merveilleux|moral|moraux|oral|oraux|>populaire|>satirique|>traditionnel]
    [comte+s|>compte] et >légende
        <<- /conf/ -1>> conte|contes                && Confusion probable. Un compte est un état chiffré, “comte” est un titre de noblesse. Pour un récit fictif, écrivez “conte”.|https://fr.wiktionary.org/wiki/conte

TEST: Encore un {{comte}} de fée, assez de ces fadaises !
TEST: c’est un {{compte}} allégorique.
TEST: {{Comptes}} et légendes des Terres du Milieu.
TEST: ce sont des {{comptes}} de bonnes femmes
TEST: Elle parla au comte d’amour, mais il fit mine de n’y rien entendre.


# content / comptant / contant
__conf_content_comptant_contant__
    [<start>|,|(] non [>comptant|contant] [de|d’|du|des]
        <<- /conf/ --2>> content                                                        && Confusion. Locution prépositive “non content de…”.|https://fr.wiktionary.org/wiki/non_content_de

TEST: elle avait tout son {{contant}} de problèmes.
TEST: non {{comptant}} de s’en prendre à eux, il s’attaqua aussi à elles


# contre partie
__conf_en_contrepartie__
    [en|sans] >contre >parti
        <<- /conf/ -2:3>> contrepartie              && Confusion. Locution “\1 contrepartie”.

................................................................................
    >garde du >cor
        <<- /conf/ -3>> corps                                                       && Confusion. Le cor est instrument de musique.

    corps de chasse
    corps d’ harmonie
        <<- /conf/ -1>> cor|cors                                                    && Confusion. L’instrument s’écrit “cor”.|https://fr.wiktionary.org/wiki/cor

TEST: elle a pris le problème {{à bras le cor}}
TEST: se jeter dans la bataille {{à cor perdu}}
TEST: ils se sont battus {{cor à cor}}
TEST: L’hostie n’est pas le {{cor}} du Christ.
TEST: elle détestait son nouveau garde du {{cor}}
TEST: Elle souffla puissamment dans le {{corps}} de chasse.
TEST: prendre le problème à bras-le-corps


# cou / coup / coût
__conf_coup_cout_cou1__
    autour du [coup|coût|cout]
    autour [de|d’] [ce|mon|ton|son|notre|votre|leur] [coup|coût|cout]
................................................................................
    >emballer [c|sais|sait] >peser
        <<- /conf/ ->> emballé, c’est pesé      && Confusion. Locution “emballé, c’est pesé”.|https://fr.wiktionary.org/wiki/emball%C3%A9,_c%E2%80%99est_pes%C3%A9

    >emballer ?,¿ c’ est >peser
        <<- /conf/ not (value(\1, "|emballé|") and value(\-1, "|pesé|")) and morph(<1, ":C|<start>|>,")
        ->> emballé, c’est pesé                 && Confusion. Locution “emballé, c’est pesé”.|https://fr.wiktionary.org/wiki/emball%C3%A9,_c%E2%80%99est_pes%C3%A9

TEST: {{emballait c pesé}}
TEST: {{emballer c’est peser}}
TEST: Tu peux emballer, c’est pesé.
TEST: il faut emballer, c’est pesé
TEST: c’est emballé, c’est pesé.


# en train / entrain
__conf_en_train_entrain__
................................................................................

    la  @:G¬:(?:[NA]:[ef]|W|V)|>(?:lui|leur|votre|notre|voilà|voici|plupart|quell?e?s?|tout|toute|non)/
        <<- /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”.|https://fr.wiktionary.org/wiki/l%C3%A0

    [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: ce {{soutien-la}}
TEST: nous serions encore {{la}} l’année prochaine
TEST: en reprenant le chandail de John {{la}} où elle l’avait abandonné.
TEST: {{la}} n’est pas la question
TEST: il est {{la}} lorsqu’il le faut,
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à.
................................................................................


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

    [celle|celles|celui|ceux] la
        <<- /conf/ ->> \1-là                                                                        && Écrivez “là” et non “la”.


    /-là
        <<- /conf/ morph(\1, ":V", ":[NA]", 0, -3) >>>
        <<- /conf/ morph(\1, ":V...t") -1>> =\1[:-3]+"-la|" + \1[:-3]+" là"                         && Confusion. Pour un COD, utilisez “la”. Ou, si ce “là” signifie “ici”, ne mettez pas de trait d’union.
        <<- /conf/ __else__ -1>> =\1[:-3]+" là"                                                     && Confusion. Si ce “là” signifie “ici”, ne mettez pas de trait d’union.

    [ne|me|te|se] là
        <<- /conf/ -2>> la                                                                          && Confusion : “là” signifie “ici”.|https://fr.wiktionary.org/wiki/la

TEST: {{jusque-la}}, tout va bien
TEST: {{ceux la}} sont des idiots, rien à en tirer.
TEST: {{celle la}} ne vaut pas mieux, laisse-la tomber.
TEST: {{Apporte-là}} près du feu
TEST: {{arrive-là}}
TEST: cette {{bête-la}}
TEST: il ne {{là}} croit pas.


    [la-bas|la-haut|la-dessous|la-dessus|la-dedans|la-devant|la-derrière]
        <<- /conf/ ->> =\1.replace("la-", "là-").replace("LA-", "LÀ-")                              && Confusion. “Là” signifie “ici”.

TEST: {{la-dedans}}                             ->> là-dedans

................................................................................
    plusieurs lancés
        <<- /conf/ morph(<1, ":V") and not tag(<1, "_en_")
        --1>> lancers                                           && Confusion. L’action de lancer s’écrit “lancer”. Des lancers de javelots, de fléchettes, de dés, etc.|https://fr.wiktionary.org/wiki/lancer#Nom_commun

    [>continuer|>poursuivre] ?sur¿ [notre|votre|leur|leurs] [lancer+s|lancé+s]
        <<- /conf/ --1>> lancée         && Confusion probable. Un lancer est une action de projeter quelque chose. Mais l’élan résultant de cette action s’appelle la “lancée”.|https://fr.wiktionary.org/wiki/lanc%C3%A9e

TEST: un {{lancé}} de marteau
TEST: {{lancés}} de dés
TEST: ce {{lancé}} est puissant
TEST: quels {{lancés}} magnifiques !
TEST: sur leur {{lancé}}
TEST: notre {{lancé}} n’est pas aussi… parfait que voulu…
TEST: leur {{lancé}} est magnifique.
TEST: leurs {{lancés}} sont magnifiques
TEST: il y aura plusieurs {{lancés}}
TEST: ils continuent sur leur {{lancé}}
TEST: elles continuent sur leur {{lancer}}
TEST: il y en eut plusieurs lancés à travers la vitre.
TEST: quelques-uns lancés à travers l’espace se perdirent dans la nuit
TEST: j’en vis un lancé par la fenêtre.
TEST: des cris, j’en entendis plusieurs lancés à travers la nuit


__conf_les_lés_lès__
................................................................................
TEST: Il ne frappait que {{pare a coup}}.                           ->> par à-coups
TEST: Elle travaillait par à-coups, après de longues périodes de repos.


# par-dessus / pardessus
__conf_par_dessus__
    pardessus  [bord|$:D]
        <<- /conf/ not morph(<1, ":D.*:[me]|>(?:grande|petite)/")
        -1>> par-dessus                                                     && Confusion probable. Un pardessus est un vêtement. Pour la préposition, écrivez “par-dessus”.

    [pare-dessus|pares-dessus|part-dessus|parts-dessus]
        <<- /conf/ ->> pardessus|par-dessus                                 && Confusion. Pour le manteau, écrivez “pardessus”. Pour la locution adverbiale, écrivez “par-dessus”.



TEST: {{Pardessus}} les montagnes.
TEST: Il passa {{pardessus}} les collines.
TEST: un {{pare-dessus}}


TEST: Mets ton pardessus ce matin.


# gilet pare-balle
__conf_pare_balle__
    [>gilet|>vitrage|>vitre] par >balle
        <<- /conf/ -2:3>> pare-balles                                       && Confusion. Un gilet pare-balles, c’est-à-dire qui pare les balles.

TEST: Elle a enfilé son gilet {{par balle}}.                    ->> pare-balles
TEST: un gilet pare-balles


# pas / par
__conf_pas_par__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  [pa|pat]    **
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  [pa|pat]    **
................................................................................
    [pécher|>pêcher|pêché+ses] de jeunesse
        <<- /conf/ -1>> péché|péchés                                        && Confusion. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C3%A9ch%C3%A9

    [>absolution|>rémission] [des|du] [pécher|>pêcher|pêché+ses]
    [>absolution|>rémission] de [mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs] [pécher|>pêcher|pêché+ses]
        <<- /conf/ --1>> péché|péchés                                       && Confusion. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C3%A9ch%C3%A9

TEST: Les sept {{pêchers}} capitaux.
TEST: Un {{pêcher}} mignon.
TEST: l’absolution des {{pêchers}}
TEST: C’est mon {{pêché}} mignon
TEST: Les {{pêchers}} capitaux
TEST: Des {{pêchés}} véniels
TEST: C’est mon péché mignon.


__conf_pécheur_pêcheur__
    [>auberge|>barque|>baraque|>botte|>cabane|>cabanon|>caissette|>chaloupe|>cordage|>cuissard|>habit|>hameçon|>maison|>métier|>nœud|>pantalon|>pirogue|>soupe|>veste|>village|>bateau] [de|d’|du|des] [pécheur+s]
        <<- /conf/ -3>> =\3.replace("pé", "pê").replace("Pé", "Pê").replace("PÉ", "PÊ")     && Confusion probable : pêcheurs (qui pêchent des animaux marins) ≠ pécheurs (qui commettent des péchés).

    [pécheur+s] [du|d’|de|des|la|le|l’|les|à|au|aux] [>ablette|>oblade|>albacore|>anguille|>baleine|>bar|>barracuda|>blageon|>blennie|>bonite|bouvière+s|>brème|>brochet|>bulot|>cabillaud|>cabot|>calamar|>canard|>carassin|>carnassier|>carpe|>chabot|>chevaine|>chevenne|>chevesne|>colin|>congre|>coque|>coquillage|>coquille|>corb|>crabe|>crevette|>crustacé|>dorade|>dauphin|>écrevisse|>éponge|>espadon|>épinoche|>épinochette|>esturgeon|>étrille|>financement|>gardon|>girelle|>gobie|>goujon|>grémille|>grondin|>hareng|>homard|>hotu|>huitre|>huître|>langouste|>langoustine|>leurre|>liche|>loche|>lotte|>marbré|>marsouin|>merlan|>merlu|>mérou|>mollusque|>morue|>mostelle|>mustelle|>mulet|>murène|>omble|>ormeau|>oursin|>pageau|>pagel|>pageot|>palourde|>patelle|>perche|>pétoncle|>moule|>pieuvre|>piranha|>plie|>poisson|>poulpe|>praire|>raie|>rascasse|>requin|>rotengle|>rouget|>sandre|>sardine|>salmonidé|>sar|>saumon|>saupe|>seiche|>silure|>sole|>spirlin|>tanche|>thon|>truite|>turbot|>vairon|>vandoise|>vive|anchois|>barbeau|>bigorneau|black-bass|>couteau|ligne|>maquereau|saint-jacques]
    [pécheur+s] [de|à] [la|l’] [>ablette|>oblade|>albacore|>anguille|>baleine|>bar|>barracuda|>blageon|>blennie|>bonite|bouvière|>brème|>brochet|>bulot|>cabillaud|>cabot|>calamar|>canard|>carassin|>carnassier|>carpe|>chabot|>chevaine|>chevenne|>chevesne|>colin|>congre|>coque|>coquillage|>coquille|>corb|>crabe|>crevette|>crustacé|>dorade|>dauphin|>écrevisse|>éponge|>espadon|>épinoche|>épinochette|>esturgeon|>étrille|>financement|>gardon|>girelle|>gobie|>goujon|>grémille|>grondin|>hareng|>homard|>hotu|>huitre|>huître|>langouste|>langoustine|>leurre|>liche|>loche|>lotte|>marbré|>marsouin|>merlan|>merlu|>mérou|>mollusque|>morue|>mostelle|>mustelle|>mulet|>murène|>omble|>ormeau|>oursin|>pageau|>pagel|>pageot|>palourde|>patelle|>perche|>pétoncle|>moule|>pieuvre|>piranha|>plie|>poisson|>poulpe|>praire|>raie|>rascasse|>requin|>rotengle|>rouget|>sandre|>sardine|>salmonidé|>sar|>saumon|>saupe|>seiche|>silure|>sole|>spirlin|>tanche|>thon|>truite|>turbot|>vairon|>vandoise|>vive|anchois|>barbeau|>bigorneau|black-bass|>couteau|ligne|>maquereau|saint-jacques]
        <<- /conf/ -1>> =\1.replace("pé", "pê").replace("Pé", "Pê").replace("PÉ", "PÊ")     && Confusion probable : pêcheurs (qui pêchent des animaux marins) ≠ pécheurs (qui commettent des péchés).

TEST: une cabane de {{pécheur}}
TEST: le bateau des {{pécheurs}}
TEST: {{pécheur}} de maquereau


# pêle-mêle
__conf_pêle_mêle__
    [pêle|>pelle|pèle|pèles] [mêle|mêles]
    pèle-mêle
    pèles-mêles
................................................................................
    [ça|ceci|cela|elle|iel] peu $:Y
        <<- /conf/ not morph(<1, ":R") -2>> peut                            && Confusion probable : « peu » signifie « pas beaucoup », pour le verbe pouvoir, écrivez “peut”.

TEST: {{peu}} rarement y arriver.                                                                   ->> peut
TEST: Il est un {{peut}} comme une forêt                                                            ->> peu
TEST: cela ne se {{peu}}.                                                                           ->> peut
TEST: des bâtisses {{peu a peu}} abandonnées.                                                       ->> peu à peu


TEST: voilà {{peut ou proue}} ce qu’on entend                                                       ->> peu ou prou
TEST: Mais {{peut}} importe le rang.                                                                ->> peu
TEST: homme de {{peut}} de foi, écoute le vent.                                                     ->> peu
TEST: Il en vient un {{peut}} tous les jours.                                                       ->> peu
TEST: {{peut}} sympathique, cet individu.                                                           ->> peu
TEST: il {{peu}} y parvenir                                                                         ->> peut
TEST: tu ne {{peu}} en savoir plus                                                                  ->> peux
................................................................................


# acquis / acquit
__conf_tenir_pour_acquit__
    >tenir pour >acquit
        <<- /conf/ -3>> acquis                          && Confusion. On écrit « tenir pour acquis ».

TEST: Je le tenais pour {{acquit}}.
TEST: Par {{acquis}} de conscience.


# affilée / affilé
__conf_d_affilée__
    d’ [affilé|affilés|affilées]
        <<- /conf/ -2>> affilée                         && Locution “d’affilée”.|https://fr.wiktionary.org/wiki/d%E2%80%99affil%C3%A9e

TEST: C’est arrivé trois jours d’{{affilé}}


# amende / amande
__conf_amande_amende__
    yeux en [>amende]
        <<- /conf/ -3>> amande                          && Confusion. Une amende est une peine.|https://fr.wiktionary.org/wiki/amende

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

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              && Confusion. L’amande est un fruit. Locution “faire amende honorable”.

    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles|/-iel|/-iels] >amande >honorable
        <<- /conf/ morphVC(\1, ">faire") -2:3>> amende honorable        && Confusion. L’amande est un fruit.

TEST: Avec ses beaux yeux en {{amendes}} nul ne peut lui résister.
TEST: Nous avons déconné, nous avons été mis à l’{{amande}}.

TEST: Ces gens-là ne feront jamais {{amande honorable}}.
TEST: achète de la pâte d’{{amende}}
TEST: feront-ils {{amande honorable}}


# ancre / encre
__conf_ancre_encre__
    >faire couler beaucoup d’ >ancre
    >faire couler l’ >ancre
    un sang d’ >ancre
................................................................................
        <<- /conf/ -3>> =\3.replace("auspice", "hospice")
        && Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice

    >auspice pour [>vieillard|vieux|>sénior|>senior|>personne|>enfant|>orphelin|>femme|>aliéné|>incurable|>indigent|>malade|>pauvre]
        <<- /conf/ -1>> =\1.replace("auspice", "hospice").replace("Auspice", "Hospice")
        && Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice

TEST: sous les {{hospices}} du conseil général de la nation.
TEST: sous de terribles {{hospices}}
TEST: Elles vont souvent à l’{{auspice}}.
TEST: Dans cet {{auspice}}, la nourriture est abominable.
TEST: On va l’envoyer dans un grand {{auspice}} pour personnes âgées.


# autel / hôtel
__conf_autel_hôtel__
    [>sacrifier|>sacrifice]  ?$:W¿  sur  l’  hôtel
        <<- /conf/ --1>> autel
        && Confusion. L’hôtel est un établissement offrant un service d’hébergement. L’autel est une table ou un monument destiné aux sacrifices ou à la messe.|https://fr.wiktionary.org/wiki/autel
................................................................................

# bailler / bâiller / bayer
__conf_bailler_bâiller_bayer__
    [>bailler|>bâiller] aux corneilles
        <<- /conf/ -1>> =\1.replace("âill", "ay").replace("aill", "ay").replace("ÂILL", "AY").replace("AILL", "AY")
        && Confusion. Locution “bayer aux corneilles”.|https://fr.wiktionary.org/wiki/bayer_aux_corneilles

TEST: cesse de {{bailler}} aux corneilles


# banc / ban
__conf_ban_banc__
    arrière >banc
        <<- /conf/ ->> ="arrière-"+\2.replace("c", "").replace("C", "") && Confusion. L’arrière-ban est une assemblée de nobles feudataires.|https://fr.wiktionary.org/wiki/arri%C3%A8re-ban

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

    >mettre au banc
        <<- /conf/ not after("^ +des accusés") -3>> ban                 && Confusion : “mettre au ban” signifie “faire déchoir”.|https://fr.wiktionary.org/wiki/mettre_au_ban

    [>publier|>convoquer|>publication] [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] bancs
        <<- /conf/ -3>> bans                                            && Confusion. Publication des bans.|https://fr.wikipedia.org/wiki/Publication_des_bans

TEST: Convoquons le ban et l’{{arrière-banc}}.
TEST: l’{{arrière banc}}.
TEST: ces gens resteront à jamais au {{banc}} de l’empire
TEST: Les {{bancs}} de mariage sont prêts.
TEST: des hommes en rupture de {{banc}}
TEST: Il a été mis au {{banc}}.
TEST: il faut publier les {{bancs}} avant qu’il ne soit trop tard.


    sur [un|le|les|ce|ces|mon|ton|son|mes|tes|ses|notre|votre|nos|vos|leur|leurs|plusieurs|quelques|quel|quels] >ban
        <<- /conf/ -3>> =\3.replace("an", "anc").replace("AN", "ANC")   && Confusion probable.|https://fr.wiktionary.org/wiki/banc

    >ban [de|d’] [>roche|>sable|>neige|>moule|>baleine|>dauphin|>hareng|>thon|>poisson|>piranha|>sardine|>méduse|>calibration|>musculation|>coupe|>scie|anchois|>huître|>huitre|>essai|>étalonnage]
    >ban [de|d’] l’ école
................................................................................
    [>aéroport|baie+s|>port|>festival|>gare|>mairie|>maire|>tourisme|>ville|vieux-port] de [>cane|>canne]
        <<- /conf/ not value(\3, "|Cannes|CANNES|") -3>> Cannes                         && Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.

    [>aller|>dormir|>habiter|>partir|>situer|>vivre] [à|a] [>cane|>canne]
    [>bienvenu|>restaurant|>activité|>hôtel|>séjour|>camping] [à|a] [>cane|>canne]
        <<- /conf/ not value(\3, "|Cannes|CANNES|") -3>> Cannes                         && Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.

TEST: {{canes}} à pêche
TEST: {{cane}} de défense
TEST: alcool de {{cane}}
TEST: œufs de {{cannes}}
TEST: appuyé sur sa {{cane}}
TEST: {{bec-de-cannes}}
TEST: aéroport de {{cannes}}
TEST: restaurant à {{cane}}


# c’est / s’est
__conf_c_est_était__
    s’  [est|était]  @:[AM]¬:[QGW]
        <<- /conf/ -1>> c’                              && Confusion probable. Si vous voulez dire “ceci \2”, utilisez “c’”.

................................................................................
    >avoir ?tout¿ [mon|ton|son|notre|votre|leur] [comptant|contant]
        <<- /conf/ --1>> content                            && Confusion. Avoir (tout) son content…|https://fr.wiktionary.org/wiki/content#Nom_commun

    argent [content|contant]
        <<- /conf/ morph(<1, ":[VR]") -2>> comptant         && Confusion probable.|https://fr.wiktionary.org/wiki/argent_comptant

TEST: Elle a déjà eu tout son {{comptant}} de problèmes.                                    ->> content

TEST: On paye toujours argent {{content}}.                                                  ->> comptant


# corps / cor
__conf_corps_cor2__
    >faire >cor
        <<- /conf/ -2>> corps                               && Confusion probable. Locution “faire corps”.|https://fr.wiktionary.org/wiki/faire_corps
................................................................................
    qui  peu  [le|la|l’|les|en|nous|vous|lui|leur|y]  $:Y
    qui  peu  [nous|vous]     [le|la|l’|les|en|y]     $:Y
    qui  peu  [le|la|l’|les]  [lui|leur|en|y]         $:Y
    qui  peu  [lui|leur|y]    en                      $:Y
    qui  peu  $:Y
        <<- /conf/ -2>> peut                            && Confusion : le verbe pouvoir à la 3ᵉ personne du singulier s’écrit “peut”.

TEST: c’est tout le système qui {{peu}} vaciller            ->> peut


# peut-être / peut être
__conf_peut_être2__
    *WORD peut être
        <<- /conf/ space(\2, 1, 1) and morph(\1, ":V", ":[NAQGM]") -2:3>> peut-être           && Confusion probable. Pour dire “possiblement”, écrivez “peut-être”.

................................................................................
        -2>> =suggPlur(\2)                                                                  && Accord de nombre erroné : « \2 » devrait être au pluriel.

__gn_certaines_des_1m__
    certaines  des  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":[efGW]") -1>> certains                            && Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.

TEST: {{certains}} {{petites}}
TEST: Certaines {{danse}}
TEST: Certains {{chien}}
TEST: {{certaines}} {{petits}}
TEST: {{certains}} des femmes sont à côté de la plaque.
TEST: {{certains}} des {{nouvelles}} sont à côté de la plaque.
TEST: {{certaines}} des hommes
TEST: {{certaines}} des {{petits}}
TEST: Un problème rapporté par certains est l’incapacité à trouver un partenaire


__gn_maints_1m__
    maints  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> maintes                            && Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant masculin.
................................................................................
__gn_maintes_1m__
    maintes  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGWP]") -1>> maints                             && Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
        -2>> =suggPlur(\2)                                                                  && Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: {{maints}} {{petites}}
TEST: Maintes {{danse}}
TEST: Maints {{chien}}
TEST: {{maintes}} {{petits}}
TEST: Un problème rapporté par maints est l’incapacité à trouver un partenaire


__gn_det_epi_plur_2m__
    [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|au|aux|") and not morph(\3, ">seul/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
................................................................................
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
        -4>> =suggMasPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

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


__gn_det_fem_plur_2m__
    [certaines|maintes|quelles|lesdites|desdites|auxdites]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
................................................................................
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
        <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
        -4>> =suggFemPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: certaines idioties {{stupide}}
TEST: quelles grandes {{idiots}}
TEST: je ne sais guère de quelles âneries {{proférés}} on parle.
TEST: quelles étonnantes {{petits}}
TEST: ici ou auxdites lointaines {{contrée}}


__gn_nombre_plur_2m__
    $:B:e:p  *WORD  *WORD
        <<- /gn/ not morph(<1, ">(?:et|ou)/|:R") and not morph(\3, ">(?:seul|minimum|maximum)/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

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


__gn_des_2m__
................................................................................
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- not morph(\3, ":G|>a/") and agreement(\2, \3) =>> =select(\3, "", ":V")

TEST: faire table rase des passions {{inutile}}                 ->> inutiles
TEST: à bonne distance des {{chiens}} {{méchante}}              ->> chiennes|||méchants
TEST: des hommes {{attaquée}}                                   ->> attaqués
TEST: des femmes {{agressé}}                                    ->> agressées
TEST: des hommes très mal {{renseigné}}                         ->> renseignés
TEST: des dépenses non {{nécessaire}}                           ->> nécessaires
TEST: Des règles pas du tout {{claire}}.                        ->> claires
TEST: Des peines à peine {{croyable}}.                          ->> croyables
TEST: Des {{chambres}} plus ou moins fortement {{éclairé}}.     ->> chambrés|||éclairées
TEST: Les couleurs rouge, jaune et verte ne doivent pas être utilisées
TEST: des passeports américain, canadien, néerlandais, allemand et britannique.


__gn_plusieurs_1m__
    plusieurs  *WORD
        <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
................................................................................

## Celui, celle, ceux, celles
__gn_celui__
    celui  @:¬:(?:G|W|P|m:[si])
        <<- /gn/ morph(\-1, ":A.*:f") --1>> =suggMasSing(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au masculin singulier.
        <<- /gn/ __else__ and morph(\-1, ":A.*:p") -2>> =suggMasSing(\-1)                   && Accord avec “\1” : cet adjectif devrait être au masculin singulier.

TEST: celui {{envoyés}} là-bas tombera dans un piège
TEST: celui {{perdue}} aura une pénalité
TEST: celui pris par surprise sera abattu


__gn_celle__
    celle  @:¬:(?:G|W|P|f:[si])
        <<- /gn/ morph(\-1, ":A.*:m") --1>> =suggFemSing(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au féminin singulier.
        <<- /gn/ __else__ and morph(\-1, ":A.*:p") -2>> =suggFemSing(\-1)                   && Accord avec “\1” : cet adjectif devrait être au féminin singulier.

TEST: celle {{envoyés}} là-bas tombera dans un piège
TEST: celle {{perdues}} aura une pénalité
TEST: celle prise par surprise sera abattue


__gn_ceux__
    ceux  @:¬:(?:G|W|P|m:[pi])
        <<- /gn/ morph(\-1, ":A.*:f") --1>> =suggMasPlur(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au masculin pluriel.
        <<- /gn/ __else__ and morph(\-1, ":A.*:s") -2>> =suggMasPlur(\-1)                   && Accord avec “\1” : cet adjectif devrait être au masculin pluriel.

TEST: ceux {{envoyé}} là-bas tombera dans un piège
TEST: ceux {{perdues}} auront une pénalité
TEST: ceux perdus dans la neige
TEST: l’approche conseillée, c’est-à-dire celle consistant à réaliser un diagnostic


__gn_celles__
    celles  @:¬:(?:G|W|P|f:[pi])
        <<- /gn/ morph(\-1, ":A.*:m") --1>> =suggFemPlur(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au féminin pluriel.
        <<- /gn/ __else__ and morph(\-1, ":A.*:s") -2>> =suggFemPlur(\-1)                   && Accord avec “\1” : cet adjectif devrait être au féminin pluriel.

TEST: celles {{envoyés}} là-bas tombera dans un piège
TEST: celles {{perdue}} aura une pénalité
TEST: celles venues chanter doivent se rendre là-bas.


## Nombres
__gn_nombre_lettres_1m__
    [cent|mille]  ~[iI][èÈ][mM][eE]$  @:[NA].*:[si]
        <<- !2>>
................................................................................
        <<- /gn/ ( (morph(\2, ":m", "*") and morph(\3, ":f", "*")) or (morph(\2, ":f", "*") and morph(\3, ":m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", "*") and morph(\3, ":s", "*")) or (morph(\2, ":s", "*") and morph(\3, ":p", "*")) ) and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: en homme {{courtoise}}
TEST: en {{grande}} {{avocat}}
TEST: en {{femme}} {{cultivées}}


__gn_pfx_à_par_pour_sans_2m__
    [à|par|pour|sans]  @:[NA]¬:[YG]  @:[NA]¬:G
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) ) and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: à {{grande}} {{enjambées}}
TEST: pour {{belle}} {{appartement}}
TEST: une femme sans a priori


__gn_pfx_de_2m__
    [de|d’]  @:[NA]¬:[YG]  @:[NA]¬*
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) )
            and not apposition(\2, \3) and not morph(<1, ":[NA]|>(?:et|ou)/")
................................................................................
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) )
            and not apposition(\2, \3) and not morph(<1, ":[NA]|>(?:et|ou)/")
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: Ils ont de {{grandes}} {{oreille}}
TEST: de {{grands}} {{homme}}
TEST: de manière {{légal}}
TEST: de {{petite}} {{homme}}
TEST: de {{pousse}} {{actif}}
TEST: De {{bon}} {{conseils}}
TEST: De {{mauvaises}} {{hommes}}
TEST: Ces produits sont de {{belle}} {{qualités}}.



__gn_pfx_sur_avec_après_2m__
    [sur|avec|après]  @:[NA]¬:(?:V0|G)  @:[NA]¬*
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) )
            and not apposition(\2, \3) and morph(<1, ":[VRX]|<start>")
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) )
            and not apposition(\2, \3) and morph(<1, ":[VRX]|<start>")
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: avec {{grand}} {{industrie}}
TEST: avec {{grandes}} {{industrie}}
TEST: sur {{petite}} {{pied}}
TEST: Après être demeurée assise pendant quelque temps, elle se leva
TEST: ils choisissent de devenir indépendants


__gn_de_manière_façon_1m__
    [de|d’]  [manière|façon]  @:A.*:(?:m|f:p)¬:[GM]
        <<- !2>>
        <<- /gn/ -3>> =suggFemSing(\3)                                                              && Accord erroné avec “\2” : l’adjectif devrait être au féminin singulier.

TEST: il fit cela tans de fois et avec brio de manière {{élégant}}.
TEST: elle s’y prit avec cet individu de façon {{charmant}}.
TEST: de manière {{élégant}}
TEST: de façon {{idiot}}



## Conjonctions
__gn_nom_adj_2m__
    [que|qu’|lorsque|lorsqu’|puisque|puisqu’|quoique|quoiqu’]  @:[NA]¬:(?:Y|V0|W|G)  @:[NA]¬*
        <<- /gn/ \3.islower() >>>
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) )
................................................................................
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec “\2”.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec “\3”.
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) )
            and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec “\2”.
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec “\3”.

TEST: en tant que dictionnaire {{personnelle}}.
TEST: séducteur invétéré puisque {{belle}} {{homme}} et beau parleur
TEST: grande est la déception lorsque {{petite}} {{illusions}} tombent
TEST: c’est à Montluçon que fut conçue « la Bourbonnaise », l’une des mères des locomotives en France, surnommée « la bonne à tout faire du réseau ».
TEST: Ici que fut remisée la dernière motrice à vapeur.
TEST: Le modèle « post-démocratique européen » ou le triomphe de « l’empire normatif » et alter-libéral qu’est devenue l’Union européenne.
TEST: C’est la solution qu’a adoptée le gouvernement.
TEST: C’est ce que dit Brune Poirson.
TEST: avoir des positions plus radicales que juste humanitaires
TEST: Que sous couvert d’économie du partage, chacun puisse s’exploiter un maximum !
................................................................................
TEST: une de {{leur soirée}}                                    ->> leurs soirées


## divers
__gn_de_telle_sorte__
    de [tel|tels|telles] [sorte|sortes|sortent]
    de telle [sortes|sortent]
        <<- /gn/ ->> de telle sorte                                                                 && Accord erroné.

TEST: {{de telles sorte}}
TEST: tu vas faire {{de telles sortes}} qu’on ne nous retrouve jamais.


!!
!!
!!!! Groupe nominal (accord avec déterminant suivant le groupe)                                   !!
!!
!!
................................................................................
    il  n’ y  >avoir  qu’        [un|une]  ?[seul|seule]¿  *WORD  [de|d’]  $:Q¬:G
    il  y     >avoir             $:B                       *WORD  [de|d’]  $:Q¬:G
    il  n’ y  >avoir  [que|qu’]  $:B                       *WORD  [de|d’]  $:Q¬:G
        <<- /bs/ --2:-1>> \-1                           && Usage populaire. Le déterminant “de” est superflu. Exemple : « Il y a un fichier modifié » à la place de « il y a un fichier de modifié ».
        <<- ~-2:-1>> *
        <<- !-1>>

TEST: il y a un fichier {{de modifié}}.
TEST: il y a un seul fichier {{de modifié}}.
TEST: il n’y a que deux fichiers {{de modifiés}}.


## se rendre compte
__ppas_s_être_rendu_compte__
    >être  rendu  compte
        <<- !2>>

................................................................................
    >avoir du mal à         ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
    n’ >avoir qu’ à         ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
    de [façon|manière] à    ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
    enclin à                ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ morph0(\-1, ":V", ":M") and not (\-1.endswith("ez") and value(>1, "|vous|"))
        --1>> =suggVerbInfi(\-1)                                                                    && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.

TEST: de manière à {{obligé}} ces gens
TEST: ils ont intérêt à {{obligés}} ces gens
TEST: Tous ceux qui ont du mal à {{obligé}} ces gens
TEST: elles n’ont qu’à la {{brimée}} un peu plus


#### Infinitif après “par”, “pour”, “sans”

__infi_par_pour_sans__
    [par|pour|sans]  [ne|n’|me|m’|te|t’|se|s’|en|y]                                       ~..(?:ée?s?|ez|ai[st]?)$
    [par|pour|sans]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  ~..(?:ée?s?|ez|ai[st]?)$
................................................................................

    sans pour autant ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ~..(?:ée?s?|ez|ai[st]?)$
    sans pour autant [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         ~..(?:ée?s?|ez|ai[st]?)$
    sans pour autant [le|la|l’|les]                  [lui|leur|en|y]             ~..(?:ée?s?|ez|ai[st]?)$
    sans pour autant [lui|leur|y]                    en                          ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ morph(\-1, ":V1.*:(?:Q|[123][sp])") --1>> =suggVerbInfi(\-1)                     && Après la préposition “\1”, le verbe devrait être à l’infinitif.|https://fr.wiktionary.org/wiki/sans_pour_autant

TEST: finira sans se {{doutait}} du problème généré
TEST: par nous en {{douté}}
TEST: commence par {{commencé}} ton boulot, ça ira peut-être mieux
TEST: il y va pour s’en {{donnait}} à cœur joie.
TEST: elle s’en va sans {{donné}} de motif
TEST: pour {{donnait}} de l’espoir
TEST: pour {{mangé}} à sa faim, il faudra chasser.
TEST: C’est pour {{attaqué}} la journée.
TEST: pour nous {{chassez}} de chez lui
TEST: sans {{mangé}} à sa faim, il faudra chasser.
TEST: C’est sans {{attaqué}} la journée.
TEST: sans nous {{chassez}} de chez lui
TEST: sans {{dérogez}} aux règles en vigueur dans cet établissement
TEST: sans pour autant la {{vouée}} aux gémonies.
TEST: Il faut être sans préjugés.
TEST: je craignais d’être pour toujours abandonnée
TEST: ils tiennent pour sacrées les lois de la robotique


__infi_commencer_finir_par__
    [>commencer|>finir]  par  ?[le|l’|la|leur|les]¿  @:V¬:[NGMY]
................................................................................
    [de|d’] [me|m’|te|t’|se|s’]  [le|la|l’|les|en|y]                             @:V¬:Y
    [de|d’] [nous|vous]          [le|la|l’|les|en|y]                             @:V¬:[YP]
    [de|d’] [le|la|l’|les]       [lui|leur|en|y]                                 @:V¬:Y
    [de|d’] leur                 en                                              @:V¬:Y
    [de|d’] lui                  en                                              @:V¬:[YP]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                             && Après “de”, le verbe devrait être à l’infinitif.

    [de|d’]  @:V1.*:Q¬:N
        <<- /infi/ not \2[0:1].isupper() and not morph(<1, ">(?:en|passer|qualifier)/") and not morph(\2, ">(?:fieffer|sacrer)/") and not tag(<1, "_rien_")
            and not before("(?i)(?:quelqu(?:e chose|’une?)|qu’y a-t-il |\\b(?:l(?:es?|a)|nous|vous|me|te|se) trait|personne|points? +$|autant +$|ça +|rien d(?:e |’)|rien(?: +[a-zéèêâîûù]+|) +$)")
            and not tagbefore(\1, "_ceque_")
        -2>> =suggVerbInfi(\2)                                                          && Le verbe devrait être à l’infinitif.

TEST: d’en {{parlé}} sans cesse
TEST: cela suffit de les {{aimait}}
TEST: de ne leur en {{avancé}} que le nécessaire.
TEST: de l’y {{poussé}}
TEST: je suis certain d’en {{choque}} plusieurs.
TEST: elle était capable de la {{trouvait}} où qu’elle soit.
TEST: de me le {{facturez}}
TEST: suffit de {{la}} {{finit}}
TEST: Il s’agit de me {{donnait}} tout ça.
TEST: j’étais incapable de m’{{orientait}} dans la bonne direction.
TEST: ils étaient susceptibles de m’y {{trouvaient}}
TEST: sa façon de {{nettoyez}} était inefficace.
TEST: elle a délibérément omis de les {{inclurent}}.
TEST: d’{{mangé}} je ne suis pas capable
TEST: elles n’ont rien touché de souillé
TEST: elle s’engage de ne les lui donner qu’en dernier recours.
TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: de leur plus grand fils, ils attendent beaucoup.
TEST: de n’importe quelle manière
TEST: un libéralisme trop « individualiste » s’est transformé en de supposées demandes de droits spécifiques
TEST: soit 40 % de plus comparé au quinquennat précédent
................................................................................
TEST: nombre d’entre nous le faisons déjà
TEST: un de perdu, dix de retrouvés
TEST: une de perdue, dix de retrouvées
TEST: 25 € de gagnés


__infi_verbe_de_verbe__
    [>accuser|>arrêter|>cesser|>choisir|>commander|>continuer|>craindre|>décider|>défendre|>demander|>envisager|>essayer|>éviter|>exiger|>interdire|>jurer|>omettre|>oublier|>permettre|>prévoir|>promettre|>refuser|>suggérer|>tenter]
        || [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  *WORD

        <<- /infi/ not morph(\1, ":N") and (morph0(\-1, ":V1.*:Q", ":(?:M|Oo)") or morph0(\-1, ":[123][sp]", ":[MNGA]"))
        --1>> =suggVerbInfi(\-1)                                                                    && Après “\1 de”, le verbe devrait être à l’infinitif.

TEST: cessez d’{{anesthésié}} ces gens !
TEST: arrête d’y {{consacré}} autant de temps.
TEST: Il tentait de {{raisonné}} en homme libre
TEST: Le menu Format contient de nombreuses commandes de mise en forme.
TEST: Le commandant de zone…
TEST: À quoi rime de décider de mesures écologiques d’en haut
TEST: L’accès au cannabis thérapeutique où à ses dérivés permettrait de plus aux autorités de santé d’apporter aux malades les garanties nécessaires quant à la qualité, aux concentrations, ainsi qu’aux modalités d’obtention et d’utilisation optimale.
TEST: l’industrie est également touchée, avec « des pertes de commandes de véhicules chez Renault et chez Peugeot »
TEST: les deux frères ennemis accusant en outre d’authentiques fragilités politiques et sociétales internes.

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

__infi_suffire_de__
    [suffit|suffisait|suffira|suffirait]                [de|d’]  @:V¬:[YMNWG]
    >avoir  suffi                                       [de|d’]  @:V¬:[YMNWG]
    [suffit-il|suffisait-il|suffira-t-il|suffirait-il]  [de|d’]  @:V¬:[YMNWG]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après “suffire”, le verbe doit être à l’infinitif.

TEST: il suffit de {{pensé}} à ça pour déprimer.
TEST: il suffit de {{mangé}} sain pour aller mieux.
TEST: il ne suffit pas de pensées positives pour calmer son anxiété.
TEST: il suffit de cela.


__infi_qqch_de__
    afin                                        [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  ~..ée?s?$
    avant ?même¿                                [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  ~..ée?s?$
................................................................................
    rien d’ autre à faire [que|qu’|sinon] ?[ne|n’]¿  [lui|leur|y]                    en                         ~..(?:ée?s?|ez|ai[ts]?)$
        <<- /infi/ morph(\-1, ":V", ":M") --1>> =suggVerbInfi(\-1)                      && Après “rien à faire que”, mettez le verbe à l’infinitif.

TEST: rien à faire sinon {{expliqué}} ce qu’il faisait là           ->> expliquer
TEST: rien d’autre à faire que lui {{donnait}} à manger             ->> donner


__infi_nous_vous_verbe__
    [nous|vous]  ~ée?s?$
        <<- /infi/ space(\1, 1, 3) and morph(\2, ":Q") and not morph(<1, "V0.*[12]p") -2>> _  && Après “\1”, le verbe ne devrait pas être un participe passé.






TEST: oui, pourquoi pas, puisque nous {{intéressé}} à la question ne suffit pas à faire de nous des experts.
TEST: il faut croire que vous {{mangé}} ne nous nourrirait guère
TEST: Sommes-nous désespérés à ce point ?
TEST: Vous d’habitude si réservée.


__infi_y_verbe!3__
    y ~ée?s?$
        <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _                                 && Le verbe ne devrait pas être un participe passé.
................................................................................
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  [ne|n’]     [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]              [en|me|m’|te|t’|se|s’|nous|vous|lui|y]                    @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]       @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]           @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  ?[ne|n’]¿   [lui|leur]                      en                        @:V¬:[YMWG]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après le verbe “falloir”, le verbe devrait être à l’infinitif.

TEST: il faut sans cesse {{persévéré}}
TEST: Il faudrait l’{{essayé}}.
TEST: Il faudra ne {{touché}} qu’aux extrémités.
TEST: faut-il {{pensé}} à ces choses-là encore et encore ?
TEST: il faut n’{{estimait}} que la valeur de nos actes
TEST: il fallait bien cela pour nous épargner
TEST: une faille s’est ouverte sous nos pieds
TEST: il faut en moyenne 1000 litres d’eau pour produire un kilo de céréales
TEST: Xi Jinping a réaffirmé en janvier dernier qu’il utiliserait s’il le faut la force militaire
TEST: Comme il a fallu la mort d’un homme
TEST: Et il faut en fait, pour les expliquer, tenir compte de trois éléments complémentaires.

................................................................................
        --1>> =suggVerbInfi(\-1)                                                                    && Après le verbe “faire”, le verbe devrait être à l’infinitif.

    de  ?[nous|vous|lui|les|le|la|l’]¿  faire   ~(?:ée?s?|ez)$
    faire faire                                 ~(?:ée?s?|ez)$
        <<- /infi/ morph(\-1, ":V", ":M")
        --1>> =suggVerbInfi(\-1)                                                                    && Après le verbe “faire”, ce verbe devrait être à l’infinitif.

TEST: elle fit peu {{mangé}} les enfants
TEST: Tu fais {{décoloré}} tes cheveux ?
TEST: quelqu’un fait {{travaillé}} ces gens en secret.
TEST: il le fait {{pensé}} à son avenir.
TEST: me faire constamment {{laminé}} au jeu, ça finit par me fâcher.
TEST: Je suis fatigué de vouloir {{essayé}} d’y remédier.
TEST: fatigué de faire {{testé}} des produits de qualité douteuse ?
TEST: ce sont des faits constestés.
TEST: c’est un fait reconnu.
TEST: fait pourtant avéré et corroboré par le même sondage.
TEST: ce fait rapporté par des témoins au-delà de tout soupçon n’est pas contestable.
TEST: il y a quand même quelques faits caractérisés permettant de faire le raccord
TEST: la tonalité des soutiens traditionnels s’est faite plus nuancée.
TEST: sa simple présence les a fait reculer
................................................................................
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  ~..(?:ée?s?|ez|ai[ts]?)$
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]       ~..(?:ée?s?|ez|ai[ts]?)$
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]           ~..(?:ée?s?|ez|ai[ts]?)$
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [lui|leur|y]                    en                        ~..(?:ée?s?|ez|ai[ts]?)$
        <<- /infi/ morph0(\-1, ":V1.*:(?:Q|[123][sp])", ":[GM]")
        --1>> =suggVerbInfi(\-1)                                                                    && Après “mieux vaut…”, le verbe devrait être à l’infinitif.

TEST: Mieux vaut {{consacré}} son temps à des occupations utiles.
TEST: Mieux ne vaut pas {{arrivé}} en retard.
TEST: il eût mieux valu {{oublié}} cette affaire plutôt que réveiller ce dragon endormi.


__infi_verbes__
# regarder, écouter, ouïr
    [>faillir|>oser]  ~..(?:ée?s?|ez)$
        <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M")
        -2>> =suggVerbInfi(\2)                                                                      && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.
................................................................................

!!!! Participes présents                                                                          !!

__conj_participe_présent__
    [ne|lui|me|te|se|nous|vous]  ~ants$
        <<- /infi/ morph(\2, ":A") -2>> =\2[:-1]                                        && Un participe présent est invariable.|https://fr.wiktionary.org/wiki/participe_pr%C3%A9sent

TEST: nous {{épuisants}} à la tâche pour des clopinettes, nous défaillîmes.



!!!! Participes passés                                                                            !!

__ppas_censé_être_adj!6__
    censé  être  @:[AQ].*:[fp]¬:(?:G|[me]:[si])
................................................................................
        <<- /conf/ morph(\3, ":[NA].*:[pi]", ":G") -4>> ont         && Confusion probable. Accord avec “\2 \3…”. Pour le verbe avoir à la 3ᵉ personne du pluriel, écrivez “ont”.

    <start>  [certains|certaines|ceux-ci|ceux-là|celles-ci|celles-là|plusieurs|maints|maintes]  on  @:[QDRY]¬:(?:Ov|3s)
        <<- /conf/ -3>> ont                                         && Confusion probable. Accord avec “\2”. Pour le verbe avoir à la 3ᵉ personne du pluriel, écrivez “ont”.

TEST: les Allemands {{on}} {{commencé}} la partie.
TEST: ces emmerdeurs {{on}} {{une}} chance de cocu.
TEST: ces gens on les connaît de vue.
TEST: vos chiens {{on}} {{manger}} la pâtée du chat.
TEST: certaines {{on}} {{mangé}} du lion



## ou / où
__conf_det_nom_où_pronom__
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [je|j’|tu|il|on|ils]
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [elle|nous|vous|elles|iel|iels]
        || [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|lui|nous|vous|leur]
................................................................................


## 2pl
__conj_vous2__
    [<start>|,|(]  vous  qui  @:V¬:(?:2p|G)
        <<- /conj/ --1>> =suggVerb(\-1, ":2p")                          && Conjugaison erronée. Accord avec “\2”. Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: vous lui {{donner}} du temps
TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives
TEST: vous qui {{décider}} de l’avenir du peuple.
TEST: vous “étaler” sera notre plus grande joie.
TEST: je vous donnais votre dû, vous payais mieux que quiconque et vous me faites un procès.
TEST: Du passé chez votre ami vous parvenaient les meilleurs souvenirs.



!!
................................................................................
        <<- /conj/ --1>> êtes|étiez|serez|seriez                            && Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conj/ -2>> vous,                                               && S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer du sujet les personnes que vous désignez.

    s’  ?[en|y]¿  >avoir
        <<- /conj/ morph(\-1, ":[123]p") --1>> sont|étaient|seront|seraient && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conj/ __else__ --1>> est|était|sera|serait                     && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.

TEST: je m’y {{avais}} habitué.
TEST: tu t’{{avais}} donné du temps pour finir ton mémoire.
TEST: {{nous}} nous {{avons}} donné le temps
TEST: {{vous}} vous {{avez}} perdu toute notion de décence.
TEST: s’en {{ait}} trop
TEST: s’en {{aient}} assez
TEST: Ce qu’il a tu t’a donné la nausée.


!!
!!
!!!! Participes passés: se +être +verbe                                                           !!
!!
................................................................................
TEST: s’efforceront-iels de sembler {{instruit}} des faits                          ->> instruits
TEST: iels sont légion.
TEST: iels ne paraissent pas avoir été légion, mais l’effet eut autant de force que si iels avaient été des millions.
TEST: iels sont devenus faibles.


__ppas_avoir_été__
    l’  homme   [que|qu’] [je|tu|il|iel]              >avoir   été $:3s
    la  femme   [que|qu’] [je|tu|elle|iel]            >avoir   été $:3s
    l’  enfant  [que|qu’] [je|tu|il|elle|iel]         >avoir   été $:3s
    les hommes  [que|qu’] [nous|vous|ils|iels]        >avoir   été $:3p
    les femmes  [que|qu’] [nous|vous|elles|iels]      >avoir   été $:3p
    les enfants [que|qu’] [nous|vous|ils|elles|iels]  >avoir   été $:3p
        <<- !-1>> ppas

    >avoir  été  *WORD
        <<- /ppas/ morph(\3, ":[123]s", ":[GNAQWY]") -3>> =suggVerbPpas(\3)                     && Après “avoir été”, il faut un participe passé.
................................................................................


__ppas_ceque_pronom_avoir__
    ce  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|ça|cela|ceci]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|[me]:[si])
        <<- /ppas/ --1>> =suggVerbPpas(\-1, ":m:s")
        && Accord avec le COD “ce”. Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: ce que ça a {{donnée}}
TEST: ce qu’il leur a {{données}}



!!!! Participes passés: du / dû                                                                   !!

__ppas_avoir_dû_vinfi__
    >avoir  [du|dus|due|dues]  [le|la|les|l’|me|m’|te|t’|se|lui|s’|nous|vous|leur|$:Y]
................................................................................

TEST: cet été ont-ils {{mentionnés}} la sécheresse                              ->> mentionné
TEST: quand ont-ils {{donner}} satisfaction                                     ->> donné
TEST: qui a-t-elle {{connut}}                                                   ->> connu
TEST: qui a-t-on {{reconnue}}                                                   ->> reconnu
TEST: Avais-je {{laissés}} ces notes sur la table ?                             ->> laissé
TEST: Aurait-elle {{suffit}}                                                    ->> suffi
TEST: Avez-vous {{signez}} le contrat ?
TEST: Ont-ils {{signer}} le contrat ?
TEST: Ai-je déjà {{signez}} le contrat ?
TEST: A-t-il déjà {{signée}} le contrat ?
TEST: Avait-il {{marcher}} seul ?
TEST: Avez-vous {{signez}} le contrat ?
TEST: Ont-ils {{finit}} le travail ?
TEST: Ai-je déjà {{reconnut}} mes torts ?
TEST: N’avais-tu pas crainte de tout perdre ?
TEST: Combien de bêtes n’as-tu pas déjà massacrées
TEST: Combien de bêtes as-tu déjà massacrées
TEST: A-t-il Pierre pour ami ?
TEST: Quel lien y a-t-il entre donner et recevoir ?


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


__ppas_les_avoir_pronom__
    les  /_VCint_  *WORD
        <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:s|3[sp])", ":[GWpi]")
        -3>> =suggVerbPpas(\3, ":p")                        && Accord avec le COD “les” : le participe passé “\3” devrait être au pluriel (et accordé en genre).

TEST: les avais-tu {{acheté}} là-bas ?
TEST: les ont-ils {{détecté}} ?
TEST: les avaient-ils {{détectez}} ?


!!
!!
!!!! Participes passés: Accords avec l’adjectif précédant le pronom                               !!
!!
!!

__ppas_adj_accord_je_tu_iel__
    <start>  *WORD  ?,¿  [je|j’|tu|iel]
        <<- /ppas/ morph(\2, ":A.*:p", ":[GEMWPsi]") and not tag(\2, "_exctx_")
        -2>> =suggSing(\2)                                                      && Si cet adjectif se réfère au pronom « \-1 », l’adjectif devrait être au singulier (et accordé en genre).

TEST: {{Découragés}}, je suis parti.


__ppas_adj_accord_il__
    <start>  *WORD  ?,¿  il
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|")  and not tag(\2, "_exctx_") and morph(\2, ":A.*:[fp]", ":(?:G|E|M1|W|P|m:[si])")
            and not morph(>1, ">falloir/") and not after("^ +(?:y (?:a|aura|avait|eut)|d(?:ut|oit|evait|evra) y avoir|s’agi(?:ssait|t|ra))[, .]")
        -2>> =suggMasSing(\2)                                                   && Si cet adjectif se réfère au pronom « il », l’adjectif devrait être au masculin singulier.

TEST: — {{Déçue}}, il s’en est allé.
TEST: — Désolée, il va partir bientôt.
TEST: Lancés il y a plus de 13 ans, le 14 février 2001, ces outils
TEST: Si délégués il doit y avoir, ce sera uniquement des gens choisis parmi nous.
TEST: Étudiante, il s’agissait de s’inventer des parents riches.


__ppas_adj_accord_elle__
    <start>  *WORD  ?,¿  elle
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|") and not tag(\2, "_exctx_") and morph(\2, ":A.*:[mp]", ":(?:G|E|M1|W|P|f:[si])")
        -2>> =suggFemSing(\2)                                                   && Si cet adjectif se réfère au pronom « elle », l’adjectif devrait être au féminin singulier.

TEST: — {{Déçu}}, elle s’en est allée.
TEST: Parlant de réussite, elle se donne bonne conscience en y rajoutant de la bienveillance.


__ppas_adj_accord_ils__
    <start>  *WORD  ?,¿  ils
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|") and not tag(\2, "_exctx_") and morph(\2, ":A.*:[fs]", ":(?:G|E|M1|W|P|m:[pi])")
        -2>> =suggMasPlur(\2)                                                   && Si cet adjectif se réfère au pronom « ils », l’adjectif devrait être au masculin pluriel.

TEST: Vraiment {{soucieuse}}, ils sont.
TEST: Très vite, ils sont partis
TEST: Une fois terminé, ils sont revenus.
TEST: Désolé, ils ne viendront pas.
TEST: Pire, ils piétinent parfois les droits humains.
TEST: Bref, ils veulent des services publics là où ces derniers font de plus en plus défaut.


__ppas_adj_accord_elles__
    <start>  *WORD  ?,¿  elles
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|") and not tag(\2, "_exctx_") and morph(\2, ":A.*:[ms]", ":(?:G|E|M1|W|P|f:[pi])")
        -2>> =suggFemPlur(\2)                                                   && Si cet adjectif se réfère au pronom « elles », l’adjectif devrait être au féminin pluriel.

TEST: Absolument {{heureux}}, elles exultèrent de joie.
TEST: quoique heureuse, ils la crurent tourmentée.


__ppas_adj_accord_iels__
    <start>  *WORD  ?,¿  iels
        <<- /ppas/ morph(\2, ":A.*:s", ":[GEMWPpi]") and not tag(\2, "_exctx_")
        -2>> =suggPlur(\2)                                                      && Si cet adjectif se réfère au pronom « iels », l’adjectif devrait être au pluriel.

TEST: {{Découragé}}, iels sont partis.


!!
!!
!!!! Impératif !                                                                                  !!
!!
!!
................................................................................
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  [ai|ait|aies]
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          [ai|ait|aies]
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              [ai|ait|aies]
    <start>  [ne|n’]  [lui|leur]               en                           [ai|ait|aies]
    <start>  [ai|ait|aies]
        <<- /imp/ not value(>1, "|je|") --1>> aie                                   && S’il s’agit d’un impératif, écrivez “aie”.

TEST: {{Ait}} la foi !
TEST: n’{{ait}} pas peur de ces gens-là.


# aller
__imp_aller__
    <start>  >allée  ,
        <<- /imp/ -2>> allez                                                        && S’il s’agit d’un impératif, écrivez “allez”.

    <start>  >allée  *WORD
        <<- /imp/ morph(\3, ":[MYO]", ":A|>et/") -2>> allez                         && S’il s’agit d’un impératif, écrivez “allez”.

    <start>  [allé|allés]
        <<- /imp/ -2>> allez                                                        && S’il s’agit d’un impératif, écrivez “allez”.

TEST: {{Allée}}, on y va !
TEST: {{Allée}} prendre une carte
TEST: — {{Allé}} prendre une cuite.
TEST: Allées et venues
TEST: Allées pavées et bordées de fleurs innombrables.
TEST: Allées qu’on nettoyait tous les jours.


    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  vas
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          vas
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              vas
    <start>  [ne|n’]  [lui|leur]               en                           vas
    <start>  vas
        <<- /imp/ not value(>1, "|tu|") --1>> va                                   && S’il s’agit d’un impératif, pas de “s”.

TEST: {{Vas}} lui mettre une branlée.
TEST: {{Vas}} au diable !
TEST: N’y {{vas}} pas
TEST: — Va-t’en ! [Firefox]


# verbes du 1ᵉʳ et du 3ᵉ groupe en -e
__imp_verbe_groupe1__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+es$
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+es$
................................................................................
        <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":G") and not value(>1, "|tu|")
        --1>> =\-1[:-1]                                                             && S’il s’agit d’un impératif, pas de “s”.

    <start>  ~\w\w+es$
        <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":[GNAM]") and not value(>1, "|tu|")
        --1>> =\-1[:-1]                                                             && S’il s’agit d’un impératif, pas de “s”.

TEST: {{Apportes}} ton fric à cet homme.
TEST: N’{{abandonnes}} pas si vite.
TEST: Ne {{demandes}} rien, tais-toi.
TEST: — {{Abandonnes}}.
TEST: {{Écartes}} de moi cette coupe.
TEST: Ne {{donnes}} pas autant.
TEST: N’{{insistes}} pas.
TEST: Castres est une belle ville.
TEST: Limoges aussi.


# verbes du 2ᵉ et du 3ᵉ groupe en -t
__imp_verbe_groupe2_groupe3_t__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+t$
................................................................................
            and not value(\-1, "|provient|")
            and not (value(\-1, "|vient|dit|surgit|survient|périt|") and morph(>1, ":(?:[MDR]|Oo)|>[A-Z]/"))
            and morph(\-1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire|para[îi]tre)/") and analyse(\-1[:-1]+"s", ":E:2s")
        --1>> =\-1[:-1]+"s"                                                         && S’il s’agit d’un impératif, la terminaison est “s”, non “t”.

TEST: {{Finit}} ton assiette.                                           ->> Finis
TEST: Ne {{pourrit}} pas l’ambiance.                                    ->> pourris
TEST: Ne {{finit}} pas ce devoir.
TEST: {{Finit}} cette tarte.
TEST: Ne me {{choisit}} pas.
TEST: ne l’y {{brandit}} pas.
TEST: Ne {{vient}} que lorsque je te le dirai.                          ->> viens
TEST: Ne l’y {{contraint}} pas
TEST: {{Vient}}.
TEST: {{Sert}} le plat.                                                 ->> Sers
TEST: Suffit de s’en servir.
TEST: Et ne doit pas être rejeté dans les limbes.
TEST: Vient s’ajouter à ce contexte la perception, partagée par beaucoup, du caractère fortement menaçant de l’environnement économique et géopolitique.
TEST: À son bord vient d’embarquer un nouvel équipage
TEST: Vient ensuite Christelle, qui ignore comment se sortir d’affaire.
TEST: Vient ensuite l’emménagement dans une maison isolée.
................................................................................

    <start>  ~\w\w+d$
        <<- /imp/ not value(>1, "|il|elle|on|")
            and not ( value(\-1, "|répond|") and (morph(>1, ":[MD]|>[A-Z]/") or value(>1, "|l’|d’|")) )
            and morph(\-1, ":V3.*:Ip.*:3s", ":[GNA]")
        --1>> \-1s                                                                  && S’il s’agit d’un impératif, ajoutez un “s”.

TEST: {{Prend}} le chemin de droite.
TEST: N’{{attend}} pas qu’elle vienne.                                  ->> attends
TEST: Ne me {{prend}} pas pour un idiot                                 ->> prends
TEST: Ne l’{{attend}} pas
TEST: Ne m’y {{attend}} pas
TEST: {{Attend}} la correction.
TEST: {{Répond}}.                                                       ->> Réponds
TEST: — Pour ma part, répond P., je crois que tout va bien.


!!
!!
!!!! Impératif : traits d’union manquants                                                         !!
................................................................................
            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

    [<start>|,|(]  *WORD  moi
        <<- /imp/ space(\2, 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: {{Apporte moi}} ce dictionnaire.                                      ->> Apporte-moi
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(\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

    [<start>|,|(]  *WORD  toi
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/")
        -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-toi"   && 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: {{Donne toi}} du temps.
TEST: j’en ai marre, {{instruit toi}} avant de parler.


__imp_union_nous_vous_lui__
    *WORD  [nous|vous|lui]
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>(?:en|y)/") and morph(<1, ":Cc|<start>|>,")
        ->> \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

    [<start>|,|(]  *WORD  [nous|vous|lui]
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and not morph(>1, ":Y")
        -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-"+\3   && 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: {{Donne nous}} du café.
TEST: si ça se peut, {{apprend nous}} à réussir.
TEST: Ce que Jeanne, femme de Patrick, veut vous dire de sa vie.


__imp_union_y__
    *WORD  y
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>en/") and morph(<1, ":Cc|<start>|>,")
        ->> \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


TEST: {{Donne y}} du tien.



__imp_union_les__
    *WORD  les
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp])|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") and morph(<1, ":Cc|<start>|>,")
        ->> \1-les                                      && 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
................................................................................


__imp_laisser_le_la_les_infi__
    [laisse|laissons|laissez]  [le|la|les]  *WORD
        <<- /imp/ space(\1, 1, 1) and morph(\3, ":(?:Y|Ov)", ":[NAB]") and not morph(<1, ":O[sv]")
        -1:2>> \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

TEST: {{Laisse les}} entrer…
TEST: {{Laissez la}} venir…
TEST: {{laisse le}} faire
TEST: Laisse les chiens tranquilles
TEST: Laissez la peste leur pourrir la vie encore quelque temps.
TEST: le coût humain de la guerre qu’il a laissé les submerger.
TEST: je vous laisse les consulter
TEST: Je les laisse la découvrir !


................................................................................
__imp_apostrophe_m_en__
    ~\w-m-en$
        <<- /imp/ ->> =\1[:-3]+"’en"                    && Dans cette forme verbale composée, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

    m-en
        <<- /imp/ ->> m’en                              && Ici, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: {{donne-m-en}} encore
TEST: viens {{m-en}} donner


__imp_apostrophe_t_en__
    ~\w-t-en$
        <<- /imp/ not value(>1, "|guerre|")
        ->> =\1[:-3]+"’en"                              && Dans cette forme verbale composée, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

    t-en
        <<- /imp/ not (value(<1, "|va|") and value(>1, "|guerre|"))
        ->> t’en                                        && Ici, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: {{accorde-t-en}} plus.
TEST: {{t-en}} lasser, impossible


__imp_union_m_t_en_y__
    *WORD  [m’|t’]  [en|y]
        <<- /imp/ space(\1, 1, 1) and morph(\1, ":E", ":[MG]") and morph(>1, ":|<end>|>,", ":(?:Y|[123][sp])")
        ->> \1-\2\3                                     && 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: {{donne m’en}}, s’il te plaît.
TEST: Mélanie t’en donne souvent.


__imp_union_verbe_pronom_moi_toi_lui__
    [/-le|/-la|/-les]  [moi|toi]
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E")
        ->> \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

TEST: les analyses, {{donne-les moi}}
TEST: {{Donne-les lui}}.


__imp_union_verbe_pronom_nous_vous__
    [/-le|/-la|/-les]  [nous|vous|lui|leur]
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":Y")
        ->> \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

TEST: {{apporte-les nous}}


__imp_union_verbe_pronom_en_y_leur__
    [/-moi|/toi] en
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \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

    [/-lui|/-nous|/-vous|/-leur]  [en|y]
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \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

TEST: {{donnez-moi en}}
TEST: {{prends-leur en}}
TEST: {{Donnez-nous en}}.
TEST: Alors, {{parais y}} grande et lumineuse.


__imp_union_aller_y!5__
    [viens|venez|venons|allons|allez] y
        <<- /imp/ space(\1, 1, 1) and not morph(>1, ":Y") ->> \1-\2           && Il manque un trait d’union.

    [va|vas] [y|z-y|z’y]
        <<- /imp/ space(\1, 1, 1) and not value(<1, "|tu|il|elle|on|ne|n’|") and not morph(>1, ":Y")
        ->> vas-y                                                                   && Il manque un trait d’union.

TEST: {{allons y}}
TEST: {{vas y}}
TEST: {{Viens y}}.
TEST: Il va y àvoir des contingents étrangers qui débarquent à Paris. (erroné)
TEST: Viens y faire un test.



__imp_union_convenir_en__
    [conviens|convenez|convenons] en
        <<- /imp/ space(\1, 1, 1) and not value(>1, "|partie|") ->> \1-\2     && Il manque un trait d’union.


TEST: c’est une belle affaire malgré son prix élevé, {{convenez en}}…


# Autres tests
TEST: Ne rien céder.
TEST: Ne pas manger.
TEST: Ne manquer de rien.
TEST: Ne jamais miser sur ces tocards.







<
|
|
<
|
|
|
|
|
|
|
|







 







|







 







|








|







|









|







 







|
|
|
|








<
|







 







|
|
|
|
|
|







 







|
|







 







|
|
|
|
|
|







 







>









|
|
|
|
|
|
|







 







|
|
|
|
|
|
|
|
|
|
|







 







|
|


|
>
>

|
|
|
>
>








|







 







|
|
|
|
|
|











|
|
|







 







>
>







 







|
<







|







 







|
|
>
|
<
|







 







|
|
|
|
|







 







|







 







|
|
|
|
|
|
|







 







|
|
|
|
|
|
|
|







 







>







 







|







 







|
|
|
|
|
|
|
|







 







|
|
|
|







 







|
|
|
|
|
|







 







|
|
|
|
|












|
|
|







 







|
|
|
|
|
|
|
|
|







 







|
|








|
|








|
|









|
|







 







|
|
|











|
|







 







|
|
<
|
|
|
|
|
>













|
|
|









|
|
|
|
>







 







|
|
|







 







|

|
|







 







|
|
|







 







|
|
|
|







 







|
|
|
|
|
|
|
|
|
|
|
|
|
|







 







|





|
|
|
|
|
|
|
|
|
|
|
|
|
|







 







|
|
>



|
|
|







 







|
|







 







|
|
|
>

>
>
>
>
|
|







 







|
|
|
|
|







 







|
|
|
|
|
|
|







 







|
|
|







 







|







 







<


>







 







|
|
|







 







|
|
|
|
|
|







 







|
|
|







 







|
|







 







|
|
|
|
|
|
|
|







 







|
|
|













|








|











|








|












|








|







 







|
|













|
|
|












|
|
|







 







|
|
|
|
|
|
|







 







|
|
|
|

|
|







 







|


|
|
|







 







|
|
|
|







 







|
|












|
|






|
|
>

|
>







 







|
|
|







 







|
|











|
|







|








|
|







|











|
|
|
|










|
|
|









<
|







6210
6211
6212
6213
6214
6215
6216

6217
6218

6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
....
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
....
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
....
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006

10007
10008
10009
10010
10011
10012
10013
10014
.....
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
.....
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
.....
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
.....
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
.....
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
.....
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
.....
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
.....
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
.....
20274
20275
20276
20277
20278
20279
20280
20281

20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
.....
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314

20315
20316
20317
20318
20319
20320
20321
20322
.....
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
.....
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
.....
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
.....
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
.....
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
.....
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
.....
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
.....
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
.....
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
.....
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
.....
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
.....
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
.....
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
.....
24966
24967
24968
24969
24970
24971
24972
24973
24974

24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
.....
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
.....
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
.....
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
.....
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
.....
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
.....
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
.....
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
.....
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
.....
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
.....
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
.....
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
.....
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
.....
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
.....
28129
28130
28131
28132
28133
28134
28135

28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
.....
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
.....
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
.....
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
.....
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
.....
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
.....
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
.....
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
.....
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
.....
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
.....
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
.....
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
.....
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
.....
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
.....
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877

30878
30879
30880
30881
30882
30883
30884
30885
    d’ entre-eux
    d’ entre-elles
    d’ entre-iels
        <<- /tu/ -2>> =\2.replace("-", " ")                                     && Pas de trait d’union.

TEST: Il est {{en-dessous}} de tout.                                            ->> en dessous
TEST: Ils sont {{en-deçà}} de tout                                              ->> en deçà

TEST: J’en ai déjà fait les {{deux-tiers}}.                                     ->> deux tiers
TEST: {{en-haut}} de la montagne.                                               ->> en haut

TEST: Venez vite, s’{{il-vous-plait}}.                                          ->> il vous plait
TEST: Elles sont {{tout-à-fait}} ravies.                                        ->> tout à fait
TEST: les {{trois-quarts}} ne savent pas ce qu’ils font.                        ->> trois quarts
TEST: {{Trois-quarts}} des participantes y sont parvenues.                      ->> Trois quarts
TEST: {{Parce-qu’ils}} y croient plus que tout.                                 ->> Parce qu’ils
TEST: c’est {{par-là}}                                                          ->> par là
TEST: Oui, {{ça-aussi}}.                                                        ->> ça aussi
TEST: Peu d’{{entre-nous}} savent ce dont il s’agit.                            ->> entre nous


__tu_y_attaché__
    ~^[yY][’-]\w+
        <<- /tu/ morph(\1, ":V0", "", 2) -1>> ="y " + \1[2:]                    && Ni apostrophe ni trait d’union après “y”.

    ~^[yY][’-][\w-]+-(?:ie?ls?|elles?|je|tu|on|nous|vous)$
................................................................................


__conf_à_en_juger_par__
    !! à en juger par ¡¡
    [à|a] [en|>an] [juger|jugé+ses|jugeait|jugeais] [par|pare+s|>part]
        <<- /conf/ ->> à en juger par               && Confusion : “à en juger par” c’est-à-dire “selon le jugement qu’on se fait avec”.

TEST: {{a en jugé part}} cet article, c’est bientôt la fin.                 ->> à en juger par
TEST: ils sont à en juger par leurs résultats les prochains champions.


__conf_à_risques_et_périls__
    !! à [mes|tes|ses|nos|vos|leurs] risques et périls ¡¡
    [a|à] [mes|tes|ses|nos|vos|leur|leurs] [risque+s] [et|est|é|eh|hé|ai|aie+s|ait] [péril+s|>pérille]
        <<- /conf/ ->> à \2 risques et périls       && Confusion. Locution “à ses risques et périls”.|https://fr.wiktionary.org/wiki/%C3%A0_ses_risques_et_p%C3%A9rils
................................................................................


__conf_à_prendre_ou_à_laisser__
    !! à prendre ou à laisser ¡¡
    [à|a] prendre [ou|où|houe|hou] [à|a] [laisser|laissé+ses]
        <<- /conf/ ->> à prendre ou à laisser       && Confusion. Locution “à prendre ou à laisser”.|https://fr.wiktionary.org/wiki/%C3%A0_prendre_ou_%C3%A0_laisser

TEST: C’était {{à prendre où à laisser}}.                           ->> à prendre ou à laisser
TEST: C’est à prendre ou à laisser : cent pour cent sur cinq ans ou rien du tout et faillite immédiate.


__conf_à_tout_bout_de_champ__
    !! à tout bout de champ ¡¡
    [à|a] [tout|tous] [bout|bous|>boue] [de|d’] [champ+s|>chant|chan]
        <<- /conf/ ->> à tout bout de champ         && Confusion. Locution “à tout bout de champ”.|https://fr.wiktionary.org/wiki/%C3%A0_tout_bout_de_champ

TEST: il râlait {{à tous bous de chant}}                            ->> à tout bout de champ
TEST: elles chantaient à tout bout de champ.


__conf_celui_celle_à_qui__
    [celui|celle|ceux|celles]  a  qui
        <<- /conf/ -2>> à                           && Confusion. Utilisez la préposition “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: Ceux {{a}} qui nous avons notifié le problème sont partis.    ->> à
TEST: Il y a qui au dîner ce soir ?


# m’a tuer
__conf_m_a_tuer__
    m’ a tuer
        <<- /conf/ -3>> tué|tuée
        && Cliché. Évitez cette erreur de grammaire délibérée, faite d’innombrables fois, pour mimer une affaire judiciaire.|https://fr.wikipedia.org/wiki/Omar_m%27a_tuer

TEST: la réalité m’a {{tuer}}                           ->> tué|tuée


# après avoir
__conf_après_avoir__
    [à|a] [>prêt|>pré|près] [a|à] [voire|voir]
    [à|a] [>prêt|>pré|près] [a|à] [voire|voir]
    [à|a] [>prêt|>pré|près] avoir
................................................................................
__conf_conte__
    [comte+s|>compte] de [bonne+s] >femme
    [comte+s|>compte] de >fée
    [comte+s|>compte] [>allégorique|>fantastique|>littéraire|merveilleux|moral|moraux|oral|oraux|>populaire|>satirique|>traditionnel]
    [comte+s|>compte] et >légende
        <<- /conf/ -1>> conte|contes                && Confusion probable. Un compte est un état chiffré, “comte” est un titre de noblesse. Pour un récit fictif, écrivez “conte”.|https://fr.wiktionary.org/wiki/conte

TEST: Encore un {{comte}} de fée, assez de ces fadaises !                   ->> conte|contes
TEST: c’est un {{compte}} allégorique.                                      ->> conte|contes
TEST: {{Comptes}} et légendes des Terres du Milieu.                         ->> Conte|Contes
TEST: ce sont des {{comptes}} de bonnes femmes                              ->> conte|contes
TEST: Elle parla au comte d’amour, mais il fit mine de n’y rien entendre.


# content / comptant / contant
__conf_content_comptant_contant__
    [<start>|,|(] non [>comptant|contant] [de|d’|du|des]
        <<- /conf/ --2>> content                                                        && Confusion. Locution prépositive “non content de…”.|https://fr.wiktionary.org/wiki/non_content_de


TEST: non {{comptant}} de s’en prendre à eux, il s’attaqua aussi à elles        ->> content


# contre partie
__conf_en_contrepartie__
    [en|sans] >contre >parti
        <<- /conf/ -2:3>> contrepartie              && Confusion. Locution “\1 contrepartie”.

................................................................................
    >garde du >cor
        <<- /conf/ -3>> corps                                                       && Confusion. Le cor est instrument de musique.

    corps de chasse
    corps d’ harmonie
        <<- /conf/ -1>> cor|cors                                                    && Confusion. L’instrument s’écrit “cor”.|https://fr.wiktionary.org/wiki/cor

TEST: elle a pris le problème {{à bras le cor}}                     ->> à bras-le-corps
TEST: se jeter dans la bataille {{à cor perdu}}                     ->> à corps perdu
TEST: ils se sont battus {{cor à cor}}                              ->> corps à corps
TEST: L’hostie n’est pas le {{cor}} du Christ.                      ->> corps
TEST: elle détestait son nouveau garde du {{cor}}                   ->> corps
TEST: Elle souffla puissamment dans le {{corps}} de chasse.         ->> cor|cors
TEST: prendre le problème à bras-le-corps


# cou / coup / coût
__conf_coup_cout_cou1__
    autour du [coup|coût|cout]
    autour [de|d’] [ce|mon|ton|son|notre|votre|leur] [coup|coût|cout]
................................................................................
    >emballer [c|sais|sait] >peser
        <<- /conf/ ->> emballé, c’est pesé      && Confusion. Locution “emballé, c’est pesé”.|https://fr.wiktionary.org/wiki/emball%C3%A9,_c%E2%80%99est_pes%C3%A9

    >emballer ?,¿ c’ est >peser
        <<- /conf/ not (value(\1, "|emballé|") and value(\-1, "|pesé|")) and morph(<1, ":C|<start>|>,")
        ->> emballé, c’est pesé                 && Confusion. Locution “emballé, c’est pesé”.|https://fr.wiktionary.org/wiki/emball%C3%A9,_c%E2%80%99est_pes%C3%A9

TEST: {{emballait c pesé}}                                      ->> emballé, c’est pesé
TEST: {{emballer c’est peser}}                                  ->> emballé, c’est pesé
TEST: Tu peux emballer, c’est pesé.
TEST: il faut emballer, c’est pesé
TEST: c’est emballé, c’est pesé.


# en train / entrain
__conf_en_train_entrain__
................................................................................

    la  @:G¬:(?:[NA]:[ef]|W|V)|>(?:lui|leur|votre|notre|voilà|voici|plupart|quell?e?s?|tout|toute|non)/
        <<- /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”.|https://fr.wiktionary.org/wiki/l%C3%A0

    [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é.                                       ->> fait-là
TEST: ce {{soutien-la}}                                                         ->> soutien-là
TEST: nous serions encore {{la}} l’année prochaine                              ->> là
TEST: en reprenant le chandail de John {{la}} où elle l’avait abandonné.        ->> là
TEST: {{la}} n’est pas la question                                              ->> là
TEST: il est {{la}} lorsqu’il le faut,                                          ->> là
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à.
................................................................................


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

    [celle|celles|celui|ceux] la
        <<- /conf/ ->> \1-là                                                                        && Écrivez “là” et non “la”.
        <<- !-1>> conf

    /-là
        <<- /conf/ morph(\1, ":V", ":[NA]", 0, -3) >>>
        <<- /conf/ morph(\1, ":V...t") -1>> =\1[:-3]+"-la|" + \1[:-3]+" là"                         && Confusion. Pour un COD, utilisez “la”. Ou, si ce “là” signifie “ici”, ne mettez pas de trait d’union.
        <<- /conf/ __else__ -1>> =\1[:-3]+" là"                                                     && Confusion. Si ce “là” signifie “ici”, ne mettez pas de trait d’union.

    [ne|me|te|se] là
        <<- /conf/ -2>> la                                                                          && Confusion : “là” signifie “ici”.|https://fr.wiktionary.org/wiki/la

TEST: {{jusque-la}}, tout va bien                                               ->> jusque-là
TEST: {{ceux la}} sont des idiots, rien à en tirer.                             ->> ceux-là
TEST: {{celle la}} ne vaut pas mieux, laisse-la tomber.                         ->> celle-là
TEST: {{Apporte-là}} près du feu                                                ->> Apporte-la|Apporte là
TEST: {{arrive-là}}                                                             ->> arrive là
TEST: cette {{bête-la}}                                                         ->> bête-là
TEST: il ne {{là}} croit pas.                                                   ->> la


    [la-bas|la-haut|la-dessous|la-dessus|la-dedans|la-devant|la-derrière]
        <<- /conf/ ->> =\1.replace("la-", "là-").replace("LA-", "LÀ-")                              && Confusion. “Là” signifie “ici”.

TEST: {{la-dedans}}                             ->> là-dedans

................................................................................
    plusieurs lancés
        <<- /conf/ morph(<1, ":V") and not tag(<1, "_en_")
        --1>> lancers                                           && Confusion. L’action de lancer s’écrit “lancer”. Des lancers de javelots, de fléchettes, de dés, etc.|https://fr.wiktionary.org/wiki/lancer#Nom_commun

    [>continuer|>poursuivre] ?sur¿ [notre|votre|leur|leurs] [lancer+s|lancé+s]
        <<- /conf/ --1>> lancée         && Confusion probable. Un lancer est une action de projeter quelque chose. Mais l’élan résultant de cette action s’appelle la “lancée”.|https://fr.wiktionary.org/wiki/lanc%C3%A9e

TEST: un {{lancé}} de marteau                                                   ->> lancer
TEST: {{lancés}} de dés                                                         ->> lancers
TEST: ce {{lancé}} est puissant                                                 ->> lancer
TEST: quels {{lancés}} magnifiques !                                            ->> lancers
TEST: sur leur {{lancé}}                                                        ->> lancer|lancée
TEST: notre {{lancé}} n’est pas aussi… parfait que voulu…                       ->> lancer|lancée
TEST: leur {{lancé}} est magnifique.                                            ->> lancer|lancée
TEST: leurs {{lancés}} sont magnifiques                                         ->> lancers
TEST: il y aura plusieurs {{lancés}}                                            ->> lancers
TEST: ils continuent sur leur {{lancé}}                                         ->> lancée
TEST: elles continuent sur leur {{lancer}}                                      ->> lancée
TEST: il y en eut plusieurs lancés à travers la vitre.
TEST: quelques-uns lancés à travers l’espace se perdirent dans la nuit
TEST: j’en vis un lancé par la fenêtre.
TEST: des cris, j’en entendis plusieurs lancés à travers la nuit


__conf_les_lés_lès__
................................................................................
TEST: Il ne frappait que {{pare a coup}}.                           ->> par à-coups
TEST: Elle travaillait par à-coups, après de longues périodes de repos.


# par-dessus / pardessus
__conf_par_dessus__
    pardessus  [bord|$:D]
        <<- /conf/ not morph(<1, ":D.*:[me]|>(?:grand|petit)/")
        -1>> par-dessus                                                         && Confusion probable. Un pardessus est un vêtement. Pour la préposition ou l’adverbe, écrivez “par-dessus”.

    [pare-dessus|pares-dessus|part-dessus|parts-dessus]
        <<- /conf/ morph(<1, ":D.*:[me]") ->> pardessus                         && Confusion. Pour le manteau, écrivez “pardessus”.
        <<- /conf/ __else__ and morph(<1, ":A.*:m") ->> pardessus|par-dessus    && Confusion. Pour le manteau, écrivez “pardessus”. Pour la préposition ou l’adverbe, écrivez “par-dessus”.
        <<- /conf/ __else__ ->> par-dessus                                      && Confusion. Pour la préposition ou l’adverbe, écrivez “par-dessus”.

TEST: {{Pardessus}} les montagnes.                                  ->> Par-dessus
TEST: Il passa {{pardessus}} les collines.                          ->> par-dessus
TEST: un {{pare-dessus}}                                            ->> pardessus
TEST: un vrai {{pare-dessus}}                                       ->> pardessus|par-dessus
TEST: mais son humour {{pare-dessus}} tout                          ->> par-dessus
TEST: Mets ton pardessus ce matin.


# gilet pare-balle
__conf_pare_balle__
    [>gilet|>vitrage|>vitre] par >balle
        <<- /conf/ -2:3>> pare-balles                                       && Confusion. Un gilet pare-balles, c’est-à-dire qui pare les balles.

TEST: Elle a enfilé son gilet {{par balle}}.                        ->> pare-balles
TEST: un gilet pare-balles


# pas / par
__conf_pas_par__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  [pa|pat]    **
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  [pa|pat]    **
................................................................................
    [pécher|>pêcher|pêché+ses] de jeunesse
        <<- /conf/ -1>> péché|péchés                                        && Confusion. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C3%A9ch%C3%A9

    [>absolution|>rémission] [des|du] [pécher|>pêcher|pêché+ses]
    [>absolution|>rémission] de [mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs] [pécher|>pêcher|pêché+ses]
        <<- /conf/ --1>> péché|péchés                                       && Confusion. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C3%A9ch%C3%A9

TEST: Les sept {{pêchers}} capitaux.                                ->> péché|péchés
TEST: Un {{pêcher}} mignon.                                         ->> péché|péchés
TEST: l’absolution des {{pêchers}}                                  ->> péché|péchés
TEST: C’est mon {{pêché}} mignon                                    ->> péché|péchés
TEST: Les {{pêchers}} capitaux                                      ->> péché|péchés
TEST: Des {{pêchés}} véniels                                        ->> péché|péchés
TEST: C’est mon péché mignon.


__conf_pécheur_pêcheur__
    [>auberge|>barque|>baraque|>botte|>cabane|>cabanon|>caissette|>chaloupe|>cordage|>cuissard|>habit|>hameçon|>maison|>métier|>nœud|>pantalon|>pirogue|>soupe|>veste|>village|>bateau] [de|d’|du|des] [pécheur+s]
        <<- /conf/ -3>> =\3.replace("pé", "pê").replace("Pé", "Pê").replace("PÉ", "PÊ")     && Confusion probable : pêcheurs (qui pêchent des animaux marins) ≠ pécheurs (qui commettent des péchés).

    [pécheur+s] [du|d’|de|des|la|le|l’|les|à|au|aux] [>ablette|>oblade|>albacore|>anguille|>baleine|>bar|>barracuda|>blageon|>blennie|>bonite|bouvière+s|>brème|>brochet|>bulot|>cabillaud|>cabot|>calamar|>canard|>carassin|>carnassier|>carpe|>chabot|>chevaine|>chevenne|>chevesne|>colin|>congre|>coque|>coquillage|>coquille|>corb|>crabe|>crevette|>crustacé|>dorade|>dauphin|>écrevisse|>éponge|>espadon|>épinoche|>épinochette|>esturgeon|>étrille|>financement|>gardon|>girelle|>gobie|>goujon|>grémille|>grondin|>hareng|>homard|>hotu|>huitre|>huître|>langouste|>langoustine|>leurre|>liche|>loche|>lotte|>marbré|>marsouin|>merlan|>merlu|>mérou|>mollusque|>morue|>mostelle|>mustelle|>mulet|>murène|>omble|>ormeau|>oursin|>pageau|>pagel|>pageot|>palourde|>patelle|>perche|>pétoncle|>moule|>pieuvre|>piranha|>plie|>poisson|>poulpe|>praire|>raie|>rascasse|>requin|>rotengle|>rouget|>sandre|>sardine|>salmonidé|>sar|>saumon|>saupe|>seiche|>silure|>sole|>spirlin|>tanche|>thon|>truite|>turbot|>vairon|>vandoise|>vive|anchois|>barbeau|>bigorneau|black-bass|>couteau|ligne|>maquereau|saint-jacques]
    [pécheur+s] [de|à] [la|l’] [>ablette|>oblade|>albacore|>anguille|>baleine|>bar|>barracuda|>blageon|>blennie|>bonite|bouvière|>brème|>brochet|>bulot|>cabillaud|>cabot|>calamar|>canard|>carassin|>carnassier|>carpe|>chabot|>chevaine|>chevenne|>chevesne|>colin|>congre|>coque|>coquillage|>coquille|>corb|>crabe|>crevette|>crustacé|>dorade|>dauphin|>écrevisse|>éponge|>espadon|>épinoche|>épinochette|>esturgeon|>étrille|>financement|>gardon|>girelle|>gobie|>goujon|>grémille|>grondin|>hareng|>homard|>hotu|>huitre|>huître|>langouste|>langoustine|>leurre|>liche|>loche|>lotte|>marbré|>marsouin|>merlan|>merlu|>mérou|>mollusque|>morue|>mostelle|>mustelle|>mulet|>murène|>omble|>ormeau|>oursin|>pageau|>pagel|>pageot|>palourde|>patelle|>perche|>pétoncle|>moule|>pieuvre|>piranha|>plie|>poisson|>poulpe|>praire|>raie|>rascasse|>requin|>rotengle|>rouget|>sandre|>sardine|>salmonidé|>sar|>saumon|>saupe|>seiche|>silure|>sole|>spirlin|>tanche|>thon|>truite|>turbot|>vairon|>vandoise|>vive|anchois|>barbeau|>bigorneau|black-bass|>couteau|ligne|>maquereau|saint-jacques]
        <<- /conf/ -1>> =\1.replace("pé", "pê").replace("Pé", "Pê").replace("PÉ", "PÊ")     && Confusion probable : pêcheurs (qui pêchent des animaux marins) ≠ pécheurs (qui commettent des péchés).

TEST: une cabane de {{pécheur}}                                             ->> pêcheur
TEST: le bateau des {{pécheurs}}                                            ->> pêcheurs
TEST: {{pécheur}} de maquereau                                              ->> pêcheur


# pêle-mêle
__conf_pêle_mêle__
    [pêle|>pelle|pèle|pèles] [mêle|mêles]
    pèle-mêle
    pèles-mêles
................................................................................
    [ça|ceci|cela|elle|iel] peu $:Y
        <<- /conf/ not morph(<1, ":R") -2>> peut                            && Confusion probable : « peu » signifie « pas beaucoup », pour le verbe pouvoir, écrivez “peut”.

TEST: {{peu}} rarement y arriver.                                                                   ->> peut
TEST: Il est un {{peut}} comme une forêt                                                            ->> peu
TEST: cela ne se {{peu}}.                                                                           ->> peut
TEST: des bâtisses {{peu a peu}} abandonnées.                                                       ->> peu à peu
TEST: mais {{peu-à-peu}}                                                                            ->> peu à peu
TEST: On va finir par s’y faire, {{peu-à-peu}}.                                                     ->> peu à peu
TEST: voilà {{peut ou proue}} ce qu’on entend                                                       ->> peu ou prou
TEST: Mais {{peut}} importe le rang.                                                                ->> peu
TEST: homme de {{peut}} de foi, écoute le vent.                                                     ->> peu
TEST: Il en vient un {{peut}} tous les jours.                                                       ->> peu
TEST: {{peut}} sympathique, cet individu.                                                           ->> peu
TEST: il {{peu}} y parvenir                                                                         ->> peut
TEST: tu ne {{peu}} en savoir plus                                                                  ->> peux
................................................................................


# acquis / acquit
__conf_tenir_pour_acquit__
    >tenir pour >acquit
        <<- /conf/ -3>> acquis                          && Confusion. On écrit « tenir pour acquis ».

TEST: Je le tenais pour {{acquit}}.                             ->> acquis



# affilée / affilé
__conf_d_affilée__
    d’ [affilé|affilés|affilées]
        <<- /conf/ -2>> affilée                         && Locution “d’affilée”.|https://fr.wiktionary.org/wiki/d%E2%80%99affil%C3%A9e

TEST: C’est arrivé trois jours d’{{affilé}}                     ->> affilée


# amende / amande
__conf_amande_amende__
    yeux en [>amende]
        <<- /conf/ -3>> amande                          && Confusion. Une amende est une peine.|https://fr.wiktionary.org/wiki/amende

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

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              && Confusion. L’amande est un fruit. Locution “faire amende honorable”.

    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles|/-iel|/-iels] >amande >honorable
        <<- /conf/ morphVC(\1, ">faire") -2:3>> amende honorable        && Confusion. L’amande est un fruit.

TEST: Avec ses beaux yeux en {{amendes}} nul ne peut lui résister.              ->> amande
TEST: Nous avons déconné, nous avons été mis à l’{{amande}}.                    ->> amende
TEST: achète de la pâte d’{{amende}}                                            ->> amandes
TEST: Ces gens-là ne feront jamais {{amande honorable}}.                        ->> amende honorable

TEST: feront-ils {{amande honorable}}                                           ->> amende honorable


# ancre / encre
__conf_ancre_encre__
    >faire couler beaucoup d’ >ancre
    >faire couler l’ >ancre
    un sang d’ >ancre
................................................................................
        <<- /conf/ -3>> =\3.replace("auspice", "hospice")
        && Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice

    >auspice pour [>vieillard|vieux|>sénior|>senior|>personne|>enfant|>orphelin|>femme|>aliéné|>incurable|>indigent|>malade|>pauvre]
        <<- /conf/ -1>> =\1.replace("auspice", "hospice").replace("Auspice", "Hospice")
        && Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice

TEST: sous les {{hospices}} du conseil général de la nation.                ->> auspices
TEST: sous de terribles {{hospices}}                                        ->> auspices
TEST: Elles vont souvent à l’{{auspice}}.                                   ->> hospice
TEST: Dans cet {{auspice}}, la nourriture est abominable.                   ->> hospice
TEST: On va l’envoyer dans un grand {{auspice}} pour personnes âgées.       ->> hospice


# autel / hôtel
__conf_autel_hôtel__
    [>sacrifier|>sacrifice]  ?$:W¿  sur  l’  hôtel
        <<- /conf/ --1>> autel
        && Confusion. L’hôtel est un établissement offrant un service d’hébergement. L’autel est une table ou un monument destiné aux sacrifices ou à la messe.|https://fr.wiktionary.org/wiki/autel
................................................................................

# bailler / bâiller / bayer
__conf_bailler_bâiller_bayer__
    [>bailler|>bâiller] aux corneilles
        <<- /conf/ -1>> =\1.replace("âill", "ay").replace("aill", "ay").replace("ÂILL", "AY").replace("AILL", "AY")
        && Confusion. Locution “bayer aux corneilles”.|https://fr.wiktionary.org/wiki/bayer_aux_corneilles

TEST: cesse de {{bailler}} aux corneilles                               ->> bayer


# banc / ban
__conf_ban_banc__
    arrière >banc
        <<- /conf/ ->> ="arrière-"+\2.replace("c", "").replace("C", "") && Confusion. L’arrière-ban est une assemblée de nobles feudataires.|https://fr.wiktionary.org/wiki/arri%C3%A8re-ban

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

    >mettre au banc
        <<- /conf/ not after("^ +des accusés") -3>> ban                 && Confusion : “mettre au ban” signifie “faire déchoir”.|https://fr.wiktionary.org/wiki/mettre_au_ban

    [>publier|>convoquer|>publication] [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] bancs
        <<- /conf/ -3>> bans                                            && Confusion. Publication des bans.|https://fr.wikipedia.org/wiki/Publication_des_bans

TEST: Convoquons le ban et l’{{arrière-banc}}.                          ->> arrière-ban
TEST: l’{{arrière banc}}.                                               ->> arrière-ban
TEST: ces gens resteront à jamais au {{banc}} de l’empire               ->> ban
TEST: Les {{bancs}} de mariage sont prêts.                              ->> bans
TEST: des hommes en rupture de {{banc}}                                 ->> ban
TEST: Il a été mis au {{banc}}.                                         ->> ban
TEST: il faut publier les {{bancs}} avant qu’il ne soit trop tard.      ->> bans


    sur [un|le|les|ce|ces|mon|ton|son|mes|tes|ses|notre|votre|nos|vos|leur|leurs|plusieurs|quelques|quel|quels] >ban
        <<- /conf/ -3>> =\3.replace("an", "anc").replace("AN", "ANC")   && Confusion probable.|https://fr.wiktionary.org/wiki/banc

    >ban [de|d’] [>roche|>sable|>neige|>moule|>baleine|>dauphin|>hareng|>thon|>poisson|>piranha|>sardine|>méduse|>calibration|>musculation|>coupe|>scie|anchois|>huître|>huitre|>essai|>étalonnage]
    >ban [de|d’] l’ école
................................................................................
    [>aéroport|baie+s|>port|>festival|>gare|>mairie|>maire|>tourisme|>ville|vieux-port] de [>cane|>canne]
        <<- /conf/ not value(\3, "|Cannes|CANNES|") -3>> Cannes                         && Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.

    [>aller|>dormir|>habiter|>partir|>situer|>vivre] [à|a] [>cane|>canne]
    [>bienvenu|>restaurant|>activité|>hôtel|>séjour|>camping] [à|a] [>cane|>canne]
        <<- /conf/ not value(\3, "|Cannes|CANNES|") -3>> Cannes                         && Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.

TEST: {{canes}} à pêche                                 ->> cannes
TEST: {{cane}} de défense                               ->> canne
TEST: alcool de {{cane}}                                ->> canne
TEST: œufs de {{cannes}}                                ->> cane
TEST: appuyé sur sa {{cane}}                            ->> canne
TEST: {{bec-de-cannes}}                                 ->> bec-de-cane|becs-de-cane
TEST: aéroport de {{cannes}}                            ->> Cannes
TEST: restaurant à {{cane}}                             ->> Cannes


# c’est / s’est
__conf_c_est_était__
    s’  [est|était]  @:[AM]¬:[QGW]
        <<- /conf/ -1>> c’                              && Confusion probable. Si vous voulez dire “ceci \2”, utilisez “c’”.

................................................................................
    >avoir ?tout¿ [mon|ton|son|notre|votre|leur] [comptant|contant]
        <<- /conf/ --1>> content                            && Confusion. Avoir (tout) son content…|https://fr.wiktionary.org/wiki/content#Nom_commun

    argent [content|contant]
        <<- /conf/ morph(<1, ":[VR]") -2>> comptant         && Confusion probable.|https://fr.wiktionary.org/wiki/argent_comptant

TEST: Elle a déjà eu tout son {{comptant}} de problèmes.                                    ->> content
TEST: elle avait tout son {{contant}} de problèmes.                                         ->> content
TEST: On paye toujours argent {{content}}.                                                  ->> comptant


# corps / cor
__conf_corps_cor2__
    >faire >cor
        <<- /conf/ -2>> corps                               && Confusion probable. Locution “faire corps”.|https://fr.wiktionary.org/wiki/faire_corps
................................................................................
    qui  peu  [le|la|l’|les|en|nous|vous|lui|leur|y]  $:Y
    qui  peu  [nous|vous]     [le|la|l’|les|en|y]     $:Y
    qui  peu  [le|la|l’|les]  [lui|leur|en|y]         $:Y
    qui  peu  [lui|leur|y]    en                      $:Y
    qui  peu  $:Y
        <<- /conf/ -2>> peut                            && Confusion : le verbe pouvoir à la 3ᵉ personne du singulier s’écrit “peut”.

TEST: c’est tout le système qui {{peu}} vaciller                                            ->> peut


# peut-être / peut être
__conf_peut_être2__
    *WORD peut être
        <<- /conf/ space(\2, 1, 1) and morph(\1, ":V", ":[NAQGM]") -2:3>> peut-être           && Confusion probable. Pour dire “possiblement”, écrivez “peut-être”.

................................................................................
        -2>> =suggPlur(\2)                                                                  && Accord de nombre erroné : « \2 » devrait être au pluriel.

__gn_certaines_des_1m__
    certaines  des  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":[efGW]") -1>> certains                            && Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.

TEST: {{certains}} {{petites}}                                                          ->> certaines|||petits
TEST: Certaines {{danse}}                                                               ->> danses
TEST: Certains {{chien}}                                                                ->> chiens
TEST: {{certaines}} {{petits}}                                                          ->> certains|||petites
TEST: {{certains}} des femmes sont à côté de la plaque.                                 ->> certaines
TEST: {{certains}} des {{nouvelles}} sont à côté de la plaque.                          ->> certaines|||nouveaux
TEST: {{certaines}} des hommes                                                          ->> certains
TEST: {{certaines}} des {{petits}}                                                      ->> certains|||petites
TEST: Un problème rapporté par certains est l’incapacité à trouver un partenaire


__gn_maints_1m__
    maints  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> maintes                            && Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant masculin.
................................................................................
__gn_maintes_1m__
    maintes  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGWP]") -1>> maints                             && Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
        -2>> =suggPlur(\2)                                                                  && Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: {{maints}} {{petites}}                                                            ->> maintes|||petits
TEST: Maintes {{danse}}                                                                 ->> danses
TEST: Maints {{chien}}                                                                  ->> chiens
TEST: {{maintes}} {{petits}}                                                            ->> maints|||petites
TEST: Un problème rapporté par maints est l’incapacité à trouver un partenaire


__gn_det_epi_plur_2m__
    [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|au|aux|") and not morph(\3, ">seul/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
................................................................................
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
        -4>> =suggMasPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

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


__gn_det_fem_plur_2m__
    [certaines|maintes|quelles|lesdites|desdites|auxdites]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
................................................................................
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
        <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
        -4>> =suggFemPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: certaines idioties {{stupide}}                                                        ->> stupides
TEST: quelles grandes {{idiots}}                                                            ->> idiotes
TEST: je ne sais guère de quelles âneries {{proférés}} on parle.                            ->> proférées
TEST: quelles étonnantes {{petits}}                                                         ->> petites
TEST: ici ou auxdites lointaines {{contrée}}                                                ->> contrées


__gn_nombre_plur_2m__
    $:B:e:p  *WORD  *WORD
        <<- /gn/ not morph(<1, ">(?:et|ou)/|:R") and not morph(\3, ">(?:seul|minimum|maximum)/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

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


__gn_des_2m__
................................................................................
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- not morph(\3, ":G|>a/") and agreement(\2, \3) =>> =select(\3, "", ":V")

TEST: faire table rase des passions {{inutile}}                                             ->> inutiles
TEST: à bonne distance des {{chiens}} {{méchante}}                                          ->> chiennes|||méchants
TEST: des hommes {{attaquée}}                                                               ->> attaqués
TEST: des femmes {{agressé}}                                                                ->> agressées
TEST: des hommes très mal {{renseigné}}                                                     ->> renseignés
TEST: des dépenses non {{nécessaire}}                                                       ->> nécessaires
TEST: Des règles pas du tout {{claire}}.                                                    ->> claires
TEST: Des peines à peine {{croyable}}.                                                      ->> croyables
TEST: Des {{chambres}} plus ou moins fortement {{éclairé}}.                                 ->> chambrés|||éclairées
TEST: Les couleurs rouge, jaune et verte ne doivent pas être utilisées
TEST: des passeports américain, canadien, néerlandais, allemand et britannique.


__gn_plusieurs_1m__
    plusieurs  *WORD
        <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
................................................................................

## Celui, celle, ceux, celles
__gn_celui__
    celui  @:¬:(?:G|W|P|m:[si])
        <<- /gn/ morph(\-1, ":A.*:f") --1>> =suggMasSing(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au masculin singulier.
        <<- /gn/ __else__ and morph(\-1, ":A.*:p") -2>> =suggMasSing(\-1)                   && Accord avec “\1” : cet adjectif devrait être au masculin singulier.

TEST: celui {{envoyés}} là-bas tombera dans un piège                ->> envoyé
TEST: celui {{perdue}} aura une pénalité                            ->> perdu
TEST: celui pris par surprise sera abattu


__gn_celle__
    celle  @:¬:(?:G|W|P|f:[si])
        <<- /gn/ morph(\-1, ":A.*:m") --1>> =suggFemSing(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au féminin singulier.
        <<- /gn/ __else__ and morph(\-1, ":A.*:p") -2>> =suggFemSing(\-1)                   && Accord avec “\1” : cet adjectif devrait être au féminin singulier.

TEST: celle {{envoyés}} là-bas tombera dans un piège                ->> envoyée
TEST: celle {{perdues}} aura une pénalité                           ->> perdue
TEST: celle prise par surprise sera abattue


__gn_ceux__
    ceux  @:¬:(?:G|W|P|m:[pi])
        <<- /gn/ morph(\-1, ":A.*:f") --1>> =suggMasPlur(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au masculin pluriel.
        <<- /gn/ __else__ and morph(\-1, ":A.*:s") -2>> =suggMasPlur(\-1)                   && Accord avec “\1” : cet adjectif devrait être au masculin pluriel.

TEST: ceux {{envoyé}} là-bas tombera dans un piège                  ->> envoyés
TEST: ceux {{perdues}} auront une pénalité                          ->> perdus
TEST: ceux perdus dans la neige
TEST: l’approche conseillée, c’est-à-dire celle consistant à réaliser un diagnostic


__gn_celles__
    celles  @:¬:(?:G|W|P|f:[pi])
        <<- /gn/ morph(\-1, ":A.*:m") --1>> =suggFemPlur(\-1, True)                         && Accord avec “\1” : cet adjectif devrait être au féminin pluriel.
        <<- /gn/ __else__ and morph(\-1, ":A.*:s") -2>> =suggFemPlur(\-1)                   && Accord avec “\1” : cet adjectif devrait être au féminin pluriel.

TEST: celles {{envoyés}} là-bas tombera dans un piège               ->> envoyées
TEST: celles {{perdue}} aura une pénalité                           ->> perdues
TEST: celles venues chanter doivent se rendre là-bas.


## Nombres
__gn_nombre_lettres_1m__
    [cent|mille]  ~[iI][èÈ][mM][eE]$  @:[NA].*:[si]
        <<- !2>>
................................................................................
        <<- /gn/ ( (morph(\2, ":m", "*") and morph(\3, ":f", "*")) or (morph(\2, ":f", "*") and morph(\3, ":m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", "*") and morph(\3, ":s", "*")) or (morph(\2, ":s", "*") and morph(\3, ":p", "*")) ) and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: en homme {{courtoise}}                                    ->> courtois
TEST: en {{grande}} {{avocat}}                                  ->> grand|||avocate
TEST: en {{femme}} {{cultivées}}                                ->> femmes|||cultivée


__gn_pfx_à_par_pour_sans_2m__
    [à|par|pour|sans]  @:[NA]¬:[YG]  @:[NA]¬:G
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) ) and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: à {{grande}} {{enjambées}}                                ->> grandes|||enjambée
TEST: pour {{grande}} {{appartement}}                           ->> grand|||
TEST: une femme sans a priori


__gn_pfx_de_2m__
    [de|d’]  @:[NA]¬:[YG]  @:[NA]¬*
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) )
            and not apposition(\2, \3) and not morph(<1, ":[NA]|>(?:et|ou)/")
................................................................................
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) )
            and not apposition(\2, \3) and not morph(<1, ":[NA]|>(?:et|ou)/")
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: Ils ont de {{grandes}} {{oreille}}                        ->> grande|||oreilles
TEST: de {{grands}} {{homme}}                                   ->> grand|||hommes

TEST: de {{petite}} {{homme}}                                   ->> petit|||
TEST: de {{pousse}} {{actif}}                                   ->> poussé|||active
TEST: De {{bon}} {{conseils}}                                   ->> bons|||conseil
TEST: De {{mauvaises}} {{hommes}}                               ->> mauvais|||
TEST: Ces produits sont de {{belle}} {{qualités}}.              ->> belles|||qualité
TEST: ils ont de {{belles}} {{qualité}}                         ->> belle|||qualités


__gn_pfx_sur_avec_après_2m__
    [sur|avec|après]  @:[NA]¬:(?:V0|G)  @:[NA]¬*
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) )
            and not apposition(\2, \3) and morph(<1, ":[VRX]|<start>")
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) )
            and not apposition(\2, \3) and morph(<1, ":[VRX]|<start>")
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec « \3 ».

TEST: avec {{grand}} {{industrie}}                                          ->> grande|||
TEST: avec {{grandes}} {{industrie}}                                        ->> grande|||industries
TEST: sur {{petite}} {{pied}}                                               ->> petit|||
TEST: Après être demeurée assise pendant quelque temps, elle se leva
TEST: ils choisissent de devenir indépendants


__gn_de_manière_façon_1m__
    [de|d’]  [manière|façon]  @:A.*:(?:m|f:p)¬:[GM]
        <<- !2>>
        <<- /gn/ -3>> =suggFemSing(\3)                                                              && Accord erroné avec “\2” : l’adjectif devrait être au féminin singulier.

TEST: il fit cela tans de fois et avec brio de manière {{élégant}}.         ->> élégante
TEST: elle s’y prit avec cet individu de façon {{charmant}}.                ->> charmante|charmée
TEST: de manière {{élégant}}                                                ->> élégante
TEST: de façon {{idiot}}                                                    ->> idiote
TEST: de manière {{légal}}                                                  ->> légale


## Conjonctions
__gn_nom_adj_2m__
    [que|qu’|lorsque|lorsqu’|puisque|puisqu’|quoique|quoiqu’]  @:[NA]¬:(?:Y|V0|W|G)  @:[NA]¬*
        <<- /gn/ \3.islower() >>>
        <<- /gn/ ( (morph(\2, ":m", ":[fe]") and morph(\3, ":f", "*")) or (morph(\2, ":f", ":[me]") and morph(\3, ":m", "*")) )
................................................................................
        -3>> =switchGender(\3)                                                                      && Accord de genre erroné avec “\2”.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 && Accord de genre erroné avec “\3”.
        <<- /gn/ ( (morph(\2, ":p", ":[si]") and morph(\3, ":s", "*")) or (morph(\2, ":s", ":[pi]") and morph(\3, ":p", "*")) )
            and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      && Accord de nombre erroné avec “\2”.
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    && Accord de nombre erroné avec “\3”.

TEST: en tant que dictionnaire {{personnelle}}.                             ->> personnel
TEST: séducteur invétéré puisque {{belle}} {{homme}} et beau parleur        ->> beau|||
TEST: grande est la déception lorsque {{petite}} {{illusions}} tombent      ->> petites|||illusion
TEST: c’est à Montluçon que fut conçue « la Bourbonnaise », l’une des mères des locomotives en France, surnommée « la bonne à tout faire du réseau ».
TEST: Ici que fut remisée la dernière motrice à vapeur.
TEST: Le modèle « post-démocratique européen » ou le triomphe de « l’empire normatif » et alter-libéral qu’est devenue l’Union européenne.
TEST: C’est la solution qu’a adoptée le gouvernement.
TEST: C’est ce que dit Brune Poirson.
TEST: avoir des positions plus radicales que juste humanitaires
TEST: Que sous couvert d’économie du partage, chacun puisse s’exploiter un maximum !
................................................................................
TEST: une de {{leur soirée}}                                    ->> leurs soirées


## divers
__gn_de_telle_sorte__
    de [tel|tels|telles] [sorte|sortes|sortent]
    de telle [sortes|sortent]
        <<- /loc/ ->> de telle sorte                                                                && Locution “de telle sorte”.

TEST: {{de telles sorte}}                                                   ->> de telle sorte
TEST: tu vas faire {{de telles sortes}} qu’on ne nous retrouve jamais.      ->> de telle sorte


!!
!!
!!!! Groupe nominal (accord avec déterminant suivant le groupe)                                   !!
!!
!!
................................................................................
    il  n’ y  >avoir  qu’        [un|une]  ?[seul|seule]¿  *WORD  [de|d’]  $:Q¬:G
    il  y     >avoir             $:B                       *WORD  [de|d’]  $:Q¬:G
    il  n’ y  >avoir  [que|qu’]  $:B                       *WORD  [de|d’]  $:Q¬:G
        <<- /bs/ --2:-1>> \-1                           && Usage populaire. Le déterminant “de” est superflu. Exemple : « Il y a un fichier modifié » à la place de « il y a un fichier de modifié ».
        <<- ~-2:-1>> *
        <<- !-1>>

TEST: il y a un fichier {{de modifié}}.                                             ->> modifié
TEST: il y a un seul fichier {{de modifié}}.                                        ->> modifié
TEST: il n’y a que deux fichiers {{de modifiés}}.                                   ->> modifiés


## se rendre compte
__ppas_s_être_rendu_compte__
    >être  rendu  compte
        <<- !2>>

................................................................................
    >avoir du mal à         ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
    n’ >avoir qu’ à         ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
    de [façon|manière] à    ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
    enclin à                ?[le|l’|la|leur|les|nous|vous|lui]¿     ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ morph0(\-1, ":V", ":M") and not (\-1.endswith("ez") and value(>1, "|vous|"))
        --1>> =suggVerbInfi(\-1)                                                                    && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.

TEST: de manière à {{obligé}} ces gens                                          ->> obliger
TEST: ils ont intérêt à {{obligés}} ces gens                                    ->> obliger
TEST: Tous ceux qui ont du mal à {{obligé}} ces gens                            ->> obliger
TEST: elles n’ont qu’à la {{brimée}} un peu plus                                ->> brimer


#### Infinitif après “par”, “pour”, “sans”

__infi_par_pour_sans__
    [par|pour|sans]  [ne|n’|me|m’|te|t’|se|s’|en|y]                                       ~..(?:ée?s?|ez|ai[st]?)$
    [par|pour|sans]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  ~..(?:ée?s?|ez|ai[st]?)$
................................................................................

    sans pour autant ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ~..(?:ée?s?|ez|ai[st]?)$
    sans pour autant [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         ~..(?:ée?s?|ez|ai[st]?)$
    sans pour autant [le|la|l’|les]                  [lui|leur|en|y]             ~..(?:ée?s?|ez|ai[st]?)$
    sans pour autant [lui|leur|y]                    en                          ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ morph(\-1, ":V1.*:(?:Q|[123][sp])") --1>> =suggVerbInfi(\-1)                     && Après la préposition “\1”, le verbe devrait être à l’infinitif.|https://fr.wiktionary.org/wiki/sans_pour_autant

TEST: finira sans se {{doutait}} du problème généré                             ->> douter
TEST: par nous en {{douté}}                                                     ->> douter
TEST: commence par {{commencé}} ton boulot, ça ira peut-être mieux              ->> commencer
TEST: il y va pour s’en {{donnait}} à cœur joie.                                ->> donner
TEST: elle s’en va sans {{donné}} de motif                                      ->> donner
TEST: pour {{donnait}} de l’espoir                                              ->> donner
TEST: pour {{mangé}} à sa faim, il faudra chasser.                              ->> manger
TEST: C’est pour {{attaqué}} la journée.                                        ->> attaquer
TEST: pour nous {{chassez}} de chez lui                                         ->> chasser
TEST: sans {{mangé}} à sa faim, il faudra chasser.                              ->> manger
TEST: C’est sans {{attaqué}} la journée.                                        ->> attaquer
TEST: sans nous {{chassez}} de chez lui                                         ->> chasser
TEST: sans {{dérogez}} aux règles en vigueur dans cet établissement             ->> déroger
TEST: sans pour autant la {{vouée}} aux gémonies.                               ->> vouer
TEST: Il faut être sans préjugés.
TEST: je craignais d’être pour toujours abandonnée
TEST: ils tiennent pour sacrées les lois de la robotique


__infi_commencer_finir_par__
    [>commencer|>finir]  par  ?[le|l’|la|leur|les]¿  @:V¬:[NGMY]
................................................................................
    [de|d’] [me|m’|te|t’|se|s’]  [le|la|l’|les|en|y]                             @:V¬:Y
    [de|d’] [nous|vous]          [le|la|l’|les|en|y]                             @:V¬:[YP]
    [de|d’] [le|la|l’|les]       [lui|leur|en|y]                                 @:V¬:Y
    [de|d’] leur                 en                                              @:V¬:Y
    [de|d’] lui                  en                                              @:V¬:[YP]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                             && Après “de”, le verbe devrait être à l’infinitif.

    [de|d’]  @:V1.*:(?:Q|Ip.*:2p)¬:N
        <<- /infi/ not \2[0:1].isupper() and not morph(<1, ">(?:en|passer|qualifier)/") and not morph(\2, ">(?:fieffer|sacrer)/") and not tag(<1, "_rien_")
            and not before("(?i)(?:quelqu(?:e chose|’une?)|qu’y a-t-il |\\b(?:l(?:es?|a)|nous|vous|me|te|se) trait|personne|points? +$|autant +$|ça +|rien d(?:e |’)|rien(?: +[a-zéèêâîûù]+|) +$)")
            and not tagbefore(\1, "_ceque_")
        -2>> =suggVerbInfi(\2)                                                          && Le verbe devrait être à l’infinitif.

TEST: d’en {{parlé}} sans cesse                                                             ->> parler
TEST: cela suffit de les {{aimait}}                                                         ->> aimer
TEST: de ne leur en {{avancé}} que le nécessaire.                                           ->> avancer
TEST: de l’y {{poussé}}                                                                     ->> pousser
TEST: je suis certain d’en {{choque}} plusieurs.                                            ->> choquer
TEST: elle était capable de la {{trouvait}} où qu’elle soit.                                ->> trouver
TEST: de me le {{facturez}}                                                                 ->> facturer
TEST: suffit de {{la}} {{finit}}                                                            ->> là|||finir
TEST: Il s’agit de me {{donnait}} tout ça.                                                  ->> donner
TEST: j’étais incapable de m’{{orientait}} dans la bonne direction.                         ->> orienter
TEST: ils étaient susceptibles de m’y {{trouvaient}}                                        ->> trouver
TEST: sa façon de {{nettoyez}} était inefficace.                                            ->> nettoyer
TEST: elle a délibérément omis de les {{inclurent}}.                                        ->> inclure
TEST: d’{{mangé}} je ne suis pas capable                                                    ->> manger
TEST: elles n’ont rien touché de souillé
TEST: elle s’engage de ne les lui donner qu’en dernier recours.
TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: de leur plus grand fils, ils attendent beaucoup.
TEST: de n’importe quelle manière
TEST: un libéralisme trop « individualiste » s’est transformé en de supposées demandes de droits spécifiques
TEST: soit 40 % de plus comparé au quinquennat précédent
................................................................................
TEST: nombre d’entre nous le faisons déjà
TEST: un de perdu, dix de retrouvés
TEST: une de perdue, dix de retrouvées
TEST: 25 € de gagnés


__infi_verbe_de_verbe__
    [>accuser|>arrêter|>cesser|>choisir|>commander|>continuer|>craindre|>décider|>défendre|>demander]   [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  *WORD
    [>envisager|>essayer|>éviter|>exiger|>interdire|>jurer|>omettre|>oublier]                           [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  *WORD
    [>permettre|>prévoir|>promettre|>refuser|>suggérer|>tenter]                                         [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  *WORD
        <<- /infi/ not morph(\1, ":N") and (morph0(\-1, ":V1.*:Q", ":(?:M|Oo)") or morph0(\-1, ":[123][sp]", ":[MNGA]"))
        --1>> =suggVerbInfi(\-1)                                                                    && Après “\1 de”, le verbe devrait être à l’infinitif.

TEST: cessez d’{{anesthésié}} ces gens !                                                    ->> anesthésier
TEST: arrête d’y {{consacré}} autant de temps.                                              ->> consacrer
TEST: Il tentait de {{raisonné}} en homme libre                                             ->> raisonner
TEST: Le menu Format contient de nombreuses commandes de mise en forme.
TEST: Le commandant de zone…
TEST: À quoi rime de décider de mesures écologiques d’en haut
TEST: L’accès au cannabis thérapeutique où à ses dérivés permettrait de plus aux autorités de santé d’apporter aux malades les garanties nécessaires quant à la qualité, aux concentrations, ainsi qu’aux modalités d’obtention et d’utilisation optimale.
TEST: l’industrie est également touchée, avec « des pertes de commandes de véhicules chez Renault et chez Peugeot »
TEST: les deux frères ennemis accusant en outre d’authentiques fragilités politiques et sociétales internes.

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

__infi_suffire_de__
    [suffit|suffisait|suffira|suffirait]                [de|d’]  @:V¬:[YMNWG]
    >avoir  suffi                                       [de|d’]  @:V¬:[YMNWG]
    [suffit-il|suffisait-il|suffira-t-il|suffirait-il]  [de|d’]  @:V¬:[YMNWG]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après “suffire”, le verbe doit être à l’infinitif.

TEST: il suffit de {{pensé}} à ça pour déprimer.                                            ->> penser
TEST: il suffit de {{mangé}} sain pour aller mieux.                                         ->> manger
TEST: il ne suffit pas de pensées positives pour calmer son anxiété.
TEST: il suffit de cela.


__infi_qqch_de__
    afin                                        [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  ~..ée?s?$
    avant ?même¿                                [de|d’]  ?[le|l’|la|leur|les|nous|vous|lui]¿  ~..ée?s?$
................................................................................
    rien d’ autre à faire [que|qu’|sinon] ?[ne|n’]¿  [lui|leur|y]                    en                         ~..(?:ée?s?|ez|ai[ts]?)$
        <<- /infi/ morph(\-1, ":V", ":M") --1>> =suggVerbInfi(\-1)                      && Après “rien à faire que”, mettez le verbe à l’infinitif.

TEST: rien à faire sinon {{expliqué}} ce qu’il faisait là           ->> expliquer
TEST: rien d’autre à faire que lui {{donnait}} à manger             ->> donner


__infi_nous_vous_verbe!3__
    nous  ~ée?s?$
        <<- /infi/ space(\1, 1, 3) and morph(\2, ":Q") and not morph(<1, "V0.*:1p")
        -2>> =suggVerbInfi(\2)                                                          && Après “\1”, le verbe ne devrait pas être un participe passé.

    vous  ~ée?s?$
        <<- /infi/ space(\1, 1, 3) and morph(\2, ":Q") and not morph(<1, "V0.*:2p")
        -2>> =suggVerbInfi(\2)+"|"+suggVerbTense(\2, ":Ip", ":2p")                      && Après “\1”, le verbe ne devrait pas être un participe passé.

TEST: oui, pourquoi pas, puisque nous {{intéressé}} à la question ne suffit pas à faire de nous des experts.   ->> intéresser
TEST: il faut croire que vous {{mangé}} ne nous nourrirait guère                                               ->> manger|mangez
TEST: Sommes-nous désespérés à ce point ?
TEST: Vous d’habitude si réservée.


__infi_y_verbe!3__
    y ~ée?s?$
        <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _                                 && Le verbe ne devrait pas être un participe passé.
................................................................................
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  [ne|n’]     [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]              [en|me|m’|te|t’|se|s’|nous|vous|lui|y]                    @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]       @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]           @:V¬:[YMWG]
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  ?[ne|n’]¿   [lui|leur]                      en                        @:V¬:[YMWG]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après le verbe “falloir”, le verbe devrait être à l’infinitif.

TEST: il faut sans cesse {{persévéré}}                                                      ->> persévérer
TEST: Il faudrait l’{{essayé}}.                                                             ->> essayer
TEST: Il faudra ne {{touché}} qu’aux extrémités.                                            ->> toucher
TEST: faut-il {{pensé}} à ces choses-là encore et encore ?                                  ->> penser
TEST: il faut n’{{estimait}} que la valeur de nos actes                                     ->> estimer
TEST: il fallait bien cela pour nous épargner
TEST: une faille s’est ouverte sous nos pieds
TEST: il faut en moyenne 1000 litres d’eau pour produire un kilo de céréales
TEST: Xi Jinping a réaffirmé en janvier dernier qu’il utiliserait s’il le faut la force militaire
TEST: Comme il a fallu la mort d’un homme
TEST: Et il faut en fait, pour les expliquer, tenir compte de trois éléments complémentaires.

................................................................................
        --1>> =suggVerbInfi(\-1)                                                                    && Après le verbe “faire”, le verbe devrait être à l’infinitif.

    de  ?[nous|vous|lui|les|le|la|l’]¿  faire   ~(?:ée?s?|ez)$
    faire faire                                 ~(?:ée?s?|ez)$
        <<- /infi/ morph(\-1, ":V", ":M")
        --1>> =suggVerbInfi(\-1)                                                                    && Après le verbe “faire”, ce verbe devrait être à l’infinitif.

TEST: elle fit peu {{mangé}} les enfants                                                    ->> manger
TEST: Tu fais {{décoloré}} tes cheveux ?                                                    ->> décolorer
TEST: quelqu’un fait {{travaillé}} ces gens en secret.                                      ->> travailler
TEST: il le fait {{pensé}} à son avenir.                                                    ->> penser
TEST: me faire constamment {{laminé}} au jeu, ça finit par me fâcher.                       ->> laminer
TEST: Je suis fatigué de vouloir {{essayé}} d’y remédier.                                   ->> essayer
TEST: fatigué de faire {{testé}} des produits de qualité douteuse ?                         ->> tester
TEST: ce sont des faits constestés.
TEST: c’est un fait reconnu.
TEST: fait pourtant avéré et corroboré par le même sondage.
TEST: ce fait rapporté par des témoins au-delà de tout soupçon n’est pas contestable.
TEST: il y a quand même quelques faits caractérisés permettant de faire le raccord
TEST: la tonalité des soutiens traditionnels s’est faite plus nuancée.
TEST: sa simple présence les a fait reculer
................................................................................
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  ~..(?:ée?s?|ez|ai[ts]?)$
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]       ~..(?:ée?s?|ez|ai[ts]?)$
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]           ~..(?:ée?s?|ez|ai[ts]?)$
    mieux  ?[ne|n’]¿  >valoir  ?[ne|n’]¿   [lui|leur|y]                    en                        ~..(?:ée?s?|ez|ai[ts]?)$
        <<- /infi/ morph0(\-1, ":V1.*:(?:Q|[123][sp])", ":[GM]")
        --1>> =suggVerbInfi(\-1)                                                                    && Après “mieux vaut…”, le verbe devrait être à l’infinitif.

TEST: Mieux vaut {{consacré}} son temps à des occupations utiles.                                   ->> consacrer
TEST: Mieux ne vaut pas {{arrivé}} en retard.                                                       ->> arriver
TEST: il eût mieux valu {{oublié}} cette affaire plutôt que réveiller ce dragon endormi.            ->> oublier


__infi_verbes__
# regarder, écouter, ouïr
    [>faillir|>oser]  ~..(?:ée?s?|ez)$
        <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M")
        -2>> =suggVerbInfi(\2)                                                                      && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.
................................................................................

!!!! Participes présents                                                                          !!

__conj_participe_présent__
    [ne|lui|me|te|se|nous|vous]  ~ants$
        <<- /infi/ morph(\2, ":A") -2>> =\2[:-1]                                        && Un participe présent est invariable.|https://fr.wiktionary.org/wiki/participe_pr%C3%A9sent

TEST: nous {{épuisants}} à la tâche pour des clopinettes, nous défaillîmes.                 ->> épuisant



!!!! Participes passés                                                                            !!

__ppas_censé_être_adj!6__
    censé  être  @:[AQ].*:[fp]¬:(?:G|[me]:[si])
................................................................................
        <<- /conf/ morph(\3, ":[NA].*:[pi]", ":G") -4>> ont         && Confusion probable. Accord avec “\2 \3…”. Pour le verbe avoir à la 3ᵉ personne du pluriel, écrivez “ont”.

    <start>  [certains|certaines|ceux-ci|ceux-là|celles-ci|celles-là|plusieurs|maints|maintes]  on  @:[QDRY]¬:(?:Ov|3s)
        <<- /conf/ -3>> ont                                         && Confusion probable. Accord avec “\2”. Pour le verbe avoir à la 3ᵉ personne du pluriel, écrivez “ont”.

TEST: les Allemands {{on}} {{commencé}} la partie.
TEST: ces emmerdeurs {{on}} {{une}} chance de cocu.

TEST: vos chiens {{on}} {{manger}} la pâtée du chat.
TEST: certaines {{on}} {{mangé}} du lion
TEST: ces gens on les connaît de vue.


## ou / où
__conf_det_nom_où_pronom__
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [je|j’|tu|il|on|ils]
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [elle|nous|vous|elles|iel|iels]
        || [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|lui|nous|vous|leur]
................................................................................


## 2pl
__conj_vous2__
    [<start>|,|(]  vous  qui  @:V¬:(?:2p|G)
        <<- /conj/ --1>> =suggVerb(\-1, ":2p")                          && Conjugaison erronée. Accord avec “\2”. Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: vous qui {{donner}} du temps                                          ->> donnez|donniez|donnâtes
TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives          ->> avanciez
TEST: vous qui {{décider}} de l’avenir du peuple.                           ->> décidez|décidiez|décidâtes
TEST: vous “étaler” sera notre plus grande joie.
TEST: je vous donnais votre dû, vous payais mieux que quiconque et vous me faites un procès.
TEST: Du passé chez votre ami vous parvenaient les meilleurs souvenirs.



!!
................................................................................
        <<- /conj/ --1>> êtes|étiez|serez|seriez                            && Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conj/ -2>> vous,                                               && S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer du sujet les personnes que vous désignez.

    s’  ?[en|y]¿  >avoir
        <<- /conj/ morph(\-1, ":[123]p") --1>> sont|étaient|seront|seraient && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conj/ __else__ --1>> est|était|sera|serait                     && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.

TEST: je m’y {{avais}} habitué.                                             ->> suis|étais|serai|serais
TEST: tu t’{{avais}} donné du temps pour finir ton mémoire.                 ->> es|étais|seras|serais
TEST: {{nous}} nous {{avons}} donné le temps                                ->> nous,|||sommes|étions|serons|serions
TEST: {{vous}} vous {{avez}} perdu toute notion de décence.                 ->> vous,|||êtes|étiez|serez|seriez
TEST: s’en {{ait}} trop                                                     ->> est|était|sera|serait
TEST: s’en {{aient}} assez                                                  ->> sont|étaient|seront|seraient
TEST: Ce qu’il a tu t’a donné la nausée.


!!
!!
!!!! Participes passés: se +être +verbe                                                           !!
!!
................................................................................
TEST: s’efforceront-iels de sembler {{instruit}} des faits                          ->> instruits
TEST: iels sont légion.
TEST: iels ne paraissent pas avoir été légion, mais l’effet eut autant de force que si iels avaient été des millions.
TEST: iels sont devenus faibles.


__ppas_avoir_été__
    l’  homme   [que|qu’] [je|j’|tu|il|iel]           >avoir   été $:3s
    la  femme   [que|qu’] [je|j’|tu|elle|iel]         >avoir   été $:3s
    l’  enfant  [que|qu’] [je|j’|tu|il|elle|iel]      >avoir   été $:3s
    les hommes  [que|qu’] [nous|vous|ils|iels]        >avoir   été $:3p
    les femmes  [que|qu’] [nous|vous|elles|iels]      >avoir   été $:3p
    les enfants [que|qu’] [nous|vous|ils|elles|iels]  >avoir   été $:3p
        <<- !-1>> ppas

    >avoir  été  *WORD
        <<- /ppas/ morph(\3, ":[123]s", ":[GNAQWY]") -3>> =suggVerbPpas(\3)                     && Après “avoir été”, il faut un participe passé.
................................................................................


__ppas_ceque_pronom_avoir__
    ce  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|ça|cela|ceci]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|[me]:[si])
        <<- /ppas/ --1>> =suggVerbPpas(\-1, ":m:s")
        && Accord avec le COD “ce”. Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: ce que ça a {{donnée}}                                        ->> donné
TEST: ce qu’il leur a {{données}}                                   ->> donné



!!!! Participes passés: du / dû                                                                   !!

__ppas_avoir_dû_vinfi__
    >avoir  [du|dus|due|dues]  [le|la|les|l’|me|m’|te|t’|se|lui|s’|nous|vous|leur|$:Y]
................................................................................

TEST: cet été ont-ils {{mentionnés}} la sécheresse                              ->> mentionné
TEST: quand ont-ils {{donner}} satisfaction                                     ->> donné
TEST: qui a-t-elle {{connut}}                                                   ->> connu
TEST: qui a-t-on {{reconnue}}                                                   ->> reconnu
TEST: Avais-je {{laissés}} ces notes sur la table ?                             ->> laissé
TEST: Aurait-elle {{suffit}}                                                    ->> suffi
TEST: Avez-vous {{signez}} le contrat ?                                         ->> signé
TEST: Ont-ils {{signer}} le contrat ?                                           ->> signé
TEST: Ai-je déjà {{signez}} le contrat ?                                        ->> signé
TEST: A-t-il déjà {{signée}} le contrat ?                                       ->> signé
TEST: Avait-il {{marcher}} seul ?                                               ->> marché
TEST: Avez-vous {{signez}} le contrat ?                                         ->> signé
TEST: Ont-ils {{finit}} le travail ?                                            ->> fini
TEST: Ai-je déjà {{reconnut}} mes torts ?                                       ->> reconnu
TEST: N’avais-tu pas crainte de tout perdre ?
TEST: Combien de bêtes n’as-tu pas déjà massacrées
TEST: Combien de bêtes as-tu déjà massacrées
TEST: A-t-il Pierre pour ami ?
TEST: Quel lien y a-t-il entre donner et recevoir ?


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


__ppas_les_avoir_pronom__
    les  /_VCint_  *WORD
        <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:s|3[sp])", ":[GWpi]")
        -3>> =suggVerbPpas(\3, ":p")                        && Accord avec le COD “les” : le participe passé “\3” devrait être au pluriel (et accordé en genre).

TEST: les avais-tu {{acheté}} là-bas ?                                          ->> achetés|achetées
TEST: les ont-ils {{détecté}} ?                                                 ->> détectés|détectées
TEST: les avaient-ils {{détectez}} ?                                            ->> détectés|détectées


!!
!!
!!!! Participes passés: Accords avec l’adjectif précédant le pronom                               !!
!!
!!

__ppas_adj_accord_je_tu_iel__
    <start>  *WORD  ?,¿  [je|j’|tu|iel]
        <<- /ppas/ morph(\2, ":A.*:p", ":[GEMWPsi]") and not tag(\2, "_exctx_")
        -2>> =suggSing(\2)                                                      && Si cet adjectif se réfère au pronom « \-1 », l’adjectif devrait être au singulier (et accordé en genre).

TEST: {{Découragés}}, je suis parti.                                            ->> Découragé


__ppas_adj_accord_il__
    <start>  *WORD  ?,¿  il
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|")  and not tag(\2, "_exctx_") and morph(\2, ":A.*:[fp]", ":(?:G|E|M1|W|P|m:[si])")
            and not morph(>1, ">falloir/") and not after("^ +(?:y (?:a|aura|avait|eut)|d(?:ut|oit|evait|evra) y avoir|s’agi(?:ssait|t|ra))[, .]")
        -2>> =suggMasSing(\2)                                                   && Si cet adjectif se réfère au pronom « il », l’adjectif devrait être au masculin singulier.

TEST: — {{Déçue}}, il s’en est allé.                                            ->> Déçu
TEST: — Désolée, il va partir bientôt.
TEST: Lancés il y a plus de 13 ans, le 14 février 2001, ces outils
TEST: Si délégués il doit y avoir, ce sera uniquement des gens choisis parmi nous.
TEST: Étudiante, il s’agissait de s’inventer des parents riches.


__ppas_adj_accord_elle__
    <start>  *WORD  ?,¿  elle
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|") and not tag(\2, "_exctx_") and morph(\2, ":A.*:[mp]", ":(?:G|E|M1|W|P|f:[si])")
        -2>> =suggFemSing(\2)                                                   && Si cet adjectif se réfère au pronom « elle », l’adjectif devrait être au féminin singulier.

TEST: — {{Déçu}}, elle s’en est allée.                                          ->> Déçue
TEST: Parlant de réussite, elle se donne bonne conscience en y rajoutant de la bienveillance.


__ppas_adj_accord_ils__
    <start>  *WORD  ?,¿  ils
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|") and not tag(\2, "_exctx_") and morph(\2, ":A.*:[fs]", ":(?:G|E|M1|W|P|m:[pi])")
        -2>> =suggMasPlur(\2)                                                   && Si cet adjectif se réfère au pronom « ils », l’adjectif devrait être au masculin pluriel.

TEST: Vraiment {{soucieuse}}, ils sont.                                         ->> soucieux
TEST: Très vite, ils sont partis
TEST: Une fois terminé, ils sont revenus.
TEST: Désolé, ils ne viendront pas.
TEST: Pire, ils piétinent parfois les droits humains.
TEST: Bref, ils veulent des services publics là où ces derniers font de plus en plus défaut.


__ppas_adj_accord_elles__
    <start>  *WORD  ?,¿  elles
        <<- /ppas/ not value(\2, "|bref|désolé|désolée|pire|") and not tag(\2, "_exctx_") and morph(\2, ":A.*:[ms]", ":(?:G|E|M1|W|P|f:[pi])")
        -2>> =suggFemPlur(\2)                                                   && Si cet adjectif se réfère au pronom « elles », l’adjectif devrait être au féminin pluriel.

TEST: Absolument {{heureux}}, elles exultèrent de joie.                         ->> heureuses
TEST: quoique heureuse, ils la crurent tourmentée.


__ppas_adj_accord_iels__
    <start>  *WORD  ?,¿  iels
        <<- /ppas/ morph(\2, ":A.*:s", ":[GEMWPpi]") and not tag(\2, "_exctx_")
        -2>> =suggPlur(\2)                                                      && Si cet adjectif se réfère au pronom « iels », l’adjectif devrait être au pluriel.

TEST: {{Découragé}}, iels sont partis.                                          ->> Découragés


!!
!!
!!!! Impératif !                                                                                  !!
!!
!!
................................................................................
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  [ai|ait|aies]
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          [ai|ait|aies]
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              [ai|ait|aies]
    <start>  [ne|n’]  [lui|leur]               en                           [ai|ait|aies]
    <start>  [ai|ait|aies]
        <<- /imp/ not value(>1, "|je|") --1>> aie                                   && S’il s’agit d’un impératif, écrivez “aie”.

TEST: {{Ait}} la foi !                                                              ->> Aie
TEST: n’{{ait}} pas peur de ces gens-là.                                            ->> aie


# aller
__imp_aller__
    <start>  >allée  ,
        <<- /imp/ -2>> allez                                                        && S’il s’agit d’un impératif, écrivez “allez”.

    <start>  >allée  *WORD
        <<- /imp/ morph(\3, ":[MYO]", ":A|>et/") -2>> allez                         && S’il s’agit d’un impératif, écrivez “allez”.

    <start>  [allé|allés]
        <<- /imp/ -2>> allez                                                        && S’il s’agit d’un impératif, écrivez “allez”.

TEST: {{Allée}}, on y va !                                                          ->> Allez
TEST: {{Allée}} prendre une carte                                                   ->> Allez
TEST: — {{Allé}} prendre une cuite.                                                 ->> Allez
TEST: Allées et venues
TEST: Allées pavées et bordées de fleurs innombrables.
TEST: Allées qu’on nettoyait tous les jours.


    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  vas
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          vas
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              vas
    <start>  [ne|n’]  [lui|leur]               en                           vas
    <start>  vas
        <<- /imp/ not value(>1, "|tu|") --1>> va                                   && S’il s’agit d’un impératif, pas de “s”.

TEST: {{Vas}} lui mettre une branlée.                                                       ->> Va
TEST: {{Vas}} au diable !                                                                   ->> Va
TEST: N’y {{vas}} pas                                                                       ->> va
TEST: — Va-t’en ! [Firefox]


# verbes du 1ᵉʳ et du 3ᵉ groupe en -e
__imp_verbe_groupe1__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+es$
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+es$
................................................................................
        <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":G") and not value(>1, "|tu|")
        --1>> =\-1[:-1]                                                             && S’il s’agit d’un impératif, pas de “s”.

    <start>  ~\w\w+es$
        <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":[GNAM]") and not value(>1, "|tu|")
        --1>> =\-1[:-1]                                                             && S’il s’agit d’un impératif, pas de “s”.

TEST: {{Apportes}} ton fric à cet homme.                                                    ->> Apporte
TEST: N’{{abandonnes}} pas si vite.                                                         ->> abandonne
TEST: Ne {{demandes}} rien, tais-toi.                                                       ->> demande
TEST: — {{Abandonnes}}.                                                                     ->> Abandonne
TEST: {{Écartes}} de moi cette coupe.                                                       ->> Écarte
TEST: Ne {{donnes}} pas autant.                                                             ->> donne
TEST: N’{{insistes}} pas.                                                                   ->> insiste
TEST: Castres est une belle ville.
TEST: Limoges aussi.


# verbes du 2ᵉ et du 3ᵉ groupe en -t
__imp_verbe_groupe2_groupe3_t__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+t$
................................................................................
            and not value(\-1, "|provient|")
            and not (value(\-1, "|vient|dit|surgit|survient|périt|") and morph(>1, ":(?:[MDR]|Oo)|>[A-Z]/"))
            and morph(\-1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire|para[îi]tre)/") and analyse(\-1[:-1]+"s", ":E:2s")
        --1>> =\-1[:-1]+"s"                                                         && S’il s’agit d’un impératif, la terminaison est “s”, non “t”.

TEST: {{Finit}} ton assiette.                                           ->> Finis
TEST: Ne {{pourrit}} pas l’ambiance.                                    ->> pourris
TEST: Ne {{finit}} pas ce devoir.                                       ->> finis
TEST: {{Finit}} cette tarte.                                            ->> Finis
TEST: Ne me {{choisit}} pas.                                            ->> choisis
TEST: ne l’y {{brandit}} pas.                                           ->> brandis
TEST: Ne {{vient}} que lorsque je te le dirai.                          ->> viens
TEST: Ne l’y {{contraint}} pas                                          ->> contrains
TEST: {{Vient}}.                                                        ->> Viens
TEST: {{Sert}} le plat.                                                 ->> Sers
TEST: Suffit de s’en servir.
TEST: Et ne doit pas être rejeté dans les limbes.
TEST: Vient s’ajouter à ce contexte la perception, partagée par beaucoup, du caractère fortement menaçant de l’environnement économique et géopolitique.
TEST: À son bord vient d’embarquer un nouvel équipage
TEST: Vient ensuite Christelle, qui ignore comment se sortir d’affaire.
TEST: Vient ensuite l’emménagement dans une maison isolée.
................................................................................

    <start>  ~\w\w+d$
        <<- /imp/ not value(>1, "|il|elle|on|")
            and not ( value(\-1, "|répond|") and (morph(>1, ":[MD]|>[A-Z]/") or value(>1, "|l’|d’|")) )
            and morph(\-1, ":V3.*:Ip.*:3s", ":[GNA]")
        --1>> \-1s                                                                  && S’il s’agit d’un impératif, ajoutez un “s”.

TEST: {{Prend}} le chemin de droite.                                    ->> Prends
TEST: N’{{attend}} pas qu’elle vienne.                                  ->> attends
TEST: Ne me {{prend}} pas pour un idiot                                 ->> prends
TEST: Ne l’{{attend}} pas                                               ->> attends
TEST: Ne m’y {{attend}} pas                                             ->> attends
TEST: {{Attend}} la correction.                                         ->> Attends
TEST: {{Répond}}.                                                       ->> Réponds
TEST: — Pour ma part, répond P., je crois que tout va bien.


!!
!!
!!!! Impératif : traits d’union manquants                                                         !!
................................................................................
            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

    [<start>|,|(]  *WORD  moi
        <<- /imp/ space(\2, 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: {{Apporte moi}} ce dictionnaire.                                              ->> Apporte-moi
TEST: {{Apportez moi}} ce dictionnaire                                              ->> Apportez-moi
TEST: tu me dois bien ça, {{Achèves moi}}, je t’en prie.                            ->> Achève-moi
TEST: explique ça mieux, {{Définit moi}} ça en termes intelligibles.                ->> Définis-moi
TEST: Viens moi je m’ennuie.
TEST: je suis moi et tu es toi.


__imp_union_toi__
    *WORD  toi
        <<- /imp/ space(\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

    [<start>|,|(]  *WORD  toi
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/")
        -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-toi"   && 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: {{Donne toi}} du temps.                                                       ->> Donne-toi
TEST: j’en ai marre, {{instruit toi}} avant de parler.                              ->> instruis-toi


__imp_union_nous_vous_lui__
    *WORD  [nous|vous|lui]
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>(?:en|y)/") and morph(<1, ":Cc|<start>|>,")
        ->> \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

    [<start>|,|(]  *WORD  [nous|vous|lui]
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and not morph(>1, ":Y")
        -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-"+\3   && 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: {{Donne nous}} du café.                                                       ->> Donne-nous
TEST: si ça se peut, {{apprend nous}} à réussir.                                    ->> apprends-nous
TEST: Ce que Jeanne, femme de Patrick, veut vous dire de sa vie.


__imp_union_y__
    *WORD  y
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>en/") and morph(<1, ":Cc|<start>|>,") >>>
        <<- /imp/ \1.endswith("e") or \1.endswith("E")  ->> \1s-\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
        <<- /imp/ __else__ ->> \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

TEST: {{Donne y}} du tien.                                                          ->> Donnes-y
TEST: Super, {{meurs y}} avec brio                                                  ->> meurs-y


__imp_union_les__
    *WORD  les
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp])|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") and morph(<1, ":Cc|<start>|>,")
        ->> \1-les                                      && 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
................................................................................


__imp_laisser_le_la_les_infi__
    [laisse|laissons|laissez]  [le|la|les]  *WORD
        <<- /imp/ space(\1, 1, 1) and morph(\3, ":(?:Y|Ov)", ":[NAB]") and not morph(<1, ":O[sv]")
        -1:2>> \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

TEST: {{Laisse les}} entrer…                                    ->> Laisse-les
TEST: {{Laissez la}} venir…                                     ->> Laissez-la
TEST: {{laisse le}} faire                                       ->> laisse-le
TEST: Laisse les chiens tranquilles
TEST: Laissez la peste leur pourrir la vie encore quelque temps.
TEST: le coût humain de la guerre qu’il a laissé les submerger.
TEST: je vous laisse les consulter
TEST: Je les laisse la découvrir !


................................................................................
__imp_apostrophe_m_en__
    ~\w-m-en$
        <<- /imp/ ->> =\1[:-3]+"’en"                    && Dans cette forme verbale composée, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

    m-en
        <<- /imp/ ->> m’en                              && Ici, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: {{donne-m-en}} encore                                     ->> donne-m’en
TEST: viens {{m-en}} donner                                     ->> m’en


__imp_apostrophe_t_en__
    ~\w-t-en$
        <<- /imp/ not value(>1, "|guerre|")
        ->> =\1[:-3]+"’en"                              && Dans cette forme verbale composée, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

    t-en
        <<- /imp/ not (value(<1, "|va|") and value(>1, "|guerre|"))
        ->> t’en                                        && Ici, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: {{accorde-t-en}} plus.                                    ->> accorde-t’en
TEST: {{t-en}} lasser, impossible                               ->> t’en


__imp_union_m_t_en_y__
    *WORD  [m’|t’]  [en|y]
        <<- /imp/ space(\1, 1, 1) and morph(\1, ":E", ":[MG]") and morph(>1, ":|<end>|>,", ":(?:Y|[123][sp])")
        ->> \1-\2\3                                     && 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: {{donne m’en}}, s’il te plaît.                            ->> donne-m’en
TEST: Mélanie t’en donne souvent.


__imp_union_verbe_pronom_moi_toi_lui__
    [/-le|/-la|/-les]  [moi|toi]
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E")
        ->> \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

TEST: les analyses, {{donne-les moi}}                           ->> donne-les-moi
TEST: {{Donne-les lui}}.                                        ->> Donne-les-lui


__imp_union_verbe_pronom_nous_vous__
    [/-le|/-la|/-les]  [nous|vous|lui|leur]
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":Y")
        ->> \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

TEST: {{apporte-les nous}}                                      ->> apporte-les-nous


__imp_union_verbe_pronom_en_y_leur__
    [/-moi|/toi] en
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \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

    [/-lui|/-nous|/-vous|/-leur]  [en|y]
        <<- /imp/ space(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \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

TEST: {{donnez-moi en}}                                         ->> donnez-moi-en
TEST: {{prends-leur en}}                                        ->> prends-leur-en
TEST: {{Donnez-nous en}}.                                       ->> Donnez-nous-en
TEST: Alors, {{parais y}} grande et lumineuse.                  ->> parais-y


__imp_union_aller_y!5__
    [viens|venez|venons|allons|allez] y
        <<- /imp/ space(\1, 1, 1) and not morph(>1, ":Y") ->> \1-\2           && Il manque un trait d’union.

    [va|vas] [y|z-y|z’y]
        <<- /imp/ space(\1, 1, 1) and not value(<1, "|tu|il|elle|on|ne|n’|") and not morph(>1, ":Y")
        ->> vas-y                                                                   && Il manque un trait d’union.

TEST: {{allons y}}                                              ->> allons-y
TEST: {{vas y}}                                                 ->> vas-y
TEST: {{Viens y}}.                                              ->> Viens-y
TEST: Il va y àvoir des contingents étrangers qui débarquent à Paris. (erroné)
TEST: Viens y faire un test.



__imp_union_convenir_en__
    [conviens|convenez|convenons] en
        <<- /imp/ space(\1, 1, 1) and not value(>1, "|partie|") ->> \1-\2     && Il manque un trait d’union.


TEST: c’est une belle affaire malgré son prix élevé, {{convenez en}}…       ->> convenez-en


# Autres tests
TEST: Ne rien céder.
TEST: Ne pas manger.
TEST: Ne manquer de rien.
TEST: Ne jamais miser sur ces tocards.