Grammalecte  Check-in [e28328e6f5]

Overview
Comment:[fr] ajustements (tests)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: e28328e6f52c74fe3abed404933cfd1b0b185126ad22b6d7e68acafb343d7960
User & Date: olr on 2021-01-19 12:31:39
Other Links: manifest | tags
Context
2021-01-19
12:44
[fr] phonet_simil: finition / finissions check-in: 05b4d0fba6 user: olr tags: fr, trunk
12:31
[fr] ajustements (tests) check-in: e28328e6f5 user: olr tags: fr, trunk
2021-01-16
11:51
[fr] ajustements (tests) check-in: c2148721bf user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [f5fd500d96] to [53ce269c44].

471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
....
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
....
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
....
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
....
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
....
4790
4791
4792
4793
4794
4795
4796
4797

4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
....
4817
4818
4819
4820
4821
4822
4823

4824
4825
4826
4827
4828
4829
4830
....
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
....
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
....
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
....
5461
5462
5463
5464
5465
5466
5467

5468
5469
5470
5471

5472
5473
5474
5475

5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
....
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
....
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
....
5560
5561
5562
5563
5564
5565
5566

5567
5568
5569
5570
5571
5572
5573
....
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657

























































5658
5659
5660
5661
5662
5663
5664
....
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
....
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
....
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
....
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
....
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951

5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966

5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978

5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002



6003
6004
6005
6006
6007
6008
6009
....
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
....
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086




6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103

6104
6105
6106
6107
6108
6109
6110
....
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
....
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
....
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
....
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
....
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
....
7143
7144
7145
7146
7147
7148
7149
7150


7151
7152
7153
7154
7155
7156
7157
7158


7159
7160
7161
7162
7163

7164
7165
7166
7167
7168
7169
7170
....
7188
7189
7190
7191
7192
7193
7194
7195


7196
7197
7198
7199

7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230

7231
7232
7233
7234
7235


7236
7237
7238
7239
7240
7241
7242
7243


7244
7245
7246

7247
7248
7249
7250
7251


7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275


7276
7277
7278
7279
7280
7281
7282
7283


7284
7285
7286
7287
7288
7289
7290
7291
7292
7293




































































7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
....
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366






























7367
7368
7369
7370
7371
7372
7373
....
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483


7484
7485
7486
7487
7488
7489
7490
7491


7492
7493
7494

7495
7496
7497

7498
7499
7500
7501
7502
7503
7504
....
7921
7922
7923
7924
7925
7926
7927

7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
....
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990





















7991
7992
7993
7994
7995
7996
7997
....
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
....
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
....
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487

8488
8489
8490
8491


8492
8493
8494
8495
8496
8497
8498
....
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
....
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
.....
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
.....
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
.....
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
.....
13621
13622
13623
13624
13625
13626
13627








13628
13629
13630
13631
13632
13633
13634
.....
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
.....
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
.....
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
.....
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
.....
18043
18044
18045
18046
18047
18048
18049

18050
18051
18052
18053
18054
18055
18056
.....
18207
18208
18209
18210
18211
18212
18213

18214
18215
18216
18217
18218
18219
18220
.....
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
.....
19151
19152
19153
19154
19155
19156
19157



19158
19159
19160
19161
19162
19163
19164
.....
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075

21076
21077
21078
21079
21080
21081
21082
.....
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593

21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
.....
23561
23562
23563
23564
23565
23566
23567

23568
23569
23570
23571
23572
23573
23574
.....
23671
23672
23673
23674
23675
23676
23677

23678
23679
23680
23681
23682
23683
23684
.....
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
.....
23779
23780
23781
23782
23783
23784
23785

23786
23787
23788
23789
23790
23791
23792
.....
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
.....
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
.....
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
.....
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
.....
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
.....
25575
25576
25577
25578
25579
25580
25581

25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
.....
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
.....
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
.....
28245
28246
28247
28248
28249
28250
28251

28252
28253
28254

28255
28256
28257
28258
28259

28260
28261
28262
28263
28264
28265
28266
.....
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
28352
28353
28354
28355
28356
28357
28358
28359
28360
.....
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
.....
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476

31477
31478
31479
31480
31481
31482
31483
31484
31485
.....
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
.....
32629
32630
32631
32632
32633
32634
32635

32636
32637
32638
32639
32640
32641
32642
.....
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
.....
33282
33283
33284
33285
33286
33287
33288

33289
33290
33291
33292

33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
.....
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353






33354
33355

33356




















33357


33358
33359

