Grammalecte  Check-in [a32e759068]

Overview
Comment:[fr] faux positifs et ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: a32e759068638a523a13f241b7f5fd3d6865d3c93158559427b3ee93826f9b3d
User & Date: olr on 2021-02-13 13:49:33
Other Links: manifest | tags
Context
2021-02-15
12:30
[fr] ajustements check-in: ef73fda243 user: olr tags: fr, trunk
2021-02-13
13:49
[fr] faux positifs et ajustements check-in: a32e759068 user: olr tags: fr, trunk
2021-02-10
12:11
[fr] mise à jour du dictionnaire check-in: 53cc1dda5b user: olr tags: fr, trunk, v2.1.0
Changes

Modified gc_lang/fr/rules.grx from [7fff616824] to [e87003f8cf].

277
278
279
280
281
282
283

284
285

286
287
288
289
290
291
292
293
...
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434

435
436
437
438
439
440
441
...
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
....
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
....
3035
3036
3037
3038
3039
3040
3041




3042
3043
3044
3045
3046
3047
3048
....
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
....
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
....
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
....
4878
4879
4880
4881
4882
4883
4884



4885
4886
4887
4888
4889
4890
4891
....
4904
4905
4906
4907
4908
4909
4910


4911
4912
4913
4914
4915
4916
4917
....
5367
5368
5369
5370
5371
5372
5373




5374
5375
5376
5377



5378
5379
5380
5381
5382
5383
5384
....
5470
5471
5472
5473
5474
5475
5476

5477
5478
5479
5480
5481
5482
5483
....
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
....
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
....
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
....
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
....
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653

8654
8655
8656
8657
8658
8659
8660
....
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854

8855
8856
8857
8858
8859
8860
8861
....
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
....
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
....
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
....
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
....
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
....
9414
9415
9416
9417
9418
9419
9420

9421
9422
9423
9424
9425
9426
9427
.....
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
.....
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
.....
10773
10774
10775
10776
10777
10778
10779


10780
10781
10782
10783
10784
10785
10786
.....
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
.....
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328

11329
11330




11331
11332
11333
11334
11335



















11336
11337
11338
11339
11340





















11341
11342
11343


11344








11345
11346
11347
11348
11349
11350
11351
.....
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
.....
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
.....
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
.....
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
.....
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
.....
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479








12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497

12498
12499
12500
12501
12502
12503
12504
.....
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
.....
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
.....
13295
13296
13297
13298
13299
13300
13301













13302
13303
13304
13305
13306
13307
13308
.....
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
.....
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
.....
13920
13921
13922
13923
13924
13925
13926










13927
13928
13929
13930
13931
13932
13933
.....
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
.....
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443

14444
14445
14446
14447
14448
14449
14450
.....
14452
14453
14454
14455
14456
14457
14458














14459
14460
14461
14462
14463
14464
14465
.....
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396


















15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
















15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
















15429
15430
15431
15432
15433
15434
15435
.....
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
.....
18339
18340
18341
18342
18343
18344
18345

18346
18347
18348
18349
18350
18351
18352
.....
18541
18542
18543
18544
18545
18546
18547


18548
18549
18550
18551
18552
18553
18554
.....
18576
18577
18578
18579
18580
18581
18582

18583
18584
18585
18586
18587
18588
18589
.....
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
.....
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
.....
19012
19013
19014
19015
19016
19017
19018
19019






19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035


19036
19037
19038
19039
19040
19041
19042
.....
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
.....
20745
20746
20747
20748
20749
20750
20751











20752
20753
20754
20755
20756
20757
20758
.....
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
.....
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
.....
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
.....
23129
23130
23131
23132
23133
23134
23135













23136
23137
23138
23139
23140
23141
23142
.....
23520
23521
23522
23523
23524
23525
23526




































23527
23528
23529
23530
23531
23532
23533
.....
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
.....
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
.....
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884

23885
23886
23887
23888
23889
23890
23891
.....
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
.....
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
.....
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
.....
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
.....
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
.....
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
.....
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
.....
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710

24711
24712
24713
24714
24715
24716
24717
.....
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870

24871
24872
24873
24874
24875
24876
24877
.....
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
.....
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
.....
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
.....
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
.....
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
.....
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
.....
27063
27064
27065
27066
27067
27068
27069










27070

27071
27072
27073
27074
27075
27076


27077
27078
27079
27080
27081
27082
27083
.....
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
.....
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
.....
31267
31268
31269
31270
31271
31272
31273



31274
31275
31276
31277
31278
31279
31280
.....
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
.....
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
.....
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
.....
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
.....
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
.....
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
.....
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
.....
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053

32054
32055
32056
32057
32058
32059

32060
32061
32062
32063

32064
32065
32066
32067
32068
32069
32070
32071

32072
32073
32074
32075

32076
32077
32078
32079
32080
32081
32082
32083
32084

32085
32086
32087
32088
32089
32090
32091

32092
32093
32094
32095
32096
32097
32098
.....
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
.....
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
.....
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
.....
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
.....
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
.....
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
.....
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
.....
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
.....
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
.....
34213
34214
34215
34216
34217
34218
34219

34220
34221
34222
34223
34224
34225
34226
DEF: w_4            \w[\w-][\w-]+\w
DEF: w1             \w+
DEF: w2             \w\w+
DEF: w3             \w\w\w+
DEF: w4             \w\w\w\w+

# GRAPH

DEF: mois           [>janvier|>février|>mars|>avril|>mai|>juin|>juillet|>août|>aout|>septembre|>octobre|>novembre|>décembre|>vendémiaire|>brumaire|>frimaire|>nivôse|>pluviôse|>ventôse|>germinal|>floréal|>prairial|>messidor|>thermidor|>fructidor]
DEF: mi_mois        [>mi-janvier|>mi-février|>mi-mars|>mi-avril|>mi-mai|>mi-juin|>mi-juillet|>mi-août|>mi-aout|>mi-septembre|>mi-octobre|>mi-novembre|>mi-décembre|mi-vendémiaire|mi-brumaire|mi-frimaire|mi-nivôse|mi-pluviôse|mi-ventôse|mi-germinal|mi-floréal|mi-prairial|mi-messidor|mi-thermidor|mi-fructidor]

DEF: pronom_obj     [moi|toi|soi|lui|elle|nous|vous|eux|elles|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel|iel-même|iels|iels-mêmes]


!!
!!
!! Déclinaisons de tokens                                                                         !!
!!
!!
................................................................................
TEST: c’est (enfin{{ )}} parti.                                             ->> )
TEST: voici des (parenthèses{{ )}}, n’est-ce pas ?                          ->> )


# Parenthèses collées
__<s>/typo(typo_parenthèse_fermante_collée)__
    [)]\b(?![s¹²³⁴⁵⁶⁷⁸⁹⁰]\b)
        <<- not before("\\((?:[rR][eéEÉ]|[nN]’)$") ->> ") "                                         && Il manque un espace après la parenthèse.
__<s>/typo(typo_parenthèse_ouvrante_collée)__
    \b[(](?=[^)][^)][^)])
        <<- ->> " ("                                                                                && Il manque un espace avant la parenthèse.

TEST: C’est au fond du couloir{{(}}celui du deuxième étage{{)}}qu’il se trouve.     ->> " (|||) "
TEST: (a + b)²
TEST: il faut (re)former tout ça.



# Points et espaces
__<s>/typo(typo_point_entre_deux_espaces)__      [  ][.](?=[  ])  <<- ->> .                         && Pas d’espace avant un point.
__<s>/typo(typo_point_collé_à_mot_suivant)__     [  ][.](?=\w)  <<- ->> ". |."                      && L’espace se place après le point, et non avant (ou bien sert de liant entre deux lettres).

TEST: Il a fini{{ .}} Va te faire foutre, connard.                                  ->> .
................................................................................
!!!! Majuscules manquantes                                                                        !!
!!
!!

# Majuscules après un point
__[s]/maj(majuscule_après_point)__
    ({w_2})[.] ([a-zàâéèêîôç]\w*)  @@0,$
        <<- not re.search("(?i)^(?:etc|[A-Z]|chap|cf|ex|fig|hab|litt|circ|coll|r[eé]f|étym|suppl|bibl|bibliogr|cit|op|vol|déc|nov|oct|janv|juil|avr|sept|sg|pl|pers)$", \1)
            and morph(\1, ":") and morph(\2, ":")
        -2>> =\2.capitalize()                                                                       && Après un point, une majuscule est généralement requise.

TEST: Je suis là. {{viens}}.                                            ->> Viens
TEST: Ils sont devenus idiots. {{c}}’est peine perdue.                  ->> C

__<s>/maj(majuscule_début_paragraphe)__
................................................................................
        <<- not \2[0:1].isupper() =>> select(\1, ":D")

__da_devant__
    devant [<end>|,|)]
        <<- not morph(<1, ":D.*:[me]:[si]") =>> select(\1, ":W")

    devant $:D
        <<- morph(<1, ":V|<start>|>,", ":G") =>> select(\1, ":R")

    devant $:B [euros|dollars|francs]
        <<- =>> select(\1, ":V")

__da_derrière__
    derrière [<end>|,|)]
        <<- not morph(<1, ":D.*:[me]:[si]") =>> select(\1, ":W")

    derrière $:D
        <<- morph(<1, ":V|<start>|>,", ":G") =>> select(\1, ":R")

__da_ensemble__
    ensemble
        <<- morph(<1, ":V") =>> select(\1, ":W")
        <<- __else__ and morph(<1, ":D", ">la/") =>> select(\1, ":N")

__da_entre__
................................................................................
__da_même__
    même $:D
        <<- morph(<1, "<start>|>,|:[ISKYP]", "*") =>> select(\1, ":W")

    [le|la|l’|les|du|chaque|ces|des|mes|tes|ses|nos|vos|leurs|quelques|quels|quelles] même
        <<- =>> select(\2, ":A")





__da_or__
    <start> or ?,¿ @:(?:Os|D)
        <<- =>> select(\2, ":G")

    [un|l’|d’|quel|cet|mon|ton|son|notre|votre|leur] or
        <<- =>> select(\-1, ":N")

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

__da_sur__
    sur @:[BD]
        <<- not morph(<1, ":(?:V[0123]e|[DN].*:[me]:[si])") =>> select(\1, ":R")

__da_tout__
    tout
        <<- morph(<1, "<start>|>,") =>> select(\1, "", ":N")

    tout @:N.*:[me]:[si]¬:(?:[AGW]|3s)
        <<- =>> select(\1, ":D")

    tout le monde
        <<- =>> select(\1, ":W") and select(\2, ":D") and select(\-1, ":N")

................................................................................
    [nos|vos] @:[NA]¬:V0
        <<- =>> select(\-1, "", ":V")

    ni *WORD
        <<- =>> select(\-1, ":N")

    nombre [de|d’|des]
        <<- morph(<1, ":[VR]|<start>|>,") =>> select(\1, ":N")

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

    plein  [de|d’]  @:[NA]
        <<- not morph(<1, ":(?:D.*:m|V[0-3]e)") =>> =define(\1, ":G")

................................................................................
TEST: __ocr__ il aurait dû la trouver
TEST: __ocr__ Tous eussent dû subir ce supplice raffiné.


# elle / elfe
__ocr_elle__
    elfe
        <<- /ocr/ morph(<1, ":[RC]|<start>|>,") ->> elle                                            && Erreur de numérisation ?

    elfes
        <<- /ocr/ morph(<1, ":[RC]|<start>|>,") ->> elles                                           && Erreur de numérisation ?

TEST: __ocr__ une araignée grimpait sur {{elfe}}                                ->> elle
TEST: __ocr__ elles parlaient entre {{elfes}}                                   ->> elles
TEST: __ocr__ {{elfe}} viendra bientôt                                          ->> elle
TEST: __ocr__ {{Elfes}} s’ennuyaient à mourir.                                  ->> Elles


................................................................................
# élisions
__eleu_élisions_manquantes__
    [le|la|de]  ~^[aâeéèêiîoôuûyœæhAÂEÉÈÊIÎOÔUÛYŒÆH].
        <<- /eleu/ space(\1, 1, 1) and not tag(\2, "_CAP_") and not re.search("(?i)^(?:I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2)
            and (morph(\2, ">[aâeéèêiîoôuûyœæhAÂEÉÈÊIÎOÔUÛYŒÆ]", ":G|;é") or morph(\2, ">H.*;É")) and not re.search("^[hH]aute?", \2)
        -1:.2>> =\1[0:1]+"’"                                                            && Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision




    si [il|ils]
        <<- /eleu/ space(\1, 1, 1) -1:.2>> s’                                           && Il faut élider “si” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision

    que [il|ils|elle|elles|on|iel|iels]
        <<- /eleu/ space(\1, 1, 1) -1:.2>> qu’                                          && Il faut élider “que” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision

    [je|ne|me|te|se]  ~^[aâeéèêiîoôuûyœæh].
................................................................................
TEST: je {{ne }}arrive pas à comprendre                                     ->> n’
TEST: {{je }}arrive                                                         ->> j’
TEST: la ACHE, encore un sigle
TEST: J’ai passé une journée de ouf.
TEST: le yacht
TEST: de i1 à i2
TEST: la quête du boson de Higgs




__eleu_élisions_superflues__
    l’  @>[aâeéèêiîoôuûyœæh].*;é
        <<- /eleu/ morph(\2, ":(?:[123][sp]|[NA].*:e)") -1>> "le |la "      && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:m") -1>> "le "           && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:f") -1>> "la "           && Pas d’élision.
................................................................................

    29 février ~^\d{2,5}$
        <<- /date/ not checkDate(\1, \2, \3) ->> 28 février \3                                      && En l’année “\3”, il n’y a que 28 jours en février.

    ~^\d\d?$  [janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre]  ~^\d{2,5}$
        <<- /date/ not (\1 == "29" and value(\2, "|février|")) and not checkDate(\1, \2, \3) ->> _  && Cette date est invalide.





TEST: le {{31 avril}}                                                       ->> 30 avril
TEST: le {{30 février}}                                                     ->> 28 février|29 février
TEST: {{29 février 2011}}                                                   ->> 28 février 2011
TEST: {{32 mars 2020}}                                                      ->>





