Grammalecte  Check-in [f13174d0cc]

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

Overview
Comment:[fr] màj: confusions verbes/non-verbes, +ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256:f13174d0ccb81e2460f004a6816e58f93a1793e4ab5aeb8f602d9e4e56595413
User & Date: olr 2018-12-05 09:17:48
Context
2018-12-05
09:23
[fr] màj: confusions verbes/non-verbes -> suggestions :Ov au lieu de :Oo check-in: 7bc078cc0f user: olr tags: fr, trunk
09:17
[fr] màj: confusions verbes/non-verbes, +ajustements check-in: f13174d0cc user: olr tags: fr, trunk
2018-12-04
18:49
[fr] faux positif check-in: abead3e19f user: olr tags: fr, trunk
Changes

Changes to gc_lang/fr/rules.grx.

632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
...
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
...
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
....
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229

1230
1231
1232
1233
1234
1235
1236
....
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398

4399
4400
4401
4402
4403
4404
4405
....
4409
4410
4411
4412
4413
4414
4415






















4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434














4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
....
4458
4459
4460
4461
4462
4463
4464






















4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481






















4482
4483
4484
4485
4486
4487
4488
4489
4490
4491



4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502


4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
....
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567

4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610




















4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
....
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688

4689

4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
....
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
....
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
....
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
.....
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
.....
12190
12191
12192
12193
12194
12195
12196

12197
12198
12199
12200
12201
12202
12203
    <<- option("typo") ->> \1eux et \1euses|\1euses et \1eux                                        # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: {{nombreux·ses}} sont les profs qui s’indignent de cette situation.   ->> nombreux et nombreuses|nombreuses et nombreux


__[u](typo_écriture_épicène_pluriel_aux_ales)__
    ({w_2})aux[.(/·⋅–—-][tnmcpb]?ale[.)/·⋅–—-]?s  @@0
    <<- option("typo") ->> \1aux et \1ales|\1ales et \1aux|\1al·e·s                                 # Écriture épicène dystypographique et imprononçable. Pour ce cas, il peut être intéressant de faire comme si le pluriel masculin était régulier, ce qui rend l’ensemble prononçable…
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: {{locaux·ales}}                                                   ->> locaux et locales|locales et locaux|local·e·s


__[u](typo_écriture_épicène_pluriel_er_ère)__
................................................................................
TEST: Avec les {{Berlinois.e.s}}                                        ->> Berlinois et Berlinoises|Berlinoises et Berlinois|Berlinois·e·s
TEST: la graphie “{{militant(e)s}}”.
TEST: ces militant·e·s {{acharné}}.
TEST: chez les {{immortel.le.s}}


__[i](typo_écriture_épicène_singulier)__
    ({w_1}[éuitsrn])(?:[-·–—.⋅/]e|[(]e[)])  @@0
    <<- option("typo") and (\1 == "un" or \1 == "Un") ->> un ou une|une ou un                       # Écriture épicène imprononçable. Préférez écrire lisiblement.
    <<- __else__ and option("typo") and not \0.endswith("·e") ->> \1·e                              # Écriture épicène. Utilisez un point médian.
    <<- ~>> \1-e

TEST: je suis {{déconsidéré.e}} par ma hiérarchie.
TEST: il faut en parler à l’{{auteur(e)}} et à son agent.

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

__<s>/typo(typo_espace_manquant_après1)__
    ({w1})[,:]({w_1})  @@0,$  <<- not \1.isdigit() -2>> " \2"                                       # Il manque un espace.
__<s>/typo(typo_espace_manquant_après2)__
    [?!;%‰‱˚»}]({w_1})  @@$  <<- -1>> " \1"                                                       # Il manque un espace.
__<s]/typo(typo_espace_manquant_après3)__
    {w_1}[.]({w_1})  @@$
    <<- (\1.__len__() > 1 and not \1.isdigit() and spell(\1)) or after("^’") -1>> " \1"          # Il manque un espace.

TEST: J’en ai marre,{{ça}} suffit.
TEST: elle est délirante.{{Devine}} ce qu’elle a dit.
TEST: Voilà,{{il}} manque un espace.                                        ->> " il"
TEST: Dernier essai.{{Voilà}}, c’est ça.                                    ->> " Voilà"
TEST: muni de lunettes protectrices et.{{d}}’un casque.
TEST: espace:{{manquant}}                                                   ->> " manquant"
................................................................................

!!
!!
!!!! Dates                                                                                        !!
!!
!!
__[i]/date(date_nombres)__
    (?<!\d[ /.-])(\d\d?)[ /.-](\d\d?)[ /.-](\d\d\d+)(?![ /.-]\d)  @@0,w,$
    <<- not checkDate(\1, \2, \3) and not before("(?i)\\bversions? +$") ->> _                       # Cette date est invalide.
    <<- ~>> =\0.replace(".", "-").replace(" ", "-").replace("\/", "-")