33360
33361
33362
33363
33364
33365
33366
__<s>/typo(typo_commencement_guillemets)__
    ^(?:"|['‘’]['‘’])[   ]
        <<- ->> « |“                                                                                && Guillemets ouvrants.
__<s>/typo(typo_guillemets_fin)__
    ([   ](?:"|['‘’]['‘’]))(?:$|[.,;?!])  @@0
        <<- -1>> " »|”"                                                                             && Guillemets fermants.

TEST: Bon sang, c’en est trop à présent. Vos prétendues “excuses{{ ” }}ne trompent personne !
TEST: Bon sang, c’en est trop à présent. Vos prétendues{{ “ }}excuses” ne trompent personne !
TEST: Encore des guillemets{{ ‘’ }}dont on ne sait que faire.
TEST: {{" }}Ça suffit.{{ "}}
TEST: {{" }}Mangez{{ "}}, déclara-t-elle.


__<s>/typo(typo_guillemets_fermants_inverses)__
    [  ]”(?=\w)
        <<- ->> " “"                                                                                && Mettez des guillemets ouvrants plutôt que fermants.
__<s>/typo(typo_guillemets_ouvrants_inverses1)__
    \w([«“][  ]) @@1
................................................................................
!!
!!

__<s]/typo(typo_signe_moins)__
    -(\d+)  @@$  <<- not before("\\w$") ->> −\1|– \1|— \1
    && S’il s’agit de représenter un nombre négatif, utilisez le signe typographique “moins” [1]. S’il s’agit d’une incise, utilisez un tiret demi-cadratin [2] ou un tiret cadratin [3].

TEST: Résultat : {{-72}}.


__<s>/typo(typo_signe_multiplication)__
    (\d+) ?[x*] ?(\d+)  @@0,$ <<- not \0.startswith("0x") ->> \1 × \2                               && Signe de multiplication typographique.

TEST: {{800 x 600}}                                                         ->> 800 × 600
TEST: {{800*600}}                                                           ->> 800 × 600
................................................................................


__[s>(num_grand_nombre_avec_points)__
    \d\d?\d?(?:[.]\d\d\d)+(?![0-9])
        <<- option("num") ->> =\0.replace(".", " ")                                                 && Grands nombres : utilisez des espaces insécables plutôt que des points.
        <<- ~>> =\0.replace(".", "_")

TEST: il cumule {{200.000.000}} de pertes sèches


__[s](num_grand_nombre_avec_espaces)__
    \d\d?\d?(?: \d\d\d)+
        <<- option("num") ->> =\0.replace(" ", " ")                                                 && Grands nombres : utilisez des espaces insécables.
        <<- ~>> =\0.replace(" ", "_")

TEST: Il a perdu {{20 000}} euros à la Bourse en un seul mois.


!!
!!
!!!! Dates                                                                                        !!
!!
!!
................................................................................

    [<start>|,|s’]  >écrire  [“|”|"]   ?*WORDELD¿ *WORD  [“|”|"]
    [<start>|,|s’]  >écrire  «         ?*WORDELD¿ *WORD  »
    [<start>|,|s’]  >écrire  [‘|'|’|`] ?*WORDELD¿ *WORD  [‘|'|’|`]
    [<start>|,|s’]  >écrire  ‹         ?*WORDELD¿ *WORD  ›
        <<- !-2>>

TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics.
TEST: de Bordeaux ou de n’importe où
TEST: il n’y a pas faute.
TEST: une séparation hommes/femmes
TEST: le mot “amie” ne veut plus rien dire
TEST: le mot « amie » ne veut plus rien dire
TEST: le mot ‹amie› ne veut plus rien dire
TEST: le mot ‘amie’ ne veut plus rien dire
................................................................................
    m’ sieur
        <<- ~>> ␣

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

TEST: il s’agit d’{{un}} {{anagramme}}
TEST: nul ne sait qui arriva à ce pauvre Paul surpris par la pluie.
TEST: elle finit par être très fière de son fils.
TEST: en tant que président du conseil
TEST: les bac +2 sont trop nombreux.
TEST: c’est à n’y plus rien comprendre.
TEST: Elle était tout feu, tout flamme.
TEST: Ses rencards finissent par devenir lassants
................................................................................
!!!! Élisions & euphonie                                                                          !!
!!
!!

# é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 re.search("(?i)^(?:I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2) and morph(\2, ":", ":G|;é") and not tag(\2, "_CAP_")

        -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].
        <<- /eleu/ not \1.isupper() and space(\1, 1, 1) and morph(\2, ":V", ":Q|;é")
        -1:.2>> =\1[0:1]+"’"                                                && Il faut élider le pronom “\1” et l’accoler au verbe.|http://fr.wikipedia.org/wiki/Élision

TEST: {{le }}amour                                                          ->> l’
TEST: {{la }}imagination                                                    ->> l’
TEST: {{de }}amour                                                          ->> d’
TEST: {{de }}est en ouest                                                   ->> d’
TEST: je crois que {{si }}ils viennent, ils seront mécontents               ->> s’
TEST: {{Que }}ils soient heureux                                            ->> Qu’
................................................................................
TEST: il {{me }}oublie souvent                                              ->> m’
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



__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.
................................................................................
    !! dans la [matinée|nuit|soirée] de jeudi à vendredi ¡¡
    !! dans la [matinée|nuit|soirée] de vendredi à samedi ¡¡
    !! dans la [matinée|nuit|soirée] de samedi à dimanche ¡¡
    dans la [matinée|nuit|soirée] de [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] à [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]
        <<- --4:0>> de dimanche à lundi|de lundi à mardi|de mardi à mercredi|de mercredi à jeudi|de jeudi à vendredi|de vendredi à samedi|de samedi à dimanche
        && Cette \3 n’existe pas, les deux journées ne se succédant pas.

TEST: dans la nuit {{de jeudi à mardi}}
TEST: dans la nuit de dimanche à lundi
TEST: dans la nuit de lundi à mardi
TEST: dans la nuit de mardi à mercredi
TEST: dans la nuit de mercredi à jeudi
TEST: dans la nuit de jeudi à vendredi
TEST: dans la nuit de vendredi à samedi
TEST: dans la nuit de samedi à dimanche
................................................................................
        <<- /tu/ morph(\2, ":[NB]") -2:3>> \2-là                                        && Il manque probablement un trait d’union.

    [ce|cet|cette|ces] *WORD si [<end>|,|)]
        <<- /tu/ morph(\2, ":[NB]") -2:3>> \2-ci                                        && Il manque probablement un trait d’union.

TEST: à ce {{moment là}}                                                        ->> moment-là
TEST: Il faisait froid cet {{hiver la}}.                                        ->> hiver-là
TEST: Ces {{trois là}} sont incollables.
TEST: Je connais bien cette {{sensation là}}.
TEST: Cette {{voiture si}}, c’est celle-là que je veux.
TEST: ce que je veux c’est ce {{véhicule ci}}
TEST: Laisse ce chiot là où il est !
TEST: Ce fut là en fait une appellation fautive


### Préfixes
__tu_préfixe_ex__
    l’ ex  @:[NT]¬*
................................................................................
        -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
TEST: Son {{ex ami}} est un vrai cauchemar.
TEST: Mon ex alcoolique
TEST: Ton ex donne du fil à retordre.


__tu_préfixe_in__
    in [dix-huit|douze|seize|folio|octavo|quarto|plano]
        <<- /tu/ not value(<1, "|drive|plug|sit|") ->> \1-\2                && Il manque un trait d’union.

    in $:N:m¬*
        <<- /tu/ not value(<1, "|drive|plug|sit|") -1>> un                  && Confusion possible : pour le déterminant désignant quelque chose, écrivez “un”.

TEST: Cet {{in folio}} est incroyable.
TEST: c’est {{in}} stage de réinsertion.
TEST: Dans ce drive in douze hommes mangent.


__tu_préfixe_mi__
    mi  @:[NAQ]¬:G
        <<- /tu/ not value(\2, "|a|") ->> mi-\2                                      && S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: J’ai été engagé pour un {{mi temps}}.


__tu_préfixe_quasi__
    quasi  @:N¬:[AGW]
        <<- /tu/ morph(<1, ":D") ->> quasi-\2                   && Il manque un trait d’union : « quasi » s’accroche au mot qui le suit s’il s’agit d’un nom.

    quasi
        <<- ~>> *

TEST: leurs {{quasi indifférences}}

    ~^[Qq]uasi-.+$
        <<- /tu/ morph(\1, ":[WA]", ":N", 6) ->> ="quasi " + \1[6:]         && Avec le préfixe “quasi”, le trait d’union n’est présent que s’il s’agit d’un nom, pas s’il s’agit d’un adjectif ou d’un adverbe.

TEST: la quasi-totalité des membres.
TEST: des hommes {{quasi-inféodés}} à leur patron.
TEST: revenir {{quasi-totalement}} à une existence primitive


__tu_préfixe_semi__
    semi @:[NAQ]¬:(?:G|3[sp])
        <<- /tu/ ->> \1-\2                                      && S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: en {{semi liberté}}


__tu_préfixe_gentilés__
    [afghano|africano|albano|algéro|allemano|américano|andoro|angolo|anglo|anguillo|antartico|arabo|arctico|argentino|armeno|asiatico|atlantico|australo|austro|azéro|bahreïno|banglado|barbado|basco|bélizo|béllarusso|bénino|belgo|bhoutano|birmano|bolivio|bosno|bosniaco|botswano|brésilo|britanno|brunéo|bulgaro|burkanino|burundo|camerouno|canado|chilio|cingalo|colombo|comoro|congolo|coréo|cyprio|costarico|croato|cubano|dano|djibouto|dominico|écosso|égypto|émirato|équato|érythréo|esto|éthiopo|eurasiatico|européano|fidjio|finno|franco|gabono|gallo|gambo|géorgio|ghanéo|britanno|gréco|grenado|guatémalto|guinéo|guyano|hélleno|helvético|hispano|honduro|hungaro|indo|indonéso|italo|irako|irlando|islando|israélo|ivoiro|jamaïco|japono|jordano|khméro|kazakho|kényo|kirghizo|kiribato|koweïto|lao|lésotho|letto|libéro|libyo|liechtenteino|lituano|luxembourgeo|macédono|malgacho|malaiso|malawito|malo|malto|marianno|maroco|marshallo|mauricio|mauritano|mexico|micronésio|moldavo|monégasco|mongolo|monténégrino|mozambico|namibio|nauro|népalo|nicaraguo|nigéro|nigériano|norvégio|néo-zélando|occidentalo|océanio|omano|orientalo|ougando|ouzbéko|pacifico|pakistano|palestino|panaméo|paraguayo|néerlando|hollando|péruvo|philippino|polono|polynésio|luso|qataro|québéco|centrafricano|domenicano|roumano|russo|rwando|sarhao|sahélo|salomono|salvadoro|samoano|santoméo|saskatchéwano|scandinavo|sénégalo|saoudo|sénégambo|serbo|seychello|sierraléono|singapouro|sino|slovaco|somalo|soudano|srilanko|sudafricano|suédo|suisso|surinamo|swazilando|syro|sovieto|tadjiko|tanzano|tchado|tchécoslovavo|tchéco|thaïlando|thraco|tibéto|timoro|togolo|tokélo|tongano|trinidado|tuniso|turkméno|turco|touvalo|tuvalo|ukraino|uruguayo|vaticano|vénézuélo|vietnamo|yéméno|yougoslavo|zaïro|zambio|zimbabwébo]  $#G
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

TEST: des {{franco américains}}
TEST: {{franco américaine}}                             ->> franco-américaine
TEST: l’{{israélo belge}}


__tu_préfixe_xxxo__
    [macro|magnéto|micro|paléo|rétro|rhino|stéréo]  *WORD
        <<- /tu/ morph2(\1, "-", ":")
        ->> \1-\2                                                                                   && S’il s’agit d’un seul mot, il manque un trait d’union.

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


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


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


    sous  *WORD
        <<- /tu/ not(\2 == "forme" and value(>1, "|de|d’|")) and morph(<1, ":D") and morph2(\1, "-", ":")
        ->> \1-\2                                                                                   && Il manque probablement un trait d’union.


TEST: il a pris une balle dans l’{{arrière train}}.
TEST: Ce {{sans gêne}} mérite une bonne leçon
TEST: une {{sous culture}} passée de mode
TEST: l’{{avant train}}
TEST: l’{{arrière pensée}}
TEST: Sans gêne, il avança parmi nous.


__tu_préfixe_pseudo__
    pseudo  $:N¬*
        <<- /tu/ ->> pseudo-\2                                                                      && Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union.
        <<- ~1>> *
................................................................................
    [une|la|cette|cet|ma|ta|sa]  pseudo  @:N.*:f
        <<- /tu/ -2:3>> pseudo-\3                                                                   && Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union.
        <<- ~2>> *

    ~^[pP]seudo-\w+
        <<- =>> definefrom(\1, 7)

TEST: il n’avait contracté qu’un {{pseudo mariage}}.
TEST: elle connaissait de {{cet}} pseudo-prêtresse uniquement de nom.
TEST: la {{pseudo taxe}} carbone


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

................................................................................
        <<- /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: c’est le {{contre exemple}} parfait
TEST: une {{entre voie}}
TEST: s’{{entre regarder}}
TEST: ce sont des {{lève tard}}.
TEST: nous nous {{entre tuions}}
TEST: un {{brise glace}}
TEST: entre deux chaises…


__tu_mots_grammaticaux__
    au [delà|dehors|dessous|dessus|devant]
        <<- /tu/ \2.islower() ->> \1-\2                         && Il manque un trait d’union.

................................................................................
TEST: il n’y a pas de raison que les demandes de recouvrement cessent d’{{elles même}}      ->> elles-mêmes
TEST: Un autre chantier important, celui si sensible de la préservation des données personnelles des élèves


__tu_locutions__
    [à|a] [la|là] [va|vas|vat] vite
        <<- /tu/ ->> à la va-vite                               && Il manque un trait d’union.


    [à|a] tout [va|vas|vat]
        <<- /tu/ ->> à tout-va                                  && Il manque un trait d’union.

    [à|a] contre [>cœur|coeur]
        <<- /tu/ ->> à contre-cœur|à contrecœur                 && Mettez un trait d’union ou soudez.

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

    par ci ?,¿ par là
        <<- /tu/ ->> par-ci par-là|par-ci, par-là               && Traits d’union manquants.

    vis [à|a] vis
        <<- /tu/ ->> vis-à-vis                                  && Il manque les traits d’union.

TEST: on a fait {{à la va vite}}…
TEST: partir {{à contre cœur}}
TEST: Ils font des tests {{à tout va}}
TEST: nous irons là-bas {{après demain}}.
TEST: Mieux qu’{{avant hier}}.
TEST: {{ci dessous}}, les égouts
TEST: {{ci dessus}}                                                             ->> ci-dessus
TEST: {{ci devant}}.                                                            ->> ci-devant
TEST: elles vont viennent {{de ci, de là}}.
TEST: {{en contre bas}}
TEST: {{en contre point}},
TEST: être {{en porte à faux}}
TEST: des tractations {{en sous main}}
TEST: il s’était amélioré {{entre temps}}                                       ->> entre-temps
TEST: Il ne connaît pas {{grand chose}} à tout ça.
TEST: {{ici bas}}, n’attends rien de bon, à moins que…
TEST: {{jusque là}}, tout va bien
TEST: {{Là bas}}.                                                               ->> Là-bas
TEST: elle viendra, {{n’est ce pas}} ?
TEST: {{N’est ce pas}}                                                          ->> N’est-ce pas
TEST: seulement par {{ouï dire}}.
TEST: {{par derrière}} la maison
TEST: Tout ce que nous faisons {{par ci, par là}}.
TEST: {{par dessus}}                                                            ->> par-dessus
TEST: Que vas-tu faire {{vis à vis}} d’eux                                      ->> vis-à-vis



























































__tu_substantifs!7__
    l’ à [côté|coup|peu-près|pic|plat-ventrisme|propos|valoir]
        <<- /tu/ -2:0>> \2-\3                                   && Mettez des traits d’union pour ces noms communs.

    l’ à peu près
        <<- /tu/ -2:0>> \2-\3-\4                                && Mettez des traits d’union pour ce nom commun.
................................................................................

    [aller+s] >retour
        <<- /tu/ ->> \1-\2                                      && Il manque un trait d’union.

    >arc en ciel
        <<- /tu/ ->> \1-\2-\3                                   && Il manque les traits d’union.

    >arrière >grand >tante
        <<- /tu/ ->> arrière-grand-tante|arrière-grands-tantes      && Mettez des traits d’union.

    >arrière >grand >mère
        <<- /tu/ ->> arrière-grand-mère|arrière-grands-mères        && Mettez des traits d’union.

    >arrière >grand >oncle
        <<- /tu/ ->> arrière-grand-oncle|arrière-grands-oncles      && Mettez des traits d’union.

    >arrière >grand >parent
        <<- /tu/ ->> arrière-grand-parent|arrière-grands-parents    && Mettez des traits d’union.

    >arrière >grand >père
        <<- /tu/ ->> arrière-grand-père|arrière-grands-pères        && Mettez des traits d’union.

    >arrière >petit >enfant
        <<- /tu/ ->> arrière-petit-enfant|arrière-petits-enfants    && Mettez des traits d’union.

    >arrière >petit >fille
        <<- /tu/ ->> arrière-petite-fille|arrière-petites-filles    && Mettez des traits d’union.

    >arrière >petit >fils
        <<- /tu/ ->> arrière-petit-fils|arrière-petits-fils         && Mettez des traits d’union.

    >arrière >petit >neveu
        <<- /tu/ ->> arrière-petit-neveu|arrière-petits-neveux      && Mettez des traits d’union.

    >arrière >petit >nièce
        <<- /tu/ ->> arrière-petite-nièce|arrière-petites-nièces    && Mettez des traits d’union.

    >assurance >vie
        <<- /conf/ morph(<1, ":D") ->> \1-vie                       && Il manque un trait d’union.|https://fr.wiktionary.org/wiki/assurance-vie

    au jour d’ [hui+s|oui|huit]
    [au-jour-d’hui+s]
    au-jour d’ [hui+s|oui|huit]
        <<- /tu/ ->> aujourd’hui
        && Soudez. “Aujourd’hui” : agglutination de l’ancienne locution ‹au jour d’hui›, dont le terme ‹hui› signifiait autrefois “en ce jour”.|https://fr.wiktionary.org/wiki/aujourd%E2%80%99hui

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

    gagne >pain
        <<- /tu/ not morph(<1, ":O[sv]") ->> gagne-pain         && Il manque un trait d’union.

    goutte [à|a] goutte
        <<- /tu/ morph(<1, ":D") ->> goutte-à-goutte            && S’il s’agit d’un nom, mettez des traits d’union.

    [grand+s] [>père|>mère]
        <<- /tu/ ->> \1-\2                                      && Il manque un trait d’union.

    [gratte+s] >ciel
        <<- not value(<1, "|il|elle|on|iel|je|tu|ne|n’|") ->> gratte-ciel       && Il manque un trait d’union.|https://fr.wiktionary.org/wiki/gratte-ciel

    lèse majesté
        <<- /tu/ ->> \1-\2                                      && Il manque un trait d’union.

    n [ième+s|ieme+s|ème+s|eme+s]
................................................................................

    pas de porte
        <<- /tu/ morph(<1, ":D") ->> pas-de-porte               && Il manque un trait d’union.|https://fr.wiktionary.org/wiki/pas-de-porte

    >pied [à|a] terre
        <<- /tu/ morph(<1, ":D") ->> \1-à-terre                 && Il manque les traits d’union.

    [plate|plates] >forme
        <<- /tu/ ->> plate-forme|plates-formes|plateforme|plateformes       && Il manque un trait d’union. Vous pouvez aussi souder les deux mots.

    presque [>île|>ile]
        <<- /tu/ ->> presqu’\2                                  && Une presqu’île, en un seul mot.|https://fr.wiktionary.org/wiki/presqu%E2%80%99%C3%AEle

    [prêt+s] [à|a] porter
        <<- /tu/ morph(<1, ":D") ->> \1-à-porter                && Il manque les traits d’union.
................................................................................

    >prêt [bail+s]
        <<- /tu/ ->> prêt-bail|prêts-bails                      && Il manque un trait d’union.

    >prêt [>relai|relais]
        <<- /tu/ ->> prêt-relai|prêt-relais|prêts-relais        && Il manque un trait d’union.

    quelques [un|uns|une|unes]
        <<- /tu/ \2.endswith("s") or \2.endswith("S") ->> quelques-\2       && Il manque un trait d’union.
        <<- /tu/ __else__ ->> quelques-\2s                                  && Il manque un trait d’union.

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

    >tête [à|a] >tête
        <<- /tu/ morph(<1, ":D") ->> tête-à-tête                && Il manque les traits d’union.

    trompe l’ [œil|oeil]
        <<- /tu/ morph(<1, ">en/|:D") ->> trompe-l’œil          && Il manque un trait d’union.

    [le|de|ce|les|des|ces|un|mon|leur|leurs|nos|vos|notre|votre|quel|quels] [va|vas] et [vient|viens]
        <<- /tu/ -2:0>> va-et-vient                             && Il manque les traits d’union.

    vice [>amiral|>président|>roi|>reine|>chancelier]
        <<- /tu/ ->> vice-\1                                    && Il manque un trait d’union.

    week [end|ends]
        <<- /tu/ ->> week-\2                                    && Il manque un trait d’union.

TEST: l’{{à propos}} n’est pas si facile à acquérir.
TEST: cet {{après midi}}, on s’en va.
TEST: un {{après midi}} comme un autre
TEST: on ne fait que de l’{{à peu près}}
TEST: concours d’{{à plat ventrisme}} à l’UMP
TEST: marre de faire des {{allers retours}}
TEST: regarde l’{{arc en ciel}}
TEST: son {{arrière grande tante}}
TEST: son {{arrière grand mère}}
TEST: un {{arrière grand oncle}}
TEST: un {{arrière grand parent}}
TEST: un {{arrière grand père}}
TEST: nos {{arrière petits enfants}}
TEST: son {{arrière petite fille}}
TEST: mon {{arrière petit fils}}
TEST: un {{arrière petit neveu}}
TEST: ton {{arrière petite nièce}}
TEST: vendeur d’{{assurances vie}}                                              ->> assurances-vie
TEST: {{au jour d’hui}}
TEST: je déteste le {{basket ball}}
TEST: sur le {{bas côté}}
TEST: les {{beaux arts}}
TEST: marre de ces {{blancs becs}} qui croient tout savoir
TEST: {{le}} {{bouche à oreille}}
TEST: au {{céder le passage}}                                                   ->> cédez-le-passage
TEST: un {{cessez le feu}}
TEST: {{chef lieu}} de ce canton
TEST: un {{chassé croisé}}
TEST: ne vois-tu pas que c’est un {{chef d’œuvre}} ?
TEST: ils sont allés au {{centre ville}}.
TEST: un {{château fort}} n’est pas une demeure confortable
TEST: des {{châteaux forts}}
TEST: un {{coffre fort}}
TEST: des {{coffres forts}}
TEST: un {{compte goutte}}                                                      ->> compte-gouttes|comptes-gouttes
TEST: {{copié/coller}}

TEST: encore un {{cul de sac}}
TEST: Le {{moto club}} était sur le point de faire faillite.
TEST: J’ai beaucoup de {{déjà vu}}.
TEST: L’{{état major}} n’a pas encore tranché la question.
TEST: Le {{face à face}} entre les forces de l’ordre et les manifestants se poursuit devant l’hôtel de ville à Bordeaux depuis environ 1h30.
TEST: ces {{fiers à bras}} vont encore se prendre une raclée mémorable
TEST: {{gagne pain}} de merde
TEST: perfusé par des {{goutte à goutte}}
TEST: mes deux {{grands pères}} sont décédés
TEST: ces {{gratte ciel}}                                                       ->> gratte-ciel
TEST: un crime de {{lèse majesté}}
TEST: pour {{la}} {{n ième}} fois
TEST: les {{n uplets}}
TEST: elles sont allées au {{sud ouest}}
TEST: {{nord est}}

TEST: ils sont partis {{outre mer}}
TEST: La papesse du {{prêt à porter}} viendra demain.
TEST: il loge dans un {{pied à terre}} misérable
TEST: sur cette {{plate forme}}, rien ne fonctionne
TEST: une {{presque île}}
TEST: sur son {{pas de porte}}
TEST: une {{plus value}}                                                        ->> plus-value
TEST: combien de {{plu value}}
TEST: Un énorme {{plus value}}.
TEST: Versez des {{pots de vin}} s’il le faut.
TEST: ils ont fait un {{prêt relai}}
TEST: un {{prêt bail}}

TEST: je connais le {{ras le bol}}
TEST: {{Quelques unes}} sont très habiles.
TEST: {{quelques un}} seront blâmés, les autres pardonnés
TEST: en avoir ras le bol de ces conneries
TEST: des {{rendez vous}}                                                       ->> rendez-vous
TEST: un Mars par {{rendez vous}}
TEST: Habiter au {{rez de chaussée}}, quelle horreur.
TEST: encore un {{rond point}}                                                  ->> rond-point|ronds-points
TEST: J’en ai ma claque de ces {{ronds de cuir}}
TEST: agis toujours avec {{sang froid}}                                         ->> sang-froid
TEST: C’est de la {{science fiction}}.
TEST: des {{stock options}}
TEST: Tout ce {{soi disant}} esprit religieux
TEST: implications {{sous jacentes}}                                            ->> sous-jacentes
TEST: c’est du {{sur mesure}}
TEST: leur {{terre plein}}
TEST: Ils versent dans leur terre plein de poisons.
TEST: C’est un peu trop {{tape à l’œil}} comme couleur, tu ne trouves pas ?
TEST: beaucoup de {{tête à tête}}
TEST: {{un}} {{trompe l’œil}}
TEST: un {{va et vient}} incessant me casse la tête
TEST: il va et vient sans mot dire
TEST: Il a été nommé {{vice président}}
TEST: un super {{week end}}                                                     ->> week-end



TEST: commencez par cesser le feu
TEST: ici, il convient de céder le passage
TEST: ils finiront par céder le passage


__tu_chez_pronom__
    mon chez moi
................................................................................
    [son|leur] chez [lui|elle]
    [un|ce|son|leur|leurs] chez soi
    notre chez nous
    votre chez vous
    [leur|leurs] chez [eux|elles]
        <<- /tu/ -2:3>> \2-\3                                       && Dans le cas de figure où chez soi est utilisé comme nom, il faut mettre un trait d’union.

TEST: c’est mon {{chez moi}}
TEST: c’est ton {{chez toi}}.
TEST: c’est notre {{chez nous}}
TEST: chez soi, rien d’impersonnel.


__tu_va_t_en__
    [va+s] t [en|>an]
    [va+s] [t-en|>tan]
    va-t [en|>an]
................................................................................
    Anne [Catherine|Charlotte|Christine|Claire|Cécile|Flore|Gaëlle|Gaelle|France|Laure|Line|Lise|Lyne|Lyse|Marie|Sophie]
    Jean [Alain|Antoine|André|Baptiste|Benoit|Bernard|Charles|Christophe|Christian|Claude|Damien|Daniel|David|Denis|Dominique|Édouard|Edouard|Emmanuel|Étienne|Éric|Eric|Eudes|Francis|François|Frédéric|Gabriel|Georges|Guillaume|Hugue|Jacques|Joseph|Louis|Laurent|Loup|Luc|Manuel|Marc|Marcel|Marie|Mathieu|Maurice|Max|Michel|Noël|Patrice|Paul|Philippe|Pierre|Rémi|René|Raymond|Robert|Vincent|Yves]
    Jésus Christ
    Marie [Agnès|Alice|Aline|Amélie|Andrée|Ange|Angelle|Anne|Antoinette|Annick|Astrid|Aude|Béatrice|Bénédicte|Bernadette|Camille|Carmen|Caroline|Catherine|Cécile|Céline|Chantal|Charlotte|Christine|Claire|Claude|Dominique|Édith|Edith|Élisabeth|Élise|Émilie|Émmanuelle|Eve|Ève|France|Françoise|Gabrielle|Gaëlle|Geneviève|Jeanne|Joëlle|José|Josée|Josèphe|Julie|Hélène|Isabelle|Laure|Laurence|Line|Lise|Lyne|Lyse|Lou|Louise|Luce|Odile|Madeleine|Martine|Noëlle|Paule|Pascale|Renée|Rose|Sophie|Thérèse|Véronique|Yvonne]
    Pierre [Adrien|Alain|Alexandre|André|Antoine|Édouard|Edouard|Émmanuel|François|Jean|Henri|Louis|Luc|Marie|Nicolas|Olivier|Yves]
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

TEST: J’ai vu {{Anne Marie}}.
TEST: Elle a quitté {{Jean Paul}}.
TEST: {{Jésus Christ}}, dernier héros de l’Antiquité
TEST: {{Marie Hélène}} s’est perdue dans le dédale
TEST: {{Pierre Alexandre}} nous prend pour des cons


__tu_toponymes__
    Aix en Provence
    [Île|Ile] de France
    Pas de Calais
    Saône et Loire
        <<- /tu/ ->> \1-\2-\3                                                                       && Il manque les traits d’union.

    Clermont-Ferrant
    Clermont [Ferrant|Ferrand]
        <<- /tu/ ->> Clermont-Ferrand                                                               && Ville de Clermont-Ferrand.





    Bosnie Herzégovine
    Charente Maritime
    Colombie Britannique
    États Unis
    Franche Comté
    Grande Bretagne
    Haute [Garonne|Loire|Marne|Normandie|Corse|Vienne]
    Maison Blanche
    Moyen Orient
    Nouveau Brunswick
    Nouvelle [Zélande|Calédonie|Orléans]
    Rhône Alpes
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

    Mongolie [intérieur+e]
        <<- /tu/ ->> Mongolie-Intérieure                                                            && Il manque un trait d’union. Mongolie-Intérieure : région autonome de Chine.


    [les|des|aux]   Pays Bas
    [<start>|,|(]   Pays Bas  contre
        <<- /tu/ -2:3>> \2-\3                                                                       && Il manque un trait d’union.

    Royaume Uni
        <<- /tu/ ->> Royaume-Uni                                                                    && Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord).
................................................................................
        <<- /tu/ not value(<1, "|<start>|") and morph(\2, ":M") -:>> \1-\2|sainte \2
        && Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “sainte” sans majuscule, sans trait d’union.

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

TEST: Il passe par {{Aix en Provence}}
TEST: Qui se souvient de la {{Bosnie Herzégovine}} ?
TEST: en {{Charente Maritime}}
TEST: À {{Clermont Ferrand}}
TEST: habiter la {{Colombie Britannique}}
TEST: Il fait son stage étudiant aux {{États Unis}}
TEST: Des fromages délicieux de {{Franche Comté}}
TEST: Étudier en {{Grande Bretagne}}
TEST: La {{Haute Garonne}}
TEST: L’{{Île de France}} est surpeuplée.
TEST: Un nouveau président à la {{Maison Blanche}}
TEST: La guerre au {{Moyen Orient}}
TEST: voyage en {{Mongolie intérieur}}
TEST: Il ne connaît au {{Nouveau Brunswick}}
TEST: Elle a visité la {{Nouvelle Orléans}}
TEST: Vivre dans le {{Pas de Calais}}
TEST: Vivre aux {{Pays Bas}}
TEST: Des vacances en {{Rhône Alpes}}
TEST: Émigrer au {{Royaume Uni}}
TEST: Elle déménage en {{Saône et Loire}}
TEST: La station {{Saint Georges}}                          ->> Saint-Georges|saint Georges
TEST: que penser de {{Sainte Catherine}}                    ->> Sainte-Catherine|sainte Catherine
TEST: Elle va prier à {{Ste Catherine}}.


__tu_nombres__
    dix                                                                     [sept|huit|neuf]
................................................................................
TEST: Chez les intellectuels, le mot utopie n’a jamais été synonyme de folie, mais il l’a été pour l’homme de la rue.
TEST: Saoul, je l’ai été chez mon ami, mais après ça allait mieux.


# abyme / abîme
__bs_mettre_en_abyme__
    >mettre en [>abîme|>abime]
        <<- /bs/ -3>> abyme
        && Classiquement, on écrit plutôt “abyme” dans cette expression.|https://fr.wiktionary.org/wiki/mise_en_abyme

TEST: La mise en {{abîme}}.                                                                 ->> abyme


# à date / jusqu’à date
__bs_à_date__
    [>être|>mettre] [a|à] >date
................................................................................
TEST: incessamment {{sous peut}}                                                            ->> sous peu
TEST: ils arrivent {{incessamment sous peu}}.                                               ->> sous peu|bientôt|dans peu de temps|d’un moment à l’autre


# pire
__bs_pire__
    [moins|aussi|plus] >pire
        <<- /bs/ -2>> mauvais|mauvaise|mauvaises                    && Tournure erronée : “\1 \2”. Écrivez “mauvais”.|http://www.academie-francaise.fr/plus-pire-moins-pire

    de mal en >pire
        <<- /bs/ ->> de mal en pis                                  && Tournure erronée. Écrivez “de mal en pis”.

    au pire aller
        <<- /bs/ ->> au pis aller                                   && Tournure erronée. Écrivez “au pis aller”.|https://fr.wiktionary.org/wiki/au_pis_aller

TEST: c’est plus {{pire}} que tout.
TEST: il est moins {{pire}} que l’autre.
TEST: elles sont aussi {{pires}} que les autres.
TEST: ils vont {{de mal en pire}}
TEST: {{Au pire aller}}, on s’en passera.


# pour de rire
__bs_pour_de_rire__
    pour de rire
        <<- /bs/ ->> pour rire                                      && Tournure erronée (ou enfantine si elle est délibérée).|https://fr.wiktionary.org/wiki/pour_de_rire

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

# pour ne pas que
__bs_pour_ne_pas_que__
    pour ne pas [que|qu’]
        <<- /bs/ ->> _
        && Tournure familière. Par exemple, écrivez “pour qu’il ne vienne pas” plutôt que “pour ne pas qu’il vienne.”|http://www.academie-francaise.fr/pour-pas-que-au-lieu-de-pour-que-ne-pas

TEST: Nous y sommes allés {{pour ne pas qu’}}elle se sente seule.


# silence assourdissant
__bs_silence_assourdissant__
    silence assourdissant
    silences assourdissants
        <<- /bs/ ->> _                                                                              && Cliché. Locution oxymorique employée à tort et à travers.

TEST: dans un {{silence assourdissant}}


# très / trop
__bs_très_trop_superflu__
    [très|trop] [beaucoup|assez|mieux|pire|meilleur|délicieux|plus|moins]
        <<- /bs/ ->> \2                                                                             && Avec “\2”, l’adverbe “\1” est superflu.

TEST: Je l’aime {{très beaucoup}}.                                                          ->> beaucoup


# novlangue
__bs_vidéoprotection__
    >vidéoprotection
    >vidéo-protection
        <<- /bs/ ->> surveillance des populations|surveillance des lieux publics|vidéosurveillance|télésurveillance
        && Novlangue. Terme imaginé par le gouvernement français pour donner une image positive de la vidéosurveillance.|http://fr.wikipedia.org/wiki/Doublepens%C3%A9e

TEST: les méfaits de la {{vidéoprotection}}


__bs_malgré_que__
    malgré que
        <<- /bs/ not after(" en (?:a|aie|aies|ait|eut|eût|aura|aurait|avait)\\b")
        ->> bien que|quoique                                                                        && La locution “malgré que” est une tournure populaire. Utilisez “bien que” ou “quoique”.

    malgré qu’
        <<- /bs/ not after(" en (?:a|aie|aies|ait|eut|eût|aura|aurait|avait)\\b")
        ->> bien qu’|quoiqu’                                                                        && La locution “malgré que” est une tournure populaire. Utilisez “bien que” ou “quoique”.

TEST: {{Malgré que}} je sois fou.
TEST: {{malgré qu’}}elle soit là.


#([mts]e|[nv]ous) (rappel\w+) (de) <<- word(1) != "ne" and not morph(word(1), ":V")
#   -3>> _                                                     && Expression impropre. « Se rappeler quelque chose » ou « Se souvenir de quelque chose ».
#Se rappelle de l’amour

#enjoindre à qqn de faire qqch
................................................................................


__code_legacy__
    legacy code
    code legacy
        <<- /bs/ ->> code hérité|code reliquat                                                      && Anglicisme superflu.

TEST: c’est du {{legacy code}}.
TEST: ce {{code legacy}} est un cauchemar



!!
!!
!!!! Pléonasmes                                                                                   !!
!!
................................................................................
TEST: J’leur en {{veut}} pas, à ces crétins.                    ->> veux
TEST: je t’en {{parlé}}                                         ->> parle|parlais|parlai
TEST: Je est un autre.


__conf_je_non_verbe__
    je  @:¬:(?:V|Ov)
        <<- /conf/ not value(\2, "|soussigné|soussignée|leurs|") and not tag(\1, "eg1mot") and not morph(<1, ":1s|>pronom/")


        -2>> =suggSimil(\2, ":(?:1s|Ov)", False)                                                    && Incohérence avec “je” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    j’       ?[en|y]¿                                                             @:¬:(?:V|Ov)
    [je|j’]  [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]            @:¬:(?:V|Ov)
    [je|j’]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    [je|j’]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    [je|j’]  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    [je|j’]  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V


        <<- /conf/ --1>> =suggSimil(\-1, ":(?:1s|Ov)", False)                                       && Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je ne le {{croix}} pas                                    ->> crois|croîs|croie
TEST: Je {{travail}}.                                           ->> travaille
TEST: Je vous {{tellement}} reconnaissant.

TEST: Je m’en {{fou}}.                                          ->> fous
TEST: Je soussigné, M. X., déclare que…
TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ».
TEST: les pronoms “je” et “tu”


## 2sg
................................................................................
__conf_tu_non_verbe__
    tu                                                                       @:¬:(?:V|Ov)
    tu  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    tu  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    tu  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    tu  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    tu  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not tag(\1, "eg1mot") and not morph(<1, ":(?:2s|V0)|>(?:pronom|à)/")


        --1>> =suggSimil(\-1, ":(?:2s|Ov)", False)                                                  && Incohérence avec “tu” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: tu {{croix}} que tu sais quelque chose, mais tu ne sais rien.                                 ->> crois|croîs|croies
TEST: tu la {{croix}} idiote ?                                                                      ->> crois|croîs|croies

TEST: Elles sont à tu et à toi.


## 3sg
__conj_il__
    il  @:V¬:(?:3s|Ov)
        <<- /conj/ not (morph(\2, ":[PQ]") and morph(<1, ":V0.*:3s"))
        -2>> =suggVerb(\2, ":3s")                                                                   && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conj/ __also__ and morph(\2, ":3p") -1>> ils                                           && Accord avec “\2”.

    il  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:V¬:(?:3s|Ov)
    il  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:3s|Ov)
    il  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:V¬:3s
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:V¬:3s
    il  ?[ne|n’]¿  [lui|leur|y]                   en                         $:V¬:3s
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conj/ morph(\-1, ":3p") -1>> ils                                                       && Accord avec “\-1”.

TEST: {{Il}} {{accusent}}.
TEST: il {{bus}} du vin.
TEST: Il {{pris}}.
TEST: Il {{rougis}}.
TEST: Il {{suivis}}.
TEST: Il {{grandis}}.
TEST: Il {{bâtis}}.
TEST: Il {{bus}}.
TEST: Il {{mues}}.
TEST: {{il}} ne {{pensent}} à rien.
TEST: il ne la lui {{donné}} pas souvent
TEST: il n’y {{aurais}} plus rien à attendre de la religion et de la politique.
TEST: il y en {{as}}.



__conf_il_non_verbe__
    il  @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|ou|si|") and not tag(\1, "eg1mot")


        -2>> =suggSimil(\2, ":(?:3s|Ov)", False)                                                    && Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    il  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    il  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    il  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    il  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|")


        --1>> =suggSimil(\-1, ":(?:3s|Ov)", False)                                                  && Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: il {{et}} parti.

TEST: il nous {{et}} indispensable.
TEST: Il ne {{travail}} pas le week-end.
TEST: il m’{{arête}} encore une fois avec une impudence insupportable.
TEST: il n’y {{pas}} beaucoup d’entente entre eux.
TEST: Il {{ce}} {{sent}} seul


TEST: il est normal de ne presque pas payer des gens qui effectuent un travail
TEST: il s’en va.


__conj_on__
    on  @:V¬:(?:3s|Ov)
        <<- /conj/ not (morph(\2, ":[PQ]") and morph(<1, ":V0.*:3s"))
        --1>> =suggVerb(\-1, ":3s")                                                                 && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    on  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:V¬:(?:3s|P|Ov)
    on  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:3s|P|Ov)
    on  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:V¬:(?:3s|P)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3s|P)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:3s|P)
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: on {{remué}} beaucoup.
TEST: on {{refuses}} tout cela
TEST: on ne se {{bougent}} pas suffisamment


__conf_on_non_verbe__
    on  @:¬:(?:V|Ov)|>ou/
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|n’|m’|t’|s’|") and not value(\-1, "|c’|ce|si|") and not tag(\1, "eg1mot")


        -2>> =suggSimil(\2, ":(?:3s|Oo)", False)                                                    && Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    on  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    on  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|n’|m’|t’|s’|") and not value(\-1, "|c’|ce|")


        --1>> =suggSimil(\-1, ":(?:3s|Ov)", False)                                                  && Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: on {{et}} parti.
TEST: on nous {{et}} indispensable.
TEST: on ne {{travail}} pas le week-end.
TEST: on m’{{arête}} encore une fois avec une impudence insupportable.
TEST: on n’y {{pas}} beaucoup d’entente entre eux.
TEST: on est normal de ne presque pas payer des gens qui effectuent un travail
TEST: on s’en va.






































































__conj_ce__
    [ce|c’]             @>(?:devoir|devenir|pouvoir|vouloir|savoir)/:V¬:(?:N|A|3s|P|Q|Ov)
    [ce|c’]  [ne|n’]    @>(?:devoir|devenir|pouvoir|vouloir|savoir)/:V¬:(?:3s|P|Ov)
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [ce|c’]                         @>être/:V¬:(?:N|A|3[sp]|P|Q|Ov)
    [ce|c’]  [le|l’]                @>être/:V¬:(?:N|A|3s|P|Q|Ov)
    [ce|c’]  [ne|n’]  ?[le|l’|en]¿  @>être/:V¬:(?:3[sp]|P|Q|Ov)
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [c’|ç’]                         @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:que|[bcdfgjklmnpqrstvwxz].*:N.*:m:[si])/
        <<- /conf/ not tag(\1, "eg1mot") -2>> =suggSimil(\2, ":3s", False)                          && Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: pour toi qui sais tout, ce ne le {{fus}} pas                                                  ->> fut
TEST: ce secret tu, ce {{devais}} être un cauchemar.                                                ->> devait
TEST: Ce peut être un chien ou un chat.
TEST: ce ne peut être aussi stupide.
TEST: ce dut être un cauchemar.
................................................................................
    [<start>|,|(]  [elle|elles|iel|iels|lui|eux]  c’  ?en¿  $:V¬:V0e
        <<- /conj/ -3>> s’                                                      && Confusion. La graphie élidée du pronom « se » s’écrit « s’ ».

    c’ y
    c’ @:V¬>(?:avoir|être|devoir|devenir|pouvoir|vouloir|savoir)/.*:3[sp]
        <<- /conj/ -1>> s’                                                      && Confusion. La graphie élidée du pronom « se » s’écrit « s’ ».

    s’ >avoir
        <<- /conf/ -1>> c’|ç’                                       && Confusion. Avec “\2” (du verbe “avoir”), on utilise le pronom “ce” ou “ça” pour sujet, dont les graphies élidées sont « c’ » et « ç’ ».

TEST: {{S’en}} était vraiment trop !
TEST: Car {{s’en}} était vraiment fini !
TEST: il {{c’}}en est vite lassé.
TEST: elles {{c’}}étaient trop vanté de ses mérites
TEST: cet homme, perdu dans ses pensées, allait {{c’}}en faire du souci.
TEST: il {{c’}}accoutumait à sa nouvelle fonction.
TEST: elle {{c’}}anime dès qu’on fait du bruit.
TEST: eux {{c’}}étaient pris
TEST: {{s’}}{{avait}} fonctionné
TEST: {{c’}}y adonne avec passion
TEST: c’était merveilleux.
TEST: lui c’est un objet
































__conf_ce_qui_verbe__
    ce qui  ?[lui|leur|leurs|nous|vous]¿  (et)  ?@:[WX]¿  ?@:[WX]¿  @:(?:[AQD]|V1.*:Y)
        <<- /conf/ -1>> est                                                     && Confusion probable : “et” est une conjonction de coordination. Pour le verbe “être”, écrivez “est”.

    ce qui  ?[lui|leur|leurs|nous|vous]¿  (étai)  ?@:[WX]¿  ?@:[WX]¿  @:(?:[AQD]|V1.*:Y)
        <<- /conf/ -1>> était                                                   && Confusion probable : “étai” est un nom commun. Pour le verbe “être”, écrivez “était”.
................................................................................
    [<start>|,|(|puisque|lorsque|quand|quoique|combien|qui|pourquoi|comment|où]  vous  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]      $:V¬:2p
    [<start>|,|(|puisque|lorsque|quand|quoique|combien|qui|pourquoi|comment|où]  vous  ?[ne|n’]¿  [lui|leur]                     en                   $:V¬:2p
        <<- /conj/ --1>> =suggVerb(\-1, ":2p")                                                      && Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

    [<start>|,|(|puisque|lorsque|quand|quoique|combien|pourquoi|comment|où]  vous  [le|la|l’|les|en|y]   @:V[123]..t_._[e_][a_]¬:(?:2p|Ov|Y|P)
        <<- /conj/ --1>> =suggVerb(\-1, ":2p")                                                      && Conjugaison possiblement erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

    [<start>|,|(|/_start_]  vous  aller  ?[$:W|donc]¿  ?$:Ov¿  ?$:Ov¿  $:Y
    [<start>|,|(|/_start_]  vous  aller  [<end>|,|)]
        <<- /conj/ -3>> allez                                                                       && Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: Vous {{arrivais}} trop tard.
TEST: vous ne l’{{avait}} pas vu.
TEST: je crois, vous m’{{avais}} trompé…
TEST: vous nous {{refuser}} le pardon.
TEST: Vous {{travaillons}}.
TEST: vous {{donné}} du bonheur
TEST: vous {{avançons}}
TEST: Vous ne la {{voulait}} pas
TEST: Vous ne {{mangeait}} que des légumes ?
TEST: vous l’{{accomplissait}}
TEST: vous n’{{aller}} pas assez vite
TEST: vous {{aller}} me fâcher
TEST: vous {{aller}} la lui donner
TEST: vous {{aller}} donc être interdit bancaire et vous vous débrouillerez avec les huissiers
TEST: j’irai là où vous {{aller}}
TEST: vous la rendait avec bienveillance
TEST: vous verrez, ça va vous aller comme un gant


## 3pl
__conj_ils__
    ils  @:V¬:(?:3p|Ov)
        <<- /conj/ not (morph(\2, ":[PQ]") and morph(<1, ":V0.*:3p"))
        -2>> =suggVerb(\2, ":3p")                                                                   && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ __also__ and morph(\2, ":3s") -1>> il                                            && Accord avec le terme “\2”.

    ils  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:V¬:(?:3p|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:3p|Ov)
    ils  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:V¬:3p
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:V¬:3p
    ils  ?[ne|n’]¿  [lui|leur]                     en                         $:V¬:3p
        <<- /conj/ --1>> =suggVerb(\-1, ":3p")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ morph(\-1, ":3s") -1>> il                                                        && Accord avec le terme “\-1”.

TEST: {{Ils}} {{vienne}} souvent.
TEST: Ils ne m’{{attends}} pas.
TEST: {{Ils}} vous le {{donne}}.
TEST: {{Ils}} {{faut}} venir.
TEST: {{ils}} le lui {{donne}}
TEST: {{ils}} ne leur en {{veut}} pas.
TEST: ils me les {{laissés}}.
TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal


__conf_ils_non_verbe__
    ils  @:¬:(?:V|Ov)|>ou/
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|") and not tag(\1, "eg1mot")


        -2>> =suggSimil(\2, ":(?:3p|Ov)", False)                                                    && Incohérence avec “ils” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    ils  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    ils  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")


        --1>> =suggSimil(\-1, ":(?:3p|Ov)", False)                                                  && Incohérence avec “ils” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: ils {{son}} du même bois.

TEST: Ils {{étai}} partie au {{restaurent}}
TEST: ils leur {{étai}} indifférent
TEST: ils ne lui {{étai}} pas indifférent



!!
!!
!!!! Pronoms + incohérences                                                                       !!
!!
!!
................................................................................
TEST: un {{maintient}} difficile.                                                   ->> maintien
TEST: cette {{plaît}} est infectée.                                                 ->> plaie
TEST: ledit {{soutient}} ne vaut rien                                               ->> soutien
TEST: {{ce}} {{rappelle}} n’en finit pas.                                           ->> se|||rappel
TEST: mon {{rackette}} n’a pas porté les fruits espérés.                            ->> racket
TEST: mon {{impacte}}                                                               ->> impact
TEST: ton {{recèle}} avait été dévoilé                                              ->> recel

TEST: quel {{impacte}} cela aura-t-il ?                                             ->> impact
TEST: chaque {{désire}} importe.                                                    ->> désir
TEST: l’attuque du {{briguant}}                                                     ->> brigand
TEST: quelqu’un arrive.
TEST: Belle qui tient mon vit captif entre tes doigts.
TEST: Quel serait l’homme capable d’une telle horreur ?
TEST: Une était plus courte que l’autre.


__conf_déterminant_plur_verbe__
    [des|ces|mes|tes|ses|aux]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA]:.*:[pi]", True)                                                  && Incohérence avec « \1 » : « \2 » est une forme verbale.

    nos  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA]:.*:[pi]", True)                          && Incohérence avec « \1 » : « \2 » est une forme verbale.
        <<- /conf/ __also__ and morph(\2, ":1p") -1>> nous                                          && Vouliez-vous écrire « nous » ? Le terme « \2 » est un verbe conjugué à la 1ʳᵉ personne du pluriel.

    vos  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA]:.*:[pi]", True)                          && Incohérence avec « \1 » : « \2 » est une forme verbale.
        <<- /conf/ __also__ and morph(\2, ":2p") -1>> vous                                          && Vouliez-vous écrire « vous » ? Le terme « \2 » est un verbe conjugué à la 2ᵉ personne du pluriel.

    quels  @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir|être)/
        <<- /conf/ \2.islower() and not value(<1, "|le|la|les|")
        -2>> =suggSimil(\2, ":[NA].*:[me]:[pi]", True)                                              && Incohérence avec « \1 » : « \2 » est une forme verbale.

    quelles  @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir|être)/
        <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") and hasSimil(\2, ":[NA]:[fe]:[pi]")
        -2>> =suggSimil(\2, ":[NA].*:[fe]:[pi]", True)                                              && Incohérence avec « \1 » : « \2 » est une forme verbale.

    quelques  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() and not value(\2, "|soient|soit|sois|puisse|puisses|puissent|")
        -2>> =suggSimil(\2, ":[NA]:.*:[pi]", True)                                                  && Incohérence avec « \1 » : « \2 » est une forme verbale.

    [auxdits|lesdits|desdits]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA].*:[me]:[pi]", True)                                              && Incohérence avec « \1 » : « \2 » est une forme verbale.

    [auxdites|lesdites|desdites]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
................................................................................
TEST: quels {{afflues}} attendre ?
TEST: {{quelles}} {{arrêtes}}
TEST: quels seraient nos avantages ?
TEST: quelles vont être nos chances ?


__conf_à_vconj__
    à  [le|la|l’|les|leur|leurs|ton|son]  @:V¬:[GNAWMBY]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA]", True)                                               && Incohérence : après “\1 \2”, on devrait trouver un groupe nominal (ou un verbe à l’infinitif).

    à  [un|une]  @:V¬:[GNAWMB]
        <<- /conf/ not value(<1, "|un|une|") -3>> =suggSimil(\3, ":[NA]", True)                     && Incohérence : après “\1 \2”, on devrait trouver un groupe nominal.

TEST: à leur {{profile}}
TEST: à un {{employer}}





















TEST: on les voit un par un devenir prendre un chemin de predition
TEST: une référence à l’astuce de base qui permet d’outrepasser ses droits.
TEST: Le mari répète à l’envi qu’il a découvert la France à travers les mots de sa femme.
TEST: Il reste de nombreux militants sincères à la FI.


__conf_de_vconj__
................................................................................
        -2>> =suggSimil(\2, ":[NA]", True)+"|"+suggVerbInfi(\2)                                     && Incohérence avec « \1 » : “\2” est une forme verbale conjuguée.

TEST: il s’agit de {{mette}} en évidence.
TEST: sa façon de {{nettoyez}} était inefficace.                                            ->> nettoyer|nettoyant


    [de|d’]  [l’|leur]  @:[123][sp]¬:[GNAQ]
        <<- /conf/ not \3.istitle() and not \3.isupper() -3>> =suggSimil(\3, ":[NA]:.:[si]", True)  && Incohérence avec « \1 \2 » : “\3” est une forme verbale conjuguée.

TEST: de l’{{arrivait}}
TEST: la production d’électricité par des énergies renouvelables aurait encore augmenté de 7 %, selon les calculs de l’AIE


    [de|d’]  le  *WORD
        <<- /conf/ space(\1, 0, 1) and morph(\3, ":[NAQ].*:[me]", ":[YG]") and not \3.istitle()
            and not (value(\3, "|mal|") and morph(>1, ":Y")) -1:2>> du                              && Incohérence avec « \1 \2 » : “\3” est un nom ou un adjectif.
        <<- /conf/ morph(\3, ":[123][sp]") -3>> =suggVerbInfi(\3)                                   && Incohérence avec « \1 \2 » : “\3” est une forme verbale conjuguée.

TEST: {{de le}} vin                                           ->> du
TEST: il n’est pas interdit de le {{pensait}}
TEST: que connais-tu de “Le Tambour” ?


    [de|d’]  la  *WORD
        <<- /conf/ morph(\3, ":[123][sp]", ":[NAQ]") and not \3.istitle() >>>
        <<- /conf/ morph(\3, ":V1.*:(?:Iq|Ip:2p)", ":1p") -3>> =suggVerbInfi(\3)                    && Incohérence avec « \1 \2 » : mettez le verbe à l’infinitif (à moins qu’il y ait confusion avec un nom féminin).
        <<- /conf/ __else__ >>>
................................................................................

TEST: d’une {{habille}} de femme
TEST: plus d’un ont été traumatisés
TEST: Plus d’une sont parties aussi vite qu’elles étaient venues


__conf_par_vconj__
    par  ?[le|la|l’|les||leur|leurs]¿  @:[123][sp]¬:[GNA]
        <<- /conf/ not \-1.istitle() --1>> =suggSimil(\-1, ":[NA]", True)                           && Incohérence avec “\1” : “\-1” est une forme verbale.

    par  [un|une]  @:V¬:[GNA]
        <<- /conf/ not \3.istitle() and not value(<1, "|un|une|")
        -3>> =suggSimil(\3, ":[NA]", True)                                                          && Incohérence avec “\1 \2” : “\3” est une forme verbale.

TEST: par {{bloque}} de données
................................................................................

    à  *WORD
        <<- /conf/ \-1.islower() and not value(\-1, "|coté|sont|peu|") >>>
        <<- /conf/ morph(\-1, ":(?:V.......[_z][az].*:Q|V1.*:Ip:2p)", ":[MGWNY]") -1>> a            && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __also__ and morph(\-1, ":V1.*:(?:Ip:2p|Q)", ":N") and not value(<1, "|il|elle|on|n’|les|l’|m’|t’|s’|d’|en|y|lui|nous|vous|leur|")
        --1>> =suggVerbInfi(\-1)                                                                    && Le verbe devrait être à l’infinitif.
        <<- /conf/ __else__ and morph(\-1, ":[123][sp]", "*") and not value(\-1, "|tord|tords|") >>>
        <<- /conf/ morph(\-1, ":V2.*:I[ps]:3s", "*") --1>> =suggVerbPpas(\-1, ":m:s")               && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.
        <<- /conf/ __also__ -1>> a                                                                  && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __else__ --1>> _                                                                 && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.

    à  $:W  *WORD
        <<- /conf/ \-1.islower() and not value(\-1, "|coté|sont|peu|") and not value(\2, "|peu|") >>>
        <<- /conf/ morph(\-1, ":(?:V.......[_z][az].*:Q|V1.*:Ip:2p)", ":[MGWNY]") -1>> a            && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __also__ and morph(\-1, ":V1.*:(?:Ip:2p|Q)", ":N") and not value(<1, "|il|elle|on|n’|les|l’|m’|t’|s’|d’|en|y|lui|nous|vous|leur|")
        --1>> =suggVerbInfi(\-1)                                                                    && Le verbe devrait être à l’infinitif.
        <<- /conf/ __else__ and morph(\-1, ":[123][sp]", "*") and not value(\-1, "|tord|tords|") >>>
        <<- /conf/ morph(\-1, ":V2.*:I[ps]:3s", "*") --1>> =suggVerbPpas(\-1, ":m:s")               && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.
        <<- /conf/ __also__ -1>> a                                                                  && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __else__ --1>> _                                                                 && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.

TEST: L’homme {{à}} ouvert la boîte.                                                    ->> a
TEST: cette femme {{à}} réellement {{trouvé}}                                           ->> a|||trouver
TEST: Il ne nous reste plus qu’{{à}} {{vérifié}} si votre maquette.                     ->> a|||vérifier
TEST: Je veux {{à}} {{mangé}}.                                                          ->> a|||manger
TEST: Ne pas hésiter {{à}} {{demandé}} des conseils.                                    ->> a|||demander
TEST: cette femme, dans son délire, {{à}} {{jetez}} son argent à la poubelle.           ->> a|||jeter
TEST: Ce que cet homme à {{devient}} aujourd’hui notre problème

TEST: cet individu {{à}} {{finit}} par comprendre son erreur.                           ->> a|||fini
TEST: cette femme {{à}} réellement ouvert                                               ->> a
TEST: la petite {{à}} souvent {{trouvé}} de l’aide auprès de sa grande sœur             ->> a|||trouver
TEST: la grande {{à}} toujours {{finit}} ses devoirs très tôt                           ->> a|||fini


TEST: il en a.
TEST: elle en a.
TEST: celle qui à contrario nous a foutu dans la merde.
TEST: ceux qui à Somewhere se sont si mal illustrés.
TEST: en à peine vingt ans
TEST: Les publicités sont peu à peu ouvertes et retirées de leur coffrage.

................................................................................
    a  ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    a  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    a  ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    a  ?[ne|n’]¿  [lui|leur|y]                    en                          $:Y
        <<- /conf/ not value(<1, "|il|elle|iel|on|n’|m’|t’|l’|") and not before("(?i)\\bqu[e’] |n’(?:en|y) +$")
        -1>> à                                                      && Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: scrupuleux {{a}} n’en toucher qu’une part infime.
TEST: Ne pas hésiter {{a}} {{demander}} des conseils.
TEST: Sébastien {{a}} {{demander}} des conseils.
TEST: Mélanie l’a {{transformer}}
TEST: {{A}} vous lire, on ne sait plus que penser de toutes ces histoires


__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: Un tueur {{a}} gages ne s’y prendrait jamais comme ça.                    ->> à
TEST: Ventes {{a}} domicile insatisfaisantes                                    ->> à
TEST: Ce n’est que du vernis {{a}} ongles.                                      ->> à
TEST: le vol {{a}} l’étalage est un fléau.                                      ->> à
TEST: Marre de cette pâte {{a}} pain.                                           ->> à
TEST: c’est une putain d’usine {{a}} gaz.                                       ->> à
TEST: ce produit est notre vache {{a}} lait                                     ->> à
TEST: ils vont et viennent, toujours {{cotes a cotes}}…
TEST: Nous irons {{tours à tours}} chercher du bois.


__conf_mettre_a_profit_plat__
    [>mettre|>remettre] ?[ceci|cela|ça|tout]¿ (a) [plat|profit]
    [>mettre|>remettre] tout [ceci|cela|ça] (a) [plat|profit]
    [>mettre|>remettre] [mon|ton|son|notre|votre|leur] talent (a) [plat|profit]
................................................................................
TEST: Draps de lit de deux lés.
TEST: Elle habite Vandœuvre-lès-Nancy.


# leurs / leur
__conf_leurs_verbe__
    leurs  @:(?:[123][sp]|Y)¬:[GNAM]
        <<- /conf/ not value(<1, "|les|des|")
        -1>> leur                                   && Incohérence : “leurs” est un déterminant pluriel censé précéder un substantif pluriel. Pour le pronom devant un verbe, écrivez “leur”.

TEST: je vais {{leurs}} reprendre                                       ->> leur
TEST: je {{leurs}} apprends la programmation                            ->> leur
TEST: après qu’un des leurs ait été gravement blessé par un tir de grenade


................................................................................
        <<- /conf/ -3>> oc                                          && Confusion. Écrivez “langue d’oc”.|https://fr.wiktionary.org/wiki/langue_d%E2%80%99oc

TEST: Les bonnes théories n’ont pas d’explication {{ad oc}}.                ->> ad hoc
TEST: Je ne connais pas la langue d’{{hoc}}.                                ->> oc
TEST: Ne t’insurge donc pas à la pensée que quelques instants puissent t’être nécessaires pour apprendre à lire la langue d’oc.
TEST: Toutes les agences évaluent de façon ad hoc la satisfaction de leur clientèle à l’endroit de leur produit


# on / ont
__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 ».

TEST: ces gens {{on}} {{souvent}} tort.                                     ->> ont|||
TEST: {{on}} {{des}} drôles de manières                                     ->> ont|||
TEST: n’y {{on}} jamais lieu de telles abominations !                       ->> ont
TEST: ces chiens te l’{{on}} donné                                          ->> ont
TEST: Qui {{on}} {{tant}} de malheurs !                                     ->> ont|||tend
TEST: Je voulais qu’on soit ensemble.
TEST: qui on blâme, ce soir ?
TEST: La peur irraisonnée de l’autre est le plus grave danger qu’ont à affronter les civilisations.


__conf_on_ont__
    [<start>|,|/_start_] ?l’¿ (ont) [ne|n’|me|m’|te|se|s’]
    [<start>|,|/_start_] ?l’¿ (ont) [lui|nous|vous] @:[123][sp]¬:G
    [<start>|,|/_start_] ?l’¿ (ont) [leur|le|la|l’] @:[123][sp]¬:(?:G|[NA].*:[si])
    [<start>|,|/_start_] ?l’¿ (ont) @:[123][sp]¬:[GQ]|>(?:envie|charge|peine|affaire|hâte|force|recours|somme)/
        <<- /conf/ -1>> on                                          && Confusion probable : le mot “ont” est une conjugaison du verbe avoir.

    [<start>|,|/_start_] ?l’¿ ont t’
        <<- /conf/ not value(>1, "|il|ils|elle|elles|iel|iels|") --2>> on    && Confusion probable : le mot “ont” est une conjugaison du verbe avoir.

    ~-ont$
        <<- /conf/ ->> =\1[:-1]                                     && Incohérence : le mot “ont” est une forme conjuguée du verbe “avoir” (par exemple : “ils ont”). Pour le pronom, écrivez “on”.

    [<start>|,|(]  *WORD  ont
        <<- /conf/ space(\2, 1, 1) and not value(\2, "|soit|") and morph(\2, ":3s") and not (tag(\-1, "eg1mot") and morph(\2, ">écrire/"))
        -2:3>> \2-on            && Confusion probable : le mot “ont” est une forme conjuguée du verbe “avoir”. Pour le pronom, écrivez “on” et mettez un trait d’union puisqu’il s’agit d’une question.

TEST: il m’assure qu’{{ont}} ne sait pas s’y prendre                                                                ->> on
TEST: {{ont}} m’assure qu’il n’y en a pas.                                                                          ->> on
TEST: {{Ont}} n’arrive pas à s’en sortir.                                                                           ->> On
TEST: {{Ont}} ne sait jamais quoi faire                                                                             ->> On
TEST: si {{ont}} donne à ces gens, ça n’en finit plus.                                                              ->> on
TEST: {{Ont}} viens !                                                                                               ->> On
TEST: {{Ont}} ne sait pas comment faire.                                                                            ->> On
TEST: ce livre qu’{{ont}} t’apporte                                                                                 ->> on
TEST: ouais, c’est ça, {{ont}} t’assure que c’est vrai                                                              ->> on
TEST: {{Ont}} lui avait donné du temps                                                                              ->> On
TEST: {{Ont}} leur {{prendra}} tout                                                                                 ->> On|||prise|prises
TEST: Qu’importe, {{ont}} leur {{prend}} tout                                                                       ->> on|||prise|prises
TEST: {{peut-ont}} y arriver avec si peu de moyens ?                                                                ->> peut-on
TEST: {{peut ont}} y arriver ?                                                                                      ->> peut-on
TEST: comme ce que l’{{ont}} {{voit}} dans le lien entre polygynie et guerre.                                       ->> on|||vu
TEST: Tout à fait, {{ont}} peut même dire qu’à l’adolescence, ce sont les problèmes de l’enfance qui ressortent.    ->> on
TEST: pour le verbe avoir, écrivez “ont”.
TEST: les politiques de l’offre ont échoué.
TEST: qui n’ont somme toute que le désir de vivre paisiblement
TEST: ces textes, quoi qu’on en pense, ont force de loi.
TEST: s’ils n’ont ne serait-ce qu’un peu de jugeotte, on ne les reverra plus.
TEST: En français, la plupart des noms de métier traditionnellement masculins soit ne disposent pas d’une forme féminine, soit ont des formes féminines anciennes tombées en désuétude.


# ou / où
__conf_où_ou__
    <start>  Ou  @:3[sp]¬:Y
        <<- /conf/ -2>> Où                                  && Confusion probable. La conjonction “ou” signale une alternative. Pour évoquer un lieu, un temps ou une situation, écrivez “où”.

    à l’ instant [exact|précis] ou
................................................................................

__conf_soit_soi_soie__
    [<start>|,|(]  sois  @:(?:Os|C)¬:R
    [<start>|,|(]  [soi|>soie]  @:[OC]¬:R
    [<start>|,|(]  [soi|sois|>soie]  [j’|t’|c’|ç’]
        <<- /conf/ -2>> soit                                    && Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction

    [quel|quels|quelle|quelles] que [soi|>soie|sois]
        <<- /conf/ -3>> soit|soient                             && Confusion probable.

    que  sa  soi  @:[WXAQ]
        <<- /conf/ -3>> soit|soie                                               && Confusion. Pour le verbe être au subjonctif, écrivez “soit”. Pour la fibre servant à la confection de textile, écrivez “soie”.

    >être [soi+s|>soie] [moi|toi|lui|elle|nous|vous|eux|iel|iels] ?,¿ [soit|soi+s|>soie]
    >être [soi+s|>soie] [moi|toi|lui|elle|nous|vous|eux|iel|iels] ?,¿ [soit|soi+s|>soie]
................................................................................
TEST: il faut savoir tracer un {{très}}                                             ->> trait
TEST: un très comme il faut monsieur
TEST: je ne les trais pas, mais il le faudrait.
TEST: un trait mal dessiné
TEST: je lui lançais un trait bien piquant
TEST: La jeune femme en noir avait des traits faciaux froids et anguleux










# un tant soit peu
__conf_un_tant_soit_peu__
    !! un tant soit peu ¡¡
    [un|1] [temps|>tan|tant] [soi|sois|>soie|soit] [peu|peux|peut]
        <<- /loc/ ->> un tant soit peu                              && Confusion. Écrivez “un tant soit peu”.|https://fr.wiktionary.org/wiki/tant_soit_peu

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


# en termes de
__loc_en_termes_de__
    en terme [de|d’]
        <<- /loc/ ->> en termes \3                                  && Dans la locution “en termes de”, mettez “terme” au pluriel.

TEST: {{en terme de}} communication, c’est une véritable catastrophe


# tous / tout / toutes
__loc_tous_azimuts__
    tout [azimut|azimuts]
        <<- /loc/ ->> tous azimuts                                  && « Tous azimuts » signifie « dans toutes les directions ».

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

    comme [convenus|convenue|convenues]
        <<- /gn/ -2>> convenu                                                                       && Invariable. Implicitement, comme ce qui était convenu.

    comme [prévue|prévus|prévues]
        <<- /gn/ -2>> prévu                                                                         && Invariable. Implicitement, comme ce qui était prévu.

TEST: il y en a autant que {{prévus}}.
TEST: elles sont plus nombreuses plus que {{prévues}}
TEST: il y a moins de bouffe que {{prévue}}
TEST: comme {{annoncés}}, ils sont arrivés                      ->> annoncé
TEST: moins loin que {{prévus}}                                 ->> prévu
TEST: plus rapide que {{prévues}}                               ->> prévu
TEST: autant d’hommes que {{prévus}}                            ->> prévu
TEST: il y en a moins que {{prévues}}                           ->> prévu
TEST: comme {{convenus}}                                        ->> convenu
TEST: comme {{prévus}}                                          ->> prévu
................................................................................
__gn_toute_det__
    toute [celles|les|des|mes|tes|ses|ces]
        <<- /gn/ -1>> toutes                                                                        && Erreur d’accord probable avec “\2”.

    toute [ce|cet]
        <<- /gn/ -1>> tout                                                                          && Erreur d’accord probable avec “\2”.

    toute mon ~^[bcdfgjklmnpqrstvwxz]
        <<- /gn/ -1>> tout                                                                          && Erreur d’accord probable avec “\2”.

    [<start>|,|(|/_start_]  toute  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,|(|/_start_]  toute  @:[123]p
        <<- /gn/ -2>> toutes                                                                        && Si vous voulez dire “tous” au féminin, écrivez “toutes”.

TEST: {{Toute}} celles qui viendront…                                               ->> Toutes
................................................................................
        <<- ~3:0>> *


__mot_composé_avec_là__
    /-là
        <<- morph(\1, ":[NA]", ":G", 0, -3) ~>> =\1[:-3]

TEST: cette femme-là {{étaient}} partout.


__simplification_des_nombres__
    [vingt|trente|quarante|cinquante|soixante|soixante-dix|septante|quatre-vingt|octante|huitante|quatre-vingt-dix|nonante|mille] et [un|une|onze]
        <<- ~>> \1-et-\3||
        <<- ~2:3>> *
        <<- =>> define(\1, ":B:e:p")

................................................................................
    >grille [de|d’] lecture
    >groupe [de|d’] [discussion|parole|prière|pression|travail]
    >guerre éclair
    >guerre à outrance
    >hall d’ entrée
    >harcèlement [de|d’] rue
    >haussement d’ épaules

    [héros|>héroïne] [de|d’] guerre
    >heure [sup|sup’]
    >heure [de|d’] pointe
    >histoire à dormir debout
    >histoire avec un [grand|petit] h
    >hochement [de|d’] tête
    >homme [de|d’] [affaires|armes|confiance|exception|État|Église|honneur|lettres|loi|main|paille|paix|parole|pouvoir|valeur]
................................................................................
    >passage à tabac
    >passation [de|d’] pouvoir
    >pâte à [accras|>beignet|>brioche|choux|>crêpe|donuts|frire|galettes|>gaufre|>gâteau|modeler|nouilles|pain|pizza|sel|tarte|tartiner]
    >pâté en [croute|croûte]
    >pavillon [de|d’] chasse
    >peinture à l’ huile
    >peloton d’ exécution

    >périphérique à bande ?[analogique|magnétique]¿
    >personnage [de|d’] roman
    perspectives d’ avenir
    >perte [de|d’] temps ?précieux¿
    >peur [de|d’] tous les diables
    >phase [I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII|XIII|XIV|XV|XVI|XVII|XVIII|XIX|XX|XXI|XXII|XXIII|XXIV|XXV|XXVI|XXVII|XXVIII|XXIX|XXX]
    >piano à queue
................................................................................
    plus $:A que jamais
        <<- ~1>> *
        <<- ~3:4>> *

    [bien|mal|fort] @:[AQW]
        <<- not value(<1, "|un|le|ce|du|mon|ton|son|notre|votre|leur|") ~1>> *

    si  @:[AQW]
        <<- not (value(\2, "|bien|") and value(>1, "|que|qu’|")) and not value(\2, "|tant|") ~1>> *

    un [chouia|chouïa|rien|tantinet]  ?[trop|plus|moins]¿
        <<- morph(>1, ":A", ":G") ~>> *

    un [brin|minimum|poil|soupçon]  ?[trop|plus|moins]¿
        <<- morph(>1, ":A", ":(?:A.*:[me]:[si]|G)") ~>> *
................................................................................

    [<start>|,|(] ben voyons
        <<- ~2:3>> *

    bien sous tout rapport
    bien sous tous rapports
        <<- morph(<1, ":N", ":D") ~>> *




    que , ce [jour|matin|soir|mois|trimestre|semestre|siècle|millénaire]                                                                    , [je|tu|il|on|elle|iel|nous|vous|ils|elles|iels]
    que , cette [seconde|décennie|matinée|minute|heure|journée|nuit|semaine|soirée]                                                         , [je|tu|il|on|elle|iel|nous|vous|ils|elles|iels]
    que , ces [heures|matins|matinées|soirées|nuits|jours|journées|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires] , [je|tu|il|on|elle|iel|nous|vous|ils|elles|iels]
        <<- ~3:4>> *

    chaque [seconde|minute|heure|journée|semaine|année|décennie]  @¬:(?:A.*:[fe]:[si]|Oo|[123][sp])
................................................................................
        && Confusion probable : pour parler de la pente d’une montagne, d’une colline ou, allégoriquement, d’une difficulté à passer, écrivez “côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te

    >longer [la|cette|une] [cote|cotte]
        <<- /conf/ --1>> côte
        && Confusion probable : pour parler d’un rivage ou d’une ligne de relief, écrivez “côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te

    [>côte|>cotte|>cote]  [à|a|á]  [>côte|>cotte|>cote]
        <<- /conf/ ->> côte à côte                                  && Locution adverbiale invariable. Écrivez “côte à côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te_%C3%A0_c%C3%B4te
        <<- ~>> *

TEST: Rien ne vaut une bonne {{cote}} de bœuf.                                              ->> côte
TEST: Elle avait les {{cotes}} cassées.                                                     ->> côtes
TEST: Elles ont passé une radiographie des {{cottes}}.                                      ->> côtes
TEST: Quelle est sa {{côte}} de popularité                                                  ->> cote
TEST: il a réussi à percer sa {{cote}} de mailles.                                          ->> cotte
TEST: Il a la {{côte}} auprès de ses collègues                                              ->> cote
TEST: ils sont {{cotte à cotte}}                                                            ->> côte à côte
TEST: il nous faut encore gravir cette {{cotte}}                                            ->> côte
TEST: nous avions prévu de longer cette {{cote}}                                            ->> côte

TEST: on a atteint la cote d’alerte.
TEST: Elles avançaient côte à côte.


# cou / coup / coût
__conf_coup_cout_cou2__
    >prendre ces jambes à son >cou
................................................................................
        <<- /conf/ --1>> foi                                                && Confusion probable. Pour évoquer la ferveur (religieuse), écrivez “foi”.|https://fr.wiktionary.org/wiki/foi

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

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

TEST: ces gens sont de mauvaise {{fois}}                                    ->> foi
TEST: C’est une personne de bonne {{fois}}.                                 ->> foi
TEST: Mais il a perdu {{fois}} en l’avenir.                                 ->> foi
TEST: sans {{fois}} ni loi                                                  ->> foi

TEST: J’ai préparé du pâté de {{fois}}                                      ->> foie
TEST: la prochaine {{foi}}, c’est mon tour.                                 ->> fois
TEST: une bonne {{foi}} pour toutes, ça suffit !                            ->> fois
TEST: elle a perdu {{foie}} en Dieu.                                        ->> foi


# fond / fonds / fonts
__conf_fond_fonds_fonts__
    [>collecte|>bailleur|>levé|>extorsion|>détournement] de [fond|fonts]
    >collecter des fonts
        <<- /conf/ -3>> fonds                                               && Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).
................................................................................
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.

__gn_une_des_1m__
    une  des  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|G|W|V0|3s)") -1>> un                       && Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.


TEST: {{Un}} {{amie}}                                           ->> Une|||ami
TEST: {{un}} des {{chattes}}                                    ->> une|||chats
TEST: {{une}} des {{chats}}                                     ->> un|||chattes
TEST: un {{slashs}}                                             ->> slash
TEST: un {{fromages}}.                                          ->> fromage
TEST: Un {{ballons}}                                            ->> ballon
TEST: Une {{cinglées}}                                          ->> cinglée
................................................................................
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].+:[NA].*:m", ":[efGW]") -1>> ce         && Accord de genre correct, mais euphonie non respectée.|http://fr.wikipedia.org/wiki/Euphonie
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{Cet}} {{idiote}}.                                                       ->> Cette|||idiot
TEST: {{cet}} ballon.                                                           ->> ce
TEST: cet {{oliviers}}                                                          ->> olivier



__gn_cette_1m__
    cette  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =suggCeOrCet(\2)                    && Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.
................................................................................
__gn_det_mas_sing_3m_et__
    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:[me]:s¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[me]:[si])|;C")
        -4>> =suggMasSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.

    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:f¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “le \2 et \4” et devrait être au masculin singulier.

    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:[me]:p¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “le \2 et \4” et devrait être au singulier.

TEST: un petit et {{vulgaires}} individu que nous avons vu hier                 ->> vulgaire
TEST: ce sot et ignorante {{abrutie}}                                           ->> abruti
TEST: nul prétentieux et sot {{hommes}} ne réussira                             ->> homme


__gn_mon_ton_son_1m__
................................................................................
        -4>> =suggMasSing(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\4, ":[NAQ].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemSing(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: il brandissait avec fougue son drapeau {{déchirés}}                       ->> déchiré

TEST: comment osez-vous médire de mon héritage {{glorieuse}}                    ->> glorieux
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/ __also__ -4>> =suggMasSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
        <<- /gn/ morph(\2, ":A.*:f:[si]", ":A.*:p") and morph(\4, ":A.*:m:[si]", ":A.*:p")
        -2>> =suggMasSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
        <<- /gn/ __also__ -4>> =suggFemSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.

    [mon|ton|son] *WORD et *WORD  @:[NA].*:p¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “l’\2 et \4” et devrait être au singulier.

TEST: mon {{ignorante}} et {{grande}} {{crétin}} de frère                       ->> ignorant|||grand|||crétine
TEST: son {{ordurier}} et {{sot}} {{abrutie}}                                   ->> ordurière|||sotte|||abruti
TEST: ton éblouissante et {{belles}} imbécile                                   ->> belle
TEST: ton {{amoureux}} et {{merveilleuse}} imbécile                             ->> amoureuse|||merveilleux
TEST: mon {{amoureuse}} et {{merveilleux}} imbécile                             ->> amoureux|||merveilleuse
TEST: son ignorant et sot {{hommes}} que voilà                                  ->> homme
................................................................................
__gn_det_fem_sing_3m_et__
    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:[fe]:s¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[fe]:[si])|;C")
        -4>> =suggFemSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.

    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:m¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “la \2 et \4” et devrait être au féminin singulier.

    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:[fe]:p¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au singulier.

TEST: une petite et {{vulgaires}} femme que nous avons vu hier                  ->> vulgaire
TEST: quelle sotte et ignorante {{abruti}}                                      ->> abrutie
................................................................................


#### Quel(le) que soit …

## masculin requis
__gn_quel_que_être_mas_sing__
    quelle que    [soit|soit|sois|soient|fut|fût] [le|ce|cet]      *WORD
    quelle que    [soit|soit|sois|soient|fut|fût] [mon|ton|son]    ~^[bcdfgjklmnpqrstvwxz]
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [le|ce|cet]      *WORD
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [mon|ton|son]    ~^[bcdfgjklmnpqrstvwxz]
        <<- /gn/ -1>> quel                                                                  && Accord de genre avec « \-2 \-1 ». Utilisez le masculin.

    quelle que    [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quelle que    [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aeéèhiîoôuy]
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aeéèhiîoôuy]
        <<- /gn/ morph(\-1, ":[NA].*:m", ":[fe]") -1>> quel                                 && Accord de genre avec « \-2 \-1 ». Utilisez le masculin.

TEST: {{quelle}} que soit le chien                            ->> quel
TEST: {{Quelle}} que soit mon intérêt.                        ->> Quel
TEST: {{Quelle}} qu’en soit mon intérêt.                      ->> Quel


................................................................................
## féminin requis
__gn_quelle_que_être_fem_sing__
    quel que    [soit|soit|sois|fut|fût] [la|cette|ma|ta|sa]  *WORD
    quel qu’ en [soit|soit|sois|fut|fût] [la|cette|ma|ta|sa]  *WORD
        <<- /gn/ -1>> quelle                                                                && Accord de genre avec « \-2 \-1 ». Utilisez le féminin.

    quel que    [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quel que    [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aeéèhiîoôuy]
    quel qu’ en [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quel qu’ en [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aeéèhiîoôuy]
        <<- /gn/ morph(\5, ":[NA].*:f", ":[me]") -1>> quelle                                && Accord de genre avec « \-2 \-1 ». Utilisez le féminin.

TEST: {{Quel}} que soit la force appliquée.                   ->> Quelle
TEST: {{Quel}} que soit mon aversion                          ->> Quelle
TEST: {{Quel}} que soit cette femme                           ->> Quelle
TEST: {{Quel}} que soit la force appliquée.                   ->> Quelle

................................................................................
TEST: ajoute plein de sel sur ses pâtes
TEST: avoir plein d’argent ne suffit pas toujours à tout résoudre


__gn_groupe_de__
    [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]
        || [>dizaine|>douzaine||>vingtaine|>trentaine|>quarantaine|>cinquantaine|>soixantaine|>centaine|>millier|>million|>milliard|>multitude|>horde]  [de|d’]  *WORD
        <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>fraude/")
        -4>> =suggPlur(\4)                                                                  && Avec « \1 \2 \3… », mettre au pluriel “\4” s’il y en a bien plusieurs.

    [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] >groupe [d’|de] [écoutes|paroles]
        <<- /gn/ -4>> =suggSing(\4)                                                         && Mettez au singulier.

    [>association|>assemblée|>collectif|>collectivité|>groupe|>rassemblement|>regroupement|>réunion|>troupe] [de|d’] [artiste|agriculteur|agricultrice|architecte|automobiliste|citoyen|citoyenne|con|conne|consommateur|consommatrice|enfant|entreprise|femme|fille|garçon|homme|imbécile|infirmier|infirmière|jeune|malfaiteur|médecin|motard|motarde|musicien|musicienne|passionné|passionnée|prostitué|prostituée|touriste|travailleur|travailleuse|vieille|vieillard|vieillarde]
        <<- /gn/ -3>> \3s                                               && Il manque un “s”. Il y en a plusieurs dans un groupe, un rassemblement, une assemblée, etc.
................................................................................
TEST: des centaines de {{bête}} à cornes passèrent devant nous.     ->> bêtes
TEST: une multitude d’{{homme}}                                     ->> hommes
TEST: des groupes de {{paroles}}                                    ->> parole
TEST: ils constituent un groupe de {{passionné}}.                   ->> passionnés
TEST: Ce collectif d’{{artiste}} est très inventif.                 ->> artistes
TEST: les 80 milliards de fraude fiscale
TEST: un groupe de prière



__gn_cage_d_escalier__
    >cage d’ escaliers
        <<- /gn/ -3>> escalier                                          && Usuellement, pas de “s” à escalier.

__gn_carnet_de__
    >carnet [de|d’] [chèque|note|timbre|ticket|vacance]
        <<- /gn/ -3>> \3s                                               && Il manque un “s”. Il y en a plusieurs dans un carnet.

__gn_collection_de__
    >collection [de|d’] [autocollant|boîte|blason|bouton|carte|chaussure|écusson|étiquette|film|fossile|gravure|jeu|insecte|livre|médaille|moto|papillon|pièce|pierre|pipe|tableau|timbre|voiture]
        <<- /gn/ -3>> =suggPlur(\3)                                     && Il manque un “s”. Il y en a plusieurs dans une collection.

__gn_concours_de_circonstances__
    concours [de|d’] circonstance
        <<- /gn/ -3>> circonstances                                     && Un concours de circonstances signifie qu’il y a plusieurs circonstances.

__gn_confluence_de__
................................................................................

__gn_troupeau_de__
    >troupeau [de|d’] [âne|animal|bœuf|buffle|bovin|bison|con|conne|cheval|chèvre|génisse|mouton|mule|mulet|porc|taureau|touriste|vache|veau]
        <<- /gn/ -3>> =suggPlur(\3)                                     && Il manque un “s”. Il y en a plusieurs dans un troupeau.

__gn_trousseau_de__
    >trousseau [de|d’] [clé|clef]
        <<- /gn/ -3>> =suggPlur(\3)                                     && Il manque un “s”. Il y en a plusieurs dans un trousseau.

    >trousseau [de|d’] mariages
        <<- /gn/ -3>> mariage                                           && Mettez au singulier.

TEST: d’un air compassé, il sortit son carnet de {{chèque}}.            ->> chèques
TEST: Elle est passée par la cage d’{{escaliers}}                       ->> escalier
TEST: Rends-moi ma collection de {{film}} !                             ->> films
................................................................................
    à  [ne|n’|en|me|m’|te|t’|se|s’|y]                                       ~..(?:ée?s?|ez|ai[st]?)$
    à  [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    ~..(?:ée?s?|ez|ai[st]?)$
    à  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        ~..(?:ée?s?|ez|ai[st]?)$
    à  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            ~..(?:ée?s?|ez|ai[st]?)$
    à  ?[ne|n’]¿  [lui|leur]                     en                         ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après le pronom “à”, le verbe devrait être à l’infinitif.

TEST: on ne gagne rien {{à les}} {{poussés}} dans leurs derniers retranchements
TEST: à en {{parlé}} sans cesse
TEST: cette corneille, il pense à la {{dégommée}} avec son fusil
TEST: à vous {{parlé}} on risque gros
TEST: cela suffit à les {{aimait}}
TEST: à ne leur en {{avancé}} que le nécessaire.
TEST: à l’y {{poussé}}
TEST: Avoir à {{parlait}} toute la journée, c’est plus que difficile, c’est épuisant.
TEST: elle s’engage à ne les lui donner qu’en dernier recours.
TEST: l’idée consiste à la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: à leur plus grand fils, ils ont offert une voiture.
TEST: ça va d’autonome à hautement dépendant
TEST: à lui donner trop d’importance, on façonne notre ennemi
TEST: la pression entre les membres à un moment devient trop importante
TEST: Macron saisit la discorde avec le Brésil pour s’opposer à l’embarrassant accord
................................................................................

!!!! Confusions                                                                                   !!

## on / ont
__conf_on_ont2__
    <start>  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines]  *WORD  on  @:[QDRY]¬:(?:Ov|3s)
        <<- /conf/ morph(\3, ":[NA].*:[pi]", ":G") -4>> ont         && Confusion probable. Accord avec “\2 \3…”. Pour le verbe avoir à la 3ᵉ personne du pluriel, écrivez “ont”.


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


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

TEST: ces gens on les connaît de vue.


## ou / où
__conf_det_nom_où_pronom__
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [je|j’|tu|il|on|ils]
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [elle|nous|vous|elles|iel|iels]
................................................................................
TEST: vous qui {{donner}} du temps                                          ->> donnez|donniez|donnâtes
TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives          ->> avanciez
TEST: vous qui {{décider}} de l’avenir du peuple.                           ->> décidez|décidiez|décidâtes
TEST: vous “étaler” sera notre plus grande joie.
TEST: je vous donnais votre dû, vous payais mieux que quiconque et vous me faites un procès.
TEST: Du passé chez votre ami vous parvenaient les meilleurs souvenirs.



!!
!!
!!!! Usage pronominal avec “avoir” au lieu d’“être”                                               !!
!!
!!

__conj_conf_se_être_avoir__
    je  m’  ?[en|y]¿  >avoir
        <<- /conj/ --1>> suis|étais|serai|serais                            && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.

    tu  t’  ?[en|y]¿  >avoir
        <<- /conj/ not morph(<1, ":V0") --1>> es|étais|seras|serais         && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.

    [<start>|,|(]  nous  nous  ?[en|y]¿  >avoir
        <<- /conj/ --1>> sommes|étions|serons|serions                       && Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conj/ -2>> nous,                                               && S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer du sujet les personnes que vous désignez.

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

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

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


!!
!!
!!!! Participes passés: se +être +verbe                                                           !!
!!
!!

................................................................................
TEST: celui-ci déclare être devenu {{fous}}                                                 ->> fou|foutu
TEST: celui-là qui n’aime pas avoir paru plus {{grands}} qu’il ne l’était réellement        ->> grand
TEST: cela qui n’en était pas moins {{absurdes}}                                            ->> absurde
TEST: lui qui affirmait être devenu {{éclairée}}                                            ->> éclairé
TEST: lui qui ne croit rester {{humbles}} en mettant sans cesse en avant ses mérites        ->> humble
TEST: lui qui n’en aimait pas rester {{visibles}}                                           ->> visible
TEST: lequel allait être {{renvoyée}} de l’établissement.                                   ->> renvoyé
TEST: tout peut être {{dissoute}}                                                           ->> dissout
TEST: tout ne deviendra pas {{détruite}}                                                    ->> détruit
TEST: tout n’y sera pas {{dissoute}}                                                        ->> dissout
TEST: lui ne voulant être {{retrouvés}}                                                     ->> retrouvé
TEST: lequel renonce à être {{instruite}}                                                   ->> instruit
TEST: il s’efforçait d’être {{humbles}}                                                     ->> humble
TEST: quiconque ne s’efforçait pas de rester {{utiles}} était fusillé.                      ->> utile
TEST: celui qui s’efforce d’être {{humbles}}                                                ->> humble
TEST: celui-là qui ne s’efforçait jamais d’être {{gentille}}                                ->> gentil
TEST: celui-ci qui ne s’y efforcera pas de paraître {{utiles}}                              ->> utile
................................................................................
    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles|/-iel|/-iels]  @:V.......e_.*:Q
        <<- /conf/ morphVC(\1, ">avoir/") -1>> _                && Incohérence. La forme verbale “\2” ne peut pas être utilisée avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.

    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  >avoir  @:V.......e_.*:Q
    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         >avoir  @:V.......e_.*:Q
    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             >avoir  @:V.......e_.*:Q
    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  [lui|leur|y]                    en                          >avoir  @:V.......e_.*:Q
        <<- /conf/ --2>> _                                      && Incohérence. La forme verbale “\-1” ne peut pas être utilisée avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.

    ce [qui|que|qu’] ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  [ait|aie|aies|ai|ais]
    ce [qui|que|qu’] ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         [ait|aie|aies|ai|ais]
    ce [qui|que|qu’] ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             [ait|aie|aies|ai|ais]
    ce [qui|que|qu’] ?[ne|n’]¿  [lui|leur|y]                    en                          [ait|aie|aies|ai|ais]
        <<- /conf/ --1>> est                                    && Confusion probable entre le verbe “avoir” et “être”.

    ce qui ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  >été  [@:[YQA]|<end>|,|)]
    ce qui ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         >été  [@:[YQA]|<end>|,|)]
    ce qui ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             >été  [@:[YQA]|<end>|,|)]
    ce qui ?[ne|n’]¿  [lui|leur|y]                    en                          >été  [@:[YQA]|<end>|,|)]
        <<- /conf/ --2>> était                                  && Confusion probable. L’été est la saison chaude.

    [<start>|,|(|/_start_] [il|elle|on|iel] ?[ne|n’]¿ [l’|les] est @:V......._a.*:Q
        <<- /conf/ --2>> ait                                    && Confusion probable entre le verbe “avoir” et “être”.

TEST: {{Aient-elles}} {{venues}} à la maison.
TEST: j’{{ai}} arrivé à finir ce programme
TEST: {{Ait-il}} arrivé à ses fins ?

TEST: je n’{{avais}} pas parti avec eux.
TEST: il {{avait}} parti.
TEST: ce qui ne l’{{ait}} pas                                                       ->> est
TEST: ce qui {{été}} informe                                                        ->> était
TEST: je ne crois pas qu’elle l’{{est}} donné à son frère                           ->> ait
TEST: Avais-je partie liée avec lui ?
TEST: il n’y a pas mort d’homme, mais il y a mort de meuf.


................................................................................
__conf_à_a2__
    [<start>|,|(]  [je|j’|tu|il|elle|on|ils|elles|iel|iels]   @:V        a
    [<start>|,|(]  [nous|vous]                                @:V¬:Y     a
    [<start>|,|(]  c’                                         >être      a
    [<start>|,|(]  [cela|ceci|celui-ci|celui-là|celle-ci|celle-là|ceux-ci|ceux-là|celles-ci|celles-là]  @:(?:[123][sp]|P)  a
        <<- /conf/ \-1 != "A" --1>> à                               && Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition “à”.

TEST: Il vient de temps en temps {{a}} la maison.                                                   ->> à
TEST: tu ne donnes jamais rien {{a}} ces hommes.                                                    ->> à
TEST: Nous les donnons {{a}} ces gens.                                                              ->> à
TEST: j’arrive {{a}} la gare                                                                        ->> à
TEST: Cela venait {{a}} la maison régulièrement.                                                    ->> à
TEST: Quoiqu’il fasse, c’est {{a}} des années-lumière de réussir.                                   ->> à
TEST: vous examiner a eu des conséquences imprévues.
TEST: je suis A.


#### être / avoir
__conf_ait_confiance_été_faim_tort!3__
    [es|est] [confiance|conscience|envie|été|peur|faim|hâte|honte|recours|soif|tort]
    [es|est] peine [à|a]
        <<- /conf/ not tagbefore(\1, "_ceque_") and not value(<1, "|tout|d’|l’|")
        -1>> ait|aie                                                && Confusion probable dans l’expression “avoir \2”. Vous utilisez ici le verbe “être”.


TEST: il est posssible qu’il {{est}} confiance en toi
TEST: Je crains qu’il {{est}} peine à trouver le bonheur.
TEST: La révolution est crainte.
TEST: Je n’en ai cure.
TEST: Notre communauté vous est redevable.
TEST: l’humour est affaire de culture
TEST: Aller chercher l’air pur à la campagne est peine perdue.
TEST: tout est peine perdue.

................................................................................
TEST: un grand {{ravis}} tous les prix                                                              ->> ravit|ravissait|ravi
TEST: mon chat {{sautes}}                                                                           ->> saute
TEST: cette fille {{bouffes}} comme mille                                                           ->> bouffe
TEST: cette marchande {{marchandes}}                                                                ->> marchande|marchandée
TEST: une crise {{violent}}                                                                         ->> viole
TEST: un cri {{violes}}                                                                             ->> viole
TEST: ton chien {{bouffent}} sans arrêt                                                             ->> bouffe

TEST: une majorité de garçons voient mal comment faire
TEST: un tas de choses pouvaient aller de travers.
TEST: un paquet de gens futés n’y ont vu que du feu.
TEST: Une partie de ces propositions étaient naïves
TEST: tu n’acceptais jamais de danser avec quelqu’un si tu avais refusé à quelqu’un d’autre au début
TEST: des ruisselets, des arbres, une tonnelle qui rappelaient le temps.
TEST: son assurance, sa grâce, son sex-appeal nous permettent de passer sans encombre liquides et rasoirs.
................................................................................
    ils  on
    [eux|ceux|elles|celles]  qui  on
        <<- /conf/ --1>> ont                                    && Confusion probable : “on” est un pronom personnel. Pour la conjugaison du verbe “avoir”, écrivez “ont”.

    [elles|ceux-ci|ceux-là|celles-ci|celles-là]  on
        <<- /conf/ not morph(<1, ":[RV]") -2>> ont              && Confusion probable : “on” est un pronom personnel. Pour la conjugaison du verbe “avoir”, écrivez “ont”.

TEST: celles-là {{on}} {{vraiment}} un problème avec la religion.                                   ->> ont|||
TEST: j’ai, tu as, ils ont, elles {{on}}                                                            ->> ont
TEST: ces gens-là ils {{on}} {{raison}} plus souvent que la plupart des gens.                       ->> ont|||
TEST: Ils soutiennent ceux qui {{on}} {{tant}} de raisons d’être en colère.                         ->> ont|||tend
TEST: Or parmi celles-ci on trouve typiquement d’un côté les structures


!!
................................................................................
!!!! Quel(le) que soit / quel(le)s que soient                                                     !!
!!
!!

# singulier
__conj_quel_quelle_que_3sg__
    [quel|quelle]  [que|qu’]  >être  [le|la|l’|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD

        <<- /conj/ morph(\3, ":V0e", ":3s") -3>> =suggVerb(\3, ":3s")                       && Conjugaison erronée. Accord avec “\4 \5”. Mettez “être” à la 3ᵉ personne du singulier.

    [quels|quelles]  [que|qu’]  >être  [le|la|l’|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD
        <<- /conj/ not ( morph(\3, ":3p") and (value(>1, "|et|") or tag(\5, "_enum_")) )

        -3>> =suggVerb(\3, ":3s")                                                           && Conjugaison erronée. Accord avec “\4 \5”. Mettez “être” à la 3ᵉ personne du singulier.
        <<- /conj/ __also__ -1>> =\1[:-1]                                                   && Accord avec “\4 \5”. Utilisez le singulier.

TEST: Quel que {{soient}} son passe-temps, il y consacre trop de temps.                             ->> soit
TEST: {{Quels}} que {{soient}} le feu utilisé.
TEST: {{Quels}} que {{soit}} leur problème, ça n’en finit jamais.
TEST: {{Quelles}} que {{soit}} leur voiture, elle tombe constamment en panne.
TEST: Quelles que soient la vitesse et l’efficacité de cette méthode, ça me semble moins abouti que notre solution maison.
TEST: Quels que soient le carnage, l’abomination, le crime commis, nous les poursuivrons.

# pluriel
__conj_quels_quelles_que_3pl__
    [quels|quelles|quel|quelle]  que  >être  [les|ces|mes|tes|ses|nos|vos|leurs]
        <<- /conj/ morph(\3, ":V0e", ":3p") -3>> =suggVerb(\3, ":3p")               && Conjugaison erronée. Mettez “être” à la 3ᵉ personne du pluriel.

    [quel|quelle]  que  >être  [les|ces|mes|tes|ses|nos|vos|leurs]  *WORD
        <<- /conj/ -1>> \1s                                                         && Accord avec “\4 \5”. Utilisez le pluriel.

TEST: Quels que {{soit}} les salopards qui ont fait ça.
TEST: Quelles que {{sois}} les chaussures que je mets, elles me font mal aux pieds.
TEST: {{Quel}} que soient les avantages reçus, ce n’est pas assez.
TEST: {{Quelle}} que soient nos problèmes, on en parle toujours trop.



!!
!!
!!!! Modes verbaux                                                                                !!
!!
................................................................................
TEST: J’aimerai ces cours-là autant que les autres.
TEST: J’aimerai la danse et la musique, puisque vous l’exigez.
TEST: Je sais que j’aimerai ça, tout comme lui.


__vmode_j_aurais_aimé_que_vinfi__
    j’  aurai  [aimé|souhaité|préféré|voulu|apprécié|désiré|adoré]  [que|qu’|ne|n’|$:Y]
        <<- /vmode/ -2>> aurais|eusse                                                               && Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »

TEST: J’{{aurai}} aimé nous offrir ce magnifique cadeau.                                            ->> aurais|eusse
TEST: j’{{aurai}} voulu être un artiste.                                                            ->> aurais|eusse
TEST: j’{{aurai}} préféré ne pas avoir à l’entendre.                                                ->> aurais|eusse
TEST: j’{{aurai}} préféré l’entendre un autre jour.                                                 ->> aurais|eusse
TEST: j’{{aurai}} aimé que vous m’en parliez.                                                       ->> aurais|eusse
TEST: Quand j’en aurai fini avec eux, vous aurez du mal à les reconnaître.
TEST: Quand j’aurai fini ce boulot, je ne sais pas ce que je ferai.
TEST: Quand j’aurai soif et faim, je m’arrêterai.


# Si suivi du conditionnel ou du subjonctif
__vmode_si_sujet_conditionnel_subjonctif__
    [<start>|,|(]  si     @:(?:Os|M)          @:[SK]¬:(?:G|V0|I)






    [<start>|,|(]  s’     [il|ils|iel|iels]   @:[SK]¬:(?:G|V0|I)
        <<- /vmode/ --1>> _                                                                         && Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.






















TEST: Si Pierre {{avancerait}} sa voiture de quelques mètres, ça nous permettrait de passer.


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



__vmode_si_sujet_conditionnel__
    <start>  si  [je|j’]  >avoir  $:Q  ?,¿  [je|j’|tu|il|on|elle|nous|ce|vous|ils|elles|iel|iels]  $:K
    <start>  si  [je|j’]  >avoir  $:Q  $:D  $:N  ?,¿  [je|j’|tu|il|on|elle|nous|ce|vous|ils|elles|iel|iels]  $:K
    <start>  si  [je|j’]  >avoir  $:Q  ,  $:M  $:K
    <start>  si  [je|j’]  >avoir  $:Q  ,  $:D¬:R  $:N  $:K







|
|
|
|
|







 







|







 







|







|







 







|







 







<







 







|
>
|


|


|



|







 







>







 







|







 







|
|
|
|







 







|
|








<
<
<
|
<





|

|




|




|





|
|






|






|

|







 







>




>




>

|
|
|
|
|







 







|
<
|







 







|
|
|
|
|
|







 







>







 







|
|
|
|
|
|


|
|
|
|
|

|
|
|

|

|
|
|



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







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

|







 







<
<
<







 







|







 







|







 







|
|


|

|


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

|
|
|
|
|
|

|
|
|
|
|
|
|
|
|

<
>
|
|
|
|
|
|
|
|
<

|
|
|
|
<
>
|
|
|
|
|
|

|
|
|
|
<
>
|
|
|
<

|
|

|

|
|
|

|
|
<
|
|
|
|
<
|

>
>
>







 







|
|
|







 







|
|
|
|
|












>
>
>
>



<













>







 







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







 







<
|







 







|


|


|

|
|
|
|
|







 







|








|







|









|











|
|







 







|
|







 







|
>
>
|







>
>
|



|
>







 







|
>
>
|

|
|
>






<
|










|
|
|
|
|
|
|
|
<
|
|
|
|
>




|
>
>
|






|
>
>
|

|
>
|
|
|
|
<
>
>






<
|








|
|
|




|
>
>
|






|
>
>
|

|
|
|
|
|



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











|







 







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



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







 







|
|


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







<
|










|
|
|
|
|
|
|
<




|
>
>
|






|
>
>
|

|
>
|
|
|
>







 







>












|


|



|












|







 







|
|

|
|

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







 







|










|
|







 







|







 







|




|




|



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







 







|
|
|
<
|







 







<







 







|







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







 







|







 







>
>
>
>
>
>
>
>







 







|







 







|
|
|







 







|







 







<
<







 







>







 







>







 







|







 







>
>
>







 







|











>







 







|







>



|







 







>







 







>







 







|



|







 







>







 







|







 







|







 







|

|



|

|







 







|

|







 







|







 







>











|







 







|







 







|
|
|
|
|
|
|
<







 







>



>

<
|
|
|
>







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







 







|

|







 







|

|
|
|
|


|
|
|
|






<

>
|
|







 







|
|
|
|
|
|








|
|
>

|
|







 







>







 







<







 







>
|



>
|
<


|
|
|






|


|

|
|
|
|







 







|













|
>
>
>
>
>
>
|
<
>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
|
<
>







471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
....
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
....
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
....
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
....
3384
3385
3386
3387
3388
3389
3390

3391
3392
3393
3394
3395
3396
3397
....
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
....
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
....
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
....
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
....
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403



5404

5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
....
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
....
5490
5491
5492
5493
5494
5495
5496
5497

5498
5499
5500
5501
5502
5503
5504
5505
....
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
....
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
....
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
....
5732
5733
5734
5735
5736
5737
5738






























5739
5740
5741
5742
5743
5744
5745
5746
5747
....
5821
5822
5823
5824
5825
5826
5827



5828
5829
5830
5831
5832
5833
5834
....
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
....
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
....
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946










5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964

5965
5966
5967
5968
5969
5970
5971
5972
5973

5974
5975
5976
5977
5978

5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990

5991
5992
5993
5994

5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006

6007
6008
6009
6010

6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
....
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
....
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106

6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
....
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
....
6662
6663
6664
6665
6666
6667
6668

6669
6670
6671
6672
6673
6674
6675
6676
....
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
....
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
....
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
....
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
....
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229

7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248

7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278

7279
7280
7281
7282
7283
7284
7285
7286

7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
....
7444
7445
7446
7447
7448
7449
7450



7451
7452
7453
7454
7455
7456
7457
7458

7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
....
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584

7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602

7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
....
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
....
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
....
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
....
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
....
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
....
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665

8666
8667
8668
8669
8670
8671
8672
8673
....
9343
9344
9345
9346
9347
9348
9349

9350
9351
9352
9353
9354
9355
9356
.....
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
.....
11776
11777
11778
11779
11780
11781
11782




































































11783
11784
11785
11786
11787
11788
11789
.....
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
.....
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
.....
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
.....
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
.....
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
.....
17466
17467
17468
17469
17470
17471
17472


17473
17474
17475
17476
17477
17478
17479
.....
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
.....
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
.....
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
.....
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
.....
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
.....
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
.....
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
.....
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
.....
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
.....
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
.....
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
.....
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
.....
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
.....
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
.....
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
.....
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
.....
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
.....
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406

26407
26408
26409
26410
26411
26412
26413
.....
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358

28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
.....
28415
28416
28417
28418
28419
28420
28421



































28422
28423
28424
28425
28426
28427
28428
.....
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
.....
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542

31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
.....
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
.....
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
.....
33182
33183
33184
33185
33186
33187
33188

33189
33190
33191
33192
33193
33194
33195
.....
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364

33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
.....
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
33435
33436
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
__<s>/typo(typo_commencement_guillemets)__
    ^(?:"|['‘’]['‘’])[   ]
        <<- ->> « |“                                                                                && Guillemets ouvrants.
__<s>/typo(typo_guillemets_fin)__
    ([   ](?:"|['‘’]['‘’]))(?:$|[.,;?!])  @@0
        <<- -1>> " »|”"                                                                             && Guillemets fermants.

TEST: Bon sang, c’en est trop à présent. Vos prétendues “excuses{{ ” }}ne trompent personne !       ->> "” | “"
TEST: Bon sang, c’en est trop à présent. Vos prétendues{{ “ }}excuses” ne trompent personne !       ->> " “|” "
TEST: Encore des guillemets{{ ‘’ }}dont on ne sait que faire.                                       ->> " « | » | “|” "
TEST: {{" }}Ça suffit.{{ "}}                                                                        ->> « |“||| »|”
TEST: {{" }}Mangez{{ "}}, déclara-t-elle.                                                           ->> « |“||| »|”


__<s>/typo(typo_guillemets_fermants_inverses)__
    [  ]”(?=\w)
        <<- ->> " “"                                                                                && Mettez des guillemets ouvrants plutôt que fermants.
__<s>/typo(typo_guillemets_ouvrants_inverses1)__
    \w([«“][  ]) @@1
................................................................................
!!
!!

__<s]/typo(typo_signe_moins)__
    -(\d+)  @@$  <<- not before("\\w$") ->> −\1|– \1|— \1
    && S’il s’agit de représenter un nombre négatif, utilisez le signe typographique “moins” [1]. S’il s’agit d’une incise, utilisez un tiret demi-cadratin [2] ou un tiret cadratin [3].

TEST: Résultat : {{-72}}.                                                   ->> −72|– 72|— 72


__<s>/typo(typo_signe_multiplication)__
    (\d+) ?[x*] ?(\d+)  @@0,$ <<- not \0.startswith("0x") ->> \1 × \2                               && Signe de multiplication typographique.

TEST: {{800 x 600}}                                                         ->> 800 × 600
TEST: {{800*600}}                                                           ->> 800 × 600
................................................................................


__[s>(num_grand_nombre_avec_points)__
    \d\d?\d?(?:[.]\d\d\d)+(?![0-9])
        <<- option("num") ->> =\0.replace(".", " ")                                                 && Grands nombres : utilisez des espaces insécables plutôt que des points.
        <<- ~>> =\0.replace(".", "_")

TEST: il cumule {{200.000.000}} de pertes sèches                                ->> 200 000 000


__[s](num_grand_nombre_avec_espaces)__
    \d\d?\d?(?: \d\d\d)+
        <<- option("num") ->> =\0.replace(" ", " ")                                                 && Grands nombres : utilisez des espaces insécables.
        <<- ~>> =\0.replace(" ", "_")

TEST: Il a perdu {{20 000}} euros à la Bourse en un seul mois.                  ->> 20 000


!!
!!
!!!! Dates                                                                                        !!
!!
!!
................................................................................

    [<start>|,|s’]  >écrire  [“|”|"]   ?*WORDELD¿ *WORD  [“|”|"]
    [<start>|,|s’]  >écrire  «         ?*WORDELD¿ *WORD  »
    [<start>|,|s’]  >écrire  [‘|'|’|`] ?*WORDELD¿ *WORD  [‘|'|’|`]
    [<start>|,|s’]  >écrire  ‹         ?*WORDELD¿ *WORD  ›
        <<- !-2>>

TEST: New York {{devenaient}} la plaque tournante de tous les trafics.                  ->> devenait
TEST: de Bordeaux ou de n’importe où
TEST: il n’y a pas faute.
TEST: une séparation hommes/femmes
TEST: le mot “amie” ne veut plus rien dire
TEST: le mot « amie » ne veut plus rien dire
TEST: le mot ‹amie› ne veut plus rien dire
TEST: le mot ‘amie’ ne veut plus rien dire
................................................................................
    m’ sieur
        <<- ~>> ␣

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


TEST: nul ne sait qui arriva à ce pauvre Paul surpris par la pluie.
TEST: elle finit par être très fière de son fils.
TEST: en tant que président du conseil
TEST: les bac +2 sont trop nombreux.
TEST: c’est à n’y plus rien comprendre.
TEST: Elle était tout feu, tout flamme.
TEST: Ses rencards finissent par devenir lassants
................................................................................
!!!! Élisions & euphonie                                                                          !!
!!
!!

# é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.*;É"))
        -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].
        <<- /eleu/ not \1.isupper() and space(\1, 1, 1) and morph(\2, ":V", ":Q|;é")
        -1:.2>> =\1[0:1]+"’"                                                            && Il faut élider le pronom “\1” et l’accoler au verbe.|http://fr.wikipedia.org/wiki/Élision

TEST: {{le }}amour                                                          ->> l’
TEST: {{la }}imagination                                                    ->> l’
TEST: {{de }}amour                                                          ->> d’
TEST: {{de }}est en ouest                                                   ->> d’
TEST: je crois que {{si }}ils viennent, ils seront mécontents               ->> s’
TEST: {{Que }}ils soient heureux                                            ->> Qu’
................................................................................
TEST: il {{me }}oublie souvent                                              ->> m’
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.
................................................................................
    !! dans la [matinée|nuit|soirée] de jeudi à vendredi ¡¡
    !! dans la [matinée|nuit|soirée] de vendredi à samedi ¡¡
    !! dans la [matinée|nuit|soirée] de samedi à dimanche ¡¡
    dans la [matinée|nuit|soirée] de [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] à [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]
        <<- --4:0>> de dimanche à lundi|de lundi à mardi|de mardi à mercredi|de mercredi à jeudi|de jeudi à vendredi|de vendredi à samedi|de samedi à dimanche
        && Cette \3 n’existe pas, les deux journées ne se succédant pas.

TEST: dans la nuit {{de jeudi à mardi}}         ->> de dimanche à lundi|de lundi à mardi|de mardi à mercredi|de mercredi à jeudi|de jeudi à vendredi|de vendredi à samedi|de samedi à dimanche
TEST: dans la nuit de dimanche à lundi
TEST: dans la nuit de lundi à mardi
TEST: dans la nuit de mardi à mercredi
TEST: dans la nuit de mercredi à jeudi
TEST: dans la nuit de jeudi à vendredi
TEST: dans la nuit de vendredi à samedi
TEST: dans la nuit de samedi à dimanche
................................................................................
        <<- /tu/ morph(\2, ":[NB]") -2:3>> \2-là                                        && Il manque probablement un trait d’union.

    [ce|cet|cette|ces] *WORD si [<end>|,|)]
        <<- /tu/ morph(\2, ":[NB]") -2:3>> \2-ci                                        && Il manque probablement un trait d’union.

TEST: à ce {{moment là}}                                                        ->> moment-là
TEST: Il faisait froid cet {{hiver la}}.                                        ->> hiver-là
TEST: Ces {{trois là}} sont incollables.                                        ->> trois-là
TEST: Je connais bien cette {{sensation là}}.                                   ->> sensation-là
TEST: Cette {{voiture si}}, c’est celle-là que je veux.                         ->> voiture-ci
TEST: ce que je veux c’est ce {{véhicule ci}}                                   ->> véhicule-ci
TEST: Laisse ce chiot là où il est !
TEST: Ce fut là en fait une appellation fautive


### Préfixes
__tu_préfixe_ex__
    l’ ex  @:[NT]¬*
................................................................................
        -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: Ton ex donne du fil à retordre.


__tu_préfixe_in__
    in [dix-huit|douze|seize|folio|octavo|quarto|plano]
        <<- /tu/ not value(<1, "|drive|plug|sit|") ->> \1-\2                && Il manque un trait d’union.




TEST: Cet {{in folio}} est incroyable.                                          ->> in-folio

TEST: Dans ce drive in douze hommes mangent.


__tu_préfixe_mi__
    mi  @:[NAQ]¬:G
        <<- /tu/ not value(\2, "|a|") ->> mi-\2                             && S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: J’ai été engagé pour un {{mi temps}}.                                     ->> mi-temps


__tu_préfixe_quasi__
    quasi  @:N¬:[AGW]
        <<- /tu/ morph(<1, ":D") ->> quasi-\2                               && Il manque un trait d’union : « quasi » s’accroche au mot qui le suit s’il s’agit d’un nom.

    quasi
        <<- ~>> *

TEST: leur {{quasi indifférence}}                                               ->> quasi-indifférence

    ~^[Qq]uasi-.+$
        <<- /tu/ morph(\1, ":[WA]", ":N", 6) ->> ="quasi " + \1[6:]         && Avec le préfixe “quasi”, le trait d’union n’est présent que s’il s’agit d’un nom, pas s’il s’agit d’un adjectif ou d’un adverbe.

TEST: la quasi-totalité des membres.
TEST: des hommes {{quasi-inféodés}} à leur patron.                              ->> quasi inféodés
TEST: revenir {{quasi-totalement}} à une existence primitive                    ->> quasi totalement


__tu_préfixe_semi__
    semi @:[NAQ]¬:(?:G|3[sp])
        <<- /tu/ ->> \1-\2                                      && S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: en {{semi liberté}}                                                       ->> semi-liberté


__tu_préfixe_gentilés__
    [afghano|africano|albano|algéro|allemano|américano|andoro|angolo|anglo|anguillo|antartico|arabo|arctico|argentino|armeno|asiatico|atlantico|australo|austro|azéro|bahreïno|banglado|barbado|basco|bélizo|béllarusso|bénino|belgo|bhoutano|birmano|bolivio|bosno|bosniaco|botswano|brésilo|britanno|brunéo|bulgaro|burkanino|burundo|camerouno|canado|chilio|cingalo|colombo|comoro|congolo|coréo|cyprio|costarico|croato|cubano|dano|djibouto|dominico|écosso|égypto|émirato|équato|érythréo|esto|éthiopo|eurasiatico|européano|fidjio|finno|franco|gabono|gallo|gambo|géorgio|ghanéo|britanno|gréco|grenado|guatémalto|guinéo|guyano|hélleno|helvético|hispano|honduro|hungaro|indo|indonéso|italo|irako|irlando|islando|israélo|ivoiro|jamaïco|japono|jordano|khméro|kazakho|kényo|kirghizo|kiribato|koweïto|lao|lésotho|letto|libéro|libyo|liechtenteino|lituano|luxembourgeo|macédono|malgacho|malaiso|malawito|malo|malto|marianno|maroco|marshallo|mauricio|mauritano|mexico|micronésio|moldavo|monégasco|mongolo|monténégrino|mozambico|namibio|nauro|népalo|nicaraguo|nigéro|nigériano|norvégio|néo-zélando|occidentalo|océanio|omano|orientalo|ougando|ouzbéko|pacifico|pakistano|palestino|panaméo|paraguayo|néerlando|hollando|péruvo|philippino|polono|polynésio|luso|qataro|québéco|centrafricano|domenicano|roumano|russo|rwando|sarhao|sahélo|salomono|salvadoro|samoano|santoméo|saskatchéwano|scandinavo|sénégalo|saoudo|sénégambo|serbo|seychello|sierraléono|singapouro|sino|slovaco|somalo|soudano|srilanko|sudafricano|suédo|suisso|surinamo|swazilando|syro|sovieto|tadjiko|tanzano|tchado|tchécoslovavo|tchéco|thaïlando|thraco|tibéto|timoro|togolo|tokélo|tongano|trinidado|tuniso|turkméno|turco|touvalo|tuvalo|ukraino|uruguayo|vaticano|vénézuélo|vietnamo|yéméno|yougoslavo|zaïro|zambio|zimbabwébo]  $#G
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

TEST: des {{franco américains}}                         ->> franco-américains
TEST: {{franco américaine}}                             ->> franco-américaine
TEST: l’{{israélo belge}}                               ->> israélo-belge


__tu_préfixe_xxxo__
    [macro|magnéto|micro|paléo|rétro|rhino|stéréo]  *WORD
        <<- /tu/ morph2(\1, "-", ":")
        ->> \1-\2                                                                                   && S’il s’agit d’un seul mot, il manque un trait d’union.

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


__tu_préfixe_divers__
    [anti|auto|arrière|avant|demi|extra|intra|multi|post]  *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/ not(\2 == "forme" and value(>1, "|de|d’|")) and morph(<1, ":D") and morph2(\1, "-", ":")
        ->> \1-\2                                                                                   && Il manque probablement un trait d’union.
        <<- /tu/ __also__ !2>>

TEST: il a pris une balle dans l’{{arrière train}}.         ->> arrière-train
TEST: Ce {{sans gêne}} mérite une bonne leçon               ->> sans-gêne
TEST: une {{sous culture}} passée de mode                   ->> sous-culture
TEST: l’{{avant train}}                                     ->> avant-train
TEST: l’{{arrière pensée}}                                  ->> arrière-pensée
TEST: Sans gêne, il avança parmi nous.


__tu_préfixe_pseudo__
    pseudo  $:N¬*
        <<- /tu/ ->> pseudo-\2                                                                      && Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union.
        <<- ~1>> *
................................................................................
    [une|la|cette|cet|ma|ta|sa]  pseudo  @:N.*:f
        <<- /tu/ -2:3>> pseudo-\3                                                                   && Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union.
        <<- ~2>> *

    ~^[pP]seudo-\w+
        <<- =>> definefrom(\1, 7)

TEST: il n’avait contracté qu’un {{pseudo mariage}}.            ->> pseudo-mariage

TEST: la {{pseudo taxe}} carbone                                ->> pseudo-taxe


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

................................................................................
        <<- /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: c’est le {{contre exemple}} parfait                       ->> contre-exemple
TEST: une {{entre voie}}                                        ->> entre-voie
TEST: s’{{entre regarder}}                                      ->> entre-regarder
TEST: ce sont des {{lève tard}}.                                ->> lève-tard
TEST: nous nous {{entre tuions}}                                ->> entre-tuions
TEST: un {{brise glace}}                                        ->> brise-glace
TEST: entre deux chaises…


__tu_mots_grammaticaux__
    au [delà|dehors|dessous|dessus|devant]
        <<- /tu/ \2.islower() ->> \1-\2                         && Il manque un trait d’union.

................................................................................
TEST: il n’y a pas de raison que les demandes de recouvrement cessent d’{{elles même}}      ->> elles-mêmes
TEST: Un autre chantier important, celui si sensible de la préservation des données personnelles des élèves


__tu_locutions__
    [à|a] [la|là] [va|vas|vat] vite
        <<- /tu/ ->> à la va-vite                               && Il manque un trait d’union.
        <<- /tu/ !3>>

    [à|a] tout [va|vas|vat]
        <<- /tu/ ->> à tout-va                                  && Il manque un trait d’union.

    [à|a] contre [>cœur|coeur]
        <<- /tu/ ->> à contre-cœur|à contrecœur                 && Mettez un trait d’union ou soudez.

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

    par ci ?,¿ par là
        <<- /tu/ ->> par-ci par-là|par-ci, par-là               && Traits d’union manquants.

    vis [à|a] vis
        <<- /tu/ ->> vis-à-vis                                  && Il manque les traits d’union.

TEST: on a fait {{à la va vite}}…                                               ->> à la va-vite
TEST: partir {{à contre cœur}}                                                  ->> à contre-cœur|à contrecœur
TEST: Ils font des tests {{à tout va}}                                          ->> à tout-va
TEST: nous irons là-bas {{après demain}}.                                       ->> après-demain
TEST: Mieux qu’{{avant hier}}.                                                  ->> avant-hier
TEST: {{ci dessous}}, les égouts                                                ->> ci-dessous
TEST: {{ci dessus}}                                                             ->> ci-dessus
TEST: {{ci devant}}.                                                            ->> ci-devant
TEST: elles vont viennent {{de ci, de là}}.                                     ->> de-ci, de-là|de-ci de-là
TEST: {{en contre bas}}                                                         ->> en contrebas|en contre-bas
TEST: {{en contre point}},                                                      ->> en contrepoint
TEST: être {{en porte à faux}}                                                  ->> en porte-à-faux
TEST: des tractations {{en sous main}}                                          ->> en sous-main
TEST: il s’était amélioré {{entre temps}}                                       ->> entre-temps
TEST: Il ne connaît pas {{grand chose}} à tout ça.                              ->> grand-chose
TEST: {{ici bas}}, n’attends rien de bon, à moins que…                          ->> ici-bas
TEST: {{jusque là}}, tout va bien                                               ->> jusque-là
TEST: {{Là bas}}.                                                               ->> Là-bas
TEST: elle viendra, {{n’est ce pas}} ?                                          ->> n’est-ce pas
TEST: {{N’est ce pas}}                                                          ->> N’est-ce pas
TEST: seulement par {{ouï dire}}.                                               ->> ouï-dire
TEST: {{par derrière}} la maison                                                ->> par-derrière
TEST: Tout ce que nous faisons {{par ci, par là}}.                              ->> par-ci, par-là|par-ci par-là
TEST: {{par dessus}}                                                            ->> par-dessus
TEST: Que vas-tu faire {{vis à vis}} d’eux                                      ->> vis-à-vis


__tu_arrière_grand_parent__
    >arrière >grand >tante
        <<- /tu/ ->> arrière-grand-tante|arrière-grands-tantes      && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >grand >mère
        <<- /tu/ ->> arrière-grand-mère|arrière-grands-mères        && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >grand >oncle
        <<- /tu/ ->> arrière-grand-oncle|arrière-grands-oncles      && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >grand >parent
        <<- /tu/ ->> arrière-grand-parent|arrière-grands-parents    && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >grand >père
        <<- /tu/ ->> arrière-grand-père|arrière-grands-pères        && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >petit >enfant
        <<- /tu/ ->> arrière-petit-enfant|arrière-petits-enfants    && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >petit >fille
        <<- /tu/ ->> arrière-petite-fille|arrière-petites-filles    && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >petit >fils
        <<- /tu/ ->> arrière-petit-fils|arrière-petits-fils         && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >petit >neveu
        <<- /tu/ ->> arrière-petit-neveu|arrière-petits-neveux      && Mettez des traits d’union.
        <<- !2:3>>

    >arrière >petit >nièce
        <<- /tu/ ->> arrière-petite-nièce|arrière-petites-nièces    && Mettez des traits d’union.
        <<- !2:3>>

    [grand+s] [>oncle|>père|>mère|>parent|>tante]
        <<- /tu/ not morph(<1, ">arrière/") ->> \1-\2               && Il manque un trait d’union.

TEST: son {{arrière grande tante}}                                              ->> arrière-grand-tante|arrière-grands-tantes
TEST: son {{arrière grand mère}}                                                ->> arrière-grand-mère|arrière-grands-mères
TEST: un {{arrière grand oncle}}                                                ->> arrière-grand-oncle|arrière-grands-oncles
TEST: un {{arrière grand parent}}                                               ->> arrière-grand-parent|arrière-grands-parents
TEST: un {{arrière grand père}}                                                 ->> arrière-grand-père|arrière-grands-pères
TEST: nos {{arrière petits enfants}}                                            ->> arrière-petit-enfant|arrière-petits-enfants
TEST: son {{arrière petite fille}}                                              ->> arrière-petite-fille|arrière-petites-filles
TEST: mon {{arrière petit fils}}                                                ->> arrière-petit-fils|arrière-petits-fils
TEST: un {{arrière petit neveu}}                                                ->> arrière-petit-neveu|arrière-petits-neveux
TEST: ton {{arrière petite nièce}}                                              ->> arrière-petite-nièce|arrière-petites-nièces
TEST: mes deux {{grands pères}} sont décédés                                    ->> grands-pères


__tu_substantifs!7__
    l’ à [côté|coup|peu-près|pic|plat-ventrisme|propos|valoir]
        <<- /tu/ -2:0>> \2-\3                                   && Mettez des traits d’union pour ces noms communs.

    l’ à peu près
        <<- /tu/ -2:0>> \2-\3-\4                                && Mettez des traits d’union pour ce nom commun.
................................................................................

    [aller+s] >retour
        <<- /tu/ ->> \1-\2                                      && Il manque un trait d’union.

    >arc en ciel
        <<- /tu/ ->> \1-\2-\3                                   && Il manque les traits d’union.































    >assurance >vie
        <<- /conf/ morph(<1, ":D") ->> \1-vie                   && Il manque un trait d’union.|https://fr.wiktionary.org/wiki/assurance-vie

    au jour d’ [hui+s|oui|huit]
    [au-jour-d’hui+s]
    au-jour d’ [hui+s|oui|huit]
        <<- /tu/ ->> aujourd’hui
        && Soudez. “Aujourd’hui” : agglutination de l’ancienne locution ‹au jour d’hui›, dont le terme ‹hui› signifiait autrefois “en ce jour”.|https://fr.wiktionary.org/wiki/aujourd%E2%80%99hui

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

    gagne >pain
        <<- /tu/ not morph(<1, ":O[sv]") ->> gagne-pain         && Il manque un trait d’union.

    goutte [à|a] goutte
        <<- /tu/ morph(<1, ":D") ->> goutte-à-goutte            && S’il s’agit d’un nom, mettez des traits d’union.




    [gratte+s] >ciel
        <<- not value(<1, "|il|elle|on|iel|je|tu|ne|n’|") ->> gratte-ciel       && Il manque un trait d’union.|https://fr.wiktionary.org/wiki/gratte-ciel

    lèse majesté
        <<- /tu/ ->> \1-\2                                      && Il manque un trait d’union.

    n [ième+s|ieme+s|ème+s|eme+s]
................................................................................

    pas de porte
        <<- /tu/ morph(<1, ":D") ->> pas-de-porte               && Il manque un trait d’union.|https://fr.wiktionary.org/wiki/pas-de-porte

    >pied [à|a] terre
        <<- /tu/ morph(<1, ":D") ->> \1-à-terre                 && Il manque les traits d’union.

    [plate+s] >forme
        <<- /tu/ ->> plate-forme|plates-formes|plateforme|plateformes       && Il manque un trait d’union. Vous pouvez aussi souder les deux mots.

    presque [>île|>ile]
        <<- /tu/ ->> presqu’\2                                  && Une presqu’île, en un seul mot.|https://fr.wiktionary.org/wiki/presqu%E2%80%99%C3%AEle

    [prêt+s] [à|a] porter
        <<- /tu/ morph(<1, ":D") ->> \1-à-porter                && Il manque les traits d’union.
................................................................................

    >prêt [bail+s]
        <<- /tu/ ->> prêt-bail|prêts-bails                      && Il manque un trait d’union.

    >prêt [>relai|relais]
        <<- /tu/ ->> prêt-relai|prêt-relais|prêts-relais        && Il manque un trait d’union.

    quelques [un+s|une+s]
        <<- /tu/ \2.endswith("s") or \2.endswith("S") ->> quelques-\2       && Il manque un trait d’union.
        <<- /tu/ __else__ ->> quelques-\2s                                  && Il manque un trait d’union.

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

    >tête [à|a] >tête
        <<- /tu/ morph(<1, ":D") ->> tête-à-tête                && Il manque les traits d’union.

    trompe l’ [œil|oeil]
        <<- /tu/ morph(<1, ">en/|:D") ->> trompe-l’œil          && Il manque un trait d’union.

    [va|vas] et [vient|viens]
        <<- /tu/ morph(<1, ":D.*:[me]") ->> va-et-vient         && Il manque les traits d’union.

    vice [>amiral|>président|>roi|>reine|>chancelier]
        <<- /tu/ ->> vice-\2                                    && Il manque un trait d’union.

    week [end+s]
        <<- /tu/ ->> week-\2                                    && Il manque un trait d’union.

TEST: l’{{à propos}} n’est pas si facile à acquérir.                            ->> à-propos
TEST: cet {{après midi}}, on s’en va.                                           ->> après-midi
TEST: un {{après midi}} comme un autre                                          ->> après-midi
TEST: on ne fait que de l’{{à peu près}}                                        ->> à-peu-près
TEST: concours d’{{à plat ventrisme}} à l’UMP                                   ->> à-plat-ventrisme
TEST: marre de faire des {{allers retours}}                                     ->> allers-retours
TEST: regarde l’{{arc en ciel}}                                                 ->> arc-en-ciel










TEST: vendeur d’{{assurances vie}}                                              ->> assurances-vie
TEST: {{au jour d’hui}}                                                         ->> aujourd’hui
TEST: je déteste le {{basket ball}}                                             ->> basket-ball
TEST: sur le {{bas côté}}                                                       ->> bas-côté|bas-côtés
TEST: les {{beaux arts}}                                                        ->> beaux-arts
TEST: marre de ces {{blancs becs}} qui croient tout savoir                      ->> blanc-bec|blancs-becs
TEST: {{le}} {{bouche à oreille}}                                               ->> la|||bouche-à-oreille
TEST: au {{céder le passage}}                                                   ->> cédez-le-passage
TEST: un {{cessez le feu}}                                                      ->> cessez-le-feu
TEST: {{chef lieu}} de ce canton                                                ->> chef-lieu
TEST: un {{chassé croisé}}                                                      ->> chassé-croisé|chassés-croisés
TEST: ne vois-tu pas que c’est un {{chef d’œuvre}} ?                            ->> chef-d’œuvre
TEST: ils sont allés au {{centre ville}}.                                       ->> centre-ville|centres-villes
TEST: un {{château fort}} n’est pas une demeure confortable                     ->> château-fort
TEST: des {{châteaux forts}}                                                    ->> châteaux-forts
TEST: un {{coffre fort}}                                                        ->> coffre-fort
TEST: des {{coffres forts}}                                                     ->> coffres-forts
TEST: un {{compte goutte}}                                                      ->> compte-gouttes|comptes-gouttes

TEST: {{copié/coller}}                                                          ->> copier-coller|copié-collé|copiés-collés|copiée-collée|copiées-collées
TEST: encore un {{cul de sac}}                                                  ->> cul-de-sac
TEST: Le {{moto club}} était sur le point de faire faillite.                    ->> motoclub|moto-club|club moto
TEST: J’ai beaucoup de {{déjà vu}}.                                             ->> déjà-vu
TEST: L’{{état major}} n’a pas encore tranché la question.                      ->> état-major
TEST: Le {{face à face}} entre les forces de l’ordre et les manifestants        ->> face-à-face
TEST: ces {{fiers à bras}} vont encore se prendre une raclée mémorable          ->> fiers-à-bras
TEST: {{gagne pain}} de merde                                                   ->> gagne-pain
TEST: perfusé par des {{goutte à goutte}}                                       ->> goutte-à-goutte

TEST: ces {{gratte ciel}}                                                       ->> gratte-ciel
TEST: un crime de {{lèse majesté}}                                              ->> lèse-majesté
TEST: pour {{la}} {{n ième}} fois                                               ->> le|||n-ième|n-ièmes
TEST: les {{n uplets}}                                                          ->> n-uplets
TEST: elles sont allées au {{sud ouest}}                                        ->> sud-ouest

TEST: {{nord est}}                                                              ->> nord-est
TEST: ils sont partis {{outre mer}}                                             ->> outre-mer
TEST: La papesse du {{prêt à porter}} viendra demain.                           ->> prêt-à-porter
TEST: il loge dans un {{pied à terre}} misérable                                ->> pied-à-terre
TEST: sur cette {{plate forme}}, rien ne fonctionne                             ->> plate-forme|plates-formes|plateforme|plateformes
TEST: une {{presque île}}                                                       ->> presqu’île
TEST: sur son {{pas de porte}}                                                  ->> pas-de-porte
TEST: une {{plus value}}                                                        ->> plus-value
TEST: combien de {{plu value}}                                                  ->> plus-value|plus-values
TEST: Un énorme {{plus value}}.                                                 ->> plus-value
TEST: Versez des {{pots de vin}} s’il le faut.                                  ->> pots-de-vin
TEST: ils ont fait un {{prêt relai}}                                            ->> prêt-relai|prêt-relais|prêts-relais

TEST: un {{prêt bail}}                                                          ->> prêt-bail|prêts-bails
TEST: je connais le {{ras le bol}}                                              ->> ras-le-bol
TEST: {{Quelques unes}} sont très habiles.                                      ->> Quelques-unes
TEST: {{quelques un}} seront blâmés, les autres pardonnés                       ->> quelques-uns

TEST: des {{rendez vous}}                                                       ->> rendez-vous
TEST: un Mars par {{rendez vous}}                                               ->> rendez-vous
TEST: Habiter au {{rez de chaussée}}, quelle horreur.                           ->> rez-de-chaussée
TEST: encore un {{rond point}}                                                  ->> rond-point|ronds-points
TEST: J’en ai ma claque de ces {{ronds de cuir}}                                ->> ronds-de-cuir
TEST: agis toujours avec {{sang froid}}                                         ->> sang-froid
TEST: C’est de la {{science fiction}}.                                          ->> science-fiction
TEST: des {{stock options}}                                                     ->> stock-options
TEST: Tout ce {{soi disant}} esprit religieux                                   ->> soi-disant
TEST: implications {{sous jacentes}}                                            ->> sous-jacentes
TEST: c’est du {{sur mesure}}                                                   ->> sur-mesures
TEST: leur {{terre plein}}                                                      ->> terre-plein

TEST: C’est un peu trop {{tape à l’œil}} comme couleur, tu ne trouves pas ?     ->> tape-à-l’œil
TEST: beaucoup de {{tête à tête}}                                               ->> tête-à-tête
TEST: {{un}} {{trompe l’œil}}                                                   ->> une|||trompe-l’œil
TEST: un {{va et vient}} incessant me casse la tête                             ->> va-et-vient

TEST: Il a été nommé {{vice président}}                                         ->> vice-président
TEST: un super {{week end}}                                                     ->> week-end
TEST: en avoir ras le bol de ces conneries
TEST: Ils versent dans leur terre plein de poisons.
TEST: il va et vient sans mot dire
TEST: commencez par cesser le feu
TEST: ici, il convient de céder le passage
TEST: ils finiront par céder le passage


__tu_chez_pronom__
    mon chez moi
................................................................................
    [son|leur] chez [lui|elle]
    [un|ce|son|leur|leurs] chez soi
    notre chez nous
    votre chez vous
    [leur|leurs] chez [eux|elles]
        <<- /tu/ -2:3>> \2-\3                                       && Dans le cas de figure où chez soi est utilisé comme nom, il faut mettre un trait d’union.

TEST: c’est mon {{chez moi}}                                            ->> chez-moi
TEST: c’est ton {{chez toi}}.                                           ->> chez-toi
TEST: c’est notre {{chez nous}}                                         ->> chez-nous
TEST: chez soi, rien d’impersonnel.


__tu_va_t_en__
    [va+s] t [en|>an]
    [va+s] [t-en|>tan]
    va-t [en|>an]
................................................................................
    Anne [Catherine|Charlotte|Christine|Claire|Cécile|Flore|Gaëlle|Gaelle|France|Laure|Line|Lise|Lyne|Lyse|Marie|Sophie]
    Jean [Alain|Antoine|André|Baptiste|Benoit|Bernard|Charles|Christophe|Christian|Claude|Damien|Daniel|David|Denis|Dominique|Édouard|Edouard|Emmanuel|Étienne|Éric|Eric|Eudes|Francis|François|Frédéric|Gabriel|Georges|Guillaume|Hugue|Jacques|Joseph|Louis|Laurent|Loup|Luc|Manuel|Marc|Marcel|Marie|Mathieu|Maurice|Max|Michel|Noël|Patrice|Paul|Philippe|Pierre|Rémi|René|Raymond|Robert|Vincent|Yves]
    Jésus Christ
    Marie [Agnès|Alice|Aline|Amélie|Andrée|Ange|Angelle|Anne|Antoinette|Annick|Astrid|Aude|Béatrice|Bénédicte|Bernadette|Camille|Carmen|Caroline|Catherine|Cécile|Céline|Chantal|Charlotte|Christine|Claire|Claude|Dominique|Édith|Edith|Élisabeth|Élise|Émilie|Émmanuelle|Eve|Ève|France|Françoise|Gabrielle|Gaëlle|Geneviève|Jeanne|Joëlle|José|Josée|Josèphe|Julie|Hélène|Isabelle|Laure|Laurence|Line|Lise|Lyne|Lyse|Lou|Louise|Luce|Odile|Madeleine|Martine|Noëlle|Paule|Pascale|Renée|Rose|Sophie|Thérèse|Véronique|Yvonne]
    Pierre [Adrien|Alain|Alexandre|André|Antoine|Édouard|Edouard|Émmanuel|François|Jean|Henri|Louis|Luc|Marie|Nicolas|Olivier|Yves]
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

TEST: J’ai vu {{Anne Marie}}.                                           ->> Anne-Marie
TEST: Elle a quitté {{Jean Paul}}.                                      ->> Jean-Paul
TEST: {{Jésus Christ}}, dernier héros de l’Antiquité                    ->> Jésus-Christ
TEST: {{Marie Hélène}} s’est perdue dans le dédale                      ->> Marie-Hélène
TEST: {{Pierre Alexandre}} nous prend pour des cons                     ->> Pierre-Alexandre


__tu_toponymes__
    Aix en Provence
    [Île|Ile] de France
    Pas de Calais
    Saône et Loire
        <<- /tu/ ->> \1-\2-\3                                                                       && Il manque les traits d’union.

    Clermont-Ferrant
    Clermont [Ferrant|Ferrand]
        <<- /tu/ ->> Clermont-Ferrand                                                               && Ville de Clermont-Ferrand.

    Colombie britannique
        <<- /tu/ ->> Colombie-Britannique                                                           && Il manque un trait d’union.
        <<- !2>>

    Bosnie Herzégovine
    Charente Maritime

    États Unis
    Franche Comté
    Grande Bretagne
    Haute [Garonne|Loire|Marne|Normandie|Corse|Vienne]
    Maison Blanche
    Moyen Orient
    Nouveau Brunswick
    Nouvelle [Zélande|Calédonie|Orléans]
    Rhône Alpes
        <<- /tu/ ->> \1-\2                                                                          && Il manque un trait d’union.

    Mongolie [intérieur+e]
        <<- /tu/ ->> Mongolie-Intérieure                                                            && Il manque un trait d’union. Mongolie-Intérieure : région autonome de Chine.
        <<- !2>>

    [les|des|aux]   Pays Bas
    [<start>|,|(]   Pays Bas  contre
        <<- /tu/ -2:3>> \2-\3                                                                       && Il manque un trait d’union.

    Royaume Uni
        <<- /tu/ ->> Royaume-Uni                                                                    && Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord).
................................................................................
        <<- /tu/ not value(<1, "|<start>|") and morph(\2, ":M") -:>> \1-\2|sainte \2
        && Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “sainte” sans majuscule, sans trait d’union.

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

TEST: Il passe par {{Aix en Provence}}                      ->> Aix-en-Provence
TEST: Qui se souvient de la {{Bosnie Herzégovine}} ?        ->> Bosnie-Herzégovine
TEST: en {{Charente Maritime}}                              ->> Charente-Maritime
TEST: À {{Clermont Ferrand}}                                ->> Clermont-Ferrand
TEST: habiter la {{Colombie Britannique}}                   ->> Colombie-Britannique
TEST: Il fait son stage étudiant aux {{États Unis}}         ->> États-Unis
TEST: Des fromages délicieux de {{Franche Comté}}           ->> Franche-Comté
TEST: Étudier en {{Grande Bretagne}}                        ->> Grande-Bretagne
TEST: La {{Haute Garonne}}                                  ->> Haute-Garonne
TEST: L’{{Île de France}} est surpeuplée.                   ->> Île-de-France
TEST: Un nouveau président à la {{Maison Blanche}}          ->> Maison-Blanche
TEST: La guerre au {{Moyen Orient}}                         ->> Moyen-Orient
TEST: voyage en {{Mongolie intérieur}}                      ->> Mongolie-Intérieure
TEST: Il ne connaît au {{Nouveau Brunswick}}                ->> Nouveau-Brunswick
TEST: Elle a visité la {{Nouvelle Orléans}}                 ->> Nouvelle-Orléans
TEST: Vivre dans le {{Pas de Calais}}                       ->> Pas-de-Calais
TEST: Vivre aux {{Pays Bas}}                                ->> Pays-Bas
TEST: Des vacances en {{Rhône Alpes}}                       ->> Rhône-Alpes
TEST: Émigrer au {{Royaume Uni}}                            ->> Royaume-Uni
TEST: Elle déménage en {{Saône et Loire}}                   ->> Saône-et-Loire
TEST: La station {{Saint Georges}}                          ->> Saint-Georges|saint Georges
TEST: que penser de {{Sainte Catherine}}                    ->> Sainte-Catherine|sainte Catherine
TEST: Elle va prier à {{Ste Catherine}}.


__tu_nombres__
    dix                                                                     [sept|huit|neuf]
................................................................................
TEST: Chez les intellectuels, le mot utopie n’a jamais été synonyme de folie, mais il l’a été pour l’homme de la rue.
TEST: Saoul, je l’ai été chez mon ami, mais après ça allait mieux.


# abyme / abîme
__bs_mettre_en_abyme__
    >mettre en [>abîme|>abime]

        <<- /bs/ -3>> abyme                                                                         && Classiquement, on écrit plutôt “abyme” dans cette expression.|https://fr.wiktionary.org/wiki/mise_en_abyme

TEST: La mise en {{abîme}}.                                                                 ->> abyme


# à date / jusqu’à date
__bs_à_date__
    [>être|>mettre] [a|à] >date
................................................................................
TEST: incessamment {{sous peut}}                                                            ->> sous peu
TEST: ils arrivent {{incessamment sous peu}}.                                               ->> sous peu|bientôt|dans peu de temps|d’un moment à l’autre


# pire
__bs_pire__
    [moins|aussi|plus] >pire
        <<- /bs/ -2>> mauvais|mauvaise|mauvaises            && Tournure erronée : “\1 \2”. Écrivez “mauvais” ou tout autre synonyme (atroce, horrible, raté…).|http://www.academie-francaise.fr/plus-pire-moins-pire

    de mal en >pire
        <<- /loc/ ->> de mal en pis                                 && Locution erronée. Écrivez “de mal en pis”.

    au pire aller
        <<- /bs/ ->> au pis aller                                   && Locution erronée. Écrivez “au pis aller”.|https://fr.wiktionary.org/wiki/au_pis_aller

TEST: c’est plus {{pire}} que tout.                                     ->> mauvais|mauvaise|mauvaises
TEST: il est moins {{pire}} que l’autre.                                ->> mauvais|mauvaise|mauvaises
TEST: elles sont aussi {{pires}} que les autres.                        ->> mauvais|mauvaise|mauvaises
TEST: ils vont {{de mal en pire}}                                       ->> de mal en pis
TEST: {{Au pire aller}}, on s’en passera.                               ->> Au pis aller


# pour de rire
__bs_pour_de_rire__
    pour de rire
        <<- /bs/ ->> pour rire                                      && Tournure erronée (ou enfantine si elle est délibérée).|https://fr.wiktionary.org/wiki/pour_de_rire

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

# pour ne pas que
__bs_pour_ne_pas_que__
    pour ne pas [que|qu’]
        <<- /bs/ ->> _
        && Tournure familière. Par exemple, écrivez “pour qu’il ne vienne pas” plutôt que “pour ne pas qu’il vienne.”|http://www.academie-francaise.fr/pour-pas-que-au-lieu-de-pour-que-ne-pas

TEST: Nous y sommes allés {{pour ne pas qu’}}elle se sente seule.           ->>


# silence assourdissant
__bs_silence_assourdissant__
    silence assourdissant
    silences assourdissants
        <<- /bs/ ->> _                                                                              && Cliché. Locution oxymorique employée à tort et à travers.

TEST: dans un {{silence assourdissant}}                                     ->>


# très / trop
__bs_très_trop_superflu__
    [très|trop] [beaucoup|assez|mieux|pire|meilleur|délicieux|plus|moins]
        <<- /bs/ ->> \2                                                                             && Avec “\2”, l’adverbe “\1” est superflu.

TEST: Je l’aime {{très beaucoup}}.                                          ->> beaucoup


# novlangue
__bs_vidéoprotection__
    >vidéoprotection
    >vidéo-protection
        <<- /bs/ ->> surveillance des populations|surveillance des lieux publics|vidéosurveillance|télésurveillance
        && Novlangue. Terme imaginé par le gouvernement français pour donner une image positive de la vidéosurveillance.|http://fr.wikipedia.org/wiki/Doublepens%C3%A9e

TEST: les méfaits de la {{vidéoprotection}}                                 ->> surveillance des populations|surveillance des lieux publics|vidéosurveillance|télésurveillance


__bs_malgré_que__
    malgré que
        <<- /bs/ not after(" en (?:a|aie|aies|ait|eut|eût|aura|aurait|avait)\\b")
        ->> bien que|quoique                                                                        && La locution “malgré que” est une tournure populaire. Utilisez “bien que” ou “quoique”.

    malgré qu’
        <<- /bs/ not after(" en (?:a|aie|aies|ait|eut|eût|aura|aurait|avait)\\b")
        ->> bien qu’|quoiqu’                                                                        && La locution “malgré que” est une tournure populaire. Utilisez “bien que” ou “quoique”.

TEST: {{Malgré que}} je sois fou.                                           ->> Bien que|Quoique
TEST: {{malgré qu’}}elle soit là.                                           ->> bien qu’|quoiqu’


#([mts]e|[nv]ous) (rappel\w+) (de) <<- word(1) != "ne" and not morph(word(1), ":V")
#   -3>> _                                                     && Expression impropre. « Se rappeler quelque chose » ou « Se souvenir de quelque chose ».
#Se rappelle de l’amour

#enjoindre à qqn de faire qqch
................................................................................


__code_legacy__
    legacy code
    code legacy
        <<- /bs/ ->> code hérité|code reliquat                                                      && Anglicisme superflu.

TEST: c’est du {{legacy code}}.                                             ->> code hérité|code reliquat
TEST: ce {{code legacy}} est un cauchemar                                   ->> code hérité|code reliquat



!!
!!
!!!! Pléonasmes                                                                                   !!
!!
................................................................................
TEST: J’leur en {{veut}} pas, à ces crétins.                    ->> veux
TEST: je t’en {{parlé}}                                         ->> parle|parlais|parlai
TEST: Je est un autre.


__conf_je_non_verbe__
    je  @:¬:(?:V|Ov)
        <<- /conf/ not value(\2, "|soussigné|soussignée|leurs|") and not tag(\1, "eg1mot") and not morph(<1, ":1s|>pronom/") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:1s|Ov)")
        --1>> suis \-1|étais \-1|fus \-1|serai \-1|serais \-1|ai \-1|avais \-1|eus \-1|aurai \-1|aurais \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ -2>> =suggSimil(\2, ":(?:1s|Ov)", False)                                && Incohérence avec “je” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    j’       ?[en|y]¿                                                             @:¬:(?:V|Ov)
    [je|j’]  [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]            @:¬:(?:V|Ov)
    [je|j’]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    [je|j’]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    [je|j’]  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    [je|j’]  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:1s|Ov)")
        --1>> suis \-1|étais \-1|fus \-1|serai \-1|serais \-1|ai \-1|avais \-1|eus \-1|aurai \-1|aurais \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ --1>> =suggSimil(\-1, ":(?:1s|Ov)", False)                              && Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je ne le {{croix}} pas                                    ->> crois|croîs|croie
