Grammalecte  Diff

Differences From Artifact [a1f338031a]:

To Artifact [11e5b7efa4]:


672
673
674
675
676
677
678
679

680
681
682




683
684
685



686
687
688
689





690
691
692
693
694
695
696
672
673
674
675
676
677
678

679
680
681
682
683
684
685
686



687
688
689
690



691
692
693
694
695
696
697
698
699
700
701
702







-
+



+
+
+
+
-
-
-
+
+
+

-
-
-
+
+
+
+
+







!!!! Virgules                                                                                       
!!
!!

# virgules manquantes
__[i>/virg(virgule_manquante_avant_etc)__   {w_1}( etc[.])  @@$ <<- -1>> , etc.                     # Avant « etc. », il faut mettre une virgule.
__[i>/virg(virgule_manquante_avant_car)__
    ({w_1})( car)(?= (?:j[e’]|tu|ils?|nous|vous|elles?|on|les?|la|ces?|des?|cette|[mts](?:on|a))\b)  @@0,$
    ({w_1})( car)(?= (?:j[e’]|tu|ils?|nous|vous|elles?|on|les?|l[a’]|ces?|des?|cette|[mts](?:on|a|es))\b)  @@0,$
    <<- not morph(\1, ":[DR]", False) -2>> , car
    # Si « car » est la conjonction de coordination, une virgule est peut-être souhaitable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3447
__[i>/virg(virgule_manquante_avant_mais)__
    ({w_1})( mais)(?= (?:j[e’]|tu|ils?|nous|vous|elles?|on)\b)  @@0,$
    <<- not morph(\1, ">(?:[mtscl]es|[nv]os|quels) ", False) -2>> , mais
    # Si « mais » est la conjonction de coordination, une virgule est souhaitable si elle introduit une nouvelle proposition.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3445
__[i>/virg(virgule_manquante_avant_donc)__
    {w_1}( mais)(?= (?:j[e’]|tu|ils?|elles?|on|ces?|des?|cette|[mts](?:on|a))\b)  @@$
    <<- -1>> , mais
    # Si « mais » est la conjonction de coordination, une virgule est souhaitable si elle introduit une nouvelle proposition.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3445
    ({w_1})( donc)(?= (?:j[e’]|tu|ils?|elles?|on)\b)  @@0,$
    <<- not morph(\1, ":V", False) -2>> , donc
    # Si « mais » est la conjonction de coordination, une virgule est souhaitable si elle introduit une nouvelle proposition.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3448

TEST: Un chien, un chat{{ etc.}}                                          ->> , etc.
TEST: Je suis fatigué{{ car}} ils ont joué toute la nuit.                 ->> , car
TEST: Je suis fatigué{{ mais}} il a joué toute la nuit.                   ->> , mais
TEST: Un chien, un chat{{ etc.}}                                            ->> , etc.
TEST: Je suis fatigué{{ car}} ils ont joué toute la nuit.                   ->> , car
TEST: Je suis fatigué{{ mais}} il a joué toute la nuit.                     ->> , mais
TEST: il l’a vu de ses propres yeux{{ donc}} il faut y croire.              ->> , donc
TEST: il s’est donc tu


__<s>/virg(virgule_point_fin_dialogue)__
    ([.] » )[a-zéà]  @@0 <<- -1>> " », | » "             # Ou il faut une virgule (exemple : « Je viens », dit-il). Ou le point est superflu. Ou il faut une majuscule sur le mot suivant.
__<s>/virg(virgule_fin_dialogue)__
    (, »,? )[a-zéà]  @@0 <<- -1>> " », | » "                                            # Virgule mal placée ou superflue.

809
810
811
812
813
814
815









816
817
818
819
820
821
822
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837







+
+
+
+
+
+
+
+
+









!!
!!
!!!! Ponctuations redondantes                                                                       
!!
!!

# virgules et points
__<s>/typo(typo_virgules_points)__ 
    ,[.,]{2,}
    <<- ->> =\0.replace(",", ".").replace("...", "…")                                               # Erreur de numérisation ? Virgules au lieu de points ?

TEST: Ah !{{,.,}} et en quoi consistait le festin ?


__<s>/typo(typo_ponctuation_superflue1)__    , ?([.,;:!?]) @@$ <<- ->> =",|" + \1       # Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue2)__    ; ?([.,;:…!?]) @@$ <<- ->> =";|" + \1      # Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue3)__    :[.,;:…!?] <<- ->> =":|" + \0[1]           # Une de ces ponctuations est superflue.

TEST: Mouais{{, ;}}
TEST: Vraiment, bof {{;;}} on ne sait guère qu’en penser.
TEST: Raisons {{:.}} trop, c’est trop.
1554
1555
1556
1557
1558
1559
1560












1561
1562
1563
1564
1565
1566
1567
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594







+
+
+
+
+
+
+
+
+
+
+
+







__[i]/tu(tu_préfixe_ex)__
    ex ({w2}) @@$  <<- morph(\1, ":N") and not re.search("(?i)^(?:aequo|nihilo|cathedra|absurdo|abrupto)", \1)
    ->> ex-\1                                                                                       # S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: Son {{ex ami}} est un vrai cauchemar.
TEST: Ton ex donne du fil à retordre.


__[i]/tu(tu_préfixe_in)__
    (in) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(?:drive|plug|sit) +$") >>>
    <<- re.search("^(?:dix-huit|douze|seize|folio|octavo|quarto|plano)$", \2)
    ->> =\0.replace(" ", "-")                                                                       # Il manque un trait d’union.
    <<- __else__ and morph(\2, ":N:m") -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.


__[i]/tu(tu_préfixe_mi)__
    mi ({w2}) @@$  <<- morph(\1, ":[NAQ]", False) ->> mi-\1                                         # S’il s’agit d’un seul mot, il manque un trait d’union.    

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


1621
1622
1623
1624
1625
1626
1627
1628

1629
1630
1631
1632
1633
1634
1635
1648
1649
1650
1651
1652
1653
1654

1655
1656
1657
1658
1659
1660
1661
1662







-
+







### Tri 1
__[i]/tu(tu_à_tout_va)__                    [àa] tout vas? <<- ->> à tout-va                        # Il manque un trait d’union.
__[i]/tu(tu_aller_retour)__                 allers? retours? <<- ->> =\0.replace(" ", "-")          # Il manque un trait d’union.
__[i]/tu(tu_arc_en_ciel)__                  arcs? en ciel <<- ->> =\0.replace(" ", "-")             # Il manque les traits d’union.
__[i]/tu(tu_après_demain)__                 après demain <<- ->> après-demain                       # Il manque un trait d’union.
__[i]/tu(tu_au_préposition)__               au (delà|dehors|desso?us|devant) @@$ <<- ->> au-\1      # Il manque un trait d’union.
__[i]/tu(tu_avant_hier)__                   avant hier <<- ->> avant-hier                           # Il manque un trait d’union.
__[i]/tu(tu_bouche_à_oreille)__             bouche à oreilles? <<- morph(word(-1), ":D", False) ->> =\0.replace(" ", "-") # Il manque les traits d’union.
__[i]/tu(tu_bouche_à_oreille_bouche)__      bouche à (?:bouche|oreilles?) <<- morph(word(-1), ":D", False) ->> =\0.replace(" ", "-") # Il manque les traits d’union.
__[i]/tu(tu_c_est_à_dire)__                 c’est [àa] dire <<- ->> c’est-à-dire                    # Il manque les traits d’union.
__[i]/tu(tu_chef_d_œuvre_lieu)__            chef (lieu|d’œuvre) @@$ <<- ->> chef-\1                 # Il manque un trait d’union.
__[i]/tu(tu_celui_celle_là_ci)__    ce(?:lles?|lui|ux) (?:là|[cs]i) <<- ->> =\0.replace(" ", "-").replace("si", "ci")     # Il manque un trait d’union.
__[i]/tu(tu_centre_ville)__                 centres? villes? <<- ->> centre-ville|centres-villes    # Il manque un trait d’union.
__[i]/tu(tu_ci_dessous_devant_contre)__     ci (desso?us|devant|contre) @@$ <<- ->> ci-\1           # Il manque un trait d’union.
__[i]/tu(tu_de_ci_de_là)__                  de ci,? de là <<- ->> de-ci de-là|de-ci, de-là          # Il manque les traits d’union.
__[i]/tu(tu_en_contre_bas_partie)__     en contre (bas|partie) @@$ <<- ->> en contre\1|en contre-\1 # Mettez un trait d’union ou soudez.
2235
2236
2237
2238
2239
2240
2241
2242

2243
2244

2245
2246
2247
2248
2249
2250
2251
2262
2263
2264
2265
2266
2267
2268

2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279







-
+


+








TEST: __ocr__ Sans aucun {{cloute}}.


# du / dû
__[i]/ocr(ocr_du)__
    (dû) +({w_3}) @@0,$
    <<- morph(\1, ":[NA]:[me]:[si]", ":Y") -1>> du                                                  # Erreur de numérisation ?
    <<- morph(\2, ":[NA]:[me]:[si]", ":Y") -1>> du                                                  # Erreur de numérisation ?

TEST: __ocr__ prendre {{dû}} bon temps
TEST: __ocr__ Tous eussent dû subir ce supplice raffiné.


# elle / elfe
__[s]/ocr(ocr_elle)__
    [eE]lfes?
    <<- \0.endswith("e") and ( morph(word(-1), ":R", False, True) or isNextVerb() ) ->> elle        # Erreur de numérisation ?
    <<- \0.endswith("s") and ( morph(word(-1), ":R", False, True) or isNextVerb() ) ->> elles       # Erreur de numérisation ?
3073
3074
3075
3076
3077
3078
3079








3080
3081
3082
3083

3084
3085
3086
3087
3088

3089
3090
3091
3092


3093
3094
3095
3096
3097
3098
3099
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118

3119
3120
3121
3122
3123
3124
3125
3126
3127


3128
3129
3130
3131
3132
3133
3134
3135
3136







+
+
+
+
+
+
+
+



-
+





+


-
-
+
+







TEST: Ça {{me te }}prend la tête, toutes ces complications vaines.
TEST: il {{se m’}}est difficile d’y parvenir.
TEST: Ça t’arrive {{de d’}}arriver à l’heure ?
TEST: Les écrits de d’Alembert.


#### Articles et prépositions + verbes

__[i]/conf(conf_à_le_la_les_leur)__
    à l(?:es? +|eurs? +|a +|’)({w_3})  @@$
    <<- morphex(\1, ":", ":[GNAWMBY]") -1>> =suggSimil(\1, ":[NA]", True)                           # Incohérence : après “à”, on devrait trouver un groupe nominal.

TEST: à leur {{profile}}
TEST: une référence à l’astuce de base qui permet d’outrepasser ses droits.


__[s]/conf(conf_en_mts_verbe)__
    ([eE]n ([mtsn])(?:e |’))({w_1}) @@0,*,$
    <<- morphex(\3, ":[123][sp]", ":[PY]") >>>
    <<- morphex(\3, ":[123][sp]", ":[PY]") and not \0.endswith("n’importe") >>>
    <<- morph(\3, ":3p", False) -3>> =suggVerb(\2, ":P")                                            # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
    <<- not (\1.endswith("se ") and morph(\3, ":[NA]", False)) -1>> "\2’en "                        # Incohérence : vouliez-vous écrire « \2’en » ?

TEST: {{en t’}}ait donné tant.                          ->> "t’en "
TEST: {{en n’}}{{envoient}} que peu.
TEST: toute chose pourrait finalement advenir indifféremment en n’importe quel point du globe


__[i]/conf(conf_malgré_le_la_les)__
    malgré l(?:es? +|a +|’)({w_3})  @@$
__[i]/conf(conf_malgré_le_la_les_leur)__
    malgré l(?:es? +|eurs? +|a +|’)({w_3})  @@$
    <<- morphex(\1, ":", ":[GNAWMB]") -1>> =suggSimil(\1, ":[NA]", True)                             # Incohérence : après “malgré”, on devrait trouver un groupe nominal.

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


__[i]/conf(conf_ma_ta_cette_verbe)__
3746
3747
3748
3749
3750
3751
3752
3753

3754
3755
3756
3757
3758

3759
3760
3761
3762
3763
3764
3765
3783
3784
3785
3786
3787
3788
3789

3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803







-
+





+







TEST: Elle a l’impression d’être laissée pour {{comte}}.
TEST: C’est un règlement de {{comte}} entre voyous.
TEST: on va lui régler son {{conte}}, à cet enculé.
TEST: tout {{conte}} fait, ça reste un salopard.


__[i]/conf(conf_conte_de_fée)__
    (comp?tes?) (?:de fées?|allégoriques?|fantastiques?|littéraires?|merveilleux|mora(?:l|ux)|ora(?:l|ux)|populaires?|satiriques?|traditionnels?|véhiculés?|et légendes?)  @@0
    (comp?tes?) (?:de (?:bonnes? femmes?|fées?)|allégoriques?|fantastiques?|littéraires?|merveilleux|mora(?:l|ux)|ora(?:l|ux)|populaires?|satiriques?|traditionnels?|véhiculés?|et légendes?)  @@0
    <<- -1>> conte|contes                                                       # Confusion probable. Si vous parlez d’un récit, écrivez :|https://fr.wiktionary.org/wiki/conte

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


# date / datte
__[i]/conf(conf_date1)__
    dates
    <<- after("(?i)^ +(?:fra[iî]ches|dénoyautées|fourrées|sèches|séchées|cultivées|produites|muscade|medjool|Hamraya|deglet[ -]nour|kenta|allig|khouat)")
3790
3791
3792
3793
3794
3795
3796

3797

3798
3799

3800

3801
3802
3803
3804
3805
3806
3807
3808
3809
3810

3811
3812
3813
3814
3815
3816
3817
3828
3829
3830
3831
3832
3833
3834
3835

3836
3837
3838
3839

3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858







+
-
+


+
-
+










+







    (?:peu|plein|beaucoup|trop|plus|moins|assez|suffisamment|tellement|obtentions?|régimes?) (davantage)  @@$
    <<- -1>> d’avantages                                                            # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…
__[i]/conf(conf_être_davantage_ppas)__
    ({etre}) (d’avantages?) ({w_2}) @@0,w,$
    <<- morph(\1, ":V0e", False) and morphex(\3, ":[NAQ]", ":G") -2>> davantage     # Confusion possible : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…
__[i]/conf(conf_davantage1)__
    ({w1}) (d’avantages?) @@0,$
    <<- morphex(\1, ":V", ":Q|>(?:profiter|bénéficier) ") and not morph(word(1), ">(?:financi[eè]re?|pécuni(?:er|aire))s? ", False, False)
    <<- morphex(\1, ":V", ":Q") -2>> davantage                                      # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…
    -2>> davantage                                                                  # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…
__[i]/conf(conf_davantage2)__
    ({w_1})-(?:je|tu|ils?|elles?|[nv]ous|on) +(d’avantages?) @@0,$
    <<- not morph(\1, ">(?:profiter|bénéficier) ", False) and not morph(word(1), ">(?:financi[eè]re?|pécuni(?:er|aire))s? ", False, False)
    <<- not morph(\1, ">(?:profiter|bénéficier) ", False) -2>> davantage            # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…
    -2>> davantage                                                                  # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…
__[i>/conf(conf_davantage3)__
    (d’avantages?) d(?:e +|’) @@0
    <<- -1>> davantage                                                              # Confusion possible : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…

TEST: ils ont peu {{davantage}} à vivre ici.
TEST: Ils s’exerceront {{d’avantages}}.
TEST: {{d’avantage}} de monde de jour en jour
TEST: Viens-tu {{d’avantage}} à la maison
TEST: {{d’avantage}} de monde viendra
TEST: ils sont {{d’avantages}} perdus que les autres.
TEST: tout ce qu’il apporte d’avantages pécuniaires.


# différend / différent
__[i]/conf(conf_différent)__
    différends?
    <<- morph(word(-1), ":W", False, False) ->> =\0.replace("end", "ent")           # Confusion probable : “un différend” est un désaccord. Pour l’adjectif qualifiant une différence, écrivez :
__[i]/conf(conf_différend1)__
4065
4066
4067
4068
4069
4070
4071



4072
4073
4074
4075
4076
4077
4078



4079
4080
4081
4082
4083
4084
4085
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132







+
+
+







+
+
+







__[i]/conf(conf_vers_où)__
    vers (ou) @@5 <<- not morph(word(-1), ":D", False, False) -1>> où                       # Confusion probable. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_jusqu_où_au_cas_où)__
    (?:au|le|des) cas (ou) @@$ <<- -1>> où                                                  # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_à_partir_du_temps_où)__
    à partir d(?:u (?:lieu|moment|jour|mois)|e l’(?:instant|année|heure)|e la (?:minute|semaine|seconde)) +(ou) @@$
    <<- -1>> où                                                                             # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_depuis_xxxx_où)__
    depuis (?:le (?:jour|millénaire|moment|mois|siècle)|la (?:minute|semaine|seconde)|l’(?:année|heure|instant)) (ou)  @@$
    <<- -1>> où                                                                             # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

TEST: {{Ou}} sont tes affaires ?
TEST: au moment {{ou}} elle allait enfin réussir
TEST: vers {{ou}} se tourner quand tout va mal ?
TEST: pour le cas {{ou}} on serait arrêté dans notre élan.
TEST: à partir du moment {{ou}} il est entré.
TEST: à partir de l’instant {{ou}} elle est venue.
TEST: depuis l’année {{ou}} nous sommes allés en Bretagne
TEST: depuis la seconde {{ou}} tu as parlé
TEST: depuis le jour {{ou}} il a été blessé.


# pale / pâle
__[i]/conf(conf_pale_pâle1)__
    (?:bien|tr(?:ès|op)|si|vraiment|tellement) +(pales?)  @@$
    <<- -1>> =\1.replace("pal", "pâl")
    # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale
4225
4226
4227
4228
4229
4230
4231
4232


4233
4234
4235
4236
4237
4238
4239
4272
4273
4274
4275
4276
4277
4278

4279
4280
4281
4282
4283
4284
4285
4286
4287







-
+
+







    <<- morphex(\2, ":[NAQ]", ":(?:G|[123][sp]|W)") -1>> =\1.replace(" ", "")                       # Confusion probable. Ex : Quelle femme ! Je crois qu’elle réussira.

TEST: {{qu’elle}} emmerdeuse.


__[i]/conf(conf_qu_elle_verbe)__
    (quelles?) +({w_1})  @@0,$
    <<- \2.islower() and (morphex(\2, ":V|>(?:ne?|me?|te?|se?|[nv]ous|l(?:e|a|es|ui|leur|)|en|y) ", ":[NA].*:[fe]") or \2 == "t" or \2 == "s") >>>
    <<- \2.islower() and (morphex(\2, ":V|>(?:ne?|me?|te?|se?|[nv]ous|l(?:e|a|es|ui|leur|)|en|y) ", ":[NA].*:[fe]|>(?:plus|moins)") or \2 == "t" or \2 == "s")
        and not (\2 == "en" and morph(word(1), ":V0e", False)) >>>
    <<- \1.endswith("e") and not morph(\2, ":V0e", False) -1>> qu’elle                              # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”. 1
    <<- __else__ and \1.endswith("s") and not morph(\2, ":V0e", False) -1>> qu’elles                # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”. 2
    <<- __else__ and morph(\2, ":V0e", False) and morphex(word(1), ":[QA]", ":G", False) >>>
    <<- \1.endswith("e") -1>> qu’elle                                                               # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”. 3
    <<- __else__ and \1.endswith("s") -1>> qu’elles                                                 # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”. 4

TEST: Je sais {{quelle}} est partie.
4247
4248
4249
4250
4251
4252
4253


4254
4255
4256
4257
4258
4259
4260
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310







+
+







TEST: Je crois {{quelle}} n’en sait pas assez pour nous nuire.
TEST: {{Quelles}} t’arrivent seulement à la cheville, voilà qui serait étonnant.
TEST: {{Quelles}} m’engueulent encore une seule fois et elles vont le regretter.
TEST: Je crois {{quelle}} est partie.
TEST: il pense {{quelles}} sont devenues dangereuses.
TEST: Quelle est sa passion ?
TEST: Quelles sont leurs principales études ?
TEST: Quelles en sont les conséquences ?
TEST: Quelle plus belle complicité que…


# savoir / ignorer
__[i]/conf(être_pas_sans_savoir)__
    ({etre}) pas sans (ignor(?:e[rz]|ée?s?|ai[st]))  @@0,$
    <<- morph(\1, ":V0e", False)
    -2>> savoir     # Confusion : vous écrivez l’inverse de ce que vous voulez dire.|http://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir
4421
4422
4423
4424
4425
4426
4427
4428

4429
4430
4431
4432
4433
4434
4435
4471
4472
4473
4474
4475
4476
4477

4478
4479
4480
4481
4482
4483
4484
4485







-
+








__[i]/conf(conf_j_y_en_qqch)__
    (j’(?:en +|y +|))({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|O[onw])")
    -2>> =suggSimil(\2, ":1s", False)                                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_ne_qqch)__
    (n(?:e +|’))({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)|>(?:[lmtsn]|surtout|guère|presque|même|tout|parfois|vraiment|réellement) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)|>(?:[lmtsn]|surtout|guère|presque|même|tout|parfois|vraiment|réellement|justement) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Oo|Y)", False)                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe ou un pronom personnel objet.
__[i]/conf(conf_n_y_en_qqch)__
    (n’(?:en|y)) ({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                                  # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_ne_pronom_qqch)__
    (ne (?:l(?:es? +|eur +|a +|’)|[nv]ous))({w_1})  @@0,$
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
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







+






-
+




-
+










+







TEST: Lui, quand il y pensait, en {{arrivai}} à chaque fois à la même conclusion.
TEST: Elle, ici et dans tous les cas de figure, {{veux}} toujours en faire plus.
TEST: Le total de cette opération, contrairement à ce qu’on pense, {{équivaux}} à au moins trois d’entre eux.
TEST: {{j'}}ai signalé que {{j'}}essayais de regrouper les paragraphes. (Tests avec apostrophe droite.)
TEST: je me questionne, {{exiges}} des réponses mais n’en obtiens pas…
TEST: dans tous les cas de figure imaginés par cette bande de nuls, il n’y en a pas un qui les sauvera.
TEST: ces gens qui vont par monts et par vaux.
TEST: pour ne justement pas donner l’impression de s’être trompé.


## Incohérences avec formes verbales 1pl et 2pl sans sujet
__[i]/conj(conj_xxxons_sans_sujet)!3__
    \w+(?:ons|[âîûn]mes)(?! nous)
    <<- morphex(\0, ":V.*:1p", ":[EGMNAJ]") and not (\0[0:1].isupper() and before(r"\w"))
        and not before0(r"\b(?:[nN]ous(?:-mêmes?|)|[eE]t moi(?:-même|)|[nN]i (?:moi|nous)),? ")
        and not before0(r"\b(?:[nN]ous(?:-mêmes?|)|(?:[eE]t|[oO]u) moi(?:-même|)|[nN]i (?:moi|nous)),? ")
    ->> =suggVerb(@, ":3p")                                 # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du pluriel. Sujet (“nous” ou équivalent) introuvable.
__[i]/conj(conj_xxxez_sans_sujet)!3__
    \w+(?:ez|[âîûn]tes)(?! vous)
    <<- morphex(\0, ":V.*:2p", ":[EGMNAJ]") and not (\0[0:1].isupper() and before(r"\w"))
        and not before0(r"\b(?:[vV]ous(?:-mêmes?|)|[eE]t toi(?:-même|)|[tT]oi(?:-même|) et|[nN]i (?:vous|toi)),? ")
        and not before0(r"\b(?:[vV]ous(?:-mêmes?|)|(?:[eE]t|[oO]u) toi(?:-même|)|[tT]oi(?:-même|) et|[nN]i (?:vous|toi)),? ")
    ->> _                                                   # Incohérence. Ceci est un verbe à la 2ᵉ personne du pluriel. Sujet (“vous” ou équivalent) introuvable.

TEST: les hommes et les femmes, qui sans un bruit, sans une parole amère, {{continuerons}} leur tâche n’en seront pas plus récompensés.
TEST: il était dit que cette femme et son frère {{promènerez}} leur chien à cette heure de la journée.
TEST: cet homme et cette femme {{pouvez}} y parvenir avec de la persévérance
TEST: Comme on lui disait que vous-même aviez déjà consulté le notaire
TEST: ce sont des terroristes et ça ne nous arrivera pas à nous, qui n’avons rien à nous reprocher
TEST: mes supérieurs et moi-même avons pris la décision de ne pas vendre
TEST: Ni lui ni moi n’avions mangé
TEST: Mon épouse et moi-même avons toujours dit
TEST: que vous ou moi ignorions à peu près tout du boson de Higgs n’a pas du tout le même sens



!!
!!
!!!! Locutions invariables                                                                          
!!
4873
4874
4875
4876
4877
4878
4879

4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900

4901
4902
4903
4904
4905
4906
4907
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952

4953
4954
4955
4956
4957
4958
4959
4960







+




















-
+







__[i](p_ce_faisant)__           ce faisant <<- ~>> *
__[i](p_ceci_qqch)__            ceci (?:mis à part|va sans dire) <<- ~>> *
__[i](p_cela_qqch)__            cela (?:mis à part|va sans dire) <<- ~>> *
__[i](p_ces_derniers_temps)__   ces derniers temps <<- ~>> *
__[i](p_ceux_d_entre_pronom)__  ce(?:lui|lles?|ux) (d’entre (?:[nv]ous|eux|elles)) @@$ <<- ~1>> *
__[i](p_cette_fois_là)__        cette fois-(?:là|ci) <<- ~>> *
__[i](p_chacun_d_entre_nous)__  chacune? (d’entre (?:[nv]ous|eux|elles)) @@$ <<- ~1>> *
__[i](p_chaque_fois)__          chaque fois <<- ~>> *
__[i](p_chemin_de_fer)__        chemins? (de fer) @@$ <<- ~1>> *
__[i](p_chez)__                 chez (?:[mt]oi|lui|e(?:ux|lles?)|[nv]ous|autrui|quelqu’une?|on ne sait qui) <<- ~>> *
__[i](p_comme_qqch)__           comme (?:avant|autrefois|d’habitude|toujours|de juste|bon (?:me|te|l(?:ui|eur)|[nv]ous) semble|au bon vieux temps|cul et chemise|frappée?s? par la foudre|n’importe où(?: ailleurs|)|par (?:enchantement|magie|un fait exprès)|promis|qui dirait|si de rien n’était|tout un chacun) <<- ~>> *
__[i](p_comme_tant_d_autres)__  comme tant d’autres (?:avant|après) (?:[mts]oi|lui|[nv]ous|eux|elles?)(?! qui) <<- ~>> *
__[i](p_contrairement_aux_apparences)__     contrairement aux apparences <<- ~>> *
__[i](p_contre_qqch)__          contre (?:mauvaise fortune,? bon cœur|nature|toute (?:attente|vraisemblance)|vents et marées|[mts]oi|lui|elles?|[nv]ous|eux|(?:[mts]on|[nv]otre|leur) gré) <<- ~>> *
__[i](loc_côte_à_côte)__
    c[ôo]tt?es? [àaá] c[ôo]tt?es?
    <<- not re.search("(?i)^côte à côte$", \0) ->> 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
    <<- ~>> *
__[i](p_coute_que_coute)__      co[ûu]te que co[ûu]te <<- ~>> *
__[i](p_crois_le_ou_non)__      cro(?:yez|ois)-le ou (?:non|pas) <<- ~>> *
__[i](p_cul_par_dessur_tête)__  cul par-dessus tête <<- ~>> *
__[i](p_dans_qqch)__            dans (?:ces? cas(?: précis|-là|-ci| particuliers?|)|l’i(?:déal|mmédiat)|la mesure du possible|les années \d\d+|peu de temps|tout (?:ce(?:la|ci)|ça)|très peu de temps|un(?: cas comme dans l’autre|e (?:certaine|large|moindre) mesure)) <<- ~>> *
__[i](p_début_mois)__           début (?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre)(?: \d\d\d\d|) <<- ~>> *
__[i](p_d_qqch)__               d’(?:abord|affilée|ailleurs|année en année|aujourd’hui|antan|autant (?:plus|moins)|autre(?:fois|s fois| part)|arr(?:arrache-?pied|ière en avant)|avant en arrière|à côté|âge mûr|emblée|empoigne|en face|entr(?:e (?:[nv]ous|eux|elles)|ée de jeu)|est en ouest|extrême[ -](?:droite|gauche)|égale? à égale?|habitude|heure en heure|hier(?: (?:matin|soir|après-midi)|)|ici(?: là| peu(?: de temps|)| très peu(?: de temps|)|)|ordinaire|origine (?:inconnue|douteuse)|ordre général|ouest en est|ore?s et déjà|un (?:autre côté|(?:bout à|côté comme de) l’autre|commun accord)) <<- ~>> *
__[i](p_d_une_qqch)__           d’une (?:autre trempe|(?:façon|manière) ou d’une autre|certaine (?:façon|manière)|tout autre ampleur|(?:minute|seconde) à l’autre) <<- ~>> *
__[i](p_d_où_que)__             d’où qu (?:(?:il|elle|on) vienne|(?:ils|elles) viennent) <<- ~>> *
__[i](p_de_ci_de_là)__          de-ci,? de-là <<- ~>> *
__[i](p_de_heure)__             de \d\d? ?h(?: ?\d\d|)(?: (?:du (?:matin|soir)|de l’après-midi|ce (?:matin|soir)|cet après-midi|demain (?:matin|soir|après-midi))|) <<- ~>> *
__[i](p_de_qqch)__              de (?:\d+(?:,\d+|) ?%|cesse|conserve|facto|fait|guingois|luxe|nouveau|permanence|partout|préférence|profundis|rechange|routine|surcro[îi]t|visu|A à Z|bas(?: (?:en haut|étage)|se (?:condition|extraction|))|bon (?:aloi|cœur|gré|matin|sens|ton)|bonne (?:facture|famille|foi|heure|humeur|grâce|qualité|compagnie)|bric et de broc|but en blanc|ce(?: (?:fait(?: même|)|seul fait|point de vue)|tte sorte|t acabit)|courte (?:durée|vue)|dernière minute|demain(?: (?:matin|soir|après-midi)|)|droite (?:à|comme de) gauche|fâcheuse mémoise|fil en aiguille|fond en comble|fort (?:loin|près)|fra[iî]che date|ga[îi]e?té de cœur|gauche (?:à|comme de) droite|grande (?:taille|envergure)|gré ou de force|guerre lasse|haut(?: (?:en bas|rang|vol)|e (?:lutte|stature|volée))|jour comme de nuit|là-bas|la (?:meilleure (?:manière|façon) possible|même (?:façon|manière)|sorte|tête aux pieds|veille)|loin(?: en loin|)|longue (?:date|durée|haleine)|main de ma[îi]tre|mauvais(?: (?:aloi|go[ûu]t|gré)|e (?:foi|grâce|humeur))|mieux en mieux|nature (?:inconnue|indéterminée|insolite)|nombreuses (?:fois|années plus (?:tôt|tard))|nos jours|notoriété publique|nulle part|pire en pire|près(?: ou de loin|)|par(?: le monde(?: entier|)|t et d’autre)|petite taille|pied ferme|premi(?:er (?:ordre|plan)|ère main)|plein (?:droit|fouet)|plus (?:belle|près)|première (?:catégorie|nécessité)|prime abord|proche en proche|sang-froid|seconde (?:zone|importance|main)|si bon(?: matin|ne heure)|source sûre|taille moyenne|telle sorte|temps (?:en temps|à autre)|tr(?:ès|op) (?:loin|près)|vive voix) <<- ~>> *
__[i](p_de_qqch)__              de (?:\d+(?:,\d+|) ?%|cesse|conserve|facto|fait|guingois|luxe|nouveau|permanence|partout|préférence|profundis|rechange|routine|surcro[îi]t|visu|A à Z|bas(?: (?:en haut|étage)|se (?:condition|extraction|))|bon (?:aloi|cœur|gré|matin|sens|ton)|bonne (?:facture|famille|foi|heure|humeur|grâce|qualité|compagnie)|bric et de broc|but en blanc|ce(?: (?:fait(?: même|)|seul fait|point de vue)|tte sorte|t acabit)|courte (?:durée|vue)|dernière minute|demain(?: (?:matin|soir|après-midi)|)|droite (?:à|comme de) gauche|fâcheuse mémoise|fil en aiguille|fond en comble|fort (?:loin|près)|fra[iî]che date|ga[îi]e?té de cœur|gauche (?:à|comme de) droite|grande (?:taille|envergure)|gré ou de force|guerre lasse|haut(?: (?:en bas|rang|vol)|e (?:lutte|stature|volée))|jour comme de nuit|là-bas|la (?:meilleure (?:manière|façon) possible|même (?:façon|manière)|sorte|tête aux pieds|veille)|loin(?: en loin|)|longue (?:date|durée|haleine)|main de ma[îi]tre|mauvais(?: (?:aloi|go[ûu]t|gré)|e (?:foi|grâce|humeur))|mieux en mieux|nature (?:inconnue|indéterminée|insolite)|nombreuses (?:fois|années plus (?:tôt|tard))|nos jours|notoriété publique|nulle part|pire en pire|près(?: ou de loin|)|par(?: le monde(?: entier|)|t et d’autre)|petite taille|pied ferme|premi(?:er (?:ordre|plan)|ère main)|plein (?:droit|fouet)|plus (?:belle|près)|première (?:catégorie|nécessité)|prime abord|proche en proche|pure forme|sang-froid|seconde (?:zone|importance|main)|si bon(?: matin|ne heure)|source sûre|taille moyenne|telle sorte|temps (?:en temps|à autre)|tr(?:ès|op) (?:loin|près)|vive voix) <<- ~>> *
__[i](p_de_nous_vous_tous)__    de [nv]ous tous <<- ~>> *
__[i](p_de_tout_qqch)__         de tou(?:t (?:poil|temps|à l’heure|premier (?:ordre|plan))|tes (?:parts|pièces|sortes|(?:[mts]es|leurs|[nv]os) forces)|te (?:éternité|évidence|façon|urgence)|s (?:côtés|bords)) <<- ~>> *
__[i](p_de_ceux_celles)__       de ce(?:ux|lles)-(?:ci|là)(?! qui) <<- ~>> *
__[i](p_de_det_mas_qqch)__      de (?:[mts]on|[nv]otre|leur) (?:mieux|plein gré|point de vue|propre (?:cru|chef)|vivant) <<- ~>> *
__[i](p_de_det_fem_qqch)__      de (?:[mts]a|[nv]otre|leur) part <<- ~>> *
__[i](p_de_qqch_en_identique)__ de (moins|plus|mieux|pire|jour|minute|semaine|mois|trimestre|semestre|siècle|millénaire|décennie) en \1 @@3 <<- ~>> *
__<i](p_de_plus)__              ^ *de plus <<- ~>> *
4920
4921
4922
4923
4924
4925
4926
4927

4928
4929
4930
4931
4932
4933
4934
4973
4974
4975
4976
4977
4978
4979

4980
4981
4982
4983
4984
4985
4986
4987







-
+







__[i](p_en_qqch1)__             en (?:aparté|apparence|arrière|avance|avant|cachette|ceci|cela|clair|commun|conséquence|continu|contrepartie|définitive|détail|direct|douce|effet|émoi|filigrane|général|goguette|hâte|majorité|outre|pâmoison|parallèle|partie|particulier|permanence|personne|pratique|prime|privé|principe|priorité|public|réalité|retour|revanche|rien|rogne|route|secret|silence|somme|suspens|théorie|trompe-l’œil|vain|vérité|ville|vitesse) <<- ~>> *
__[i](p_en_qqch2)__             en (?:aucun(?: cas|e (?:circonstance|façon|manière))|bon(?: état|ne (?:compagnie|et due forme|posture|santé(?: physique| mentale|)|voie))|bout de course|cas d(?:e (?:besoin|doute)|’urgence)|chacune? d(?:e [nv]ous|’(?:eux|elles))|chair et en os|chute libre|comparution immédiate|connaissance de cause|coupe réglée|cours de route|d’autres (?:circonstances|termes|temps)|de telles circonstances|début d(?:e (?:journée|matinée|soirée)|’après-midi)|définitive|dehors de (?:tout|)(?:ça|cela|ceci)|dents de scie|dernier (?:lieu|recours|ressort)|désespoir de cause|détention provisoire|direction d(?:u (?:nord|sud)(?:-est|-ouest|)|e l’(?:est|ouest))|état (?:de (?:choc(?: circulatoire|)|marche)|d’ébriété(?: avancée|))|excellent état|file indienne|fin d(?:e (?:compte|journée|matinée|soirée)|’après-midi)|forte (?:baisse|hausse)|gage de bonne foi|garde à vue(?: prolongée|)|grand(?: nombre|e (?:difficulté|majorité|partie|pompe))|haut lieu|l’occurrence|lieu sûr|ligne de (?:compte|mire)|mains propres|mauvais(?: état|e (?:posture|santé))|même temps|milieu d(?:e (?:journée|matinée|soirée)|’après-midi)|nombre (?:plus que |)suffisant|partant de zéro|plein(?: air| cœur| jour|e (?:gueule|figure|forme|poire|nuit|tronche))|perte de vitesse|peu de temps|piteux état|point d(?:e mire|’orgue)|position de (?:force|faiblesse)|premi(?:er lieu|ère (?:instance|ligne))|pure perte|quantité (?:plus que |)suffisante|quelque sorte|queue de peloton|rangs serrés|rase campagne|règle générale|roue libre|sens inverse|si peu de temps|sous-main|tête à tête|temps (?:et en heure|normal|opportun|ordinaire|utile|voulu)|termes choisis|toile de fond|tous (?:les cas|sens)|tout (?:bien tout honneur|cas|genre|lieu|et pour tout|état de cause|premier lieu|sens|temps)|toute(?: (?:bonne foi|circonstance|connaissance de cause|confiance|discrétion|franchise|hâte|impartialité|impunité|innocence|légalité|liberté|logique|sécurité|simplicité)|s circonstances)|un (?:clin d’œil|rien de temps)|une autre occasion|vase clos|voie de développement|y réfléchissant bien) <<- ~>> *
__[i](p_en_mois_dernier)__      en (?:janvier|février|mars|avril|mai|jui(?:n|llet)|ao[ûu]t|septembre|octobre|novembre|décembre) dernier <<- ~>> *
__[i](p_en_dat_mas_qqch)__      en (?:[mts]on|leur|[nv]otre) (?:âme et conscience|for intérieur|nom propre) <<- ~>> *
__[i](p_en_ce_qqch)__           en ce(?: (?:moment|temps-là|qui (?:[mt]e|l(?:es?|a)|[nv]ous) concern(?:e|ait))|t instant) <<- ~>> *
__[i](p_encore_qqch)__          encore (?:une fois|et (?:encore|toujours)) <<- ~>> *
__[i](p_envers_qqch)__          envers (?:autrui|et contre tout|les uns et les autres|tout le monde) <<- ~>> *
__[i](p_entre_qqch)__           entre (?:(?:[mt]oi|lui|elles?|[nv]ous|eux) et (?:[mt]oi|lui|elles?|[nv]ous|eux)|de (?:bonnes|mauvaises) mains|l’une? et l’autre|les uns et les autres|quat(?:re[- ]z-?yeux|’ z-?yeux)) <<- ~>> *
__[i](p_entre_qqch)__           entre (?:(?:[mt]oi|lui|elles?|[nv]ous|eux) et (?:[mt]oi|lui|elles?|[nv]ous|eux)|chien et loup|de (?:bonnes|mauvaises) mains|l’une? et l’autre|les uns et les autres|quat(?:re[- ]z-?yeux|’ z-?yeux)) <<- ~>> *
__[i](p_entre_date)__           entre (?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre) (?:\d\d{1,3} |)et (?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre)(?: \d\d{1,3}|) <<- ~>> *
__[i](p_épaule_contre_épaule)__ épaule contre épaule <<- ~>> *
__[i](p_été_comme_hiver)__      été comme hiver <<- ~>> *
__[i](p_oh_ah_euh_eh_bien)__    (?:oh|ah|euh|eh bien) <<- ~>> *
__[i](p_ex_loc_latine)__        ex (?:nihilo|cathedra|absurdo|abrupto) <<- ~>> *
__[i](p_face_à_face)__          face à face <<- ~>> *
__[i](p_nombre_fois_de_suite)__ (?:deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|cent) fois de suite <<- ~>> *
5036
5037
5038
5039
5040
5041
5042
5043

5044
5045
5046
5047
5048
5049
5050
5089
5090
5091
5092
5093
5094
5095

5096
5097
5098
5099
5100
5101
5102
5103







-
+







    tours? [àa] tours?
    <<- not re.search("(?i)^tour à tour$", \0) ->> tour à tour      # Locution adverbiale invariable. Écrivez “tour à tour”.|https://fr.wiktionary.org/wiki/tour_%C3%A0_tour
    <<- ~>> *
__[i](p_tous_qqch)__            tous (?:comptes faits|frais payés) <<- ~>> *
__[i](p_tout_qqch)__            tout (?:à (?:fait|coup|l’heure)|le temps|de (?:même|suite|go)|au plus|aussi bien|simplement|bonnement|compte fait|feu,? tout flammes?|bien (?:considéré|réfléchi)|du long) <<- ~>> *
__[i](p_toutes_qqch)__          toutes (?:affaires cessantes|choses égales par ailleurs|griffes dehors|proportions gardées) <<- ~>> *
__[i](p_trait_pour_trait)__     trait pour trait <<- ~>> *
__[i](p_très_bas_haut)__        très (?:bas|haut) <<- ~>> *
__[i](p_très_adverbe)__         très (?:bas|haut|bien|mal) <<- ~>> *
__[i](p_un_à_un)__              (une?) à \1 @@0 <<- ~>> *
__[i](p_un_qqch)__              un (?:à un|jour ou l’autre|instant plus (?:tôt|tard)|milli(?:er|on|ard) de fois|moment plus (?:tôt|tard)|peu (?:mieux|moins bien|partout|plus t(?:ôt|ard) que prévu)|tant soit peu) <<- ~>> *
__[i](p_plus_tôt_tard_que)__    plus t(?:ôt|ard) que (?:prévu|nécessaire) <<- ~>> *
__[i](p_une_qqch)__             une (?:à une|autre fois|bonne fois pour toutes|dernière fois|fois(?: pour toutes| de plus| n’est pas coutume)) <<- ~>> *
__[i](p_une_fois)__             une fois <<- ~>> _
__[i](p_urbi_et_orbi)__         urbi et orbi <<- ~>> *
__[i](p_v_divers)__             v(?:aille que vaille|entre à terre|ers nulle part) <<- ~>> *
5195
5196
5197
5198
5199
5200
5201

5202
5203
5204
5205
5206
5207
5208
5209



5210
5211
5212
5213
5214
5215
5216
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257


5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271







+


-
-




+
+
+







__[i](p_mal_de)__                       ma(?:l|ux) (de (?:tête|ventre|mer)) @@$ <<- ~1>> *
__[i](p_marché_aux_puces)__             marchés? (aux puces) @@$ <<- ~1>> *
__[i](p_maréchal_des_logis)__           maréchale?s? (des logis(?:[ -]chef|)) @@$ <<- ~1>> *
__[i](p_marge_de_manœuvre)__            marges? (de manœuvres?) @@$ <<- ~1>> *
__[i](p_mère_au_foyer)__                mères? (au foyer) @@$ <<- ~1>> *
__[i](p_metteur_en_scène)__             metteu(?:r|se)s? (en scène) @@$ <<- ~1>> *
__[i](p_mineur_de_moins_de_x_ans)__     mineure?s? (de moins de ({w1}) ans) @@$,>1:w <<- \2.isdigit() or morph(\2, ":B", False) ~1>> *
__[i](p_miroir_aux_alouettes)__         miroirs? (aux alouettes) @@$ <<- ~1>> *
__[i](p_monnaie)__                      monnaies? (d’échange|de réserve) @@$  <<- ~1>> *
__[i](p_mode_de)__                      modes? (de (?:paiement|scrutin|vie)) @@$ <<- ~1>> *
__[i](p_mot_de_passe)__                 mots? (de passe) @@$ <<- ~1>> *
__[i](p_motion_de)__                    motions? (de (?:blâme|censure|défiance)) @@$ <<- ~1>> *
__[i](loc_moule_à_qqch)__
    moules? (([àa]) (?:gaufres?|gâteaux?|brioche|manqué|savarin|charlotte)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_mot_de_passe)__                 mots? (de passe) @@$ <<- ~1>> *
__[i](p_moteur_essence_diesel)__        moteurs? (essence|di[eé]sel)s? @@$ <<- ~1>> *
__[i](p_motion_de)__                    motions? (de (?:blâme|censure|défiance)) @@$ <<- ~1>> *
__[i](p_noix_de)__                      noix (de (?:cajou|p[ée]can|coco|lavage|muscade|veau|macadamia)) @@$ <<- ~1>> *
__[i](p_nu_comme_un_ver)__              nue?s? (comme (?:un ver|des vers)) @@$ <<- ~1>> *
__[i](p_numéro)__
    numéro (un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf|)|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante(?:-dix|)|quatre-vingt(?:-dix|)|cent|mille|\d+) @@$
    <<- before(r"\b[lL]a +$") =>> define(\0, [">numéro :N:f:s"])
    <<- ~1>> *
__[i](p_oiseau_de)__                    oiseaux? (de (?:malheur|nuit|proie|mauvais augure)) @@$ <<- ~1>> * 
5317
5318
5319
5320
5321
5322
5323


5324
5325
5326
5327
5328
5329
5330
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387







+
+







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: Il nous faut une {{voix}} de recours.
TEST: c’est une putain d’usine {{a}} gaz.
TEST: un champ de canne à sucre
TEST: La batterie se recharge automatiquement grâce au moteur essence.
TEST: c’est un moteur diésel.


# simplification des nombres
__<i](p_10_qqch)__
    dix-(?:sept|huit|neuf) <<- ~>> dix
__[i](p_20_30_40_50_qqch)__
    (?:vingt|trente|quarante|cinquante)(-(?:deux|trois|quatre|cinq|six|sept|huit|neuf|et-un)| et un) @@$ <<- ~1>> *
5527
5528
5529
5530
5531
5532
5533
5534

5535
5536
5537
5538
5539
5540
5541
5584
5585
5586
5587
5588
5589
5590

5591
5592
5593
5594
5595
5596
5597
5598







-
+







# couleurs invariables
__[i](p_couleurs_invariables)__
    ({w_2}) +((?:beige|blanc|bleu|brun|châtain|cyan|gris|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet) (?:clair|fluo|foncé|irisé|pâle|pastel|sombre|vif|tendre)) @@0,$
    <<- morph(\1, ":[NAQ]", False) ~2>> *

# locutions adjectivales, nominales & couleurs
__[i](p_locutions_adj_nom_et_couleurs)__
    ({w_2}) +(bas(?: de gamme|se consommation)|bon (?:enfant|marché|teint|chic,? bon genre)|cl(?:é|ef) en mains?|dernier cri|fleur bleue|grand (?:public|luxe|maximum)|grandeur nature|haut(?: de gamme|e (?:résolution|fidélité|tension))|longue (?:distance|portée|durée)|meilleur marché|numéro (?:un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf)|onze|douze|treize|quatorze|quinze|seize|vingt)|plein cadre|top secret|vieux jeu|open source|Créative Commons|pair à pair|pur (?:sucre|jus)|terre à terre|bleu (?:ciel|marine|roi|saphir|turquoise)|vert (?:émeraude|olive|pomme)|rouge (?:brique|carmin|écarlate|rubis|sang)|jaune sable|blond platine|gris (?:acier|anthracite|perle|souris)|noir (?:d(?:’encre|e jais)|et blanc))
    ({w_2}) +(bas(?: de gamme|se consommation)|bon (?:enfant|marché|teint|chic,? bon genre)|cl(?:é|ef) en mains?|dernier cri|fleur bleue|grand (?:public|luxe|maximum)|grandeur nature|haut(?: de gamme|e (?:résolution|fidélité|tension))|longue (?:distance|portée|durée)|meilleur marché|numéro (?:un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf)|onze|douze|treize|quatorze|quinze|seize|vingt)|plein cadre|top secret|vieux jeu|open source|Créative Commons|pair à pair|pur (?:sucre|jus)|terre à terre|bleu (?:ciel|marine|roi|saphir|turquoise)|vert (?:émeraude|olive|pomme)|rouge (?:brique|carmin|écarlate|rubis|sang)|rose (?:bonbon|chair|corail)|jaune sable|blond platine|gris (?:acier|anthracite|perle|souris)|noir (?:d(?:’encre|e jais)|et blanc))
    @@0,$
    <<- morphex(\1, ":(?:N|A|Q|V0e)", ":D") ~2>> *

# tous / tout / toute / toutes
__[i](p_tout_déterminant_masculin)__        (tout) (?:le|cet?|[mts]on) @@0              <<- ~1>> *
__[i](p_toute_déterminant_féminin)__        (toute) (?:la|cette|[mts]a) @@0             <<- ~1>> *
__[i](p_tous_toutes_déterminant_pluriel)__  (tou(?:te|)s) (?:[ldscsmt]es|[nv]os) @@0    <<- ~1>> *
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
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







-
+








-
+




-
+







	<<- morph(\1, ">arriver ", False) >>>
	<<- \3 == "a" -3>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
	<<- ~2>> *
__[i](p_donner_sens)__
    ((?:re|)donn\w+) +(sens) @@0,$
    <<- morph(\1, ">(?:re|)donner ", False) ~2>> *
__[i](p_faire_qqch)__
    (f[aiîeo]\w*) +(tous(?: deux| trois|) +|)(allusion|assaut|bande à part|bonne figure|chaud|confiance|compliqué|copain[- ]copain|de (?:[mts]on|leur|[nv]otre) mieux|débat|demi-tour|envie|fausse route|froid|front commun|gr(?:ise mine|and (?:bruit|cas))|h(?:alte|onte)|illusion|ma(?:chine|rche) arrière|main basse|mouche|office|p(?:art(?:ie(?: intégrante|)|)|eur|laisir|rofil bas)|rage|salle comble|sens|signe|table rase|volte-face|ce que bon (?:me|te|lui|leur|nous|vous) semble) @@0,*,$
    (f[aiîeo]\w*) +(tous(?: deux| trois|) +|)(allusion|amende honorable|assaut|bande à part|bonne figure|chaud|confiance|compliqué|copain[- ]copain|de (?:[mts]on|leur|[nv]otre) mieux|dé(?:bat|faut)|demi-tour|envie|fausse route|figure|froid|front commun|gr(?:ise mine|and (?:bruit|cas))|h(?:alte|onte)|illusion|long feu|ma(?:chine|rche) arrière|main basse|mouche|office|p(?:art(?:ie(?: intégrante|)|)|eur|laisir|rofil bas)|rage|salle comble|scandale|sens|signe|table rase|volte-face|ce que bon (?:me|te|lui|leur|nous|vous) semble) @@0,*,$
    <<- morph(\1, ">faire ", False) ~2>> *
    <<- __also__ ~3>> *
__[i](loc_laisser_pour_compte)__
    (laiss\w+) +(pour (co[mnp]tes?))  @@0,$,$
    <<- morph(\1, ">laisser ", False) >>>
    <<- \2 != "compte" -3>> compte              # Confusion. Locution “laisser pour compte”.|https://fr.wiktionary.org/wiki/laisser_pour_compte
    <<- ~2>> *
__[i](loc_mettre_à_qqch)__
    (m(?:et|[iî][mst])\w*) +(([àa]) (?:jour|niveau|plat|l’(?:écart|épreuve))) @@0,$,w
    (m(?:et|[iî][mst])\w*) +(([àa]) (?:bas|jour|niveau|plat|l’(?:écart|épreuve)|terre)) @@0,$,w
    <<- morph(\1, ">mettre ", False) >>>
    <<- \3 == "a" -3>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~2>> *
__[i](p_mettre_qqch)__
    (m(?:et|[iî][mst])\w*) +(au p(?:oint|as)|en (?:avant|bouche|demeure|garde|œuvre|place|scène|terre)|à (?:bas|terre)) @@0,$
    (m(?:et|[iî][mst])\w*) +(au p(?:oint|as)|en (?:avant|bouche|demeure|garde|jeu|lumière|œuvre|place|scène|terre)) @@0,$
    <<- morph(\1, ">mettre ", False) ~2>> *
__[i](loc_mourir_qqch)__
    (m[oe]\w+) +(jeûne)  @@0,$
    <<- morph(\1, ">mourir ", False) -2>> =\2.replace("û", "u")                 # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
__[i](p_paraitre_qqch)__
    (par\w+) +(jeûnes?)  @@0,$
    <<- morph(\1, ">para[îi]tre ", False) -2>> =\2.replace("û", "u")            # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
6514
6515
6516
6517
6518
6519
6520
6521

6522
6523
6524
6525
6526
6527
6528
6571
6572
6573
6574
6575
6576
6577

6578
6579
6580
6581
6582
6583
6584
6585







-
+









## un / une

__[i]/gn(gn_2m_un)__
    (?<!et |ou | d’)un +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\2, ":[NAQ].*:f")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- morphex(\1, ":[NAQ].*:[si]", ":G") and morph(\2, ":[NAQ].*:p") and not \2.startswith("seul")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|d’) *$")
    -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_un_après_et_ou_de)__
    (?:et +|ou +|d’)un +({w_2}) +({w_2})  @@w,$