TEST: le {{29 02 2011}}
TEST: le {{40-02-2011}}
TEST: le {{32.03.2018}}
TEST: le {{81/01/2012}}
TEST: 12-12-2012



!!
!!
!!!! Redondances                                                                                  !!
!!
!!
................................................................................
## 1sg
__conj_je__
    je  @:V¬:(?:1s|Ov)
        <<- /conj/ not (morph(\-1, ":[PQ]") and morph(<1, ":V0.*:1s")) >>>
        <<- /conj/ \-1 == "est" or \-1 == "es" -2>> ai|aie|suis     # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.
        <<- /conj/ __else__ --1>> =suggVerb(\-1, ":1s")             # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.

    j’                                                                            @:V¬:(?:1s|Ov)
    j’       [en|y]                                                               @:V¬:(?:1s|Ov)
    [je|j’]  [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]            @:V¬:(?:1s|Ov)
    [je|j’]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:1s|Ov)
    [je|j’]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:V¬:(?:1s|Ov)
    [je|j’]  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:1s|Ov)
    [je|j’]  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:1s|Ov)
        <<- /conj/ \-1 == "est" or \-1 == "es" --1>> ai|aie|suis    # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.
        <<- /conj/ __else__ --1>> =suggVerb(\-1, ":1s")             # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.


TEST: je l’{{est}} perdu de vue.                                ->> ai|aie|suis
TEST: je {{donnerait}} tout pour y parvenir.
TEST: Je le lui {{prend}}.
TEST: Je l’{{apprend}}.
TEST: Je les {{contre-attaques}}.
TEST: Je maudis celui d’entre nous qui {{mens}}.
................................................................................
TEST: Je ne leur en {{veut}} pas.
TEST: Je ne le lui {{achèterait}} pas.
TEST: Je ne l’y {{aie}} pas vu.
TEST: Je ne t’{{attend}} pas.
TEST: J’{{arrivait}} en retard.
TEST: J’m’la {{fumerait}} bien, cette clope.
TEST: J’leur en {{veut}} pas, à ces crétins.
























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

TEST: Tu ne {{ment}} jamais.
TEST: Tu {{a}} mal ?
TEST: Tu ne le lui {{prend}} pas.
TEST: Tu ne m’{{attendra}} pas.
TEST: Jusqu’ici, on a tu le nom de la créature.
TEST: il s’est tu les jours après son agression.
















## 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|Ov)
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3s|Ov)
    il  ?[ne|n’]¿  [lui|leur|y]                   en                         @:V¬:(?:3s|Ov)
        <<- /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 {{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}}.
























__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|Ov)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3s|P|Ov)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:3s|P|Ov)
        <<- /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
























__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’|en]             @>ê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.




TEST: pour toi qui sais tout, ce ne le {{fus}} pas
TEST: ce secret tu, ce {{devais}} être un cauchemar.
TEST: Ce peut être un chien ou un chat.
TEST: ce ne peut être aussi stupide.
TEST: ce dut être un cauchemar.
TEST: ce devra être un véritable expert pour accomplir une tâche aussi difficile.
TEST: ce voudrait être le plus grand bal de tous les temps.
TEST: ce ne pourrait être une chose aussi banale.
TEST: ce serait une honte d’échouer une fois de plus à un test aussi élémentaire.
TEST: ce ne saurait être cet homme…




__conj_c_en!6__
    c’ en  *WORD
        <<- /conj/ morph(\3, ">(?:être|devoir|devenir|pouvoir|vouloir|savoir)/:V", ":3s")
        -3>> =suggVerb(\3, ":3s")                                               # Conjugaison erronée. Accord avec “c’en”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conf/ morph(\3, ":[YP]") or morph(\3, ":V", ">(?:être|devoir|devenir|pouvoir|vouloir|savoir)/")
        -1>> s’                                                                 # Confusion : “c’en” est la forme élidée de “ça en”. Pour la forme pronominale “se”, écrivez “s’en”.

TEST: tu vois, c’en {{étais}} trop pour elles.
TEST: {{c’}}en prendre.
TEST: C’en était malsain.
TEST: C’en devenait trop.
TEST: C’en pouvait être effrayant.

................................................................................
TEST: elle {{c’}}anime dès qu’on fait du bruit.
TEST: {{s’}}{{avait}} fonctionné
TEST: c’était merveilleux.


__conj_mieux_vaut__
    mieux  ?[ne|n’]¿  [vaux|valais|valus|vaudras|vaudrais]
        <<- /conj/ --1>> =\-1[:-1]+"t"                                          # Conjugaison erronée. Accord avec “mieux” : utilisez la 3ᵉ personne du singulier.