TEST: Je {{travail}}.                                           ->> travaille
TEST: Je vous {{vraiment}} reconnaissant.                       ->> suis vraiment|étais vraiment|fus vraiment|serai vraiment|serais vraiment|ai vraiment|avais vraiment|eus vraiment|aurai vraiment|aurais vraiment
TEST: je {{vraiment}} content                                   ->> suis vraiment|étais vraiment|fus vraiment|serai vraiment|serais vraiment|ai vraiment|avais vraiment|eus vraiment|aurai vraiment|aurais vraiment
TEST: Je m’en {{fou}}.                                          ->> fous
TEST: Je soussigné, M. X., déclare que…
TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ».
TEST: les pronoms “je” et “tu”


## 2sg
................................................................................
__conf_tu_non_verbe__
    tu                                                                       @:¬:(?:V|Ov)
    tu  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    tu  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    tu  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    tu  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    tu  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not tag(\1, "eg1mot") and not morph(<1, ":(?:2s|V0)|>(?:pronom|à)/") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:2s|Ov)")
        --1>> es \-1|étais \-1|fus \-1|seras \-1|serais \-1|as \-1|avais \-1|eus \-1|auras \-1|aurais \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ --1>> =suggSimil(\-1, ":(?:2s|Ov)", False)                              && Incohérence avec “tu” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: tu {{croix}} que tu sais quelque chose, mais tu ne sais rien.         ->> crois|croîs|croies