6543
6544
6545
6546
6547
6548
6549
6550

6551
6552
6553
6554
6555
6556
6557
6600
6601
6602
6603
6604
6605
6606

6607
6608
6609
6610
6611
6612
6613
6614







-
+







TEST: je me souviens d’un homme {{arrogants}}
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.


__[i]/gn(gn_2m_une)__
    (?<!et |ou | d’)une +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:m")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
    <<- \1 != "fois" and morph(\1, ":[NAQ].*:[si]", False) and morph(\2, ":[NAQ].*:p") and not \2.startswith("seul")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|d’) *$")
    -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_une_après_et_ou_de)__
    (?:et +|ou +|d’)une +({w_2}) +({w_2})  @@w,$
6574
6575
6576
6577
6578
6579
6580
6581

6582
6583
6584
6585
6586
6587
6588
6631
6632
6633
6634
6635
6636
6637

6638
6639
6640
6641
6642
6643
6644
6645







-
+








## articles divers

__[i]/gn(gn_2m_le)__
    (?<!et |ou )(le) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- not \3.startswith("seul")
        and morphex(\2, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\3, ":[NAQ].*:f")
        and morphex(\2, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:f")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
    <<- not \3.startswith("seul") 
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
__[i]/gn(gn_2m_le_après_et_ou_de)__
6601
6602
6603
6604
6605
6606
6607
6608

6609
6610
6611
6612
6613
6614
6615
6658
6659
6660
6661
6662
6663
6664

6665
6666
6667
6668
6669
6670
6671
6672







-
+







TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…


__[i]/gn(gn_2m_det_mas_sing)__
    (?<!et |ou |de )(?:cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\2, ":[NAQ].*:f")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- not \2.startswith("seul") 
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_det_mas_sing_après_et_ou_de)__
6653
6654
6655
6656
6657
6658
6659
6660