TEST: avec toi qui ne sais rien de rien, mieux {{vaux}} ne rien dire.
TEST: Mais là-bas mieux {{valais}} ouvrir sa gueule que se taire.


## 1pl
__conj_nous__
    <start>  nous  @:V¬:(?:G|Y|P|1p|3[sp])
        <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|")
        -3>> =suggVerb(\3, ":1p")                                               # Conjugaison erronée. Accord avec “nous”. Le verbe devrait être à la 1ʳᵉ personne du pluriel.

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

TEST: Nous {{arriverez}} demain.
TEST: Nous {{travaillez}}.
TEST: Et, nous laissant étonnés d’être encore là sans y avoir rien compris,



## 2pl
__conj_vous__
    <start>  vous  @:V¬:(?:G|Y|P|2p|3[sp])
        <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|")
        -3>> =suggVerb(\3, ":2p")                                               # Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

    [<start>|,]  vous  [ne|n’]    [le|la|l’|les|en|y]         @:V¬:2p
    [<start>|,]  vous  ?[ne|n’]¿  [me|m’|nous|vous|lui|leur]  @:V¬:2p
    [<start>|,]  vous  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]  @:V¬:2p
    [<start>|,]  vous  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]      @:V¬:2p
    [<start>|,]  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.

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


## 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 “\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|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3p|Ov)
    ils  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:3p|Ov)
        <<- /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 “\-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.






















## se + incohérence
__conj_se_incohérence__
    [se|s’]  ?[le|la|l’|les|en|y]¿  @:V¬:(?:3[sp]|P)
        <<- /conj/ morph(\-1, ":[12]s") --1>> =suggVerb(\-1, ":3s")             # Conjugaison erronée. Avec le pronom “se”, le verbe ne peut être à la 1ʳᵉ ou 2ᵉ personne du singulier.
        <<- /conj/ __else__ and morph(\-1, ":1p") --1>> =suggVerb(\-1, ":3p")   # Conjugaison erronée. Avec le pronom “se”, le verbe ne peut être à la 1ʳᵉ personne du pluriel.
        <<- /conj/ __else__ and morph(\-1, ":2p") --1>> =suggVerbInfi(\-1)      # Conjugaison erronée. Avec le pronom “se”, le verbe ne peut être à la 2ᵉ personne du pluriel.

TEST: se {{considérez}} comme un génie…
TEST: se {{rencontrerons}} demain grands et petits.
TEST: se {{crois}} élu par Dieu…
TEST: avec ceux se trouvant sur leur chemin
TEST: s’y adonnant à cœur-joie.

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

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

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

    j’          [en|y]                                      @:¬:(?:[123][sp]|Y|P|Ov|X)
        <<- /conf/ -3>> =suggSimil(\3, ":1s", False)                                                # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    j’                                                      @:¬:(?:[123][sp]|Y|P|Ov|X)
        <<- /conf/ -2>> =suggSimil(\2, ":1s", False)                                                # Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: ne l’{{oubli}} pas
TEST: ça ne s’{{oubli}} pas.
TEST: elle ne m’{{oubli}} pas.
TEST: elle ne la {{croix}} pas
TEST: ils me les {{laissés}}.
TEST: ne {{pensée}} rien, jamais
TEST: n’en {{laissée}} que des miettes
TEST: s’y {{intéressé}}
TEST: Il ne {{travail}} pas le week-end.
TEST: Je m’en {{fou}}.
TEST: il m’{{arête}} encore une fois avec une impudence insupportable.
TEST: J’y {{travail}}.
TEST: ç’{{avé}} été dur.
TEST: me {{pronostic}} un cancer dans les trois mois.
TEST: t’{{appel}} l’autre gras, puis on y va.
TEST: te {{mangé}}
TEST: s’y {{accordez}}
TEST: s’en {{approché}}
TEST: m’y {{attaché}}
TEST: je t’en {{parlé}}
TEST: Ne {{dix}} rien.

TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal

TEST: M’enfin, c’est absurde
TEST: il est normal de ne presque pas payer des gens qui effectuent un travail
TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ».
TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter.
TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié.
TEST: Ne parfois pas être celui qui sabote l’ambiance.
TEST: il s’en va.
TEST: C’en est trop !
TEST: T’y viendras, comme tout le monde.
TEST: Nous y voilà enfin.
TEST: T’y voilà propulsé.
TEST: t’en voilà débarrassée.
TEST: N’oublient-ils pas ce qu’ils étaient autrefois…
TEST: Ne presque jamais réussir un plat aussi simple, c’est de l’incompétence pure et simple.
TEST: c’est vous les journalistes qui l’avez écrit


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

    [malgré|dès] [le|la|l’|les|leur|leurs]  @:¬:[GNAWMB]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA]", True)                           # Incohérence : après “\1”, on devrait trouver un groupe nominal.