TEST: tu la {{croix}} idiote ?                                              ->> crois|croîs|croies
TEST: tu en {{autant}} que possible                                         ->> es autant|étais autant|fus autant|seras autant|serais autant|as autant|avais autant|eus autant|auras autant|aurais autant
TEST: Elles sont à tu et à toi.


## 3sg
__conj_il__
    il  @:V¬:(?:3s|Ov)

        <<- /conj/ not (morph(\2, ":[PQ]") and morph(<1, ":V0.*:3s")) -2>> =suggVerb(\2, ":3s")     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conj/ __also__ and morph(\2, ":3p") -1>> ils                                           && Accord avec “\2”.

    il  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:V¬:(?:3s|Ov)
    il  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:3s|Ov)
    il  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:V¬:3s
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:V¬:3s
    il  ?[ne|n’]¿  [lui|leur|y]                   en                         $:V¬:3s
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conj/ morph(\-1, ":3p") -1>> ils                                                       && Accord avec “\-1”.

TEST: {{Il}} {{accusent}}.                                                          ->> Ils|||accuse
TEST: il {{bus}} du vin.                                                            ->> boit|buvait|but
TEST: Il {{pris}}.                                                                  ->> prend|prit|prenait
TEST: Il {{rougis}}.                                                                ->> rougit|rougissait
TEST: Il {{suivis}}.                                                                ->> suit|suivait|suivit
TEST: Il {{grandis}}.                                                               ->> grandit|grandissait
TEST: Il {{bâtis}}.                                                                 ->> bâtit|bâtissait
TEST: Il {{mues}}.                                                                  ->> mue|meut|mut|mouvait