6661
6662
6663
6664
6665
6666
6667
6710
6711
6712
6713
6714
6715
6716

6717
6718
6719
6720
6721
6722
6723
6724







-
+







TEST: comment osez-vous médire de mon héritage {{glorieuse}}


__[i]/gn(gn_2m_la)__
    (?<!et |ou |de )(la) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and morphex(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\3, ":[NAQ].*:m")
        and morphex(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:m")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
    <<- not \3.startswith("seul") 
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
__[i]/gn(gn_2m_la_après_et_ou_de)__
6679
6680
6681
6682
6683
6684
6685
6686

6687
6688
6689

6690
6691
6692
6693
6694
6695
6696
6736
6737
6738
6739
6740
6741
6742

6743
6744
6745

6746
6747
6748
6749
6750
6751
6752
6753







-
+


-
+







TEST: La plus grande {{cinglé}}.
TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.


__[i]/gn(gn_2m_det_fem_sing)__
    (?<!et |ou |de )(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:m")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
    <<- not \2.startswith("seul") 
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_det_fem_sing_après_et_ou_de)__
    (?:et|ou|de) +(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
6765
6766
6767
6768
6769
6770
6771
6772

6773
6774
6775
6776
6777
6778
6779
6822
6823
6824
6825
6826
6827
6828

6829
6830
6831
6832
6833
6834
6835
6836







-
+







TEST: chaque élément {{terrestres}}
TEST: ils viennent de chaque coin {{ignorée}} du pays.


__[i]/gn(gn_2m_det_mas_plur)__
    (?<!et |ou |de )(?:certains|quels|lesdits) +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0|f)") and morph(\2, ":[NAQ].*:f")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasPlur(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[pi]", ":G") and morph(\2, ":[NAQ].*:s")
        and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not before(r"(?i)\bune de ")
    -2>> =suggMasPlur(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
6795
6796
6797
6798
6799
6800
6801
6802

6803
6804
6805
6806
6807
6808
6809
6852
6853
6854
6855
6856
6857
6858

6859
6860
6861
6862
6863
6864
6865
6866







-
+







TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit.
TEST: chez certains la revue Limite provoque des crises d’hystérie.


__[i]/gn(gn_2m_det_fem_plur)__
    (?<!et |ou |de )(?:certaines|quelles|lesdites) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:m")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemPlur(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
    <<- not \2.startswith("seul")
        and morph(\1, ":[NAQ].*:[pi]", False) and morph(\2, ":[NAQ].*:s")
        and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not before(r"(?i)\bune de ")
    -2>> =suggFemPlur(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
7874
7875
7876
7877
7878
7879
7880
7881

7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898

7899
7900
7901
7902
7903
7904
7905
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







-
+

















+







TEST: Implacable, elle a rendu {{cout pour cout}} sans se départir de son calme.


# cour / cours / court
__[i]/conf(conf_au_cours_de)__
    au (court?) (?:des?|du?) @@3 <<- -1>> cours                                 # Confusion probable. Une cour… Un cours… Adjectif : court(e).
__[i]/conf(conf_en_cours)__
    en cour(?! martiale?| de justice) <<- ->> en cours                          # Confusion probable. Une cour… Un cours… Adjectif : court(e).
    en cour(?! martiale?| de (?:cassation|justice)) <<- ->> en cours                          # Confusion probable. Une cour… Un cours… Adjectif : court(e).
__[i]/conf(conf_couper_court)__
    (coup\w+) (cours?) @@0,$ <<- morph(\1, ">couper ") -2>> court               # « Couper court ». Écourter. Une cour… Un cours… Adjectif : court(e).
__[i]/conf(conf_laisser_libre_cours)__
    ({w1}) +libre (court?) @@0,$
    <<- morph(\1, ">(?:avoir|donner|laisser) ", False) -2>> cours               # Confusion probable. Ce qui a « libre cours ».|https://fr.wiktionary.org/wiki/donner_libre_cours
__[i]/conf(conf_à_court_de)__
    à (cours?) de? @@2 <<- -1>> court                                           # Confusion probable : écrivez « à court de … » pour « manquer de … »
__[i]/conf(conf_à_court_terme)__
    à cour(?:s|ts|) termes? <<- ->> à court terme                               # Confusion. Une cour… Un cours… Adjectif : court(e).

TEST: au {{court}} de cette journée
TEST: les exercices {{en cour}} se déroulent bien.
TEST: je vais couper {{cours}} à ces conneries.
TEST: il faut donner libre {{cour}} à ses envies.
TEST: Nous allons bientôt être à {{cours}} d’argent.
TEST: le rendement {{à cours terme}} est excellent.
TEST: porter l’affaire en Cour de justice
TEST: jusqu’en cour de cassation


# dés / dès
__[i]/conf(conf_dès_que_lors1)__
    (dés) (?:les?|la|que?|lors|avant|demain) @@0
    <<- not before(r"(?i)\b(?:[lmtsc]es|des?|[nv]os|leurs|quels) +$") -1>> dès
    # Confusion probable. Les dés sont des polyèdres ou des protège-doigts pour la couture. Pour signifier “à partir de/du/des”, écrivez :|https://fr.wiktionary.org/wiki/d%C3%A9