TEST: malgré l’{{arrête}} qui interdisait le port
TEST: malgré les deux précédentes erreurs


__conf_je_non_verbe__
    je  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not value(\2, "|soussigné|soussignée|") and not morph(<1, ":1s")
        -2>> =suggSimil(\2, ":(?:1s|Oo)", False)                                                    # Incohérence avec “je” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    je  [le|la|l’|les|leur|lui|nous|vous]  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not morph(<1, ":1s") -3>> =suggSimil(\3, ":(?:1s|Oo)", False)                    # Incohérence avec “je” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je {{travail}}.
TEST: Je soussigné, M. X., déclare que…


__conf_tu_non_verbe__
    tu  ?[le|la|l’|les|leur|lui|nous|vous]¿  (@:¬:(?:[123][sp]|O[onw]|X))
        <<- /conf/ not morph(<1, ":(?:2s|V0|R)") -1>> =suggSimil(\1, ":(?:2s|Oo)", 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.
TEST: tu la {{croix}} idiote ?
TEST: Elles sont à tu et à toi.


__conf_il_on_non_verbe__
    [il|on]  @:¬:(?:[123][sp]|O[onw]|X)|>ou/
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|")
        -2>> =suggSimil(\2, ":(?:3s|Oo)", False)                                                    # Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    [il|on]  [le|la|l’|les|leur|lui|nous|vous]  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3s|Oo)", False)                                                    # Incohérence avec “\1” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: il {{et}} parti.
TEST: il nous {{et}} indispensable.


__conf_ils_non_verbe__
    ils  @:¬:(?:[123][sp]|O[onw]|X)|>ou/
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -2>> =suggSimil(\2, ":(?:3p|Oo)", False)                                                    # Incohérence avec “ils” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    ils  [le|la|l’|les|leur|lui|nous|vous]  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3p|Oo)", 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


__conf_préverbes__
    ne n’
        <<- /conf/ not \1.isupper() ->> ne m’|n’                        # Incohérence. Double négation.

    [me|te] [ne|n’|me|m’|te|t’|se|s’]
        <<- /conf/ not \1.isupper() ->> \1                              # Incohérence.
................................................................................

    ont *WORD
        <<- /conf/ morph(<1, ":Cs|<start>")
            and ( value(\2, "|ne|n’|me|m’|te|se|s’|") or morph(\2, ":[123][sp]", ":[QG]|>(?:confiance|envie|peine|prise|crainte|affaire|hâte|force|recours|somme)/") )
        -1>> on                                                     # Confusion probable : “ont” est une conjugaison du verbe avoir.

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

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

    [<start>|,]  *WORD  ont
        <<- /conf/ space_after(\2, 1, 1) and morph(\2, ":3s") -2:3>> \2-on
................................................................................

TEST: {{ont}} m’assure qu’il n’y en a pas.
TEST: {{Ont}} n’arrive pas à s’en sortir.
TEST: {{Ont}} ne sait jamais quoi faire
TEST: si {{ont}} donne à ces gens, ça n’en finit plus.
TEST: {{Ont}} viens !
TEST: {{Ont}} ne sait pas comment faire.
TEST: n’y {{on}} jamais lieu de telles abominations !
TEST: ces chiens te l’{{on}} {{donné}}
TEST: {{Ont}} lui avait donné du temps
TEST: {{Ont}} leur {{prendra}} tout
TEST: Qu’importe, {{ont}} leur {{prend}} tout
TEST: Qui {{on}} {{tant}} de malheurs !
TEST: {{peut-ont}} y arriver avec si peu de moyens ?
TEST: {{peut ont}} y arriver ?
................................................................................
TEST: l’adoption est bien entendu à promouvoir
TEST: Les retours que j’ai sont très différents et dépendent de la sensibilité de chacun
TEST: refuser le voyeurisme teinté de misérabilisme et le mépris de classe en boycottant les émissions racoleuses
TEST: en passant par les “séjours humanitaires” clé en main
TEST: qui sont en majorité moins attentifs à la qualité de la prestation qu’ils proposent aux clients
TEST: Il a une tête de déterré.
TEST: Malgré quelques envolées un brin trop solennelles, tout ce que j’ai dit était très sincère.
TEST: Je constate également qu’il n’y pas beaucoup d’entente entre eux.
TEST: cet appareil supersonique a été conçu pour mener des frappes longue distance
TEST: C’est à mes yeux totalement secondaire.
TEST: les femmes se révoltèrent alors, elles aussi désespérées par ces injonctions contradictoires.
TEST: pouvoir envisager de dîner avec ses enfants à une heure décente plusieurs fois par semaine
TEST: Le vecteur position du point P(t)
TEST: Le vecteur vitesse d’un point d’un solide
TEST: les vecteurs vitesses
................................................................................
            or \1 in aREGULARPLURAL )
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: 00 heure, 01 heure
TEST: il a adopté 1 {{chiens}}.
TEST: 22 {{heure}}
TEST: 3 {{heure}}