TEST: {{il}} ne {{pensent}} à rien.                                                 ->> ils|||pense
TEST: il ne la lui {{donné}} pas souvent                                            ->> donne|donnait|donna
TEST: il n’y {{aurais}} plus rien à attendre de la religion et de la politique.     ->> aurait
TEST: il y en {{as}}.                                                               ->> a
TEST: il avait grande impatience de s’y frotter


__conf_il_non_verbe__
    il  @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|ou|si|") and not tag(\1, "eg1mot") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:3s|Ov)")
        --1>> est \-1|était \-1|fut \-1|sera \-1|serait \-1|a \-1|avait \-1|eut \-1|aura \-1|aurait \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ -2>> =suggSimil(\2, ":(?:3s|Ov)", False)                                && Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    il  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    il  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    il  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    il  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:3s|Ov)")
        --1>> est \-1|était \-1|fut \-1|sera \-1|serait \-1|a \-1|avait \-1|eut \-1|aura \-1|aurait \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ --1>> =suggSimil(\-1, ":(?:3s|Ov)", False)                              && Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: il {{et}} parti.                                                      ->> est|hait|ait
TEST: il {{souvent}} malade                                                 ->> est souvent|était souvent|fut souvent|sera souvent|serait souvent|a souvent|avait souvent|eut souvent|aura souvent|aurait souvent
TEST: il nous {{et}} indispensable.                                         ->> est|hait|ait
TEST: Il ne {{travail}} pas le week-end.                                    ->> travaille
TEST: il m’{{arête}} encore une fois avec une impudence insupportable.      ->> arrête
TEST: il n’y {{pas}} beaucoup d’entente entre eux.                          ->> est pas|était pas|fut pas|sera pas|serait pas|a pas|avait pas|eut pas|aura pas|aurait pas