__date_journée_jour_mois_année__
    ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche])  ?,¿  ?le¿  (~^\d\d?$) - (~^\d\d?$) - (~^\d{2,5}$)
    ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche])  ?,¿  ?le¿  (~^\d\d?$)  ([janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre])  (~^\d{2,5}$)
        <<- /date/ not after("^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDay(\1, \2, \3, \4)
        -1>> =getDay(\2, \3, \4)
................................................................................
### Préfixes
__tu_préfixe_ex__
    l’ ex  @:[NT]¬*
        <<- /tu/ not value(\3, "|aequo|nihilo|cathedra|absurdo|abrupto|")
        -2:3>> \2-\3                                                        && S’il s’agit d’un seul mot, il manque un trait d’union.

    ex [>ami|>patron|>locataire]

    ex @:N¬:[AGWMV]
        <<- /tu/ not value(\2, "|aequo|nihilo|cathedra|absurdo|abrupto|") and not value(<1, "|l’|")
        ->> \1-\2                                                           && S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: l’{{ex fournisseur}} de ce produit                                        ->> ex-fournisseur
TEST: Son {{ex ami}} est un vrai cauchemar.                                     ->> ex-ami
TEST: Mon ex alcoolique
................................................................................

TEST: {{ferro électrique}}                              ->> ferro-électrique
TEST: {{rétro ingénierie}}.                             ->> rétro-ingénierie


__tu_préfixe_divers__
    [anti|auto|arrière|avant|demi|extra|intra|mini|multi|post|ultra]  *WORD
        <<- /tu/ morph(<1, ":D|<start>|>,") and morph2(\1, "-", ":") ->> \1-\2                      && Il manque probablement un trait d’union.
        <<- /tu/ __also__ !2>>

    [non|sans]  *WORD
        <<- /tu/ morph(<1, ":D") and morph2(\1, "-", ":") ->> \1-\2                                 && Il manque probablement un trait d’union.
        <<- /tu/ __also__ !2>>

    sous  *WORD
................................................................................


__tu_mots_composés_verbe_nom__
    contre >productif
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

    [contre|entre]  *WORD
        <<- /tu/ not morph(\2, ":[GYB]") and morph(<1, ":(?:D|V.e)|<start>|>,") and morph2(\1, "-", ":N")
        ->> \1-\2                                                                                   && Il manque probablement un trait d’union.

    [m’|t’|s’] entre *WORD
        <<- /tu/ morph(\3, ":V") and morph2(\2, "-", ":V")
        -2:3>> \2-\3                                                                                && Il manque probablement un trait d’union.

    nous nous entre ~on[ts]$
    vous vous entre ~e[zr]$
        <<- /tu/ morph(\4, ":V") and morph2(\3, "-", ":V") and not morph(<1, ":R")
        -3:4>> \3-\4                                                                                && Il manque probablement un trait d’union.

    [attrape|garde|porte|brise|cache|casse|chauffe|coupe|cure|croque|essuie|lance|lave|lève|marque|pare|passe|perce|pèse|porte|poste|pousse|presse|protège|ramasse|serre|taille|tire|tourne|traîne|traine|vide]  *WORD
        <<- /tu/ morph(<1, ":(?:D|V0e)|<start>|>,") and morph2(\1, "-", ":N")
        ->> \1-\2                                                                                   && Il manque probablement un trait d’union.

TEST: ça semble totalement {{contre productif}}                 ->> contre-productif
TEST: c’est le {{contre exemple}} parfai                       ->> contre-exemple
TEST: une {{entre voie}}                                        ->> entre-voie
TEST: s’{{entre regarder}}                                      ->> entre-regarder
TEST: ce sont des {{lève tard}}.                                ->> lève-tard
................................................................................

    ras le bol
    ras-le bol
    ras le-bol
        <<- /tu/ morph(<1, ":D") ->> ras-le-bol                 && Il manque des traits d’union.

    rendez vous
        <<- /tu/ morph(<1, ":[DR]|<start>|>,") ->> rendez-vous  && Il manque un trait d’union.

    rez de >chaussée
        <<- /tu/ ->> rez-de-chaussée                            && Il manque les traits d’union.

    [rond+s] de cuir
        <<- /tu/ ->> \1-\2-\3                                   && Il manque les traits d’union.|https://fr.wiktionary.org/wiki/rond-de-cuir

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


__conf_ont_on!6__
    on  @:[WDB]¬:(?:3s|Ov)
        <<- /conf/ not morph(<1, ":V.*:3s") and not before0("’$")
        -1>> ont                                                    && Confusion probable : “avoir” à la 3ᵉ personne du pluriel du présent s’écrit “ont”.

    [n’|m’|t’] on                       **
    [n’|m’|t’|l’] [y|en] on             **
    [ne|n’|me|m’|te|t’] [l’|les] on     **
    [ne|n’] [lui|nous|vous|leur] on     **
        <<- /conf/ --2>> ont                                         && Confusion. Exemples : « on y va », « ils ont faim ».
        <<- !-1>> conf|conj

    qui on
        <<- /conf/ not morph(<1, ":[VR]|<start>") and not morph(>1, ":(?:3s|Ov)")
        -2>> ont                                                    && Confusion probable. Exemples : « on y va », « ils ont faim ».

................................................................................
__conf_start_nom_ppas__
    [<start>|,|(]  *WORD  @:V1.*:Y
        <<- /conf/ morph(\2, ":N", "*") --1>> =suggVerbPpas(\-1)
        && Confusion probable. Si “\-1” est un qualificatif se rapportant au nom “\2”, n’utilisez pas un verbe à l’infinitif, mais le participe passé.

    [<start>|,|(]  *WORD  [assez|aussi|presque|très|trop|peu]  @:V1.*:Y
    [<start>|,|(]  *WORD  ?[assez|aussi|presque|très|trop]¿  [bien|mal|peu]  @:V1.*:Y
        <<- /conf/ morph(\2, ":N", ":(?:G|V0|Y)") --1>> =suggVerbPpas(\-1)
        && Confusion probable. Si “\-1” est un qualificatif se rapportant au nom “\2”, n’utilisez pas un verbe à l’infinitif, mais le participe passé.

TEST: écrivain {{ignorer}} par ses contemporains                                                    ->> ignoré|ignorée|ignorés|ignorées
TEST: téléphone bien {{charger}}                                                                    ->> chargé|chargée|chargés|chargées
TEST: époque très bien {{documenter}} grâce à la méticulosité de l’administration                   ->> documenté|documentée|documentés|documentées
TEST: bien manger, c’est essentiel
TEST: C’est le bien mal servir qu’agir à son insu.
TEST: savoir bien tirer à l’arc
TEST: savoir tirer au pistolet est indispensable



!!
!!
!!!! Confusions spécifiques                                                                       !!
!!
!!
................................................................................
TEST: cet homme a le savoir pour seul but dans l’existence
TEST: il y a prédire et prédire
TEST: il y a épidémie et épidémie



__conf_à_qui_infinitif__
    *WORD  a  qui  @:(?:Y|Os)
        <<- /conf/ morph(\1, ":N", ":Ov") -2>> à                    && Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: il n’y avait personne {{a}} qui parler de nos problèmes       ->> à
TEST: des gens {{a}} qui offrir ça                                  ->> à



__conf_à_a__
    [<start>|,|(] a moins [que|qu’]
        <<- /conf/ -2>> à                                           && Confusion probable : « à moins que » pour dire « sauf si ».

    a part @:(?:M[12]|D|Oo)
................................................................................

    par rapport  a  @:(?:D|Oo|M)
        <<- /conf/ -3>> à                                           && Confusion : “a” est une forme conjuguée de “avoir”. Pour la préposition, écrivez “à”.

    grâce a
        <<- /conf/ morph(<1, ":[VN]|<start>", "*") -2>> à           && Confusion probable. Locution “grâce à”.|https://fr.wiktionary.org/wiki/gr%C3%A2ce_%C3%A0

    tout a fait
    jusqu’ a
    pas a pas
        <<- /conf/ -2>> à                                           && Confusion : “a” est une forme conjuguée de “avoir”. Pour la préposition, écrivez “à”.

    a [moi|toi|eux|elles]
    a [lui|elle|nous|vous]  <end>
        <<- /conf/ not morph(<1, ":Ov|>(?:il|elle)/")
................................................................................

TEST: Je le donne {{a}} toi.                                                        ->> à
TEST: Personne {{a}} part Tom ne connaît son adresse                                ->> à
TEST: Face {{a}} ces gens, il ne pensait pas pouvoir réussir                        ->> à
TEST: c’est grâce {{a}} nous que vous y êtes parvenus                               ->> à
TEST: par rapport {{a}} eux, je me sens parfois dépassé                             ->> à
TEST: par rapport {{a}} ces hommes-là, nous manquons d’expérience                   ->> à
TEST: elles sont tout {{a}} fait compétentes                                        ->> à
TEST: elles se défendront jusqu’{{a}} la mort.                                      ->> à
TEST: elles progressent pas {{a}} pas                                               ->> à
TEST: Elle a eux pour lui donner des conseils.
TEST: Elle a elle réussi… (Formulation douteuse.)
TEST: Elle n’a elle que ses études pour s’en sortir.
TEST: Il a toi pour l’aider.
TEST: Il t’a toi.
................................................................................
    [a|à] [part+s|par|pare+s] [cela|ceci|ça]
        <<- /loc/ ->> à part \3                                             && Confusion probable. Locution « à part cela/ceci/ça ».|https://fr.wiktionary.org/wiki/%C3%A0_part_%C3%A7a

    à parts [<end>|,|)|$:D]
        <<- /loc/ -1:2>> à part                                             && Locution « à part », au singulier.

    à [par|pare+s] $:D
    à [par|pare+s] {pronom_obj}
        <<- /loc/ -1:2>> à part|a par               && Confusion. Ou bien vous voulez dire « à part » pour « hormis », ou bien vous confondez la préposition “à” avec “a” (forme conjuguée du verbe avoir).

TEST: {{a pare ça}}                                                         ->> à part ça
TEST: un homme {{à parts}}                                                  ->> à part
TEST: {{à par}} nous                                                        ->> à part|a par
TEST: un homme à par
TEST: à part ça, tout va bien
................................................................................
    a l’ une d’ entre
    a l’ une des leurs
    a la [con|dérive|dérobée|diable|fois|mords-moi-le-nœud|papa|rescousse|sauvette|va-vite|volée]
    a la bonne franquette
    a la fin [de|d’] l’ an ?[passé|~^[0-9]{2,5}$]¿
    a la fin [de|d’] l’ année ?[passée|~^[0-9]{2,5}$]¿
    a la fin des années ~^[0-9]{2,5}$
    a la fin du mois [de|d’] {mois} ?[passé|prochain|~^[0-9]{2,5}$]¿
    a la limite du supportable
    a la lumière [de|d’] tout [ceci|cela|ça]
    a la petite semaine
    a la pointe du progrès
    a la queue leu leu
    a la surprise générale
    a la va vite
................................................................................


## substantifs

__conf_substantif_à_substantif!3__
    *WORD  a  $:N¬*
        <<- /conf/ \2.islower()
            and not value(\3, "|accès|bon|bonne|beau|besoin|charge|confiance|connaissance|conscience|crainte|droit|envie|été|faim|force|grand|grande|hâte|honte|interdiction|intérêt|lieu|mauvaise|marre|peine|peur|raison|rapport|recours|soif|tendance|terre|tort|trait|vent|vocation|")
            and morph(\1, ":N", "*")
        -2>> à              && Confusion probable : “a” est une forme conjuguée du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: les bobos {{a}} trottinette                                                       ->> à
TEST: la lettre A est la première lettre de l’alphabet
TEST: la lettre a est la première lettre de l’alphabet
TEST: cette femme a raison
................................................................................
TEST: il a bonne mine
TEST: Catherine la grande a droit à une nouvelle série télévisée.
TEST: cet homme a grand besoin d’être soigné.
TEST: cette femme a grande envie d’un bain
TEST: L’UE a intérêt à une coopération forte et stratégique avec l’Algérie et tente de renforcer le partenariat bilatéral.
TEST: Mon désir a force de loi.
TEST: cette pensée a trait à nos pulsions les plus profondes



__conf_a_à_substantifs__
    >arc a >poulie
    >arme a >feu
    >armoire a [>glace|>pharmacie]
    >attaque a >main [armée+s]
................................................................................


# ces / ses / c’est
__conf_ces_ses_c_est__
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  $:D
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  [que|qu’]
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  [l’|d’]
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  {pronom_obj}
    [ses|ces] @:D¬:[WA]
    [ses|ces] [que|qu’]
    [ses|ces] {pronom_obj}
    [ses|ces] @:[WX]¬:N:.*:[pi]  @:[RD]|>pire/
        <<- /conf/ not \1.isupper() and not value(\2, "|quelques|") -1>> c’est      && Confusion probable. Écrivez « c’est » pour dire « ceci est… ».

    c’ est  @:N.*:p¬:(?:G|W|M|A.*:[si])
        <<- /conf/ -1:2>> ces|ses                                                   && Confusion. Exemples : c’est facile ; ces chats (désignation) ; ses chats (possession)…

    ses  /-là
................................................................................

TEST: {{au grand dame}} des sots qui ont voulu nous duper                       ->> au grand dam
TEST: à mon grand {{dame}}, je fus oublié                                       ->> dam


# date / datte
__conf_date_datte__
    >datte du *NUM [janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre]
    >datte du *NUM et du *NUM [janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre]
    >datte [>butoir|>buttoir]
    >datte des [congés|examens|rendez-vous|vacances]
    >datte de [mes|tes|ses|nos|vos|leurs] [congés|examens|vacances]
    >datte de [mon|ton|son|notre|votre|leur] rendez-vous
        <<- /conf/ -1>> =\1.replace("tt", "t").replace("TT", "T")                   && Confusion probable. La datte est un fruit. Pour évoquer un jour dans l’année, écrivez “date”.

TEST: à la {{datte}} du 25 janvier                                              ->> date
................................................................................
TEST: {{Des}} 1980, le pays était en crise.                                 ->> Dès
TEST: {{Des}} dix-huit ans.                                                 ->> Dès
TEST: {{Des}} 4 ans.                                                        ->> Dès
TEST: Viens {{des}} 9 heures                                                ->> dès
TEST: {{Des}} l’arrivée, ça a commencé à dégénérer                          ->> Dès
TEST: c’était {{dés}} trois heures.                                         ->> dès
TEST: {{dés}} que nous sommes partis, il a piqué une crise                  ->> dès


TEST: {{des}} {{les}} premiers symptômes, appelez-moi                       ->> dès|de|||laits|laids|lés|laies
TEST: Les dés sont jetés.
TEST: C’est un des leurs.
TEST: Plusieurs dès qu’on en saura plus.
TEST: Dès 1980, le pays était en crise.
TEST: Des 2000 participants, seuls 1000 sont venus.
TEST: Des 2000 invités, seuls 1000 sont venus.
................................................................................

# emballé, c’est pesé
__conf_emballé_c_est_pesé__
    >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é.
................................................................................
TEST: La {{fausse}} du Chili.                                           ->> fosse
TEST: Nous sommes tombés dans la {{fausse}} aux lions.                  ->> fosse
TEST: Elles sont arrivées au bord de la {{fausse}}.                     ->> fosse
TEST: ils ont fait une {{fosse}} déclaration                            ->> fausse
TEST: encore une {{fosse}} alerte                                       ->> fausse


# forcement / forcément
__conf_forcément_forcement__
    [/_VCint_|/_VCimp_]  ?[pas|plus|jamais|guère]¿  forcement
    [pas|plus] forcement
        <<- /conf/ --1>> forcément                          && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment


    [par|pour|sans] forcement [$:Y|ne|n’|me|m’|te|t’|se|s’]




        <<- /conf/ -2>> forcément                           && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment

    forcement
        <<- /conf/ morph(<1, ":V", ":A") ->> forcément      && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment




















    [un|le|ce|au]  forcément  [<end>|,|)]
    [un|le|ce|au]  forcément  $:¬:A
        <<- /conf/ -2>> forcement                           && Confusion probable : “forcément” est un adverbe. L’action de “forcer” s’écrit “forcement”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment

TEST: Viendra-t-il {{forcement}} demain.                                                ->> forcément





















TEST: sans {{forcement}} prendre la vie du bon côté                                     ->> forcément
TEST: Elle sera {{forcement}} déçue de cette minable prestation de sa part.             ->> forcément
TEST: Un homme pas {{forcement}} mauvais.                                               ->> forcément


TEST: Le {{forcément}} du coffre ne sera pas si facile.                                 ->> forcement










# fret / frais
__conf_fret_frais__
    [>frai] [>aérien|>ferroviaire|>maritime|>routier]
        <<- /conf/ -1>> fret                                && Confusion probable. Pour évoquer le transport aérien, ferroviaire, maritime ou routier, écrivez “fret”.|https://fr.wiktionary.org/wiki/fret

................................................................................
    >or [de|d’] [là|doute|page]
    >or [de|d’] chez [moi|toi|soi|lui|elle|iel|nous|vous|eux|elles|iels]
    >or du commun
    >or [de|d’] ?[ma|ta|sa|notre|votre|leur]¿ [compréhension|perception|portée|vue]
    >or [de|d’] question [que|qu’|de|d’|,|)|<end>]
        <<- not morph(<1, ":D.*:[me]") -1>> hors        && Confusion probable. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors

    [<start>|,|(] or [de|d’] {pronom_obj}
        <<- /conf/ -2>> hors                            && Confusion probable. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors

TEST: {{hors}}, nous y coryons malgré tout ce qu’on peut en dire.                       ->> or
TEST: {{Hors}} il y a tant à faire depuis que nous sommes arrivés en ces lieux.         ->> Or,
TEST: Des femmes {{or}} du commun                                                       ->> hors
TEST: {{or}} de lui, il éclata en                                                       ->> hors
TEST: Hors nous, personne ne sait ce qui s’est passé là-bas.
TEST: Le peuple se sent hors jeu.
TEST: pillons tout l’or du royaume !


# huis / huit
__conf_huit_huis__
    huis {mois}
    huis [>an|mois|>heure|>cent|>mille|>million|>milliard|>dollar|>euro|€|>franc|>centime|divisé|multiplié|plus|moins|>dixième|>centième|>millième]
        <<- /conf/ -1>> huit                                && Confusion probable. L’huis est l’ancien terme pour porte. Pour le nombre, écrivez “huit”.|https://fr.wiktionary.org/wiki/huit

    huit clos
        <<- /conf/ -1>> huis                                && Confusion probable. L’huis est l’ancien terme pour porte.|https://fr.wiktionary.org/wiki/huis_clos

TEST: elle a {{huis}} ans.                                                              ->> huit
................................................................................
        <<- /conf/ --1>> m’as                       && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 2ᵉ personne précédé du pronom “me”, écrivez “m’as”.

    [il|ils]  [ma|mas]
        <<- /conf/ not morph(<1, ":3s")
        --1>> m’a                                   && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    on  [ma|mas]
        <<- /conf/ morph(<1, "<start>|:C|>,/")
        --1>> m’a                                   && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    [ne|n’]  [ma|mas]
        <<- /conf/ --1>> m’a                        && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    ça  [ma|mas]  *WORD
        <<- /conf/ morph(<1, "<start>|:C|>,/") and morph0(\-1, ":(?:Q|V1.*:Y)", ":N.*:[fe]")
        -2>> m’a                                    && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    qui ma  *WORD
        <<- /conf/ morph0(\-1, ":(?:Q|V1.*:Y)", ":N.*:[fe]")
        -2>> m’a                                    && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    ma  @:(?:Q.*:e:i|V1.*:Y)¬:f:s
................................................................................
TEST: c’est ça qui {{ma}} forcée à poursuivre               ->> m’a
TEST: ça ma grande, c’est mon secret


# m’ont / mon
__conf_m_ont!6__
    il  mon
        <<- /conf/ morph(<1, "<start>|:C|>,/")
        --1>> m’ont                                 && Confusion probable : “mon” est un déterminant possessif. Pour le verbe “avoir” à la 3ᵉ personne du pluriel précédé du pronom “me”, écrivez “m’ont”.

    ils  mon
        <<- /conf/ not morph(<1, ":(?:3p|D)")
        --1>> m’ont                                 && Confusion : “mon” est un déterminant possessif. Pour le verbe “avoir” à la 3ᵉ personne du pluriel précédé du pronom “me”, écrivez “m’ont”.

    ne  mon
................................................................................

# moi / mois
__conf_moi_mois__
    *NUM moi
    $:B  moi
        <<- /conf/ --1>> mois                       && Confusion probable. Pour indiquer le douzième d’une année, écrivez “mois”.|https://fr.wiktionary.org/wiki/mois

    moi  [de|d’]  {mois}
        <<- /conf/ -1>> mois                        && Confusion probable. Pour indiquer le douzième d’une année, écrivez “mois”.|https://fr.wiktionary.org/wiki/mois

TEST: au {{moi}} d’avril                                        ->> mois
TEST: être en repos pour trois {{moi}}.                         ->> mois
TEST: 3 {{moi}} de vacances.                                    ->> mois
TEST: Dans un délai de quatre {{moi}}.                          ->> mois

................................................................................
    pas rapport [à|aux]
        <<- /conf/ not morph(<1, ":V") -1>> par                             && Confusion possible. Voulez-vous écrire “par rapport \3” ?

    >commencer  pas  ?[ne|n’]¿   ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    >commencer  pas  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    >commencer  pas  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    >commencer  pas  ?[ne|n’]¿   [lui|leur|y]                    en                          $:Y
        <<- /conf/ morph(<1, ":Os|<start>|>,") -2>> par         && Confusion probable : “pas” est un adverbe de négation. Si “\-1” est l’action par laquelle il faut commencer, écrivez “par”.

    en commençant pas
        <<- /conf/ not value(<1, "|n’|") --1>> par              && Confusion probable : “pas” est un adverbe de négation. Écrivez “par”.

    >finir  pas  ?[ne|n’]¿   ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    >finir  pas  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    >finir  pas  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    >finir  pas  ?[ne|n’]¿   [lui|leur|y]                    en                          $:Y
        <<- /conf/ morph(<1, ":Os|<start>|>,") -2>> par         && Confusion probable : “pas” est un adverbe de négation. Si “\-1” est l’action par laquelle il faut finir, écrivez “par”.

    en finissant pas
        <<- /conf/ not value(<1, "|n’|") --1>> par              && Confusion probable : “pas” est un adverbe de négation. Écrivez “par”.

TEST: je ne sais {{pa}}                                                                                                 ->> pas
TEST: Il ne le deviendra {{par}}.                                                                                       ->> pas
TEST: ne viens {{par}}, c’est dangereux.                                                                                ->> pas
................................................................................
        <<- /conf/ -1>> =\1.replace("n", "nt").replace("N", "NT")           && Confusion. Pour parler d’une petite pousse végétale, écrivez “plant” (dérivé de “plante”).

TEST: va acheter des {{plans}} de tomate                    ->> plants


# plus / plu
__conf_plus_plu__
    je                  ?[ne|n’]¿ [me|m’] >être ?@:[WX]¿ plus à
    tu                  ?[ne|n’]¿ [te|t’] >être ?@:[WX]¿ plus à
    [il|on|elle|iel]    ?[ne|n’]¿ [se|s’] >être ?@:[WX]¿ plus à
    nous                ?[ne|n’]¿ nous    >être ?@:[WX]¿ plus à
    vous                ?[ne|n’]¿ vous    >être ?@:[WX]¿ plus à
    [ils|elles|iels]    ?[ne|n’]¿ [se|s’] >être ?@:[WX]¿ plus à
    [je|j’|tu|il|elle|iel|ça|cela|ceci]                 ?[ne|n’]¿ [m’|t’|lui|nous|vous|leur] >avoir ?@:[WX]¿ [plus|plut|plût] [<end>|,|)]
    [nous|vous|ils|elles|iels]                          ?[ne|n’]¿ [m’|t’|lui|nous|vous|leur] >avoir ?@:[WX]¿ [plus|plut|plût] [<end>|,|)]
    [plusieurs|certain+s|quelques-uns|quelques-unes]    ?[ne|n’]¿ [m’|t’|lui|nous|vous|leur] >avoir ?@:[WX]¿ [plus|plut|plût] [<end>|,|)]
        <<- /conf/ not morph(<1, ":R") --2>> plu                            && Le participe passé du verbe plaire s’écrit “plu” (il est invariable).|https://fr.wiktionary.org/wiki/Conjugaison:fran%C3%A7ais/plaire









    *WORD plu
        <<- /conf/ morph(\1, ":[123][sp]", ":V0a") -2>> plus                && Confusion probable : “plu” est le participe passé de “plaire”. Pour l’adverbe, écrivez “plus”.|https://fr.wiktionary.org/wiki/plus

    [<start>|,|(] plu @:[WA]
        <<- /conf/ -2>> plus                                                && Confusion probable : “plu” est le participe passé de “plaire”. Pour l’adverbe, écrivez “plus”.|https://fr.wiktionary.org/wiki/plus

    [le|la|des|du|les|des|de|mon|ton|son|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|plusieurs|certains|certaines|quel|quelle|quels|quelles] [plu]
        <<- /conf/ --1>> plus                                               && Confusion probable : “plu” est le participe passé de “plaire”. Pour l’adverbe, écrivez “plus”.|https://fr.wiktionary.org/wiki/plus

TEST: je me suis {{plus}} à réviser cette matière           ->> plu
TEST: ça m’avait vachement {{plût}}                         ->> plu
TEST: ils se sont {{plus}} à nous faire chier               ->> plu
TEST: ce n’est {{plu}} notre problème                       ->> plus
TEST: le {{plu}} bel effet                                  ->> plus
TEST: de {{plu}} il faut en faire plus                      ->> plus
TEST: travaille {{plu}} chez toi                            ->> plus
TEST: {{plu}} vite                                          ->> plus
TEST: ça t’avait plu, cette connerie, non ?



# pôle / pole
__conf_pôle_pole__
    >pole
        <<- /conf/ not value(<1, "|la|en|une|") and not value(>1, "|position|dance|")
        ->> =\1.replace("o", "ô").replace("O", "Ô")                         && Confusion probable. Le terme “pole” ne s’utilise que pour la “pole position” ou la “pole dance”.
................................................................................
    [>avaler|>bouffer|>cuire|>élever|>égorger|>frire|>manger|>mâcher|>mastiquer|>rôtir|>tuer] $:D¬:R [>pore|>port]
    >élevage [de|d’] [>pore|>port]
        <<- /conf/ --1>> porc|porcs                                         && Confusion. Pour évoquer l’animal, écrivez “porc”.|https://fr.wiktionary.org/wiki/porc

    >pore [qui|qué] [>pique|>pic]
    >porc [qui|qué] [>pique|>pic]
    >port [qui|qué] [>pique|>pic]
        <<- morph(<1, ":D|<start>|>,") ->> porc-épic|porcs-épics            && Confusion générale ? Si vous parlez de l’animal, écrivez “porc-épic”.|https://fr.wiktionary.org/wiki/porc-%C3%A9pic

    ## port
    [>pore|>porc] [de|d’] [plaisance|pêche]
    [>pore|>porc] [>maritime|>spatial]
        <<- /conf/ -1>> port|ports                                          && Confusion. Pour évoquer un havre côtier où les bateaux accostent, écrivez “port”.|https://fr.wiktionary.org/wiki/port

    [<start>|,|le|au|du]  [pore|porc]  [de|d’]  [Alexandrie|Algésiras|Almirante␣Barroso|Amsterdam|Angra␣dos␣Reis|Anvers|Baltimore|Bandar␣Abbas|Bandar␣Khomeini|Bangkok|Barcelone|Bayonne|Beaumont|Bergen|Bintulu|Bombay|Bordeaux|Botaş|Bremerhaven|Brisbane|Brême|Busan|Bâton-Rouge|Calais|Calcutta|Callao|Cannes|Canton|Cayo␣Arcas|Ceyhan|Chennai|Cherbourg|Chiba|Chittagong|Colombo|Constanța|Corpus␣Christi|Daesan|Dakar|Dalian|Dampier|Dieppe|Djeddah|Dubaï|Dunkerque|Durban|el-Dekheila|Gladstone|Goa|Grimsby|Guangzhou|Gwangyang|Gênes|Göteborg|Hambourg|Hampton␣Roads|Hay␣Point|Honfleur|Hong-Kong|Hong␣Kong|Honshu|Houston|Huntington-Tristate|Hô-Chi-Minh-Ville|Ibiza|Immingham|Inchon|Istanbul|Itaguaí|Itaqui|Izmir|Izmit|Jaffa|Jakarta|Jawaharlal␣Nehru|Jebel␣Ali|Jubail|Kaohsiung|Karachi|Kitakyushu|Kobe|Kota␣Baru|Laem␣Chabang|Lake␣Charles|La␣Nouvelle-Orléans|La␣Rochelle|Lianyungang|Londres|Long␣Beach|Lorient|Los␣Angeles|Madras|Manille|Marseille|Miami|Milford␣Haven|Mobile|Monaco|Montréal|Mormugão|Mumbai|Nagoya|Nantes|Naples|Newcastle|New␣Jersey|New␣York|Nice|Ningbo-Zhoushann|Novorossiysk|Odessa|Oran|Osaka|Ouistreham|Oust-Louga|Paradip|Paranaguá|Philadelphie|Plaquemine|Pohang|Porto-Vecchio|Port␣Hedlandn|Primorsk|Qingdao|Qinhuangdao|Quibéron|Quimper|Richards␣Bay|Rizhao|Rome|Rotterdam|Rouen|Saigon|Saint-Pétersbourg|Saldanha␣Bay|Santos|San␣Lorenzo|Sepetiba|Shanghai|Shenzhen|Singapour|Southampton|São␣Sebastião|Taichung|Tanger|Tangshan|Tanjung␣Pelepas|Tanjung␣Priok|Texas␣City|Tianjin|Tientsin|Tokyo|Toulon|Trieste|Tsingtao|Tubarão|Tunis|Ulsan|Valence|Vancouver|Vannes|Venise|Visakhapatnam|Waigaoqiao|Washington|Wellington|Wuhan|Xiamen|Xingang|Yanbu|Yangshan|Yantian|Yingkou|Yokohama|Youjne|Zeebruges]
................................................................................
        && Confusion. Si vous parlez d’un trou fait pour puiser quelque chose (ou pour amener quelque chose), écrivez “puits”.|https://fr.wiktionary.org/wiki/puits

    puis [de|d’] [lumière|gaz|pétrole|science|ventilation]
        <<- /conf/ morph(<1, ":D.*:[pm]") -1>> puits
        && Confusion. Si vous parlez d’un trou fait pour puiser quelque chose (ou pour amener quelque chose), écrivez “puits”.|https://fr.wiktionary.org/wiki/puits

    puis artésien
        <<- /conf/ morph(<1, ":D.*:[mp]|<start>|>,") -1>> puits
        && Confusion. Le puits artésien.|https://fr.wiktionary.org/wiki/puits_art%C3%A9sien

    puis >quantique
        <<- /conf/ morph(<1, ":D.*:[mp]|<start>|>,") -1>> puits
        && Confusion. Puits quantique : zone de l’espace dans laquelle le potentiel ressenti par une particule quantique atteint un minimum.|https://fr.wikipedia.org/wiki/Puits_quantique

    puis de >potentiel [fini+ses|>carré|>harmonique]
    puis de >potentiel @:¬:[NA]
        <<- /conf/ morph(<1, ":D.*:[mp]|<start>|>,") -1:3>> puits de potentiel
        && Confusion probable. Un puits de potentiel désigne, en physique, le voisinage d’un minimum local d’énergie potentielle.|https://fr.wikipedia.org/wiki/Puits_de_potentiel

TEST: Tombée au fond du {{puis}}, le désespoir la gagnait.              ->> puits
TEST: Des {{puis}}, tu en as combien ?                                  ->> puits
TEST: J’ai plusieurs {{puis}} de pétrole.                               ->> puits
TEST: quel {{puis}} artésien ?                                          ->> puits
TEST: de quel {{puis}} quantique parles-tu ?                            ->> puits
................................................................................
    >être [pas|plus|jamais|guère] sans >ignorer
    ne [pas|plus|jamais|guère] être sans >ignorer
        <<- /conf/ --1>> savoir         && Confusion probable : vous écrivez l’inverse de ce que vous voulez dire.|https://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir

TEST: Vous n’êtes pas sans {{ignorer}} que…                         ->> savoir
TEST: ne pas être sans {{ignorer}} la cause de ces phénomènes.      ->> savoir















# sens / cens / cent / sans / sang
__conf_sens_sans_cent_cens__
    !! non sans [mal|>mâle|>malle] ¡¡
    non [sans|sens|cens|>cent|>sang] [mal|>mâle|>malle]
        <<- /loc/ ->> non sans mal                                                                  && Locution “non sans mal”.

................................................................................
        <<- /conf/ morph(>1, ":[GY]|<end>", ">à/") and not value(<1, "|il|on|elle|iel|n’|m’|t’|s’|nous|vous|lui|leur|") and not before("(?i)quel(?:s|les?|) qu[’ ]$") and not after(" soit ")
        -2>> soi                                                                                    && Confusion probable.|https://fr.wiktionary.org/wiki/soi

    >aller ?$:W¿ de soit
        <<- /conf/ not after(" soit ") --1>> soi                                                    && Confusion probable.|https://fr.wiktionary.org/wiki/aller_de_soi

    [soi|sois|soit|>soie]  >même
        <<- /conf/ morph(<1, ":[YQ]|>(?:avec|contre|par|pour|sur)/|<start>|>,") ->> soi-même        && Confusion probable : moi-même, toi-même, lui-même, elle-même, soi-même, elles-mêmes, eux-mêmes.

    [sois-même|soit-même|soie-même|soies-même|soi-mêmes|sois-mêmes|soit-mêmes|soie-mêmes|soies-mêmes]
        <<- /conf/ ->> soi-même                                                                     && Confusion : moi-même, toi-même, lui-même, elle-même, soi-même, elles-mêmes, eux-mêmes.

    [entre-soit|entre-sois|entre-soie+s]
        <<- /conf/ ->> entre-soi
        && Confusion : pour évoquer la situation où l’on ne rencontre que des gens proches de soi, écrivez “entre-soi”.|https://fr.wiktionary.org/wiki/entre-soi
................................................................................
TEST: {{subordination}} de témoin                               ->> subornation


# sur / sûr
__conf_sûr_sur__
    sur et $¬:R
    sur [que|qu’]
    sur [de|d’] {pronom_obj}
    sur [de|d’] $:M
    sur [de|d’] [ne|n’|me|m’|te|t’|se|s’]
    sur [de|d’] [le|les|mon|ton|son|ma|ta|sa|mes|tes|ses|ce|cet|cette|ces|cela|ceci|ça]
    sur [de|d’] [la|l’] $:Y
    sur [de|d’] $:Y
        <<- /conf/ -1>> sûr
        && Confusion probable : “sur” est une préposition ou un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|https://fr.wiktionary.org/wiki/sur
................................................................................
        <<- /loc/ ->> tout à coup                                   && Confusion.|https://fr.wiktionary.org/wiki/tout_%C3%A0_coup

TEST: ils sont {{tout à cous}} figés                                                ->> tout à coup
TEST: Mais {{toute a cou}}, plus rien ne fonctionnait.                              ->> tout à coup
TEST: {{tout a coup}}, il n’y eut plus aucune lumière                               ->> tout à coup
TEST: Tout à coup, rien n’alla plus comme avant.












# Toutes choses égales par ailleurs
__conf_toutes_choses_égales_par_ailleurs__
    !! toutes choses égales par ailleurs ¡¡
    [toute|toutes] [chose+s|chosent] [égale+s|égal+s|égalent] [par|>part|pare+s] ailleurs
        <<- /loc/ ->> toutes choses égales par ailleurs             && Confusion.|https://fr.wiktionary.org/wiki/toutes_choses_%C3%A9gales_par_ailleurs

................................................................................
# vague à l’âme
__conf_vague_à_l_âme__
    >vague [à|a] >lame
        <<- /conf/ morph(<1, ":(?:D|A.*:m)") ->> vague à l’âme      && Confusion. Pour évoquer une forme de tristesse, écrivez “vague à l’âme”.|https://fr.wiktionary.org/wiki/vague_%C3%A0_l%E2%80%99%C3%A2me

    >vogue [à|a] >lame
    >vogue [à|a] l’ âme
        <<- /conf/ morph(<1, ":D|<start>|>,") ->> vague à l’âme     && Confusion. Pour évoquer une forme de tristesse, écrivez “vague à l’âme”.|https://fr.wiktionary.org/wiki/vague_%C3%A0_l%E2%80%99%C3%A2me

TEST: Continuer ma lecture, l’effet de l’alcool aidant, n’aurait qu’augmenté ma solitude et mon {{vague à lame}}.   ->> vague à l’âme
TEST: {{vogue à lame}}                                                                                              ->> vague à l’âme
TEST: j’ai le vague à l’âme


# verre / vers / vert / ver
................................................................................
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [*NUM|*WORDELD] [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
    ,    [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
        <<- /maj/ not \2.isupper() -2:>> =\2.lower()
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [1|2|3|4|5|6|7|8|9|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31] Mars
    en Mars
        <<- /maj/ not \2.isupper() -2:>> mars
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

TEST: 15 {{Septembre}}                                                  ->> septembre
TEST: 23 {{Messidor}}                                                   ->> messidor
TEST: ils viendront en {{Mars}}.                                        ->> mars

TEST: depuis {{Janvier}}, que des emmerdeurs                            ->> janvier
TEST: le comité d’éthique qui statuera dans les meilleurs délais sur la situation de Véronique Avril
TEST: VENDREDI 23 NOVEMBRE 2018 À 18:09
TEST: André Juin était un sculpteur français.
TEST: Où étais-tu le onze septembre
TODO: La bataille de Monte Cassino révèle le génie militaire du général Juin.

................................................................................
# Assemblée
__maj_Assemblée_nationale__
    assemblée nationale
        <<- /maj/ \1 == "assemblée" -1>> Assemblée                      && Majuscule manquante.

TEST: l’{{assemblée}} nationale                                         ->> Assemblée
















# Dieu
__maj_Dieu__
    dieu
        <<- /maj/ \1.islower() and not morph(<1, ":[DA]") and not morph(>1, ":A|>(?:d[eu’]|des)/")
        ->> Dieu                                                                                    && Si vous évoquez le seigneur de l’Univers, mettez une majuscule.

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

    [de|d’] [plusieurs|quelques|$:B|*NUM] [ans|années|mois] [mon|ton|son|notre|votre|leur] [cadet|aîné+e]
    [de|d’] [plusieurs|quelques|$:B|*NUM] [ans|années|mois] [ma|ta|sa|notre|votre|leur] cadette
        <<- ~>> *


__purge_saisons__
    à [compter|partir] [de|d’]  l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [à|dès|depuis|de|d’]        l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à l’ orée [de|d’]           l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours [de|d’]            l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après]               l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    dans le courant [de|d’]     l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ à                    l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à               l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à [compter|partir] du       printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [au|du]                     printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à l’ orée du                printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours du                 printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le            printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    dans le courant du          printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ au                   printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au              printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿


















        <<- ~>> *

    à [compter|partir] du       [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [au|du]                     [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à l’ orée du                [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours du                 [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le            [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ au                   [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au              [début|milieu] [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à [compter|partir] du       [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [au|du]                     [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à l’ orée du                [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours du                 [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le            [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ au                   [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au              [début|milieu] du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
















        <<- ~>> *

    à [compter|partir] [de|d’]  la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [à|dès|depuis|de|d’]        la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à l’ orée [de|d’]           la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours [de|d’]            la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après]               la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ à                    la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à               la fin [de|d’] l’ [automne|été|hiver]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à [compter|partir] [de|d’]  la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [à|dès|depuis|de|d’]        la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à l’ orée [de|d’]           la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours [de|d’]            la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après]               la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ à                    la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à               la fin du printemps  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
















        <<- ~>> *

    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] [de|d’] l’ [été|automne|hiver] ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] [de|d’] l’ [été|automne|hiver] de l’ [an|année] ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] du printemps ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] du printemps de l’ [an|année] ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] d’ [été|automne|hiver] ?~^[0-9]{2,5}$¿
................................................................................
    [avant|après]           la fin du ?[premier|deuxième|troisième|quatrième]¿ [semestre|trimestre]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ à                la fin du ?[premier|deuxième|troisième|quatrième]¿ [semestre|trimestre]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à           la fin du ?[premier|deuxième|troisième|quatrième]¿ [semestre|trimestre]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *


__purge_dates_mois__
    à [compter|partir] du   [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le         [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [le|du]                 [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le        [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ au             [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au          [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    [les|des]               [1er|1ᵉʳ|~^\d\d?$] et ~^\d\d?$ {mois}    ?[derniers|passés|précédents|prochains|~^\d{2,5}$]¿
        <<- ~>> *

    dans la nuit du         [1er|1ᵉʳ|~^\d\d?$]  {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    dans la nuit du         [1er|1ᵉʳ|~^\d\d?$]  ?{mois}¿ au  [1er|1ᵉʳ|~^\d\d?$]  {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    au cours         [de|d’]    {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours du mois [de|d’]    {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    à l’ orée du mois [de|d’]   {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à [compter|partir] [de|d’]  {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ [en|à]             {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après]               {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis|de|d’]          {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au              {mois}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    ?[à|avant|après|de|d’|depuis]¿ [début|milieu|fin] {mois} ?~^\d{2,5}$¿
        <<- not morph(<1, ":D") ~>> *

    à [compter|partir]          [début|milieu|fin] {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ [en|à]             [début|milieu|fin] {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis|de|d’]          [début|milieu|fin] {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à               [début|milieu|fin] {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    ?jusqu’¿ au         [début|milieu]                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ au         [début|milieu] [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ au         [début|milieu] du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le    [début|milieu]                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le    [début|milieu] [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le    [début|milieu] du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le     [début|milieu]                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le     [début|milieu] [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le     [début|milieu] du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    du                  [début|milieu]                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    du                  [début|milieu] [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    du                  [début|milieu] du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au      [début|milieu]                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au      [début|milieu] [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au      [début|milieu] du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    ?jusqu’¿ à la           fin                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ à la           fin [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ à la           fin du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] la        fin                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] la        fin [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] la        fin du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [de|d’|dès|depuis] la   fin                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [de|d’|dès|depuis] la   fin [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [de|d’|dès|depuis] la   fin du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à la        fin                   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à la        fin [de|d’]           {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à la        fin du mois [de|d’]   {mois} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    en ce début     {mois} ?~^\d{2,5}$¿
    [à|en] la fin   {mois} ?~^\d{2,5}$¿
        <<- ~>> *

    [début|fin] {mois} ~^\d{2,5}$
        <<- not morph(<1, ":D") ~>> *

    entre {mois} ?~^\d{2,5}$¿ et {mois} ?~^\d{2,5}$¿
        <<- ~>> *

    ?jusqu’¿ à                      la {mi_mois} ?~^\d{2,5}$¿
    [après|avant|dès|depuis|de|d’]  la {mi_mois} ?~^\d{2,5}$¿
    par rapport à                   la {mi_mois} ?~^\d{2,5}$¿
        <<- ~>> *


__purge_horaires_et_durée__
    24      [heures|h]      [sur|/]  24
    7       [jours|j]       [sur|/]  7
    sept    [jours|j]       [sur|/]  sept
................................................................................
    >discipline [de|d’] [acier|fer]
    >doigt [de|d’] fée
    >don en nature
    >donneur [de|d’] >leçon
    >dossier d’ inscription ?[administrative|scolaire]¿
    >dossier [de|d’] presse
    >drapeau en berne

    >drone [de|d’] [combat|surveillance]
    >drogue [de|d’] synthèse
    >eau [de|d’] [bouleau|bleuet|chaux|coco|javel|jouvence|mer|parfum|pluie|seltz|source|vie]
    >eau [de|d’] noix [de|d’] coco
    >écart [de|d’] [conduite|langage]
    >échelle [de|d’] secours
    >économie [de|d’] >bout [de|d’] >chandelle
................................................................................
    >livraison à domicile
    >livre [de|d’] [poche|chevet]
    >livret A
    >livret d’ épargne ?[bancaire|populaire|salariale]¿
    >local à louer
    >locomotive à vapeur
    >loi d’ airain


    >longueur d’ avance
    >lopin [de|d’] terre ?[desséchée|glaiseuse|grise|jaune|noire|ocre|rouge|sableuse|sèche]¿
    >lune [de|d’] miel
    lunettes [de|d’] [soleil|vue]
    >lutte à outrance
    >machine à [café|coudre|écrire|laver|sous|vapeur|voter]
    >machine à remonter le temps
................................................................................
    >matelas à mémoire de forme
    >matière à [débat|polémique|réflexion]
    >médaille d’ [or|argent|bronze]
    >médecin [de|d’] [famille|garde]
    >mère au foyer
    >mesure >barrière
    >metteur en scène

    >mineur [de|d’] [moins|plus] [de|d’] *NUM ans
    >mineur [de|d’] [moins|plus] [de|d’] @:B:.:p ans
    >minute d’ arc
    >miroir aux alouettes
    >mise en danger de la vie d’ autrui
    >mouchoir [de|d’] poche
    >mode [de|d’] [emploi|paiement|scrutin|vie]
................................................................................
    taux [de|d’] mortalité ?[infantile|néonatale]¿
    >témoin à charge
    >tempête [de|d’] neige
    tenants et aboutissants
    >ténor du barreau
    >tentative [de|d’] suicide
    >tenue [de|d’] [rechange|route]
    >terrain [de|d’] [atterrissage|chasse|entente|golf]
    >tête à claques
    >tête d’ enterrement
    >tête [de|d’] [linotte|déterré+ses|mule|pont]
    >terrain à découvert
    >terrain [de|d’] jeu
    >tigre à dents [de|d’] sabre
    >tigre [de|d’] papier ?mâché¿
................................................................................
    >con comme une valise sans >poignée
    >con comme une bite
    >condamné à mort
    >corvéable à merci
    >court sur pattes
    [cousu+ses] [main]
    [cousu+ses] [de|d’] fil blanc
    [daté+ses] du [1er|1ᵉʳ|1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12|13|14|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31] {mois} ?[prochain|passé|dernier|précédent|~^[0-9]{2,5}$]¿
    >digne [de|d’] [confiance|foi]
    >digne [de|d’] ce nom
    >droit comme un i
    >égal à [moi-même|toi-même|lui-même|elle-même|iel-même|soi-même|nous-même+s|vous-même+s|eux-mêmes|elles-mêmes|iels-mêmes]
    >étroit d’ esprit
    >fort en gueule
    >fou à lier
................................................................................
        <<- ~-2:0>> *

    [>homme|>femme|>garçon|>garçonnet|>fille|>fillette|>gonze|>mec|>meuf|>vieillard]                    [de|d’] grand talent
    [>acteur|>architecte|>artiste|>auteur|>chef|>cinéaste|>cuisinier|>dessinateur|>écrivain|>graphiste] [de|d’] grand talent
    [>ingénieur|>joueur|>musicien|>peintre|>photographe|>réalisateur]                                   [de|d’] grand talent
        <<- ~2:0>> *








__purge_syntagmes_nominaux_matière__
    *WORD  en  acier  ?[galvanisé|inoxydable|trempé]¿       ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    *WORD  en  chêne  ?massif¿                              ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    *WORD  en  bois   ?vernis¿                              ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    *WORD  en  or     ?massif¿                              ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    *WORD  en  [alu|aluminium|argent|bois|contreplaqué|coton|cuir|cuivre|émail|étain|fer|fibrociment|fibro-ciment|inox] ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    *WORD  en  [inox|laiton|lin|métal|nacre|osier|plastique|plâtre|plomb|polycarbonate|polymère|verre|zinc]             ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
        <<- morph(\1, ":N", ":G") and not morph(>1, ":A.*:[me]:[si]") ~2:0>> *

    *WORD  en  pierre                       ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
    *WORD  en  pierre de taille             ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
    *WORD  en  soie                         ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
    *WORD  en  terre  ?[battue|cuite]¿      ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
        <<- morph(\1, ":N", ":G") and not morph(>1, ":A.*:[fe]:[si]") ~2:0>> *

TEST: deux câbles en acier situés de part et d’autre du chariot




__purge_locutions_adjectivales__
    ancienne [formule|génération]
    bas de gamme
    basse consommation
    bon [enfant|marché|teint]
................................................................................
TEST: le bonheur de plaire a des conséquences bénéfiques sur le moral.
TEST: le projet auquel ils ont mis fin a toutes les chances d’être repris par nos concurrents.
TEST: Le rêve a d’autres propriétés méconnues.


__conf_pronom_à_l_air__
    [tout|ça|ceci|cela|elle|tu]  à  l’  air  @:[AR]|>libre/
        <<- /conf/ morph(<1, ":Cs|<start>|>,") -2>> a               && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.

TEST: lorsque tout {{à}} l’air fini, c’est trompeur.                                        ->> a
TEST: Tout {{à}} l’air complètement foutu…                                                  ->> a
TEST: Ça {{à}} l’air génial.                                                                ->> a
TEST: elle {{à}} l’air heureuse.                                                            ->> a
TEST: Tout à la benne.

................................................................................
        <<- /conf/ -3>> a                       && Avoir “\4”. Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: Elle {{à}} chaud.                                                                     ->> a
TEST: Elle {{à}} froid.                                                                     ->> a
TEST: cet homme {{à}} faim                                                                  ->> a
TEST: Votre réaction à froid ?













__conf_faire_bande_à_part__
    >faire >bande a [>part|pare|pares|par]
    >faire >bande à [parts|pare|pares|par]
        <<- /conf/ -2:0>> bande à part          && Confusion. Locution “faire bande à part”.|https://fr.wiktionary.org/wiki/faire_bande_%C3%A0_part
        <<- !-2:-1>>

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

    >date [>frais|>dénoyauter|>fourrer|sèche+s|>sécher|>cultiver|>produire]
        <<- /conf/ morph(\2, ":A.*:f") -1>> =\1.replace("t", "tt").replace("T", "TT")   && Confusion probable. Pour parler du fruit, écrivez “datte”.|https://fr.wiktionary.org/wiki/datte

    >datte [du|de|des] [>bac|>baptême|>brevet|>calendrier|>carême|>carnaval|>concert|>début|>dépôt|>demande|>dernier|>diffusion|>document|>fermeture|>fin|>jour|>journal|>lancement|>livraison|mise+s|>mariage|>message|>mort|>naissance|>parution|>pentecôte|>péremption|>post|>prélèvement|>premier|prise+s|>prochain|>publication|>ramadan|>rapport|>réception|>référendum|>règlement|>retrait|>réunion|>séminaire|>show|>sortie|>spectacle|>terme|>tirage|>tournage|>trajet|>vente|>virement|>vol|>vote|>voyage|>lundi|>mardi|>mercredi|>jeudi|>vendredi|>samedi|>dimanche|congrès|décès|permis|procès]
    >datte d’ [accouchement|actualisation|achat|adhésion|anniversaire|apparition|échéance|édition|émission|engagement|entrée|envoi|examen|exécution|expédition|expiration|immatriculation|imputation|inscription|origine|ouverture|ovulation|aujourd’hui|Halloween]
    >datte de l’ [accouchement|actualisation|achat|adhésion|anniversaire|apparition|échéance|édition|émission|engagement|entrée|envoi|examen|exécution|expédition|expiration|immatriculation|imputation|inscription|origine|ouverture|ovulation]
    >datte du /NUM [janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre]
        <<- /conf/ -1>> =\1.replace("tt", "t").replace("TT", "T")       && Confusion probable. La datte est un fruit. Pour évoquer un jour dans l’année, écrivez “date”.|https://fr.wiktionary.org/wiki/date

    >dernier en >datte
        <<- /conf/ -3>> date                                            && Confusion probable. La datte est un fruit. Pour évoquer un jour dans l’année, écrivez “date”.|https://fr.wiktionary.org/wiki/date

TEST: il va faire un cake aux {{dates}}.                                                        ->> dattes
TEST: elle a fait de la confiture de {{dates}}                                                  ->> dattes
................................................................................

# entretient / maintient / soutient
__conf_entretient_maintient_soutient__
    $:M  [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ -2>> \2t                                                                 && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [un|le|ce|cet]                     *WORD           [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>,/") and morph(\2, ":N", ":[AG]")
        -3>> \3t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [une|la|cette|ma|ta|sa]            *WORD           [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>,/") and morph(\2, ":N.*:[fe]")
        -3>> \3t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [l’|mon|ton|son|notre|votre|leur]  *WORD           [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>,/") and morph(\2, ":N", ":A.*:[me]:[si]")
        -3>> \3t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [un|le|ce|cet]                     *WORD  *WORD    [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>,/") and morph(\2, ":[NA]") and morph(\3, ":N", ":[AG]")
        -4>> \4t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [une|la|cette|ma|ta|sa]            *WORD  *WORD    [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>,/") and morph(\2, ":[NA].*:[fe]:[si]") and morph(\3, ":[NA].*:[fe]:[si]")
        -4>> \4t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [l’|mon|ton|son|notre|votre|leur]  *WORD  *WORD    [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>,/") and ( (morph(\2, ":N", "*") and morph(\3, ":A")) or (morph(\2, ":[NA]") and morph(\3, ":N", ":A.*:[me]:[si]")) )
        -4>> \4t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    qui [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ -2>> \2t                                                                 && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

TEST: Sophie {{soutien}} à fond son épouse                      ->> soutient
TEST: la grande {{maintien}} sa version.                        ->> maintient
................................................................................
TEST: Je veux savoir où et quand, où et pouquoi.
TEST: où et avec qui ?
TEST: je veux savoir où et lequel je dois flinguer


__conf_été_était__
    [le|ce|cet|mon|ton|son|notre|votre|leur|du|quel]  *WORD  >été
        <<- /conf/ morph(\2, ":N.*:m:[si]", ":(?:[AWG]|V0a)") and morph(<1, ":Cs|<start>|>,") --1>> était
        && Confusion possible. Si le syntagme “\1 \2” est le sujet d’“\3”, écrivez “était”. L’été est la saison estivale allant de juin à septembre dans l’hémisphère Nord.

    [la|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|quelle]  *WORD  >été
        <<- /conf/ morph(\2, ":N.*:f:[si]", ":(?:[AWG]|V0a)") and morph(<1, ":Cs|<start>|>,") --1>> était
        && Confusion possible. Si le syntagme “\1 \2” est le sujet d’“\3”, écrivez “était”. L’été est la saison estivale allant de juin à septembre dans l’hémisphère Nord.

    [les|des|ces|mes|tes|ces|nos|vos|leurs|quelques|plusieurs|certains|certaines|quels|quelles|maints|maintes]  *WORD  >été
        <<- /conf/ morph(\2, ":N.*:[pi]", ":(?:[AWG]|V0a)") and morph(<1, ":Cs|<start>|>,") --1>> étaient
        && Confusion possible. Si le syntagme “\1 \2” est le sujet d’“\3”, écrivez “étaient”. L’été est la saison estivale allant de juin à septembre dans l’hémisphère Nord.

TEST: Ce mec {{été}} un connard fini.                                               ->> était
TEST: Quelle solution {{été}} à notre portée ?                                      ->> était
TEST: Les questions {{étés}} incompréhensibles.                                     ->> étaient
TEST: Le bel été indien que nous avons cette année.
TEST: Quel a été le déclencheur de cet ouvrage ?
................................................................................
    <start>  se  *WORD  @:(?:[123][sp]|P)¬:G
        <<- /conf/ morph0(\3, ":[NA]", ":Y") -2>> ce                            && Confusion probable. Si “\3” est bien un nom ou un adjectif, alors écrivez “ce”.

TEST: que sais-tu de {{se}} {{type}}                                    ->> ce|||typer
TEST: {{se}} type nous emmerde.                                         ->> ce
TEST: se doit d’être fort, ce con, sinon c’est la fin pour lui.















## soit / soie / soi
__conf_aller_de_soi__
    >aller [de|d’] [sois|>soie]
        <<- /conf/ -3>> soi                                 && Confusion.|https://fr.wiktionary.org/wiki/aller_de_soi

    >aller de soit
................................................................................
TEST: l’homme {{vie}} ses derniers instants                     ->> vit
TEST: le sortilège “vie de merde” n’eut aucun effet
TEST: c’est comme toujours une question de vie ou de mort
TEST: il avait droit de vie et de mort sur tous.
TEST: donne signe de vie plus souvent, s’il te plaît.
TEST: l’homme qui resta en vit toute l’injustice






































!!
!!
!!!! Groupe nominal (avec déterminants)                                                           !!
!!
!!

................................................................................
TEST: l’amour {{immortels}}                                                         ->> immortel
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.        ->> excellent|||
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.             ->> collier
TEST: elle prendra l’{{avions}} dès que possible                                    ->> avion


__gn_l_2m_virg__
    <start>  l’  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggAgree(\5, \3)                                                                    && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: L’homme, {{blessés}} par deux fois                                            ->> blessé


__gn_l_3m__
................................................................................
TEST: {{le}} gigantesque {{explosion}}                                                  ->> la|||
TEST: je ne sais jamais quoi faire et {{le}} gigantesque {{explosion}} n’a rien arrangé ->> la|||
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.


__gn_le_2m_virg__
    <start>  le  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[me]:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggMasSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: Le tyran, {{blessée}} par deux fois                                               ->> blessé


__gn_le_3m__
................................................................................
TEST: Il faut donc examiner ensemble le panneau et la paroi latérale.
TEST: Il faut donc examiner ensemble le panneau et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latérale.


__gn_la_2m_virg__
    <start>  la  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggFemSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: La femme, {{blessées}} par deux fois                                                      ->> blessée



__gn_la_3m__
    la  *WORD  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D")
            and morph(\2, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P)|;C") and morph(\4, ":[NA].*:[mp]", "*") and \4.islower()
        -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
................................................................................
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.      ->> insupportable
TEST: {{leur}} gros {{grains}}                                                  ->> leurs|||grain
TEST: Que ferons-nous de {{leur}} gros {{grains}}                               ->> leurs|||grain
TEST: 3 milliards d’euros que depuis 2012 l’État leur a volés


__gn_leur_2m_virg__
    <start>  leur  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: Leur maître, {{blessés}} par deux fois                                    ->> blessé


__gn_leur_3m__
................................................................................
TEST: que sais-tu d’un homme {{grande}} comme un arbre                                      ->> grand
TEST: je me souviens d’un homme {{arrogants}}                                               ->> arrogant
TEST: trois d’{{un}} quelconque {{élégance}}                                                ->> une|||
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.     ->> bancal


__gn_un_2m_virg__
    <start>  un  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5)
        --1>> =suggMasSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: un homme, {{blessés}} par deux fois                                       ->> blessé


__gn_une_2m__
................................................................................
TEST: on parle d’une Église {{brûlées}}                                         ->> brûlée
TEST: {{une}} gigantesque {{porte-avions}}                                      ->> un|||
TEST: d’{{une}} titanesque {{opportunisme}}                                     ->> un|||
TEST: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes.


__gn_une_2m_virg__
    <start>  une  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5)
        --1>> =suggFemSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: une femme, {{blessés}} par deux fois                                      ->> blessée


__gn_du_1m__
................................................................................
TEST: cet outil {{terribles}} qu’il a dans les mains                            ->> terrible
TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle.               ->> gauchiste
TEST: au petit {{publique}}                                                     ->> public
TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}.               ->> délirant


__gn_det_mas_sing_2m_virg__
    <start>  [ce|cet|quel|au|ledit|dudit|audit|aucun|nul]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5)
        --1>> =suggMasSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: ce con, {{blessée}} par deux fois                                         ->> blessé


__gn_det_mas_sing_3m__
................................................................................
TEST: on parlait de son escapade {{éperdu}} au milieu de la nuit.               ->> éperdue
TEST: ton étonnante {{secret}} ne sera pas au programme.                        ->> secrète
TEST: elle s’étonnait de ton opposition {{grandissantes}}                       ->> grandissante
TEST: le ton monte.


__gn_mon_ton_son_2m_virg__
    <start>  [mon|ton|son]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5) >>>
        <<- /gn/ morph(\3, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:[me]:[si]")  --1>> =suggMasSing(\-1)   && Cet adjectif n’est pas accordé avec “\2 \3”.
        <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæh]") --1>> =suggAgree(\-1, \3)                         && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: mon mari, {{blessée}} par deux fois                                       ->> blessé
TEST: ton âme, {{ébranlé}} par ces révélations                                  ->> ébranlée
TEST: son homme, {{stupéfaite}} par ces révélations                             ->> stupéfait
................................................................................
TEST: j’en ai assez de cette ville {{stressées}} en permanence.                 ->> stressée
TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ?                           ->> beau|||enfants
TEST: de ma grande {{ami}}                                                      ->> amie
TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance.


__gn_det_fem_sing_2m_virg__
    <start>  [ma|ta|sa|cette|quelle|ladite|aucune|nulle]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5)
        --1>> =suggFemSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: cette femme, {{blessées}} par deux fois                                   ->> blessée


__gn_det_fem_sing_3m__
................................................................................
TEST: que faire de votre {{ennuyeuse}} {{avocat}}                               ->> ennuyeux|||avocate
TEST: de quelque cartable {{vides}}                                             ->> vide
TEST: de notre petit {{amis}}                                                   ->> ami
TEST: Quelque chose tombé dans le puits a souillé l’eau.


__gn_det_epi_sing_2m_virg__
    <start>  [chaque|quelque|notre|votre]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: votre femme, {{blessés}} par deux fois                                    ->> blessée
TEST: chaque homme, {{blessées}} par deux fois                                  ->> blessé


................................................................................
TEST: les agrandissements photo
TEST: Il faut donc examiner ensemble les panneaux et les parois latéraux.
TEST: Il faut donc examiner ensemble les panneaux et les parois latérales.
TEST: l’homme les a volés


__gn_les_2m_virg__
    <start>  les  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: les femmes, {{blessé}} par deux fois                                      ->> blessées
TEST: les hommes, {{blessée}} par deux fois                                     ->> blessés



__gn_leurs_1m__
    leurs  *WORD
        <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
        -2>> =suggPlur(\2)                                                                  && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
        <<- /gn/ __also__ -1>> leur                                                         && Accord de nombre erroné avec « \2 ».
................................................................................
TEST: Une des pierres veinée de rouge…
TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie.
TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion.
TEST: le bruit de nos pas étouffé par l’épais tapis.


__gn_det_epi_plur_2m_virg__
    <start>  [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: nos femmes, {{blessé}} par deux fois                                      ->> blessées
TEST: vos hommes, {{blessée}} par deux fois                                     ->> blessés



__gn_det_mas_plur_2m__
    [certains|maints|quels|lesdits|desdits|auxdits]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasPlur(\3, True)                                                         && Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
................................................................................
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_mas_plur_2m_virg__
    <start>  [certains|maints|quels|lesdits|desdits|auxdits]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[me]:[pi]") and not agreement(\3, \5)
        --1>> =suggMasPlur(\-1)                                                             && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: maints hommes, {{blessée}} par deux fois                                              ->> blessés


__gn_det_fem_plur_2m__
................................................................................
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_det_fem_plur_2m_virg__
    <start>  [certaines|maintes|quelles|lesdites|desdites|auxdites]  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[pi]") and not agreement(\3, \5)
        --1>> =suggFemPlur(\-1)                                                             && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: certaines femmes, {{blessé}} par deux fois                                            ->> blessées


__gn_nombre_plur_2m__
................................................................................
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_nombre_2m_virg__
    <start>  @:B:.:p  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                                   && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: deux femmes, {{blessé}} par deux fois                                                 ->> blessées
TEST: trois hommes, {{blessée}} par deux fois                                               ->> blessés


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":(?:[VRBXÉ]|Cs)|>comme/|<start>|>,", "*") or morph(\3, ":N", ":[AQ]")) and not morph(\3, ">(?:seul|minimum|maximum)/") >>>
        <<- /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: 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_des_2m_virg__
    <start>  des  *WORD  ,  $:A¬:G
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                                   && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: des femmes, {{blessé}} par deux fois                                                  ->> blessées
TEST: des hommes, {{blessée}} par deux fois                                                 ->> blessés


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


#### Groupes, regroupements, collections, etc.

## Pluriel des groupes
__gn_nombre_de_1m__
    nombre  [de|d’]  *WORD
        <<- /gn/ morph(\3, ":[NA].*:s", ":[ip]|>o(?:nde|xydation|r)/") and morph(<1, ":(?:G|[123][sp])|<start>|>,", ":[AD]")
        -3>> =suggPlur(\3)                                                                  && Ici, le syntagme « nombre de » devrait probablement être suivi d’un pluriel.

TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui.        ->> emmerdeurs


__gn_plein_de__
    pleins [de|d’]
        <<- /gn/ morph(<1, ":(?:V|R|[NAQ].*:s)|<start>|>,", ":(?:[NA].*:[pi]|V.e.*:[123]p)")
        -1>> plein                                                  && S’il s’agit d’une préposition et non d’un adjectif, “plein” doit être au singulier.

    plein [de|d’] [client|conseil|croyance|croyant|demande|élève|enfant|erreur|étudiant+e|faute|femme|fidèle|fille|fillette|garçon|homme|individu|personne|patient+e|touriste]
        <<- /gn/ --1>> \3s                                          && S’il y en a plein (c’est-à-dire plusieurs), il faut mettre au pluriel.

TEST: Je connais {{pleins}} de gens                                         ->> plein
TEST: un site avec {{pleins}} de pubs                                       ->> plein
................................................................................
TEST: elle met la barre très haut


# juste
__gn_adverbe_juste__
    justes
        <<- /gn/ \1.islower() and morph(<1, ":V", ":[DA]") and not morph(>1, ":[NA].*:[pi]")
            and not (morph(<1, ">(?:être|sembler|devenir|rester|demeurer|redevenir|para[îi]tre|trouver)/.*:[123]p") and morph(>1, ":G|<end>|>,/"))
        ->> juste                                                   && Si “juste” est un adverbe, il est invariable.

TEST: Viser {{justes}}                                              ->> juste
TEST: Voir {{justes}}.                                              ->> juste
TEST: Penser juste.
TEST: Dures mais justes.
TEST: J’ai retrouvé tout mon ressenti, tous les mots sont justes.
................................................................................
TEST: quand ce fut fait, il lui manqua la force de répliquer.


__conf_qui_pronom_verbe__
    qui  [lui|nous|vous]  @:[NA]¬:(?:[123][sp]|P)
        <<- /conf/ hasSimil(\-1, ":(?:[123][sp]|P)") --1>> =suggSimil(\-1, ":[123][sp]")            && Confusion probable : “\-1” n’est pas une forme verbale conjuguée.











    qui  *WORD  [,|<end>|$:D]

        <<- /conf/ morph(\2, ":[NA]", ":(?:[123][sp]|P)") and hasSimil(\2, ":(?:[123][sp])")
        -2>> =suggSimil(\2, ":[123][sp]")                                                           && Confusion probable : “\2” n’est pas une forme verbale conjuguée.

TEST: Et gardez bien en tête que la personne qui vous {{contact}} peut-être un sous-traitant        ->> contacte|contactes|contactent
TEST: la nature qui nous {{maintien}} en vie                                                        ->> maintiens|maintient
TEST: un homme qui {{oubli}} son devoir                                                             ->> oublie|oublies|oublient


TEST: qu’est-ce qui lui donne cette assurance ?
TEST: qui vous prend aux tripes


__bs_substantif_de_adj__
    il  y     >avoir             [un|une]  ?[seul|seule]¿  *WORD  [de|d’]  $:Q¬:G
    il  n’ y  >avoir  qu’        [un|une]  ?[seul|seule]¿  *WORD  [de|d’]  $:Q¬:G
................................................................................
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   vous    >seul           [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   eux     seuls           [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   elles   seules          [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   iels    [seuls|seules]  [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   [vous|nous] autres      [<end>|,|@:[VXG]¬>qui/]
        <<- ~1:3>> *

    [avant|avec|envers|chez|malgré|selon] {pronom_obj}                                                        [<end>|,|@:[VXG]¬>qui/]
    [à|après|contre|par|pour|sans|de|d’]  [moi|toi|soi|elle|iel|eux|elles|iels|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel-même|iels-mêmes] [<end>|,|@:[VXG]¬>qui/]
        <<- ~1:2>> *

    [à|après|contre|par|pour|sans|de|d’|en] [lui|nous|vous] [<end>|,|@:G¬Ov]
        <<- ~1:2>> *

    [à|après|contre|par|pour|sans|de|d’|en] [lui|nous|vous] en $:P
        <<- ~1:2>> *

    en [moi|toi|soi|elle|iel|eux|elles|iels|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel-même|iels-mêmes]
        <<- ~>> *

    entre {pronom_obj} et {pronom_obj}
    entre [nous|vous|eux|elles|iels] ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix]¿
        <<- ~>> *

    ni [après|avec|chez|contre|de|d’|derrière|devant|envers|malgré|pour|sans|sous|sur] {pronom_obj} ?,¿
        || ni [après|avec|chez|contre|de|d’|derrière|devant|envers|malgré|pour|sans|sous|sur] {pronom_obj}
        <<- ~>> *

    jusqu’ à        chez
    [de|d’]         chez
    ?[de|d’]? par   chez
    pour            chez
        <<- ~1:-2>> *

    ?[de|d’]? à bonne distance [de|d’]      {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? à côté [de|d’]                {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? à part                        {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? à [cause|partir] [de|d’]      {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? autour [de|d’]                {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au-dessus [de|d’]             {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au-dedans [de|d’]             {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au fond [de|d’]               {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au plus profond [de|d’]       {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? chez *WORD ?jusqu’¿ à chez    {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? en dessous [de|d’]            {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? ?tout¿ au fond [de|d’]        {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? ?tout¿ autour [de|d’]         {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? avec ou sans                  {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? en paix avec                  {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? par-devers                    {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? par >égard pour               {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? par gratitude pour            {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? pour ou contre                {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? ?tout¿ près [de|d’]           {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? sans >égard pour              {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
    quant à                                 {pronom_obj}  [<end>|,|@:[VXG]¬>qui/]
        <<- ~1:-2>> *

    [moi|toi]       [seul+e]
    lui             seul
    elle            seule
    iel             [seul+e]
    [nous|vous]     [seuls|seules]
................................................................................
        <<- /1>> _LVEID_
        <<- />> _LVEI_
        <<- /-1>> _LVEIF_


    ## locutions verbales d’état pronominales

    [me|m’] ?[en|y]¿ [>avouer|>faire|>montrer|>penser|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    [te|t’] ?[en|y]¿ [>avouer|>faire|>montrer|>penser|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    nous    ?[en|y]¿ [>avouer|>faire|>montrer|>penser|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    vous    ?[en|y]¿ [>avouer|>faire|>montrer|>penser|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    [se|s’] ?[en|y]¿ [>avouer|>faire|>montrer|>penser|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
        <<- /-1>> _VEP_

    [me|m’] ?[en|y]¿ /-je
    [te|t’] ?[en|y]¿ /-tu
    nous    ?[en|y]¿ /-nous
    vous    ?[en|y]¿ /-vous
    [se|s’] ?[en|y]¿ [/-il|/-elle|/-on|/-iel|/-ils|/-elles|/-iels]
................................................................................
!!
!!
!!!! Participes passés: COD précédant que                                                         !!
!!
!!

__ppas_det_sing_COD_que_avoir__



    [un|le|ce|cet]  *WORD  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|É|[me]:[si])
    [un|le|ce|cet]  *WORD  [que|qu’]  $:D¬:R  @:[NA]                                          ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|É|[me]:[si])
        <<- /ppas/ morph(\2, ":[NA].*:[me]") --1>> =suggVerbPpas(\-1, ":m:s")
        && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

    [une|la|cette|ma|ta|sa]  *WORD  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si])
    [une|la|cette|ma|ta|sa]  *WORD  [que|qu’]  $:D¬:R  @:[NA]                                          ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si])
................................................................................
TEST: l’épée que tu nous as {{envoyés}}                                         ->> envoyée
TEST: votre père que vous m’avez {{envoyée}}                                    ->> envoyé
TEST: ton psychologue que tu nous as {{suggérés}}                               ->> suggéré
TEST: le flacon qu’ils ont réussi à acquérir
TEST: la danse qu’ils ont réussi à faire
TEST: La dernière fois qu’elle a brûlé, c’était pendant la Commune.
TEST: en ayant l’impression qu’il a beaucoup réussi


__ppas_det_plur_COD_que_avoir__
    [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q¬:[GWÉ]
    [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  [que|qu’]  $:D¬:R  @:[NA]                                          ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q¬:[GWÉ]
        <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)")
            and not ((value(\-1, "|décidé|essayé|imaginé|ordonné|oublié|supplié|tenté|") and value(>1, "|de|d’|")) or (value(\-1, "|réussi|pensé|échoué|") and value(>1, "|à|")))
            and morph(\2, ":[NA]") >>>
................................................................................
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

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

TEST: {{chante les}} avec conviction                                                ->> chante-les
TEST: tu dois finir, {{finit les}}.                                                 ->> finis-les
TEST: Veut les en convaincre.
TEST: Invite les plus intelligents…
TEST: Prenez les 5 ou 6 revues les plus connues.
................................................................................
TEST: Allez les chercher.
TEST: Soyez les plus gentils qu’on puisse imaginer.


__imp_union_le_la_leur__
    *WORD  [le|la|leur]
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|en|y|une?|leur|lui)/")
            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  [le|la|leur]
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/")
            and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|T|MP|3[sp])|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|en|y|une?|leur|lui)/")
        -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: {{Prends le}} avec toi.                                                       ->> Prends-le
TEST: {{Dites leur}} que nous sommes là.                                            ->> Dites-leur
TEST: c’est ça, {{apprend le}} parce que c’est compliqué.                           ->> apprends-le
TEST: {{pardonne leur}}, ils ne savent pas ce qu’ils font                           ->> pardonne-leur
TEST: un sujet si extrêmement politique et polémique lui a donné un accès
................................................................................
TEST: Daignez le lui permettre
TEST: Daignez la leur donner


__imp_union_en__
    *WORD  en
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Q|Y|M|P|B|H|T|D|Ov)|>(?:plus|moins|mieux|peu|trop|très|une?)/") 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

    [<start>|,|(]  *WORD  en
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GME]|>(?:aller|partir)/")
            and morph(>1, ":|<end>|>,", ":(?:N|A|Y|M|P|B|3[sp]|D|Ov)|>(?:plus|moins|mieux|peu|trop|très|une?)/") >>>
        <<- /imp/ morph(\2, ":V1") -2:3>> \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
        <<- /imp/ __else__ -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: {{restons en}} là.                                        ->> restons-en
TEST: tu crois ça, {{donnes en}} encore                         ->> donnes-en
TEST: tu crois ça, {{prend en}}                                 ->> prends-en
TEST: tu crois ça, {{donne en}} encore                          ->> donnes-en
................................................................................

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__
................................................................................

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

................................................................................
!!
!!
!!!! Incohérence verbe/nom                                                                        !!
!!
!!

__conf_le_la_leur_les_verbe_nom!6__
    [<start>|,|(] [le|un]         @:V¬:[NAY]  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] [le|un]         @:V¬:[NAY]  [le|la|l’|les|leur]         @:[123][sp]¬:[QNAG]
    [<start>|,|(] [le|un]         @:V¬:[NAY]  ?[nous|vous]¿               @:[123][sp]¬:[QG]

        <<- /conf/ hasSimil(\3, ":[NA].*:[me]:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[me]:[si]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [la|une]        @:V¬:[NAY]  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] [la|une]        @:V¬:[NAY]  [le|la|l’|les|leur]         @:[123][sp]¬:[QNAG]
    [<start>|,|(] [la|une]        @:V¬:[NAY]  ?[nous|vous]¿               @:[123][sp]¬:[QG]

        <<- /conf/ hasSimil(\3, ":[NA].*:[fe]:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[fe]:[si]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] l’              @:V¬:[NAY]  [ne|n’|me|m’|te|s’|se|s’]

    [<start>|,|(] l’              @:V¬:[NAY]  [le|la|l’|les|leur]         @:[123][sp]¬:[QNAG]
    [<start>|,|(] l’              @:V¬:[NAY]  ?[nous|vous]¿               @:[123][sp]¬:[QG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[si]", True)                                   && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] leur            @:V¬:[NAY]  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] leur            @:V¬:[NAY]  [le|la|l’|les|leur]         @:[123][sp]¬:[QNAG]
    [<start>|,|(] leur            @:V¬:[NAY]  ?[nous|vous]¿               @:[123][sp]¬:[QG]

        <<- /conf/ hasSimil(\3, ":[NA].*:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[si]", True)                                   && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:[NAY]  [ne|n’|me|m’|te|s’|se|s’]

    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:[NAY]  [le|la|l’|les|leur]  @:[123][sp]¬:[QNAG]
    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:[NAY]  ?[nous|vous]¿        @:[123][sp]¬:[QG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[pi]")
        -3>> =suggSimil(\3, ":[NA].*:[pi]", True)                                   && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [certains|maints]     @:V¬:[NAY]  [me|m’|te|s’|se|s’]
    [<start>|,|(] [certains|maints]     @:V¬:[NAY]  [ne|n’]                     @:[123][sp]
    [<start>|,|(] [certains|maints]     @:V¬:[NAY]  [le|la|l’|les|leur]         @:[123][sp]¬:[QNAG]
    [<start>|,|(] [certains|maints]     @:V¬:[NAY]  ?[nous|vous]¿               @:[123][sp]¬:[QG]

        <<- /conf/ hasSimil(\3, ":[NA].*:[me]:[pi]")
        -3>> =suggSimil(\3, ":[NA].*:[me]:[pi]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [certaines|maintes]   @:V¬:[NAY]  [me|m’|te|s’|se|s’]
    [<start>|,|(] [certaines|maintes]   @:V¬:[NAY]  [ne|n’]                     @:[123][sp]
    [<start>|,|(] [certaines|maintes]   @:V¬:[NAY]  [le|la|l’|les|leur]         @:[123][sp]¬:[QNAG]
    [<start>|,|(] [certaines|maintes]   @:V¬:[NAY]  ?[nous|vous]¿               @:[123][sp]¬:[QG]

        <<- /conf/ hasSimil(\3, ":[NA].*:[fe]:[pi]")
        -3>> =suggSimil(\3, ":[NA].*:[fe]:[pi]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

TEST: Un {{défie}} se définit par la difficulté                 ->> défi
TEST: Le {{défit}} ne l’enthousiasmait pas.                     ->> défi
TEST: Le {{défie}} ne l’enthousiasmait pas.                     ->> défi
TEST: Les {{connections}} étaient défaillantes.                 ->> connexions
................................................................................
TEST: Laquelle choisir ?
TEST: Lequel manger ?
TEST: Une société a vendu un terrain à bâtir à un acquéreur, lequel entreprend des travaux pour y construire un pavillon.


__conj_personne__
    personne  @:V¬:(?:3s|P|G|[QA].*:f:s)
        <<- /conj/ morph(<1, ":C|<start>|>,", ":(?:P|Q|[123][sp]|R)|>ni/")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    personne  qui  @:V¬:(?:3s|P|G)
        <<- /conj/ morph(<1, ":[CRV]|<start>|>,", ":D")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Personne ne {{peux}} me le dire.                                              ->> peut
TEST: personne n’en {{parlent}}                                                     ->> parle
TEST: je connais personne qui en {{parlent}} autant                                 ->> parle
TEST: en tant que personne qualifiée


__conj_rien__
    rien  @:V¬:(?:3s|P|Y|G)
        <<- /conj/ tag(\2, "neg") and morph(<1, ":Cs|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
            and not(morph(\2, ":Y") and value(<1, "|ne|"))
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    rien  qui  @:V¬:(?:3s|P|G)
        <<- /conj/ morph(<1, ":[CRV]|<start>|>,")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Rien ne {{sers}} de courir                                                    ->> sert
TEST: Rien n’{{arrives}} sans raison                                                ->> arrive
TEST: Rien, en ce qui le concernait, ne {{pouvais}} le ramener à la raison.         ->> pouvait
TEST: ils ne savent rien qui {{puissent}} les aider                                 ->> puisse
TEST: rien qui {{soient}} aussi difficile                                           ->> soit
................................................................................
TEST: comme si son pays n’avait rien appris du fascisme ni rien reçu de l’Europe
TEST: dans un système qui ne leur a pratiquement rien donné, rien transmis


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

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


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

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

TEST: aucun ne {{savaient}} que faire                                               ->> savait
TEST: aucune n’{{iront}} là-bas                                                     ->> ira
TEST: aucune femme ne {{sauraient}} le faire                                        ->> saurait
TEST: aucun homme ne {{sauraient}} s’y prendre                                      ->> saurait
TEST: aucun d’entre nous n’{{as}} donné                                             ->> a
................................................................................
TEST: Venir vaincue ne lui épargna aucune indignité.
TEST: Mais migrer un site et ses contenus prend du temps…
TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité.


__conj_le_la_leur_nom!5__
    le  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggMasSing)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    la  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggFemSing)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [l’|leur]  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggSing)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [le|la|l’|leur]  *WORD  qui  @:V¬:(?:3s|P|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\4, ":3p") )
        -4>> =suggVerb(\4, ":3s")                                                                   && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Le chien n’{{es}} pas mort.                                                                   ->> est
TEST: le chat {{finissent}}                                                                         ->> finit
TEST: Le damné {{donnes}}                                                                           ->> donne|donné
................................................................................
TEST: la majorité survenaient sous la contrainte
TEST: la plupart avançaient en rangs serrés
TEST: un grand nombre avaient été humiliés par ces pratiques délétères


__conj_det_sing_nom__
    [un|ce|cet|mon|ton|son|notre|votre]  *WORD  @:[123][sp]¬:(?:3s|P|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]|>et/") and morph(\2, ":[NA].*:[me]:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|nombre|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggSing)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [une|cette|mon|ton|son|ma|ta|sa|notre|votre]  *WORD  @:[123][sp]¬:(?:3s|P|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]|>et/") and morph(\2, ":[NA].*:[fe]:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggSing)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre]  *WORD  qui  @:V¬:(?:3s|P|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]|>et/") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\4, ":3p") )
        -4>> =suggVerb(\4, ":3s")                                                                   && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Tu devrais le savoir, ce roman-là de Jean-Paul Sartre {{es}} passionnant.                     ->> est
TEST: Cette confusion qui {{donnent}} le tournis.                                                   ->> donne
TEST: tu sais, une hausse de 2 % {{satisfais}} tout le monde                                        ->> satisfait
................................................................................
TEST: Trente et un viennent ce soir.
TEST: Quarante et une seront là demain.
TEST: Tous sauf un viendront.


__conj_un_une_des__
    [un|une]  @:V¬:(?:3s|P|G|Q|M|[NA].*:[pi])
        <<- /conj/ tag(\1, "_un_des_") and morph(<1, ":C|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [un|une]  des *WORD  qui  @:V¬:(?:3[sp]|P|G)
        <<- /conj/ morph(<1, ":C|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1…”. Le verbe devrait être à la 3ᵉ personne du singulier ou du pluriel.

TEST: un des ingénieurs {{vinrent}} nous dire quoi faire.                                           ->> vint
TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret                    ->> demande
TEST: une des femmes de ce conseil ne {{céderaient}} jamais au chantage.                            ->> céderait
TEST: un des chats qui {{venez}} nous ennuyer tous les jours.                                       ->> vient
TEST: une des femmes présente ses résultats.
................................................................................
TEST: tous prendre une bonne cuite, voilà ce que nous allons faire.
TEST: on va tous manger au resto.
TEST: elles vont toutes aller faire un tour


__conj_det_plur_nom__
    [ces|mes|tes|ses|nos|vos|leurs|quelques]  @:[NA].*:[pi]¬:V0  @:V¬:(?:3p|P|Y|G|M|A.*:[pi])
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggAgree, \3, \2)                                         && Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [ces|mes|tes|ses|nos|vos|leurs|quelques]  @:[NA].*:[pi]¬:V0  qui  @:V¬:(?:3p|P|Y|G|M|A.*:e:[pi])
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
        -4>> =suggVerb(\4, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Ses « chiens » {{coure}} sur ma pelouse.                                                      ->> courent
TEST: mes filles {{passe}} ce matin                                                                 ->> passent
TEST: vos filles {{passes}} ce matin                                                                ->> passent
TEST: ces travaux qui {{demande}} tant d’efforts.                                                   ->> demandent
................................................................................
TEST: le lien entre les agences de renseignement et ces mêmes entreprises pouvait reposer sur des activités de surveillance à proprement parler.
TEST: trier les cons et les connes expose à un violent coup de boomerang
TEST: Tu penses que quelqu’un qui frappe sa femme et ses enfants est un bon père ?


__conj_les_nom__
    les  @:[NA].*:[pi]¬:V0  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not ( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggAgree, \3, \2)                                         && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    les  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
        -4>> =suggVerb(\4, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Les abstentions {{est}} présumée manifester un défaut d’opinion marquée                       ->> sont
TEST: Les cours de culture générale nous {{apporte}} de l’ouverture d’esprit.                       ->> apportent
TEST: Les hommes ne le lui {{pardonnes}} pas.                                                       ->> pardonnent
TEST: Les infirmières à mi-temps ne {{travaille}} pas dans cette aile.                              ->> travaillent
................................................................................
TEST: les femmes enceintes
TEST: les souris enceintes
TEST: au train où vont les choses, ce sera bientôt la fin.


__conj_certains_certaines_plusieurs_nom__
    [certains|maints]  @:[NA].*:[pi]  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggMasPlur)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [certaines|maintes]  @:[NA].*:[pi]  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggFemPlur)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    plusieurs  @:[NA].*:[pi]  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggPlur)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [certains|certaines|plusieurs|maints|maintes]  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>,")
            and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
        -4>> =suggVerb(\4, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: les chattes {{danse}}                                                                         ->> dansent
TEST: certains hommes {{marchande}} sans cesse                                                      ->> marchandent|marchandés|marchands
TEST: tu sais, certains filtres {{donnes}} de mauvais résultats                                     ->> donnent
TEST: certaines femmes {{danse}} beaucoup                                                           ->> dansent
................................................................................
TEST: j’en connais plusieurs soumises à de très fortes pressions
TEST: certaines femmes prises par leur travail n’ont plus le temps pour rien d’autre.
TEST: certains imbéciles passés à l’ennemi feraient mieux de se taire.


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

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

    *WORD  des  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|G)
................................................................................
TEST: l’amour dont {{parle}} les femmes                                                             ->> parlent
TEST: duquel {{arrive}} les ennuis                                                                  ->> arrivent
TEST: les hommes, desquels {{arrive}} nos problèmes                                                 ->> arrivent
TEST: les femmes, desquelles {{provient}} ces outils                                                ->> proviennent
TEST: les amusements pour lesquels {{vienne}} les invités.                                          ->> viennent
TEST: financé par le Qatar, lequel dépense des millions de dollars pour soutenir le mouvement
TEST: oubliée par sa mère, laquelle trouvait toujours maintes raisons de se dérober.



__conj_puisse__
    [<start>|,|(]  puisse  @:D.*:p
        <<- /conj/ -2>> puissent                                                    && Conjugaison erronée. Ce verbe devrait s’accorder au substantif qui le suit.

TEST: {{puisse}} les hommes enfin comprendre leurs erreurs.                                         ->> puissent







>
|
|
>
|







 







|







>







 







|







 







|









|







 







>
>
>
>







 







|







 







|







 







|


|







 







>
>
>







 







>
>







 







>
>
>
>




>
>
>







 







>







 







|







 







|












|







 







|







 







|
|
|
|







 







|









>







 







|




>







 







<







 







<







 







|







 







|







 







|







 







>







 







|


|







 







|
|







 







>
>







 







|







 







|
|
|
|
|
>

<
>
>
>
>


|
|

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

<
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

<

>
>

>
>
>
>
>
>
>
>







 







|













|







 







|






|







 







|







 







|







 







|








|







 







|
|
|
|
|
|





>
>
>
>
>
>
>
>
|
|




|











>







 







|







 







|



|




|







 







>
>
>
>
>
>
>
>
>
>
>
>
>







 







|







 







|







 







>
>
>
>
>
>
>
>
>
>







 







|







 







|







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







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


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


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







 







|
|
|
|
|
|


|


|
|


|
|


|
|
|
|
|
|


|


|
|
|
|


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


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


|
|


|


|


|
|
|







 







>







 







>
>







 







>







 







|







 







|







 








>
>
>
>
>
>

|
|
|
|
|
|
|

|
|
|
|
|


>
>







 







|







 







>
>
>
>
>
>
>
>
>
>
>







 







|







 







|



|



|



|



|



|







 







|



|



|







 







>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|







 







|







 







|




>







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|





>







 







|





>







 







|







 







|







 







|









|







 







|







 







|







|







 







|







 







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





>
>







 







|












|



|
|








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







 







|
|
|
|
|







 







>
>
>







 







|







 







|







 







|










|




|







 







|
|




|







 







|





|







 







|







 







|






|
|



|







 







|
|
|
>



|
|
|
>



|
>
|
|



|
|
|
>



|
>
|
|



|
|
|
|
>



|
|
|
|
>







 







|



|










|




|







 







|












|



|







 







|








|








|








|







 







|







|







|







 







|



|







 







|






|







 







|








|







 







|








|








|








|







 







|







 







>







277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
...
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
...
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
....
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
....
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
....
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
....
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
....
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
....
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
....
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
....
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
....
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
....
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
....
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
....
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
....
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
....
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
....
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
....
8889
8890
8891
8892
8893
8894
8895

8896
8897
8898
8899
8900
8901
8902
....
8904
8905
8906
8907
8908
8909
8910

8911
8912
8913
8914
8915
8916
8917
....
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
....
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
....
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
....
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
.....
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
.....
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
.....
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
.....
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
.....
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353

11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385

11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407

11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
.....
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
.....
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
.....
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
.....
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
.....
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
.....
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
.....
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
.....
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
.....
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
.....
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
.....
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
.....
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
.....
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
.....
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
.....
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
.....
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
.....
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
.....
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
.....
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
.....
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
.....
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
.....
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
.....
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
.....
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
.....
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
.....
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
.....
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
.....
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
.....
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
.....
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
.....
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
.....
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
.....
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
.....
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
.....
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
.....
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
.....
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
.....
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
.....
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
.....
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
.....
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
.....
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
.....
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
.....
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
.....
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
.....
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
.....
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
.....
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
.....
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
.....
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
.....
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
.....
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
.....
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
.....
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
.....
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
.....
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
.....
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
.....
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
.....
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
.....
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
.....
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
.....
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
.....
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
.....
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
.....
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
.....
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
.....
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
.....
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
.....
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
.....
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
DEF: w_4            \w[\w-][\w-]+\w
DEF: w1             \w+
DEF: w2             \w\w+
DEF: w3             \w\w\w+
DEF: w4             \w\w\w\w+

# GRAPH
DEF: _jours_        [1er|1ᵉʳ|1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12|13|14|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31]
DEF: _mois_         [>janvier|>février|>mars|>avril|>mai|>juin|>juillet|>août|>aout|>septembre|>octobre|>novembre|>décembre|>vendémiaire|>brumaire|>frimaire|>nivôse|>pluviôse|>ventôse|>germinal|>floréal|>prairial|>messidor|>thermidor|>fructidor]
DEF: _mi_mois_      [>mi-janvier|>mi-février|>mi-mars|>mi-avril|>mi-mai|>mi-juin|>mi-juillet|>mi-août|>mi-aout|>mi-septembre|>mi-octobre|>mi-novembre|>mi-décembre|mi-vendémiaire|mi-brumaire|mi-frimaire|mi-nivôse|mi-pluviôse|mi-ventôse|mi-germinal|mi-floréal|mi-prairial|mi-messidor|mi-thermidor|mi-fructidor]
DEF: années         ~^[0-9]{2,5}$
DEF: _pronom_obj_   [moi|toi|soi|lui|elle|nous|vous|eux|elles|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel|iel-même|iels|iels-mêmes]


!!
!!
!! Déclinaisons de tokens                                                                         !!
!!
!!
................................................................................
TEST: c’est (enfin{{ )}} parti.                                             ->> )
TEST: voici des (parenthèses{{ )}}, n’est-ce pas ?                          ->> )


# Parenthèses collées
__<s>/typo(typo_parenthèse_fermante_collée)__
    [)]\b(?![s¹²³⁴⁵⁶⁷⁸⁹⁰]\b)
        <<- not before("\\((?:[rR][eéEÉ]|[qQ][uU]’|[nNmMtTsSdDlL]’)$") ->> ") "                               && Il manque un espace après la parenthèse.
__<s>/typo(typo_parenthèse_ouvrante_collée)__
    \b[(](?=[^)][^)][^)])
        <<- ->> " ("                                                                                && Il manque un espace avant la parenthèse.

TEST: C’est au fond du couloir{{(}}celui du deuxième étage{{)}}qu’il se trouve.     ->> " (|||) "
TEST: (a + b)²
TEST: il faut (re)former tout ça.
TEST: il (n’)est (qu’)ingénieur


# Points et espaces
__<s>/typo(typo_point_entre_deux_espaces)__      [  ][.](?=[  ])  <<- ->> .                         && Pas d’espace avant un point.
__<s>/typo(typo_point_collé_à_mot_suivant)__     [  ][.](?=\w)  <<- ->> ". |."                      && L’espace se place après le point, et non avant (ou bien sert de liant entre deux lettres).

TEST: Il a fini{{ .}} Va te faire foutre, connard.                                  ->> .
................................................................................
!!!! Majuscules manquantes                                                                        !!
!!
!!

# Majuscules après un point
__[s]/maj(majuscule_après_point)__
    ({w_2})[.] ([a-zàâéèêîôç]\w*)  @@0,$
        <<- not re.search("(?i)^(?:etc|[A-Z]|chap|cf|ex|fig|hab|litt|circ|coll|parag|r[eé]f|étym|suppl|bibl|bibliogr|cit|op|vol|déc|nov|oct|janv|juil|avr|sept|sg|pl|pers)$", \1)
            and morph(\1, ":") and morph(\2, ":")
        -2>> =\2.capitalize()                                                                       && Après un point, une majuscule est généralement requise.

TEST: Je suis là. {{viens}}.                                            ->> Viens
TEST: Ils sont devenus idiots. {{c}}’est peine perdue.                  ->> C

__<s>/maj(majuscule_début_paragraphe)__
................................................................................
        <<- not \2[0:1].isupper() =>> select(\1, ":D")

__da_devant__
    devant [<end>|,|)]
        <<- not morph(<1, ":D.*:[me]:[si]") =>> select(\1, ":W")

    devant $:D
        <<- morph(<1, ":V|<start>|>[(,]", ":G") =>> select(\1, ":R")

    devant $:B [euros|dollars|francs]
        <<- =>> select(\1, ":V")

__da_derrière__
    derrière [<end>|,|)]
        <<- not morph(<1, ":D.*:[me]:[si]") =>> select(\1, ":W")

    derrière $:D
        <<- morph(<1, ":V|<start>|>[(,]", ":G") =>> select(\1, ":R")

__da_ensemble__
    ensemble
        <<- morph(<1, ":V") =>> select(\1, ":W")
        <<- __else__ and morph(<1, ":D", ">la/") =>> select(\1, ":N")

__da_entre__
................................................................................
__da_même__
    même $:D
        <<- morph(<1, "<start>|>,|:[ISKYP]", "*") =>> select(\1, ":W")

    [le|la|l’|les|du|chaque|ces|des|mes|tes|ses|nos|vos|leurs|quelques|quels|quelles] même
        <<- =>> select(\2, ":A")

__da_nombre__
    nombre [de|des|d’]
        <<- morph(<1, "<start>|:(?:C|Or)|>[(,]/") =>> select(\1, "", ":V")

__da_or__
    <start> or ?,¿ @:(?:Os|D)
        <<- =>> select(\2, ":G")

    [un|l’|d’|quel|cet|mon|ton|son|notre|votre|leur] or
        <<- =>> select(\-1, ":N")

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

__da_sur__
    sur @:[BD]
        <<- not morph(<1, ":(?:V[0123]e|[DN].*:[me]:[si])") =>> select(\1, ":R")

__da_tout__
    tout
        <<- morph(<1, "<start>|>[(,]") =>> select(\1, "", ":N")

    tout @:N.*:[me]:[si]¬:(?:[AGW]|3s)
        <<- =>> select(\1, ":D")

    tout le monde
        <<- =>> select(\1, ":W") and select(\2, ":D") and select(\-1, ":N")

................................................................................
    [nos|vos] @:[NA]¬:V0
        <<- =>> select(\-1, "", ":V")

    ni *WORD
        <<- =>> select(\-1, ":N")

    nombre [de|d’|des]
        <<- morph(<1, ":[VR]|<start>|>[(,]") =>> select(\1, ":N")

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

    plein  [de|d’]  @:[NA]
        <<- not morph(<1, ":(?:D.*:m|V[0-3]e)") =>> =define(\1, ":G")

................................................................................
TEST: __ocr__ il aurait dû la trouver
TEST: __ocr__ Tous eussent dû subir ce supplice raffiné.


# elle / elfe
__ocr_elle__
    elfe
        <<- /ocr/ morph(<1, ":[RC]|<start>|>[(,]") ->> elle                                            && Erreur de numérisation ?

    elfes
        <<- /ocr/ morph(<1, ":[RC]|<start>|>[(,]") ->> elles                                           && Erreur de numérisation ?

TEST: __ocr__ une araignée grimpait sur {{elfe}}                                ->> elle
TEST: __ocr__ elles parlaient entre {{elfes}}                                   ->> elles
TEST: __ocr__ {{elfe}} viendra bientôt                                          ->> elle
TEST: __ocr__ {{Elfes}} s’ennuyaient à mourir.                                  ->> Elles


................................................................................
# élisions
__eleu_élisions_manquantes__
    [le|la|de]  ~^[aâeéèêiîoôuûyœæhAÂEÉÈÊIÎOÔUÛYŒÆH].
        <<- /eleu/ space(\1, 1, 1) and not tag(\2, "_CAP_") and not re.search("(?i)^(?:I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2)
            and (morph(\2, ">[aâeéèêiîoôuûyœæhAÂEÉÈÊIÎOÔUÛYŒÆ]", ":G|;é") or morph(\2, ">H.*;É")) and not re.search("^[hH]aute?", \2)
        -1:.2>> =\1[0:1]+"’"                                                            && Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision

    si [il|ils] ou [elle|elles|iel|iels]
        <<- !1>>

    si [il|ils]
        <<- /eleu/ space(\1, 1, 1) -1:.2>> s’                                           && Il faut élider “si” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision

    que [il|ils|elle|elles|on|iel|iels]
        <<- /eleu/ space(\1, 1, 1) -1:.2>> qu’                                          && Il faut élider “que” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision

    [je|ne|me|te|se]  ~^[aâeéèêiîoôuûyœæh].
................................................................................
TEST: je {{ne }}arrive pas à comprendre                                     ->> n’
TEST: {{je }}arrive                                                         ->> j’
TEST: la ACHE, encore un sigle
TEST: J’ai passé une journée de ouf.
TEST: le yacht
TEST: de i1 à i2
TEST: la quête du boson de Higgs
TEST: la femme avec le hijab vert
TEST: si il ou elle est plus jeune


__eleu_élisions_superflues__
    l’  @>[aâeéèêiîoôuûyœæh].*;é
        <<- /eleu/ morph(\2, ":(?:[123][sp]|[NA].*:e)") -1>> "le |la "      && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:m") -1>> "le "           && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:f") -1>> "la "           && Pas d’élision.
................................................................................

    29 février ~^\d{2,5}$
        <<- /date/ not checkDate(\1, \2, \3) ->> 28 février \3                                      && En l’année “\3”, il n’y a que 28 jours en février.

    ~^\d\d?$  [janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre]  ~^\d{2,5}$
        <<- /date/ not (\1 == "29" and value(\2, "|février|")) and not checkDate(\1, \2, \3) ->> _  && Cette date est invalide.

    [<start>|,|(|le|du|ce|un|quel|mon|son|ton|notre|votre|leur|au] {_jours_} [janviers|févriers|avrils|juins|juillets|aoûts|aouts|septembres|octobres|novembres|décembres]
    [<start>|mois|(] [de|d’] [janviers|févriers|avrils|juins|juillets|aoûts|aouts|septembres|octobres|novembres|décembres]
        <<- /date/ --1>> =\-1[:-1]                                                                  && Les mois des dates sont au singulier.

TEST: le {{31 avril}}                                                       ->> 30 avril
TEST: le {{30 février}}                                                     ->> 28 février|29 février
TEST: {{29 février 2011}}                                                   ->> 28 février 2011
TEST: {{32 mars 2020}}                                                      ->>
TEST: le 2 {{janviers}}                                                     ->> janvier
TEST: au cours du mois de {{févriers}}                                      ->> février
TEST: combien de printemps secs, de juins caniculaires, de juillet arides ?


__date_journée_jour_mois_année__
    ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche])  ?,¿  ?le¿  (~^\d\d?$) - (~^\d\d?$) - (~^\d{2,5}$)
    ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche])  ?,¿  ?le¿  (~^\d\d?$)  ([janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre])  (~^\d{2,5}$)
        <<- /date/ not after("^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDay(\1, \2, \3, \4)
        -1>> =getDay(\2, \3, \4)
................................................................................
### Préfixes
__tu_préfixe_ex__
    l’ ex  @:[NT]¬*
        <<- /tu/ not value(\3, "|aequo|nihilo|cathedra|absurdo|abrupto|")
        -2:3>> \2-\3                                                        && S’il s’agit d’un seul mot, il manque un trait d’union.

    ex [>ami|>patron|>locataire]
    ex >petit >ami
    ex @:N¬:[AGWMV]
        <<- /tu/ not value(\2, "|aequo|nihilo|cathedra|absurdo|abrupto|") and not value(<1, "|l’|")
        ->> \1-\2                                                           && S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: l’{{ex fournisseur}} de ce produit                                        ->> ex-fournisseur
TEST: Son {{ex ami}} est un vrai cauchemar.                                     ->> ex-ami
TEST: Mon ex alcoolique
................................................................................

TEST: {{ferro électrique}}                              ->> ferro-électrique
TEST: {{rétro ingénierie}}.                             ->> rétro-ingénierie


__tu_préfixe_divers__
    [anti|auto|arrière|avant|demi|extra|intra|mini|multi|post|ultra]  *WORD
        <<- /tu/ morph(<1, ":D|<start>|>[(,]") and morph2(\1, "-", ":") ->> \1-\2                   && Il manque probablement un trait d’union.
        <<- /tu/ __also__ !2>>

    [non|sans]  *WORD
        <<- /tu/ morph(<1, ":D") and morph2(\1, "-", ":") ->> \1-\2                                 && Il manque probablement un trait d’union.
        <<- /tu/ __also__ !2>>

    sous  *WORD
................................................................................


__tu_mots_composés_verbe_nom__
    contre >productif
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

    [contre|entre]  *WORD
        <<- /tu/ not morph(\2, ":[GYB]") and morph(<1, ":(?:D|V.e)|<start>|>[(,]") and morph2(\1, "-", ":N")
        ->> \1-\2                                                                                   && Il manque probablement un trait d’union.

    [m’|t’|s’] entre *WORD
        <<- /tu/ morph(\3, ":V") and morph2(\2, "-", ":V")
        -2:3>> \2-\3                                                                                && Il manque probablement un trait d’union.

    nous nous entre ~on[ts]$
    vous vous entre ~e[zr]$
        <<- /tu/ morph(\4, ":V") and morph2(\3, "-", ":V") and not morph(<1, ":R")
        -3:4>> \3-\4                                                                                && Il manque probablement un trait d’union.

    [attrape|garde|porte|brise|cache|casse|chauffe|coupe|cure|croque|essuie|lance|lave|lève|marque|pare|passe|perce|pèse|porte|poste|pousse|presse|protège|ramasse|serre|taille|tire|tourne|traîne|traine|vide]  *WORD
        <<- /tu/ morph(<1, ":(?:D|V0e)|<start>|>[(,]") and morph2(\1, "-", ":N")
        ->> \1-\2                                                                                   && Il manque probablement un trait d’union.

TEST: ça semble totalement {{contre productif}}                 ->> contre-productif
TEST: c’est le {{contre exemple}} parfai                       ->> contre-exemple
TEST: une {{entre voie}}                                        ->> entre-voie
TEST: s’{{entre regarder}}                                      ->> entre-regarder
TEST: ce sont des {{lève tard}}.                                ->> lève-tard
................................................................................

    ras le bol
    ras-le bol
    ras le-bol
        <<- /tu/ morph(<1, ":D") ->> ras-le-bol                 && Il manque des traits d’union.

    rendez vous
        <<- /tu/ morph(<1, ":[DR]|<start>|>[(,]") ->> rendez-vous  && Il manque un trait d’union.

    rez de >chaussée
        <<- /tu/ ->> rez-de-chaussée                            && Il manque les traits d’union.

    [rond+s] de cuir
        <<- /tu/ ->> \1-\2-\3                                   && Il manque les traits d’union.|https://fr.wiktionary.org/wiki/rond-de-cuir

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


__conf_ont_on!6__
    on  @:[WDB]¬:(?:3s|Ov)
        <<- /conf/ not morph(<1, ":V.*:3s") and not before0("’$")
        -1>> ont                                                    && Confusion probable : “avoir” à la 3ᵉ personne du pluriel du présent s’écrit “ont”.

    [n’|m’|t’] on                       [*WORD|*WORDELD]
    [n’|m’|t’|l’] [y|en] on             [*WORD|*WORDELD]
    [ne|n’|me|m’|te|t’] [l’|les] on     [*WORD|*WORDELD]
    [ne|n’] [lui|nous|vous|leur] on     [*WORD|*WORDELD]
        <<- /conf/ --2>> ont                                        && Confusion. Exemples : « on y va », « ils ont faim ».
        <<- !-1>> conf|conj

    qui on
        <<- /conf/ not morph(<1, ":[VR]|<start>") and not morph(>1, ":(?:3s|Ov)")
        -2>> ont                                                    && Confusion probable. Exemples : « on y va », « ils ont faim ».

................................................................................
__conf_start_nom_ppas__
    [<start>|,|(]  *WORD  @:V1.*:Y
        <<- /conf/ morph(\2, ":N", "*") --1>> =suggVerbPpas(\-1)
        && Confusion probable. Si “\-1” est un qualificatif se rapportant au nom “\2”, n’utilisez pas un verbe à l’infinitif, mais le participe passé.

    [<start>|,|(]  *WORD  [assez|aussi|presque|très|trop|peu]  @:V1.*:Y
    [<start>|,|(]  *WORD  ?[assez|aussi|presque|très|trop]¿  [bien|mal|peu]  @:V1.*:Y
        <<- /conf/ morph(\2, ":N", ":(?:G|V0|Y|W)") --1>> =suggVerbPpas(\-1)
        && Confusion probable. Si “\-1” est un qualificatif se rapportant au nom “\2”, n’utilisez pas un verbe à l’infinitif, mais le participe passé.

TEST: écrivain {{ignorer}} par ses contemporains                                                    ->> ignoré|ignorée|ignorés|ignorées
TEST: téléphone bien {{charger}}                                                                    ->> chargé|chargée|chargés|chargées
TEST: époque très bien {{documenter}} grâce à la méticulosité de l’administration                   ->> documenté|documentée|documentés|documentées
TEST: bien manger, c’est essentiel
TEST: C’est le bien mal servir qu’agir à son insu.
TEST: savoir bien tirer à l’arc
TEST: savoir tirer au pistolet est indispensable
TEST: mieux former les enseignants et formuler des attentes plus claires


!!
!!
!!!! Confusions spécifiques                                                                       !!
!!
!!
................................................................................
TEST: cet homme a le savoir pour seul but dans l’existence
TEST: il y a prédire et prédire
TEST: il y a épidémie et épidémie



__conf_à_qui_infinitif__
    *WORD  a  qui
        <<- /conf/ morph(\1, ":N", ":Ov") -2>> à                    && Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: il n’y avait personne {{a}} qui parler de nos problèmes                       ->> à
TEST: des gens {{a}} qui offrir ça                                                  ->> à
TEST: le responsable {{a}} qui était confié la gestion de ce site web               ->> à


__conf_à_a__
    [<start>|,|(] a moins [que|qu’]
        <<- /conf/ -2>> à                                           && Confusion probable : « à moins que » pour dire « sauf si ».

    a part @:(?:M[12]|D|Oo)
................................................................................

    par rapport  a  @:(?:D|Oo|M)
        <<- /conf/ -3>> à                                           && Confusion : “a” est une forme conjuguée de “avoir”. Pour la préposition, écrivez “à”.

    grâce a
        <<- /conf/ morph(<1, ":[VN]|<start>", "*") -2>> à           && Confusion probable. Locution “grâce à”.|https://fr.wiktionary.org/wiki/gr%C3%A2ce_%C3%A0


    jusqu’ a
    pas a pas
        <<- /conf/ -2>> à                                           && Confusion : “a” est une forme conjuguée de “avoir”. Pour la préposition, écrivez “à”.

    a [moi|toi|eux|elles]
    a [lui|elle|nous|vous]  <end>
        <<- /conf/ not morph(<1, ":Ov|>(?:il|elle)/")
................................................................................

TEST: Je le donne {{a}} toi.                                                        ->> à
TEST: Personne {{a}} part Tom ne connaît son adresse                                ->> à
TEST: Face {{a}} ces gens, il ne pensait pas pouvoir réussir                        ->> à
TEST: c’est grâce {{a}} nous que vous y êtes parvenus                               ->> à
TEST: par rapport {{a}} eux, je me sens parfois dépassé                             ->> à
TEST: par rapport {{a}} ces hommes-là, nous manquons d’expérience                   ->> à

TEST: elles se défendront jusqu’{{a}} la mort.                                      ->> à
TEST: elles progressent pas {{a}} pas                                               ->> à
TEST: Elle a eux pour lui donner des conseils.
TEST: Elle a elle réussi… (Formulation douteuse.)
TEST: Elle n’a elle que ses études pour s’en sortir.
TEST: Il a toi pour l’aider.
TEST: Il t’a toi.
................................................................................
    [a|à] [part+s|par|pare+s] [cela|ceci|ça]
        <<- /loc/ ->> à part \3                                             && Confusion probable. Locution « à part cela/ceci/ça ».|https://fr.wiktionary.org/wiki/%C3%A0_part_%C3%A7a

    à parts [<end>|,|)|$:D]
        <<- /loc/ -1:2>> à part                                             && Locution « à part », au singulier.

    à [par|pare+s] $:D
    à [par|pare+s] {_pronom_obj_}
        <<- /loc/ -1:2>> à part|a par               && Confusion. Ou bien vous voulez dire « à part » pour « hormis », ou bien vous confondez la préposition “à” avec “a” (forme conjuguée du verbe avoir).

TEST: {{a pare ça}}                                                         ->> à part ça
TEST: un homme {{à parts}}                                                  ->> à part
TEST: {{à par}} nous                                                        ->> à part|a par
TEST: un homme à par
TEST: à part ça, tout va bien
................................................................................
    a l’ une d’ entre
    a l’ une des leurs
    a la [con|dérive|dérobée|diable|fois|mords-moi-le-nœud|papa|rescousse|sauvette|va-vite|volée]
    a la bonne franquette
    a la fin [de|d’] l’ an ?[passé|~^[0-9]{2,5}$]¿
    a la fin [de|d’] l’ année ?[passée|~^[0-9]{2,5}$]¿
    a la fin des années ~^[0-9]{2,5}$
    a la fin du mois [de|d’] {_mois_} ?[passé|prochain|~^[0-9]{2,5}$]¿
    a la limite du supportable
    a la lumière [de|d’] tout [ceci|cela|ça]
    a la petite semaine
    a la pointe du progrès
    a la queue leu leu
    a la surprise générale
    a la va vite
................................................................................


## substantifs

__conf_substantif_à_substantif!3__
    *WORD  a  $:N¬*
        <<- /conf/ \2.islower()
            and not value(\3, "|accès|bel|bon|bonne|beau|besoin|charge|confiance|connaissance|conscience|crainte|droit|envie|été|faim|force|grand|grande|hâte|honte|interdiction|intérêt|lieu|mauvaise|marre|peine|peur|raison|rapport|recours|soif|tendance|terre|tort|trait|vent|vocation|")
            and morph(\1, ":N", "*")
        -2>> à              && Confusion probable : “a” est une forme conjuguée du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: les bobos {{a}} trottinette                                                       ->> à
TEST: la lettre A est la première lettre de l’alphabet
TEST: la lettre a est la première lettre de l’alphabet
TEST: cette femme a raison
................................................................................
TEST: il a bonne mine
TEST: Catherine la grande a droit à une nouvelle série télévisée.
TEST: cet homme a grand besoin d’être soigné.
TEST: cette femme a grande envie d’un bain
TEST: L’UE a intérêt à une coopération forte et stratégique avec l’Algérie et tente de renforcer le partenariat bilatéral.
TEST: Mon désir a force de loi.
TEST: cette pensée a trait à nos pulsions les plus profondes
TEST: Car l’homme a bel et bien tenté sa chance.


__conf_a_à_substantifs__
    >arc a >poulie
    >arme a >feu
    >armoire a [>glace|>pharmacie]
    >attaque a >main [armée+s]
................................................................................


# ces / ses / c’est
__conf_ces_ses_c_est__
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  $:D
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  [que|qu’]
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  [l’|d’]
    [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur]  {_pronom_obj_}
    [ses|ces] @:D¬:[WA]
    [ses|ces] [que|qu’]
    [ses|ces] {_pronom_obj_}
    [ses|ces] @:[WX]¬:N:.*:[pi]  @:[RD]|>pire/
        <<- /conf/ not \1.isupper() and not value(\2, "|quelques|") -1>> c’est      && Confusion probable. Écrivez « c’est » pour dire « ceci est… ».

    c’ est  @:N.*:p¬:(?:G|W|M|A.*:[si])
        <<- /conf/ -1:2>> ces|ses                                                   && Confusion. Exemples : c’est facile ; ces chats (désignation) ; ses chats (possession)…

    ses  /-là
................................................................................

TEST: {{au grand dame}} des sots qui ont voulu nous duper                       ->> au grand dam
TEST: à mon grand {{dame}}, je fus oublié                                       ->> dam


# date / datte
__conf_date_datte__
    >datte du *NUM {_mois_}
    >datte du *NUM et du *NUM {_mois_}
    >datte [>butoir|>buttoir]
    >datte des [congés|examens|rendez-vous|vacances]
    >datte de [mes|tes|ses|nos|vos|leurs] [congés|examens|vacances]
    >datte de [mon|ton|son|notre|votre|leur] rendez-vous
        <<- /conf/ -1>> =\1.replace("tt", "t").replace("TT", "T")                   && Confusion probable. La datte est un fruit. Pour évoquer un jour dans l’année, écrivez “date”.

TEST: à la {{datte}} du 25 janvier                                              ->> date
................................................................................
TEST: {{Des}} 1980, le pays était en crise.                                 ->> Dès
TEST: {{Des}} dix-huit ans.                                                 ->> Dès
TEST: {{Des}} 4 ans.                                                        ->> Dès
TEST: Viens {{des}} 9 heures                                                ->> dès
TEST: {{Des}} l’arrivée, ça a commencé à dégénérer                          ->> Dès
TEST: c’était {{dés}} trois heures.                                         ->> dès
TEST: {{dés}} que nous sommes partis, il a piqué une crise                  ->> dès
TEST: {{des}} l’instant                                                     ->> dès
TEST: {{dés}} le moment où                                                  ->> dès
TEST: {{des}} {{les}} premiers symptômes, appelez-moi                       ->> dès|de|||laits|laids|lés|laies
TEST: Les dés sont jetés.
TEST: C’est un des leurs.
TEST: Plusieurs dès qu’on en saura plus.
TEST: Dès 1980, le pays était en crise.
TEST: Des 2000 participants, seuls 1000 sont venus.
TEST: Des 2000 invités, seuls 1000 sont venus.
................................................................................

# emballé, c’est pesé
__conf_emballé_c_est_pesé__
    >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é.
................................................................................
TEST: La {{fausse}} du Chili.                                           ->> fosse
TEST: Nous sommes tombés dans la {{fausse}} aux lions.                  ->> fosse
TEST: Elles sont arrivées au bord de la {{fausse}}.                     ->> fosse
TEST: ils ont fait une {{fosse}} déclaration                            ->> fausse
TEST: encore une {{fosse}} alerte                                       ->> fausse


__conf_nom_adverbe1__
    pour aveuglement ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    pour aveuglement ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    pour aveuglement ?[ne|n’]¿ [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    pour aveuglement ?[ne|n’]¿ [lui|leur|y]                    en                          $:Y
        <<- /conf/ -2>> aveuglément                         && Confusion probable : l’aveuglement est l’action de (s’)aveugler. L’adverbe s’écrit “aveuglément”.|https://fr.wiktionary.org/wiki/aveugl%C3%A9ment


    [par|pour|sans] forcement ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    [par|pour|sans] forcement ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    [par|pour|sans] forcement ?[ne|n’]¿ [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    [par|pour|sans] forcement ?[ne|n’]¿ [lui|leur|y]                    en                          $:Y
        <<- /conf/ -2>> forcément                           && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment

    ?pas¿ forcement @:A¬:G
        <<- /conf/ morph(<1, ":N", "*") --2>> forcément     && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment

    [par|pour] isolement ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    [par|pour] isolement ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    [par|pour] isolement ?[ne|n’]¿ [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    [par|pour] isolement ?[ne|n’]¿ [lui|leur|y]                    en                          $:Y
        <<- /conf/ -2>> isolément                           && Confusion probable : l’isolement est l’action de (s’)isoler. L’adverbe s’écrit “isolément”.|https://fr.wiktionary.org/wiki/isol%C3%A9ment

    pour sacrement $:Y
    pour sacrement $:Y
    pour sacrement $:Y
    pour sacrement $:Y
        <<- /conf/ -2>> sacrément                           && Confusion probable : le sacrement est l’action de sacrer. L’adverbe s’écrit “sacrément”.|https://fr.wiktionary.org/wiki/sacr%C3%A9ment

    ## aveuglement, forcement, isolement, sacrement
    [un|l’|cet|au|mon|notre|votre]  aveuglément
        <<- /conf/ -2>> aveuglement                         && Confusion probable : “aveuglément” est un adverbe. L’action de (s’)aveugler s’écrit “aveuglement”.|https://fr.wiktionary.org/wiki/aveuglement

    [son|ton|leur]  aveuglément
        <<- /conf/ morph(<1, "", ":D") -2>> aveuglement     && Confusion probable : “aveuglément” est un adverbe. L’action de (s’)aveugler s’écrit “aveuglement”.|https://fr.wiktionary.org/wiki/aveuglement

    [un|le|ce|au|mon|notre|votre]  forcément  [<end>|,|)]
    [un|le|ce|au|mon|notre|votre]  forcément  $:¬:A
        <<- /conf/ -2>> forcement                           && Confusion probable : “forcément” est un adverbe. L’action de “forcer” s’écrit “forcement”.|https://fr.wiktionary.org/wiki/forcement


    [son|ton|leur]  forcément  [<end>|,|)]
    [son|ton|leur]  forcément  $:¬:A
        <<- /conf/ morph(<1, "", ":D") -2>> forcement       && Confusion probable : “forcément” est un adverbe. L’action de “forcer” s’écrit “forcement”.|https://fr.wiktionary.org/wiki/forcement

    [un|l’|cet|au|mon|notre|votre]  isolément
        <<- /conf/ -2>> isolement                           && Confusion probable : “isolément” est un adverbe. L’action de (s’)isoler s’écrit “isolement”.|https://fr.wiktionary.org/wiki/isolement

    [son|ton|leur]  isolément
        <<- /conf/ morph(<1, "", ":D") -2>> isolement       && Confusion probable : “isolément” est un adverbe. L’action de (s’)isoler s’écrit “isolement”.|https://fr.wiktionary.org/wiki/isolement

    [un|le|ce|au|mon|notre|votre]  sacrément  [<end>|,|)]
    [un|le|ce|au|mon|notre|votre]  sacrément  $:¬:A
        <<- /conf/ -2>> sacrement                           && Confusion probable : “sacrément” est un adverbe. L’action de sacrer s’écrit “sacrement”.|https://fr.wiktionary.org/wiki/sacrement

    [son|ton|leur]  sacrément  [<end>|,|)]
    [son|ton|leur]  sacrément  $:¬:A
        <<- /conf/ morph(<1, "", ":D") -2>> sacrement       && Confusion probable : “sacrément” est un adverbe. L’action de sacrer s’écrit “sacrement”.|https://fr.wiktionary.org/wiki/sacrement

TEST: pour {{aveuglement}} avancer                                                      ->> aveuglément
TEST: l’{{aveuglément}} persistent est un problème                                      ->> aveuglement
TEST: je détestais son {{aveuglément}} sans limite                                      ->> aveuglement
TEST: sans {{forcement}} prendre la vie du bon côté                                     ->> forcément

TEST: Un homme pas {{forcement}} mauvais.                                               ->> forcément
TEST: Un homme {{forcement}} mauvais.                                                   ->> forcément
TEST: par leur {{forcément}} à…                                                         ->> forcement
TEST: Le {{forcément}} du coffre ne sera pas si facile.                                 ->> forcement
TEST: l’{{isolément}} des patients est une priorité                                     ->> isolement
TEST: pour {{isolement}} prendre le temps                                               ->> isolément
TEST: leur {{isolément}} était évident                                                  ->> isolement
TEST: le {{sacrément}} n’est pas un rite ridicule                                       ->> sacrement
TEST: pour {{sacrement}} merder                                                         ->> sacrément
TEST: je n’veux pas ton {{sacrément}}                                                   ->> sacrement
TEST: le sacrément bel homme que voilà
TEST: il peut par aveuglememt persister dans son erreur


# fret / frais
__conf_fret_frais__
    [>frai] [>aérien|>ferroviaire|>maritime|>routier]
        <<- /conf/ -1>> fret                                && Confusion probable. Pour évoquer le transport aérien, ferroviaire, maritime ou routier, écrivez “fret”.|https://fr.wiktionary.org/wiki/fret

................................................................................
    >or [de|d’] [là|doute|page]
    >or [de|d’] chez [moi|toi|soi|lui|elle|iel|nous|vous|eux|elles|iels]
    >or du commun
    >or [de|d’] ?[ma|ta|sa|notre|votre|leur]¿ [compréhension|perception|portée|vue]
    >or [de|d’] question [que|qu’|de|d’|,|)|<end>]
        <<- not morph(<1, ":D.*:[me]") -1>> hors        && Confusion probable. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors

    [<start>|,|(] or [de|d’] {_pronom_obj_}
        <<- /conf/ -2>> hors                            && Confusion probable. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors

TEST: {{hors}}, nous y coryons malgré tout ce qu’on peut en dire.                       ->> or
TEST: {{Hors}} il y a tant à faire depuis que nous sommes arrivés en ces lieux.         ->> Or,
TEST: Des femmes {{or}} du commun                                                       ->> hors
TEST: {{or}} de lui, il éclata en                                                       ->> hors
TEST: Hors nous, personne ne sait ce qui s’est passé là-bas.
TEST: Le peuple se sent hors jeu.
TEST: pillons tout l’or du royaume !


# huis / huit
__conf_huit_huis__
    huis {_mois_}
    huis [>an|mois|>heure|>cent|>mille|>million|>milliard|>dollar|>euro|€|>franc|>centime|divisé|multiplié|plus|moins|>dixième|>centième|>millième]
        <<- /conf/ -1>> huit                                && Confusion probable. L’huis est l’ancien terme pour porte. Pour le nombre, écrivez “huit”.|https://fr.wiktionary.org/wiki/huit

    huit clos
        <<- /conf/ -1>> huis                                && Confusion probable. L’huis est l’ancien terme pour porte.|https://fr.wiktionary.org/wiki/huis_clos

TEST: elle a {{huis}} ans.                                                              ->> huit
................................................................................
        <<- /conf/ --1>> m’as                       && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 2ᵉ personne précédé du pronom “me”, écrivez “m’as”.

    [il|ils]  [ma|mas]
        <<- /conf/ not morph(<1, ":3s")
        --1>> m’a                                   && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    on  [ma|mas]
        <<- /conf/ morph(<1, "<start>|:C|>[(,]/")
        --1>> m’a                                   && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    [ne|n’]  [ma|mas]
        <<- /conf/ --1>> m’a                        && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    ça  [ma|mas]  *WORD
        <<- /conf/ morph(<1, "<start>|:C|>[(,]/") and morph0(\-1, ":(?:Q|V1.*:Y)", ":N.*:[fe]")
        -2>> m’a                                    && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    qui ma  *WORD
        <<- /conf/ morph0(\-1, ":(?:Q|V1.*:Y)", ":N.*:[fe]")
        -2>> m’a                                    && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”.

    ma  @:(?:Q.*:e:i|V1.*:Y)¬:f:s
................................................................................
TEST: c’est ça qui {{ma}} forcée à poursuivre               ->> m’a
TEST: ça ma grande, c’est mon secret


# m’ont / mon
__conf_m_ont!6__
    il  mon
        <<- /conf/ morph(<1, "<start>|:C|>[(,]/")
        --1>> m’ont                                 && Confusion probable : “mon” est un déterminant possessif. Pour le verbe “avoir” à la 3ᵉ personne du pluriel précédé du pronom “me”, écrivez “m’ont”.

    ils  mon
        <<- /conf/ not morph(<1, ":(?:3p|D)")
        --1>> m’ont                                 && Confusion : “mon” est un déterminant possessif. Pour le verbe “avoir” à la 3ᵉ personne du pluriel précédé du pronom “me”, écrivez “m’ont”.

    ne  mon
................................................................................

# moi / mois
__conf_moi_mois__
    *NUM moi
    $:B  moi
        <<- /conf/ --1>> mois                       && Confusion probable. Pour indiquer le douzième d’une année, écrivez “mois”.|https://fr.wiktionary.org/wiki/mois

    moi  [de|d’]  {_mois_}
        <<- /conf/ -1>> mois                        && Confusion probable. Pour indiquer le douzième d’une année, écrivez “mois”.|https://fr.wiktionary.org/wiki/mois

TEST: au {{moi}} d’avril                                        ->> mois
TEST: être en repos pour trois {{moi}}.                         ->> mois
TEST: 3 {{moi}} de vacances.                                    ->> mois
TEST: Dans un délai de quatre {{moi}}.                          ->> mois

................................................................................
    pas rapport [à|aux]
        <<- /conf/ not morph(<1, ":V") -1>> par                             && Confusion possible. Voulez-vous écrire “par rapport \3” ?

    >commencer  pas  ?[ne|n’]¿   ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    >commencer  pas  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    >commencer  pas  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    >commencer  pas  ?[ne|n’]¿   [lui|leur|y]                    en                          $:Y
        <<- /conf/ morph(<1, ":Os|<start>|>[(,]") -2>> par         && Confusion probable : “pas” est un adverbe de négation. Si “\-1” est l’action par laquelle il faut commencer, écrivez “par”.

    en commençant pas
        <<- /conf/ not value(<1, "|n’|") --1>> par              && Confusion probable : “pas” est un adverbe de négation. Écrivez “par”.

    >finir  pas  ?[ne|n’]¿   ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    >finir  pas  ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    >finir  pas  ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    >finir  pas  ?[ne|n’]¿   [lui|leur|y]                    en                          $:Y
        <<- /conf/ morph(<1, ":Os|<start>|>[(,]") -2>> par         && Confusion probable : “pas” est un adverbe de négation. Si “\-1” est l’action par laquelle il faut finir, écrivez “par”.

    en finissant pas
        <<- /conf/ not value(<1, "|n’|") --1>> par              && Confusion probable : “pas” est un adverbe de négation. Écrivez “par”.

TEST: je ne sais {{pa}}                                                                                                 ->> pas
TEST: Il ne le deviendra {{par}}.                                                                                       ->> pas
TEST: ne viens {{par}}, c’est dangereux.                                                                                ->> pas
................................................................................
        <<- /conf/ -1>> =\1.replace("n", "nt").replace("N", "NT")           && Confusion. Pour parler d’une petite pousse végétale, écrivez “plant” (dérivé de “plante”).

TEST: va acheter des {{plans}} de tomate                    ->> plants


# plus / plu
__conf_plus_plu__
    je                  ?[ne|n’]¿ [me|m’] >être ?@:[WX]¿ plus [à|,|<end>]
    tu                  ?[ne|n’]¿ [te|t’] >être ?@:[WX]¿ plus [à|,|<end>]
    [il|on|elle|iel]    ?[ne|n’]¿ [se|s’] >être ?@:[WX]¿ plus [à|,|<end>]
    nous                ?[ne|n’]¿ nous    >être ?@:[WX]¿ plus [à|,|<end>]
    vous                ?[ne|n’]¿ vous    >être ?@:[WX]¿ plus [à|,|<end>]
    [ils|elles|iels]    ?[ne|n’]¿ [se|s’] >être ?@:[WX]¿ plus [à|,|<end>]
    [je|j’|tu|il|elle|iel|ça|cela|ceci]                 ?[ne|n’]¿ [m’|t’|lui|nous|vous|leur] >avoir ?@:[WX]¿ [plus|plut|plût] [<end>|,|)]
    [nous|vous|ils|elles|iels]                          ?[ne|n’]¿ [m’|t’|lui|nous|vous|leur] >avoir ?@:[WX]¿ [plus|plut|plût] [<end>|,|)]
    [plusieurs|certain+s|quelques-uns|quelques-unes]    ?[ne|n’]¿ [m’|t’|lui|nous|vous|leur] >avoir ?@:[WX]¿ [plus|plut|plût] [<end>|,|)]
        <<- /conf/ not morph(<1, ":R") --2>> plu                            && Le participe passé du verbe plaire s’écrit “plu” (il est invariable).|https://fr.wiktionary.org/wiki/Conjugaison:fran%C3%A7ais/plaire

    [me|m’] [suis|étais|fus|sois|fusse|serai|serais]                ?@:[WX]¿ plu
    [te|t’] [es|étais|fus|sois|fusses|seras|serais]                 ?@:[WX]¿ plu
    [se|s’] [est|était|fut|soit|fût|sera|serait]                    ?@:[WX]¿ plu
    nous    [sommes|étions|fûmes|soyons|fussions|serons|serions]    ?@:[WX]¿ plu
    vous    [êtes|étiez|fûtes|soyez|fussiez|serez|seriez]           ?@:[WX]¿ plu
    [se|s’] [sont|étaient|furent|soient|fussent|seront|seraient]    ?@:[WX]¿ plu
        <<- not morph(>1, ":[AQ]") !-1>> conf

    plu
        <<- /conf/ morph(<1, ":[123][sp]", ":V0a") -1>> plus                && Confusion probable : “plu” est le participe passé de “plaire”. Pour l’adverbe, écrivez “plus”.|https://fr.wiktionary.org/wiki/plus

    [<start>|,|(] plu @:[WA]
        <<- /conf/ -2>> plus                                                && Confusion probable : “plu” est le participe passé de “plaire”. Pour l’adverbe, écrivez “plus”.|https://fr.wiktionary.org/wiki/plus

    [le|la|des|du|les|des|de|mon|ton|son|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|plusieurs|certains|certaines|quel|quelle|quels|quelles] plu
        <<- /conf/ --1>> plus                                               && Confusion probable : “plu” est le participe passé de “plaire”. Pour l’adverbe, écrivez “plus”.|https://fr.wiktionary.org/wiki/plus

TEST: je me suis {{plus}} à réviser cette matière           ->> plu
TEST: ça m’avait vachement {{plût}}                         ->> plu
TEST: ils se sont {{plus}} à nous faire chier               ->> plu
TEST: ce n’est {{plu}} notre problème                       ->> plus
TEST: le {{plu}} bel effet                                  ->> plus
TEST: de {{plu}} il faut en faire plus                      ->> plus
TEST: travaille {{plu}} chez toi                            ->> plus
TEST: {{plu}} vite                                          ->> plus
TEST: ça t’avait plu, cette connerie, non ?
TEST: ils se sont plu.


# pôle / pole
__conf_pôle_pole__
    >pole
        <<- /conf/ not value(<1, "|la|en|une|") and not value(>1, "|position|dance|")
        ->> =\1.replace("o", "ô").replace("O", "Ô")                         && Confusion probable. Le terme “pole” ne s’utilise que pour la “pole position” ou la “pole dance”.
................................................................................
    [>avaler|>bouffer|>cuire|>élever|>égorger|>frire|>manger|>mâcher|>mastiquer|>rôtir|>tuer] $:D¬:R [>pore|>port]
    >élevage [de|d’] [>pore|>port]
        <<- /conf/ --1>> porc|porcs                                         && Confusion. Pour évoquer l’animal, écrivez “porc”.|https://fr.wiktionary.org/wiki/porc

    >pore [qui|qué] [>pique|>pic]
    >porc [qui|qué] [>pique|>pic]
    >port [qui|qué] [>pique|>pic]
        <<- morph(<1, ":D|<start>|>[(,]") ->> porc-épic|porcs-épics            && Confusion générale ? Si vous parlez de l’animal, écrivez “porc-épic”.|https://fr.wiktionary.org/wiki/porc-%C3%A9pic

    ## port
    [>pore|>porc] [de|d’] [plaisance|pêche]
    [>pore|>porc] [>maritime|>spatial]
        <<- /conf/ -1>> port|ports                                          && Confusion. Pour évoquer un havre côtier où les bateaux accostent, écrivez “port”.|https://fr.wiktionary.org/wiki/port

    [<start>|,|le|au|du]  [pore|porc]  [de|d’]  [Alexandrie|Algésiras|Almirante␣Barroso|Amsterdam|Angra␣dos␣Reis|Anvers|Baltimore|Bandar␣Abbas|Bandar␣Khomeini|Bangkok|Barcelone|Bayonne|Beaumont|Bergen|Bintulu|Bombay|Bordeaux|Botaş|Bremerhaven|Brisbane|Brême|Busan|Bâton-Rouge|Calais|Calcutta|Callao|Cannes|Canton|Cayo␣Arcas|Ceyhan|Chennai|Cherbourg|Chiba|Chittagong|Colombo|Constanța|Corpus␣Christi|Daesan|Dakar|Dalian|Dampier|Dieppe|Djeddah|Dubaï|Dunkerque|Durban|el-Dekheila|Gladstone|Goa|Grimsby|Guangzhou|Gwangyang|Gênes|Göteborg|Hambourg|Hampton␣Roads|Hay␣Point|Honfleur|Hong-Kong|Hong␣Kong|Honshu|Houston|Huntington-Tristate|Hô-Chi-Minh-Ville|Ibiza|Immingham|Inchon|Istanbul|Itaguaí|Itaqui|Izmir|Izmit|Jaffa|Jakarta|Jawaharlal␣Nehru|Jebel␣Ali|Jubail|Kaohsiung|Karachi|Kitakyushu|Kobe|Kota␣Baru|Laem␣Chabang|Lake␣Charles|La␣Nouvelle-Orléans|La␣Rochelle|Lianyungang|Londres|Long␣Beach|Lorient|Los␣Angeles|Madras|Manille|Marseille|Miami|Milford␣Haven|Mobile|Monaco|Montréal|Mormugão|Mumbai|Nagoya|Nantes|Naples|Newcastle|New␣Jersey|New␣York|Nice|Ningbo-Zhoushann|Novorossiysk|Odessa|Oran|Osaka|Ouistreham|Oust-Louga|Paradip|Paranaguá|Philadelphie|Plaquemine|Pohang|Porto-Vecchio|Port␣Hedlandn|Primorsk|Qingdao|Qinhuangdao|Quibéron|Quimper|Richards␣Bay|Rizhao|Rome|Rotterdam|Rouen|Saigon|Saint-Pétersbourg|Saldanha␣Bay|Santos|San␣Lorenzo|Sepetiba|Shanghai|Shenzhen|Singapour|Southampton|São␣Sebastião|Taichung|Tanger|Tangshan|Tanjung␣Pelepas|Tanjung␣Priok|Texas␣City|Tianjin|Tientsin|Tokyo|Toulon|Trieste|Tsingtao|Tubarão|Tunis|Ulsan|Valence|Vancouver|Vannes|Venise|Visakhapatnam|Waigaoqiao|Washington|Wellington|Wuhan|Xiamen|Xingang|Yanbu|Yangshan|Yantian|Yingkou|Yokohama|Youjne|Zeebruges]
................................................................................
        && Confusion. Si vous parlez d’un trou fait pour puiser quelque chose (ou pour amener quelque chose), écrivez “puits”.|https://fr.wiktionary.org/wiki/puits

    puis [de|d’] [lumière|gaz|pétrole|science|ventilation]
        <<- /conf/ morph(<1, ":D.*:[pm]") -1>> puits
        && Confusion. Si vous parlez d’un trou fait pour puiser quelque chose (ou pour amener quelque chose), écrivez “puits”.|https://fr.wiktionary.org/wiki/puits

    puis artésien
        <<- /conf/ morph(<1, ":D.*:[mp]|<start>|>[(,]") -1>> puits
        && Confusion. Le puits artésien.|https://fr.wiktionary.org/wiki/puits_art%C3%A9sien

    puis >quantique
        <<- /conf/ morph(<1, ":D.*:[mp]|<start>|>[(,]") -1>> puits
        && Confusion. Puits quantique : zone de l’espace dans laquelle le potentiel ressenti par une particule quantique atteint un minimum.|https://fr.wikipedia.org/wiki/Puits_quantique

    puis de >potentiel [fini+ses|>carré|>harmonique]
    puis de >potentiel @:¬:[NA]
        <<- /conf/ morph(<1, ":D.*:[mp]|<start>|>[(,]") -1:3>> puits de potentiel
        && Confusion probable. Un puits de potentiel désigne, en physique, le voisinage d’un minimum local d’énergie potentielle.|https://fr.wikipedia.org/wiki/Puits_de_potentiel

TEST: Tombée au fond du {{puis}}, le désespoir la gagnait.              ->> puits
TEST: Des {{puis}}, tu en as combien ?                                  ->> puits
TEST: J’ai plusieurs {{puis}} de pétrole.                               ->> puits
TEST: quel {{puis}} artésien ?                                          ->> puits
TEST: de quel {{puis}} quantique parles-tu ?                            ->> puits
................................................................................
    >être [pas|plus|jamais|guère] sans >ignorer
    ne [pas|plus|jamais|guère] être sans >ignorer
        <<- /conf/ --1>> savoir         && Confusion probable : vous écrivez l’inverse de ce que vous voulez dire.|https://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir

TEST: Vous n’êtes pas sans {{ignorer}} que…                         ->> savoir
TEST: ne pas être sans {{ignorer}} la cause de ces phénomènes.      ->> savoir


# scène, senne, seine, saine
__conf_scène_senne_seine_saine1__
    >metteur en [>senne|>seine|saine+s|>cène|sen]
    [première|deuxième|troisième|quatrième|cinquième|sixième|septième|huitième|neuvième|dixième|onzième|douzième|treizième|quatorzième|quinzième|seizième|dix-septième|dix-huitième|dix-neuvième|vingtième] [>senne|>seine|saine+s]
        <<- /conf/ --1>> scène                                      && Confusion probable. Pour parler du lieu où se joue une pièce de théâtre, écrivez “scène”.|https://fr.wiktionary.org/wiki/sc%C3%A8ne

    [>senne|>seine] >politique
        <<- /conf/ -1>> scène|scènes                                && Confusion probable. Pour parler du lieu où se joue une pièce de théâtre, écrivez “scène”.|https://fr.wiktionary.org/wiki/sc%C3%A8ne

TEST: une metteuse en {{senne}} très cotée                          ->> scène
TEST: sur la {{seine}} politique                                    ->> scène|scènes


# sens / cens / cent / sans / sang
__conf_sens_sans_cent_cens__
    !! non sans [mal|>mâle|>malle] ¡¡
    non [sans|sens|cens|>cent|>sang] [mal|>mâle|>malle]
        <<- /loc/ ->> non sans mal                                                                  && Locution “non sans mal”.

................................................................................
        <<- /conf/ morph(>1, ":[GY]|<end>", ">à/") and not value(<1, "|il|on|elle|iel|n’|m’|t’|s’|nous|vous|lui|leur|") and not before("(?i)quel(?:s|les?|) qu[’ ]$") and not after(" soit ")
        -2>> soi                                                                                    && Confusion probable.|https://fr.wiktionary.org/wiki/soi

    >aller ?$:W¿ de soit
        <<- /conf/ not after(" soit ") --1>> soi                                                    && Confusion probable.|https://fr.wiktionary.org/wiki/aller_de_soi

    [soi|sois|soit|>soie]  >même
        <<- /conf/ morph(<1, ":[YQ]|>(?:avec|contre|par|pour|sur)/|<start>|>[(,]") ->> soi-même        && Confusion probable : moi-même, toi-même, lui-même, elle-même, soi-même, elles-mêmes, eux-mêmes.

    [sois-même|soit-même|soie-même|soies-même|soi-mêmes|sois-mêmes|soit-mêmes|soie-mêmes|soies-mêmes]
        <<- /conf/ ->> soi-même                                                                     && Confusion : moi-même, toi-même, lui-même, elle-même, soi-même, elles-mêmes, eux-mêmes.

    [entre-soit|entre-sois|entre-soie+s]
        <<- /conf/ ->> entre-soi
        && Confusion : pour évoquer la situation où l’on ne rencontre que des gens proches de soi, écrivez “entre-soi”.|https://fr.wiktionary.org/wiki/entre-soi
................................................................................
TEST: {{subordination}} de témoin                               ->> subornation


# sur / sûr
__conf_sûr_sur__
    sur et $¬:R
    sur [que|qu’]
    sur [de|d’] {_pronom_obj_}
    sur [de|d’] $:M
    sur [de|d’] [ne|n’|me|m’|te|t’|se|s’]
    sur [de|d’] [le|les|mon|ton|son|ma|ta|sa|mes|tes|ses|ce|cet|cette|ces|cela|ceci|ça]
    sur [de|d’] [la|l’] $:Y
    sur [de|d’] $:Y
        <<- /conf/ -1>> sûr
        && Confusion probable : “sur” est une préposition ou un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|https://fr.wiktionary.org/wiki/sur
................................................................................
        <<- /loc/ ->> tout à coup                                   && Confusion.|https://fr.wiktionary.org/wiki/tout_%C3%A0_coup

TEST: ils sont {{tout à cous}} figés                                                ->> tout à coup
TEST: Mais {{toute a cou}}, plus rien ne fonctionnait.                              ->> tout à coup
TEST: {{tout a coup}}, il n’y eut plus aucune lumière                               ->> tout à coup
TEST: Tout à coup, rien n’alla plus comme avant.


__conf_tout_à_fait__
    !! tout à fait ¡¡
    [tout|toute|toutes] [à|a|as|ah|ha] [fait+s|>fée]
        <<- /loc/ ->> tout à fait                   && Confusion probable. Locution “tout à fait”.|https://fr.wiktionary.org/wiki/tout_%C3%A0_fait

TEST: les individus {{toute à fait}} odieux                                         ->> tout à fait
TEST: elles sont {{tout a fait}} compétentes                                        ->> tout à fait
TEST: des gens tout à fait aimables


# Toutes choses égales par ailleurs
__conf_toutes_choses_égales_par_ailleurs__
    !! toutes choses égales par ailleurs ¡¡
    [toute|toutes] [chose+s|chosent] [égale+s|égal+s|égalent] [par|>part|pare+s] ailleurs
        <<- /loc/ ->> toutes choses égales par ailleurs             && Confusion.|https://fr.wiktionary.org/wiki/toutes_choses_%C3%A9gales_par_ailleurs

................................................................................
# vague à l’âme
__conf_vague_à_l_âme__
    >vague [à|a] >lame
        <<- /conf/ morph(<1, ":(?:D|A.*:m)") ->> vague à l’âme      && Confusion. Pour évoquer une forme de tristesse, écrivez “vague à l’âme”.|https://fr.wiktionary.org/wiki/vague_%C3%A0_l%E2%80%99%C3%A2me

    >vogue [à|a] >lame
    >vogue [à|a] l’ âme
        <<- /conf/ morph(<1, ":D|<start>|>[(,]") ->> vague à l’âme     && Confusion. Pour évoquer une forme de tristesse, écrivez “vague à l’âme”.|https://fr.wiktionary.org/wiki/vague_%C3%A0_l%E2%80%99%C3%A2me

TEST: Continuer ma lecture, l’effet de l’alcool aidant, n’aurait qu’augmenté ma solitude et mon {{vague à lame}}.   ->> vague à l’âme
TEST: {{vogue à lame}}                                                                                              ->> vague à l’âme
TEST: j’ai le vague à l’âme


# verre / vers / vert / ver
................................................................................
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [*NUM|*WORDELD] [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
    ,    [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
        <<- /maj/ not \2.isupper() -2:>> =\2.lower()
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    {_jours_} Mars
    en Mars
        <<- /maj/ not \2.isupper() -2:>> mars
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

TEST: 15 {{Septembre}}                                                      ->> septembre
TEST: 23 {{Messidor}}                                                       ->> messidor
TEST: ils viendront en {{Mars}}.                                            ->> mars
TEST: le 1ᵉʳ {{Mars}}                                                       ->> mars
TEST: depuis {{Janvier}}, que des emmerdeurs                                ->> janvier
TEST: le comité d’éthique qui statuera dans les meilleurs délais sur la situation de Véronique Avril
TEST: VENDREDI 23 NOVEMBRE 2018 À 18:09
TEST: André Juin était un sculpteur français.
TEST: Où étais-tu le onze septembre
TODO: La bataille de Monte Cassino révèle le génie militaire du général Juin.

................................................................................
# Assemblée
__maj_Assemblée_nationale__
    assemblée nationale
        <<- /maj/ \1 == "assemblée" -1>> Assemblée                      && Majuscule manquante.

TEST: l’{{assemblée}} nationale                                         ->> Assemblée


# Code
__maj_code__
    [le|du|au] code [civil|forestier|pénal]
    [le|du|au] code de commerce
    [le|du|au] code de procédure civile
    [le|du|au] code de propriété intellectuelle
    [le|du|au] code de l’ urbanisme
    [le|du|au] code du travail
        <<- /maj/ \2.islower() -2:>> Code                               && Pour désigner un code juridique particulier, mettez une majuscule comme s’il s’agissait d’un titre.

TEST: le {{code}} civil                                                 ->> Code
TEST: ajouter une nouvelle loi au Code pénal


# Dieu
__maj_Dieu__
    dieu
        <<- /maj/ \1.islower() and not morph(<1, ":[DA]") and not morph(>1, ":A|>(?:d[eu’]|des)/")
        ->> Dieu                                                                                    && Si vous évoquez le seigneur de l’Univers, mettez une majuscule.

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

    [de|d’] [plusieurs|quelques|$:B|*NUM] [ans|années|mois] [mon|ton|son|notre|votre|leur] [cadet|aîné+e]
    [de|d’] [plusieurs|quelques|$:B|*NUM] [ans|années|mois] [ma|ta|sa|notre|votre|leur] cadette
        <<- ~>> *


__purge_saisons__
    à [compter|partir] [de|d’]  l’ [automne|été|hiver]
    [à|dès|depuis|de|d’]        l’ [automne|été|hiver]
    à l’ orée [de|d’]           l’ [automne|été|hiver]
    au cours [de|d’]            l’ [automne|été|hiver]
    [avant|après]               l’ [automne|été|hiver]
    dans le courant [de|d’]     l’ [automne|été|hiver]
    jusqu’ à                    l’ [automne|été|hiver]
    par rapport à               l’ [automne|été|hiver]
    à [compter|partir] du       printemps
    [au|du]                     printemps
    à l’ orée du                printemps
    au cours du                 printemps
    [avant|après] le            printemps
    dans le courant du          printemps
    jusqu’ au                   printemps
    par rapport au              printemps
        <<- not morph(>1, ":A.*:[me]:[si]") ~>> *

    à [compter|partir] [de|d’]  l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [à|dès|depuis|de|d’]        l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à l’ orée [de|d’]           l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    au cours [de|d’]            l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [avant|après]               l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    dans le courant [de|d’]     l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    jusqu’ à                    l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    par rapport à               l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à [compter|partir] du       printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [au|du]                     printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à l’ orée du                printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    au cours du                 printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [avant|après] le            printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    dans le courant du          printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    jusqu’ au                   printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    par rapport au              printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
        <<- ~>> *

    à [compter|partir] du       [début|milieu] [de|d’] l’ [automne|été|hiver]
    [au|du]                     [début|milieu] [de|d’] l’ [automne|été|hiver]
    à l’ orée du                [début|milieu] [de|d’] l’ [automne|été|hiver]
    au cours du                 [début|milieu] [de|d’] l’ [automne|été|hiver]
    [avant|après] le            [début|milieu] [de|d’] l’ [automne|été|hiver]
    jusqu’ au                   [début|milieu] [de|d’] l’ [automne|été|hiver]
    par rapport au              [début|milieu] [de|d’] l’ [automne|été|hiver]
    à [compter|partir] du       [début|milieu] du printemps
    [au|du]                     [début|milieu] du printemps
    à l’ orée du                [début|milieu] du printemps
    au cours du                 [début|milieu] du printemps
    [avant|après] le            [début|milieu] du printemps
    jusqu’ au                   [début|milieu] du printemps
    par rapport au              [début|milieu] du printemps
        <<- not morph(>1, ":A.*:[me]:[si]") ~>> *

    à [compter|partir] du       [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [au|du]                     [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à l’ orée du                [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    au cours du                 [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [avant|après] le            [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    jusqu’ au                   [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    par rapport au              [début|milieu] [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à [compter|partir] du       [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [au|du]                     [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à l’ orée du                [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    au cours du                 [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [avant|après] le            [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    jusqu’ au                   [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    par rapport au              [début|milieu] du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
        <<- ~>> *

    à [compter|partir] [de|d’]  la fin [de|d’] l’ [automne|été|hiver]
    [à|dès|depuis|de|d’]        la fin [de|d’] l’ [automne|été|hiver]
    à l’ orée [de|d’]           la fin [de|d’] l’ [automne|été|hiver]
    au cours [de|d’]            la fin [de|d’] l’ [automne|été|hiver]
    [avant|après]               la fin [de|d’] l’ [automne|été|hiver]
    jusqu’ à                    la fin [de|d’] l’ [automne|été|hiver]
    par rapport à               la fin [de|d’] l’ [automne|été|hiver]
    à [compter|partir] [de|d’]  la fin du printemps
    [à|dès|depuis|de|d’]        la fin du printemps
    à l’ orée [de|d’]           la fin du printemps
    au cours [de|d’]            la fin du printemps
    [avant|après]               la fin du printemps
    jusqu’ à                    la fin du printemps
    par rapport à               la fin du printemps
        <<- not morph(>1, ":A.*:[me]:[si]") ~>> *

    à [compter|partir] [de|d’]  la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [à|dès|depuis|de|d’]        la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à l’ orée [de|d’]           la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    au cours [de|d’]            la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [avant|après]               la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    jusqu’ à                    la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    par rapport à               la fin [de|d’] l’ [automne|été|hiver]  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à [compter|partir] [de|d’]  la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [à|dès|depuis|de|d’]        la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    à l’ orée [de|d’]           la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    au cours [de|d’]            la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    [avant|après]               la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    jusqu’ à                    la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
    par rapport à               la fin du printemps  [dernier|passé|précédent|prochain|~^\d{2,5}$]
        <<- ~>> *

    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] [de|d’] l’ [été|automne|hiver] ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] [de|d’] l’ [été|automne|hiver] de l’ [an|année] ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] du printemps ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] du printemps de l’ [an|année] ~^[0-9]{2,5}$
    par un beau [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] d’ [été|automne|hiver] ?~^[0-9]{2,5}$¿
................................................................................
    [avant|après]           la fin du ?[premier|deuxième|troisième|quatrième]¿ [semestre|trimestre]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    jusqu’ à                la fin du ?[premier|deuxième|troisième|quatrième]¿ [semestre|trimestre]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à           la fin du ?[premier|deuxième|troisième|quatrième]¿ [semestre|trimestre]  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *


__purge_dates_mois__
    à [compter|partir] du   [1er|1ᵉʳ|~^\d\d?$]  {_mois_}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le         [1er|1ᵉʳ|~^\d\d?$]  {_mois_}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [le|du]                 [1er|1ᵉʳ|~^\d\d?$]  {_mois_}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le        [1er|1ᵉʳ|~^\d\d?$]  {_mois_}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ au             [1er|1ᵉʳ|~^\d\d?$]  {_mois_}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au          [1er|1ᵉʳ|~^\d\d?$]  {_mois_}    ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    [les|des]               [1er|1ᵉʳ|~^\d\d?$] et ~^\d\d?$ {_mois_}    ?[derniers|passés|précédents|prochains|~^\d{2,5}$]¿
        <<- ~>> *

    dans la nuit du         [1er|1ᵉʳ|~^\d\d?$]  {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    dans la nuit du         [1er|1ᵉʳ|~^\d\d?$]  ?{_mois_}¿ au  [1er|1ᵉʳ|~^\d\d?$]  {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    au cours         [de|d’]    {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    au cours du mois [de|d’]    {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    à l’ orée du mois [de|d’]   {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    à [compter|partir] [de|d’]  {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ [en|à]             {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après]               {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis|de|d’]          {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au              {_mois_}  ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    ?[à|avant|après|de|d’|depuis]¿ [début|milieu|fin] {_mois_} ?~^\d{2,5}$¿
        <<- not morph(<1, ":D") ~>> *

    à [compter|partir]          [début|milieu|fin] {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ [en|à]             [début|milieu|fin] {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis|de|d’]          [début|milieu|fin] {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à               [début|milieu|fin] {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    ?jusqu’¿ au         [début|milieu]                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ au         [début|milieu] [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ au         [début|milieu] du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le    [début|milieu]                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le    [début|milieu] [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] le    [début|milieu] du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le     [début|milieu]                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le     [début|milieu] [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [dès|depuis] le     [début|milieu] du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    du                  [début|milieu]                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    du                  [début|milieu] [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    du                  [début|milieu] du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au      [début|milieu]                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au      [début|milieu] [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport au      [début|milieu] du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    ?jusqu’¿ à la           fin                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ à la           fin [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    ?jusqu’¿ à la           fin du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] la        fin                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] la        fin [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [avant|après] la        fin du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [de|d’|dès|depuis] la   fin                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [de|d’|dès|depuis] la   fin [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    [de|d’|dès|depuis] la   fin du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à la        fin                   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à la        fin [de|d’]           {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
    par rapport à la        fin du mois [de|d’]   {_mois_} ?[dernier|passé|précédent|prochain|~^\d{2,5}$]¿
        <<- ~>> *

    en ce début     {_mois_} ?~^\d{2,5}$¿
    [à|en] la fin   {_mois_} ?~^\d{2,5}$¿
        <<- ~>> *

    [début|fin] {_mois_} ~^\d{2,5}$
        <<- not morph(<1, ":D") ~>> *

    entre {_mois_} ?~^\d{2,5}$¿ et {_mois_} ?~^\d{2,5}$¿
        <<- ~>> *

    ?jusqu’¿ à                      la {_mi_mois_} ?~^\d{2,5}$¿
    [après|avant|dès|depuis|de|d’]  la {_mi_mois_} ?~^\d{2,5}$¿
    par rapport à                   la {_mi_mois_} ?~^\d{2,5}$¿
        <<- ~>> *


__purge_horaires_et_durée__
    24      [heures|h]      [sur|/]  24
    7       [jours|j]       [sur|/]  7
    sept    [jours|j]       [sur|/]  sept
................................................................................
    >discipline [de|d’] [acier|fer]
    >doigt [de|d’] fée
    >don en nature
    >donneur [de|d’] >leçon
    >dossier d’ inscription ?[administrative|scolaire]¿
    >dossier [de|d’] presse
    >drapeau en berne
    [droit+s] d’ accès
    >drone [de|d’] [combat|surveillance]
    >drogue [de|d’] synthèse
    >eau [de|d’] [bouleau|bleuet|chaux|coco|javel|jouvence|mer|parfum|pluie|seltz|source|vie]
    >eau [de|d’] noix [de|d’] coco
    >écart [de|d’] [conduite|langage]
    >échelle [de|d’] secours
    >économie [de|d’] >bout [de|d’] >chandelle
................................................................................
    >livraison à domicile
    >livre [de|d’] [poche|chevet]
    >livret A
    >livret d’ épargne ?[bancaire|populaire|salariale]¿
    >local à louer
    >locomotive à vapeur
    >loi d’ airain
    loi [no|n°|nᵒ] ~^[0-9]+ du ~^[0-9][0-9]?$ {_mois_} ~^[0-9]{2,5}$
    lois [no|nos|n°|nᵒˢ] ~^[0-9]+ du ~^[0-9][0-9]?$ {_mois_} ~^[0-9]{2,5}$ et [no|nos|n°|nᵒˢ] ~^[0-9-]+ du ~^[0-9][0-9]?$ {_mois_} ~^[0-9]{2,5}$
    >longueur d’ avance
    >lopin [de|d’] terre ?[desséchée|glaiseuse|grise|jaune|noire|ocre|rouge|sableuse|sèche]¿
    >lune [de|d’] miel
    lunettes [de|d’] [soleil|vue]
    >lutte à outrance
    >machine à [café|coudre|écrire|laver|sous|vapeur|voter]
    >machine à remonter le temps
................................................................................
    >matelas à mémoire de forme
    >matière à [débat|polémique|réflexion]
    >médaille d’ [or|argent|bronze]
    >médecin [de|d’] [famille|garde]
    >mère au foyer
    >mesure >barrière
    >metteur en scène
    >microscope à effet tunnel
    >mineur [de|d’] [moins|plus] [de|d’] *NUM ans
    >mineur [de|d’] [moins|plus] [de|d’] @:B:.:p ans
    >minute d’ arc
    >miroir aux alouettes
    >mise en danger de la vie d’ autrui
    >mouchoir [de|d’] poche
    >mode [de|d’] [emploi|paiement|scrutin|vie]
................................................................................
    taux [de|d’] mortalité ?[infantile|néonatale]¿
    >témoin à charge
    >tempête [de|d’] neige
    tenants et aboutissants
    >ténor du barreau
    >tentative [de|d’] suicide
    >tenue [de|d’] [rechange|route]
    >terrain [de|d’] [atterrissage|chasse|entente|golf|prédilection]
    >tête à claques
    >tête d’ enterrement
    >tête [de|d’] [linotte|déterré+ses|mule|pont]
    >terrain à découvert
    >terrain [de|d’] jeu
    >tigre à dents [de|d’] sabre
    >tigre [de|d’] papier ?mâché¿
................................................................................
    >con comme une valise sans >poignée
    >con comme une bite
    >condamné à mort
    >corvéable à merci
    >court sur pattes
    [cousu+ses] [main]
    [cousu+ses] [de|d’] fil blanc
    [daté+ses] du {jour} {_mois_} ?[prochain|passé|dernier|précédent|~^[0-9]{2,5}$]¿
    >digne [de|d’] [confiance|foi]
    >digne [de|d’] ce nom
    >droit comme un i
    >égal à [moi-même|toi-même|lui-même|elle-même|iel-même|soi-même|nous-même+s|vous-même+s|eux-mêmes|elles-mêmes|iels-mêmes]
    >étroit d’ esprit
    >fort en gueule
    >fou à lier
................................................................................
        <<- ~-2:0>> *

    [>homme|>femme|>garçon|>garçonnet|>fille|>fillette|>gonze|>mec|>meuf|>vieillard]                    [de|d’] grand talent
    [>acteur|>architecte|>artiste|>auteur|>chef|>cinéaste|>cuisinier|>dessinateur|>écrivain|>graphiste] [de|d’] grand talent
    [>ingénieur|>joueur|>musicien|>peintre|>photographe|>réalisateur]                                   [de|d’] grand talent
        <<- ~2:0>> *


__purge_référence__
    [ loi du ~^[0-9][0-9]?$ {_mois_} {années} ]
    [ loi du ~^[0-9][0-9]?$ {_mois_} {années} , art . *NUM ]
        <<- ~>> *


__purge_syntagmes_nominaux_matière__
    en  acier  ?[galvanisé|inoxydable|trempé]¿       ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    en  chêne  ?massif¿                              ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    en  bois   ?vernis¿                              ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    en  or     ?massif¿                              ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    en  [alu|aluminium|argent|béton|bois|contreplaqué|coton|cuir|cuivre|émail|étain|fer|fibrociment|fibro-ciment|inox] ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
    en  [inox|laiton|lin|métal|nacre|osier|plastique|plâtre|plomb|polycarbonate|polymère|verre|zinc]                   ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿
        <<- morph(<1, ":[NA]", ":G") and not morph(>1, ":A.*:[me]:[si]") ~>> *

    en  pierre                       ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
    en  pierre de taille             ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
    en  soie                         ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
    en  terre  ?[battue|cuite]¿      ?[claire|foncée|rouge|verte|brune|marron|jaune|orange|bleue|grise|rose|noire|blanche]¿
        <<- morph(<1, ":[NA]", ":G") and not morph(>1, ":A.*:[fe]:[si]") ~>> *

TEST: deux câbles en acier situés de part et d’autre du chariot
TEST: des murs en béton délabrés
TEST: une bague enchantée en argent sertie d’un rubis


__purge_locutions_adjectivales__
    ancienne [formule|génération]
    bas de gamme
    basse consommation
    bon [enfant|marché|teint]
................................................................................
TEST: le bonheur de plaire a des conséquences bénéfiques sur le moral.
TEST: le projet auquel ils ont mis fin a toutes les chances d’être repris par nos concurrents.
TEST: Le rêve a d’autres propriétés méconnues.


__conf_pronom_à_l_air__
    [tout|ça|ceci|cela|elle|tu]  à  l’  air  @:[AR]|>libre/
        <<- /conf/ morph(<1, ":Cs|<start>|>[(,]") -2>> a               && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.

TEST: lorsque tout {{à}} l’air fini, c’est trompeur.                                        ->> a
TEST: Tout {{à}} l’air complètement foutu…                                                  ->> a
TEST: Ça {{à}} l’air génial.                                                                ->> a
TEST: elle {{à}} l’air heureuse.                                                            ->> a
TEST: Tout à la benne.

................................................................................
        <<- /conf/ -3>> a                       && Avoir “\4”. Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: Elle {{à}} chaud.                                                                     ->> a
TEST: Elle {{à}} froid.                                                                     ->> a
TEST: cet homme {{à}} faim                                                                  ->> a
TEST: Votre réaction à froid ?


__conf_à_verse_averse__
    !! >pleuvoir à verse ¡¡
    >pleuvoir averse
    >pleuvoir [a|à] [verse+s|versent]
        <<- /conf/ -2:0>> à verse               && Confusion. Pleuvoir à verse.

TEST: il pleut {{averse}}                                                                   ->> à verse
TEST: il plut {{à verses}}                                                                  ->> à verse
TEST: il pleuvait à verse


__conf_faire_bande_à_part__
    >faire >bande a [>part|pare|pares|par]
    >faire >bande à [parts|pare|pares|par]
        <<- /conf/ -2:0>> bande à part          && Confusion. Locution “faire bande à part”.|https://fr.wiktionary.org/wiki/faire_bande_%C3%A0_part
        <<- !-2:-1>>

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

    >date [>frais|>dénoyauter|>fourrer|sèche+s|>sécher|>cultiver|>produire]
        <<- /conf/ morph(\2, ":A.*:f") -1>> =\1.replace("t", "tt").replace("T", "TT")   && Confusion probable. Pour parler du fruit, écrivez “datte”.|https://fr.wiktionary.org/wiki/datte

    >datte [du|de|des] [>bac|>baptême|>brevet|>calendrier|>carême|>carnaval|>concert|>début|>dépôt|>demande|>dernier|>diffusion|>document|>fermeture|>fin|>jour|>journal|>lancement|>livraison|mise+s|>mariage|>message|>mort|>naissance|>parution|>pentecôte|>péremption|>post|>prélèvement|>premier|prise+s|>prochain|>publication|>ramadan|>rapport|>réception|>référendum|>règlement|>retrait|>réunion|>séminaire|>show|>sortie|>spectacle|>terme|>tirage|>tournage|>trajet|>vente|>virement|>vol|>vote|>voyage|>lundi|>mardi|>mercredi|>jeudi|>vendredi|>samedi|>dimanche|congrès|décès|permis|procès]
    >datte d’ [accouchement|actualisation|achat|adhésion|anniversaire|apparition|échéance|édition|émission|engagement|entrée|envoi|examen|exécution|expédition|expiration|immatriculation|imputation|inscription|origine|ouverture|ovulation|aujourd’hui|Halloween]
    >datte de l’ [accouchement|actualisation|achat|adhésion|anniversaire|apparition|échéance|édition|émission|engagement|entrée|envoi|examen|exécution|expédition|expiration|immatriculation|imputation|inscription|origine|ouverture|ovulation]
    >datte du /NUM {_mois_}
        <<- /conf/ -1>> =\1.replace("tt", "t").replace("TT", "T")       && Confusion probable. La datte est un fruit. Pour évoquer un jour dans l’année, écrivez “date”.|https://fr.wiktionary.org/wiki/date

    >dernier en >datte
        <<- /conf/ -3>> date                                            && Confusion probable. La datte est un fruit. Pour évoquer un jour dans l’année, écrivez “date”.|https://fr.wiktionary.org/wiki/date

TEST: il va faire un cake aux {{dates}}.                                                        ->> dattes
TEST: elle a fait de la confiture de {{dates}}                                                  ->> dattes
................................................................................

# entretient / maintient / soutient
__conf_entretient_maintient_soutient__
    $:M  [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ -2>> \2t                                                                 && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [un|le|ce|cet]                     *WORD           [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>[(,]/") and morph(\2, ":N", ":[AG]")
        -3>> \3t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [une|la|cette|ma|ta|sa]            *WORD           [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>[(,]/") and morph(\2, ":N.*:[fe]")
        -3>> \3t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [l’|mon|ton|son|notre|votre|leur]  *WORD           [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>[(,]/") and morph(\2, ":N", ":A.*:[me]:[si]")
        -3>> \3t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [un|le|ce|cet]                     *WORD  *WORD    [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>[(,]/") and morph(\2, ":[NA]") and morph(\3, ":N", ":[AG]")
        -4>> \4t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [une|la|cette|ma|ta|sa]            *WORD  *WORD    [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>[(,]/") and morph(\2, ":[NA].*:[fe]:[si]") and morph(\3, ":[NA].*:[fe]:[si]")
        -4>> \4t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    [l’|mon|ton|son|notre|votre|leur]  *WORD  *WORD    [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ morph(<1, "<start>|:C||>[(,]/") and ( (morph(\2, ":N", "*") and morph(\3, ":A")) or (morph(\2, ":[NA]") and morph(\3, ":N", ":A.*:[me]:[si]")) )
        -4>> \4t                                                                            && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

    qui [entretien|maintien|soutien]  [<end>|,|@:[DR]]
        <<- /conf/ -2>> \2t                                                                 && Confusion probable : “\-2” est un nom commun. Pour la forme verbale (3ᵉ pers. au présent), écrivez “\-2t”.

TEST: Sophie {{soutien}} à fond son épouse                      ->> soutient
TEST: la grande {{maintien}} sa version.                        ->> maintient
................................................................................
TEST: Je veux savoir où et quand, où et pouquoi.
TEST: où et avec qui ?
TEST: je veux savoir où et lequel je dois flinguer


__conf_été_était__
    [le|ce|cet|mon|ton|son|notre|votre|leur|du|quel]  *WORD  >été
        <<- /conf/ morph(\2, ":N.*:m:[si]", ":(?:[AWG]|V0a)") and morph(<1, ":Cs|<start>|>[(,]") --1>> était
        && Confusion possible. Si le syntagme “\1 \2” est le sujet d’“\3”, écrivez “était”. L’été est la saison estivale allant de juin à septembre dans l’hémisphère Nord.

    [la|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|quelle]  *WORD  >été
        <<- /conf/ morph(\2, ":N.*:f:[si]", ":(?:[AWG]|V0a)") and morph(<1, ":Cs|<start>|>[(,]") --1>> était
        && Confusion possible. Si le syntagme “\1 \2” est le sujet d’“\3”, écrivez “était”. L’été est la saison estivale allant de juin à septembre dans l’hémisphère Nord.

    [les|des|ces|mes|tes|ces|nos|vos|leurs|quelques|plusieurs|certains|certaines|quels|quelles|maints|maintes]  *WORD  >été
        <<- /conf/ morph(\2, ":N.*:[pi]", ":(?:[AWG]|V0a)") and morph(<1, ":Cs|<start>|>[(,]") --1>> étaient
        && Confusion possible. Si le syntagme “\1 \2” est le sujet d’“\3”, écrivez “étaient”. L’été est la saison estivale allant de juin à septembre dans l’hémisphère Nord.

TEST: Ce mec {{été}} un connard fini.                                               ->> était
TEST: Quelle solution {{été}} à notre portée ?                                      ->> était
TEST: Les questions {{étés}} incompréhensibles.                                     ->> étaient
TEST: Le bel été indien que nous avons cette année.
TEST: Quel a été le déclencheur de cet ouvrage ?
................................................................................
    <start>  se  *WORD  @:(?:[123][sp]|P)¬:G
        <<- /conf/ morph0(\3, ":[NA]", ":Y") -2>> ce                            && Confusion probable. Si “\3” est bien un nom ou un adjectif, alors écrivez “ce”.

TEST: que sais-tu de {{se}} {{type}}                                    ->> ce|||typer
TEST: {{se}} type nous emmerde.                                         ->> ce
TEST: se doit d’être fort, ce con, sinon c’est la fin pour lui.


## scène, senne, seine, saine
__conf_scène_senne_seine_saine2__
    [>apparaître|>apparaitre|>bondir|>chanter|>danser|>mettre|>monter|>paraître|>paraitre|>surgir|>venir] [sur|en] [>cène|sen|>senne|>seine|saine+s]
    [>apparaître|>apparaitre|>bondir|>chanter|>danser|>mettre|>monter|>paraître|>paraitre|>surgir|>venir] sur la [>cène|sen|>senne|>seine|saine+s]
    [>faire|>monter] [une|la|cette] [>cène|sen|>senne|>seine|saine+s]
    >assister à [une|la|cette] [>cène|sen|>senne|>seine|saine+s]
    >émouvoir par [une|la|cette] [>cène|sen|>senne|>seine|saine+s]
        <<- /conf/ --1>> scène                                      && Confusion probable. Pour parler du lieu où se joue un spectacle, écrivez “scène”.|https://fr.wiktionary.org/wiki/sc%C3%A8ne

TEST: danser sur {{senne}}                                          ->> scène
TEST: ému par cette {{cène}}                                        ->> scène


## soit / soie / soi
__conf_aller_de_soi__
    >aller [de|d’] [sois|>soie]
        <<- /conf/ -3>> soi                                 && Confusion.|https://fr.wiktionary.org/wiki/aller_de_soi

    >aller de soit
................................................................................
TEST: l’homme {{vie}} ses derniers instants                     ->> vit
TEST: le sortilège “vie de merde” n’eut aucun effet
TEST: c’est comme toujours une question de vie ou de mort
TEST: il avait droit de vie et de mort sur tous.
TEST: donne signe de vie plus souvent, s’il te plaît.
TEST: l’homme qui resta en vit toute l’injustice


## aveuglément, forcément, isolément, sacrément
__conf_nom_adverbe2__
    [/_VCint_|/_VCimp_]  aveuglement
        <<- /conf/ --1>> aveuglément                        && Confusion probable : l’aveuglement est l’action de (s’)aveugler. L’adverbe s’écrit “aveuglément”.|https://fr.wiktionary.org/wiki/aveugl%C3%A9ment

    [/_VCint_|/_VCimp_]  forcement
        <<- /conf/ --1>> forcément                          && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment

    [/_VCint_|/_VCimp_]  isolement
        <<- /conf/ --1>> isolément                          && Confusion probable : l’isolement est l’action de (s’)isoler. L’adverbe s’écrit “isolément”.|https://fr.wiktionary.org/wiki/isol%C3%A9ment

    [/_VCint_|/_VCimp_]  sacrement
        <<- /conf/ --1>> sacrément                          && Confusion probable : le sacrement est l’action de sacrer. L’adverbe s’écrit “sacrément”.|https://fr.wiktionary.org/wiki/sacr%C3%A9ment

    aveuglement
        <<- /conf/ morph(<1, ":V", ":A") ->> aveuglément    && Confusion probable : l’aveuglement est l’action de (s’)aveugler. L’adverbe s’écrit “aveuglément”.|https://fr.wiktionary.org/wiki/aveugl%C3%A9ment

    forcement
        <<- /conf/ morph(<1, ":V", ":A") ->> forcément      && Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment

    isolement
        <<- /conf/ morph(<1, ":V", ":A") ->> isolément      && Confusion probable : l’isolement est l’action de (s’)isoler. L’adverbe s’écrit “isolément”.|https://fr.wiktionary.org/wiki/isol%C3%A9ment

    sacrement
        <<- /conf/ morph(<1, ":V", ":A") ->> sacrément      && Confusion probable : le sacrement est l’action de sacrer. L’adverbe s’écrit “sacrément”.|https://fr.wiktionary.org/wiki/sacr%C3%A9ment

TEST: arrivera-t-il {{aveuglement}}                                             ->> aveuglément
TEST: il avançait {{aveuglement}}                                               ->> aveuglément
TEST: Viendra-t-il {{forcement}} demain.                                        ->> forcément
TEST: Elle sera {{forcement}} déçue de cette minable prestation de sa part.     ->> forcément
TEST: il travaillait {{isolement}}                                              ->> isolément
TEST: travaillait-elle {{isolement}}                                            ->> isolément
TEST: on bossait {{sacrement}}                                                  ->> sacrément
TEST: bossait-elle {{sacrement}}                                                ->> sacrément


!!
!!
!!!! Groupe nominal (avec déterminants)                                                           !!
!!
!!

................................................................................
TEST: l’amour {{immortels}}                                                         ->> immortel
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.        ->> excellent|||
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.             ->> collier
TEST: elle prendra l’{{avions}} dès que possible                                    ->> avion


__gn_l_2m_virg__
    <start>  l’  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggAgree(\5, \3)                                                                    && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: L’homme, {{blessés}} par deux fois                                            ->> blessé


__gn_l_3m__
................................................................................
TEST: {{le}} gigantesque {{explosion}}                                                  ->> la|||
TEST: je ne sais jamais quoi faire et {{le}} gigantesque {{explosion}} n’a rien arrangé ->> la|||
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.


__gn_le_2m_virg__
    <start>  le  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[me]:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggMasSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: Le tyran, {{blessée}} par deux fois                                               ->> blessé


__gn_le_3m__
................................................................................
TEST: Il faut donc examiner ensemble le panneau et la paroi latérale.
TEST: Il faut donc examiner ensemble le panneau et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latérale.


__gn_la_2m_virg__
    <start>  la  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggFemSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: La femme, {{blessées}} par deux fois                                                      ->> blessée
TEST: la petite, prenant le parti de son frère,


__gn_la_3m__
    la  *WORD  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D")
            and morph(\2, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P)|;C") and morph(\4, ":[NA].*:[mp]", "*") and \4.islower()
        -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
................................................................................
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.      ->> insupportable
TEST: {{leur}} gros {{grains}}                                                  ->> leurs|||grain
TEST: Que ferons-nous de {{leur}} gros {{grains}}                               ->> leurs|||grain
TEST: 3 milliards d’euros que depuis 2012 l’État leur a volés


__gn_leur_2m_virg__
    <start>  leur  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: Leur maître, {{blessés}} par deux fois                                    ->> blessé


__gn_leur_3m__
................................................................................
TEST: que sais-tu d’un homme {{grande}} comme un arbre                                      ->> grand
TEST: je me souviens d’un homme {{arrogants}}                                               ->> arrogant
TEST: trois d’{{un}} quelconque {{élégance}}                                                ->> une|||
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.     ->> bancal


__gn_un_2m_virg__
    <start>  un  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5)
        --1>> =suggMasSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: un homme, {{blessés}} par deux fois                                       ->> blessé


__gn_une_2m__
................................................................................
TEST: on parle d’une Église {{brûlées}}                                         ->> brûlée
TEST: {{une}} gigantesque {{porte-avions}}                                      ->> un|||
TEST: d’{{une}} titanesque {{opportunisme}}                                     ->> un|||
TEST: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes.


__gn_une_2m_virg__
    <start>  une  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5)
        --1>> =suggFemSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: une femme, {{blessés}} par deux fois                                      ->> blessée


__gn_du_1m__
................................................................................
TEST: cet outil {{terribles}} qu’il a dans les mains                            ->> terrible
TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle.               ->> gauchiste
TEST: au petit {{publique}}                                                     ->> public
TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}.               ->> délirant


__gn_det_mas_sing_2m_virg__
    <start>  [ce|cet|quel|au|ledit|dudit|audit|aucun|nul]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5)
        --1>> =suggMasSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: ce con, {{blessée}} par deux fois                                         ->> blessé


__gn_det_mas_sing_3m__
................................................................................
TEST: on parlait de son escapade {{éperdu}} au milieu de la nuit.               ->> éperdue
TEST: ton étonnante {{secret}} ne sera pas au programme.                        ->> secrète
TEST: elle s’étonnait de ton opposition {{grandissantes}}                       ->> grandissante
TEST: le ton monte.


__gn_mon_ton_son_2m_virg__
    <start>  [mon|ton|son]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5) >>>
        <<- /gn/ morph(\3, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:[me]:[si]")  --1>> =suggMasSing(\-1)   && Cet adjectif n’est pas accordé avec “\2 \3”.
        <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæh]") --1>> =suggAgree(\-1, \3)                         && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: mon mari, {{blessée}} par deux fois                                       ->> blessé
TEST: ton âme, {{ébranlé}} par ces révélations                                  ->> ébranlée
TEST: son homme, {{stupéfaite}} par ces révélations                             ->> stupéfait
................................................................................
TEST: j’en ai assez de cette ville {{stressées}} en permanence.                 ->> stressée
TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ?                           ->> beau|||enfants
TEST: de ma grande {{ami}}                                                      ->> amie
TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance.


__gn_det_fem_sing_2m_virg__
    <start>  [ma|ta|sa|cette|quelle|ladite|aucune|nulle]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5)
        --1>> =suggFemSing(\-1)                                                                     && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: cette femme, {{blessées}} par deux fois                                   ->> blessée


__gn_det_fem_sing_3m__
................................................................................
TEST: que faire de votre {{ennuyeuse}} {{avocat}}                               ->> ennuyeux|||avocate
TEST: de quelque cartable {{vides}}                                             ->> vide
TEST: de notre petit {{amis}}                                                   ->> ami
TEST: Quelque chose tombé dans le puits a souillé l’eau.


__gn_det_epi_sing_2m_virg__
    <start>  [chaque|quelque|notre|votre]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: votre femme, {{blessés}} par deux fois                                    ->> blessée
TEST: chaque homme, {{blessées}} par deux fois                                  ->> blessé


................................................................................
TEST: les agrandissements photo
TEST: Il faut donc examiner ensemble les panneaux et les parois latéraux.
TEST: Il faut donc examiner ensemble les panneaux et les parois latérales.
TEST: l’homme les a volés


__gn_les_2m_virg__
    <start>  les  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":3[sp]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: les femmes, {{blessé}} par deux fois                                      ->> blessées
TEST: les hommes, {{blessée}} par deux fois                                     ->> blessés
TEST: les femmes, demeurant rue de la paix


__gn_leurs_1m__
    leurs  *WORD
        <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
        -2>> =suggPlur(\2)                                                                  && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
        <<- /gn/ __also__ -1>> leur                                                         && Accord de nombre erroné avec « \2 ».
................................................................................
TEST: Une des pierres veinée de rouge…
TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie.
TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion.
TEST: le bruit de nos pas étouffé par l’épais tapis.


__gn_det_epi_plur_2m_virg__
    <start>  [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                           && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: nos femmes, {{blessé}} par deux fois                                      ->> blessées
TEST: vos hommes, {{blessée}} par deux fois                                     ->> blessés
TEST: ces personnes, méprisant le danger, furent blessées


__gn_det_mas_plur_2m__
    [certains|maints|quels|lesdits|desdits|auxdits]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasPlur(\3, True)                                                         && Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
................................................................................
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_mas_plur_2m_virg__
    <start>  [certains|maints|quels|lesdits|desdits|auxdits]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[me]:[pi]") and not agreement(\3, \5)
        --1>> =suggMasPlur(\-1)                                                             && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: maints hommes, {{blessée}} par deux fois                                              ->> blessés


__gn_det_fem_plur_2m__
................................................................................
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_det_fem_plur_2m_virg__
    <start>  [certaines|maintes|quelles|lesdites|desdites|auxdites]  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[fe]:[pi]") and not agreement(\3, \5)
        --1>> =suggFemPlur(\-1)                                                             && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: certaines femmes, {{blessé}} par deux fois                                            ->> blessées


__gn_nombre_plur_2m__
................................................................................
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_nombre_2m_virg__
    <start>  @:B:.:p  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                                   && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: deux femmes, {{blessé}} par deux fois                                                 ->> blessées
TEST: trois hommes, {{blessée}} par deux fois                                               ->> blessés


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":(?:[VRBXÉ]|Cs)|>comme/|<start>|>[(,]", "*") or morph(\3, ":N", ":[AQ]")) and not morph(\3, ">(?:seul|minimum|maximum)/") >>>
        <<- /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: 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_des_2m_virg__
    <start>  des  *WORD  ,  @:A¬:[GP]
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5)
        --1>> =suggAgree(\-1, \3)                                                                   && Cet adjectif n’est pas accordé avec “\2 \3”.

TEST: des femmes, {{blessé}} par deux fois                                                  ->> blessées
TEST: des hommes, {{blessée}} par deux fois                                                 ->> blessés


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


#### Groupes, regroupements, collections, etc.

## Pluriel des groupes
__gn_nombre_de_1m__
    nombre  [de|d’]  *WORD
        <<- /gn/ morph(\3, ":[NA].*:s", ":[ip]|>o(?:nde|xydation|r)/") and morph(<1, ":(?:G|[123][sp])|<start>|>[(,]", ":[AD]")
        -3>> =suggPlur(\3)                                                                  && Ici, le syntagme « nombre de » devrait probablement être suivi d’un pluriel.

TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui.        ->> emmerdeurs


__gn_plein_de__
    pleins [de|d’]
        <<- /gn/ morph(<1, ":(?:V|R|[NAQ].*:s)|<start>|>[(,]", ":(?:[NA].*:[pi]|V.e.*:[123]p)")
        -1>> plein                                                  && S’il s’agit d’une préposition et non d’un adjectif, “plein” doit être au singulier.

    plein [de|d’] [client|conseil|croyance|croyant|demande|élève|enfant|erreur|étudiant+e|faute|femme|fidèle|fille|fillette|garçon|homme|individu|personne|patient+e|touriste]
        <<- /gn/ --1>> \3s                                          && S’il y en a plein (c’est-à-dire plusieurs), il faut mettre au pluriel.

TEST: Je connais {{pleins}} de gens                                         ->> plein
TEST: un site avec {{pleins}} de pubs                                       ->> plein
................................................................................
TEST: elle met la barre très haut


# juste
__gn_adverbe_juste__
    justes
        <<- /gn/ \1.islower() and morph(<1, ":V", ":[DA]") and not morph(>1, ":[NA].*:[pi]")
            and not (morph(<1, ">(?:être|sembler|devenir|rester|demeurer|redevenir|para[îi]tre|trouver)/.*:[123]p") and morph(>1, ":G|<end>|>[(,]/"))
        ->> juste                                                   && Si “juste” est un adverbe, il est invariable.

TEST: Viser {{justes}}                                              ->> juste
TEST: Voir {{justes}}.                                              ->> juste
TEST: Penser juste.
TEST: Dures mais justes.
TEST: J’ai retrouvé tout mon ressenti, tous les mots sont justes.
................................................................................
TEST: quand ce fut fait, il lui manqua la force de répliquer.


__conf_qui_pronom_verbe__
    qui  [lui|nous|vous]  @:[NA]¬:(?:[123][sp]|P)
        <<- /conf/ hasSimil(\-1, ":(?:[123][sp]|P)") --1>> =suggSimil(\-1, ":[123][sp]")            && Confusion probable : “\-1” n’est pas une forme verbale conjuguée.

    qui [le|la|l’|les] *WORD  [,|)|<end>]
    qui [le|la|l’|les] *WORD  @:(?:D|3[sp]|Ov)¬:A
        <<- /conf/ not morph(<1, ":R") and morph(\3, ":[NA]", ">plus/|:(?:[123][sp]|P)") and hasSimil(\3, ":(?:[123][sp])")
        -3>> =suggSimil(\3, ":[123][sp]")                                                           && Confusion probable : “\3” n’est pas une forme verbale conjuguée.

    qui leur *WORD  [,|)|<end>]
    qui leur *WORD  @:(?:D|3[sp]|Ov)
        <<- /conf/ not morph(<1, ":R") and morph(\3, ":[NA]", ":(?:[123][sp]|P)") and hasSimil(\3, ":(?:[123][sp])")
        -3>> =suggSimil(\3, ":[123][sp]")                                                           && Confusion probable : “\3” n’est pas une forme verbale conjuguée.

    qui  *WORD  [,|)|<end>]
    qui  *WORD  @:(?:D|3[sp]|Ov)
        <<- /conf/ not morph(<1, ":R") and morph(\2, ":[NA]", ":(?:[123][sp]|P)") and hasSimil(\2, ":(?:[123][sp])")
        -2>> =suggSimil(\2, ":[123][sp]")                                                           && Confusion probable : “\2” n’est pas une forme verbale conjuguée.

TEST: Et gardez bien en tête que la personne qui vous {{contact}} peut-être un sous-traitant        ->> contacte|contactes|contactent
TEST: la nature qui nous {{maintien}} en vie                                                        ->> maintiens|maintient
TEST: un homme qui {{oubli}} son devoir                                                             ->> oublie|oublies|oublient
TEST: La firme qui l’{{emploi}} l’avait libéré d’une journée de travail                             ->> emploie|emploies|emploient
TEST: le PC qui leur {{calcul}} leur paye est tombé en panne                                        ->> calcule|calcules|calculent
TEST: qu’est-ce qui lui donne cette assurance ?
TEST: qui vous prend aux tripes


__bs_substantif_de_adj__
    il  y     >avoir             [un|une]  ?[seul|seule]¿  *WORD  [de|d’]  $:Q¬:G
    il  n’ y  >avoir  qu’        [un|une]  ?[seul|seule]¿  *WORD  [de|d’]  $:Q¬:G
................................................................................
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   vous    >seul           [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   eux     seuls           [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   elles   seules          [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   iels    [seuls|seules]  [<end>|,|@:[VXG]¬>qui/]
    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi]   [vous|nous] autres      [<end>|,|@:[VXG]¬>qui/]
        <<- ~1:3>> *

    [avant|avec|envers|chez|malgré|selon] {_pronom_obj_}                                                        [<end>|,|@:[VXG]¬>qui/]
    [à|après|contre|par|pour|sans|de|d’]  [moi|toi|soi|elle|iel|eux|elles|iels|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel-même|iels-mêmes] [<end>|,|@:[VXG]¬>qui/]
        <<- ~1:2>> *

    [à|après|contre|par|pour|sans|de|d’|en] [lui|nous|vous] [<end>|,|@:G¬Ov]
        <<- ~1:2>> *

    [à|après|contre|par|pour|sans|de|d’|en] [lui|nous|vous] en $:P
        <<- ~1:2>> *

    en [moi|toi|soi|elle|iel|eux|elles|iels|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel-même|iels-mêmes]
        <<- ~>> *

    entre {_pronom_obj_} et {_pronom_obj_}
    entre [nous|vous|eux|elles|iels] ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix]¿
        <<- ~>> *

    ni [après|avec|chez|contre|de|d’|derrière|devant|envers|malgré|pour|sans|sous|sur] {_pronom_obj_} ?,¿
        || ni [après|avec|chez|contre|de|d’|derrière|devant|envers|malgré|pour|sans|sous|sur] {_pronom_obj_}
        <<- ~>> *

    jusqu’ à        chez
    [de|d’]         chez
    ?[de|d’]? par   chez
    pour            chez
        <<- ~1:-2>> *

    ?[de|d’]? à bonne distance [de|d’]      {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? à côté [de|d’]                {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? à part                        {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? à [cause|partir] [de|d’]      {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? autour [de|d’]                {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au-dessus [de|d’]             {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au-dedans [de|d’]             {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au fond [de|d’]               {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? au plus profond [de|d’]       {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? chez *WORD ?jusqu’¿ à chez    {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? en dessous [de|d’]            {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? ?tout¿ au fond [de|d’]        {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? ?tout¿ autour [de|d’]         {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? avec ou sans                  {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? en paix avec                  {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? par-devers                    {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? par >égard pour               {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? par gratitude pour            {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? pour ou contre                {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? ?tout¿ près [de|d’]           {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    ?[de|d’]? sans >égard pour              {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
    quant à                                 {_pronom_obj_}  [<end>|,|@:[VXG]¬>qui/]
        <<- ~1:-2>> *

    [moi|toi]       [seul+e]
    lui             seul
    elle            seule
    iel             [seul+e]
    [nous|vous]     [seuls|seules]
................................................................................
        <<- /1>> _LVEID_
        <<- />> _LVEI_
        <<- /-1>> _LVEIF_


    ## locutions verbales d’état pronominales

    [me|m’] ?[en|y]¿ [>avouer|>croire|>dire|>faire|>montrer|>penser|>prétendre|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    [te|t’] ?[en|y]¿ [>avouer|>croire|>dire|>faire|>montrer|>penser|>prétendre|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    nous    ?[en|y]¿ [>avouer|>croire|>dire|>faire|>montrer|>penser|>prétendre|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    vous    ?[en|y]¿ [>avouer|>croire|>dire|>faire|>montrer|>penser|>prétendre|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
    [se|s’] ?[en|y]¿ [>avouer|>croire|>dire|>faire|>montrer|>penser|>prétendre|>révéler|>savoir|>sentir|>tenir|>voir|>vouloir]
        <<- /-1>> _VEP_

    [me|m’] ?[en|y]¿ /-je
    [te|t’] ?[en|y]¿ /-tu
    nous    ?[en|y]¿ /-nous
    vous    ?[en|y]¿ /-vous
    [se|s’] ?[en|y]¿ [/-il|/-elle|/-on|/-iel|/-ils|/-elles|/-iels]
................................................................................
!!
!!
!!!! Participes passés: COD précédant que                                                         !!
!!
!!

__ppas_det_sing_COD_que_avoir__
    >avoir dû ?[me|m’|te|t’|lui|nous|vous|leur]¿ $:Y
        <<- !2>>

    [un|le|ce|cet]  *WORD  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|É|[me]:[si])
    [un|le|ce|cet]  *WORD  [que|qu’]  $:D¬:R  @:[NA]                                          ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|É|[me]:[si])
        <<- /ppas/ morph(\2, ":[NA].*:[me]") --1>> =suggVerbPpas(\-1, ":m:s")
        && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

    [une|la|cette|ma|ta|sa]  *WORD  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si])
    [une|la|cette|ma|ta|sa]  *WORD  [que|qu’]  $:D¬:R  @:[NA]                                          ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si])
................................................................................
TEST: l’épée que tu nous as {{envoyés}}                                         ->> envoyée
TEST: votre père que vous m’avez {{envoyée}}                                    ->> envoyé
TEST: ton psychologue que tu nous as {{suggérés}}                               ->> suggéré
TEST: le flacon qu’ils ont réussi à acquérir
TEST: la danse qu’ils ont réussi à faire
TEST: La dernière fois qu’elle a brûlé, c’était pendant la Commune.
TEST: en ayant l’impression qu’il a beaucoup réussi
TEST: rassuré par l’enquête qu’il avait dû mener, il consentit à me faire confiance

__ppas_det_plur_COD_que_avoir__
    [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  [que|qu’]  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M]  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q¬:[GWÉ]
    [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  [que|qu’]  $:D¬:R  @:[NA]                                          ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:V[0-3]..t.*:Q¬:[GWÉ]
        <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)")
            and not ((value(\-1, "|décidé|essayé|imaginé|ordonné|oublié|supplié|tenté|") and value(>1, "|de|d’|")) or (value(\-1, "|réussi|pensé|échoué|") and value(>1, "|à|")))
            and morph(\2, ":[NA]") >>>
................................................................................
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

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

TEST: {{chante les}} avec conviction                                                ->> chante-les
TEST: tu dois finir, {{finit les}}.                                                 ->> finis-les
TEST: Veut les en convaincre.
TEST: Invite les plus intelligents…
TEST: Prenez les 5 ou 6 revues les plus connues.
................................................................................
TEST: Allez les chercher.
TEST: Soyez les plus gentils qu’on puisse imaginer.


__imp_union_le_la_leur__
    *WORD  [le|la|leur]
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>[(,]", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|en|y|une?|leur|lui)/")
            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  [le|la|leur]
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/")
            and morph(>1, ":|<end>|>[(,]", ":(?:N|A|Y|B|T|MP|3[sp])|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|en|y|une?|leur|lui)/")
        -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: {{Prends le}} avec toi.                                                       ->> Prends-le
TEST: {{Dites leur}} que nous sommes là.                                            ->> Dites-leur
TEST: c’est ça, {{apprend le}} parce que c’est compliqué.                           ->> apprends-le
TEST: {{pardonne leur}}, ils ne savent pas ce qu’ils font                           ->> pardonne-leur
TEST: un sujet si extrêmement politique et polémique lui a donné un accès
................................................................................
TEST: Daignez le lui permettre
TEST: Daignez la leur donner


__imp_union_en__
    *WORD  en
        <<- /imp/ space(\1, 1, 1)
            and morph(\1, ":E", ":[GM]|>(?:aller|partir)/") and morph(>1, ":|<end>|>[(,]", ":(?:N|A|Q|Y|M|P|B|H|T|D|Ov)|>(?:plus|moins|mieux|peu|trop|très|une?)/") 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

    [<start>|,|(]  *WORD  en
        <<- /imp/ space(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GME]|>(?:aller|partir)/")
            and morph(>1, ":|<end>|>[(,]", ":(?:N|A|Y|M|P|B|3[sp]|D|Ov)|>(?:plus|moins|mieux|peu|trop|très|une?)/") >>>
        <<- /imp/ morph(\2, ":V1") -2:3>> \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
        <<- /imp/ __else__ -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: {{restons en}} là.                                        ->> restons-en
TEST: tu crois ça, {{donnes en}} encore                         ->> donnes-en
TEST: tu crois ça, {{prend en}}                                 ->> prends-en
TEST: tu crois ça, {{donne en}} encore                          ->> donnes-en
................................................................................

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__
................................................................................

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

................................................................................
!!
!!
!!!! Incohérence verbe/nom                                                                        !!
!!
!!

__conf_le_la_leur_les_verbe_nom!6__
    [<start>|,|(] [le|un]         @:V¬:(?:[NAY]|V0)  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] [le|un]         @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]            @:[123][sp]¬:[QNAG]
    [<start>|,|(] [le|un]         @:V¬:(?:[NAY]|V0)  [nous|vous]                    @:[123][sp]¬:[QG]
    [<start>|,|(] [le|un]         @:V¬:(?:[NAY]|V0)                                 @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[me]:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[me]:[si]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [la|une]        @:V¬:(?:[NAY]|V0)  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] [la|une]        @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]            @:[123][sp]¬:[QNAG]
    [<start>|,|(] [la|une]        @:V¬:(?:[NAY]|V0)  [nous|vous]                    @:[123][sp]¬:[QG]
    [<start>|,|(] [la|une]        @:V¬:(?:[NAY]|V0)                                 @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[fe]:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[fe]:[si]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] l’              @:V¬:(?:[NAY]|V0)  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] l’              @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]            @:[123][sp]¬:[QNAG]
    [<start>|,|(] l’              @:V¬:(?:[NAY]|V0)  [nous|vous]                    @:[123][sp]¬:[QG]
    [<start>|,|(] l’              @:V¬:(?:[NAY]|V0)                                 @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[si]", True)                                   && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] leur            @:V¬:(?:[NAY]|V0)  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] leur            @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]            @:[123][sp]¬:[QNAG]
    [<start>|,|(] leur            @:V¬:(?:[NAY]|V0)  [nous|vous]                    @:[123][sp]¬:[QG]
    [<start>|,|(] leur            @:V¬:(?:[NAY]|V0)                                 @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[si]")
        -3>> =suggSimil(\3, ":[NA].*:[si]", True)                                   && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:(?:[NAY]|V0)  [ne|n’|me|m’|te|s’|se|s’]
    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]     @:[123][sp]¬:[QNAG]
    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:(?:[NAY]|V0)  [nous|vous]             @:[123][sp]¬:[QG]
    [<start>|,|(] [les|plusieurs|leurs]  @:V¬:(?:[NAY]|V0)                          @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[pi]")
        -3>> =suggSimil(\3, ":[NA].*:[pi]", True)                                   && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [certains|maints]     @:V¬:(?:[NAY]|V0)  [me|m’|te|s’|se|s’]
    [<start>|,|(] [certains|maints]     @:V¬:(?:[NAY]|V0)  [ne|n’]                  @:[123][sp]
    [<start>|,|(] [certains|maints]     @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]      @:[123][sp]¬:[QNAG]
    [<start>|,|(] [certains|maints]     @:V¬:(?:[NAY]|V0)  [nous|vous]              @:[123][sp]¬:[QG]
    [<start>|,|(] [certains|maints]     @:V¬:(?:[NAY]|V0)                           @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[me]:[pi]")
        -3>> =suggSimil(\3, ":[NA].*:[me]:[pi]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

    [<start>|,|(] [certaines|maintes]   @:V¬:(?:[NAY]|V0)  [me|m’|te|s’|se|s’]
    [<start>|,|(] [certaines|maintes]   @:V¬:(?:[NAY]|V0)  [ne|n’]                  @:[123][sp]
    [<start>|,|(] [certaines|maintes]   @:V¬:(?:[NAY]|V0)  [le|la|l’|les|leur]      @:[123][sp]¬:[QNAG]
    [<start>|,|(] [certaines|maintes]   @:V¬:(?:[NAY]|V0)  [nous|vous]              @:[123][sp]¬:[QG]
    [<start>|,|(] [certaines|maintes]   @:V¬:(?:[NAY]|V0)                           @:[123][sp]¬:[QAG]
        <<- /conf/ hasSimil(\3, ":[NA].*:[fe]:[pi]")
        -3>> =suggSimil(\3, ":[NA].*:[fe]:[pi]", True)                              && Confusion probable. Après le déterminant “\2”, il faut placer un nom, pas une forme verbale comme “\3”.

TEST: Un {{défie}} se définit par la difficulté                 ->> défi
TEST: Le {{défit}} ne l’enthousiasmait pas.                     ->> défi
TEST: Le {{défie}} ne l’enthousiasmait pas.                     ->> défi
TEST: Les {{connections}} étaient défaillantes.                 ->> connexions
................................................................................
TEST: Laquelle choisir ?
TEST: Lequel manger ?
TEST: Une société a vendu un terrain à bâtir à un acquéreur, lequel entreprend des travaux pour y construire un pavillon.


__conj_personne__
    personne  @:V¬:(?:3s|P|G|[QA].*:f:s)
        <<- /conj/ morph(<1, ":C|<start>|>[(,]", ":(?:P|Q|[123][sp]|R)|>ni/")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    personne  qui  @:V¬:(?:3s|P|G)
        <<- /conj/ morph(<1, ":[CRV]|<start>|>[(,]", ":D")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Personne ne {{peux}} me le dire.                                              ->> peut
TEST: personne n’en {{parlent}}                                                     ->> parle
TEST: je connais personne qui en {{parlent}} autant                                 ->> parle
TEST: en tant que personne qualifiée


__conj_rien__
    rien  @:V¬:(?:3s|P|Y|G)
        <<- /conj/ tag(\2, "neg") and morph(<1, ":Cs|<start>|>[(,]", ":(?:Y|P|Q|[123][sp]|R)")
            and not(morph(\2, ":Y") and value(<1, "|ne|"))
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    rien  qui  @:V¬:(?:3s|P|G)
        <<- /conj/ morph(<1, ":[CRV]|<start>|>[(,]")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Rien ne {{sers}} de courir                                                    ->> sert
TEST: Rien n’{{arrives}} sans raison                                                ->> arrive
TEST: Rien, en ce qui le concernait, ne {{pouvais}} le ramener à la raison.         ->> pouvait
TEST: ils ne savent rien qui {{puissent}} les aider                                 ->> puisse
TEST: rien qui {{soient}} aussi difficile                                           ->> soit
................................................................................
TEST: comme si son pays n’avait rien appris du fascisme ni rien reçu de l’Europe
TEST: dans un système qui ne leur a pratiquement rien donné, rien transmis


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

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


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

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

TEST: aucun ne {{savaient}} que faire                                               ->> savait
TEST: aucune n’{{iront}} là-bas                                                     ->> ira
TEST: aucune femme ne {{sauraient}} le faire                                        ->> saurait
TEST: aucun homme ne {{sauraient}} s’y prendre                                      ->> saurait
TEST: aucun d’entre nous n’{{as}} donné                                             ->> a
................................................................................
TEST: Venir vaincue ne lui épargna aucune indignité.
TEST: Mais migrer un site et ses contenus prend du temps…
TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité.


__conj_le_la_leur_nom!5__
    le  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggMasSing)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    la  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggFemSing)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [l’|leur]  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggSing)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [le|la|l’|leur]  *WORD  qui  @:V¬:(?:3s|P|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\4, ":3p") )
        -4>> =suggVerb(\4, ":3s")                                                                   && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Le chien n’{{es}} pas mort.                                                                   ->> est
TEST: le chat {{finissent}}                                                                         ->> finit
TEST: Le damné {{donnes}}                                                                           ->> donne|donné
................................................................................
TEST: la majorité survenaient sous la contrainte
TEST: la plupart avançaient en rangs serrés
TEST: un grand nombre avaient été humiliés par ces pratiques délétères


__conj_det_sing_nom__
    [un|ce|cet|mon|ton|son|notre|votre]  *WORD  @:[123][sp]¬:(?:3s|P|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]|>et/") and morph(\2, ":[NA].*:[me]:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|nombre|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggSing)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [une|cette|mon|ton|son|ma|ta|sa|notre|votre]  *WORD  @:[123][sp]¬:(?:3s|P|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]|>et/") and morph(\2, ":[NA].*:[fe]:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3s", False, suggSing)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre]  *WORD  qui  @:V¬:(?:3s|P|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>[(,]", ":[YP]|>et/") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\4, ":3p") )
        -4>> =suggVerb(\4, ":3s")                                                                   && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Tu devrais le savoir, ce roman-là de Jean-Paul Sartre {{es}} passionnant.                     ->> est
TEST: Cette confusion qui {{donnent}} le tournis.                                                   ->> donne
TEST: tu sais, une hausse de 2 % {{satisfais}} tout le monde                                        ->> satisfait
................................................................................
TEST: Trente et un viennent ce soir.
TEST: Quarante et une seront là demain.
TEST: Tous sauf un viendront.


__conj_un_une_des__
    [un|une]  @:V¬:(?:3s|P|G|Q|M|[NA].*:[pi])
        <<- /conj/ tag(\1, "_un_des_") and morph(<1, ":C|<start>|>[(,]", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1…”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [un|une]  des *WORD  qui  @:V¬:(?:3[sp]|P|G)
        <<- /conj/ morph(<1, ":C|<start>|>[(,]", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     && Conjugaison erronée. Accord avec “\1…”. Le verbe devrait être à la 3ᵉ personne du singulier ou du pluriel.

TEST: un des ingénieurs {{vinrent}} nous dire quoi faire.                                           ->> vint
TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret                    ->> demande
TEST: une des femmes de ce conseil ne {{céderaient}} jamais au chantage.                            ->> céderait
TEST: un des chats qui {{venez}} nous ennuyer tous les jours.                                       ->> vient
TEST: une des femmes présente ses résultats.
................................................................................
TEST: tous prendre une bonne cuite, voilà ce que nous allons faire.
TEST: on va tous manger au resto.
TEST: elles vont toutes aller faire un tour


__conj_det_plur_nom__
    [ces|mes|tes|ses|nos|vos|leurs|quelques]  @:[NA].*:[pi]¬:V0  @:V¬:(?:3p|P|Y|G|M|A.*:[pi])
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggAgree, \3, \2)                                         && Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [ces|mes|tes|ses|nos|vos|leurs|quelques]  @:[NA].*:[pi]¬:V0  qui  @:V¬:(?:3p|P|Y|G|M|A.*:e:[pi])
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
        -4>> =suggVerb(\4, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Ses « chiens » {{coure}} sur ma pelouse.                                                      ->> courent
TEST: mes filles {{passe}} ce matin                                                                 ->> passent
TEST: vos filles {{passes}} ce matin                                                                ->> passent
TEST: ces travaux qui {{demande}} tant d’efforts.                                                   ->> demandent
................................................................................
TEST: le lien entre les agences de renseignement et ces mêmes entreprises pouvait reposer sur des activités de surveillance à proprement parler.
TEST: trier les cons et les connes expose à un violent coup de boomerang
TEST: Tu penses que quelqu’un qui frappe sa femme et ses enfants est un bon père ?


__conj_les_nom__
    les  @:[NA].*:[pi]¬:V0  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not ( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggAgree, \3, \2)                                         && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    les  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
        -4>> =suggVerb(\4, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Les abstentions {{est}} présumée manifester un défaut d’opinion marquée                       ->> sont
TEST: Les cours de culture générale nous {{apporte}} de l’ouverture d’esprit.                       ->> apportent
TEST: Les hommes ne le lui {{pardonnes}} pas.                                                       ->> pardonnent
TEST: Les infirmières à mi-temps ne {{travaille}} pas dans cette aile.                              ->> travaillent
................................................................................
TEST: les femmes enceintes
TEST: les souris enceintes
TEST: au train où vont les choses, ce sera bientôt la fin.


__conj_certains_certaines_plusieurs_nom__
    [certains|maints]  @:[NA].*:[pi]  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggMasPlur)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [certaines|maintes]  @:[NA].*:[pi]  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggFemPlur)                                               && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    plusieurs  @:[NA].*:[pi]  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
            and not agreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and (morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")))
        -3>> =suggVerb(\3, ":3p", False, suggPlur)                                                  && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

    [certains|certaines|plusieurs|maints|maintes]  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|Y|G|M)
        <<- /conj/ morph(<1, ":Cs|<start>|>[(,]")
            and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
        -4>> =suggVerb(\4, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: les chattes {{danse}}                                                                         ->> dansent
TEST: certains hommes {{marchande}} sans cesse                                                      ->> marchandent|marchandés|marchands
TEST: tu sais, certains filtres {{donnes}} de mauvais résultats                                     ->> donnent
TEST: certaines femmes {{danse}} beaucoup                                                           ->> dansent
................................................................................
TEST: j’en connais plusieurs soumises à de très fortes pressions
TEST: certaines femmes prises par leur travail n’ont plus le temps pour rien d’autre.
TEST: certains imbéciles passés à l’ennemi feraient mieux de se taire.


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

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

    *WORD  des  @:[NA].*:[pi]  qui  @:V¬:(?:3p|P|G)
................................................................................
TEST: l’amour dont {{parle}} les femmes                                                             ->> parlent
TEST: duquel {{arrive}} les ennuis                                                                  ->> arrivent
TEST: les hommes, desquels {{arrive}} nos problèmes                                                 ->> arrivent
TEST: les femmes, desquelles {{provient}} ces outils                                                ->> proviennent
TEST: les amusements pour lesquels {{vienne}} les invités.                                          ->> viennent
TEST: financé par le Qatar, lequel dépense des millions de dollars pour soutenir le mouvement
TEST: oubliée par sa mère, laquelle trouvait toujours maintes raisons de se dérober.
TEST: c’est bien aux côtés d’autres – dont nombre des plus grands créateurs de son temps – que l’essentiel de son art aura trouvé à s’exprimer.


__conj_puisse__
    [<start>|,|(]  puisse  @:D.*:p
        <<- /conj/ -2>> puissent                                                    && Conjugaison erronée. Ce verbe devrait s’accorder au substantif qui le suit.

TEST: {{puisse}} les hommes enfin comprendre leurs erreurs.                                         ->> puissent