##  trouver ça/ceci/cela + adj
__gn_trouver_ça_adj__
    >trouver  [ça|cela|ceci]  @:A.*:(?:f|m:p)¬:(?:G|3[sp]|M)
        <<- /gn/ -3>> =suggMasSing(\3)                                              # Trouver \2 + [adjectif] : l’adjectif s’accorde avec “\2” (au masculin singulier).








|







 







|







 







|







 







|
|







>







 







|
<







>







 







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










|








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





|
|






|
|







 







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




|






|





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




|




|
>
>
>











>
>





|

|







 







|









|

|
|



|




>






|

|
|



|












|
|






|
|







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





|
|
|







 







<
<
<
<
<
<
<
<
<

<
<
<
<



<
<
<








<

>
|
>

<
<
<


<
<

<







 







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







 







|







 







|







 







|







 







>







632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
...
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
...
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
....
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
....
4384
4385
4386
4387
4388
4389
4390
4391

4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
....
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
....
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
....
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
....
4759
4760
4761
4762
4763
4764
4765









4766




4767
4768
4769



4770
4771
4772
4773
4774
4775
4776
4777

4778
4779
4780
4781
4782



4783
4784


4785

4786
4787
4788
4789
4790
4791
4792
....
5073
5074
5075
5076
5077
5078
5079
















































5080
5081
5082
5083
5084
5085
5086
....
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
....
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
.....
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
.....
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
    <<- option("typo") ->> \1eux et \1euses|\1euses et \1eux                                        # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: {{nombreux·ses}} sont les profs qui s’indignent de cette situation.   ->> nombreux et nombreuses|nombreuses et nombreux


__[u](typo_écriture_épicène_pluriel_aux_ales)__
    ({w_2})aux[.(/·⋅–—-][tnmcpbd]?ale[.)/·⋅–—-]?s  @@0
    <<- option("typo") ->> \1aux et \1ales|\1ales et \1aux|\1al·e·s                                 # Écriture épicène dystypographique et imprononçable. Pour ce cas, il peut être intéressant de faire comme si le pluriel masculin était régulier, ce qui rend l’ensemble prononçable…
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: {{locaux·ales}}                                                   ->> locaux et locales|locales et locaux|local·e·s


__[u](typo_écriture_épicène_pluriel_er_ère)__
................................................................................
TEST: Avec les {{Berlinois.e.s}}                                        ->> Berlinois et Berlinoises|Berlinoises et Berlinois|Berlinois·e·s
TEST: la graphie “{{militant(e)s}}”.
TEST: ces militant·e·s {{acharné}}.
TEST: chez les {{immortel.le.s}}


__[i](typo_écriture_épicène_singulier)__
    ({w_1}[éuitsrnldf])(?:[-·–—.⋅/]e|[(]e[)])  @@0
    <<- option("typo") and (\1 == "un" or \1 == "Un") ->> un ou une|une ou un                       # Écriture épicène imprononçable. Préférez écrire lisiblement.
    <<- __else__ and option("typo") and not \0.endswith("·e") ->> \1·e                              # Écriture épicène. Utilisez un point médian.
    <<- ~>> \1-e

TEST: je suis {{déconsidéré.e}} par ma hiérarchie.
TEST: il faut en parler à l’{{auteur(e)}} et à son agent.

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

__<s>/typo(typo_espace_manquant_après1)__
    ({w1})[,:]({w_1})  @@0,$  <<- not \1.isdigit() -2>> " \2"                                       # Il manque un espace.
__<s>/typo(typo_espace_manquant_après2)__
    [?!;%‰‱˚»}]({w_1})  @@$  <<- -1>> " \1"                                                       # Il manque un espace.
__<s]/typo(typo_espace_manquant_après3)__
    {w_1}[.]({w_1})  @@$
    <<- (\1.__len__() > 1 and not \1[0:1].isdigit() and spell(\1)) or after("^’") -1>> " \1"        # Il manque un espace.

TEST: J’en ai marre,{{ça}} suffit.
TEST: elle est délirante.{{Devine}} ce qu’elle a dit.
TEST: Voilà,{{il}} manque un espace.                                        ->> " il"
TEST: Dernier essai.{{Voilà}}, c’est ça.                                    ->> " Voilà"
TEST: muni de lunettes protectrices et.{{d}}’un casque.
TEST: espace:{{manquant}}                                                   ->> " manquant"
................................................................................