TEST: Il se {{sans}} seul                                                   ->> sent
TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal                 ->> fasse
TEST: il est normal de ne presque pas payer des gens qui effectuent un travail
TEST: il s’en va.


__conj_on__
    on  @:V¬:(?:3s|Ov)

        <<- /conj/ not (morph(\2, ":[PQ]") and morph(<1, ":V0.*:3s")) --1>> =suggVerb(\-1, ":3s")   && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    on  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:V¬:(?:3s|P|Ov)
    on  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:3s|P|Ov)
    on  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:V¬:(?:3s|P)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3s|P)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:3s|P)
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: on {{remué}} beaucoup.                                                        ->> remue|remuait|remua
TEST: on {{refuses}} tout cela                                                      ->> refuse
TEST: on ne se {{bougent}} pas suffisamment                                         ->> bouge


__conf_on_non_verbe__
    on  @:¬:(?:V|Ov)|>ou/
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|n’|m’|t’|s’|") and not value(\-1, "|c’|ce|si|") and not tag(\1, "eg1mot") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:3s|Ov)")
        --1>> est \-1|était \-1|fut \-1|sera \-1|serait \-1|a \-1|avait \-1|eut \-1|aura \-1|aurait \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ -2>> =suggSimil(\2, ":(?:3s|Ov)", False)                                && Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    on  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    on  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|n’|m’|t’|s’|") and not value(\-1, "|c’|ce|") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:3s|Ov)")
        --1>> est \-1|était \-1|fut \-1|sera \-1|serait \-1|a \-1|avait \-1|eut \-1|aura \-1|aurait \-1             && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ --1>> =suggSimil(\-1, ":(?:3s|Ov)", False)                              && Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: on {{et}} parti.                                                              ->> est|ait|hait
TEST: on nous {{et}} indispensable.                                                 ->> est|ait|hait
TEST: on ne {{travail}} pas le week-end.                                            ->> travaille
TEST: on m’{{arête}} encore une fois avec une impudence insupportable.              ->> arrête
TEST: on n’y {{pas}} beaucoup d’entente entre eux.                                  ->> est pas|était pas|fut pas|sera pas|serait pas|a pas|avait pas|eut pas|aura pas|aurait pas
TEST: on est normal de ne presque pas payer des gens qui effectuent un travail
TEST: on s’en va.


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

TEST: ces gens {{on}} {{souvent}} tort.                                     ->> ont|||
TEST: celles-là {{on}} {{vraiment}} un problème avec la religion.           ->> ont|||
TEST: {{on}} {{des}} drôles de manières                                     ->> ont|||
TEST: n’y {{on}} jamais lieu de telles abominations !                       ->> ont
TEST: ces chiens te l’{{on}} donné                                          ->> ont
TEST: Qui {{on}} {{tant}} de malheurs !                                     ->> ont|||tend
TEST: Je voulais qu’on soit ensemble.
TEST: qui on blâme, ce soir ?
TEST: La peur irraisonnée de l’autre est le plus grave danger qu’ont à affronter les civilisations.


__conf_on_ont__
    [<start>|,|/_start_] ?l’¿ (ont) [ne|n’|me|m’|te|se|s’]
    [<start>|,|/_start_] ?l’¿ (ont) [lui|nous|vous] @:[123][sp]¬:G
    [<start>|,|/_start_] ?l’¿ (ont) [leur|le|la|l’] @:[123][sp]¬:(?:G|[NA].*:[si])
    [<start>|,|/_start_] ?l’¿ (ont) @:[123][sp]¬:[GQ]|>(?:envie|charge|peine|affaire|hâte|force|recours|somme)/
        <<- /conf/ -1>> on                                          && Confusion probable : le mot “ont” est une conjugaison du verbe avoir.

    [<start>|,|/_start_] ?l’¿ ont t’
        <<- /conf/ not value(>1, "|il|ils|elle|elles|iel|iels|") --2>> on    && Confusion probable : le mot “ont” est une conjugaison du verbe avoir.

    ~-[oO]nt$
        <<- /conf/ ->> =\1[:-1]                                     && Incohérence : le mot “ont” est une forme conjuguée du verbe “avoir” (par exemple : “ils ont”). Pour le pronom, écrivez “on”.

    [<start>|,|(]  *WORD  ont
        <<- /conf/ space(\2, 1, 1) and not value(\2, "|soit|") and morph(\2, ":3s") and not (tag(\-1, "eg1mot") and morph(\2, ">écrire/"))
        -2:3>> \2-on            && Confusion probable : le mot “ont” est une forme conjuguée du verbe “avoir”. Pour le pronom, écrivez “on” et mettez un trait d’union puisqu’il s’agit d’une question.

TEST: il m’assure qu’{{ont}} ne sait pas s’y prendre                                                                ->> on
TEST: {{ont}} m’assure qu’il n’y en a pas.                                                                          ->> on
TEST: {{Ont}} n’arrive pas à s’en sortir.                                                                           ->> On
TEST: {{Ont}} ne sait jamais quoi faire                                                                             ->> On
TEST: si {{ont}} donne à ces gens, ça n’en finit plus.                                                              ->> on
TEST: {{Ont}} viens !                                                                                               ->> On
TEST: {{Ont}} ne sait pas comment faire.                                                                            ->> On
TEST: ce livre qu’{{ont}} t’apporte                                                                                 ->> on
TEST: ouais, c’est ça, {{ont}} t’assure que c’est vrai                                                              ->> on
TEST: {{Ont}} lui avait donné du temps                                                                              ->> On
TEST: {{Ont}} leur {{prendra}} tout                                                                                 ->> On|||prise|prises
TEST: Qu’importe, {{ont}} leur {{prend}} tout                                                                       ->> on|||prise|prises
TEST: {{peut-ont}} y arriver avec si peu de moyens ?                                                                ->> peut-on
TEST: {{peut ont}} y arriver ?                                                                                      ->> peut-on
TEST: comme ce que l’{{ont}} {{voit}} dans le lien entre polygynie et guerre.                                       ->> on|||vu
TEST: Tout à fait, {{ont}} peut même dire qu’à l’adolescence, ce sont les problèmes de l’enfance qui ressortent.    ->> on
TEST: pour le verbe avoir, écrivez “ont”.
TEST: les politiques de l’offre ont échoué.
TEST: qui n’ont somme toute que le désir de vivre paisiblement
TEST: ces textes, quoi qu’on en pense, ont force de loi.
TEST: s’ils n’ont ne serait-ce qu’un peu de jugeotte, on ne les reverra plus.
TEST: En français, la plupart des noms de métier traditionnellement masculins soit ne disposent pas d’une forme féminine, soit ont des formes féminines anciennes tombées en désuétude.


__conj_ce__
    [ce|c’]             @>(?:devoir|devenir|pouvoir|vouloir|savoir)/:V¬:(?:N|A|3s|P|Q|Ov)
    [ce|c’]  [ne|n’]    @>(?:devoir|devenir|pouvoir|vouloir|savoir)/:V¬:(?:3s|P|Ov)
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [ce|c’]                         @>être/:V¬:(?:N|A|3[sp]|P|Q|Ov)
    [ce|c’]  [le|l’]                @>être/:V¬:(?:N|A|3s|P|Q|Ov)
    [ce|c’]  [ne|n’]  ?[le|l’|en]¿  @>être/:V¬:(?:3[sp]|P|Q|Ov)
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    [c’|ç’]                         @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:que|[bcçdfgjklmnpqrstvwxz].*:N.*:m:[si])/
        <<- /conf/ not tag(\1, "eg1mot") -2>> =suggSimil(\2, ":3s", False)                          && Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: pour toi qui sais tout, ce ne le {{fus}} pas                                                  ->> fut
TEST: ce secret tu, ce {{devais}} être un cauchemar.                                                ->> devait
TEST: Ce peut être un chien ou un chat.
TEST: ce ne peut être aussi stupide.
TEST: ce dut être un cauchemar.
................................................................................
    [<start>|,|(]  [elle|elles|iel|iels|lui|eux]  c’  ?en¿  $:V¬:V0e
        <<- /conj/ -3>> s’                                                      && Confusion. La graphie élidée du pronom « se » s’écrit « s’ ».

    c’ y
    c’ @:V¬>(?:avoir|être|devoir|devenir|pouvoir|vouloir|savoir)/.*:3[sp]
        <<- /conj/ -1>> s’                                                      && Confusion. La graphie élidée du pronom « se » s’écrit « s’ ».




TEST: {{S’en}} était vraiment trop !                                            ->> C’en
TEST: Car {{s’en}} était vraiment fini !                                        ->> c’en
TEST: il {{c’}}en est vite lassé.                                               ->> s’
TEST: elles {{c’}}étaient trop vanté de ses mérites                             ->> s’
TEST: cet homme, perdu dans ses pensées, allait {{c’}}en faire du souci.        ->> s’
TEST: il {{c’}}accoutumait à sa nouvelle fonction.                              ->> s’
TEST: elle {{c’}}anime dès qu’on fait du bruit.                                 ->> s’
TEST: eux {{c’}}étaient pris                                                    ->> s’

TEST: {{c’}}y adonne avec passion                                               ->> s’
TEST: c’était merveilleux.
TEST: lui c’est un objet


__conf_se_être_avoir__
    je  m’  ?[en|y]¿  >avoir
        <<- /conf/ --1>> suis|étais|serai|serais                            && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.

    tu  t’  ?[en|y]¿  >avoir
        <<- /conf/ not morph(<1, ":V0") --1>> es|étais|seras|serais         && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.

    [<start>|,|(]  nous  nous  ?[en|y]¿  >avoir
        <<- /conf/ --1>> sommes|étions|serons|serions                       && Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conf/ -2>> nous,                                               && S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer du sujet les personnes que vous désignez.

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

    s’  ?[en|y]¿  >avoir
        <<- /conf/ morph(\-1, ":[123]p") --1>> sont|étaient|seront|seraient && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conf/ __else__ --1>> est|était|sera|serait                     && Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxiliaire “être”, non “avoir”.
        <<- /conf/ -1>> c’|ç’                                       && Confusion. Avec “\2” (du verbe “avoir”), on utilise le pronom “ce” ou “ça” pour sujet, dont les graphies élidées sont « c’ » et « ç’ ».

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


__conf_ce_qui_verbe__
    ce qui  ?[lui|leur|leurs|nous|vous]¿  (et)  ?@:[WX]¿  ?@:[WX]¿  @:(?:[AQD]|V1.*:Y)
        <<- /conf/ -1>> est                                                     && Confusion probable : “et” est une conjonction de coordination. Pour le verbe “être”, écrivez “est”.

    ce qui  ?[lui|leur|leurs|nous|vous]¿  (étai)  ?@:[WX]¿  ?@:[WX]¿  @:(?:[AQD]|V1.*:Y)
        <<- /conf/ -1>> était                                                   && Confusion probable : “étai” est un nom commun. Pour le verbe “être”, écrivez “était”.
................................................................................
    [<start>|,|(|puisque|lorsque|quand|quoique|combien|qui|pourquoi|comment|où]  vous  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]      $:V¬:2p
    [<start>|,|(|puisque|lorsque|quand|quoique|combien|qui|pourquoi|comment|où]  vous  ?[ne|n’]¿  [lui|leur]                     en                   $:V¬:2p
        <<- /conj/ --1>> =suggVerb(\-1, ":2p")                                                      && Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

    [<start>|,|(|puisque|lorsque|quand|quoique|combien|pourquoi|comment|où]  vous  [le|la|l’|les|en|y]   @:V[123]..t_._[e_][a_]¬:(?:2p|Ov|Y|P)
        <<- /conj/ --1>> =suggVerb(\-1, ":2p")                                                      && Conjugaison possiblement erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

    [<start>|,|(|/_start_]  vous  [aller+s|allé+ses]  ?[$:W|donc]¿  ?$:Ov¿  ?$:Ov¿  $:Y
    [<start>|,|(|/_start_]  vous  [aller+s|allé+ses]  [<end>|,|)]
        <<- /conj/ -3>> allez                                                                       && Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: Vous {{arrivais}} trop tard.                                                                  ->> arriviez
TEST: vous ne l’{{avait}} pas vu.                                                                   ->> aviez
TEST: je crois, vous m’{{avais}} trompé…                                                            ->> aviez
TEST: vous nous {{refuser}} le pardon.                                                              ->> refusez|refusiez|refusâtes
TEST: Vous {{travaillons}}.                                                                         ->> travaillez
TEST: vous {{donné}} du bonheur                                                                     ->> donnez|donniez|donnâtes
TEST: vous {{avançons}}                                                                             ->> avancez
TEST: Vous ne la {{voulait}} pas                                                                    ->> vouliez
TEST: Vous ne {{mangeait}} que des légumes ?                                                        ->> mangiez
TEST: vous l’{{accomplissait}}                                                                      ->> accomplissiez
TEST: vous n’{{aller}} pas assez vite                                                               ->> allez|alliez|allâtes
TEST: vous {{aller}} me fâcher                                                                      ->> allez
TEST: vous {{aller}} la lui donner                                                                  ->> allez
TEST: vous {{aller}} donc être interdit bancaire et vous vous débrouillerez avec les huissiers      ->> allez
TEST: j’irai là où vous {{allée}}                                                                   ->> allez
TEST: vous la rendait avec bienveillance
TEST: vous verrez, ça va vous aller comme un gant


## 3pl
__conj_ils__
    ils  @:V¬:(?:3p|Ov)

        <<- /conj/ not (morph(\2, ":[PQ]") and morph(<1, ":V0.*:3p")) -2>> =suggVerb(\2, ":3p")     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ __also__ and morph(\2, ":3s") -1>> il                                            && Accord avec le terme “\2”.

    ils  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:V¬:(?:3p|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:3p|Ov)
    ils  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:V¬:3p
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:V¬:3p
    ils  ?[ne|n’]¿  [lui|leur]                     en                         $:V¬:3p
        <<- /conj/ --1>> =suggVerb(\-1, ":3p")                                                      && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ morph(\-1, ":3s") -1>> il                                                        && Accord avec le terme “\-1”.

TEST: {{Ils}} {{vienne}} souvent.                           ->> Il|||viennent
TEST: Ils ne m’{{attends}} pas.                             ->> attendent
TEST: {{Ils}} vous le {{donne}}.                            ->> Il|||donnent
TEST: {{Ils}} {{faut}} venir.                               ->> Il|||faillent
TEST: {{ils}} le lui {{donne}}                              ->> il|||donnent
TEST: {{ils}} ne leur en {{veut}} pas.                      ->> il|||veulent
TEST: ils me les {{laissés}}.                               ->> laissent|laissaient|laissèrent



__conf_ils_non_verbe__
    ils  @:¬:(?:V|Ov)|>ou/
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|") and not tag(\1, "eg1mot") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:3p|Ov)")
        --1>> sont \-1|étaient \-1|furent \-1|seront \-1|seraient \-1|ont \-1|avaient \-1|eurent \-1|auront \-1|auraient \-1    && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- __else__ -2>> =suggSimil(\2, ":(?:3p|Ov)", False)                                       && Incohérence avec “ils” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    ils  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    ils  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|") >>>
        <<- /conf/ morph(\-1, ":[WX]") and not hasSimil(\-1, ":(?:3p|Ov)")
        --1>> sont \-1|étaient \-1|furent \-1|seront \-1|seraient \-1|ont \-1|avaient \-1|eurent \-1|auront \-1|auraient \-1    && Incohérence : “\-1” est un adverbe. Manque-t-il un verbe auxiliaire ?
        <<- /conf/ __else__ --1>> =suggSimil(\-1, ":(?:3p|Ov)", False)                              && Incohérence avec “ils” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: ils {{son}} du même bois.                         ->> sont
TEST: ils {{parfois}} très saouls                       ->> sont parfois|étaient parfois|furent parfois|seront parfois|seraient parfois|ont parfois|avaient parfois|eurent parfois|auront parfois|auraient parfois
TEST: Ils {{étai}} partie au restaurant                 ->> étaient
TEST: ils leur {{étai}} indifférent                     ->> étaient
TEST: ils ne lui {{étai}} pas indifférent               ->> étaient
TEST: ils ne lui {{pas}} reconnaissants                 ->> sont pas|étaient pas|furent pas|seront pas|seraient pas|ont pas|avaient pas|eurent pas|auront pas|auraient pas


!!
!!
!!!! Pronoms + incohérences                                                                       !!
!!
!!
................................................................................
TEST: un {{maintient}} difficile.                                                   ->> maintien
TEST: cette {{plaît}} est infectée.                                                 ->> plaie
TEST: ledit {{soutient}} ne vaut rien                                               ->> soutien
TEST: {{ce}} {{rappelle}} n’en finit pas.                                           ->> se|||rappel
TEST: mon {{rackette}} n’a pas porté les fruits espérés.                            ->> racket
TEST: mon {{impacte}}                                                               ->> impact
TEST: ton {{recèle}} avait été dévoilé                                              ->> recel
TEST: un verbe au {{passait}} simple                                                ->> passé|passés|passée|passées|passe|passes|passant|passions
TEST: quel {{impacte}} cela aura-t-il ?                                             ->> impact
TEST: chaque {{désire}} importe.                                                    ->> désir
TEST: l’attuque du {{briguant}}                                                     ->> brigand
TEST: quelqu’un arrive.
TEST: Belle qui tient mon vit captif entre tes doigts.
TEST: Quel serait l’homme capable d’une telle horreur ?
TEST: Une était plus courte que l’autre.


__conf_déterminant_plur_verbe__
    [des|ces|mes|tes|ses|aux]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   && Incohérence avec « \1 » : « \2 » est une forme verbale.

    nos  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                           && Incohérence avec « \1 » : « \2 » est une forme verbale.
        <<- /conf/ __also__ and morph(\2, ":1p") -1>> nous                                          && Vouliez-vous écrire « nous » ? Le terme « \2 » est un verbe conjugué à la 1ʳᵉ personne du pluriel.

    vos  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                           && Incohérence avec « \1 » : « \2 » est une forme verbale.
        <<- /conf/ __also__ and morph(\2, ":2p") -1>> vous                                          && Vouliez-vous écrire « vous » ? Le terme « \2 » est un verbe conjugué à la 2ᵉ personne du pluriel.

    quels  @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir|être)/
        <<- /conf/ \2.islower() and not value(<1, "|le|la|les|")
        -2>> =suggSimil(\2, ":[NA].*:[me]:[pi]", True)                                              && Incohérence avec « \1 » : « \2 » est une forme verbale.

    quelles  @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir|être)/
        <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") and hasSimil(\2, ":[NA]:[fe]:[pi]")
        -2>> =suggSimil(\2, ":[NA].*:[fe]:[pi]", True)                                              && Incohérence avec « \1 » : « \2 » est une forme verbale.

    quelques  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() and not value(\2, "|soient|soit|sois|puisse|puisses|puissent|")
        -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   && Incohérence avec « \1 » : « \2 » est une forme verbale.

    [auxdits|lesdits|desdits]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA].*:[me]:[pi]", True)                                              && Incohérence avec « \1 » : « \2 » est une forme verbale.

    [auxdites|lesdites|desdites]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
................................................................................
TEST: quels {{afflues}} attendre ?
TEST: {{quelles}} {{arrêtes}}
TEST: quels seraient nos avantages ?
TEST: quelles vont être nos chances ?


__conf_à_vconj__
    à  le  @:V¬:[GNAWMBY]
        <<- /conf/ -3>> =suggVerbInfi(\-1)                                                          && Incohérence : après “\1 \2”, le verbe devrait être à l’infinitif.

    à  la  @:V¬:[GNAWMBY]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA].*:[fe]:[si]", True)+"|"+suggVerbInfi(\-1)             && Incohérence : après “\1 \2”, on devrait trouver un substantif féminin (ou un verbe à l’infinitif).

    à  [l’|leur]  @:V¬:[GNAWMBY]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA].*:[si]", True)+"|"+suggVerbInfi(\-1)                  && Incohérence : après « \1 \2 », on devrait trouver un substantif (ou un verbe à l’infinitif).

    à  leurs  @:V¬:[GNAWMBY]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA].*:[pi]", True)                                        && Incohérence : après “\1 \2”, on devrait trouver un substantif pluriel.

    à  [ton|son]  @:V¬:[GNAWMBY]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA].*:[si]", True)                                        && Incohérence : après “\1 \2”, on devrait trouver un substantif.

    à  un  @:V¬:[GNAWMB]
        <<- /conf/ not value(<1, "|un|") -3>> =suggSimil(\3, ":[NA].*:[me]:[si]", True)             && Incohérence : après “\1 \2”, on devrait trouver un substantif masculin.

    à  une  @:V¬:[GNAWMB]
        <<- /conf/ not value(<1, "|une|") -3>> =suggSimil(\3, ":[NA].*:[fe]:[si]", True)            && Incohérence : après “\1 \2”, on devrait trouver un substantif féminin.

TEST: à le {{poussait}}                                                                             ->> pousser
TEST: à la {{finit}}                                                                                ->> finie|finir|finis|fini|finies
TEST: à l’{{imaginions}}                                                                            ->>
TEST: à son {{impacte}}                                                                             ->> impact
TEST: à leur {{profile}}                                                                            ->> profil|profiler
TEST: à un {{employer}}                                                                             ->> employé|employée|employés|employées
TEST: à une {{employer}}                                                                            ->> employée|employé|employés|employées
TEST: à leurs {{finissions}}                                                                        ->> fini|finie|finis|finies
TEST: on les voit un par un devenir prendre un chemin de predition
TEST: une référence à l’astuce de base qui permet d’outrepasser ses droits.
TEST: Le mari répète à l’envi qu’il a découvert la France à travers les mots de sa femme.
TEST: Il reste de nombreux militants sincères à la FI.


__conf_de_vconj__
................................................................................
        -2>> =suggSimil(\2, ":[NA]", True)+"|"+suggVerbInfi(\2)                                     && Incohérence avec « \1 » : “\2” est une forme verbale conjuguée.

TEST: il s’agit de {{mette}} en évidence.
TEST: sa façon de {{nettoyez}} était inefficace.                                            ->> nettoyer|nettoyant


    [de|d’]  [l’|leur]  @:[123][sp]¬:[GNAQ]
        <<- /conf/ not \3.istitle() and not \3.isupper() -3>> =suggSimil(\3, ":[NA].*:[si]", True)  && Incohérence avec « \1 \2 » : “\3” est une forme verbale conjuguée.

TEST: de l’{{arrivait}}
TEST: la production d’électricité par des énergies renouvelables aurait encore augmenté de 7 %, selon les calculs de l’AIE


    [de|d’]  le  *WORD
        <<- /conf/ space(\1, 0, 1) and morph(\3, ":[NAQ].*:[me]", ":[YG]") and not \3.istitle()
            and not (value(\3, "|mal|") and morph(>1, ":Y")) -1:2>> du                              && Incohérence avec « \1 \2 » : “\3” est un nom ou un adjectif.
        <<- /conf/ morph(\3, ":[123][sp]") -3>> =suggVerbInfi(\3)                                   && Incohérence avec « \1 \2 » : “\3” est une forme verbale conjuguée.

TEST: {{de le}} vin                                             ->> du
TEST: il n’est pas interdit de le {{pensait}}                   ->> penser
TEST: que connais-tu de “Le Tambour” ?


    [de|d’]  la  *WORD
        <<- /conf/ morph(\3, ":[123][sp]", ":[NAQ]") and not \3.istitle() >>>
        <<- /conf/ morph(\3, ":V1.*:(?:Iq|Ip:2p)", ":1p") -3>> =suggVerbInfi(\3)                    && Incohérence avec « \1 \2 » : mettez le verbe à l’infinitif (à moins qu’il y ait confusion avec un nom féminin).
        <<- /conf/ __else__ >>>
................................................................................

TEST: d’une {{habille}} de femme
TEST: plus d’un ont été traumatisés
TEST: Plus d’une sont parties aussi vite qu’elles étaient venues


__conf_par_vconj__
    par  ?[le|la|l’|les|leur|leurs]¿  @:[123][sp]¬:[GNA]
        <<- /conf/ not \-1.istitle() --1>> =suggSimil(\-1, ":[NA]", True)                           && Incohérence avec “\1” : “\-1” est une forme verbale.

    par  [un|une]  @:V¬:[GNA]
        <<- /conf/ not \3.istitle() and not value(<1, "|un|une|")
        -3>> =suggSimil(\3, ":[NA]", True)                                                          && Incohérence avec “\1 \2” : “\3” est une forme verbale.

TEST: par {{bloque}} de données
................................................................................

    à  *WORD
        <<- /conf/ \-1.islower() and not value(\-1, "|coté|sont|peu|") >>>
        <<- /conf/ morph(\-1, ":(?:V.......[_z][az].*:Q|V1.*:Ip:2p)", ":[MGWNY]") -1>> a            && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __also__ and morph(\-1, ":V1.*:(?:Ip:2p|Q)", ":N") and not value(<1, "|il|elle|on|n’|les|l’|m’|t’|s’|d’|en|y|lui|nous|vous|leur|")
        --1>> =suggVerbInfi(\-1)                                                                    && Le verbe devrait être à l’infinitif.
        <<- /conf/ __else__ and morph(\-1, ":[123][sp]", "*") and not value(\-1, "|tord|tords|") >>>
        <<- /conf/ morph(\-1, ":V(?:2.*:I[pqs]:3s|1.*:I[pq]:[123]s)", "*") --1>> =suggVerbPpas(\-1, ":m:s")  && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.
        <<- /conf/ __also__ -1>> a                                                                  && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __else__ --1>> _                                                                 && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.

    à  $:W  *WORD
        <<- /conf/ \-1.islower() and not value(\-1, "|sont|peu|") and not value(\2, "|peu|tout|toute|tous|toutes|") >>>
        <<- /conf/ morph(\-1, ":(?:V.......[_z][az].*:Q|V1.*:Ip:2p)", ":[MGWNY]") -1>> a            && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __also__ and morph(\-1, ":V1.*:(?:Ip:2p|Q)", ":N") and not value(<1, "|il|elle|on|n’|les|l’|m’|t’|s’|d’|en|y|lui|nous|vous|leur|")
        --1>> =suggVerbInfi(\-1)                                                                    && Le verbe devrait être à l’infinitif.
        <<- /conf/ __else__ and morph(\-1, ":[123][sp]", "*") and not value(\-1, "|tord|tords|") >>>
        <<- /conf/ morph(\-1, ":V(?:2.*:I[pqs]:3s|1.*:I[pq]:[123]s)", "*") --1>> =suggVerbPpas(\-1, ":m:s")  && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.
        <<- /conf/ __also__ -1>> a                                                                  && Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez “a”.
        <<- /conf/ __else__ --1>> _                                                                 && Incohérence : “\1” est une préposition ; “\-1” est une forme verbale.

TEST: L’homme {{à}} ouvert la boîte.                                                        ->> a
TEST: cette femme {{à}} réellement {{trouvé}}                                               ->> a|||trouver
TEST: Il ne nous reste plus qu’{{à}} {{vérifié}} si votre maquette.                         ->> a|||vérifier
TEST: Je veux {{à}} {{mangé}}.                                                              ->> a|||manger
TEST: Ne pas hésiter {{à}} {{demandé}} des conseils.                                        ->> a|||demander
TEST: cette femme, dans son délire, {{à}} {{jetez}} son argent à la poubelle.               ->> a|||jeter
TEST: Ce que cet homme à {{devient}} aujourd’hui notre problème                             ->>
TEST: ce qui à vraiment {{termine}}                                                         ->>
TEST: cet individu {{à}} {{finit}} par comprendre son erreur.                               ->> a|||fini
TEST: cette femme {{à}} réellement ouvert                                                   ->> a
TEST: la petite {{à}} souvent {{trouvé}} de l’aide auprès de sa grande sœur                 ->> a|||trouver
TEST: la grande {{à}} toujours {{finit}} ses devoirs très tôt                               ->> a|||fini
TEST: l’homme, soit dit en passant, {{à}} toujours {{trouvait}} une solution                ->> a|||trouvé
TEST: Avoir {{à}} {{parlait}} toute la journée, c’est plus que difficile, c’est épuisant.   ->> a|||parlé
TEST: il en a.
TEST: elle en a.
TEST: celle qui à contrario nous a foutu dans la merde.
TEST: ceux qui à Somewhere se sont si mal illustrés.
TEST: en à peine vingt ans
TEST: Les publicités sont peu à peu ouvertes et retirées de leur coffrage.

................................................................................
    a  ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  $:Y
    a  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         $:Y
    a  ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             $:Y
    a  ?[ne|n’]¿  [lui|leur|y]                    en                          $:Y
        <<- /conf/ not value(<1, "|il|elle|iel|on|n’|m’|t’|l’|") and not before("(?i)\\bqu[e’] |n’(?:en|y) +$")
        -1>> à                                                      && Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|https://fr.wiktionary.org/wiki/%C3%A0

TEST: scrupuleux {{a}} n’en toucher qu’une part infime.                             ->> à
TEST: Ne pas hésiter {{a}} {{demander}} des conseils.                               ->> à|||demandé
TEST: Sébastien {{a}} {{demander}} des conseils.                                    ->> à|||demandé

TEST: {{A}} vous lire, on ne sait plus que penser de toutes ces histoires           ->> À


__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: Un tueur {{a}} gages ne s’y prendrait jamais comme ça.                    ->> à
TEST: Ventes {{a}} domicile insatisfaisantes                                    ->> à
TEST: Ce n’est que du vernis {{a}} ongles.                                      ->> à
TEST: le vol {{a}} l’étalage est un fléau.                                      ->> à
TEST: Marre de cette pâte {{a}} pain.                                           ->> à
TEST: c’est une putain d’usine {{a}} gaz.                                       ->> à
TEST: ce produit est notre vache {{a}} lait                                     ->> à

TEST: Nous irons {{tours à tours}} chercher du bois.


__conf_mettre_a_profit_plat__
    [>mettre|>remettre] ?[ceci|cela|ça|tout]¿ (a) [plat|profit]
    [>mettre|>remettre] tout [ceci|cela|ça] (a) [plat|profit]
    [>mettre|>remettre] [mon|ton|son|notre|votre|leur] talent (a) [plat|profit]
................................................................................
TEST: Draps de lit de deux lés.
TEST: Elle habite Vandœuvre-lès-Nancy.


# leurs / leur
__conf_leurs_verbe__
    leurs  @:(?:[123][sp]|Y)¬:[GNAM]
        <<- /conf/ not value(<1, "|les|des|à|par|")
        -1>> leur                                   && Incohérence : “leurs” est un déterminant pluriel censé précéder un substantif pluriel. Pour le pronom devant un verbe, écrivez “leur”.

TEST: je vais {{leurs}} reprendre                                       ->> leur
TEST: je {{leurs}} apprends la programmation                            ->> leur
TEST: après qu’un des leurs ait été gravement blessé par un tir de grenade


................................................................................
        <<- /conf/ -3>> oc                                          && Confusion. Écrivez “langue d’oc”.|https://fr.wiktionary.org/wiki/langue_d%E2%80%99oc

TEST: Les bonnes théories n’ont pas d’explication {{ad oc}}.                ->> ad hoc
TEST: Je ne connais pas la langue d’{{hoc}}.                                ->> oc
TEST: Ne t’insurge donc pas à la pensée que quelques instants puissent t’être nécessaires pour apprendre à lire la langue d’oc.
TEST: Toutes les agences évaluent de façon ad hoc la satisfaction de leur clientèle à l’endroit de leur produit






































































# ou / où
__conf_où_ou__
    <start>  Ou  @:3[sp]¬:Y
        <<- /conf/ -2>> Où                                  && Confusion probable. La conjonction “ou” signale une alternative. Pour évoquer un lieu, un temps ou une situation, écrivez “où”.

    à l’ instant [exact|précis] ou
................................................................................