!!
!!
!!!! Dates                                                                                        !!
!!
!!
__[i]/date(date_nombres)__
    (?<!\d[ /.-])(\d\d?)([ /.-])(\d\d?)([ /.-])(\d\d\d+)(?![ /.-]\d)  @@0,*,w,**,$
    <<- \2 == \4 and not checkDate(\1, \3, \5) and not before("(?i)\\b(?:version|article)s? +$") ->> _                       # Cette date est invalide.
    <<- ~>> =\0.replace(".", "-").replace(" ", "-").replace("\/", "-")

TEST: le {{29 02 2011}}
TEST: le {{40-02-2011}}
TEST: le {{32.03.2018}}
TEST: le {{81/01/2012}}
TEST: 12-12-2012
TEST: Articles 32.17-918 et 98.17-761


!!
!!
!!!! Redondances                                                                                  !!
!!
!!
................................................................................
## 1sg
__conj_je__
    je  @:V¬:(?:1s|Ov)
        <<- /conj/ not (morph(\-1, ":[PQ]") and morph(<1, ":V0.*:1s")) >>>
        <<- /conj/ \-1 == "est" or \-1 == "es" -2>> ai|aie|suis     # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.
        <<- /conj/ __else__ --1>> =suggVerb(\-1, ":1s")             # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.

    j’       ?[en|y]¿                                                             @:V¬:(?:1s|Ov)

    [je|j’]  [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]            @:V¬:(?:1s|Ov)
    [je|j’]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:V¬:(?:1s|Ov)
    [je|j’]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:V¬:(?:1s|Ov)
    [je|j’]  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:1s|Ov)
    [je|j’]  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:1s|Ov)
        <<- /conj/ \-1 == "est" or \-1 == "es" --1>> ai|aie|suis    # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.
        <<- /conj/ __else__ --1>> =suggVerb(\-1, ":1s")             # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 1ʳᵉ personne du singulier.


TEST: je l’{{est}} perdu de vue.                                ->> ai|aie|suis
TEST: je {{donnerait}} tout pour y parvenir.
TEST: Je le lui {{prend}}.
TEST: Je l’{{apprend}}.
TEST: Je les {{contre-attaques}}.
TEST: Je maudis celui d’entre nous qui {{mens}}.
................................................................................
TEST: Je ne leur en {{veut}} pas.
TEST: Je ne le lui {{achèterait}} pas.
TEST: Je ne l’y {{aie}} pas vu.
TEST: Je ne t’{{attend}} pas.
TEST: J’{{arrivait}} en retard.
TEST: J’m’la {{fumerait}} bien, cette clope.
TEST: J’leur en {{veut}} pas, à ces crétins.
TEST: je t’en {{parlé}}


__conf_je_non_verbe__
    je  @:¬:(?:V|Ov)
        <<- /conf/ not value(\2, "|soussigné|soussignée|") and not morph(<1, ":1s")
        -2>> =suggSimil(\2, ":(?:1s|Oo)", 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|Ov)
    [je|j’]  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    [je|j’]  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /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
TEST: Je {{travail}}.                                       ->> travaille
TEST: Je vous {{tellement}} reconnaissant.
TEST: Je m’en {{fou}}.
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 ».


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

TEST: Tu ne {{ment}} jamais.
TEST: Tu {{a}} mal ?
TEST: Tu ne le lui {{prend}} pas.
TEST: Tu ne m’{{attendra}} pas.
TEST: Jusqu’ici, on a tu le nom de la créature.
TEST: il s’est tu les jours après son agression.


__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|Ov)
    tu  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    tu  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":(?:2s|V0|R)") --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.
TEST: tu la {{croix}} idiote ?
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|Ov)
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3s|Ov)
    il  ?[ne|n’]¿  [lui|leur|y]                   en                         @:V¬:(?:3s|Ov)
        <<- /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 {{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)|>ou/
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|")
        -2>> =suggSimil(\2, ":(?:3s|Oo)", 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|Ov)
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    il  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|")
        --1>> =suggSimil(\-1, ":(?:3s|Oo)", 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 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|Ov)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3s|P|Ov)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:3s|P|Ov)
        <<- /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’|")
        -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’|")
        --1>> =suggSimil(\-1, ":(?:3s|Oo)", 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 est normal de ne presque pas payer des gens qui effectuent un travail
TEST: il 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’|en]             @>ê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/
        <<- /conf/ -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
TEST: ce secret tu, ce {{devais}} être un cauchemar.
TEST: Ce peut être un chien ou un chat.
TEST: ce ne peut être aussi stupide.
TEST: ce dut être un cauchemar.
TEST: ce devra être un véritable expert pour accomplir une tâche aussi difficile.
TEST: ce voudrait être le plus grand bal de tous les temps.
TEST: ce ne pourrait être une chose aussi banale.
TEST: ce serait une honte d’échouer une fois de plus à un test aussi élémentaire.
TEST: ce ne saurait être cet homme…
TEST: C’en est trop !
TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter.