__conf_soit_soi_soie__
    [<start>|,|(]  sois  @:(?:Os|C)¬:R
    [<start>|,|(]  [soi|>soie]  @:[OC]¬:R
    [<start>|,|(]  [soi|sois|>soie]  [j’|t’|c’|ç’]
        <<- /conf/ -2>> soit                                    && Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction

    [quel|quels|quelle|quelles] que [soi|>soie]
        <<- /conf/ -3>> soit|soient                             && Confusion probable.

    que  sa  soi  @:[WXAQ]
        <<- /conf/ -3>> soit|soie                                               && Confusion. Pour le verbe être au subjonctif, écrivez “soit”. Pour la fibre servant à la confection de textile, écrivez “soie”.

    >être [soi+s|>soie] [moi|toi|lui|elle|nous|vous|eux|iel|iels] ?,¿ [soit|soi+s|>soie]
    >être [soi+s|>soie] [moi|toi|lui|elle|nous|vous|eux|iel|iels] ?,¿ [soit|soi+s|>soie]
................................................................................
TEST: il faut savoir tracer un {{très}}                                             ->> trait
TEST: un très comme il faut monsieur
TEST: je ne les trais pas, mais il le faudrait.
TEST: un trait mal dessiné
TEST: je lui lançais un trait bien piquant
TEST: La jeune femme en noir avait des traits faciaux froids et anguleux


# un / in
__conf_un_in__
    in  $:N:m¬*
        <<- /tu/ not value(<1, "|drive|plug|sit|") -1>> un          && Confusion possible : pour le déterminant désignant quelque chose, écrivez “un”.

TEST: c’est {{in}} stage de réinsertion.                                        ->> un


# un tant soit peu
__conf_un_tant_soit_peu__
    !! un tant soit peu ¡¡
    [un|1] [temps|>tan|tant] [soi|sois|>soie|soit] [peu|peux|peut]
        <<- /loc/ ->> un tant soit peu                              && Confusion. Écrivez “un tant soit peu”.|https://fr.wiktionary.org/wiki/tant_soit_peu

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


# en termes de
__loc_en_termes_de__
    en terme [de|d’]
        <<- /loc/ ->> en termes \3                                  && Dans la locution “en termes de”, mettez “terme” au pluriel.

TEST: {{en terme de}} communication, c’est une véritable catastrophe    ->> en termes de


# tous / tout / toutes
__loc_tous_azimuts__
    tout [azimut|azimuts]
        <<- /loc/ ->> tous azimuts                                  && « Tous azimuts » signifie « dans toutes les directions ».

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

    comme [convenus|convenue|convenues]
        <<- /gn/ -2>> convenu                                                                       && Invariable. Implicitement, comme ce qui était convenu.

    comme [prévue|prévus|prévues]
        <<- /gn/ -2>> prévu                                                                         && Invariable. Implicitement, comme ce qui était prévu.

TEST: il y en a autant que {{prévus}}.                          ->> prévu
TEST: elles sont plus nombreuses plus que {{prévues}}           ->> prévu
TEST: il y a moins de bouffe que {{prévue}}                     ->> prévu
TEST: comme {{annoncés}}, ils sont arrivés                      ->> annoncé
TEST: moins loin que {{prévus}}                                 ->> prévu
TEST: plus rapide que {{prévues}}                               ->> prévu
TEST: autant d’hommes que {{prévus}}                            ->> prévu
TEST: il y en a moins que {{prévues}}                           ->> prévu
TEST: comme {{convenus}}                                        ->> convenu
TEST: comme {{prévus}}                                          ->> prévu
................................................................................
__gn_toute_det__
    toute [celles|les|des|mes|tes|ses|ces]
        <<- /gn/ -1>> toutes                                                                        && Erreur d’accord probable avec “\2”.

    toute [ce|cet]
        <<- /gn/ -1>> tout                                                                          && Erreur d’accord probable avec “\2”.

    toute mon ~^[bcçdfgjklmnpqrstvwxz]
        <<- /gn/ -1>> tout                                                                          && Erreur d’accord probable avec “\2”.

    [<start>|,|(|/_start_]  toute  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,|(|/_start_]  toute  @:[123]p
        <<- /gn/ -2>> toutes                                                                        && Si vous voulez dire “tous” au féminin, écrivez “toutes”.

TEST: {{Toute}} celles qui viendront…                                               ->> Toutes
................................................................................
        <<- ~3:0>> *


__mot_composé_avec_là__
    /-là
        <<- morph(\1, ":[NA]", ":G", 0, -3) ~>> =\1[:-3]




__simplification_des_nombres__
    [vingt|trente|quarante|cinquante|soixante|soixante-dix|septante|quatre-vingt|octante|huitante|quatre-vingt-dix|nonante|mille] et [un|une|onze]
        <<- ~>> \1-et-\3||
        <<- ~2:3>> *
        <<- =>> define(\1, ":B:e:p")

................................................................................
    >grille [de|d’] lecture
    >groupe [de|d’] [discussion|parole|prière|pression|travail]
    >guerre éclair
    >guerre à outrance
    >hall d’ entrée
    >harcèlement [de|d’] rue
    >haussement d’ épaules
    >hépatite [A|B|C|D|E|F|G]
    [héros|>héroïne] [de|d’] guerre
    >heure [sup|sup’]
    >heure [de|d’] pointe
    >histoire à dormir debout
    >histoire avec un [grand|petit] h
    >hochement [de|d’] tête
    >homme [de|d’] [affaires|armes|confiance|exception|État|Église|honneur|lettres|loi|main|paille|paix|parole|pouvoir|valeur]
................................................................................
    >passage à tabac
    >passation [de|d’] pouvoir
    >pâte à [accras|>beignet|>brioche|choux|>crêpe|donuts|frire|galettes|>gaufre|>gâteau|modeler|nouilles|pain|pizza|sel|tarte|tartiner]
    >pâté en [croute|croûte]
    >pavillon [de|d’] chasse
    >peinture à l’ huile
    >peloton d’ exécution
    >pendaison [de|d’] crémaillère
    >périphérique à bande ?[analogique|magnétique]¿
    >personnage [de|d’] roman
    perspectives d’ avenir
    >perte [de|d’] temps ?précieux¿
    >peur [de|d’] tous les diables
    >phase [I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII|XIII|XIV|XV|XVI|XVII|XVIII|XIX|XX|XXI|XXII|XXIII|XXIV|XXV|XXVI|XXVII|XXVIII|XXIX|XXX]
    >piano à queue
................................................................................
    plus $:A que jamais
        <<- ~1>> *
        <<- ~3:4>> *

    [bien|mal|fort] @:[AQW]
        <<- not value(<1, "|un|le|ce|du|mon|ton|son|notre|votre|leur|") ~1>> *

    si  @:[AQW]¬:G
        <<- not (value(\2, "|bien|") and value(>1, "|que|qu’|")) and not value(\2, "|tant|") ~1>> *

    un [chouia|chouïa|rien|tantinet]  ?[trop|plus|moins]¿
        <<- morph(>1, ":A", ":G") ~>> *

    un [brin|minimum|poil|soupçon]  ?[trop|plus|moins]¿
        <<- morph(>1, ":A", ":(?:A.*:[me]:[si]|G)") ~>> *
................................................................................

    [<start>|,|(] ben voyons
        <<- ~2:3>> *

    bien sous tout rapport
    bien sous tous rapports
        <<- morph(<1, ":N", ":D") ~>> *

    [<start>|,|(] car $:G
        <<- ~2>> *

    que , ce [jour|matin|soir|mois|trimestre|semestre|siècle|millénaire]                                                                    , [je|tu|il|on|elle|iel|nous|vous|ils|elles|iels]
    que , cette [seconde|décennie|matinée|minute|heure|journée|nuit|semaine|soirée]                                                         , [je|tu|il|on|elle|iel|nous|vous|ils|elles|iels]
    que , ces [heures|matins|matinées|soirées|nuits|jours|journées|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires] , [je|tu|il|on|elle|iel|nous|vous|ils|elles|iels]
        <<- ~3:4>> *

    chaque [seconde|minute|heure|journée|semaine|année|décennie]  @¬:(?:A.*:[fe]:[si]|Oo|[123][sp])
................................................................................
        && Confusion probable : pour parler de la pente d’une montagne, d’une colline ou, allégoriquement, d’une difficulté à passer, écrivez “côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te

    >longer [la|cette|une] [cote|cotte]
        <<- /conf/ --1>> côte
        && Confusion probable : pour parler d’un rivage ou d’une ligne de relief, écrivez “côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te

    [>côte|>cotte|>cote]  [à|a|á]  [>côte|>cotte|>cote]
        <<- /loc/ ->> côte à côte                                   && Locution adverbiale invariable. Écrivez “côte à côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te_%C3%A0_c%C3%B4te
        <<- ~>> *

TEST: Rien ne vaut une bonne {{cote}} de bœuf.                                              ->> côte
TEST: Elle avait les {{cotes}} cassées.                                                     ->> côtes
TEST: Elles ont passé une radiographie des {{cottes}}.                                      ->> côtes
TEST: Quelle est sa {{côte}} de popularité                                                  ->> cote
TEST: il a réussi à percer sa {{cote}} de mailles.                                          ->> cotte
TEST: Il a la {{côte}} auprès de ses collègues                                              ->> cote
TEST: ils sont {{cotte à cotte}}                                                            ->> côte à côte
TEST: il nous faut encore gravir cette {{cotte}}                                            ->> côte
TEST: nous avions prévu de longer cette {{cote}}                                            ->> côte
TEST: ils vont et viennent, toujours {{cotes a cotes}}…                                     ->> côte à côte
TEST: on a atteint la cote d’alerte.
TEST: Elles avançaient côte à côte.


# cou / coup / coût
__conf_coup_cout_cou2__
    >prendre ces jambes à son >cou
................................................................................
        <<- /conf/ --1>> foi                                                && Confusion probable. Pour évoquer la ferveur (religieuse), écrivez “foi”.|https://fr.wiktionary.org/wiki/foi

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

    ## fois
    [la|une|cette] [prochaine|dernière|première|~ième$] [foi|>foie]
    une bonne [foi|>foie] pour [toute|toutes]
        <<- /conf/ -3>> fois                                                && Confusion probable.|https://fr.wiktionary.org/wiki/fois

TEST: ces gens sont de mauvaise {{fois}}                                    ->> foi
TEST: C’est une personne de bonne {{fois}}.                                 ->> foi
TEST: Mais il a perdu {{fois}} en l’avenir.                                 ->> foi
TEST: sans {{fois}} ni loi                                                  ->> foi
TEST: elle a perdu {{foie}} en Dieu.                                        ->> foi
TEST: J’ai préparé du pâté de {{fois}}                                      ->> foie
TEST: la prochaine {{foi}}, c’est mon tour.                                 ->> fois
TEST: une bonne {{foi}} pour toutes, ça suffit !                            ->> fois
TEST: pour la centième {{foi}}                                              ->> fois


# fond / fonds / fonts
__conf_fond_fonds_fonts__
    [>collecte|>bailleur|>levé|>extorsion|>détournement] de [fond|fonts]
    >collecter des fonts
        <<- /conf/ -3>> fonds                                               && Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).
................................................................................
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.

__gn_une_des_1m__
    une  des  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|G|W|V0|3s)") -1>> un                       && Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.

TEST: il s’agit d’{{un}} {{anagramme}}                          ->> une|||anagrammé
TEST: {{Un}} {{amie}}                                           ->> Une|||ami
TEST: {{un}} des {{chattes}}                                    ->> une|||chats
TEST: {{une}} des {{chats}}                                     ->> un|||chattes
TEST: un {{slashs}}                                             ->> slash
TEST: un {{fromages}}.                                          ->> fromage
TEST: Un {{ballons}}                                            ->> ballon
TEST: Une {{cinglées}}                                          ->> cinglée
................................................................................
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].+:[NA].*:m", ":[efGW]") -1>> ce         && Accord de genre correct, mais euphonie non respectée.|http://fr.wikipedia.org/wiki/Euphonie
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{Cet}} {{idiote}}.                                                       ->> Cette|||idiot
TEST: {{cet}} ballon.                                                           ->> ce
TEST: cet {{oliviers}}                                                          ->> olivier
TEST: elle connaissait de {{cet}} pseudo-prêtresse uniquement de nom.           ->> cette


__gn_cette_1m__
    cette  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =suggCeOrCet(\2)                    && Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.
................................................................................
__gn_det_mas_sing_3m_et__
    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:[me]:s¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[me]:[si])|;C")
        -4>> =suggMasSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.

    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:f¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au masculin singulier.

    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:[me]:p¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au singulier.

TEST: un petit et {{vulgaires}} individu que nous avons vu hier                 ->> vulgaire
TEST: ce sot et ignorante {{abrutie}}                                           ->> abruti
TEST: nul prétentieux et sot {{hommes}} ne réussira                             ->> homme


__gn_mon_ton_son_1m__
................................................................................
        -4>> =suggMasSing(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\4, ":[NAQ].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemSing(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: il brandissait avec fougue son drapeau {{déchirés}}                       ->> déchiré
TEST: mon héritage {{perdue}}                                                   ->> perdu
TEST: comment osez-vous médire de mon héritage {{glorieuse}}                    ->> glorieux
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/ __also__ -4>> =suggMasSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
        <<- /gn/ morph(\2, ":A.*:f:[si]", ":A.*:p") and morph(\4, ":A.*:m:[si]", ":A.*:p")
        -2>> =suggMasSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
        <<- /gn/ __also__ -4>> =suggFemSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.

    [mon|ton|son] *WORD et *WORD  @:[NA].*:p¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au singulier.

TEST: mon {{ignorante}} et {{grande}} {{crétin}} de frère                       ->> ignorant|||grand|||crétine
TEST: son {{ordurier}} et {{sot}} {{abrutie}}                                   ->> ordurière|||sotte|||abruti
TEST: ton éblouissante et {{belles}} imbécile                                   ->> belle
TEST: ton {{amoureux}} et {{merveilleuse}} imbécile                             ->> amoureuse|||merveilleux
TEST: mon {{amoureuse}} et {{merveilleux}} imbécile                             ->> amoureux|||merveilleuse
TEST: son ignorant et sot {{hommes}} que voilà                                  ->> homme
................................................................................
__gn_det_fem_sing_3m_et__
    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:[fe]:s¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[fe]:[si])|;C")
        -4>> =suggFemSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.

    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:m¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au féminin singulier.

    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:[fe]:p¬*
        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au singulier.

TEST: une petite et {{vulgaires}} femme que nous avons vu hier                  ->> vulgaire
TEST: quelle sotte et ignorante {{abruti}}                                      ->> abrutie
................................................................................


#### Quel(le) que soit …

## masculin requis
__gn_quel_que_être_mas_sing__
    quelle que    [soit|soit|sois|soient|fut|fût] [le|ce|cet]      *WORD
    quelle que    [soit|soit|sois|soient|fut|fût] [mon|ton|son]    ~^[bcçdfgjklmnpqrstvwxz]
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [le|ce|cet]      *WORD
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [mon|ton|son]    ~^[bcçdfgjklmnpqrstvwxz]
        <<- /gn/ -1>> quel                                                                  && Accord de genre avec « \-2 \-1 ». Utilisez le masculin.

    quelle que    [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quelle que    [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aâeéèêhiîoôuy]
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quelle qu’ en [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aâeéèêhiîoôuy]
        <<- /gn/ morph(\-1, ":[NA].*:m", ":[fe]") -1>> quel                                 && Accord de genre avec « \-2 \-1 ». Utilisez le masculin.

TEST: {{quelle}} que soit le chien                            ->> quel
TEST: {{Quelle}} que soit mon intérêt.                        ->> Quel
TEST: {{Quelle}} qu’en soit mon intérêt.                      ->> Quel


................................................................................
## féminin requis
__gn_quelle_que_être_fem_sing__
    quel que    [soit|soit|sois|fut|fût] [la|cette|ma|ta|sa]  *WORD
    quel qu’ en [soit|soit|sois|fut|fût] [la|cette|ma|ta|sa]  *WORD
        <<- /gn/ -1>> quelle                                                                && Accord de genre avec « \-2 \-1 ». Utilisez le féminin.

    quel que    [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quel que    [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aâeéèêhiîoôuy]
    quel qu’ en [soit|soit|sois|soient|fut|fût] [notre|votre|leur]  *WORD
    quel qu’ en [soit|soit|sois|soient|fut|fût] [mon|ton|son]       ~^[aâeéèêhiîoôuy]
        <<- /gn/ morph(\5, ":[NA].*:f", ":[me]") -1>> quelle                                && Accord de genre avec « \-2 \-1 ». Utilisez le féminin.

TEST: {{Quel}} que soit la force appliquée.                   ->> Quelle
TEST: {{Quel}} que soit mon aversion                          ->> Quelle
TEST: {{Quel}} que soit cette femme                           ->> Quelle
TEST: {{Quel}} que soit la force appliquée.                   ->> Quelle

................................................................................
TEST: ajoute plein de sel sur ses pâtes
TEST: avoir plein d’argent ne suffit pas toujours à tout résoudre


__gn_groupe_de__
    [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]
        || [>dizaine|>douzaine||>vingtaine|>trentaine|>quarantaine|>cinquantaine|>soixantaine|>centaine|>millier|>million|>milliard|>multitude|>horde]  [de|d’]  *WORD
        <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>(?:fraude|large|long|profondeur|hauteur)/")
        -4>> =suggPlur(\4)                                                                  && Avec « \1 \2 \3… », mettre au pluriel “\4” s’il y en a bien plusieurs.

    [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] >groupe [d’|de] [écoutes|paroles]
        <<- /gn/ -4>> =suggSing(\4)                                                         && Mettez au singulier.

    [>association|>assemblée|>collectif|>collectivité|>groupe|>rassemblement|>regroupement|>réunion|>troupe] [de|d’] [artiste|agriculteur|agricultrice|architecte|automobiliste|citoyen|citoyenne|con|conne|consommateur|consommatrice|enfant|entreprise|femme|fille|garçon|homme|imbécile|infirmier|infirmière|jeune|malfaiteur|médecin|motard|motarde|musicien|musicienne|passionné|passionnée|prostitué|prostituée|touriste|travailleur|travailleuse|vieille|vieillard|vieillarde]
        <<- /gn/ -3>> \3s                                               && Il manque un “s”. Il y en a plusieurs dans un groupe, un rassemblement, une assemblée, etc.
................................................................................
TEST: des centaines de {{bête}} à cornes passèrent devant nous.     ->> bêtes
TEST: une multitude d’{{homme}}                                     ->> hommes
TEST: des groupes de {{paroles}}                                    ->> parole
TEST: ils constituent un groupe de {{passionné}}.                   ->> passionnés
TEST: Ce collectif d’{{artiste}} est très inventif.                 ->> artistes
TEST: les 80 milliards de fraude fiscale
TEST: un groupe de prière
TEST: elle fait environ un mètre de large sur des dizaines de long


__gn_cage_d_escalier__
    >cage d’ escaliers
        <<- /gn/ -3>> escalier                                          && Usuellement, pas de “s” à escalier.

__gn_carnet_de__
    >carnet [de|d’] [chèque|note|timbre|ticket|vacance]
        <<- /gn/ -3>> \3s                                               && Il manque un “s”. Il y en a plusieurs dans un carnet.

__gn_collection_de__
    >collection [de|d’] [autocollant|boîte|blason|bouton|carte|chapeau|chaussure|écusson|étiquette|film|fossile|gravure|jeu|insecte|livre|médaille|moto|papillon|pièce|pierre|pipe|tableau|timbre|voiture]
        <<- /gn/ -3>> =suggPlur(\3)                                     && Il manque un “s”. Il y en a plusieurs dans une collection.

__gn_concours_de_circonstances__
    concours [de|d’] circonstance
        <<- /gn/ -3>> circonstances                                     && Un concours de circonstances signifie qu’il y a plusieurs circonstances.

__gn_confluence_de__
................................................................................

__gn_troupeau_de__
    >troupeau [de|d’] [âne|animal|bœuf|buffle|bovin|bison|con|conne|cheval|chèvre|génisse|mouton|mule|mulet|porc|taureau|touriste|vache|veau]
        <<- /gn/ -3>> =suggPlur(\3)                                     && Il manque un “s”. Il y en a plusieurs dans un troupeau.

__gn_trousseau_de__
    >trousseau [de|d’] [clé|clef]
        <<- /gn/ -3>> \3s                                               && Il manque un “s”. Il y en a plusieurs dans un trousseau.

    >trousseau [de|d’] mariages
        <<- /gn/ -3>> mariage                                           && Mettez au singulier.

TEST: d’un air compassé, il sortit son carnet de {{chèque}}.            ->> chèques
TEST: Elle est passée par la cage d’{{escaliers}}                       ->> escalier
TEST: Rends-moi ma collection de {{film}} !                             ->> films
................................................................................
    à  [ne|n’|en|me|m’|te|t’|se|s’|y]                                       ~..(?:ée?s?|ez|ai[st]?)$
    à  [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    ~..(?:ée?s?|ez|ai[st]?)$
    à  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        ~..(?:ée?s?|ez|ai[st]?)$
    à  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            ~..(?:ée?s?|ez|ai[st]?)$
    à  ?[ne|n’]¿  [lui|leur]                     en                         ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après le pronom “à”, le verbe devrait être à l’infinitif.

TEST: on ne gagne rien {{à les}} {{poussés}} dans leurs derniers retranchements                     ->> aux|a les|||pousser
TEST: à en {{parlé}} sans cesse                                                                     ->> parler
TEST: cette corneille, il pense à la {{dégommée}} avec son fusil                                    ->> dégommer
TEST: à vous {{parlé}} on risque gros                                                               ->> parler
TEST: cela suffit à les {{aimait}}                                                                  ->> aimer
TEST: à ne leur en {{avancé}} que le nécessaire.                                                    ->> avancer
TEST: à l’y {{poussé}}                                                                              ->> pousser

TEST: elle s’engage à ne les lui donner qu’en dernier recours.
TEST: l’idée consiste à la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: à leur plus grand fils, ils ont offert une voiture.
TEST: ça va d’autonome à hautement dépendant
TEST: à lui donner trop d’importance, on façonne notre ennemi
TEST: la pression entre les membres à un moment devient trop importante
TEST: Macron saisit la discorde avec le Brésil pour s’opposer à l’embarrassant accord
................................................................................

!!!! Confusions                                                                                   !!

## on / ont
__conf_on_ont2__
    <start>  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines]  *WORD  on  @:[QDRY]¬:(?:Ov|3s)
        <<- /conf/ morph(\3, ":[NA].*:[pi]", ":G") -4>> ont         && Confusion probable. Accord avec “\2 \3…”. Pour le verbe avoir à la 3ᵉ personne du pluriel, écrivez “ont”.
        <<- !-1>>

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


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


## ou / où
__conf_det_nom_où_pronom__
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [je|j’|tu|il|on|ils]
    <start>  [un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|ton|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines|maints|maintes]  *WORD  ou  [elle|nous|vous|elles|iel|iels]
................................................................................
TEST: vous qui {{donner}} du temps                                          ->> donnez|donniez|donnâtes
TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives          ->> avanciez
TEST: vous qui {{décider}} de l’avenir du peuple.                           ->> décidez|décidiez|décidâtes
TEST: vous “étaler” sera notre plus grande joie.
TEST: je vous donnais votre dû, vous payais mieux que quiconque et vous me faites un procès.
TEST: Du passé chez votre ami vous parvenaient les meilleurs souvenirs.





































!!
!!
!!!! Participes passés: se +être +verbe                                                           !!
!!
!!

................................................................................
TEST: celui-ci déclare être devenu {{fous}}                                                 ->> fou|foutu
TEST: celui-là qui n’aime pas avoir paru plus {{grands}} qu’il ne l’était réellement        ->> grand
TEST: cela qui n’en était pas moins {{absurdes}}                                            ->> absurde
TEST: lui qui affirmait être devenu {{éclairée}}                                            ->> éclairé
TEST: lui qui ne croit rester {{humbles}} en mettant sans cesse en avant ses mérites        ->> humble
TEST: lui qui n’en aimait pas rester {{visibles}}                                           ->> visible
TEST: lequel allait être {{renvoyée}} de l’établissement.                                   ->> renvoyé
TEST: tout peut être {{confondue}}                                                          ->> confondu
TEST: tout ne deviendra pas {{détruite}}                                                    ->> détruit
TEST: tout n’y sera pas {{servies}}                                                         ->> servi
TEST: lui ne voulant être {{retrouvés}}                                                     ->> retrouvé
TEST: lequel renonce à être {{instruite}}                                                   ->> instruit
TEST: il s’efforçait d’être {{humbles}}                                                     ->> humble
TEST: quiconque ne s’efforçait pas de rester {{utiles}} était fusillé.                      ->> utile
TEST: celui qui s’efforce d’être {{humbles}}                                                ->> humble
TEST: celui-là qui ne s’efforçait jamais d’être {{gentille}}                                ->> gentil
TEST: celui-ci qui ne s’y efforcera pas de paraître {{utiles}}                              ->> utile
................................................................................
    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles|/-iel|/-iels]  @:V.......e_.*:Q
        <<- /conf/ morphVC(\1, ">avoir/") -1>> _                && Incohérence. La forme verbale “\2” ne peut pas être utilisée avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.

    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  >avoir  @:V.......e_.*:Q
    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         >avoir  @:V.......e_.*:Q
    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             >avoir  @:V.......e_.*:Q
    [je|j’|tu|il|elle|on|ils|nous|vous|elle|elles|iel|iels]  ?[ne|n’]¿  [lui|leur|y]                    en                          >avoir  @:V.......e_.*:Q
        <<- /conf/ --2>> =suggVerbFrom("être", \-2)             && Incohérence. La forme verbale “\-1” ne peut pas être utilisée avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.

    [ce|celui|celle] [qui|que|qu’] ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  [ait|aie|aies|ai|ais]
    [ce|celui|celle] [qui|que|qu’] ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         [ait|aie|aies|ai|ais]
    [ce|celui|celle] [qui|que|qu’] ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             [ait|aie|aies|ai|ais]
    [ce|celui|celle] [qui|que|qu’] ?[ne|n’]¿  [lui|leur|y]                    en                          [ait|aie|aies|ai|ais]
        <<- /conf/ --1>> est                                    && Confusion probable entre le verbe “avoir” et “être”.

    [ce|celui|celle] qui ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  >été  [@:[YQADR]|<end>|,|)]
    [ce|celui|celle] qui ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         >été  [@:[YQADR]|<end>|,|)]
    [ce|celui|celle] qui ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             >été  [@:[YQADR]|<end>|,|)]
    [ce|celui|celle] qui ?[ne|n’]¿  [lui|leur|y]                    en                          >été  [@:[YQADR]|<end>|,|)]
        <<- /conf/ --2>> était                                  && Confusion probable. L’été est la saison chaude.

    [<start>|,|(|/_start_] [il|elle|on|iel] ?[ne|n’]¿ [l’|les] est @:V......._a.*:Q
        <<- /conf/ --2>> ait                                    && Confusion probable entre le verbe “avoir” et “être”.

TEST: {{Aient-elles}} {{venues}} à la maison.

TEST: {{Ait-il}} arrivé à ses fins ?
TEST: j’{{ai}} arrivé à finir ce programme                                          ->> suis
TEST: je n’{{avais}} pas parti avec eux.                                            ->> étais
TEST: il {{avait}} parti.                                                           ->> était
TEST: ce qui ne l’{{ait}} pas                                                       ->> est
TEST: ce qui {{été}} informe                                                        ->> était
TEST: je ne crois pas qu’elle l’{{est}} donné à son frère                           ->> ait
TEST: Avais-je partie liée avec lui ?
TEST: il n’y a pas mort d’homme, mais il y a mort de meuf.


................................................................................
__conf_à_a2__
    [<start>|,|(]  [je|j’|tu|il|elle|on|ils|elles|iel|iels]   @:V        a
    [<start>|,|(]  [nous|vous]                                @:V¬:Y     a
    [<start>|,|(]  c’                                         >être      a
    [<start>|,|(]  [cela|ceci|celui-ci|celui-là|celle-ci|celle-là|ceux-ci|ceux-là|celles-ci|celles-là]  @:(?:[123][sp]|P)  a
        <<- /conf/ \-1 != "A" --1>> à                               && Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition “à”.

TEST: Ce que je crois, il vient de temps en temps {{a}} la maison.                          ->> à
TEST: Ce que j’ai vu, tu ne donnes jamais rien {{a}} ces hommes.                            ->> à
TEST: ce que nous ne désirons plus, nous les donnons {{a}} ces gens.                        ->> à
TEST: ce qu’il croit, j’arrive {{a}} la gare                                                ->> à
TEST: ce que nous savions, cela venait {{a}} la maison régulièrement.                       ->> à
TEST: ce que je sais, quoiqu’il fasse, c’est {{a}} des années-lumière de réussir.           ->> à
TEST: vous examiner a eu des conséquences imprévues.
TEST: je suis A.


#### être / avoir
__conf_ait_confiance_été_faim_tort!3__
    [es|est] [confiance|conscience|envie|été|peur|faim|hâte|honte|recours|soif|tort]
    [es|est] peine [à|a]
        <<- /conf/ not tagbefore(\1, "_ceque_") and not value(<1, "|tout|d’|l’|") >>>
        <<- /conf/ not tagbefore(\1, "_1s_") -1>> ait               && Confusion probable dans l’expression “avoir \2”. Vous utilisez ici le verbe “être”.
        <<- /conf/ __else__ -1>> ait|aie                            && Confusion probable dans l’expression “avoir \2”. Vous utilisez ici le verbe “être”.

TEST: il est posssible qu’il {{est}} confiance en toi                                       ->> ait
TEST: Je crains qu’il {{est}} peine à trouver le bonheur.                                   ->> ait|aie
TEST: La révolution est crainte.
TEST: Je n’en ai cure.
TEST: Notre communauté vous est redevable.
TEST: l’humour est affaire de culture
TEST: Aller chercher l’air pur à la campagne est peine perdue.
TEST: tout est peine perdue.

................................................................................
TEST: un grand {{ravis}} tous les prix                                                              ->> ravit|ravissait|ravi
TEST: mon chat {{sautes}}                                                                           ->> saute
TEST: cette fille {{bouffes}} comme mille                                                           ->> bouffe
TEST: cette marchande {{marchandes}}                                                                ->> marchande|marchandée
TEST: une crise {{violent}}                                                                         ->> viole
TEST: un cri {{violes}}                                                                             ->> viole
TEST: ton chien {{bouffent}} sans arrêt                                                             ->> bouffe
TEST: cette femme-là {{étaient}} partout.                                                           ->> était|étaye
TEST: une majorité de garçons voient mal comment faire
TEST: un tas de choses pouvaient aller de travers.
TEST: un paquet de gens futés n’y ont vu que du feu.
TEST: Une partie de ces propositions étaient naïves
TEST: tu n’acceptais jamais de danser avec quelqu’un si tu avais refusé à quelqu’un d’autre au début
TEST: des ruisselets, des arbres, une tonnelle qui rappelaient le temps.
TEST: son assurance, sa grâce, son sex-appeal nous permettent de passer sans encombre liquides et rasoirs.
................................................................................
    ils  on
    [eux|ceux|elles|celles]  qui  on
        <<- /conf/ --1>> ont                                    && Confusion probable : “on” est un pronom personnel. Pour la conjugaison du verbe “avoir”, écrivez “ont”.

    [elles|ceux-ci|ceux-là|celles-ci|celles-là]  on
        <<- /conf/ not morph(<1, ":[RV]") -2>> ont              && Confusion probable : “on” est un pronom personnel. Pour la conjugaison du verbe “avoir”, écrivez “ont”.


TEST: j’ai, tu as, ils ont, elles {{on}}                                                            ->> ont
TEST: ces gens-là ils {{on}} {{raison}} plus souvent que la plupart des gens.                       ->> ont|||
TEST: Ils soutiennent ceux qui {{on}} {{tant}} de raisons d’être en colère.                         ->> ont|||tend
TEST: Or parmi celles-ci on trouve typiquement d’un côté les structures


!!
................................................................................
!!!! Quel(le) que soit / quel(le)s que soient                                                     !!
!!
!!

# singulier
__conj_quel_quelle_que_3sg__
    [quel|quelle]  [que|qu’]  >être  [le|la|l’|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD
        <<- /conj/ morph(\3, ":V0e", ":3s") and not ( morph(\3, ":3p") and (value(>1, "|et|") or tag(\5, "_enum_")) )
        -3>> =suggVerb(\3, ":3s")                                                           && Conjugaison erronée. Accord avec “\4 \5”. Mettez “être” à la 3ᵉ personne du singulier.

    [quels|quelles]  [que|qu’]  >être  [le|la|l’|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD
        <<- /conj/ not ( morph(\3, ":3p") and (value(>1, "|et|") or tag(\5, "_enum_")) )
        -1>> =\1[:-1]                                                                       && Accord avec “\4 \5”. Utilisez le singulier.
        <<- /conj/ __also__ and not morph(\3, ":3s") -3>> =suggVerb(\3, ":3s")              && Conjugaison erronée. Accord avec “\4 \5”. Mettez “être” à la 3ᵉ personne du singulier.


TEST: Quel que {{soient}} son passe-temps, il y consacre trop de temps.                             ->> soit
TEST: {{Quels}} que {{soient}} le feu utilisé.                                                      ->> Quel|||soit
TEST: {{Quels}} que soit leur problème, ça n’en finit jamais.                                       ->> Quel
TEST: {{Quelles}} que soit leur voiture, elle tombe constamment en panne.                           ->> Quelle
TEST: Quelles que soient la vitesse et l’efficacité de cette méthode, ça me semble moins abouti que notre solution maison.
TEST: Quels que soient le carnage, l’abomination, le crime commis, nous les poursuivrons.

# pluriel
__conj_quels_quelles_que_3pl__
    [quels|quelles|quel|quelle]  que  >être  [les|ces|mes|tes|ses|nos|vos|leurs]
        <<- /conj/ morph(\3, ":V0e", ":3p") -3>> =suggVerb(\3, ":3p")                       && Conjugaison erronée. Mettez “être” à la 3ᵉ personne du pluriel.

    [quel|quelle]  que  >être  [les|ces|mes|tes|ses|nos|vos|leurs]  *WORD
        <<- /conj/ -1>> \1s                                                                 && Accord avec “\4 \5”. Utilisez le pluriel.

TEST: Quels que {{soit}} les salopards qui ont fait ça.                                             ->> soient
TEST: Quelles que {{sois}} les chaussures que je mets, elles me font mal aux pieds.                 ->> soient
TEST: {{Quel}} que soient les avantages reçus, ce n’est pas assez.                                  ->> Quels
TEST: {{Quelle}} que soient nos problèmes, on en parle toujours trop.                               ->> Quelles



!!
!!
!!!! Modes verbaux                                                                                !!
!!
................................................................................
TEST: J’aimerai ces cours-là autant que les autres.
TEST: J’aimerai la danse et la musique, puisque vous l’exigez.
TEST: Je sais que j’aimerai ça, tout comme lui.


__vmode_j_aurais_aimé_que_vinfi__
    j’  aurai  [aimé|souhaité|préféré|voulu|apprécié|désiré|adoré]  [que|qu’|ne|n’|$:Y]
        <<- /vmode/ -2>> aurais|eusse                           && Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »

TEST: J’{{aurai}} aimé nous offrir ce magnifique cadeau.                                            ->> aurais|eusse
TEST: j’{{aurai}} voulu être un artiste.                                                            ->> aurais|eusse
TEST: j’{{aurai}} préféré ne pas avoir à l’entendre.                                                ->> aurais|eusse
TEST: j’{{aurai}} préféré l’entendre un autre jour.                                                 ->> aurais|eusse
TEST: j’{{aurai}} aimé que vous m’en parliez.                                                       ->> aurais|eusse
TEST: Quand j’en aurai fini avec eux, vous aurez du mal à les reconnaître.
TEST: Quand j’aurai fini ce boulot, je ne sais pas ce que je ferai.
TEST: Quand j’aurai soif et faim, je m’arrêterai.


# Si suivi du conditionnel ou du subjonctif
__vmode_si_sujet_conditionnel_subjonctif__
    [<start>|,|(]  si     [je|j’]                   @:K¬:(?:G|V0|I)
        <<- /vmode/ --1>> =suggVerbTense(\-1, ":Iq", ":1s")                                         && Ce verbe ne devrait pas être au conditionnel.

    [<start>|,|(]  si     tu                        @:K¬:(?:G|V0|I)
        <<- /vmode/ --1>> =suggVerbTense(\-1, ":Iq", ":2s")                                         && Ce verbe ne devrait pas être au conditionnel.

    [<start>|,|(]  si     [elle|on|iel|$:M]         @:K¬:(?:G|V0|I)
    [<start>|,|(]  s’     [il|iel]                  @:K¬:(?:G|V0|I)

        <<- /vmode/ --1>> =suggVerbTense(\-1, ":Iq", ":3s")                                         && Ce verbe ne devrait pas être au conditionnel.

    [<start>|,|(]  si     nous                      @:K¬:(?:G|V0|I)
        <<- /vmode/ --1>> =suggVerbTense(\-1, ":Iq", ":1p")                                         && Ce verbe ne devrait pas être au conditionnel.

    [<start>|,|(]  si     vous                      @:K¬:(?:G|V0|I)
        <<- /vmode/ --1>> =suggVerbTense(\-1, ":Iq", ":2p")                                         && Ce verbe ne devrait pas être au conditionnel.

    [<start>|,|(]  si     [elles|iels]              @:K¬:(?:G|V0|I)
    [<start>|,|(]  s’     [ils|iels]                @:K¬:(?:G|V0|I)
        <<- /vmode/ --1>> =suggVerbTense(\-1, ":Iq", ":3p")                                         && Ce verbe ne devrait pas être au conditionnel.

    [<start>|,|(]  si     [je|j’]                   @:S¬:(?:G|V0|I)
    [<start>|,|(]  si     tu                        @:S¬:(?:G|V0|I)
    [<start>|,|(]  si     [elle|on|iel|$:M]         @:S¬:(?:G|V0|I)
    [<start>|,|(]  s’     [il|iel]                  @:S¬:(?:G|V0|I)
    [<start>|,|(]  si     [nous|vous|elles|iels]    @:S¬:(?:G|V0|I)
    [<start>|,|(]  s’     [ils|iels]                @:S¬:(?:G|V0|I)
        <<- /vmode/ --1>> =suggVerbMode(\-1, ":I", \-2)                                             && Ce verbe ne devrait pas être au conditionnel.

TEST: Si j’{{irais}} le faire                                                                       ->> allais
TEST: Si tu {{prendrais}} sa voiture, ça nous permettrait de passer.                                ->> prenais
TEST: Si Pierre {{avancerait}} sa voiture de quelques mètres, ça nous permettrait de passer.        ->> avançait
TEST: Si nous {{devinerions}} comment le faire                                                      ->> devinions
TEST: si vous {{trouveriez}} ça                                                                     ->> trouviez
TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros.                         ->> mangeaient

TEST: s’il {{mangeât}}, je l’ignore                                                                 ->> mange|mangeait|mangea|mangera


__vmode_si_sujet_conditionnel__
    <start>  si  [je|j’]  >avoir  $:Q  ?,¿  [je|j’|tu|il|on|elle|nous|ce|vous|ils|elles|iel|iels]  $:K
    <start>  si  [je|j’]  >avoir  $:Q  $:D  $:N  ?,¿  [je|j’|tu|il|on|elle|nous|ce|vous|ils|elles|iel|iels]  $:K
    <start>  si  [je|j’]  >avoir  $:Q  ,  $:M  $:K
    <start>  si  [je|j’]  >avoir  $:Q  ,  $:D¬:R  $:N  $:K