__conj_c_en!6__
    c’ en  *WORD
        <<- /conj/ morph(\3, ">(?:être|devoir|devenir|pouvoir|vouloir|savoir)/:V", ":3s")
        -3>> =suggVerb(\3, ":3s")                                                                   # Conjugaison erronée. Accord avec “c’en”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conf/ morph(\3, ":[YP]") or morph(\3, ":V", ">(?:être|devoir|devenir|pouvoir|vouloir|savoir)/")
        -1>> s’                                                                                     # Confusion : “c’en” est la forme élidée de “ça en”. Pour la forme pronominale “se”, écrivez “s’en”.

TEST: tu vois, c’en {{étais}} trop pour elles.
TEST: {{c’}}en prendre.
TEST: C’en était malsain.
TEST: C’en devenait trop.
TEST: C’en pouvait être effrayant.

................................................................................
TEST: elle {{c’}}anime dès qu’on fait du bruit.
TEST: {{s’}}{{avait}} fonctionné
TEST: c’était merveilleux.


__conj_mieux_vaut__
    mieux  ?[ne|n’]¿  [vaux|valais|valus|vaudras|vaudrais]
        <<- /conj/ --1>> =\-1[:-1]+"t"                                                              # Conjugaison erronée. Accord avec “mieux” : utilisez la 3ᵉ personne du singulier.

TEST: avec toi qui ne sais rien de rien, mieux {{vaux}} ne rien dire.
TEST: Mais là-bas mieux {{valais}} ouvrir sa gueule que se taire.


## 1pl
__conj_nous__
    <start>  nous  @:V¬:(?:G|Y|P|1p|3[sp])
        <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|")
        -3>> =suggVerb(\3, ":1p")                                                                   # Conjugaison erronée. Accord avec “nous”. Le verbe devrait être à la 1ʳᵉ personne du pluriel.

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

TEST: Nous {{arriverez}} demain.
TEST: Nous {{travaillez}}.
TEST: Et, nous laissant étonnés d’être encore là sans y avoir rien compris,
TEST: Nous y voilà enfin.


## 2pl
__conj_vous__
    <start>  vous  @:V¬:(?:G|Y|P|2p|3[sp])
        <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|")
        -3>> =suggVerb(\3, ":2p")                                                                   # Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel.

    [<start>|,]  vous  [ne|n’]    [le|la|l’|les|en|y]                                 @:V¬:2p
    [<start>|,]  vous  ?[ne|n’]¿  [me|m’|nous|vous|lui|leur]                          @:V¬:2p
    [<start>|,]  vous  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]  @:V¬:2p
    [<start>|,]  vous  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]      @:V¬:2p
    [<start>|,]  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.

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


## 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 “\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|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:3p|Ov)
    ils  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?:3p|Ov)
        <<- /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 “\-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’|")
        -2>> =suggSimil(\2, ":(?:3p|Oo)", 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|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3p|Oo)", 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


## se + incohérence
__conj_se_incohérence__
    [se|s’]  ?[le|la|l’|les|en|y]¿  @:V¬:(?:3[sp]|P)
        <<- /conj/ morph(\-1, ":[12]s") --1>> =suggVerb(\-1, ":3s")                                 # Conjugaison erronée. Avec le pronom “se”, le verbe ne peut être à la 1ʳᵉ ou 2ᵉ personne du singulier.
        <<- /conj/ __else__ and morph(\-1, ":1p") --1>> =suggVerb(\-1, ":3p")                       # Conjugaison erronée. Avec le pronom “se”, le verbe ne peut être à la 1ʳᵉ personne du pluriel.
        <<- /conj/ __else__ and morph(\-1, ":2p") --1>> =suggVerbInfi(\-1)                          # Conjugaison erronée. Avec le pronom “se”, le verbe ne peut être à la 2ᵉ personne du pluriel.

TEST: se {{considérez}} comme un génie…
TEST: se {{rencontrerons}} demain grands et petits.
TEST: se {{crois}} élu par Dieu…
TEST: avec ceux se trouvant sur leur chemin
TEST: s’y adonnant à cœur-joie.

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

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










TEST: ne l’{{oubli}} pas




TEST: ne {{pensée}} rien, jamais
TEST: n’en {{laissée}} que des miettes
TEST: s’y {{intéressé}}



TEST: J’y {{travail}}.
TEST: ç’{{avé}} été dur.
TEST: me {{pronostic}} un cancer dans les trois mois.
TEST: t’{{appel}} l’autre gras, puis on y va.
TEST: te {{mangé}}
TEST: s’y {{accordez}}
TEST: s’en {{approché}}
TEST: m’y {{attaché}}

TEST: Ne {{dix}} rien.
TEST: ça ne s’{{oubli}} pas.
TEST: elle ne m’{{oubli}} pas.
TEST: elle ne la {{croix}} pas
TEST: M’enfin, c’est absurde



TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié.
TEST: Ne parfois pas être celui qui sabote l’ambiance.


TEST: T’y viendras, comme tout le monde.

TEST: T’y voilà propulsé.
TEST: t’en voilà débarrassée.
TEST: N’oublient-ils pas ce qu’ils étaient autrefois…
TEST: Ne presque jamais réussir un plat aussi simple, c’est de l’incompétence pure et simple.
TEST: c’est vous les journalistes qui l’avez écrit


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

    [malgré|dès] [le|la|l’|les|leur|leurs]  @:¬:[GNAWMB]
        <<- /conf/ -3>> =suggSimil(\3, ":[NA]", True)                           # Incohérence : après “\1”, on devrait trouver un groupe nominal.

TEST: malgré l’{{arrête}} qui interdisait le port
TEST: malgré les deux précédentes erreurs


















































__conf_préverbes__
    ne n’
        <<- /conf/ not \1.isupper() ->> ne m’|n’                        # Incohérence. Double négation.

    [me|te] [ne|n’|me|m’|te|t’|se|s’]
        <<- /conf/ not \1.isupper() ->> \1                              # Incohérence.
................................................................................

    ont *WORD
        <<- /conf/ morph(<1, ":Cs|<start>")
            and ( value(\2, "|ne|n’|me|m’|te|se|s’|") or morph(\2, ":[123][sp]", ":[QG]|>(?:confiance|envie|peine|prise|crainte|affaire|hâte|force|recours|somme)/") )
        -1>> on                                                     # Confusion probable : “ont” est une conjugaison du verbe avoir.

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

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

    [<start>|,]  *WORD  ont
        <<- /conf/ space_after(\2, 1, 1) and morph(\2, ":3s") -2:3>> \2-on
................................................................................

TEST: {{ont}} m’assure qu’il n’y en a pas.
TEST: {{Ont}} n’arrive pas à s’en sortir.
TEST: {{Ont}} ne sait jamais quoi faire
TEST: si {{ont}} donne à ces gens, ça n’en finit plus.
TEST: {{Ont}} viens !
TEST: {{Ont}} ne sait pas comment faire.
TEST: n’y {{on}} {{jamais}} lieu de telles abominations !
TEST: ces chiens te l’{{on}} {{donné}}
TEST: {{Ont}} lui avait donné du temps
TEST: {{Ont}} leur {{prendra}} tout
TEST: Qu’importe, {{ont}} leur {{prend}} tout
TEST: Qui {{on}} {{tant}} de malheurs !
TEST: {{peut-ont}} y arriver avec si peu de moyens ?
TEST: {{peut ont}} y arriver ?
................................................................................
TEST: l’adoption est bien entendu à promouvoir
TEST: Les retours que j’ai sont très différents et dépendent de la sensibilité de chacun
TEST: refuser le voyeurisme teinté de misérabilisme et le mépris de classe en boycottant les émissions racoleuses
TEST: en passant par les “séjours humanitaires” clé en main
TEST: qui sont en majorité moins attentifs à la qualité de la prestation qu’ils proposent aux clients
TEST: Il a une tête de déterré.
TEST: Malgré quelques envolées un brin trop solennelles, tout ce que j’ai dit était très sincère.
TEST: Je constate également qu’il n’y a pas beaucoup d’entente entre eux.
TEST: cet appareil supersonique a été conçu pour mener des frappes longue distance
TEST: C’est à mes yeux totalement secondaire.
TEST: les femmes se révoltèrent alors, elles aussi désespérées par ces injonctions contradictoires.
TEST: pouvoir envisager de dîner avec ses enfants à une heure décente plusieurs fois par semaine
TEST: Le vecteur position du point P(t)
TEST: Le vecteur vitesse d’un point d’un solide
TEST: les vecteurs vitesses
................................................................................
            or \1 in aREGULARPLURAL )
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: 00 heure, 01 heure
TEST: il a adopté 1 {{chiens}}.
TEST: 22 {{heure}}
TEST: 3 {{heure}}
TEST: les élèves sont inquiets après une année 2018 compliquée et riche en réformes.


##  trouver ça/ceci/cela + adj
__gn_trouver_ça_adj__
    >trouver  [ça|cela|ceci]  @:A.*:(?:f|m:p)¬:(?:G|3[sp]|M)
        <<- /gn/ -3>> =suggMasSing(\3)                                              # Trouver \2 + [adjectif] : l’adjectif s’accorde avec “\2” (au masculin singulier).