Grammalecte  Artifact Content

Artifact f72468144571116f8c75c32dbc887d180da4f60d96151323112d32a5519287e3:

  • File gc_lang/fr/rules.grx — part of check-in [868f798b57] at 2019-10-20 16:11:01 on branch trunk — [fr] nr: ppas avec verbes à usage pronominal (user: olr size: 1758925)

#
#   RÈGLES DE GRAMMAIRE FRANÇAISE POUR GRAMMALECTE
#   par Olivier R.
#
#   Copyright © 2011-2019.
#
#   This file is part of Grammalecte.
#
#   Grammalecte is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   Grammalecte is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with Grammalecte.  If not, see <http://www.gnu.org/licenses/>
#

# RÈGLES PAR EXPRESSIONS RÉGULIÈRES

# DOCUMENTATION
# Expressions régulières en Python : http://docs.python.org/library/re.html

# [++] : séparateur des règles pour le paragraphe et des règles pour la phrase.

# Types d’action:
#   ->> erreur
#   ~>> préprocesseur de texte
#   =>> désambiguïsateur

# Groups positioning code for JavaScript:
# Always begins by @@
#   0 ... n         left boundary position from left
#   $               right boundary
#   w               word boundaries
#   *               something somewhere
#   **              something somewhere after previous group
#   >x:_            within group x, _ is group position code within group x

# Fin d’interprétation du fichier avec une ligne commençant par #END

# ERREURS COURANTES
# http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Fautes_d%27orthographe/Courantes


!!
!!
!! Options                                                                                        !!
!!
!!

OPTGROUP/basic: typo apos eepi, esp tab, nbsp unit, tu maj, num virg, nf poncfin, ocr chim, liga mapos
OPTGROUP/gramm: conf sgpl gn
OPTGROUP/verbs: infi conj ppas, imp inte vmode
OPTGROUP/style: bs pleo, redon1 redon2, neg
OPTGROUP/misc: date mc
OPTGROUP/debug: idrule

# Names of options is used in dictionaries keys: dOptPython, dOptJavaScript, etc.
OPTSOFTWARE:        Python      Server      Writer      JavaScript  Firefox     Thunderbird
OPT/typo:           True        True        True        True        True        True
OPT/apos:           True        True        True        True        True        True
OPT/eepi:           True        True        True        True        True        True
OPT/esp:            True        True        True        False       False       False
OPT/tab:            False       True        False       False       False       False
OPT/nbsp:           True        True        True        False       False       False
OPT/tu:             True        True        True        True        True        True
OPT/maj:            True        True        True        True        True        True
OPT/num:            True        True        True        True        True        True
OPT/virg:           True        True        True        True        True        True
OPT/poncfin:        False       False       False       False       False       False
OPT/unit:           True        True        True        False       False       False
OPT/nf:             True        True        True        True        True        True
OPT/liga:           False       False       False       False       False       False
OPT/mapos:          False       False       False       False       False       False
OPT/chim:           False       False       False       False       False       False
OPT/ocr:            False       False       False       False       False       False
OPT/conf:           True        True        True        True        True        True
OPT/sgpl:           True        True        True        True        True        True
OPT/gn:             True        True        True        True        True        True
OPT/infi:           True        True        True        True        True        True
OPT/conj:           True        True        True        True        True        True
OPT/ppas:           True        True        True        True        True        True
OPT/imp:            True        True        True        True        True        True
OPT/inte:           True        True        True        True        True        True
OPT/vmode:          True        True        True        True        True        True
OPT/bs:             True        True        True        True        True        True
OPT/pleo:           True        True        True        True        True        True
OPT/redon1:         False       False       False       False       False       False
OPT/redon2:         False       False       False       False       False       False
OPT/neg:            False       False       False       False       False       False
OPT/date:           True        True        True        True        True        True
OPT/mc:             False       False       False       False       False       False
OPT/idrule:         False       False       False       False       False       False
OPT/html:           False       False       False       True        True        True
OPT/latex:          False       False       False       False       False       False

# Priority: from 0 to 9. Default priority is 4.
OPTPRIORITY/tu:     7
OPTPRIORITY/conf:   5
OPTPRIORITY/ocr:    3

# COLORS are must be described with the HSL format (0-360, 0-100 %, 0-100 %) [don’t write the sign %]
COLOR/orange:       30,70,50
COLOR/orange2:      40,90,50
COLOR/violet:       270,45,35
COLOR/bleu:         210,50,50
COLOR/bleupr:       240,40,60
COLOR/fuschia:      300,30,40
COLOR/cyan:         180,50,40
COLOR/grey:         0,50,50
COLOR/orange_vif:   30,100,60
COLOR/jaune_vif:    55,100,45
COLOR/violet_vif:   270,100,70
COLOR/bleu_vif:     210,100,50
COLOR/vert_vif:     120,100,40
COLOR/cyan_vif:     180,100,40
COLOR/bleupr_clair: 240,70,70

OPTCOLORTHEME:      Default     Writer
OPTCOLOR/typo:      orange      orange_vif
OPTCOLOR/apos:      orange2     jaune_vif
OPTCOLOR/eepi:      orange2     jaune_vif
OPTCOLOR/esp:       orange      orange_vif
OPTCOLOR/tab:       orange      orange_vif
OPTCOLOR/nbsp:      orange      orange_vif
OPTCOLOR/tu:        orange      orange_vif
OPTCOLOR/maj:       orange      orange_vif
OPTCOLOR/num:       orange      orange_vif
OPTCOLOR/virg:      orange      orange_vif
OPTCOLOR/poncfin:   orange      orange_vif
OPTCOLOR/unit:      orange      orange_vif
OPTCOLOR/nf:        orange      orange_vif
OPTCOLOR/liga:      orange      orange_vif
OPTCOLOR/mapos:     orange      orange_vif
OPTCOLOR/chim:      orange      orange_vif
OPTCOLOR/ocr:       bleupr      bleupr_clair
OPTCOLOR/conf:      violet      violet_vif
OPTCOLOR/sgpl:      bleu        bleu_vif
OPTCOLOR/gn:        bleu        bleu_vif
OPTCOLOR/infi:      fuschia     vert_vif
OPTCOLOR/conj:      fuschia     vert_vif
OPTCOLOR/ppas:      fuschia     vert_vif
OPTCOLOR/imp:       fuschia     vert_vif
OPTCOLOR/inte:      fuschia     vert_vif
OPTCOLOR/vmode:     fuschia     vert_vif
OPTCOLOR/bs:        cyan        cyan_vif
OPTCOLOR/pleo:      cyan        cyan_vif
OPTCOLOR/redon1:    cyan        cyan_vif
OPTCOLOR/redon2:    cyan        cyan_vif
OPTCOLOR/neg:       cyan        cyan_vif
OPTCOLOR/date:      cyan        cyan_vif
OPTCOLOR/mc:        cyan        cyan_vif

# Texte pour voir toutes les erreurs.
# Mardi, 26 janvier 2019. Lorsqu'il arrivas, et il      arriva épuisé, la journées était terminées, et et il n’y avais plus rien à mangé, hormis des baigner.         Quel décepption ce fut !
# [OCR] 11 faut être plus organisé, oui ?
# D'habitude, c'est l'organisateur qui s'occupe de ça.


OPTDEFAULTUILANG: fr_FR

# Labels
OPTLANG/fr_FR:      Grammalecte (Français)
OPTLABEL/basic:     Typographie
OPTLABEL/typo:      Signes typographiques
OPTLABEL/apos:      Apostrophe typographique|Correction des apostrophes droites. Automatisme possible dans le menu Outils > Options d’autocorrection > Options linguistiques > Guillemets simples > Remplacer (à cocher)
OPTLABEL/eepi:      Écriture épicène|Normalisation de l’écriture épicène avec points médians.
OPTLABEL/esp:       Espaces surnuméraires|Signale les espaces inutiles entre les mots, en début et en fin de ligne.
OPTLABEL/tab:       Tabulations surnuméraires|Signale les tabulations inutiles en début et en fin de ligne.
OPTLABEL/nbsp:      Espaces insécables|Vérifie les espaces insécables avec les ponctuations « ! ? : ; » (à désactiver si vous utilisez une police Graphite)
OPTLABEL/maj:       Majuscules|Vérifie l’utilisation des majuscules et des minuscules (par exemple, « la raison d’État », « les Européens »).
OPTLABEL/virg:      Virgules|Virgules manquantes avant “mais”, “car” et “etc.”.
OPTLABEL/poncfin:   Ponctuation finale [!]|Vérifie s’il manque une ponctuation finale au paragraphe (seulement pour les paragraphes constitués de plusieurs phrases).
OPTLABEL/tu:        Traits d’union|Cherche les traits d’union manquants ou inutiles.
OPTLABEL/num:       Nombres|Espaces insécables sur les grands nombres (> 10 000). Vérifie la présence de « O » au lieu de « 0 ».
OPTLABEL/unit:      Espaces insécables avant unités de mesure
OPTLABEL/nf:        Normes françaises
OPTLABEL/liga:      Signaler ligatures typographiques|Ligatures de fi, fl, ff, ffi, ffl, ft, st.
OPTLABEL/mapos:     Apostrophe manquante après lettres isolées [!]|Apostrophe manquante après les lettres l d s n c j m t ç. Cette option sert surtout à repérer les défauts de numérisation des textes et est déconseillée pour les textes scientifiques.
OPTLABEL/chim:      Chimie [!]|Typographie des composés chimiques (H₂O, CO₂, etc.).
OPTLABEL/ocr:       Erreurs de numérisation (OCR) [!]|Erreurs de reconnaissance optique des caractères. Beaucoup de faux positifs.

OPTLABEL/gramm:     Noms et adjectifs
OPTLABEL/conf:      Confusions et faux-amis|Cherche des erreurs souvent dues à l’homonymie (par exemple, les confusions entre « faîte » et « faite »).
OPTLABEL/sgpl:      Pluriels (locutions)|Vérifie l’usage du pluriel ou du singulier dans certaines locutions.
OPTLABEL/gn:        Accords (genre et nombre)|Accords des noms et des adjectifs.

OPTLABEL/verbs:     Verbes
OPTLABEL/conj:      Conjugaisons|Accord des verbes avec leur sujet.
OPTLABEL/infi:      Infinitif|Confusion entre l’infinitif et d’autres formes.
OPTLABEL/imp:       Impératif|Vérifie notamment la deuxième personne du singulier (par exemple, les erreurs : « vas … », « prend … », « manges … »).
OPTLABEL/inte:      Interrogatif|Vérifie les formes interrogatives et suggère de lier les pronoms personnels avec les verbes.
OPTLABEL/ppas:      Participes passés, adjectifs
OPTLABEL/vmode:     Modes verbaux

OPTLABEL/style:     Style
OPTLABEL/bs:        Populaire|Souligne un langage courant considéré comme erroné, comme « malgré que ».
OPTLABEL/pleo:      Pléonasmes|Repère des redondances sémantiques, comme « au jour d’aujourd’hui », « monter en haut », etc.
OPTLABEL/neg:       Adverbe de négation [!]|Ne … pas, ne … jamais, etc.
OPTLABEL/redon1:    Répétitions dans le paragraphe [!]|Sont exclus les mots grammaticaux, ceux commençant par une majuscule, ainsi que “être” et “avoir”.
OPTLABEL/redon2:    Répétitions dans la phrase [!]|Sont exclus les mots grammaticaux, ainsi que “être” et “avoir”.

OPTLABEL/misc:      Divers
OPTLABEL/mc:        Mots composés [!]|Vérifie si les mots composés à trait d’union existent dans le dictionnaire (hormis ceux commençant par ex-, mi-, quasi-, semi-, non-, demi- et d’autres préfixes communs).
OPTLABEL/date:      Validité des dates

OPTLABEL/debug:     Débogage
OPTLABEL/idrule:    Identifiant des règles de contrôle [!]|Affiche l’identifiant de la règle de contrôle dans les messages d’erreur.


OPTLANG/en_US:      Grammar checking (French)
OPTLABEL/basic:     Typography
OPTLABEL/typo:      Typographical glyphs
OPTLABEL/apos:      Typographical apostrophe|Detects typewriter apostrophes. You may get automatically typographical apostrophes in Tools > Autocorrect options > Localized options > Single quote > Replace (checkbox).
OPTLABEL/eepi:      Epicene writing|Normalization of epicene writing (usage of middle dots).
OPTLABEL/esp:       Useless spaces|Checks spaces within words and at the beginning and the end of lines.
OPTLABEL/tab:       Useless tabulations|Checks tabulations at the beginning and the end of lines.
OPTLABEL/nbsp:      Non-breakable spaces|Checks the use of non-breakable spaces with the following punctuation marks: « ! ? : ; » (deactivate it if you use a Graphite font).
OPTLABEL/maj:       Capitals|Checks the use of uppercase and lowercase letters (i.e. « la raison d’État », « les Européens »).
OPTLABEL/virg:      Commas|Missing commas before “mais”, “car” and “etc.”.
OPTLABEL/poncfin:   Ending punctuation [!]|Checks if an ending punctuation is missing on paragraphs (only for multi-sentences paragraphs).
OPTLABEL/tu:        Hyphens|Checks missing or useless hyphens.
OPTLABEL/num:       Numbers|Large numbers and « O » instead of « 0 ».
OPTLABEL/unit:      Non-breaking spaces before units of measurement
OPTLABEL/nf:        French standards
OPTLABEL/liga:      Report typographical ligatures|Ligatures of fi, fl, ff, ffi, ffl, ft, st.
OPTLABEL/mapos:     Missing apostrophes after single letters [!]|Missing apostrophes after l d s n c j m t ç. This option is mostly useful to detect defects of digitized texts and is not recommended for scientific texts.
OPTLABEL/chim:      Chemistry [!]|Typography for molecules (H₂O, CO₂, etc.)
OPTLABEL/ocr:       OCR errors [!]|Warning: many false positives.

OPTLABEL/gramm:     Nouns and Adjectives
OPTLABEL/conf:      Confusions and false friends|Seeks errors often due to homonymy (i.e. confusions between « faîte » et « faite »).
OPTLABEL/sgpl:      Plural (locutions)|Checks the use of plural and singular in locutions.
OPTLABEL/gn:        Agreement (gender and number)|Agreement between nouns and adjectives.

OPTLABEL/verbs:     Verbs
OPTLABEL/conj:      Conjugation|Agreement between verbs and their subject.
OPTLABEL/infi:      Infinitive|Checks confusions between infinitive forms and other forms.
OPTLABEL/imp:       Imperative mood|Checks particularly verbs at second person singular (i.e. errors such as: « vas … », « prend … », « manges … »).
OPTLABEL/inte:      Interrogative mood|Checks interrogative forms and suggests linking the personal pronouns with verbs.
OPTLABEL/ppas:      Past participles, adjectives|Checks subject agreement with past participles and adjectives.
OPTLABEL/vmode:     Verbal modes

OPTLABEL/style:     Style
OPTLABEL/bs:        Popular style|Underlines misuse of language though informal and commonly used.
OPTLABEL/pleo:      Pleonasms|Semantic replications, like « au jour d’aujourd’hui », « monter en haut », etc.
OPTLABEL/neg:       Negation adverb [!]|Ne … pas, ne … jamais, etc.
OPTLABEL/redon1:    Duplicates in paragraph [!]|Are excluded grammatical words, words beginning by a capital letter, and also “être” and “avoir”.
OPTLABEL/redon2:    Duplicates in sentence [!]|Are excluded grammatical words, and also “être” and “avoir”.

OPTLABEL/misc:      Miscellaneous
OPTLABEL/mc:        Compound words [!]|Check if words with hyphen exist in the dictionary (except those beginning by ex-, mi-, quasi-, semi-, non-, demi- and other common prefixes).
OPTLABEL/date:      Date validity.

OPTLABEL/debug:     Debug
OPTLABEL/idrule:    Display control rule identifier [!]|Display control rule identifier in the context menu message.



!!
!!
!! Définitions pour les regex                                                                     !!
!!
!!

# REGEX
DEF: avoir          [aeo]\w*
DEF: etre           [êeésf]\w+
DEF: avoir_etre     [aeêésfo]\w*
DEF: aller          (?:ai?ll|v[ao]|ir[aio])\w*
DEF: ppas           \w[\w-]+[éiust]e?s?
DEF: infi           \w[\w-]+(?:er|ir|re)
DEF: w_1            \w[\w-]*
DEF: w_2            \w[\w-]+
DEF: w_3            \w[\w-]+\w
DEF: w_4            \w[\w-][\w-]+\w
DEF: w1             \w+
DEF: w2             \w\w+
DEF: w3             \w\w\w+
DEF: w4             \w\w\w\w+

# GRAPH
DEF: mois           [>janvier|>février|>mars|>avril|>mai|>juin|>juillet|>août|>aout|>septembre|>octobre|>novembre|>décembre|>vendémiaire|>brumaire|>frimaire|>nivôse|>pluviôse|>ventôse|>germinal|>floréal|>prairial|>messidor|>thermidor|>fructidor]
DEF: mi_mois        [>mi-janvier|>mi-février|>mi-mars|>mi-avril|>mi-mai|>mi-juin|>mi-juillet|>mi-août|>mi-aout|>mi-septembre|>mi-octobre|>mi-novembre|>mi-décembre|mi-vendémiaire|mi-brumaire|mi-frimaire|mi-nivôse|mi-pluviôse|mi-ventôse|mi-germinal|mi-floréal|mi-prairial|mi-messidor|mi-thermidor|mi-fructidor]
DEF: pronom_obj     [moi|toi|soi|lui|elle|nous|vous|eux|elles|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes]


!!
!!
!! Déclinaisons de tokens                                                                         !!
!!
!!

DECL: +s    s
DECL: +e    e
DECL: +ses  s e es
DECL: +es   e es
DECL: +les  s le les
DECL: +x    x


!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!! PASSE 0: PARAGRAPHE PAR PARAGRAPHE                                                             !!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!



!!
!!
!!! Espaces & tabulations                                                                         !!
!!
!!

# Espaces surnuméraires
# Note : les tabulations ne sont pas soulignées dans LibreOffice. Mais l’erreur est bien présente.
__<s>/tab(tab_début_ligne)__           ^[      ]+ <<- ->> ""                   # Espace(s) en début de ligne à supprimer : utilisez les retraits de paragraphe.
__<s>/tab(tab_fin_ligne)__             [       ]+$ <<- ->> ""                  # Espace(s) en fin de ligne à supprimer.

TEST: __tab__ {{    }}Espaces surnuméraires.                                    ->> ""
TEST: __tab__ {{        }}— Je suis là…
TEST: __tab__ Espaces surnuméraires.{{              }}                          ->> ""
TEST: __tab__ Fin de ligne{{    }}


__<s>/esp(esp_début_ligne)__        ^[   ]+ <<- ->> ""                          # Espace(s) en début de ligne à supprimer : utilisez les retraits de paragraphe (ou les tabulations à la rigueur).
__<s>/esp(esp_fin_ligne)__          [   ]+$ <<- ->> ""                                              # Espace(s) en fin de ligne à supprimer.
__<s>/esp(esp_milieu_ligne)__       (?:\b|[.?!,:;%‰‱˚»”])(  +) @@$ <<- -1>> " "                   # Espace(s) surnuméraire(s) à supprimer.

TEST: {{         }}Encore des espaces surnuméraires.                    ->> ""
TEST: {{ }}— Je suis là…
TEST: Espaces surnuméraires.{{         }}                               ->> ""
TEST: Fin de ligne{{ }}
TEST: Espaces{{                 }}surnuméraires.                        ->> " "


# Espaces insécable et sécable, et tabulations
__<s>/esp(esp_mélangés1)__              (?:  |  ) <<- ->> " | "                                     # Incohérence : l’espace insécable à côté de l’espace sécable n’a pas d’effet.
__<s>/esp(esp_mélangés2)__              (?:\u0009[  ]|[  ]\u0009) <<- ->> " |   "                   # Incohérence : espace et tabulation.

TEST: J’espère que ça ne va pas durer trop longtemps avec Mr{{  }}Paul.
TEST: J’espère que ça ne{{ 	}}va pas durer. (Ici, espace suivi d’une tabulation)


# Espaces insécables multiples
__<s>/esp(esp_insécables_multiples)__   "[  ][  ]+" <<- ->> " | "                                   # Espace(s) insécable(s) surnuméraire(s) à supprimer.

TEST: «{{  }}Je suis partie. »
TEST: « Je suis partie.{{  }}»


# Espace avant ou après tiret
__[i]/esp(esp_avant_après_tiret)__
    ({w_1})( [-–—]|[-–—] )({w_1})  @@0,**,$
        <<- not \1.endswith("-t") and \3 != "t" and not (\2 == " -" and \3.isdigit()) >>>
        <<- (\3 == "je" and morph(\1, ":1s"))
            or (\3 == "tu" and morph(\1, ":2s"))
            or (\3 == "il" and morph(\1, ":3s"))
            or (\3 == "elle" and morph(\1, ":3s"))
            or (\3 == "on" and morph(\1, ":3s"))
            or (\3 == "nous" and morph(\1, ":1p"))
            or (\3 == "vous" and morph(\1, ":2P"))
            or (\3 == "ils" and morph(\1, ":3p"))
            or (\3 == "elles" and morph(\1, ":3p"))
        ->> \1-\3|\1 – \3|\1 — \3           # Espace superflu s’il s’agit bien d’une forme conjuguée interrogative (sinon, il manque un espace à côté du tiret).
        <<- __else__ -2>> " – | — "         # Il manque un espace à côté du tiret.

TEST: Le {{faut -il}} ?             ->> faut-il|faut – il|faut — il
TEST: qu’y {{puis -je}} ?           ->> puis-je|puis – je|puis — je
TEST: Le {{faut -il}} ?             ->> faut-il|faut – il|faut — il
TEST: qu’y {{puis -je}} ?           ->> puis-je|puis – je|puis — je
TEST: L’exposant −127, code 0000 0000, est réservé pour zéro


# Espaces et crochets et parenthèses
__<s>/typo(typo_espace_après_signe_ouvrant)__    "([\[(]) "  @@0 <<- ->> \1                         # Pas d’espace après ce signe.
__<s>/typo(typo_espace_avant_signe_fermant)__    " ([\])])"  <js> ([\]\)])</js>  @@1  <<- ->> \1    # Pas d’espace avant ce signe.

TEST: c’est pas trop tôt {{( }}on a failli attendre).
TEST: blabla … {{[ }}crochets]                                            ->> [
TEST: {{( }}parenthèses)                                                  ->> (
TEST: c’est (enfin{{ )}} parti.
TEST: voici des (parenthèses{{ )}}, n’est-ce pas ?                        ->> )


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

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


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

TEST: Il a fini{{ .}} Va te faire foutre, connard.
TEST: Merde{{ .}}Ça m’emmerde, ces trucs.


# Virgules et espaces
__<s>/typo(typo_virgule_entre_deux_espaces)__    "[  ],(?=[  ])"  <<- ->> ,                         # Pas d’espace avant une virgule.
__<s>/typo(typo_virgule_collée_à_mot_suivant)__  "[  ],(?=\w)"  <<- ->> ", "                        # Pas d’espace avant une virgule. Un espace après.

TEST: Merde{{ ,}}ça fait chier.
TEST: Eh oui{{ ,}} c’est encore moi.


# Guillemets et espaces
__<s>/typo(typo_guillemets_fermants_perdus)__
    [  ]”[  ]
        <<- ->> "” | “"                                                                             # Pas d’espace avant ces guillemets ouvrants.
__<s>/typo(typo_guillemets_ouvrants_perdus)__
    [  ]“[  ]
        <<- ->> " “|” "                                                                             # Pas d’espace après ces guillemets ouvrants.
__<s>/typo(typo_guillemets_perdus)__
    [   ](?:"|['‘’]['‘’])[   ]
        <<- ->> " « | » | “|” "                                                                     # Guillemets isolés.
__<s>/typo(typo_commencement_guillemets)__
    ^(?:"|['‘’]['‘’])[   ]
        <<- ->> « |“                                                                                # Guillemets ouvrants.
__<s>/typo(typo_guillemets_fin)__
    ([   ](?:"|['‘’]['‘’]))(?:$|[.,;?!])  @@0
        <<- -1>> " »|”"                                                                             # Guillemets fermants.

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


__<s>/typo(typo_guillemets_fermants_inverses)__
    [  ]”(?=\w)
        <<- ->> " “"                                                                                # Mettez des guillemets ouvrants plutôt que fermants.
__<s>/typo(typo_guillemets_ouvrants_inverses1)__
    \w([«“][  ]) @@1
        <<- -1>> " »|”"                                                                             # Mettez des guillemets fermants plutôt qu’ouvrants.
__<s>/typo(typo_guillemets_ouvrants_inverses2)__
    ([«“])[  ]*$ @@0
        <<- -1>> " »|”"                                                                             # Mettez des guillemets fermants plutôt qu’ouvrants.
__<s>/typo(typo_guillemets_ouvrants_inverses3)__
    \w([  ][«“])[  ]*[!?,:;.…] @@1
        <<- -1>> " »|”"                                                                             # Mettez des guillemets fermants plutôt qu’ouvrants.

TEST: « Le grand homme{{«}}
TEST: « La grande femme{{ «}} !
TEST: Eux et leurs{{ ”}}amis{{”}} sont finis !
TEST: Vos {{“}}amis{{“ }}et vous êtes finis !



#
#
# NOTE
# Tout contrôle des espaces existants doit se faire avant ce point.
# À partir d’ici, toute règle est susceptible de supprimer des caractères et les remplacer par des espaces ou des chaînes de longueur égale.
#
#


!!!
!!!
!!! Processeur: efface les ponctuations gênantes (URL, sigles, abréviations, IP, heures, etc.)    !!
!!!
!!!

# e-mail
__<i>(p_email)__
    \w[\w.-]*@\w[\w.-]*\w[.]\w\w+ <<- ~>> __MAIL__

# URL
__<i>(p_URL)__
    (?:ht|f)tps?://[\w./?&!%=+*"'@$#-]+ <<- ~>> __URL__
__<i](p_URL2)__
    ((?:{w_1}[.])*)({w_2})([.](?:com|net|org|info|fr|ca|be|ch|i[ot]|co[.]uk|tk|jp|zh|ru|us|nl|xyz)) @@0,**,$
    <<- ~1>> *
    <<- ~2>> =\2.capitalize()
    <<- ~3>> *

# Numéro de chapitre
__<i>(p_chapitre)__
    ^\d+[.][\d.-]* <<- ~>> *

# Numéro suivi de plusieurs espaces, considéré comme une numérotation de chapitre
__<i>(p_num_chapitre)__
    ^\d+(?:  +|\t+) <<- ~>> *

# bibliographie
__[s>(p_chap_coll_cf)__     [cC](?:f|hap|oll?)([.]) @@$ <<- ~1>> *
__[s](p_page)__             p[.] ?\d+(?:-\d+|) <<- ~>> *
__[s](p_pages)__            pp[.] ?\d+-\d+ <<- ~>> *
__[i](p_figure)__           figure (\d+(?:[.:-]\d+|))  @@$ <<- ~1>> *
__[i](p_article)__          art(?:icle|[.]) (1(?:er|ᵉʳ)|\d+(?:[.:-]\w+|)) @@$ <<- ~1>> *
__[s>(p_av)__               av[.] <<- ~>> av

# versus
__[s>(p_vs)__
    vs[.]
    <<- ->> "vs "               # Pas de point après cette abréviation.
    <<- ~>> vs

# version
__[i](p_version_numéro)__
    versions? ([0-9]+(?:[.][0-9]+[a-z]?)*) @@$ <<- ~1>> *

# sigles
__<s>(p_sigle1)__
    ([A-Z][.][A-Z][.](?:[A-Z][.])*) +[A-ZÉÀÂÊÎÈÔ]  @@0  <<- ~1>> =\1.replace(".", "")+"."
__[s>(p_sigle2)__
    [a-zA-Z][.][a-zA-Z][.](?:[a-zA-Z][.])*
    <<- not re.search("(?i)^(?:i\\.e\\.|s\\.[tv]\\.p\\.|e\\.g\\.|a\\.k\\.a\\.|c\\.q\\.f\\.d\\.|b\\.a\\.|n\\.b\\.)$", \0) >>>
    <<- \0.__len__() == 4 ->> =\0.replace(".", "").upper() + "|" + \0[0:2] + " " + \0[2:4]
    # Sigle. Il est recommandé d’ôter les points pour les sigles. (S’il s’agit d’un prénom et d’un nom, mettez un espace.)|https://fr.wikipedia.org/wiki/Sigle#Typographie
    <<- __else__ ->> =\0.replace(".", "").upper()                                                   # Sigle. Il est recommandé d’ôter les points pour les sigles.|https://fr.wikipedia.org/wiki/Sigle#Typographie
    <<- \0 != "b.a." ~>> =\0.replace(".", "_")
__[s>(p_sigle3)__
    J[.]-[A-Z][.] <<- ~>> =\0.replace(".", "").replace("-","")

# Mr et MM
__[s>(p_M_point)__
    (M[.]) (?:[A-ZÉÈÎ]\w*|l[e'’])  @@0 <<- ~1>> Mr
__[s>(p_MM_point)__
    MM[.] <<- ~>> "MM "
__[s>(p_Mr_Mgr_Mme_point)__
    M(?:r|gr|me) [A-ZÉ]([.])(?=\W+[a-zéèêâîïû]) @@$ <<- ~1>> *

# Patronyme réduit à une seule lettre
__[s](p_prénom_lettre_point_patronyme)__
    ([A-ZÉÈÂÎ][\w-]+)[  ][A-ZÉÈÂ]([.])[  ]([A-ZÉÈÂ][\w-]+) @@0,*,$
    <<- morph(\1, ":M[12]") and (morph(\3, ":(?:M[12]|V)") or not spell(\3)) ~2>> *
__[s>(p_prénom_lettre_point)__
    ([A-ZÉÈÂÎ][\w-]+)[  ][A-ZÉÈÂ]([.]) @@0,$
    <<- morph(\1, ":M[12]") and after("^\\W+[a-zéèêîïâ]") ~2>> _

# Patronymes composés avec Le/La/Les
__[s](p_patronyme_composé_avec_le_la_les)__
    [A-ZÉÈÂÎ][\w-]+[-–—]L(?:es?|a) [A-ZÉÈÂÎ][\w-]+ <<- ~>> =\0.replace(" ", "_")

# IP
__[s](p_adresse_IP)__
    \d+[.:]\d+[.:]\d+[.:]\d+  <<- ~>> *

# Arborescence
__[s>(p_arborescence_Linux_Mac)__
    /(?:bin|boot|dev|etc|home|lib|mnt|opt|root|sbin|tmp|usr|var|Bureau|Documents|Images|Musique|Public|Téléchargements|Vidéos)(?:/[\w.()]+)*  <<- ~>> *

__[i>(p_arborescence_Windows)__
    [a-z]:\\(?:Program Files(?: [(]x86[)]|)|[\w.()]+)(?:\\[\w.()]+)*  <<- ~>> *

# mètres (m)
__[s>(p_chiffres_m)__
    "\d+ (m) "  @@w <<- ~1>> _

# crochets
__[s](p_points_suspension_entre_crochets)__
    \[…\] <<- ~>> *
__[s](p_mot_entre_crochets)__
    \[({w_1})\] @@1
    <<- \1.isdigit() ~>> *
    <<- __else__ and morph(\1, ":G") ~>> =" " + \1 + " "
    <<- __else__ and \1.isalpha() ~>> " _"

# parenthèses
__[s](points_suspension_entre_parenthèses)__
    \(…\)
    <<- ->> […]                 # Pour indiquer une troncature de texte, on utilise usuellement des crochets.
    <<- ~>> *
__<i>(p_préfixes_entre_parenthèses)__
    " (\(r[eé]\))\w+"  @@1
        <<- ~1>> *

TEST: par {{O.R.}}                                          ->> OR|O. R.
TEST: l’{{A.N.P.E.}} n’existe plus
TEST: ce chien […] ne {{semblez}} pas en forme.
TEST: ce chat {{(…)}} ne {{ressemblez}} pas aux autres.
TEST: les tests de la version 3.17.8 {{commence}} demain.
TEST: ce nouveau moteur de recherche (http://www.cherche-moi-ça.fr/home.php&lang=fr) fonctionne pas mal.
TEST: L’A.M. Turing Award 2015
TEST: Retrouvez-nous sur le Monde.fr
TEST: Arthur D. vient chez nous.
TEST: Arthur D., de toute façon, vient chez nous.
TEST: N.B. : ceci est en réalité superflu.
TEST: Arthur D. « viendra ».
TEST: Ça arrivera à 12:30
TEST: Prêt à 03:03:12.
TEST: Les conseillers de George W. Bush dominent toujours l’establishment républicain.
TEST: IP : 192.168.0.99
TEST: Si l’on peut comprendre que Mme S. ait voulu être prise au sérieux
TEST: C’est le b.a.-ba du métier.
TEST: qui a été le plus honnête [Rires]
TEST: Marion Maréchal-Le Pen. Afin que Maréchal ne soit pas analysé comme un impératif, “Le Pen” devient “Le_Pen”.
TEST: Car [je] deviendrai plus insaisissable que jamais.
TEST: C’est dans le dossier D:\Data
TEST: Dossier C:\Program Files (x86)\LibreOffice
TEST: [1] Dossier à revoir.
TEST: jusqu’à 12h47
TEST: Allons (re)voir ce film
TEST: La figure 110 représente…



!!!
!!!
!!! Processeur: balises HTML et LaTeX                                                             !!
!!!
!!!

# HTML
__<i>/html(p_html_balise_ouvrante)__    <\w+.*?> <<- ~>> *
__<i>/html(p_html_balise_fermante)__    </\w+ *> <<- ~>> *
__<i>/html(p_html_amp_xxx)__            &amp;[a-zA-Z]+; <<- ~>> _
__<i>/html(p_html_lt)__                 &lt; <<- ~>> "   <"
__<i>/html(p_html_gt)__                 &gt; <<- ~>> >
__<i>/html(p_html_amp)__                &amp; <<- ~>> &
__<i>/html(p_html_nbsp)__               &nbsp; <<- ~>> @
__<i>/html(p_html_nbsp2)__              &#(?:160|8239); <<- ~>> @
__<i>/html(p_html_pseudo_balise)__      \[/?\w+\] <<- ~>> *


# LATEX
__<i]/latex(p_latex1)__     \\[a-z]+ <<- ~>> *
__<i>/latex(p_latex2)__     \\[,;/\\] <<- ~>> *
__<s>/latex(p_latex3)__     \{(?:abstract|align|cases|center|description|enumerate|equation|figure|flush(?:left|right)|gather|minipage|multline|quot(?:ation|e)|SaveVerbatim|table|tabular|thebibliography|[vV]erbatim|verse|wrapfigure)\} <<- ~>> *


TEST: __html__  des <b>{{homme}}</b>
TEST: __html__  des [b]{{femme}}[/b]
TEST: __html__  il est venu&nbsp;: c’était bien…



!!
!!
!!!! Écritures épicènes dystypographiques                                                         !!
!!
!!

# (attention aux modifs: brainfuck d’intensité non négligeable)
# La désambiguïsation est faite lors de la deuxième passe

__[i](eepi_écriture_épicène_tous_toutes)__
    tous?[.(/·•⋅–—-]te[.)/·•⋅–—-]?s
    <<- option("eepi") ->> tous et toutes|toutes et tous                                            # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: {{tou.tes}} sont là.                                              ->> tous et toutes|toutes et tous


__[i](eepi_écriture_épicène_ceux_celles)__
    c[./·•⋅–—-]?eux?[./·•⋅–—-]elles
    <<- option("eepi") ->> ceux et celles|celles et ceux                                            # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: avec {{ceux.elles}} qui viendront                                 ->> ceux et celles|celles et ceux


__[u](eepi_écriture_épicène_pluriel_eur_divers)__
    ({w_2})eurs?[.(/·•⋅–—-][tdp]?(rice|euse|se|[oe]resse)[.)/·•⋅–—-]?s  @@0,**
    <<- option("eepi") and \2 != "se" ->> \1eurs et \1\2s|\1\2s et \1eurs                           # Écriture épicène dystypographique et imprononçable.
    <<- option("eepi") and \2 == "se" ->> \1eurs et \1euses|\1euses et \1eurs                       # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: travaillons avec les {{instituteur.trice.s}}                          ->> instituteurs et institutrices|institutrices et instituteurs
TEST: La communauté des {{développeur·se·s}} open source                    ->> développeurs et développeuses|développeuses et développeurs


__[u](eepi_écriture_épicène_pluriel_eux_euses)__
    ({w_2})eux[.(/·•⋅–—-](?:[tdsi]?euse|se)[.)/·•⋅–—-]?s  @@0
    <<- option("eepi") ->> \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](eepi_écriture_épicène_pluriel_aux_ales)__
    ({w_2})aux[.(/·•⋅–—-][tnmcpbd]?ale[.)/·•⋅–—-]?s  @@0
    <<- option("eepi") ->> \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
TEST: LOCAL·E·S
TEST: amical·e·s


__[u](eepi_écriture_épicène_pluriel_er_ère)__
    ({w_2})ers?[.(/·•⋅–—-]i?è?re[.)/·•⋅–—-]?s  @@0
    <<- option("eepi") ->> \1ers et \1ères|\1ères et \1ers                                          # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: les {{conseiller.ière.s}}                                         ->> conseillers et conseillères|conseillères et conseillers


__[u](eepi_écriture_épicène_pluriel_if_ive)__
    ({w_2})ifs?[.(/·•⋅–—-][std]?i?ve[.)/·•⋅–—-]?s  @@0
    <<- option("eepi") ->> \1ifs et \1ives|\1ives et \1ifs                                          # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

TEST: {{inclusif.ive.s}}                                                ->> inclusifs et inclusives|inclusives et inclusifs
TEST: {{offensif.ve.s}}                                                 ->> offensifs et offensives|offensives et offensifs


__[u](eepi_écriture_épicène_pluriel_e)__
    ({w_1}[éuitsrnldf])[-·–—.•⋅(/]([ntlf]?e)[-·–—.•⋅)/]?s  @@0,**
    <<- not (\0.endswith(".Les") or \0.endswith(".Tes")) >>>
    <<- ~>> =normalizeInclusiveWriting(\0)
    <<- option("eepi") and not \0.endswith("les") and not \0.endswith("LES") and not re.search("(?i)·[ntlf]?e·s$", \0) >>>
    <<- \1.endswith("s") or \1.endswith("S") ->> \1 et \1\2s|\1\2s et \1|\1·\2·s                    # Écriture épicène dystypographique. Préférez écrire lisiblement. Sinon, utilisez les points médians.
    <<- __else__ ->> \1s et \1\2s|\1\2s et \1s|\1·\2·s                                              # Écriture épicène dystypographique. Préférez écrire lisiblement. Sinon, utilisez les points médians.

TEST: nous sommes {{déconsidéré-e-s}}.
TEST: serons-nous toujours {{perdu.e.s}}.
TEST: les illustres {{inconnu(e)s}}.
TEST: la situation des {{salarié/e/s}}.
TEST: des {{Iranien-ne-s}} sont venues                                  ->> Iraniens et Iraniennes|Iraniennes et Iraniens|Iranien·ne·s
TEST: rendez-vous avec des {{écrivain(e)s}}                             ->> écrivains et écrivaines|écrivaines et écrivains|écrivain·e·s
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}}
TEST: Nous sommes {{tombé.es}} par hasard
TEST: Nous avons été {{révolté.es}} de cette novlangue politique
TEST: Pour survivre, nous sommes {{devenu.es}} des archéologues.
TEST: {{enthousiasmé.es}} par un tri collectif de noix
TEST: IMMORTEL·LE·S
TEST: Berlinois·e·s
TEST: Iranien·ne·s


__[i](eepi_écriture_épicène_singulier)__
    ({w_1}[éuitsrnldf])([-·–—.•⋅/][ntl]?e|[(][ntl]?e[)])  @@0,$
    <<- not (\0.endswith(".Le") or \0.endswith(".Ne") or \0.endswith(".De"))
        and not ((\0.endswith("-le") or \0.endswith("-Le") or \0.endswith("-LE")) and not (\1.endswith("l") or \1.endswith("L"))) >>>
    <<- ~>> =normalizeInclusiveWriting(\0)
    <<- option("eepi") and (\1 == "un" or \1 == "Un" or \1 == "UN") ->> un ou une|une ou un                 # Écriture épicène imprononçable. Préférez écrire lisiblement.
    <<- __else__ and option("eepi") and not re.search("(?i)·[ntl]?e$", \2) ->> =\1+"·"+\2[1:].rstrip(")")   # Écriture épicène. Utilisez un point médian.

TEST: je suis {{déconsidéré.e}} par ma hiérarchie.                      ->> déconsidéré·e
TEST: il faut en parler à l’{{auteur(e)}} et à son agent.               ->> auteur·e
TEST: le ou la {{patron/ne}}                                            ->> patron·ne
TEST: Totalement {{con(ne)}}                                            ->> con·ne
TEST: un ou une {{intellectuel.le}}                                     ->> intellectuel·le
TEST: INTELLECTUEL·LE
TEST: électricien·ne
TEST: Épuisé·e


__[i](typo_écriture_invariable)__
    ({w_3})([-·–—.•⋅/]s|[(]s[)])  @@0,$
        <<- ~>> =normalizeInclusiveWriting(\0)
        <<- option("typo") and option("eepi") and not \0.endswith("·s") and not (\0.endswith("/s") and morph(\1, ";S"))
        ->> \1·s                    # Écriture invariable. Utilisez un point médian.

TEST: la ou les {{fille(s)}}                                            ->> fille·s
TEST: le ou les patron·s
TEST: combien de rad/s



!!
!!
!!!! Majuscules manquantes                                                                        !!
!!
!!

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

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

__<s>/maj(majuscule_début_paragraphe)__
    ^ *([a-zàâéèêîôç](?:[\w-]+[’'`‘]?|[’'`‘]))  @@$
    <<- after("\\w\\w[.] +\\w+") -1>> =\1.capitalize()                                              # Majuscule en début de phrase, sauf éventuellement lors d’une énumération.

TEST: {{je}} suis disponible quand tu veux. Mais pas aujourd’hui.
TEST: {{j’}}arrive. Prépare-toi.
TEST: {{qu’}}il est grand, ce batiment. Faut voir si on pourra la détruire avec si peu de charges.


!!
!!
!!!! Ponctuation de fin de paragraphe                                                             !!
!!
!!

__[i>/poncfin(poncfin_règle1)__
    ({w_1}) *$  @@0
    <<- before("\\w+(?:\\.|[   ][!?]) +(?:[A-ZÉÈÎ]\\w+|[ÀÔ])") -1>> \1.|\1 !|\1 ?                   # Il semble manquer une ponctuation finale (s’il s’agit d’un titre, le point final n’est pas requis).

TEST: __poncfin__ Vraiment. Quel {{ennui}}
TEST: Internet : le nouvel eldorado
TEST: OMC-FMI : Les nouveaux maîtres du monde


!!
!!
!!!! 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|ie?ls?|nous|vous|elles?|on|les?|l[a’]|ces?|des?|cette|[mts](?:on|a|es))\b)  @@0,$
    <<- not morph(\1, ":[DR]") -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|ie?ls?|nous|vous|elles?|on)\b)  @@0,$
    <<- not morph(\1, ">(?:[mtscl]es|[nv]os|quels)/") -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})( donc)(?= (?:j[e’]|tu|ie?ls?|elles?|on)\b)  @@0,$
    <<- not morph(\1, ":[VG]") -2>> , donc
    # Si « donc » 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: il l’a vu de ses propres yeux{{ donc}} il faut y croire.              ->> , donc
TEST: il s’est donc tu
TEST: Chacun peut l’entendre d’une manière différente et donc on se demande bien ce qui est mesuré dans les réponses.


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

TEST: « Ça suffit{{. » }}dit-elle.
TEST: « J’en ai plus qu’assez{{, » }}dis-je.
TEST: {{Julien}} donne-moi le sel.
TEST: dès son premier rendez-vous au centre
TEST: Depuis combien de temps fumez-vous ?


__<s>/virg(virg_virgule_avant_points_suspension)__
    , *… <<- ->> …                                                          # Typographie : pas de virgule avant les points de suspension.

__<s>/virg(virg_virgule_après_point)__
    ({w1})([.],)  @@0,$
    <<- not re.search("^(?:etc|[A-Z]|fig|hab|litt|circ|coll|ref|étym|suppl|bibl|bibliogr|cit|vol|déc|nov|oct|janv|juil|avr|sept|pp?)$", \1)
    -2>> ,|.                                                                # Pas de virgule après un point (sauf éventuellement après une abréviation).

TEST: ceci, cela{{, …}}                                                   ->> …
TEST: Les chiens, les chats{{.,}} les poules.                             ->> ,|.


# Fin de paragraphe
#__<i>/typo__  ({w_2}) *$   @@0
#    <<- before("[a-zéàùèê][.] ") and not before("^(?:\\d|\w[.])")
#    -1>> \1.|\1…|\1 !|\1 ?|\1 :|\1 ;|\1,                                               # Il manque une ponctuation finale.


!!
!!
!!!! Espaces manquants                                                                            !!
!!
!!

__<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"
TEST: espace{{;}}{{manquant}}
TEST: espace ;{{manquant}}                                                  ->> " manquant"
TEST: espace{{?}}{{manquant}}
TEST: espace{{!}}{{manquant}}
TEST: une espace ?{{(}}oui ou non)
TEST: espace.{{Manquant}}                                                   ->> " Manquant"
TEST: C’est bien.{{Les}} invités seront contents.                           ->> " Les"
TEST: qui ont refusé.{{de}} se sauver                                       ->> " de"
TEST: Y parvenir quoi qu’il en soit.{{Le}} sort en est jeté.                ->> " Le"
TEST: pic.twitter.com/PICNAME


!!
!!
!!!! Points                                                                                       !!
!!
!!

# Points superflus
__[i>/typo(typo_et_cetera)__             etc(?:[.]{3,5}|…) <<- ->> etc.                             # Un seul point après « etc. »

TEST: {{etc…}}
TEST: {{etc...}}


__[s>/typo(typo_point_après_titre)__     (M(?:me|gr|lle)s?[.]) [A-ZÉÈ]  @@0  <<- -1>> =\1[0:-1]                     # Pas de point après cette abréviation.

TEST: Je crois que {{Mlle.}} Eva est partie.
TEST: J’ai pensé à {{Mme.}} Bovary toute la journée.


__[s>/typo(typo_point_après_numéro)__
    ([nN]os?[.])[  ]\d+  @@0
        <<- \1[1:3] == "os" -1>> nᵒˢ                                                                 # Pas de point dans l’abréviation de numéro.
        <<- __else__ -1>> nᵒ                                                                        # Pas de point dans l’abréviation de numéro.

TEST: C’est situé au {{no.}} 12.


# Points de suspension
__<s>/typo(typo_points_suspension1)__    (?<![.])[.]{3,5}(?![.]) <<- not before("(?i)etc$") ->> …   # Typographie : points de suspension. Utilisez le caractère dédié.
__<s>/typo(typo_points_suspension2)__    [.]{6,} <<- ->> =\0.replace("...", "…").rstrip(".")        # Typographie : succession de points. Utilisez le caractère dédié.
__<s>/typo(typo_points_suspension3)__    (?<![.…])[.][.](?![.]) <<- ->> …|.                         # Typographie : un ou trois points ?
__<s>/typo(typo_points_superflus)__      …[.][.]?(?![.]) <<- ->> …                                  # Point(s) superflu(s).

TEST: 3 points de suspension{{...}}
TEST: 5 points de suspension{{....}}
TEST: 5 points de suspension{{.....}}
TEST: 4 points de suspension{{….}}
TEST: 5 points de suspension{{…..}}
TEST: Double point{{..}}
TEST: Ligne de points…{{...........................}}
TEST: Ligne de points{{...........................}}
TEST: Aujourd’hui, M. Camus va nous lire son texte.



!!
!!
!!!! Tirets                                                                                       !!
!!
!!

# Tirets, énumérations et dialogues
__<s>/typo(typo_tiret_début_ligne)__    ^[-_][  ] <<- ->> "— |– "           # Dialogues et énumérations : un tiret cadratin ou demi-cadratin, suivi d’un espace insécable, est requis.
__<s>/typo(typo_tiret_dans_dialogue)__  ^ *«[  ](-[  ]) @@$ <<- -1>> "— |– "
    # Dialogues : un tiret cadratin ou demi-cadratin, suivi d’un espace insécable, est requis. (Attention : à moins qu’il s’agisse d’un dialogue inclus dans un autre dialogue, cette manière d’écrire est erronée.)
__<s>/nbsp(nbsp_après_tiret1)__          ^([—–]) +  @@0  <<- ->> "\1 "      # Dialogues et énumérations : ce tiret doit être suivi d’un espace insécable.
__<s>/nbsp(nbsp_après_tiret2)__  ^([—–-])[\w«“‘]  @@0  <<- -1>> "— |– "     # Dialogues et énumérations : il faut tiret cadratin ou demi-cadratin suivi d’un espace insécable.
__<s>/typo(typo_tiret_incise)__         " - " <<- ->> " – | — "             # Tiret d’incise : un tiret cadratin ou demi-cadratin est requis.

TEST: {{- }}Ce tiret n’est correct nulle part.                              ->> "— |– "
TEST: {{– }}Il manque toujours un espace insécable !                        ->> "– "
TEST: {{— }}Idem ! etc.                                                     ->> "— "
TEST: {{_ }}C’est long !                                                    ->> "— |– "
TEST: {{—}}Viens là.                                                        ->> "— |– "
TEST: Cette phrase contient{{ - }}c’est certain – des tirets d’incise.      ->> " – | — "
TEST: « {{- }}Viens ! On va en finir avec cette affaire, sale fils de pute. ->> "— |– "


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


#__<s]/typo__  °C <<- ->> ℃                                                      # Typographie. Utilisez le signe des degrés approprié.


# Espaces insécables
__<s>/nbsp(nbsp_ajout_avant_double_ponctuation)__
    \b[?!;]  <<- sCountry != "CA" ->> =" "+\0               # Il manque un espace insécable.
__<s>/nbsp(nbsp_avant_double_ponctuation)__
    " ([?!;])"  @@1 <<- ->> " \1"                           # Il manque un espace insécable.
__<s>/nbsp(nbsp_avant_deux_points)__
    (?: |\b):(?= |$)  <<- ->> " :"                          # Il manque un espace insécable.
__<s>/nbsp(nbsp_après_chevrons_ouvrants)__
    «(?: |\b)  <<- ->> "« "                                 # Il manque un espace insécable.
__<s>/nbsp(nbsp_après_chevrons_fermants)__
    ^»(?: |\b)  <<- ->> "» |« "                             # Il manque un espace insécable. Le sens de ce guillemet n’est justifié que si ce paragraphe continue le discours du paragraphe précédent.
__<s>/nbsp(nbsp_avant_chevrons_fermants1)__
    (?: |\b)»  <<- ->> " »"                                 # Il manque un espace insécable.
__<s>/nbsp(nbsp_avant_chevrons_fermants2)__
    ([].!?)])»  <js>([\].!?\)])»</js>  @@0 <<- ->> "\1 »"   # Il manque un espace insécable.
__<s>/nbsp(nbsp_après_double_ponctuation)__
    ([:;!?]) (?=[\w«“"])  @@0 <<- ->> "\1 "                 # Pas d’espace insécable après le signe “\1”.

TEST: {{«}}Il manque deux espaces insécables. »                             ->> "« "
TEST: « Il manque deux espaces insécables{{.»}}                             ->> ". »"
TEST: « Il manque deux espaces insécables{{ »}}                             ->> " »"
TEST: Et encore{{!}}?                                                       ->> " !"
TEST: Quoi{{?}}                                                             ->> " ?"
TEST: Voici{{:}} les deux points.                                           ->> " :"
TEST: Voyelles:{{a}}.                                                       ->> " a"
TEST: Succession : a{{;}} b.                                                ->> " ;"
TEST: C’est assez {{: }}parlez !                                            ->> ": "
TEST: {{» }}C’est ce qu’on croit savoir.                                    ->> "» |« "


!!
!!
!!!! Signes typographiques                                                                        !!
!!
!!

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

TEST: {{800 x 600}}                                                         ->> 800 × 600
TEST: {{800*600}}                                                           ->> 800 × 600
TEST: {{800 * 600}}                                                         ->> 800 × 600
TEST: nombre au format hexadécimal : 0x4407


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

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


__<s>/typo(typo_inférieur_ou_égal)__                [\w  ](<=)[\w  ]  @@* <<- -1>> ≤|⩽              # Signe “inférieur ou égal”.
__<s>/typo(typo_supérieur_ou_égal)__                [\w  ](>=)[\w  ]  @@* <<- -1>> ≥|⩾              # Signe “supérieur ou égal”.

TEST: 3{{>=}}2
TEST: est-ce que a {{<=}} c


# ligatures typographiques : fi, fl, ff, ffi, ffl, ft, st
__<s>/liga(ligatures_typographiques)__              [fiflffffifflſtst] <<- ->> =undoLigature(\0)             # Suppression de la ligature typographique.

TEST: __liga__ un {{fl}}ottement                                           ->> fl
TEST: __liga__ une belle {{fi}}gure                                        ->> fi


!!
!!
!!!! Apostrophes                                                                                  !!
!!
!!
## Apostrophe typographique
__[i>/apos(apostrophe_typographique)!8__
    ([ldsncjmç]|jusqu|lorsqu|aujourd|presqu|quelqu|puisqu|qu|prud|entr)['´‘′`ʼ](?=[\w"«]) @@0 <<- ->> \1’    # Apostrophe typographique.
__[i>/apos(apostrophe_typographique_après_t)!8__
    t['´‘′`ʼ](?!ils?|elles?|on)(?=[\w"«]) <<- ->> t’                                                         # Apostrophe typographique.

TEST: {{C'}}est l’apostrophe typographique qui manque.                    ->> C’
TEST: C’est {{l'}}apostrophe typographique qui manque.                    ->> l’
TEST: {{Aujourd'}}hui, je suis fatigué
TEST: Je pense {{qu`}}elle se trompe
TEST: Que {{t'}}arrive-t-il ?


__[i>/typo(typo_apostrophe_incorrecte)!8__
    (([ldsncjmtç]|lorsqu|puisqu|presqu|quoiqu|quelqu|jusqu|qu|aujourd|entr)(?:[’'´‘′`ʼ][’'´‘′`ʼ ]|”|“|"| [’'´‘′`ʼ] ?))[aeéiouhœæyîèêôû]  @@0,0
    <<- not (\2.__len__() == 1  and  \1.endswith("′ ")) -1>> \2’                                    # Apostrophe incorrecte.

TEST: {{C’ }}est rageant.                                                 ->> C’
TEST: {{Lorsqu’ }}il vient, on s’ennuie.
TEST: {{l’'}}électricien est parti
TEST: Je pense {{qu ` }}elle ne viendra pas.


## Apostrophes manquantes
__[i>/typo(typo_apostrophe_manquante)!8__
    "(lorsqu|puisqu|presqu|quoiqu|jusqu|qu|aujourd|entr) "  @@0
    <<- ->> \1’                        # Il manque vraisemblablement une apostrophe.
    <<- ~>> \1’
# Solution prudente :
__[i>/typo(typo_apostrophe_manquante_prudence1)!8__
    ne ([mtsl] )([aeéiouhyîèêôû][\w-]*)  @@3,$  <<- -1>> =\1[:-1]+"’"                               # Il manque une apostrophe.
__[i>/typo(typo_apostrophe_manquante_prudence2)!8__
    (?:je|tu|ie?ls?|nous|vous|on|ça|elles?) ([nmtsl] )([aeéiouhyîèêôû][\w-]*)  @@*,$
    <<- not option("mapos") and morph(\2, ":V") -1>> =\1[:-1]+"’"                                   # Il manque probablement une apostrophe.
# Solution audacieuse :
__[s>/typo(typo_apostrophe_manquante_audace1)!8__
    ([ldsncjmtç] )[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ]  @@0
    <<- option("mapos") and not before("(?i)(?:lettre|caractère|glyphe|dimension|variable|fonction|point) *$")
    -1>> =\1[:-1]+"’"                                                                               # Il manque peut-être une apostrophe.
# Note : pour les majuscules, la règle se situe lors de la passe suivante.

TEST: __mapos__ {{n }}arrive pas à sa cheville
TEST: le coup {{qu }}avait donné                                                ->> qu’
TEST: pendant {{qu }}il avançait d’un pas indolent                              ->> qu’
TEST: {{jusqu }}à plus soif                                                     ->> jusqu’
TEST: il ne {{m }}avait jamais fait défaut                                      ->> m’
TEST: Il {{s }}était dit qu’il ne le ferait pas.                                ->> s’
TEST: Je {{m }}étais imaginé que je pourrais pas retrouver cet objet.           ->> m’
TEST: Je {{n }}ai pas retrouvé l’ambiance de mes années de lycée.               ->> n’


!!
!!
!!!! Guillemets typographiques                                                                    !!
!!
!!

__<s>/typo(typo_guillemets_typographiques_doubles_ouvrants)__
    "(?=\w)
    <<- not before("[a-zA-Zéïîùàâäôö]$") ->> « |“                                                   # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_doubles_fermants)__
    [\w.?!…,](")(?!\w)  @@*
    <<- -1>> " »|”"                                                                                 # Guillemets typographiques fermants.

TEST: {{"}}Le grand homme.”                                                 ->> « |“
TEST: “Le grand homme.{{"}}                                                 ->> " »|”"


__<s>/typo(typo_guillemets_typographiques_simples_doubles_ouvrants)__
    (?:^|[ –—-])('')(?=\w)  @@*
    <<- -1>> « |“                                                                                   # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_doubles_fermants)__
    [\w.?!…,]('')(?![\w'’])  @@*
    <<- -1>> " »|”"                                                                                 # Guillemets typographiques fermants.

TEST: {{''}}Ça{{”}} recommence.                                                 ->> « |“|||
TEST: Le {{''}}grand{{”}} homme.                                                ->> « |“|||
TEST: Le {{“}}grand{{''}} homme.                                                ->> " »|”|||"


__<s>/typo(typo_guillemets_typographiques_simples_ouvrants)__
    (?:^|[ –—-])(['’])(?=\w)  @@*
    <<- -1>> “|‘|‹                                                                                  # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_fermants)__
    [\w.?!,](')(?![\w'])  @@*
    <<- -1>> ”|’|›                                                                                  # Guillemets typographiques fermants.

TEST: {{'}}Ça’ recommence.                                                  ->> “|‘|‹
TEST: Le {{'}}grand’ homme.                                                 ->> “|‘|‹
TEST: Le ‘grand{{'}} homme.                                                 ->> ”|’|›
TEST: dans les {{’}}beaux quartiers{{’}}
TEST: J’en ai '''marre''' (syntaxe wiki).


!!
!!
!!!! Divers                                                                                       !!
!!
!!

## NF (memo: don’t use flag i)
__[s]/nf(nf_norme_française)__
    [nN][fF][  -]?(?:c|C|e|E|p|P|q|Q|s|S|x|X|z|Z|[eE][nN](?:[  -][iI][sS][oO]|))[  -]?[0-9]+(?:[/ ‑-][0-9]+|)
    <<- not re.search("^NF (?:C|E|P|Q|S|X|Z|EN(?: ISO|)) [0-9]+(?:‑[0-9]+|)", \0)
    ->> =formatNF(\0)                                       # Norme française. Utilisez les espaces et tirets insécables.|http://fr.wikipedia.org/wiki/Liste_de_normes_NF

TEST: __nf__ Norme française : {{Nf-EN ISO 3892-23}}



!!
!!
!!!! Cohérence des guillemets                                                                     !!
!!
!!

__<s>/typo(typo_cohérence_guillemets_chevrons_ouvrants)__
    («)[^»“]+?(”)  @@0,$
    <<- not before("\\w$") -1>> “                                                                   # Guillemet ouvrant différent du guillemet fermant (”).
    <<- not after("^\\w") -2>> " »"                                                                 # Guillemet fermant différent du guillemet ouvrant («).
__<s>/typo(typo_cohérence_guillemets_chevrons_fermants)__
    (“)[^”«]+?(»)  @@0,$
    <<- not before("\\w$") -1>> "« "                                                                # Guillemet ouvrant différent du guillemet fermant (»).
    <<- not after("^\\w") -2>> ”                                                                    # Guillemet fermant différent du guillemet ouvrant (“).

TEST: C’est {{«}}stupide{{”}}.
TEST: Quel {{“}}emmerdeur{{»}}, ce gars-là.


__<s>/typo(typo_cohérence_guillemets_doubles_ouvrants)__
    (“)[^”’“«]+?(’)(?!\w)  @@0,$
    <<- not before("\\w$") -1>> "‘"                                                                 # Guillemet ouvrant différent du guillemet fermant (’).
    <<- -2>> ”                                                                                      # Guillemet fermant différent du guillemet ouvrant (“).
__<s>/typo(typo_cohérence_guillemets_doubles_fermants)__
    (‘)[^’“«]+?(”)  @@0,$
    <<- not before("\\w$") -1>> "“"                                                                 # Guillemet ouvrant différent du guillemet fermant (”).
    <<- not after("^\\w") -2>> ’                                                                    # Guillemet fermant différent du guillemet ouvrant (‘).

TEST: Tu sais, {{‘}}ton ami{{”}} est venu.
TEST: Oui, je vois, mais c’est quand même un {{“}}salopard{{’}}.


__[i]/typo(typo_guillemets_doubles_ouvrants_non_fermés)__
    (“)\w[^”"»]+$  @@0
    <<- -1>> _                                                                                      # Guillemets fermants introuvables dans la suite du paragraphe.
__[i]/typo(typo_guillemets_doubles_fermants_non_ouverts)__
    ^[^“„«"]+\w(”)  @@$
    <<- -1>> _                                                                                      # Guillemets ouvrants introuvables dans ce paragraphe.

TEST: C’était mon affaire{{”}}.
TEST: C’est {{“}}compliqué.


__[i]/typo(typo_guillemet_simple_ouvrant_non_fermé)__
    (‘)\w\w[^’']+$  @@0
    <<- before(" $") or isStart() -1>> _                                                            # Guillemet fermant introuvable dans la suite du paragraphe.
__[i]/typo(typo_guillemet_simple_fermant_non_ouvert)__
    ^[^‘']+\w\w(’)  @@$
    <<- after("^ ") or isEnd() -1>> _                                                               # Guillemet ouvrant introuvable dans ce paragraphe.

TEST: ce {{‘}}test ne finira jamais.
TEST: ces actions ne représentent rien{{’}} pour moi.

TEST: « Je suis là.
TEST: — Oui, nous t’avons vu arriver. »
TEST: « J’en suis “malade”. »


!!
!!
!!!! Espaces insécables avant unités de mesure                                                    !!
!!
!!

__[s]/unit(unit_nbsp_avant_unités1)__
    ((\d+(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹]|)) ?)(?:[kcmµn]?(?:[slgJKΩ]|m[²³]?|Wh?|Hz|dB)|[%‰€$£¥Åℓhj]|min|MHz|°C|℃)(?![’'])  @@0,0
    <<- option("num") -1>> =formatNumber(\2) + " "              # Avec une unité de mesure, mettez un espace insécable.
    <<- __else__ -1>> "\2 "                                     # Avec une unité de mesure, mettez un espace insécable.

__[s]/unit(unit_nbsp_avant_unités2)__
    ((\d+(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])) ?)([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*)  @@0,0,$
    <<- morph(\3, ";S", ":[VCR]") or mbUnit(\3) or not spell(\3) >>>
    <<- option("num") -1>> =formatNumber(\2) + " "              # Si “\3” est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.
    <<- __else__ -1>> "\2 "                                     # Si “\3” est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.

__[s]/unit(unit_nbsp_avant_unités3)__
    ((\d+) )([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*)(?![’'])  @@0,0,$
    <<- (\2.__len__() > 4 and not spell(\3)) or morph(\3, ";S", ":[VCR]") or mbUnit(\3) >>>
    <<- option("num") -1>> =formatNumber(\2) + " "              # Si “\3” est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.
    <<- __else__ -1>> "\2 "                                     # Si “\3” est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.

TEST: Ça a duré {{3}}µs
TEST: Ça a duré {{3,5 }}µs
TEST: il y en a {{3 }}m²
TEST: il a fait {{10}}%
TEST: Ça coûte {{13,4}}¥.
TEST: il mesure {{30,3 }}cm
TEST: il est monté à {{18 }}%
TEST: une température de {{22,4 }}°C
TEST: il en veut {{18}}kg
TEST: il me le propose pour {{243 }}gCO2/kWh
TEST: il me le propose pour {{243,4 }}gCO2/kWh
TEST: en l’an 2000 Urgondorletroll eut une idée
TEST: 1998 s’annonce grandiose.
TEST: il y en a 3,43 milliards.
TEST: je veux 200 euros.


!!
!!
!!!! Grands nombres                                                                               !!
!!
!!

__[s]/num(num_grand_nombre_soudé)__
    \d\d\d\d+
    <<- not before("NF[  -]?(C|E|P|Q|X|Z|EN(?:[  -]ISO|)) *$") >>>
    <<- \0.__len__() > 4 ->> =formatNumber(\0)                                                      # Formatage des grands nombres.
    <<- __else__
        and ((after("^(?:,[0-9]+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])") and not (re.search("^[01]+$", \0) and after("^,[01]+\\b")))
        or after("^[   ]*(?:[kcmµn]?(?:[slgJKΩ]|m[²³]?|Wh?|Hz|dB)|[%‰€$£¥Åℓhj]|min|°C|℃)(?![\\w’'])"))
    ->> =formatNumber(\0)                                                                           # Formatage des grands nombres.

__[s]/num(num_nombre_quatre_chiffres)__
    (?<!,)(\d\d\d\d)[  ]([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*) @@0,$
    <<- morph(\2, ";S", ":[VCR]") or mbUnit(\2) -1>> =formatNumber(\1)                              # Formatage des grands nombres.

TEST: {{12345}}                                 ->> 12 345
TEST: {{123456}}                                ->> 123 456
TEST: {{1234567}}                               ->> 1 234 567
TEST: {{12345678}}                              ->> 12 345 678
TEST: {{023456789}}                             ->> 023 456 789|023 45 67 89|02 345 67 89
TEST: {{0234567890}}                            ->> 0 234 567 890|02 34 56 78 90|023 456 78 90|0234 567-890
TEST: {{12345678901}}                           ->> 12 345 678 901
TEST: {{112798931830912839}}                    ->> 112 798 931 830 912 839
TEST: {{2308393909}}                            ->> 2 308 393 909|2308 393-909
TEST: {{2024}},9                                ->> 2 024
TEST: {{4000}} Å                                ->> 4 000
TEST: {{3240}} µA                               ->> 3 240
TEST: 1111 0011,01 (binaire)


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

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


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

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


!!
!!
!!!! Dates                                                                                        !!
!!
!!
__[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|référence)s? +$") ->> _                       # Cette date est invalide.
    <<- ~>> \1-\3-\5

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
TEST: 03/07/2019 SANTÉ


!!
!!
!!!! Redondances                                                                                  !!
!!
!!
__[i]/redon1(redondances_paragraphe)__
    ({w_4})[  ,.;!?:].*[  ](\1)  @@0,$
    <<- not morph(\1, ":(?:G|V0)|>(?:t(?:antôt|emps|rès)|loin|souvent|parfois|quelquefois|côte|petit|même)/") and not \1[0].isupper()
    -2>> _                                                      # Dans ce paragraphe, répétition de « \1 » (à gauche).
    <<- __also__ -1>> _                                         # Dans ce paragraphe, répétition de « \1 » (à droite).

TEST: __redon1__ Tu es son {{avenir}}. Et lui aussi est ton {{avenir}}.
TEST: __redon1__ Car parfois il y en a. Mais parfois il n’y en a pas.



!!
!!
!!!! OCR                                                                                          !!
!!
!!

# ?
__<s]/ocr(ocr_point_interrogation)__
    [  ]7
    <<- after0("^(?: +[A-ZÉÈÂ(]|…|[.][.]+| *$)") ->> " ?"                                           # Erreur de numérisation ?

TEST: __ocr__ des chiffrements{{ 7}} Paul n’en sait rien.
TEST: __ocr__ veux-tu en parler{{ 7}}


# !
__<s]/ocr(ocr_exclamation1)__
    [  ]I(?![ ’'][aâeéèêëiîïoôuy])
    <<- ->> " !"                                                                                    # Erreur de numérisation ?
__<s]/ocr(ocr_exclamation2)__
    [  ]1(?= [A-ZÉÈÂÎ])
    <<- not morph(word(1), ";S") and not morph(word(-1), ":R") ->> " !"                             # Erreur de numérisation ?

TEST: __ocr__ Oh{{ I}} c’est pas formidable ?
TEST: __ocr__ Vraiment{{ 1}} Paul n’en savait rien.
TEST: __ocr__ Ça prendra 1 h.
TEST: __ocr__ Valeur : 1 KHz.


# Nombres
__[i]/ocr(ocr_nombres)__
    [\dOI][\dOI]+
        <<- \0 == "II" ->> 11|Il                                                                    # Erreur de numérisation ?
        <<- __else__ and not \0.isdigit() ->> =\0.replace("O", "0").replace("I", "1")               # Erreur de numérisation ?

TEST: __ocr__ {{II}} pleut tout le temps.
TEST: __ocr__ En l’an {{2OO1}}, tout commença.


## Casse
__[s]/ocr(ocr_casse_pronom_vconj)__
    {w2}-(On|Ils?|Elles?|Tu|Je|Nous|Vous|Mêmes?|Ci|Là|Une?s|Les?|La|Leur) @@$
    <<- -1>> =\1.lower()                                                                            # Erreur de numérisation ? Casse douteuse.

TEST: __ocr__ Part-{{On}} demain ?
TEST: __ocr__ À ce compte-{{Ci}}, on n’en viendra jamais à bout.
TEST: __ocr__ Quelques-{{Uns}} sont incapables d’y parvenir.


## Mots inconnus du dictionnaire
__[s]/ocr(mots_composés_inconnus)__
    \w+-\w+
        <<- not spell(\0) and not re.search("(?i)-(?:je|tu|on|nous|vous|ie?ls?|elles?|ce|là|ci|les?|la|leur|une?s|moi|toi)$", \0)
        ->> _                                                                                       # Erreur de numérisation ? Mot composé inconnu du dictionnaire.

TEST: __ocr__ c’est du {{base-bal}}]
TEST: __ocr__ cet homme-là est corrompu.
TEST: __ocr__ cette femme-là est revenue nous dire ce qu’elle pensait de nous.
TEST: __ocr__ Est-ce le bon moment pour nous ennuyer avec ça ?
TEST: __ocr__ Alors, dis-moi, comment triompher de tous les empires de la Terre ?


## Trait d’union conditionnel
__[i]/ocr(tu_trait_union_conditionnel)__
    ({w1})‑({w1})  @@0,$
    <<- ->> \1\2|\1-\2                                                                              # Trait d’union conditionnel. Erreur de numérisation ?

TEST: __ocr__ c’est {{anti‑américain}}


## Lettres isolées
# Note: l’option “mapos” cherche les apostrophes manquantes après les lettres l, d, n, m, t, s, j, c, ç
__[s]/ocr(ocr_lettres_isolées)!2__
    \w(?!’)
    <<- not re.search("[0-9aàAÀyYdlnmtsjcçDLNMTSJCÇ_]", \0) and not before("\\d[   ]+$") and not (\0.isupper() and after0(r"^\."))
    ->> _           # Lettre isolée : erreur de numérisation ?

TEST: __ocr__ des verres luisent sur {{i}} le bureau blanc.
TEST: __ocr__ la voix, {{e}} est celle de…
TEST: __ocr__ ressemble {{h}} une fenêtre de serre.
TEST: __ocr__ Ça a duré 3 h.
TEST: __ocr__ c’est alors que je suis fort.


## Caractères rares
__<s>/ocr(ocr_caractères_rares)__
    \w*[{}<>&*#£]+\w*
    <<- \0 != "<" and \0 != ">" ->> _                                                               # Erreur de numérisation ? Cette chaîne contient un caractère de fréquence rare.

__<s>/ocr(ocr_doublons_caractères_rares)__
    [\]\[({}][\]\[({}]+
        <<- ->> _                                                                                   # Erreur de numérisation ? Succession douteuse de caractères.

TEST: __ocr__ trouve {{l£}} temps
TEST: __ocr__ elle s’{{avance*}} sur le seuil
TEST: __ocr__ par beaucoup d’argent ? {{{Il}} débouche le Jack Daniels
TEST: __ocr__ {{[[}}voyons celà].
TEST: __ocr__ {{((}}voyons ceci).


## Mélange chiffres/lettres
__[i]/ocr(ocr_le_la_les_regex)__
    [1[\]][easrnxiocuwàéè]
        <<- \0.endswith("e") ->> le                                                                 # Erreur de numérisation ?
        <<- __else__ and \0.endswith("a") ->> la                                                    # Erreur de numérisation ?
        <<- __else__ and \0.endswith("à") ->> la|là                                                 # Erreur de numérisation ?
        <<- __else__ ->> le|la                                                                      # Erreur de numérisation ?

TEST: __ocr__ avec {{1e}} chien du policier
TEST: __ocr__ il le jura sur {{1a}} tête de sa mère
TEST: __ocr__ {{1c}} chat du voinsin est idiot
TEST: __ocr__ {{[e}} chien a faim


__[i]/ocr(ocr_les)__
    [1[\]][ea]s
        <<- ->> les                                                                                 # Erreur de numérisation ?

TEST: __ocr__ {{1es}} jours clairs
TEST: __ocr__ {{[as}} amis sont présents


__[i]/ocr(ocr_l_regex)__
    ([1[][’'`‘])[aâeéèêëiîïoôuyh][\w-]*  @@0
        <<- -1>> l’|L’|j’|J’                                                                        # Erreur de numérisation ?

TEST: __ocr__ {{1’}}année s’annonce agitée.
TEST: __ocr__ {{['}}ouverture du championnat est pour bientôt.


__[i]/ocr(ocr_il_regex)__
    1fs?
        <<- \0.endswith("s") ->> Ils|ils|ifs                                                        # Erreur de numérisation ?
        <<- __else__ ->> Il|il|if                                                                   # Erreur de numérisation ?

TEST: __ocr__ {{1fs}} s’en sortent comme ils peuvent.



!!!
!!!
!!! Processeur: Dernier nettoyage avant coupure du paragraphe en phrases                          !!
!!!
!!!

# Trait d’union conditionnel (u00AD)
__[i](p_trait_union_conditionnel1)__    \w+‑\w+‑\w+ <<- ~>> =\0.replace("‑", "")
__[i](p_trait_union_conditionnel2)__    \w+‑\w+ <<- ~>> =\0.replace("‑", "")

# empêcher la scission en fin de dialogue
__<s>(p_fin_dialogue)__    ([?!…][?!…  ]*)[ "'”» ]*,  @@0 <<- ~1>> *

TEST: « Je suis donc perdu ? », dit Paul.
TEST: “C’est bon !”, croit savoir Marie.
TEST: “Parce que… ?” finit par demander Paul.
TEST: « Dans quel pays sommes-nous ? » demanda un manifestant.




!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!! PASSE 1: PHRASE PAR PHRASE                                                                     !!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!

[++]


!!!
!!!
!!! Règles par expressions régulières (plus rapides que par tokens)                               !!
!!!
!!!


!!!! Doublons                                                                                     !!

__[s](doublon)__
    ({w1}) {1,3}\1  @@0
    <<- not re.search("(?i)^([nv]ous|faire|en|la|lui|donnant|œuvre|h[éoa]|hou|olé|joli|Bora|couvent|dément|sapiens|très|vroum|[0-9]+)$", \1)
        and not (re.search("^(?:est|une?)$", \1) and before("[’']$"))
        and not (\1 == "mieux" and before("(?i)qui +$"))
    ->> \1   # Doublon.

TEST: Il y a un {{doublon doublon}}.


!!!! Nombres: typographie                                                                         !!

#(\d\d\d\d)-(\d\d\d\d)   <<- ->> \1–\2                              # Ne pas séparer deux dates par un trait d’union, mais par un tiret demi-cadratin.

__[s]/num(num_lettre_O_zéro1)__  [\dO]+[O][\dO]+ <<- not option("ocr") ->> =\0.replace("O", "0")    # S’il s’agit d’un nombre, utilisez le chiffre « 0 » plutôt que la lettre « O ».
__[s]/num(num_lettre_O_zéro2)__  [1-9]O <<- not option("ocr") ->> =\0.replace("O", "0")             # S’il s’agit d’un nombre, utilisez le chiffre « 0 » plutôt que la lettre « O ».

TEST: année {{2O11}}                                                      ->> 2011
TEST: {{3O}} (chiffre avec un O).                                         ->> 30


!!!! Écritures épicènes invariables                                                               !!

__[i](d_eepi_écriture_épicène_pluriel)__
    ({w_1}[éuitsrn])_(?:[nt]|)e_s  @@0
    <<- morph(\1, ":[NAQ]", ":G") =>> define(\1, [":N:A:Q:e:p"])

__[i](d_eepi_écriture_épicène_singulier)__
    ({w_2}[éuitsrn])_e  @@0
    <<- morph(\1, ":[NAQ]") =>> define(\1, [":N:A:Q:e:s"])


!!!! Purge des références aux notes                                                               !!

# les références aux notes
__<s>(p_exposants)__
    [¹²³⁴⁵⁶⁷⁸⁹⁰]+
    <<- ~>> *

__[i](p_références_aux_notes)__
    ({w_2})(\d+)  @@0,$
    <<- not morph(\0, ":") and morph(\1, ":") ~2>> *

TEST: POLITIQUESOCIÉTÉÉCONOMIEMONDECULTUREART DE VIVREMAGAZINE (qui peut faire boguer JavaScript avec certaines regex)


!!!! Traits d’union                                                                               !!

__[i]/tu(tu_trait_union_douteux)__
    ({w1})(?:--|—|–|−|⁃)({w1})  @@0,$
    <<- spell(\1+"-"+\2) and analyse(\1+"-"+\2, ":") ->> \1-\2                                      # Trait d’union : un tiret simple suffit.

TEST: Nous préparons une {{contre–attaque}}.
TEST: Nous préparons une {{contre−attaque}}.


__<i]/tu(tu_t_euphonique_incorrect)__
    ([-–—− ]t(?:[’' ][-–—−]?|[-–—−][’' ]?))(ie?ls?|elles?|on|tu)  @@0,$
    <<- re.search("(?i)^(?:ie?ls|elles|tu)$", \2) -1>> -    # Le “t” euphonique n’est pas nécessaire avec “\2”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513
    <<- __else__ and \1 != "-t-" and \1 != "-T-" -1>> -t-   # Pour le “t” euphonique, il faut deux traits d’union. Pas d’apostrophe. Pas d’espace.
    <<- \1 != "-t-" ~1>> -t-
__<i]/tu(tu_t_euphonique_superflu)__
    [td]([- ]t[-’' ])(?:il|elle|on)  @@1
    <<- -1>> -                                              # Le “t” euphonique est superflu quand le verbe se termine par “t” ou “d”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513
    <<- \1 != "-t-" ~1>> -t-
__<i]/tu(tu_t_euphonique_manquant)__
    [aec](-(il|elle|on))  @@1,2  <<- -1>> -t-\2             # Il faut un “t” euphonique.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513

TEST: va{{ t’}}il y parvenir ?                          ->> -t-
TEST: A{{ t’}}elle soif ?                               ->> -t-
TEST: A{{ t-}}elle faim ?                               ->> -t-
TEST: a{{ t'}}elle                                      ->> -t-
TEST: a{{-t'}}il                                        ->> -t-
TEST: a{{-t }}il.                                       ->> -t-
TEST: a{{ t’}}il.                                       ->> -t-
TEST: a{{ t-}}on.                                       ->> -t-
TEST: donne{{ t-}}il                                    ->> -t-
TEST: donne{{-t }}il                                    ->> -t-
TEST: vient{{-t-}}il                                    ->> -
TEST: viendras{{-t-}}tu                                 ->> -
TEST: Viendront{{ t-}}ils                               ->> -
TEST: viennent{{ t-}}ils                                ->> -
TEST: mangent{{-t-}}elles                               ->> -
TEST: Ont{{ t’}}ils                                     ->> -
TEST: Ont{{-t’}}ils                                     ->> -
TEST: l’ont{{ t’}}ils vu ?                              ->> -
TEST: exploite{{−t−}}il les ressources numériques       ->> -t-
TEST: vainc{{-il}} ses ennemis aisément                 ->> -t-il
TEST: Assis, gronde{{-t -}}elle                         ->> -t-
TEST: vient-il demain ?
TEST: prend-elle l’avantage ?
TEST: saura-t-on jamais la vérité ?
TEST: arrive-t-elle ce matin ?
TEST: y aura-t-il du poulet au dîner ?



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_tag_disambiguate                                                                  _
@@@@
@@@@
@@@@
@@@@

!!!
!!!
!!! Purge de la phrase                                                                            !!
!!!
!!!

__tag_mots_entre_guillemets__
    «  *WORD  »
        <<- space_after(\1, 0, 1) and space_after(\2, 0, 1) /2>> eg1mot

    «  *WORD  *WORD
        <<- space_after(\1, 0, 1) /2:0>> egxmot

    *WORD  *WORD  »
        <<- space_after(\2, 0, 1) /1:2>> egxmot

    ["|“]  *WORD  ["|”]
        <<- space_after(\1, 0, 0) and space_after(\2, 0, 0) /2>> eg1mot

    ["|“]  *WORD  *WORD
        <<- space_after(\1, 0, 0) /2:0>> egxmot

    *WORD  *WORD  ["|”]
        <<- space_after(\2, 0, 0) /1:2>> egxmot


__purge_guillemets__
    [«|»|“|”|"|„|`]
        <<- ~>> *


__purge_punc_début_phrase__
    <start>  [?|!|:|;|…|‘|’|'|¿|¡]
        <<- ~2>> *

    <start>  [-|–|—]  ?[-|–|—]¿
        <<- />> tiret1
        <<- ~2>> *

    <start>  [•|·|.]
        <<- />> puce1
        <<- ~2>> *


__purge_fin_phrase__
    [.|…|?|!|:|;|–|—|•|·|…|«|»|‘|’|“|”|"|'|¿|¡|-]  ?[.|…|?|!|:|;|–|—|•|·|…|«|»|‘|’|“|”|"|'|¿|¡|-]¿ <end>
        <<- ~1:-2>> *


__purge_mot_nombre_parenthèses_crochets_accolades__
    (  [*WORD|*NUM]  )
    [  [*WORD|*NUM]  ]
    {  [*WORD|*NUM]  }
        <<- ~>> *

__purge_chapitres_références__
    (  [*WORD|*NUM]  ,  *NUM  )
    [  [*WORD|*NUM]  ,  *NUM  ]
    {  [*WORD|*NUM]  ,  *NUM  }
        <<- ~>> *


!!!
!!!
!!! Désambiguïsation                                                                              !!
!!!
!!!

__da_le_la_les_leur__
    je [le|la|les|leur]
        <<- not morph(<1, ":1s") =>> select(\2, ":Ov")

    tu [le|la|les|leur]
        <<- not morph(<1, ":(?:2s|V0)") =>> select(\2, ":Ov")

    [il|on] [le|la|les|leur]
        <<- not morph(<1, ":3s") =>> select(\2, ":Ov")

    elle [le|la|les|leur]
        <<- not morph(<1, ":(?:3s|R)") =>> select(\2, ":Ov")

    nous [le|la|les|leur]
        <<- not morph(<1, ":(?:1p|R)") =>> select(\2, ":Ov")

    vous [le|la|les|leur]
        <<- not morph(<1, ":(?:2p|R)") =>> select(\2, ":Ov")

    ils [le|la|les|leur]
        <<- not morph(<1, ":3p") =>> select(\2, ":Ov")

    elles [le|la|les|leur]
        <<- not morph(<1, ":(?:3p|R)") =>> select(\2, ":Ov")

    [ne|n’|me|m’|te|t’|se|s’] [le|la|les|leur]
        <<- =>> select(\2, ":Ov")

    le   $:N¬*
        <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D")

    la   $:N¬*
        <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D")

    les  $:N¬*
        <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D")

    l’   $:N¬*
        <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> define(\1, [":D:e:s"])


__da_nous_vous__
    [ne|n’] [nous|vous]
        <<- =>> exclude(\2, ":Os")

    nous [>avoir|>être]
        <<- not morph(\2, ":1p") =>> exclude(\1, ":Os")

    vous [>avoir|>être]
        <<- not morph(\2, ":2p") =>> exclude(\1, ":Os")


__da_préverbes_verbes__
    ne  ?[le|la|l’|les|nous|vous|lui|leur]¿  @:¬:[OX]
    ne  [nous|vous]     [le|la|l’|les|en]    @:¬:[OX]
    ne  [le|la|l’|les]  [lui|leur|en]        @:¬:[OX]
    ne  [lui|leur]      en                   @:¬:[OX]
        <<- =>> select(\-1, ":V")
        <<- /-1>> neg

    [me|m’|te|se|s’]  ?[le|la|l’|les]¿  @:¬:[OX]
        <<- =>> select(\-1, ":V")

    n’  ?[en|y]¿  @:¬:[OX]
        <<- =>> select(\-1, ":V")
        <<- /-1>> neg

    [m’|s’]  ?[en|y]¿  @:¬:[OX]
        <<- =>> select(\-1, ":V")

    t’  [le|la|l’|les|en|y]  @:(?:[123][sp]|P|Y)¬:X|>rien/
        <<- =>> select(\3, ":(?:[123][sp]|P|Y)")

    t’  @:¬:X|>(?:rien|ie?ls?|elles?|on)/
        <<- =>> select(\2, ":(?:[123][sp]|P|Y)")

    y  @:¬:[OX]
        <<- =>> select(\2, ":(?:[123][sp]|P|Y)")

    [je|j’|il|ils|on]  ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿  @:¬:[OX]
    [je|j’|il|ils|on]  [nous|vous]     [le|la|l’|les|en|y]       @:¬:[OX]
    [je|j’|il|ils|on]  [le|la|l’|les]  [lui|leur|en|y]           @:¬:[OX]
    [je|j’|il|ils|on]  [lui|leur]      en                        @:¬:[OX]
        <<- =>> select(\-1, ":[123][sp]")

    tu  ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿  @:¬:[OX]
    tu  [nous|vous]   [le|la|l’|les|en|y]         @:¬:[OX]
    tu  [le|la|l’|les]  [lui|leur|en|y]           @:¬:[OX]
    tu  [lui|leur]      en                        @:¬:[OX]
        <<- not morph(<1, ":V0") =>> select(\-1, ":[123][sp]")

    lui  [la|le|l’|les]  @:(?:[123][sp]|P|Y)¬:W
        <<- not morph(<1, ":R") =>> select(\3, ":(?:[123][sp]|P|Y)")

    [nous|vous]     [le|la|l’|les|en]  @:¬:[OXW]
    lui             en                 @:¬:[OXW]
        <<- not morph(<1, ":R") =>> select(\3, ":(?:[123][sp]|P|Y)")

    [le|la|l’|les]  [lui|leur|en]      @:¬:[OXW]
    leur            en                 @:¬:[OXW]
        <<- =>> select(\2, ":(?:[123][sp]|P|Y)")

    $:M  @:[123]s¬:[QW]
        <<- \2.islower() and morph(<1, ":Cs|<start>") =>> select(\2, ":[123][sp]")

    <start>  $:M  @:(?:[123]s|Ov)¬:A
        <<- =>> =select(\2, ":M")

    [que|qu’|combien|pourquoi|qui|quand|où]  ?[en|y]¿  *WORD
        <<- =>> exclude(\-1, ":E")

    [<start>|,]  quelqu’ un  *WORD
        <<- =>> exclude(\4, ":N")

    >falloir [>pouvoir|>savoir|>vouloir|>manger|>conseiller]
        <<- =>> exclude(\2, ":N")


__da_été__
    >avoir été
        <<- =>> select(\2, ":Q")


__da_prépositions__
    dans
        <<- not morph(<1, ":D.*:p|>[a-z]+ième/") =>> select(\1, ":R")

    passé  [<end>|,|$:R]
        <<- =>> exclude(\1, ":G")

    y compris
        <<- not value(<1, "|n’|j’|tu|t’|m’|s’|") ~>> ␣
        <<- __also__ =>> define(\1, [":G:R"])

__da_puis__
    puis
        <<- not value(<1, "|je|ne|n’|le|la|l’|les|lui|nous|vous|leur|") =>> =exclude(\1, ":V")


__da_son_ton__
    [le|ce|cet|ces|mon|ton|son|quel|quelque|quelques|notre|votre|un|leur|ledit|dudit]  [son|ton]
        <<- =>> exclude(\2, ":D")


__da_quelque_chose__
    quelque chose
        <<- =>> define(\2, [":N:m:s"])


__da_groupe_nominal__
    aucun  @:[NA].*:[me]
        <<- =>> exclude(\2, ":V")

    bac + ~^\d\d?$
        <<- ~>> ␣
        <<- =>> define(\1, [":N:e:i"])

    [de|d’]  @:¬:[YD]
        <<- =>> exclude(\2, ":(?:[123][sp]|P)")

    d’ [un|une]  *WORD
        <<- =>> exclude(\3, ":V")

    l’ [un|une]  *WORD
        <<- not value(\3, "|plus|") =>> select(\3, ":[123][sp]")

    [des|chaque|quelque|quelques|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs|aucun|aucune]  *WORD
        <<- =>> exclude(\2, ":V")

    [un|une]  *WORD
        <<- not value(<1, "|l’|quelqu’|quelqu|") and not value(\2, "|a|fut|fût|est|fait|") and not morph(\2, ":P") =>> exclude(\2, ":V")

    [une|le|la|les|des|chaque|quelque|quelques|cet|cette|ces|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs] personne
        <<- =>> select(\-1, ":N")

    de  [la|l’]  $:¬:Y
        <<- not value(<1, "|semblant|") =>> exclude(\3, ":V")

    [/VCint|/VCimp] [le|la|l’|leur|les]
        <<- =>> select(\2, ":D")

    de [>telle|ce|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|notre|votre|plein|pleine]  *WORD
        <<- =>> exclude(\3, ":V")

    de [tous|toutes] les *WORD
        <<- =>> select(\4, ":[NA]")

    en tant que  *WORD
        <<- =>> exclude(\4, ":[123][sp]")

    en peine
        <<- =>> exclude(\2, ":V")

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

    nombre  [de|d’|des]  [@:[NA]|<end>|,]
        <<- not morph(<1, ":D") >>>
        <<- morph(<1, ":A.*:[me]:[si]") =>> add_morph(\1, [">nombre/:G:D"])
        <<- __else__ =>> define(\1, [">nombre/:G:D"])

    plein  [de|d’]  @:[AN]
        <<- not morph(<1, ">(?:être|(?:re|)devenir|rester|demeurer|sembler|para[iî]tre)/") =>> =define(\1, [":G"])

    source [de|d’]
        <<- morph(<1, ">(?:être|(?:re|)devenir|rester|demeurer|sembler|para[iî]tre)/") =>> define(\1, [":LV"])

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

    très  *WORD
        <<- =>> exclude(\2, ":[123][sp]")

TEST: il s’agit d’{{un}} {{anagramme}}
TEST: nul ne sait qui arriva à ce pauvre Paul surpris par la pluie.
TEST: elle finit par être très fière de son fils.
TEST: en tant que président du conseil
TEST: les bac +2 sont trop nombreux.
TEST: c’est à n’y plus rien comprendre.
TEST: Elle était tout feu, tout flamme.
TEST: Ses rencards finissent par devenir lassants
TEST: trois espèces de chauve-souris dont une est éteinte
TEST: Ils sont source de conflits
TEST: Votre question fait référence à un fait divers déroutant



!!!
!!!
!!! Étiquettes                                                                                    !!
!!!
!!!

__tag_sujets__
    [je|j’]
    [moi|moi-même] ?[seul|seule]¿ ?,¿ qui
        <<- />> 1s

    [moi|moi-même] [seul|seule]
        <<- not value(<1, "|de|d’|par|") />> 1s

    tu
    t’  $:2s
    t’  [en|y]  $:2s
    [toi|toi-même] ?[seul|seule]¿ ?,¿ qui
        <<- />> 2s

    [toi|toi-même] [seul|seule]
        <<- not value(<1, "|de|d’|par|") />> 2s

    nous ?[seul|seuls|seules]¿ ?,¿ qui
    nous-même qui
    nous-mêmes qui
    [et|ou] [moi|moi-même]
    ni [moi|moi-même]
    [moi|moi-même] et
        <<- />> 1p

    nous
    nous-même
    nous-mêmes
    nous [seul|seuls|seules]
    nous autres
        <<- not value(<1, "|de|d’|par|") />> 1p

    vous ?[seul|seuls|seules]¿ ?,¿ qui
    vous-même qui
    vous-mêmes qui
    [et|ou] [toi|toi-même]
    ni [toi|toi-même]
    [toi|toi-même] et
        <<- />> 2p

    vous
    vous-même
    vous-mêmes
    vous [seul|seule|seuls|seules]
    vous autres
        <<- not value(<1, "|de|d’|par|") />> 2p


__tag_prop_sub__
    dont
        <<- />> dont

    ce [que|qu’]
        <<- />> ce_que

    [que|qu’]
        <<- />> que

    qui
        <<- />> qui

    à [qui|quoi]
    auquel
    auxquels
    auxquelles
    à laquelle
        <<- />> àCOI


__tag_ni__
    ni
        <<- />> ni


!!!! Fusions et immunités                                                                         !!

__fusions_mots_grammaticaux__
    le ou la  *WORD
    la ou le  *WORD
        <<- morph(\-1, ":[NA]") ~1:3>> ␣

    alors    [que|qu’]
    dès lors [que|qu’]
        <<- ~>> ␣
        <<- =>> define(\1, [":Cs"])

    quelqu’ [un|une]
        <<- ~>> ␣
        <<- =>> change_meta(\1, "WORD")


__fusions_noms_communs__
    au revoir
        <<- ~>> ␣
        <<- =>> define(\1, [":N:m:i"])

    n’ importe [qui|quoi|quel|quelle|quels|quelles|où]
        <<- ~1:2>> ␣

    [cultural|gender] studies
        <<- ~>> ␣
        <<- =>> define(\1, [":N:f:p"])

    black [>bloc|>block]
    machine [learning+s]
    nec plus ultra
    standing >ovation
    star [system+s]
        <<- ~>> ␣

    presqu’ [>ile|>île]
        <<- ~>> ␣
        <<- =>> change_meta(\1, "WORD")

    *NUM : *NUM
        <<- space_after(\1, 0, 0) and space_after(\1, 0, 0) ~>> ␣

    *NUM  ~^h[0-9][0-9]$
        <<- space_after(\1, 0, 0) ~>> ␣


__fusions_noms_propres__
    cac  40
        <<- ~>> ␣

    France [2|3|4|5|0|O]
        <<- ~>> ␣

    Peugeot  ~^\d0\d\d?$
        <<- ~>> ␣
        <<- =>> define(\1, [":N:e:i"])

    Mai 68
        <<- ~>> ␣
        <<- =>> define(\1, [":N:m:i"])

    ~^[A-ZÂÉÈÎ].  ~^[A-ZÂÉÈÎ].
        <<- analyse_with_next(\1, " ", ":") ~>> ␣
        <<- __else__ and morph(\1, ":M") and morph(\2, ":V", ":[GM]") =>> define(\2, [":M2"])

    Me  ~^[A-ZÂÉÈÎ].
        <<- =>> define(\1, [":T"])
        <<- ~1>> *

    notre père
        <<- morph(<1, ":D.*:[mp]") ~>> ␣
        <<- __also__ =>> define(\1, [":N:m:i"])


__immunités__
    il y a
    il n’ y a
        <<- !-1>>

    à l’ arrache
        <<- !3>>

    à ce point
    en tout point
        <<- !3>>

    au  [bas|bras|côté|milieu|sein|sommet|faîte] [duquel|desquels|desquelles]
    au  [bas|bras|côté|milieu|sein|sommet|faîte] de laquelle
    aux [côtés] [duquel|desquels|desquelles]
    aux [côtés] de laquelle
        <<- !-1>>

    au lieu des
        <<- !3>>

    au sortir [de|des|du|d’]
        <<- !2>>

    de chez *WORD à chez
        <<- !-2>>

    en tout et pour tout
        <<- !-1>>

    jusqu’ à
        <<- !2>>

    [comme|que|qu’|lorsque|lorsqu’|puisque|puisqu’|quand|pourquoi|qui|quoi]  ?[ne|n’]¿  ?[se|s’]¿  (*WORD)  ?à¿  [le|la|l’|les]  $:Y  $:M
        <<- morph(\1, ":V") !-2>>

    soit pour soit contre
        <<- !3>>


TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics.
TEST: de Bordeaux ou de n’importe où



!!!! Noms composés                                                                                !!

__tag_noms__
    ~\w-là$
        <<- />> -là
        <<- =>> =define_from(\1, 0, -3)


!!!! Élisions                                                                                     !!

# presque : élision
__typo_presque__
    presqu’  *WORD
        <<- /typo/ not morph(\2, ">[iî]le/") -1>> "presque "            # Pas d’élision autorisée sur “presque”, sauf avec “presqu’île”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1745

TEST: {{Presqu’}}exclusivement bâtie en pierre.
TEST: C’est une presqu’île.
TEST: Cette presqu’ile est particulièrement venteuse.


# quelque : élision
__typo_quelque__
    quelqu’  *WORD
        <<- /typo/ not value(\2, "|un|une|") -1>> "quelque "            # Pas d’élision autorisée sur “quelque”, sauf avec “quelqu’un” ou “quelqu’une”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1745

TEST: {{Quelqu’}}absurde que ce soit, il faut y céder.
TEST: quelqu’un vient.
TEST: elle s’en est allée avec quelqu’une…



!!
!!
!!!! Verbes composés                                                                              !!
!!
!!

__inte_verbes_composés_interrogatifs__
    ~\w-[jJ]e$
        <<- /inte/ morphVC(\1, ":V", ":1[sśŝ]") ->> =suggVerb(\1, ":1ś", None, True)                # Forme interrogative. Désaccord avec “je”. Le verbe n’est pas à la 1ʳᵉ personne du singulier.
        <<- /inte/ __else__ and not morphVC(\1, ":V") ->> =suggSimil(\1, ":1[sśŝ]", False, True)    # Forme interrogative. Désaccord avec “je”. Le verbe n’est pas à la 1ʳᵉ personne du singulier.
        <<- />> -je|VCint

    ~\w-[tT]u$
        <<- /inte/ morphVC(\1, ":V", ":[ISK].*:2s") ->> =suggVerb(\1, ":2s", None, True)            # Forme interrogative. Désaccord avec “tu”. Le verbe n’est pas à la 2ᵉ personne du singulier.
        <<- /inte/ __else__ and not morphVC(\1, ":V") ->> =suggSimil(\1, ":2s", False, True)        # Forme interrogative. Désaccord avec “tu”. Le verbe n’est pas à la 2ᵉ personne du singulier.
        <<- />> -tu|VCint

    ~\w-[iI]l$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", None, True) + "|" + \1+"s"              # Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", None, True)                 # Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>(?:t|voilà)/") ->> =suggSimil(\1, ":3s", False, True)   # Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -il|VCint

    ~\w-[eE]lle$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", None, True) + "|" + \1+"s"    # Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", None, True)       # Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   # Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -elle|VCint

    ~\w-[iI]el$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", None, True) + "|" + \1+"s"    # Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", None, True)       # Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   # Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -iel|VCint

    ~\w-[oO]n$
        <<- /inte/ morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", None, True)                    # Forme interrogative. Désaccord avec “on”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   # Forme interrogative. Désaccord avec “on”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -on|VCint

    ~\w-[cCs]e$
        <<- /inte/ morphVC(\1, ":V", ":(?:3s|V0e.*:3p)")
        ->> =suggVerb(\1, ":3s", None, True)                # Forme interrogative. Désaccord avec “ce”. Le verbe n’est pas à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- /inte/ __else__ and morphVC(\1, ":", ":V")
        ->> =suggSimil(\1, ":3s", False, True)              # Forme interrogative. Désaccord avec “ce”. Le verbe n’est pas à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- /conf/ \1.endswith("se") ->> =\1[:-2]+"ce"      # Forme interrogative. Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- />> -ce|VCint

    ~\w-[iI]ls$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", None, True)                    # Forme interrogative. Désaccord avec “ils”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   # Forme interrogative. Désaccord avec “ils”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -ils|VCint

    ~\w-[eE]lles$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", None, True)                    # Forme interrogative. Désaccord avec “elles”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   # Forme interrogative. Désaccord avec “elles”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -elles|VCint

    ~\w-[iI]els$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", None, True)                    # Forme interrogative. Désaccord avec “iels”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   # Forme interrogative. Désaccord avec “iels”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -iels|VCint

TEST: {{Vas-je}}                                            ->> Vais-je
TEST: {{bluff-je}}
TEST: {{Prit-je}}                                           ->> Pris-je
TEST: {{prix-je}} le temps d’y parvenir ? Oui.
TEST: {{Peut-tu}}                                           ->> Peux-tu
TEST: {{peu-tu}} revenir chez moi ?
TEST: {{Peux-il}}                                           ->> Peut-il
TEST: {{Attaques-t-on}}                                     ->> Attaque-t-on
TEST: {{box-t-on}}
TEST: {{Prends-elle}}                                       ->> Prend-elle
TEST: {{Menthe-t-elle}} souvent ?
TEST: {{demandent-elle}}                                    ->> demande-elle|demandent-elles
TEST: {{viennent-il}} demain ?
TEST: {{prix-t-il}}
TEST: {{étais-ce}} trop demander                            ->> était-ce
TEST: {{était-se}} cela, la vérité ineffable ?
TEST: {{étai-ce}} notre destinée de souffrir ?
TEST: {{étaient-se}} ces hommes-là qui allaient nous guider dans les montagnes ?
TEST: {{attaquant-ils}}                                     ->> attaquent-ils
TEST: {{boycott-ils}}
TEST: {{prendrons-elles}} un verre avec moi ?
TEST: {{bloc-elles}}
TEST: {{vient-elles}} demain ?
TEST: {{savent-iel}}                                        ->> sait-iel|savent-iels
TEST: {{peux-iel}}                                          ->> peut-iel
TEST: {{boycott-iel}}                                       ->> boycotte-iel
TEST: {{connaît-iels}}                                      ->> connaissent-iels
TEST: {{boycott-iels}}                                      ->> boycottent-iels
TEST: Était-ce des femmes de ce pays ?
TEST: Eh ! dit Athos, ne sont-ce pas des braconniers qu’on arrête là-bas ?
TEST: Le moteur choisi convient-il ?


__inte_verbes_composés_interrogatifs_impératifs__
    ~\w-[nN]ous$
        <<- /inte/ morphVC(\1, ":V", ":(?:1p|E:2[sp])") ->> =suggVerb(\1, ":1p", None, True)          # Forme interrogative ou impérative incorrecte.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>(?:chez|malgré)/") ->> =suggSimil(\1, ":1p", False, True)  # Forme interrogative ou impérative incorrecte.
        <<- />> -nous|VCint

    ~\w-[vV]ous$
        <<- /inte/ morphVC(\1, ":V", ":2p") ->> =suggVerb(\1, ":2p", None, True)                      # Forme interrogative ou impérative. Désaccord avec “vous”. Le verbe n’est pas à la 2ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":2p", False, True)  # Forme interrogative ou impérative. Désaccord avec “vous”. Le verbe n’est pas à la 2ᵉ personne du pluriel.
        <<- />> -vous|VCint

TEST: {{Prendront-nous}}                                    ->> Prendrons-nous
TEST: {{Attendront-nous}} le train                          ->> Attendrons-nous
TEST: {{cachet-nous}} !
TEST: {{santon-nous}} mauvais ?
TEST: {{Attaquait-vous}}                                    ->> Attaquiez-vous
TEST: {{cygne-vous}}
TEST: Elle a de nombreux rendez-vous ce matin.
TEST: êtes-vous là ?
TEST: C’est notre chez-nous.
TEST: Dans votre chez-vous, faites comme bon vous semble.
TEST: Libérée en grande majorité durant l’automne 1945, une partie des « Malgré-nous » passe pourtant plusieurs années supplémentaires en captivité.


__inte_rendez_vous__
    ne [le|la|les] [lui|leur]   rendez-vous
    ne me [le|la|les]           rendez-vous
    ne [lui|leur] en            rendez-vous
    ne [le|la|les|lui|leur]     rendez-vous
    [me|ne|nous|vous|lui]       rendez-vous
        <<- =>> define(\-1, [":VCi1:2p"])
        <<- !-1>>

#   [un|mon|ton|son|ce|mes|tes|ses|leurs] rendez-vous
#   rendez-vous seulement défini comme :N:m:i  dans le dictionnaire

__imp_verbes_composés_impératifs__
    ~\w-l(?:es?|a)-(?:[mt]oi|nous|leur)$
    ~\w-(?:[nv]ous|lui|leur)-en$
    ~\w-[mt]’en$
    ~\w-[mt]’y$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -COD-COI|VCimp

    ~\w-le$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -le|-COD|VCimp

    ~\w-les$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -les|-COD|VCimp

    ~\w-la$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") and not value(<1, "|ce|cet|cette|ces|") and not value(\1, "|par-la|de-la|jusque-la|celui-la|celle-la|ceux-la|celles-la|")
        ->> =suggSimil(\1, ":E", False, True)+"|"+\1[:-3]+" là"                                     # Ceci n’est pas une forme verbale impérative. Si ce “la” signifie ici, écrivez “là”.
        <<- />> -la|-COD|VCimp

    ~\w-moi$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)  # Ceci n’est pas une forme verbale impérative.
        <<- />> -moi|-COI|VCimp

    ~\w-toi$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)  # Ceci n’est pas une forme verbale impérative.
        <<- />> -toi|-COI|VCimp

    ~\w-lui$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)  # Ceci n’est pas une forme verbale impérative.
        <<- />> -lui|-COI|VCimp

    ~\w-leur$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -leur|-COI|VCimp

    ~\w-leurs$
        <<- /imp/ ->> =\1[:-1]                              # Le pronom personnel objet ne prend pas de “s” ; “leurs” est un déterminant (exemple : leurs affaires).
        <<- />> -leur|-COI|VCimp

TEST: {{donnent-les-nous}}
TEST: {{donnait-nous-en}}
TEST: {{prend-m’en}} trois, s’il te plaît.
TEST: {{don-nous-en}}
TEST: {{bat-le}}
TEST: {{bluff-le}}
TEST: {{manges-la}}
TEST: {{bâton-la}} à son propre jeu
TEST: {{combat-les}}
TEST: {{flic-les}}
TEST: {{Oublies-moi}}.
TEST: {{Oubli-moi}}.
TEST: {{Sert-toi}} d’eux autant que tu le peux, puis casse-toi.
TEST: {{maintien-toi}}
TEST: {{Prend-lui}} le pouls.
TEST: {{apport-lui}}.
TEST: {{Expliques-leur}} comment faire.
TEST: {{fou-leur}} la paix
TEST: {{explique-leurs}} de quoi il est question.
TEST: {{calcul-leurs}} ça.
TEST: c’est mon chez-moi
TEST: c’est ton chez-toi



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: ocr                                                                                     _
@@@@
@@@@
@@@@
@@@@

# This graph is parsed only if option <ocr> is activated.

## Casse
__ocr_casse__
    ~^[A-ZÉÈÂÊÎÔ]\w
        <<- /ocr/ \1.istitle() and before("\\w") and (morph(\1, ":G", ":M") or morph(\1, ":[123][sp]", ":[MNA]|>Est/"))
        -:>> =\1.lower()                                                                            # Erreur de numérisation ? Casse improbable.

    [L’|D’|N’|M’|T’|S’|C’|Ç’]  *WORD
        <<- /ocr/ before("\\w") and not \2.isupper() -1:>> =\1.lower()                              # Erreur de numérisation ? Casse douteuse.

TEST: __ocr__ regarde dans l’obscurité de {{L’}}entrepôt                        ->> l’
TEST: __ocr__ votre ami la regarde, {{Vous}} ne l’avez pas achetée              ->> vous
TEST: __ocr__ pour accommoder son regard, {{La}} lourde forme demeure           ->> la
TEST: __ocr__ parler de Nicole, {{Le}} sommeil ne vient pas.                    ->> le
TEST: __ocr__ a fait de toi, Charles, {{Tu}} étais beau quand                   ->> tu
TEST: __ocr__ s’habituer à se faire servir, {{Au}} début ça                     ->> au
TEST: __ocr__ Tu as tué ce petit garçon, Henri, {{Et}} tu le sais.              ->> et
TEST: __ocr__ d’un fil de plastique transparent, {{Il}} l’agite                 ->> il
TEST: __ocr__ sur une glace noire {{Les}} lumières du port                      ->> les
TEST: __ocr__ le roulis du bateau {{Le}} faisant heurter                        ->> le
TEST: __ocr__ si vous {{La}} désirez                                            ->> la
TEST: __ocr__ sa main se referme sur {{Je}} livre                               ->> je
TEST: __ocr__ Ils étaient portés à croire que Danton et Robespierre ne mettraient aucun obstacle. Le 8 au soir, Robespierre était allé à la section {{Bonne-Nouvelle}}, avait invectivé violemment contre la Gironde. Pendant son discours, un des siens, qui l’attendait à la porte, disait qu’on devrait massacrer non les Girondins seulement, mais tous les signataires des fameuses pétitions.
TEST: __ocr__ Prends cette pelle et creuse.
TEST: __ocr__ Roland, 87 ans, amoureux depuis cinq ans : « J’ai l’impression que je vais vivre encore longtemps »
TEST: __ocr__ QUE FAIRE D’APRÈS EUX ?


## lettres isolées
__ocr_lettres_isolées__
    [n|m|t|s|j|l|c|ç|d]  *WORD
        <<- /ocr/ re.search("^[aâeéèêiîouyh]", \2) -1:.2>> \1’                                      # Lettre isolée. Erreur de numérisation ?

TEST: __ocr__ {{J }}arrive demain


# virgules
__ocr_virgules__
    [il|le|la|l’|les|de|d’|ne|n’|me|m’|te|t’|se|s’|à|ce|cet|cette|mon|ma|ta|sa|mes|tes|ses|nos|vos|quelque|quelques|au|aux] ,
        <<- /ocr/ space_after(\1, 0, 0) and not \1.isupper() or value(\1, "|à|") ->> \1             # Erreur de numérisation ? Virgule superflue ?

TEST: __ocr__ Pierre entre pour {{se,}} rapprocher de L
TEST: __ocr__ je voudrais faire une question ou deux sur une maison de ce village, la… comment l’appelle-t-on ?


# A
__ocr_A__
    À
        <<- /ocr/ not value(<1, "|<start>|—|–|") ->> A                                              # Erreur de numérisation ?

TEST: __ocr__ Va jusqu’au point {{À}}


# âge / age
__ocr_âge__
    >age
        <<- /ocr/ ->> =\1.replace("a", "â").replace("A", "Â")                                       # Erreur de numérisation ?

TEST: __ocr__ l’{{age}}


# autre / antre
__ocr_autre__
    >antre
        <<- /ocr/ ->> =\1.replace("n", "u")                                                         # Erreur de numérisation ?

TEST: __ocr__ cet {{antre}} gars lui semblait bien louche.


# avec / aven / arec
__ocr_avec__
    [arec|aven]
        <<- /ocr/ ->> avec                                                                          # Erreur de numérisation ?

TEST: __ocr__ Elle s’en alla {{arec}} eux sans un regard en arrière.

# avaient / avalent
__ocr_avaient__
    avalent
        <<- /ocr/ ->> avaient                                                                       # Erreur de numérisation ?

TEST: __ocr__ Ils {{avalent}} très faim.


# avais / avals / axais
__ocr_avis__
    [avals|axais]
        <<- /ocr/ ->> avais                                                                         # Erreur de numérisation ?

TEST: __ocr__ j’{{axais}} souvent perdu le contrôle de moi-même, mais jamais à ce point


# brait / bruit
__ocr_bruit__
    brait
        <<- /ocr/ not value(<1, "|il|ne|n’|âne|ânesse|") ->> bruit                                  # Erreur de numérisation ?

TEST: __ocr__ tout ce qui {{brait}} dans la nuit


# car dans / cardans
__ocr_car_dans__
    cardans
        <<- /ocr/ ->> car dans                                                                      # Erreur de numérisation ?

TEST: __ocr__ On se tut tous, {{cardans}} l’armée on apprend à la boucler.


# cela
__ocr_cela__
    Gela
        <<- /ocr/ not value(<1, "|il|ne|elle|") ->> Cela                                            # Erreur de numérisation ?

TEST: __ocr__ {{Gela}}, on n’en veut plus.


# celui / celai
__ocr_celui__
    celai
        <<- /ocr/ not value(<1, "|je|ne|le|la|les|") ->> celui                                      # Erreur de numérisation ?

TEST: __ocr__ je suis déjà venu et {{celai}} qui viendra encore.


# ces / cos
__ocr_ces__
    cos
        <<- /ocr/ ->> ces                                                                           # Erreur de numérisation ?

TEST: __ocr__ {{cos}} problèmes sont insolubles.


# C’était / Celait
__ocr_c_était__
    celait
        <<- /ocr/ ->> c’était                                                                       # Erreur de numérisation ?

TEST: __ocr__ {{celait}} perdu d’avance.


# cette / celte / cotte
__ocr_cette__
    [celte|celle]  @:N.*:f:s
        <<- /ocr/ -1>> cette                                                                        # Erreur de numérisation ?

    cotte
        <<- /ocr/ not morph(<1, ":D.*:f:[si]") ->> cette                                            # Erreur de numérisation ?

TEST: __ocr__ mais {{celte}} femme semblait savoir ce qu’elle faisait.
TEST: __ocr__ avec {{celle}} tentative d’humour, il pensait nous faire rire.
TEST: __ocr__ on poirautait, {{cotte}} mariée n’arrivait pas à se décider.


# chère / obère
__ocr_chère__
    obère
        <<- /ocr/ not value(<1, "|j’|n’|l’|m’|t’|s’|il|on|elle|ça|cela|ceci|") ->> chère            # Erreur de numérisation ?

TEST: __ocr__ cette femme {{obère}} à notre cœur.


# Comme / Gomme
__ocr_comme__
    Gomme
        <<- /ocr/ not value(<1, "|et|ou|où|") ->> Comme                                             # Erreur de numérisation ?

TEST: __ocr__ {{Gomme}} il était sage à cette époque-là !


# Comment / Gomment
__ocr_comment__
    Gomment
        <<- /ocr/ ->> Comment                                                                       # Erreur de numérisation ?

TEST: __ocr__ {{Gomment}} s’en sortir avec tous ces retards qui s’accumulent ?


# contre / coutre / contra
__ocr_contre__
    [contra|coutre|coutra]
        <<- /ocr/ ->> contre                                                                        # Erreur de numérisation ?

TEST: __ocr__ elle était {{coutre}} cette idée et le serait toujours.


# de / da
__ocr_de__
    da
        <<- /ocr/ ->> de                                                                            # Erreur de numérisation ?

TEST: __ocr__ Le nombre {{da}} personnes endettées augmente sans cesse.


# dans / bans / clans
__ocr_dans__
    bans
        <<- /ocr/ not morph(<1, ":D.*:p") ->> dans                                                  # Erreur de numérisation ?

    [clans|dons]  [le|la|l’|les|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|chaque|chacun|plusieurs|quelques|maints|maintes|tout|tous|toute|toutes|certains|certaines|nombre]
        <<- /ocr/ not morph(<1, ":D.*:p") -1>> dans                                                 # Erreur de numérisation ?

    dam
        <<- /ocr/ not (value(<1, "|grand|") and value(<2, "|au|")) ->> dans                         # Erreur de numérisation ?

TEST: __ocr__ Mais {{bans}} cette ferme, tout était bien organisé.
TEST: __ocr__ sache que, {{clans}} cette ferme, on ne fait que du bio.
TEST: __ocr__ renvoyons ces chiens {{dam}} leur niche
TEST: __ocr__ nous avons vaincu, au grand dam de tous ces grands messieurs


# dame / darne
__ocr_dame__
    [>darne|>daine]
        <<- /ocr/ ->> =\1.replace("rn", "m").replace("in", "m")                                     # Erreur de numérisation ?

TEST: __ocr__ ces {{darnes}} arrivèrent avec dix minutes d’avance.
TEST: __ocr__ cette {{daine}} élégamment vêtue.


# dé / de / dés / des / dès / dos
__ocr_de_des__
    dé
        <<- /ocr/ not morph(<1, ":D.*:m:[si]") ->> de                                               # Erreur de numérisation ?

    dés
        <<- /ocr/ not morph(<1, ":D.*:m:p") ->> des|dès                                             # Erreur de numérisation ?

    do
        <<- /ocr/ ->> de                                                                            # Erreur de numérisation ?

    dos
        <<- /ocr/ not morph(<1, ":D.*:[me]") ->> des|dès                                            # Erreur de numérisation ?

TEST: __ocr__ {{dé}} gros camions circulaient toute la journée
TEST: __ocr__ {{dés}} fois, ça ne passe pas
TEST: __ocr__ {{do}} bon matin.
TEST: __ocr__ {{dos}} camions cabossés à n’en plus finir


# de la / delà
__ocr_de_la__
    delà
        <<- /ocr/ not value(<1, "|au|de|en|par|") ->> de la|de là                                   # Erreur de numérisation ?

TEST: __ocr__ la peinture {{delà}} maison s’écaillait


# doute / cloute
__ocr_doute__
    cloute
        <<- /ocr/ ->> doute                                                                         # Erreur de numérisation ?

TEST: __ocr__ Sans aucun {{cloute}}.


# du / dû
__ocr_du__
    dû  @:[NA]:[me]:[si]¬:Y
        <<- /ocr/ -1>> du                                                                           # Erreur de numérisation ?

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


# elle / elfe
__ocr_elle__
    elfe
        <<- /ocr/ morph(<1, ":R|<start>|>,") or isNextVerb() ->> elle                               # Erreur de numérisation ?

    elfes
        <<- /ocr/ morph(<1, ":R|<start>|>,") or isNextVerb() ->> elles                              # Erreur de numérisation ?

TEST: __ocr__ {{elfe}} viendra bientôt
TEST: __ocr__ {{Elfes}} s’ennuyaient à mourir.


# est / ost
__ocr_est__
    ost
        <<- /ocr/ ->> est                                                                           # Erreur de numérisation ?

TEST: __ocr__ Le cheval {{ost}} attaché.


# et / cl
__ocr_et__
    [cl|c1|e1|el]
        <<- /ocr/ not before("[0-9] +$") ->> et                                                     # Erreur de numérisation ?

TEST: __ocr__ elle {{cl}} lui, c’était pour la vie.
TEST: __ocr__ {{El}} il faisait froid là-haut


# état / étal
__ocr_état_étais_étaient__
    étal
        <<- /ocr/ ->> état                                                                          # Erreur de numérisation ?

    [étals|étale]
        <<- /ocr/ ->> étais|états                                                                   # Erreur de numérisation ?

    étalent
        <<- /ocr/ ->> étaient                                                                       # Erreur de numérisation ?

TEST: __ocr__ l’{{étal}} des finances ne le permet pas
TEST: __ocr__ Quels {{étals}} sont venus ?
TEST: __ocr__ Ce qu’ils {{étalent}} vraiment, nul ne le savait.


# êtes
__ocr_êtes!6__
    ôtes
        <<- /ocr/ not value(<1, "|tu|") ->> êtes|ôtez                                               # Erreur de numérisation ?

TEST: __ocr__ vous {{ôtes}} devenus fous.


# fasse
__ocr_fasse__
    >fesse
    fessent
        <<- /ocr/ ->> =\1.replace("ess", "ass").replace("ESS", "ASS")                               # Erreur de numérisation ?

TEST: __ocr__ Quoiqu’ils {{fessent}} ça donne de la merde
TEST: __ocr__ {{fesse}} que Dieu nous entende


# fille / tille
__ocr_fille__
    tille
        <<- /ocr/ ->> fille                                                                         # Erreur de numérisation ?

TEST: __ocr__ Cette {{tille}} n’en avait jamais assez.


# fol(s) / foi(s)
__ocr_foi__
    [fol|fols]
        <<- /ocr/ ->> =\1.replace("l", "i").replace("L", "I")                                       # Erreur de numérisation ?

TEST: __ocr__  ils sont quelques {{fols}} battus$


# faire
__ocr_faire__
    foire
        <<- /ocr/ ->> faire                                                                         # Erreur de numérisation ?

TEST: __ocr__ j’en vois une {{foire}} l’imbécile.


# fout / font
__ocr_font__
    fout
        <<- /ocr/ not value(<1, "|il|elle|on|") and not value(<2, "|il|elle|on|") ->> font          # Erreur de numérisation ?
        <<- /ocr/ __else__ and morph(>1, ":(?:Ov|Y|W)") ->> faut                                    # Erreur de numérisation ?

TEST: __ocr__ qui ne {{fout}} rien de leur journée
TEST: __ocr__ il {{fout}} entendre cette voix


# fut / rut
__ocr_fut__
    rut
        <<- /ocr/ ->> fut                                                                           # Erreur de numérisation ?

TEST: __ocr__ ce petit {{rut}} traité comme un chien


# il / n / ils / U / Us / i1 / if / 11
__ocr_il__
    [<start>|,]  [n|h|d]  ~^[bcdfghjklmnpqrstvwxz]
        <<- /ocr/ morph(\3, ":(?:O[on]|3s)") -2>> il                                                # Erreur de numérisation ?

    [U|if|i1]
        <<- /ocr/ ->> Il|il                                                                         # Erreur de numérisation ?

    [Us|ifs|i1s]
        <<- /ocr/ ->> Ils|ils                                                                       # Erreur de numérisation ?

    11
        <<- /ocr/ not morph(>1, ":N", "*") ->> Il|il                                                # Erreur de numérisation ?

TEST: __ocr__ {{n}} contient trop de soufre.
TEST: __ocr__ {{U}} arrive
TEST: __ocr__ {{Us}} arrive demain.
TEST: __ocr__ {{i1s}} en savent beaucoup trop pour leur propre bien.
TEST: __ocr__ {{11}} n’en sait rien
TEST: __ocr__ elle a 11 ans.
TEST: __ocr__ 11 jours de souffrance
TEST: __ocr__ nous sommes le 11 septembre


# fa / la
__ocr_la__
    fa
        <<- /ocr/ ->> la                                                                            # Erreur de numérisation ?

TEST: __ocr__ dans {{fa}} demeure


# large / largo
__ocr_large__
    >largo
        <<- /ocr/ ->> =\1.replace("o", "e")                                                         # Erreur de numérisation ?

TEST: __ocr__ elle pense {{largo}}


# l’ / j’ / Y / I
__ocr_lj1__
    ~^Y’[aâeéèêëiîïoôuyh]
        <<- /ocr/ ->> ="l’"+\1[2:] + "|L’"+\1[2:] + "|j’"+\1[2:] + "|J’"+\1[2:]                     # Erreur de numérisation ?

    Y  ~^[aâeéèêëiîïoôuyh]
        <<- /ocr/ before("\\w") and not morph(\2, ":Y") ->> l’\2|j’\2                               # Erreur de numérisation ?

    ~^[Ii]’[aâeéèêëiîïoôuyh]
        <<- /ocr/ ->> ="l’"+\1[2:] + "|L’"+\1[2:] + "|j’"+\1[2:] + "|J’"+\1[2:]                     # Erreur de numérisation ?

    [I|i|1]  ~^[aâeéèêëiîïoôuy]
        <<- /ocr/ ->> l’\2|L’\2|j’\2|J’\2                                                           # Erreur de numérisation ?

TEST: __ocr__ {{Y’arrive}} demain.
TEST: __ocr__ et {{Y acte}}
TEST: __ocr__ {{I’arrive}} demain.
TEST: __ocr__ {{1 entente}} cordiale


# l’ / V / P
__ocr_l__
    ~^V.
        <<- /ocr/ \1.istitle() and before("\\w") and morph(\1, ":", ":M") >>>
        <<- /ocr/ spell(\1[1:]) -:>> ="v"+\1[1:] + "|l’"+\1[1:]                                     # Erreur de numérisation ?
        <<- /ocr/ __else__ -:>> ="v"+\1[1:]                                                         # Erreur de numérisation ?

    ~^P[aâeéêèiîïoôuy]
        <<- /ocr/ before("\\w") and morph(\1, ":", ":M") and spell(\1[1:])
        -:>> ="l’"+\1[1:] + "|p"+\1[1:]                                                             # Erreur de numérisation ?

TEST: __ocr__ beaucoup de {{Vélos}} à Versailles.
TEST: __ocr__ avec {{Vagile}} méthode de notre amie Virginie, tout est possible.
TEST: __ocr__ Viens demain.
TEST: __ocr__ Ce jour où Valérie eut sa licence de droit.
TEST: __ocr__ Il scrute Pierre, {{Pair}} maussade.
TEST: __ocr__ Une grosse vague arrivait et {{Peau}} remplit.
TEST: __ocr__ selon toute logique, Paris sera épargné.
TEST: __ocr__ À l’orée de la semaine de Pâques, l’incendie de la cathédrale Notre-Dame


# l’avoir / la voir
__ocr_l_avoir_la_voir__
    lavoir
        <<- /ocr/ not morph(<1, ":D.*:[me]:[si]") ->> l’avoir|la voir                               # Erreur de numérisation ?

TEST: __ocr__ il faut {{lavoir}} pour le croire.


# l’était / Tétait
__ocr_l_était__
    Tétait
        <<- /ocr/ -:>> l’était|t’était|T’était                                                      # Erreur de numérisation ?

TEST: __ocr__ perdu, cet homme {{Tétait}}


# le / les / lé / lés / lui / lai / lei / la / tu / lu
__ocr_le_la_les__
    >lé
        <<- /ocr/ ->> =\1.replace("é", "e").replace("É", "E")                                       # Erreur de numérisation ?

    [lai|lei]
        <<- /ocr/ ->> lui|les                                                                       # Erreur de numérisation ?

    los
        <<- /ocr/ ->> les                                                                           # Erreur de numérisation ?

    lu
        <<- /ocr/ not morph(<1, ":(?:V0|N.*:m:[si])") ->> tu|le|la                                  # Erreur de numérisation ?

TEST: __ocr__ il s’agit de {{lés}} observer.
TEST: __ocr__ {{lai}} gros sont mal vus.
TEST: __ocr__ {{lu}} as si bien réussi
TEST: __ocr__ contre {{los}} impies


# M. / Mr / M
__ocr_mr__
    M ,  ~^[A-ZÉÈ]
        <<- /ocr/ -1:2>> "Mr |M. "                                                                  # Erreur de numérisation ?

    M  ~^[A-ZÉÈ]
        <<- /ocr/ -1>> "Mr |M. "                                                                    # Erreur de numérisation ?

TEST: __ocr__ {{M,}} Patrick nous a oubliés.
TEST: __ocr__ Rencontre avec {{M}} Black.


# Mais / Hais / Mats / niais
__ocr_mais__
    Hais
        <<- /ocr/ ->> Mais                                                                          # Erreur de numérisation ?

    mats
        <<- /ocr/ not morph(<1, ":D:[me]:p") ->> mais                                               # Erreur de numérisation ?

    maïs
        <<- /ocr/ not morph(<1, ":D:(?:m:s|e:p)") ->> mais                                          # Erreur de numérisation ?

    niais
        <<- /ocr/ not morph(<1, ">(?:homme|ce|quel|être)/") ->> mais                                # Erreur de numérisation ?

TEST: __ocr__ {{Hais}} il en sait trop.
TEST: __ocr__ c’était bien, {{mats}} quelle journée
TEST: __ocr__ c’est bien, {{niais}} trop subtil.
TEST: __ocr__ c’est parfait, {{maïs}} trop subtil.


# matin
__ocr_matin__
    [mâtin|mâtins]
        <<- /ocr/ ->> =\1.replace("â", "a").replace("Â", "A")                                       # Erreur de numérisation ?

TEST: __ocr__ ce {{mâtin}}, il y eut une tempête.


# même / même / mème / mémo / môme
__ocr_même__
    >môme
        <<- /ocr/ ->> =\1.replace("ô", "ê").replace("Ô", "Ê")                                       # Erreur de numérisation ?

    >mème
        <<- /ocr/ ->> =\1.replace("è", "ê").replace("È", "Ê")                                       # Erreur de numérisation ?

    >mémo
        <<- /ocr/ ->> =\1.replace("é", "ê").replace("É", "Ê").replace("o", "e").replace("O", "E")   # Erreur de numérisation ?

TEST: __ocr__ J’en ai assez {{môme}} si ça ne se voit pas.
TEST: __ocr__ Ces {{mèmes}} hommes qui nous ont lâchés au pire moment
TEST: __ocr__ C’est l’incessant retour du {{mémo}}.


# mes
__ocr_mes_m_as__
    mas
        <<- /ocr/ ->> mes|m’as                                                                      # Erreur de numérisation ?

    nies
        <<- /ocr/ not value(<1, "|tu|ne|n’|") ->> mes                                               # Erreur de numérisation ?

TEST: __ocr__ elle est fière de {{mas}} succès
TEST: __ocr__ Est-ce que tu vas nier {{nies}} réussites


# mon / won
__ocr_mon__
    won
        <<- /ocr/ ->> mon                                                                           # Erreur de numérisation ?

TEST: __ocr__ c’est {{won}} ami


# mot / mol / moi
__ocr_mot__
    [mol|mols]
        <<- /ocr/ ->> =\1.replace("l", "t").replace("L", "T")+"|"+\1.replace("l", "i").replace("L", "I")  # Erreur de numérisation ?

TEST: __ocr__ c’est un {{mol}} très dur.


# moyen
__ocr_moyen__
    >moyeu
        <<- /ocr/ ->> moyen|moyens                                                                  # Erreur de numérisation ?

TEST: __ocr__ quel {{moyeu}} employer ?


# ne / na / no / rie
__ocr_ne__
    [no|na|rie]
        <<- /ocr/ ->> ne                                                                            # Erreur de numérisation ?

TEST: __ocr__ {{no}} fais rien que tu pourrais regretter
TEST: __ocr__ elle avance, mais {{rie}} prend jamais de risque inconsidéré.


# nous / noue / noua
__ocr_nous__
    [noue|noua]
        <<- /ocr/ ->> nous                                                                          # Erreur de numérisation ?

TEST: __ocr__ {{noue}} attaquer à eux signerait notre perte.


# par / paf / pan / pat
__ocr_par__
    [paf|pat]
        <<- /ocr/ ->> par                                                                           # Erreur de numérisation ?

    pan
        <<- /ocr/ ->> par|peu                                                                       # Erreur de numérisation ?

    pur @:[DMT]
        <<- /ocr/ -1>> par                                                                          # Erreur de numérisation ?

TEST: __ocr__ Une seule action {{paf}} jour
TEST: __ocr__ {{Pur}} la déesse !
TEST: __ocr__ attaqué {{pan}} deux fois


# par le / par la / par les / parle / parla / parles
__ocr_par_le_la_les__
    parle  @:[NA].*:[me]:[si]
        <<- /ocr/ not value(<1, "|ne|il|on|elle|je|") -1>> par le                                   # Erreur de numérisation ?

    parla  @:[NA].*:[fe]:[si]
        <<- /ocr/ not value(<1, "|ne|il|on|elle|") -1>> par la                                      # Erreur de numérisation ?

    parles  @:[NA].*:[pi]
        <<- /ocr/ not value(<1, "|ne|tu|") -1>> par les                                             # Erreur de numérisation ?

TEST: __ocr__ {{parle}} glaive et le mensonge, l’Église s’imposa.
TEST: __ocr__ {{parla}} force, on peut réussir
TEST: __ocr__ tu fus trompée {{parles}} mensonges permanents de son beau-père.


# pendant / pondant
__ocr_pendant__
    pondant
        <<- /ocr/ ->> pendant                                                                       # Erreur de numérisation ?

TEST: __ocr__ {{pondant}} qu’elle travaille, il se prélasse.


# peu / peut / peux / pou
__ocr_peu_peux_peut__
    pou
        <<- /ocr/ not morph(<1, ":D.*:m:s") ->> peu                                                 # Erreur de numérisation ?

    poux
        <<- /ocr/ not morph(<1, ":D.*:m:p") ->> peux|peut|pour                                      # Erreur de numérisation ?

TEST: __ocr__ il est {{pou}} probable qu’il y parvienne.
TEST: __ocr__ elles sont venues {{poux}} voir de leurs propres yeux.


# plus / pins
__ocr_plus__
    pins
        <<- /ocr/ ->> plus                                                                          # Erreur de numérisation ?

TEST: __ocr__ ils sont {{pins}} instruits qu’il n’y paraît.


# puis / pois
__ocr_puis__
    pois
        <<- /ocr/ not morph(<1, ":D.*:m:p") ->> puis                                                # Erreur de numérisation ?

TEST: __ocr__ elles sont venues, {{pois}} elles sont parties.


# pour / pouf
__ocr_pour__
    pouf
        <<- /ocr/ not morph(<1, ":D.*:f:s") ->> pour                                                # Erreur de numérisation ?

TEST: __ocr__ {{pouf}} elle, il était prêt à tout.


# près / prés
__ocr_près__
    prés
        <<- /ocr/ not morph(<1, ":D.*:[me]:p") ->> près                                             # Erreur de numérisation ?

TEST: __ocr__ ils sont arrivés {{prés}} de la tombe.


# que / quo
__ocr_que__
    qua
        <<- /ocr/ not value(<1, "|sine|") ->> que                                                   # Erreur de numérisation ?

    quo
        <<- /ocr/ not value(<1, "|statu|") ->> que                                                  # Erreur de numérisation ?

TEST: __ocr__ elles ne savent pas {{qua}} faire
TEST: __ocr__ {{Quo}} penser de tout ceci ?
TEST: __ocr__ pour elle, c’est une condition sine qua non.


# qu’importe
__ocr_qu_importe__
    qu’ [importé|importa]
        <<- /ocr/ -2>> importe                                                                      # Erreur de numérisation ?

TEST: __ocr__ Qu’{{importé}} le flacon, pourvu qu’on ait l’ivresse.


# reine / ruine
__ocr_reine_ruine__
    >rainer
        <<- /ocr/ value(\1, "|raine|raines|") ->> reine|reines|ruine|ruines                         # Erreur de numérisation ?
        <<- /ocr/ __else__ ->> =\1.replace("ain", "uin").replace("AIN", "UIN")                      # Erreur de numérisation ?

TEST: __ocr__ tu vas {{rainer}} notre réputation.
TEST: __ocr__ des {{raines}} mal aimées.


# qu’étant
__ocr_qu_étant__
    quêtant
        <<- /ocr/ ->> qu’étant                                                                      # Erreur de numérisation ?

TEST: __ocr__ {{Quêtant}} la fille d’une déesse, elle n’avait pas à se justifier.


# qui / gui
__ocr_qui__
    gui
        <<- /ocr/ not morph(<1, ":D.*:m:s") ->> qui                                                 # Erreur de numérisation ?

TEST: __ocr__ avec {{gui}} faire alliance ?


# s’il / sil
__ocr_s_il__
    sil
        <<- /ocr/ ->> s’il                                                                          # Erreur de numérisation ?

    sils
        <<- /ocr/ ->> s’ils                                                                         # Erreur de numérisation ?

TEST: __ocr__ {{sil}} avait su, il n’aurait rien tenté de trop audacieux.
TEST: __ocr__ {{sils}} étaient venus, on l’aurait vu.


# son / sou
__ocr_son__
    sou
        <<- /ocr/ ->> son                                                                           # Erreur de numérisation ?

TEST: __ocr__ ça vient de {{sou}} ami


# sur / sar
__ocr_sur__
    sar
        <<- /ocr/ ->> sur                                                                           # Erreur de numérisation ?

    sui
        <<- /ocr/ not value(>1, "|generis|") ->> sur                                                # Erreur de numérisation ?

TEST: __ocr__ il ne savait rien {{sar}} eux.
TEST: __ocr__ il en est {{sui}}


# tard / lard
__ocr_tard__
    lard
        <<- /ocr/ not value(<1, "|le|ce|mon|ton|son|du|un|") ->> tard                               # Erreur de numérisation ?

TEST: __ocr__ elles seront là tôt ou {{lard}}.


# tandis que / taudis
__ocr_tandis__
    taudis [que|qu’]
         <<- /ocr/ -1>> tandis                                                                       # Erreur de numérisation ?

TEST: __ocr__ mais {{taudis}} qu’elle œuvrait à leur salut, les nuages s’amoncelaient.


# l’est / Test
__ocr_l_est__
    Test
        <<- /ocr/ before("\\w") ->> l’est                                                           # Erreur de numérisation ?

TEST: __ocr__ ça {{Test}} à leurs yeux.


# tête / tète
__ocr_tête__
    tète
        <<- /ocr/ not value(<1, "|je|il|elle|on|ne|ça|") ->> =\1.replace("è", "ê").replace("È", "Ê")    # Erreur de numérisation ?

TEST: __ocr__ cette forte {{tète}} n’écoute jamais personne.


# tin / fin / un
__ocr_fin_un__
    tin
        <<- /ocr/ ->> fin|un                                                                        # Erreur de numérisation ?

TEST: __ocr__ c’était {{tin}} marchand vaniteux.


# ton / tan
__ocr_ton__
    >tan
        <<- /ocr/ ->> =\1.replace("a", "o").replace("A", "O")                                       # Erreur de numérisation ?

TEST: __ocr__ pour {{tan}} propre bien.


# toute / tonte
__ocr_toute__
    >tonte
        <<- /ocr/ ->> =\1.replace("n", "u").replace("N", "U")                                       # Erreur de numérisation ?

TEST: __ocr__ à {{tonte}} fin utile


# tu es / tues
__ocr_tu_es__
    tues
        <<- /ocr/ not morph(<1, ":(?:N.*:f:p|V0e.*:3p)|>(?:tu|ne)/") ->> tu es                      # Erreur de numérisation ?

TEST: __ocr__ dans tous les cas, {{tues}} foutue.
TEST: __ocr__ ses actions tues.


# un / vin
__ocr_un__
    vin
        <<- /ocr/ not value(<1, "|ce|de|du|un|quel|leur|le|") ->> un                                # Erreur de numérisation ?

TEST: __ocr__ {{vin}} mathématicien hors du commun.


# une / ure / vine
__ocr_une__
    ure
        <<- /ocr/ ->> une                                                                           # Erreur de numérisation ?

    vine
        <<- /ocr/ ->> une                                                                           # Erreur de numérisation ?

TEST: __ocr__ il avait {{ure}} femme élégante et silencieuse
TEST: __ocr__ c’est pour {{vine}} amie


# vêtement / vêlement
__ocr_vêtement__
    >vêlement
        <<- /ocr/ ->> =\1.replace("l", "t").replace("L", "T")                                       # Erreur de numérisation ?

TEST: __ocr__ il enfila ses {{vêlements}} en hâte.


# vite
__ocr_vite__
    vile
        <<- /ocr/ ->> vite                                                                          # Erreur de numérisation ?

TEST: __ocr__ Elle est {{vile}} débordée par l’ampleur de la tâche.


# voilà
__ocr_voilà__
    [<start>|,]  ?[me|te|le|la|nous|vous|les]¿  voila
        <<- /ocr/ --1>> voilà                                                                       # Erreur de numérisationb ?

TEST: __ocr__ nous {{voila}}


# voit / volt
__ocr_voit__
    volt
        <<- /ocr/ ->> voit                                                                          # Erreur de numérisation ?

TEST: __ocr__ La femme {{volt}} plus loin


# vous / voua / voue
__ocr_vous__
    [voue|voua]
        <<- /ocr/ ->> vous                                                                          # Erreur de numérisation ?

TEST: __ocr__ avec {{voue}}, je n’ai pas confiance.



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: graphe1                                                                                 _
@@@@
@@@@
@@@@
@@@@

!!!! Doublons (casse identique)                                                                   !!


# SLOWER THAN REGEX RULE
#__doublon__
#    *WORD  *WORD
#    <<- \1 == \2
#        and not value(\2, "|nous|vous|faire|en|la|lui|donnant|œuvre|ah|oh|eh|hé|ho|ha|hou|olé|joli|Bora|couvent|dément|sapiens|très|vroum|")
#        and not (value(\1, "|est|une|") and value(<1, "|l’|d’|"))
#        and not (\2 == "mieux" and value(<1, "|qui|"))
#    ->> \1                                                                                          # Doublon.
#
#TEST: Il y a un {{doublon doublon}}.


!!
!!
!!!! Élisions                                                                                     !!
!!
!!

__typo_élisions_manquantes__
    [le|la|de]  ~^[aâeéêiîoôu].
        <<- /typo/ space_after(\1, 1, 1) and not re.search("(?i)^(?:onz[ei]|énième|iourte|ouistiti|ouate|one-?step|ouf|Ouagadougou|I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2) and not morph(\2, ":G")
        -1:.2>> =\1[0:1]+"’"                                                # Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision

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

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

    se  ~^[aâeéêiîoôu].
        <<- /typo/ \1 != "SE" and space_after(\1, 1, 1) and morph(\2, ":V", ":Q")
        -1:.2>> s’                                                          # Il faut élider le pronom “se” et l’accoler au verbe.|http://fr.wikipedia.org/wiki/Élision

TEST: {{le }}amour                                                        ->> l’
TEST: {{la }}imagination                                                  ->> l’
TEST: {{de }}amour                                                        ->> d’
TEST: {{de }}est                                                          ->> d’
TEST: je crois que {{si }}ils viennent, ils seront mécontents
TEST: {{Que }}ils soient heureux
TEST: Il {{se }}avançait parmi eux.
TEST: J’ai passé une journée de ouf.


# ce -> cet
__typo_euphonie_cet__
    ce  ~^[aâeéêiîoôu]
        <<- /typo/ not re.search("(?i)^(?:onz|énième|ouf|énième|ouistiti|one-?step|I(?:I|V|X|er|ᵉʳ))", \2) and morph(\2, ":[NA].*:[me]")
        -1>> cet                                                                # Euphonie : “ce” devient “cet” devant un mot commençant par une voyelle.

TEST: {{ce}} animal est dangereux



!!
!!
!!!! Nombres ordinaux                                                                             !!
!!
!!

__typo_ordinaux_chiffres_exposants__
# Désactivé dans Writer pour éviter la confusion avec le formatage exposant
    1er
        <<- /typo/ sContext != "Writer" ->> 1ᵉʳ     # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    1ers
        <<- /typo/ sContext != "Writer" ->> 1ᵉʳˢ    # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    1re
        <<- /typo/ sContext != "Writer" ->> 1ʳᵉ     # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    1res
        <<- /typo/ sContext != "Writer" ->> 1ʳᵉˢ    # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2d
        <<- /typo/ sContext != "Writer" ->> 2ᵈ      # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2ds
        <<- /typo/ sContext != "Writer" ->> 2ᵈˢ     # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2de
        <<- /typo/ sContext != "Writer" ->> 2ᵈᵉ     # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2des
        <<- /typo/ sContext != "Writer" ->> 2ᵈᵉˢ    # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^\d+e$
        <<- /typo/ \1 != "1e" and sContext != "Writer" ->> =\1[:-1]+"ᵉ"         # Nombre ordinal singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^\d+es$
        <<- /typo/ \1 != "1es" and sContext != "Writer" ->> =\1[:-2]+"ᵉˢ"       # Nombre ordinal pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

TEST: le {{1er}} qui m’emmerde, je le fusille       ->> 1ᵉʳ
TEST: les {{1ers}} seront toujours là               ->> 1ᵉʳˢ
TEST: la {{1re}} classe                             ->> 1ʳᵉ
TEST: les {{1res}} classes                          ->> 1ʳᵉˢ
TEST: être {{2d}} au classement                     ->> 2ᵈ
TEST: éternels {{2ds}}                              ->> 2ᵈˢ
TEST: la {{2de}} fois                               ->> 2ᵈᵉ
TEST: les {{2des}}                                  ->> 2ᵈᵉˢ
TEST: c’est le {{3e}}                               ->> 3ᵉ
TEST: les {{4es}} vont en cours.                    ->> 4ᵉˢ


__typo_ordinaux_chiffres_incorrects__
    1 [ier|er]
    1ier
        <<- /typo/ ->> 1ᵉʳ          # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    1 [iers|ers]
    1iers
        <<- /typo/ ->> 1ᵉʳˢ         # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    1 [ière|ère|re]
    1ière
        <<- /typo/ ->> 1ʳᵉ          # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    1 [ières|ères|res]
    1ières
        <<- /typo/ ->> 1ʳᵉˢ         # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premiers : 1ᵉʳˢ. Premières : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2 nd
    2nd
        <<- /typo/ ->> 2ᵈ           # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2 nds
    2nds
        <<- /typo/ ->> 2ᵈˢ          # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2 nde
    2nde
        <<- /typo/ ->> 2ᵈᵉ          # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    2 ndes
    2ndes
        <<- /typo/ ->> 2ᵈᵉˢ         # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^\d+$  [e|è|ième|ieme|ème|eme]
        <<- /typo/ ->> \1ᵉ          # Nombre ordinal singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^\d+$  [es|ès|ièmes|iemes|èmes|emes]
        <<- /typo/ ->> \1ᵉˢ         # Nombre ordinal pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^\d+(?:è|i?[èe]me)s?$
        <<- /typo/ \1.endswith("s")
        ->> =\1.replace("mes", "").replace("è", "").replace("e", "").replace("i", "") + "ᵉˢ"    # Nombre ordinal pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
        <<- /typo/ __else__
        ->> =\1.replace("me", "").replace("è", "").replace("e", "").replace("i", "") + "ᵉ"      # Nombre ordinal singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

TEST: le {{1ier}} de chaque semaine             ->> 1ᵉʳ
TEST: les {{1 iers}}                            ->> 1ᵉʳˢ
TEST: la {{1ière}} fois, c’est la plus dure     ->> 1ʳᵉ
TEST: les {{1ières}}                            ->> 1ʳᵉˢ
TEST: le {{2nd}} du mois                        ->> 2ᵈ
TEST: les {{2nds}} du mois                      ->> 2ᵈˢ
TEST: la {{2 nde}} vitesse                      ->> 2ᵈᵉ
TEST: les {{2ndes}} classes                     ->> 2ᵈᵉˢ
TEST: Non, la {{2 è}} fois.                     ->> 2ᵉ
TEST: C’est la {{3 ème}} fois…                  ->> 3ᵉ
TEST: C’est la {{3ème}} fois…                   ->> 3ᵉ
TEST: les {{5 èmes}} classes…                   ->> 5ᵉˢ
TEST: les {{3ièmes}} années                     ->> 3ᵉˢ



__typo_ordinaux_chiffres_romains_exposants__
    Ier
        <<- /typo/ sContext != "Writer" ->> Iᵉʳ     # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    Iers
        <<- /typo/ sContext != "Writer" ->> Iᵉʳˢ    # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    Ire
        <<- /typo/ sContext != "Writer" ->> Iʳᵉ     # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    Ires
        <<- /typo/ sContext != "Writer" ->> Iʳᵉˢ    # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    IId
        <<- /typo/ sContext != "Writer" ->> IIᵈ     # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    IIds
        <<- /typo/ sContext != "Writer" ->> IIᵈˢ    # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    IIde
        <<- /typo/ sContext != "Writer" ->> IIᵈᵉ    # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    IIdes
        <<- /typo/ sContext != "Writer" ->> IIᵈᵉˢ   # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^[IVXLCM]{2,20}e$
        <<- /typo/ sContext != "Writer" ->> =\1[:-1]+"ᵉ"    # Nombre ordinal romain singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    [Ie|Ve|Xe]
        <<- /typo/ sContext != "Writer" ->> =\1[:-1]+"ᵉ"    # Nombre ordinal romain singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^[IVXLCM]{2,20}es$
        <<- /typo/ sContext != "Writer" ->> =\1[:-2]+"ᵉˢ"   # Nombre ordinal romain pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    [Ies|Ves|Xes]
        <<- /typo/ sContext != "Writer" ->> =\1[:-2]+"ᵉˢ"   # Nombre ordinal romain pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

TEST: François {{Ier}}                          ->> Iᵉʳ
TEST: les {{Iers}}                              ->> Iᵉʳˢ
TEST: la {{Ire}}                                ->> Iʳᵉ
TEST: les {{Ires}}                              ->> Iʳᵉˢ
TEST: le {{IId}}                                ->> IIᵈ
TEST: les {{IIds}}                              ->> IIᵈˢ
TEST: la {{IIde}}                               ->> IIᵈᵉ
TEST: les {{IIdes}}                             ->> IIᵈᵉˢ
TEST: c’est le {{IIIe}} siècle                  ->> IIIᵉ
TEST: La {{Ve}} République                      ->> Vᵉ
TEST: Le {{Xe}} siècle                          ->> Xᵉ
TEST: {{XXXIIes}}                               ->> XXXIIᵉˢ
TEST: les {{Ves}} siècles                       ->> Vᵉˢ


__typo_ordinaux_chiffres_romains_incorrects__
    I ier
    Iier
        <<- /typo/ ->> Iᵉʳ          # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    I iers
    Iiers
        <<- /typo/ ->> Iᵉʳˢ         # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    I ière
    Iière
        <<- /typo/ ->> Iʳᵉ          # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    I ières
    Iières
        <<- /typo/ ->> Iʳᵉˢ         # Nombre ordinal romain. Premier : Iᵉʳ. Première : Iʳᵉ. Premiers : Iᵉʳˢ. Premières : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    II nd
    IInd
        <<- /typo/ ->> IIᵈ          # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    II nds
    IInds
        <<- /typo/ ->> IIᵈˢ         # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    II nde
    IInde
        <<- /typo/ ->> IIᵈᵉ         # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    II ndes
    IIndes
        <<- /typo/ ->> IIᵈᵉˢ        # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^[IVXLCM]{1,20}$  [e|è|ième|ieme|ème|eme]
        <<- /typo/ ->> \1ᵉ          # Nombre ordinal romain singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^[IVXLCM]{1,20}$  [es|ès|ièmes|iemes|èmes|emes]
        <<- /typo/ ->> \1ᵉˢ         # Nombre ordinal romain pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

    ~^[IVXLCM]{1,20}(?:è|i?[èe]me)s?$
        <<- /typo/ not morph(\1, ":G") >>>
        <<- /typo/ \1.endswith("s") or \1.endswith("S")
        ->> =\1.replace("mes", "").replace("è", "").replace("e", "").replace("i", "") + "ᵉˢ" # Nombre ordinal romain pluriel. Exemples : IIᵉˢ, IIIᵉˢ, IVᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
        <<- /typo/ __else__
        ->> =\1.replace("me", "").replace("è", "").replace("e", "").replace("i", "") + "ᵉ"   # Nombre ordinal romain singulier. Exemples : IIᵉ, IIIᵉ, IVᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

TEST: François {{Iier}}                         ->> Iᵉʳ
TEST: {{Iiers}}                                 ->> Iᵉʳˢ
TEST: {{I ière}}                                ->> Iʳᵉ
TEST: {{Iières}}                                ->> Iʳᵉˢ
TEST: le {{IInd}} siècle                        ->> IIᵈ
TEST: {{IInds}}                                 ->> IIᵈˢ
TEST: {{II nde}}                                ->> IIᵈᵉ
TEST: {{IIndes}}                                ->> IIᵈᵉˢ
TEST: Le {{XXII ème}} siècle.                   ->> XXIIᵉ
TEST: Les {{XVI èmes}}.                         ->> XVIᵉˢ
TEST: le {{VIième}} siècle                      ->> VIᵉ
TEST: Le {{XX ème}} siècle.                     ->> XXᵉ
TEST: Le {{XXIème}} siècle.                     ->> XXIᵉ
TEST: le {{XXè}} siècle.                        ->> XXᵉ
TEST: les {{CXIèmes}}                           ->> CXIᵉˢ


!!!! Chimie                                                                                       !!

__chim_molécules__
    [Ac2O3|Ag2C2|Ag2C2O4|Ag2Cl2|Ag2CO3|Ag2Cr2O7|Ag2CrO4|Ag2F|Ag2MoO4|Ag2O|Ag2S|Ag2Se|Ag2SeO3|Ag2SeO4|Ag2SO4|Ag2Te|Ag3Br2|Ag3Br3|Ag3Cl3|Ag3I3|Ag3PO4|AgBF4|AgBrO2|AgBrO3|AgBrO4|AgCl3Cu2|AgClO3|AgClO4|AgF2|AgIO2|AgIO3|AgIO4|AgMnO4|AgN3|AgNO3|AgPF6|Al2BeO4|Al2Br6|Al2Cl9K3|Al2CoO4|Al2F6|Al2I6|Al2MgO4|Al2O|Al2O2|Al2O3|Al2O5Si|Al2O7Si2|Al2S|Al2S3|Al2Se|Al2Te|Al3F14Naᵢ|Al4C3|Al6BeO10|Al6O13Si2|AlBO3|AlBr3|AlCl2F|AlCl2H|AlCl3|AlCl4Cs|AlCl4K|AlCl4Na|AlCl4Rb|AlCl6K3|AlCl6Na3|AlF2|AlF2O|AlF3|AlF4K|AlF4Li|AlF6K3|AlF6Li3|AlF6Na3|AlI3|AlLiO2|AlNaO2|AlO2|AlPO4|AlTe2|As2I4|As2Mg3|As2O3|As2O5|As2P2|As2S4|As2S5|As2Se|As2Se3|As2Se5|As3O4|As3P|As4O3|As4O5|As4S3|As4S4|AsBr3|AsCl3|AsCl3O|AsCl4F|AsF3|AsF5|AsH3|AsI3|AsO2|AsP3|Au2O3|Au2S|Au2S3|Au2Se3|AuBr3|AuCl3|AuF3|AuI3]
    [B2Cl4|B2F4|B2H6|B2O3|B2S3|B2Se3|B3N3H6|B4C|Ba2P2O7|Ba2V2O7|Ba2XeO6|Ba3N2|BaB6|BaBr2|BaC2|BaC2O4|BaCl2|BaCO3|BaCrO4|BaF2|BaFeSi4O10|BaHfO3|BaHgI4|BaI2|BaMnO4|BaMoO4|BaN6|BaNb2O6|BaO2|BaS2O3|BaSeO3|BaSeO4|BaSi2|BaSi2O5|BaSiF6|BaSiO3|BaSnO3|BaSO3|BaSO4|BAsO4|BaTeO3|BaTiO3|BaU2O7|BaWO4|BaZrO3|BBr3|BCl3|Be2C|Be3N2|BeB2|BeBr2|BeCl2|BeCO3|BeF2|BeI2|BeSO3|BeSO4|BF3|Bi2O3|Bi2S3|Bi2Se3|BI3|BiBO3|BiBr3|BiC6H5O7|BiCl3|BiF3|BiI3|BiPO4|BPO4|Br2|Br2O5|BrCl3|BrCl5|BrF3|BrF5]
    [C10H10N2O|C10H10O2|C10H10O4|C10H11N3O3S|C10H12N2|C10H12O|C10H12O2|C10H12O3|C10H13N5O4|C10H14O|C10H15ON|C10H16|C10H16O|C10H17NO3|C10H19NO3|C10H20N2O2|C10H22|C10H7N3S|C10H7NO2|C10H8|C10H8O3|C10H9N5O|C10H9NO2|C11H11NO2|C11H12N2O2|C11H12O3|C11H14N2O|C11H14O2|C11H19NO4|C11H24|C11H8O2|C12H10|C12H10ClN2O5S|C12H11N5|C12H11N7|C12H13NO2|C12H14O4|C12H15NO|C12H16N2|C12H16O3|C12H16O4|C12H16O7|C12H18O|C12H22O11|C12H26|C12H4N4|C12H8O4|C131H200N30O43S2|C13H10O|C13H12F2N6O|C13H12O|C13H12O2|C13H14N2O|C13H16N2O2|C13H18O2|C13H28|C14H10|C14H10O14|C14H12O3|C14H14Cl2N2O|C14H18N2O5|C14H18N4O3|C14H30|C158H251N39O46S|C15H10O4|C15H10O5|C15H10O6|C15H10O7|C15H12N2O|C15H12N2O2|C15H32|C161H236N42O48|C164H256Na2O68S2|C16H14O3|C16H28N2O6Zn|C16H34|C17H13ClN4|C17H14F3N3O2S|C17H18N2O6|C17H19N3O3S|C17H22O2|C17H24O|C17H24O9|C17H36|C18H22O2|C18H24O2|C18H24O3|C18H24O4|C18H27NO3|C18H32O2|C18H36O2|C18H38|C19H16ClNO4|C19H26O2|C19H28O2|C19H30O2|C19H40|C20H24O2N2|C20H27NO11|C20H28O2|C20H32O5|C20H34O5|C20H42|C21H20O6|C21H30O2|C21H36N7O16P3S|C22H23ClN2O2|C23H19ClF3NO3|C2F4|C2H2|C2H2O2|C2H3Cl|C2H3NO|C2H4|C2H4Cl2|C2H4N4|C2H4O|C2H4O2|C2H5Br|C2H5NH2|C2H5NO2|C2H5OCs|C2H5OH|C2H5OK|C2H5ONa|C2H5ORb|C2H6|C2H6OS|C2H7NO|C2H7NO2|C2H7NO3S|C30H19NO9|C34H46O18|C35H60O6|C3H3N|C3H4N2|C3H4N2S|C3H4O3|C3H4O4|C3H5N3|C3H5N3O9|C3H5NO|C3H6|C3H6O2|C3H6O2S|C3H7N|C3H7NO2|C3H7NO2S|C3H7NO3|C3H8|C3H8NO5P|C3H8O|C3H8O2|C3H8O3|C3H9N3|C3HN|C3N12|C40H56|C44H69N15O9S|C4H10|C4H10O|C4H10O2|C4H10O3|C4H11NO2|C4H2|C4H2BrClN2|C4H2Cl2N2|C4H3Cl2N3|C4H3FN2O2|C4H4|C4H4FN3O|C4H4N2O2|C4H4N4|C4H4O|C4H5N3O|C4H6N2|C4H6N2S|C4H6N4O|C4H6O2|C4H6O4|C4H7BrO2|C4H7KO3|C4H7NaO3|C4H7NO2|C4H7NO3|C4H7NO4|C4H8|C4H8N2O3|C4H8O|C4H8O2|C4H8O3|C4H9Li|C4H9NO2|C4H9NO3|C4H9OH|C4HCl2FN2|C4I2|C55H74IN3O21S4|C59H80N4O22S4|C5H10|C5H10N2O3|C5H10O2|C5H10O4|C5H11NO2|C5H11NO2S|C5H12|C5H12O2|C5H12O4|C5H12O5|C5H3Br2N|C5H3BrN2O2|C5H3ClN2O2|C5H3ClN4|C5H4N2O2|C5H4N2O4|C5H4N4O|C5H4N4O2|C5H4N4S|C5H4NCOOH|C5H4O|C5H4O2|C5H4O2S|C5H5BrN2|C5H5ClN2|C5H5IN2|C5H5N|C5H5N3O|C5H5N3O2|C5H5N5|C5H5N5O|C5H5NO|C5H6BNO2|C5H6N2|C5H6N2O2|C5H6N2OS|C5H6O|C5H6O5|C5H7N3|C5H8O2|C5H9NO2|C5H9NO4|C62H89CoN13O15P|C63H88CoN14O14P|C63H91CoN13O14P|C6F5COOH|C6H10O3|C6H10O4|C6H11NO2|C6H12|C6H12O3|C6H12O6|C6H13NO|C6H13NO2|C6H14|C6H14N2O2|C6H14N4O2|C6H14O2|C6H14O3|C6H14O4|C6H15NO3|C6H3Br3O|C6H3Cl3O|C6H4BrNO2|C6H4ClN3|C6H4ClNO2|C6H4N4|C6H4O2|C6H5Br|C6H5CH2OH|C6H5CHO|C6H5Cl|C6H5COCl|C6H5COOH|C6H5F|C6H5I|C6H5NO2|C6H5NO3|C6H5OH|C6H6|C6H6BClO2|C6H6BFO2|C6H6IN|C6H6N2O|C6H6N2O2|C6H6O|C6H6O2|C6H6O3|C6H7BO2|C6H7CsO6|C6H7KO6|C6H7LiO6|C6H7N3O|C6H7NaO6|C6H7RbO6|C6H8N2|C6H8N2O2S|C6H8O7|C6H9N3O2|C6H9N3O3|C6N4|C72H100CoN18O17P|C77H120N18O26S|C7H10N2|C7H11NO5|C7H12N2O4|C7H12O4|C7H14O6|C7H16|C7H5Br3O|C7H5Cl3O|C7H5F3O|C7H5FO2|C7H5N3O2|C7H5NO4|C7H5NS2|C7H6N2|C7H6O|C7H6O2|C7H6O3|C7H6O4|C7H6O5|C7H7BO4|C7H7N3|C7H7NO2|C7H7NO3|C7H8|C7H8ClN3O4S2|C7H8N4O2|C7H9BO2|C7H9BO3|C83H131N19O27S|C8H10N4O2|C8H11N5O3|C8H11NO|C8H16O2|C8H16O6|C8H18|C8H5F3N2OS|C8H5NO2|C8H6BrN|C8H6Cl2O3|C8H6ClN|C8H6N2O|C8H6N2O2|C8H7N|C8H7NO|C8H8|C8H8N2OS|C8H8O3|C8H8O4|C8H9NO2|C9H10O|C9H10O3|C9H11NO2|C9H11NO3|C9H11NO4|C9H17NO2|C9H18N2O2|C9H20|C9H6BrN|C9H6N2|C9H6O3|C9H6OS|C9H7NO|C9H7NO2|C9H8N2|C9H8O2|C9H8O3|C9H8O4|C9H9N|C9H9NO|C9H9NO3|Ca3N2|Ca3P2|CaAl2O4|CaB6|CaBr2|CaC2|CaC2O4|CaCl2|CaCN2|CaCO3|CaF2|CaH2|CaHPO4|CaI2|CaMoO4|CaO2|CaSeO3|CaSeO4|CaSiO3|CaSO3|CaSO4|CaTeO3|CaTeO4|CaTiO3|CaWO4|CCl2F2|CCl4|Cd2Nb2O7|Cd3As2|Cd3P2|CdBr2|CdC2O4|CdCl2|CdCO3|CdCrO4|CdF2|CdI2|CdMoO4|CdSeO3|CdSiO3|CdSO3|CdSO4|CdTeO4|CdTiO3|CdWO4|CdZrO3|Ce2C3|Ce2O3|Ce2S3|CeB6|CeBr3|CeCl3|CeF3|CeF4|CeI2|CeI3|CeO2|CeSi2|CF3Cl|CF4|CFCl2CF2Cl|CFCl3|CH2CHCHCH2|CH2CHOH|CH2Cl2|CH2ClCOOH|CH2ClF|CH2CO|CH2O|CH2OHCH2OH|CH3CCH|CH3CdCH3|CH3CH2Br|CH3CH2CH2CH2OH|CH3CH2CH2OH|CH3CH2CONH2|CH3CH2COOH|CH3CH2OCH2CH3|CH3CH2OH|CH3CHCH2|CH3CHCHCH3|CH3CHO|CH3Cl|CH3CN|CH3COCH3|CH3COCl|CH3CONH2|CH3COOCH2C6H5|CH3COOCH3|CH3COOCHCH2|CH3COOCs|CH3COOH|CH3COOK|CH3COONa|CH3COORb|CH3HgCH3|CH3I|CH3NH2|CH3NO|CH3OCH3|CH3OCs|CH3OH|CH3OK|CH3OLi|CH3ONa|CH3ORb|CH3SCH3|CH3SH|CH4|CH4N2O2|CH5N3|CHCl3|CHClF2|Cl2|Cl2O3|Cl2O6|Cl2O7|Cl2O8|ClF3|ClF5|ClO2|ClO3F|ClOClO3|CO2|Co2B|Co2S3|Co2SiO4|Co2SnO4|Co2SO4|Co2TiO4|CO3|CoAl2O4|CoAs2|CoBr2|CoC2O4|CoCl2|COCl2|CoCr2O4|CoCrO4|CoF2|CoF3|CoI2|CoMoO4|CoS2|CoSeO3|CoTiO3|CoWO4|Cr2O3|Cr2S3|Cr2Se3|Cr2Te3|Cr3As2|Cr3C2|Cr3Sb2|CrBr2|CrBr3|CrCl2|CrCl3|CrCl4|CrF2|CrF3|CrF4|CrF5|CrF6|CrI2|CrI3|CrO2|CrO2Cl2|CrO3|CrPO4|CrSi2|CrVO4|CS2|Cs2C2O4|Cs2CO3|Cs2Cr2O7|Cs2CrO4|Cs2HPO3|Cs2HPO4|Cs2MoO4|Cs2NbO3|Cs2O|Cs2O2|Cs2S|Cs2SiO3|Cs2SO3|Cs2SO4|Cs2TeO4|Cs2TiO3|Cs2WO4|Cs3PO3|Cs3PO4|Cs3VO4|CsBO2|CsBr3|CsBrO2|CsBrO3|CsBrO4|CsC2H3O2|CsClO2|CsClO3|CsClO4|CsH2PO3|CsH2PO4|CsHCO3|CsHSO3|CsHSO4|CsI3|CsIO2|CsIO3|CsIO4|CsN3|CsNbO3|CsNH2|CsNO2|CsNO3|CsO2|CsSeO4|CsTaO3|Cu2O|Cu2S|Cu2Se|Cu2Te|Cu3As|Cu3P|Cu3Sb|Cu9S5|CuBr2|CuC2O4|CuCl2|CuF2|CuFe2O4|CuFe2S3|CuFeS2|CuIO3|CuMoO4|CuSiO3|CuSO4|CuTeO3|CuTiO3|CuWO4]
    [D2O|Dy2O3|Dy2S3|DyBr3|DyCl2|DyCl3|DySi2]
    [ErCl3|ErF2|ErF3|ErI3|ErI4Na|Eu2O|Eu2O2|Eu2O3|Eu2S|Eu2S2|EuCl2|EuCl3|EuF3|EuI2|EuNb2O6|EuNbO2|EuO2V|EuO3Ti|EuO3V|EuO4W|EuS2|EuSO4]
    [F10Mo2|F10S2|F15Mo3|F2|F2Fe|F2Ga|F2Gd|F2Ge|F2GeO|F2Hg|F2Hg2|F2Ho|F2IP|F2K2|F2Kr|F2La|F2Li2|F2Mg|F2Mn|F2Mo|F2MoO2|F2N|F2N2O|F2Na2|F2Nd|F2Ni|F2O|F2O2|F2O2S|F2O2W|F2O5S3|F2OS|F2OSi|F2OTi|F2P|F2Pb|F2Pt|F2Pu|F2S|F2S2|F2S2W|F2Sc|F2Se|F2Si|F2Sn|F2Sr|F2SW|F2Th|F2Ti|F2Tl2|F2W|F2Xe|F2Y|F2Zn|F2Zr|F3Fe|F3Ga|F3Gd|F3Ho|F3La|F3Li3|F3Lu|F3Mn|F3Mo|F3MoO|F3MoS|F3N|F3NaSn|F3Nd|F3NO|F3NO2S|F3NO3S|F3NS|F3OP|F3OTa|F3OV|F3P|F3Pr|F3PS|F3Pu|F3Rh|F3S|F3Sb|F3Sc|F3Si|F3Sm|F3SW|F3Tb|F3Th|F3Ti|F3Tl|F3Tm|F3W|F3Y|F3Yb|F3Zr|F4Ge|F4Ge2|F4Hf|F4Mg2|F4Mo|F4MoO|F4MoS|F4N2|F4Na2Sn|F4OOs|F4OP2|F4ORe|F4OS|F4OW|F4OXe|F4P2|F4Pb|F4Pt|F4Pu|F4S|F4Se|F4Si|F4Sn2|F4SW|F4Ti|F4U|F4W|F4Xe|F4Zr|F5I|F5Mo|F5ORe|F5P|F5Pu|F5S|F5Sb|F5Ta|F5U|F5W|F6Fe2|F6La2|F6Mo|F6NP3|F6Os|F6Pu|F6Re|F6S|F6Se|F6Si2|F6Sn3|F6Te|F6U|F6W|F6Xe|F7I|F7NS|F7Re|F8Si3|Fe2I2|Fe2I4|Fe2O12S3|Fe2O12W3|Fe2O3|Fe2P|Fe2SiO4|Fe3H2Na2O45Si|Fe3O4|Fe3P|Fe7Si8O24H2|FeBr2|FeBr3|FeC10H10|FeC2O4|FeC5O5|FeCl2|FeCl3|FeCO3|FeCr2O4|FeF2|FeI2|FeI3|FeMoO4|FeO2|FeO2H|FeO4S|FeO4Se|FeO8H4P2|FePO4|FeS2|FeTiO3|FeVO4|FeWO4|FeZrO3|FI2|FLi2|FMnO3|FNa2|FNO2|FNO3|FO2|FO3S|FPS2]
    [Ga2O3|Ga2S3|Ga2Te3|GaAsO4|GaBr3|GaCl2|GaI2|GaI3|GaPO4|GeBr4|GeH3COOH|GeI2|GeI4]
    [H2|H2C2O4|H2C4H4O6|H2C8H4O4|H2CO|H2CO3|H2CrO4|H2CSO|H2N2O2|H2NCH2COOH|H2NNH2|H2O|H2O2|H2S|H2S2O2|H2S2O3|H2S2O4|H2S2O5|H2S2O6|H2S2O7|H2S2O8|H2SeO3|H2SeO4|H2SiO3|H2SO3|H2SO4|H2TeO3|H2TiO3|H3AsO4|H3CCH2CH3|H3PO2|H3PO3|H3PO4|H4XeO6|H6TeO6|HBrO2|HBrO3|HBrO4|HC12H17ON4SCl2|HC3H5O3|HC6H7O6|HC9H7O4|HClO2|HClO3|HClO4|HCONH2|HCOONH4|HfBr4|HfF4|Hg2Br2|Hg2Cl2|Hg2I2|HgBr2|HgCl2|HgI2|HgSeO3|HgTeO3|HgWO4|HIO2|HIO3|HIO4|HN3|HNO2|HNO3]
    [I2|I2O5|IBr3|ICl3|In2O3|In2S3|In2Se3|In2Te3|InBr2I|InBr3|InBrI2|InCl2|InCl3|InI2|InI3|InPO4|IrBr3]
    [K2CO3|K2Cr2O7|K2CrO4|K2HAsO4|K2HPO3|K2HPO4|K2MnO4|K2N2O2|K2O|K2O2|K2S|K2S2O3|K2S2O5|K2S2O8|K2SO3|K2SO4|K3AsO4|K3C6H5O7|K3PO3|K3PO4|KAsO2|KBrO2|KBrO3|KBrO4|KClO2|KClO3|KClO4|KH2AsO4|KH2PO3|KH2PO4|KHCO3|KHSO3|KHSO4|KIO2|KIO3|KIO4|KMnO4|KNbO3|KNO2|KNO3]
    [La2O3|LaBr3|LaCl3|LaI3|LaPO4|Li2CO3|Li2Cr2O7|Li2CrO4|Li2HAsO4|Li2HPO3|Li2HPO4|Li2MoO4|Li2N2O2|Li2NbO3|Li2O|Li2O2|Li2S|Li2SeO3|Li2SeO4|Li2SiO3|Li2SO3|Li2SO4|Li2TeO3|Li2TeO4|Li2TiO3|Li2WO4|Li2ZrO3|Li3AsO4|Li3PO3|Li3PO4|LiAlH4|LiBH4|LiBrO2|LiBrO3|LiBrO4|LiC2H5O|LiClO2|LiClO3|LiClO4|LiH2AsO4|LiH2PO3|LiH2PO4|LiHCO3|LiHSO3|LiHSO4|LiIO2|LiIO3|LiIO4|LiNbO3|LiNO2|LiNO3|LiTaO3]
    [Mg2P2O7|Mg2SiO4|Mg3As2|Mg3Bi2|Mg3P2|MgBr2|MgC2O4|MgCl2|MgCO3|MgCrO4|MgF2|MgHPO4|MgI2|MgMoO4|MgSeO3|MgSeO4|MgSiO3|MgSO3|MgSO4|MgTiO3|MgWO4|Mn2O3|Mn3As2|Mn3O4|Mn3P2|Mn3Sb2|MnBr2|MnCl2|MnCO3|MnF2|MnI2|MnMoO4|MnO2|MnZrO3|MoBr2|MoBr3|MoCl2|MoCl3|MoCl5|MoO2|MoO3|MoS2|MoSe2]
    [N2|N2H2|N2H4|N2O|N2O3|N2O4|N2O5|N4H4|Na2C2O4|Na2C6H6O7|Na2CO3|Na2HAsO4|Na2HPO3|Na2HPO4|Na2MoS4|Na2N2O2|Na2O|Na2O2|Na2S|Na2S2O3|Na2S2O5|Na2S2O8|Na2S4|Na2SeO3|Na2SeO4|Na2SO3|Na2SO4|Na2TeO3|Na2TeO4|Na2TiO3|Na2ZnO2|Na2ZrO3|Na3AlF6|Na3AsO4|Na3C6H5O7|Na3PO3|Na3PO4|Na3VO4|Na4V2O7|NaAlSi3O3|NaAsO2|NaBrO2|NaBrO3|NaBrO4|NaC6F5COO|NaC6H5COO|NaC6H7O7|NaCl|NaClO2|NaClO3|NaClO4|NaH2AsO4|NaH2PO3|NaH2PO4|NaHCO3|NaHSO3|NaHSO4|NaIO2|NaIO3|NaIO4|NaNbO3|NaNH2C6H4SO3|NaNO2|NaNO3|NaSeO3|NaTaO3|NaVO3|Nb2O3|NbBr5|NbCl3|NbCl5|NbI5|NCl3|Nd2O3|NdCl2|NdI2|NH2C6H4SO3H|NH2CH2CH2NH2|NH2CH2CN|NH2Cl|NH2CONH2|NH2COOH|NH2OH|NH3|NH4Br|NH4Cl|NH4ClO4|NH4CO2NH2|NH4HS|NH4NO3|NH4OCONH2|NH4OH|NHCl2|Ni2SiO4|NI3|Ni3Sb2|NiBr2|NiCl2|NiFe2O4|NiI2|NiMoO4|NiS2|NiSO4|NiTiO3|NiWO4|NO2|NO2Cl]
    [O2|O2F2|O3|OF2]
    [P2I4|P2O5|P2S3|P2Se3|P3N5|PbC2O4|PbCl2|PbCl4|PbCO3|PbCrO4|PbF2|PbHAsO4|PbI2|PbO2|PbSO4|PCl3|PCl5|PH3|PoBr2|PoCl2|POCl3|PoCl4|PoF6|PoH2|PoO2|PoO3]
    [RaCl2|Rb2CO3|Rb2HPO3|Rb2HPO4|Rb2O|Rb2O2|Rb2S|Rb2SO3|Rb2SO4|Rb3PO3|Rb3PO4|RbBrO2|RbBrO3|RbBrO4|RbClO2|RbClO3|RbClO4|RbH2PO3|RbH2PO4|RbHCO3|RbHSO3|RbHSO4|RbIO2|RbIO3|RbIO4|RbNbO3|RbNO2|RbNO3|RnF2|RuCl3|RuF6|RuO4]
    [S2Br2|Sb2O3|Sb2O5|Sb2OS2|Sb2S3|Sb2Se3|Sb2Se5|Sb2Te3|SbBr3|SbCl3|SbCl5|SbI3|SbPO4|Sc2O3|SeBr4|SeCl4|SeO2|SeOCl2|SeOF2|SF4|SF6|Si3N4|SiBr4|SiCl4|SiH4|SiI4|SiO2|Sn3Sb4|SnBr2|SnBr2Cl2|SnBr3Cl|SnBr4|SnBrCl3|SnCl2|SnCl2I2|SnCl4|SnI4|SnO2|SnS2|SnSe2|SnTe4|SO2|SO2Cl2|SO2F2|SO3|SOF2|Sr2RuO4|SrBr2|SrC2O4|SrCl2|SrCO3|SrF2|SrHfO3|SrI2|SrMoO4|SrSeO3|SrSeO4|SrTeO3|SrTeO4|SrTiO3]
    [T2O|TaBr3|TaBr5|TaCl5|TaI5|TeBr2|TeBr4|TeCl2|TeCl4|TeI2|TeI4|TeO2|ThO2|TiBr4|TiCl2I2|TiCl3I|TiCl4|TiH2|TiI4|TiO2|Tl2MoO4|Tl2SeO3|Tl2TeO3|Tl2WO4|Tl3As|TlBr3|TlC2H3O2|TlCl3|TlI3|TlIO3|TlNO3|TlPF6|TmCl3]
    [U3O8|UBr2|UBr3|UBr5|UC2|UCl3|UCl4|UF4|UF6|UI3|UO2|UO2Cl2|UO2SO4|UO3|US2|USe2|UTe2|V2O3|V2O5|VBr2|VBr3|VCl2|VCl3|VI3|VOC2O4|VOSO4|WBr2|WBr3|WBr4|WBr5|WBr6|WCl2|WCl3|WCl4|WCl5|WCl6|WF4|WF5|WF6|WI2|WI4|WO2|WO2Br2|WO2Cl2|WO2I2|WO3|WOBr3|WOBr4|WOCl3|WOCl4|WOF4|WS2|WS3|WSe2|WTe2|Y2O3|Y2S3]
    [Yb2O3|Yb2S3|Yb2Se3|YB6|YbBr2|YbBr3|YbCl2|YbCl3|YbF2|YbF3|YbI2|YbI3|YbPO4|YBr3|YbSi2|YC2|YCl3|YF3|YVO4]
    [Zn2P2O7|Zn2SiO4|Zn3As2|Zn3N2|Zn3P2|Zn3Sb2|ZnBr2|ZnCl2|ZnCO3|ZnCr2O4|ZnF2|ZnI2|ZnMoO4|ZnO2|ZnS2O3|ZnSeO3|ZnSeO4|ZnSnO3|ZnSO3|ZnSO4|ZnTeO3|ZnTeO4|ZnTiO3|ZnWO4|ZnZrO3|ZrB2|ZrBr4|ZrCl4|ZrF4|ZrI4|ZrO2|ZrP2|ZrS2|ZrSi2|ZrSiO4]
        <<- /chim/ ->> =\1.replace("2", "₂").replace("3", "₃").replace("4", "₄").replace("5", "₅").replace("6", "₆").replace("7", "₇").replace("8", "₈").replace("9", "₉").replace("0", "₀")
        # Typographie des composés chimiques. [!]

TEST: __chim__ les molécules {{CaCO3}} et {{H2O}}…



!!!! Dates                                                                                        !!

__fusion_date__
    *NUM  -  ~^\d\d?$  -  ~^\d{2,5}$
        <<- \1.isdigit() ~>> ␣
        <<- =>> change_meta(\1, "DATE")


__date_jour_mois_année__
    31 [avril|juin|septembre|novembre]
        <<- /date/ space_after(\1, 1, 1) ->> 30 \2                                                  # Cette date est invalide. Il n’y a que 30 jours en \2.

    [30|31] février
        <<- /date/ space_after(\1, 1, 1) ->> 28 février|29 février                                  # Cette date est invalide. Il n’y a que 28 ou 29 jours en février.

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

TEST: le {{31 avril}}
TEST: le {{30 février}}
TEST: {{29 février 2011}}


__date_journée_jour_mois_année__
    ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche])  ?,¿  ?le¿  (~^\d\d?$) - (~^\d\d?$) - (~^\d{2,5}$)
    ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche])  ?,¿  ?le¿  (~^\d\d?$)  ([janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre])  (~^\d{2,5}$)
        <<- /date/ not after("^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDay(\1, \2, \3, \4)
        -1>> =getDay(\2, \3, \4)
        # Le jour de la date suivante est incorrect (selon le calendrier grégorien).|https://fr.wikipedia.org/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien

TEST: {{samedi}}, le 10-06-2014                                           ->> mardi
TEST: {{lundi}} le 23-07-2019
TEST: {{mardi}} 24-07-2019
TEST: {{mercredi}}, 20-07-2019
TEST: {{mercredi}} le 10 juin 2014                                        ->> mardi
TEST: {{mercredi}}, le 10 juin 2014                                       ->> mardi
TEST: {{lundi}}, 18 août 1912                                             ->> dimanche
TEST: {{jeudi}} 17 aout 1912                                              ->> samedi
TEST: lundi, 18 août 1912 avant Jésus-Christ (date imaginaire)
TEST: {{jeudi}}, 18 août 1563 : mort de La Boétie (calendrier julien)     ->> mercredi
TEST: mercredi, 18 août 1563 : mort de La Boétie (calendrier julien)


!!
!!
!!!! Traits d’union                                                                               !!
!!
!!

### ce / cet / cette / ces + nom + là
__tu_ce_cette_ces_nom_là_ci__
    [ce|cet|cette|ces] *WORD [là|ci]
        <<- /tu/ morph(\2, ":[NB]", ":V0e") and not value(>1, "|où|") -2:3>> \2-là      # Il manque probablement un trait d’union.

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

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

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


### Préfixes
__tu_préfixe_ex__
    ex  $:N¬*
        <<- /tu/ not value(\2, "|aequo|nihilo|cathedra|absurdo|abrupto|")
        ->> ex-\2                                                           # 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.


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

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

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


__tu_préfixe_mi__
    mi  @:[NAQ]
        <<- /tu/ ->> mi-\2                                      # S’il s’agit d’un seul mot, il manque un trait d’union.

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


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

    quasi
        <<- ~>> *

TEST: leurs {{quasi indifférences}}


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

TEST: en {{semi liberté}}


__tu_préfixe_gentilés__
    [afghano|africano|albano|algéro|allemano|américano|andoro|angolo|anglo|anguillo|antartico|arabo|arctico|argentino|armeno|asiatico|atlantico|australo|austro|azéro|bahreïno|banglado|barbado|basco|bélizo|béllarusso|bénino|belgo|bhoutano|birmano|bolivio|bosno|bosniaco|botswano|brésilo|britanno|brunéo|bulgaro|burkanino|burundo|camerouno|canado|chilio|cingalo|colombo|comoro|congolo|coréo|cyprio|costarico|croato|cubano|dano|djibouto|dominico|écosso|égypto|émirato|équato|érythréo|esto|éthiopo|eurasiatico|européano|fidjio|finno|franco|gabono|gallo|gambo|géorgio|ghanéo|britanno|gréco|grenado|guatémalto|guinéo|guyano|hélleno|helvético|hispano|honduro|hungaro|indo|indonéso|italo|irako|irlando|islando|israélo|ivoiro|jamaïco|japono|jordano|khméro|kazakho|kényo|kirghizo|kiribato|koweïto|lao|lésotho|letto|libéro|libyo|liechtenteino|lituano|luxembourgeo|macédono|malgacho|malaiso|malawito|malo|malto|marianno|maroco|marshallo|mauricio|mauritano|mexico|micronésio|moldavo|monégasco|mongolo|monténégrino|mozambico|namibio|nauro|népalo|nicaraguo|nigéro|nigériano|norvégio|néo-zélando|occidentalo|océanio|omano|orientalo|ougando|ouzbéko|pacifico|pakistano|palestino|panaméo|paraguayo|néerlando|hollando|péruvo|philippino|polono|polynésio|luso|qataro|québéco|centrafricano|domenicano|roumano|russo|rwando|sarhao|sahélo|salomono|salvadoro|samoano|santoméo|saskatchéwano|scandinavo|sénégalo|saoudo|sénégambo|serbo|seychello|sierraléono|singapouro|sino|slovaco|somalo|soudano|srilanko|sudafricano|suédo|suisso|surinamo|swazilando|syro|sovieto|tadjiko|tanzano|tchado|tchécoslovavo|tchéco|thaïlando|thraco|tibéto|timoro|togolo|tokélo|tongano|trinidado|tuniso|turkméno|turco|touvalo|tuvalo|ukraino|uruguayo|vaticano|vénézuélo|vietnamo|yéméno|yougoslavo|zaïro|zambio|zimbabwébo]
        || [>afghane|>africaine|>albanaise|>algérienne|>allemande|>américaine|>andorraise|>anglaise|>arabe|>argentine|>aménienne|>australienne|>autrichienne|>belge|>béninoise|>birmane|>bolivienne|>bosniaque|>brésilienne|>britannique|>bulgare|>burkinabé|>burundaise|>byzantine|>cambodgienne|>camerounaise|>canadienne|>capverdienne|>centrafricaine|>chilienne|>chinoise|>chypriote|>colombienne|>comorienne|>coréenne|>croate|>cubaine|>danoise|>égyptienne|>équatorienne|>érythréenne|>espagnole|>estonienne|>éthiopienne|>finlandaise|>flamande|>française|>gabonaise|>gambienne|>géorgienne|>germanique|>ghanéenne|>guatémaltèque|>guinéenne|>guyanaise|>haïtienne|>hellénique|>hondurienne|>hongroise|>indienne|>indonésienne|>iranienne|>irakienne|>irlandaise|>islandaise|>israélienne|>italienne|>ivoirienne|>jamaïcaine|>jamaïquaine|>japonaise|>jordanienne|>kenyane|>koweïtienne|>kurde|>laotienne|>lettone|>libanaise|>libérienne|>libyenne|>lituanienne|>luxembourgeoise|>macédonienne|>malaise|>malgache|>malienne|>maltaise|>marocaine|>mauricienne|>mauritanienne|>mexicaine|>moldave|>monégasque|>mongole|>mozambicaine|>namibienne|>néerlandaise|>néo-zélandaise|>népalaise|>nicaraguayenne|>nigeriane|>nigérienne|>nippone|>norvégienne|>omanaise|>ougandaise|>pakistanaise|>panaméenne|>paraguayenne|>péruvienne|>philippine|>polonaise|>portugaise|>provençale|>qatarie|>québécoise|>roumaine|>russe|>rwandaise|>salvadorienne|>sénégalaise|>seychelloise|>singapourienne|>slovaque|>slovène|>somalienne|>soudanaise|>soviétique|>sri-lankaise|>suédoise|>suisse|>surinamienne|>syrienne|>tanzanienne|>tchadienne|>tchèque|>thaïlandaise|>togolaise|>tunisienne|>turque|>ukrainienne|>uruguayenne|>vénézuélienne|>vietnamienne|>yéménite|>yougoslave|>zaïroise|>zambienne|>zimbabwéenne]
        <<- /tu/ ->> \1-\2                                                                          # Il manque un trait d’union.

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


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

    [électro|ferro|hydro|labio|médico|nano|néo|neuro|physico|politico|sino|socio]  *WORD
        <<- /tu/ space_after(\1, 1, 1) and (morph(\2, ":N") or analyse_with_next(\1, "-", ":"))
        ->> \1-\2                                                                                   # S’il s’agit d’un seul mot, il manque un trait d’union.

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


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

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

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

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


    pseudo  $:N¬*
        <<- /tu/ ->> pseudo-\2                                                                      # Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union.
        <<- ~1>> *

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

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


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

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

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

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

TEST: c’est le {{contre exemple}} parfait
TEST: une {{entre voie}}
TEST: s’{{entre regarder}}
TEST: ce sont des {{lève tard}}.
TEST: nous nous {{entre tuions}}
TEST: un {{brise glace}}
TEST: l’{{arrière pensée}}
TEST: entre deux chaises…


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

    c’ est [à|a] dire
        <<- /tu/ ->> c’est-à-dire                               # Il manque les traits d’union.

    [celle|celles|celui|ceux] [là|ci]
        <<- /tu/ ->> \1-\2                                      # Il manque un trait d’union.

    [celle|celles|celui|ceux] si
        <<- /tu/ not morph(>1, ":[WA]") ->> \1-ci               # Il manque un trait d’union.

    [moi|toi|soi|lui|elle|vous] même
        <<- /tu/ not value(>1, "|si|s’|") ->> \1-même           # Il manque un trait d’union si “même” se rapporte à “\1”.|https://fr.wiktionary.org/wiki/moi-m%C3%AAme

    [nous|vous|eux|elles] mêmes
        <<- /tu/ ->> \1-mêmes                                   # Il manque un trait d’union.

TEST: {{au delà}}                                                               ->> au-delà
TEST: {{Au dessus}}                                                             ->> Au-dessus
TEST: un bel enfoiré, {{c’est à dire}} un hypocrite
TEST: {{Ceux la}} vont à la pêche.                                              ->> Ceux-là
TEST: mais {{celles là}} sont différentes.
TEST: avec {{celles ci}}, tout va bien
TEST: {{ceux si}} sont des teignes
TEST: Un autre chantier important, celui si sensible de la préservation des données personnelles des élèves
TEST: {{Lui même}}                                    ->> Lui-même
TEST: {{eux mêmes}}.                                  ->> eux-mêmes


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

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

    après demain
        <<- /tu/ ->> après-demain                               # Il manque un trait d’union.

    avant hier
        <<- /tu/ ->> avant-hier                                 # Il manque un trait d’union.

    ci [dessous|dessus|devant|contre]
        <<- /tu/ ->> ci-\2                                      # Il manque un trait d’union.

    de ci ?,¿ de là
        <<- /tu/ ->> de-ci de-là|de-ci, de-là                   # Il manque les traits d’union.

    en contre [bas|partie]
        <<- /tu/ ->> en contre\3|en contre-\3                   # Mettez un trait d’union ou soudez.

    en contre point
    en contre-point
        <<- /tu/ ->> en contrepoint                             # Soudez.

    en porte [à|a] faux
        <<- /tu/ ->> en porte-à-faux                            # Il manque les traits d’union.

    grand chose
        <<- /tu/ ->> grand-chose                                # Il manque un trait d’union.

    ici bas
        <<- /tu/ ->> ici-bas                                    # Il manque un trait d’union.

    jusque là
        <<- /tu/ ->> jusque-là                                  # Il manque un trait d’union.

    [là|la] [bas|haut|dessous|dessus|dedans|devant|derrière]
        <<- /tu/ ->> là-\2                                      # Il manque un trait d’union.

    n’ est ce pas
    n’ est ce-pas
    n’ est-ce-pas
        <<- /tu/ ->> n’est-ce pas                               # Un trait d’union.

    [oui|ouï] dire
        <<- /tu/ morph(<1, ":G") ->> ouï-dire                   # Il manque probablement un trait d’union.

    par [dessous|dessus|devant|delà|derrière|dehors|dedans|devers]
        <<- /tu/ ->> par-\2                                     # Il manque un trait d’union.

    par ci ?,¿ par là
        <<- /tu/ ->> par-ci par-là|par-ci, par-là               # Trait(s) d’union manquant(s).

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

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


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

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

    à plat ventrisme
        <<- /tu/ ->> \1-\2-\3                                   # Mettez des traits d’union pour ce nom commun.

    >aller >retour
        <<- /tu/ ->> \1-\2                                      # Il manque un trait d’union.

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

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

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

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

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

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

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

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

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

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

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

    [basket|volley] ball
        <<- /tu/ ->> \1-ball                                    # Il manque un trait d’union.

    bas [>côté|coté|cotés]
        <<- /tu/ morph(<1 , ":D") ->> bas-côté|bas-côtés        # Il manque un trait d’union.

    [les|des|aux] beaux arts
        <<- /tu/ -2:3>> beaux-arts                              # Il manque un trait d’union.

    bouche à [bouche|>oreille]
        <<- /tu/ morph(<1, ":D") ->> \1-\2-\3                   # Il manque les traits d’union.

    >centre >ville
        <<- /tu/ ->> centre-ville|centres-villes                # Il manque un trait d’union.

    [chassé+ses] [croisé+ses]
        <<- /tu/ ->> chassé-croisé|chassés-croisés              # Il manque un trait d’union.

    >chef lieu
        <<- /tu/ ->> \1-\2                                      # Il manque un trait d’union.

    >chef d’ œuvre
        <<- /tu/ ->> \1-\2\3                                    # Il manque un trait d’union.

    [auto|moto] >club
        <<- /tu/ ->> \1\2|\1-\2|\2 \1                           # Mettez un trait d’union, fusionnez ou inversez les termes.
        <<- ~>> ␣

    déjà vu
        <<- /tu/ morph(<1, ":D.*:[me]") ->> \1-\2               # S’il s’agit d’un nom, mettez un trait d’union.|https://fr.wiktionary.org/wiki/d%C3%A9j%C3%A0-vu

    état major
    états majors
        <<- /tu/ ->> \1-\2                                      # Il manque un trait d’union.

    face [a|à] face
        <<- /tu/ morph(<1, ":D") ->> face-à-face                # Si vous employez cette locution comme un nom, mettez des traits d’union.|https://fr.wiktionary.org/wiki/face-%C3%A0-face

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

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

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

    n [ième+s|ieme+s|ème+s|eme+s]
        <<- /tu/ ->> n-ième|n-ièmes                             # Il manque un trait d’union.

    n [uple+s|uplet+s|>linéaire]
        <<- /tu/ ->> n-\2                                       # Il manque un trait d’union.

    [nord|sud] ouest
        <<- /tu/ ->> \1-ouest                                   # Il manque un trait d’union.

    [nord|sud] est [<end>|,]
        <<- /tu/ ->> \1-est                                     # Il manque un trait d’union.

    outre mer
        <<- /tu/ ->> outre-mer                                  # Il manque un trait d’union.

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

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

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

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

    quelques [un|uns|une|unes]
        <<- /tu/ ->> quelques-\2                                # Il manque un trait d’union.

    [plus|moins] [value|values]
        <<- /tu/ ->> \1-\2                                      # Il manque un trait d’union.|https://fr.wiktionary.org/wiki/plus-value

    plu [valu+ses]
        <<- /tu/ morph(<1, ":D") ->> plus-value|plus-values     # Il manque un trait d’union.|https://fr.wiktionary.org/wiki/plus-value

    >pot de vin
        <<- /tu/ ->> \1-\2-\3                                   # Il manque les traits d’union.

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

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

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

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

    rez de >chaussée
        <<- /tu/ ->> rez-de-chaussée                            # Il manque un trait d’union.

    science fiction
        <<- /tu/ ->> science-fiction                            # Il manque un trait d’union.

    stock >option
        <<- /tu/ ->>  \1-\2                                     # Il manque un trait d’union.

    soi disant
        <<- /tu/ not ( morph(<1, ":R") and value(>1, "|que|qu’|") )
        ->> soi-disant                                          # Il manque un trait d’union.

    sous [jacent+ses]
        <<- /tu/ ->> sous-\2                                    # Il manque un trait d’union.

    du sur >mesure
        <<- /tu/ -2:0>> sur-mesures                             # Il manque un trait d’union.

    [un|le|ce|du|mon|ton|son|notre|votre|leur] terre plein
        <<- /tu/ not value(>1, "|de|d’|") -2:3>> terre-plein    # Il manque probablement un trait d’union.|https://fr.wiktionary.org/wiki/terre-plein

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

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

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

    vice [>amirale|>présidente|>roi|>reine|>chancelière]
        <<- /tu/ ->> vice-\1                                    # Il manque un trait d’union.

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

TEST: l’{{à propos}} n’est pas si facile à acquérir.
TEST: on ne fait que de l’{{à peu près}}
TEST: concours d’{{à plat ventrisme}} à l’UMP
TEST: marre de faire des {{allers retours}}
TEST: regarde l’{{arc en ciel}}
TEST: son {{arrière grande tante}}
TEST: son {{arrière grand mère}}
TEST: un {{arrière grand oncle}}
TEST: un {{arrière grand parent}}
TEST: un {{arrière grand père}}
TEST: nos {{arrière petits enfants}}
TEST: son {{arrière petite fille}}
TEST: mon {{arrière petit fils}}
TEST: un {{arrière petit neveu}}
TEST: ton {{arrière petite nièce}}
TEST: je déteste le {{basket ball}}
TEST: sur le {{bas côté}}
TEST: les {{beaux arts}}
TEST: {{le}} {{bouche à oreille}}
TEST: {{chef lieu}} de ce canton
TEST: un {{chassé croisé}}
TEST: ne vois-tu pas que c’est un {{chef d’œuvre}} ?
TEST: ils sont allés au {{centre ville}}.
TEST: Le {{moto club}} était sur le point de faire faillite.
TEST: J’ai beaucoup de {{déjà vu}}.
TEST: L’{{état major}} n’a pas encore tranché la question.
TEST: Le {{face à face}} entre les forces de l’ordre et les manifestants se poursuit devant l’hôtel de ville à Bordeaux depuis environ 1h30.
TEST: {{gagne pain}} de merde
TEST: mes deux {{grands pères}} sont décédés
TEST: un crime de {{lèse majesté}}
TEST: pour {{la}} {{n ième}} fois
TEST: les {{n uplets}}
TEST: elles sont allées au {{sud ouest}}
TEST: {{nord est}}
TEST: ils sont partis {{outre mer}}
TEST: La papesse du {{prêt à porter}} viendra demain.
TEST: il loge dans un {{pied à terre}} misérable
TEST: sur cette {{plate forme}}, rien ne fonctionne
TEST: une {{presque île}}
TEST: {{Quelques unes}} sont très habiles.
TEST: une {{plus value}}                                                        ->> plus-value
TEST: combien de {{plu value}}
TEST: Un énorme {{plus value}}.
TEST: Versez des {{pots de vin}} s’il le faut.
TEST: ils ont fait un {{prêt relai}}
TEST: un {{prêt bail}}
TEST: je connais le {{ras le bol}}
TEST: en avoir ras le bol de ces conneries
TEST: des {{rendez vous}}                               ->> rendez-vous
TEST: un Mars par {{rendez vous}}
TEST: Habiter au {{rez de chaussée}}, quelle horreur.
TEST: C’est de la {{science fiction}}.
TEST: des {{stock options}}
TEST: Tout ce {{soi disant}} esprit religieux
TEST: implications {{sous jacentes}}                    ->> sous-jacentes
TEST: c’est du {{sur mesure}}
TEST: leur {{terre plein}}
TEST: Ils versent dans leur terre plein de poisons.
TEST: beaucoup de {{tête à tête}}
TEST: {{un}} {{trompe l’œil}}
TEST: un {{va et vient}} incessant me casse la tête
TEST: il va et vient sans mot dire
TEST: Il a été nommé {{vice président}}
TEST: un super {{week end}}                             ->> week-end


__tu_va_t_en__
    va t en
    va t en
    va t-en
    va-t en
    va-t-en
    vat-en
        <<- /tu/ not value(>1, "|guerre|guerres|") ->> va-t’en                                      # Une apostrophe est nécessaire (s’en aller).

    va t en >guerre
    va-t’en >guerre
    va t’en >guerre
    va-t en >guerre
    va t-en >guerre
    vat’en >guerre
    vat-en >guerre
    va-t-en >guerre
    va-t’en-guerre
        <<- /tu/ ->> va-t-en-guerre                                                                 # Va-t-en-guerre (invariable) : des traits d’union sont nécessaires.

TEST: {{Va-t-en}}, c’en est assez.
TEST: Un {{va-t’en guerre}}, on ne peut pas lui faire confiance.
TEST: Les {{va-t-en guerre}} sont de sortie.
TEST: Elle va t’en donner, des devoirs.


# est-ce … ?
__tu_est_ce__
    est ce  @:¬:N.*:[me]:[si]|>qui/
        <<- /tu/ morph(<1, ":Cs|<start>") and space_after(\1, 1, 1) -1:2>> est-ce                   # S’il s’agit d’une interrogation, il manque un trait d’union.

TEST: {{est ce}} que c’est grave ?                                              ->> est-ce
TEST: qu’{{est ce}} que c’est ?                                                 ->> est-ce
TEST: elles reviendront, {{n’est ce pas}} ?
TEST: nous en sommes à l’étape où nous voulons définir ce qu’est ce projet
TEST: c’est ce que nous pensions.


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

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


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

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

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

    Royaume Uni
        <<- /tu/ ->> Royaume-Uni                                                                    # Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord).

    [Saint|Sainte] ~^[A-ZÉÈÎ]
        <<- /tu/ not value(<1, "|<start>|") and morph(\2, ":M") ->> \1-\2
        # Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “saint” ou “sainte” sans majuscule, sans trait d’union.

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

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


__tu_nombres__
    dix                                                                     [sept|huit|neuf]
    dix                                                                     [>septième|>huitième|>neuvième]
    [trente|quarante|cinquante|soixante|septante|octante|huitante|nonante]  [deux|trois|quatre|cinq|six|sept|huit|neuf]
    [trente|quarante|cinquante|soixante|septante|octante|huitante|nonante]  [>deuxième|>troisième|>quatrième|>cinquième|>sixième|>septième|>huitième|>neuvième]
        <<- /tu/ ->> \1-\2                                                                          # Il manque un trait d’union.

    [vingt|vingts] [deux|trois|quatre|cinq|six|sept|huit|neuf]
    [vingt|vingts] [>deuxième|>troisième|>quatrième|>cinquième|>sixième|>septième|>huitième|>neuvième]
        <<- /tu/ not value(<1, "|quatre|") ->> vingt-\2                                             # Il manque un trait d’union.

    soixante [dix|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf]
    soixante [>dixième|>douzième|>treizième|>quatorzième|>quinzième|>seizième|>dix-septième|>dix-huitième|>dix-neuvième]
        <<- /tu/ ->> \1-\2                                                                          # Trait(s) d’union manquant(s).

    quatre [vingt|vingts]
        <<- /tu/ not morph(>1, ":B") ->> \1-\2                                                      # Il manque un trait d’union.

    quatre [vingt|vingts] [un|une|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf]
    quatre [vingt|vingts] [>unième|>deuxième|>troisième|>quatrième|>cinquième|>sixième|>septième|>huitième|>neuvième|>dixième|>onzième|>douzième|>treizième|>quatorzième|>quinzième|>seizième|>dix-septième|>dix-huitième|>dix-neuvième]
        <<- /tu/ ->> quatre-vingt-\3                                                                # Trait(s) d’union manquant(s).

    [quatre-vingt|quatre-vingts] [un|une|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf]
    [quatre-vingt|quatre-vingts] [>unième|>deuxième|>troisième|>quatrième|>cinquième|>sixième|>septième|>huitième|>neuvième|>dixième|>onzième|>douzième|>treizième|>quatorzième|>quinzième|>seizième|>dix-septième|>dix-huitième|>dix-neuvième]
        <<- /tu/ ->> quatre-vingt-\2                                                                # Trait(s) d’union manquant(s).

TEST: Il en veut {{vingts}} !                   ->> vingt
TEST: Y a-t-il {{quarante deux}} pages ?        ->> quarante-deux
TEST: J’en veux {{quatre-vingt}} !              ->> quatre-vingts
TEST: Non, {{quatre-vingts deux}} !             ->> quatre-vingt-deux
TEST: {{Quatre vingts deux}}.                   ->> Quatre-vingt-deux
TEST: {{quatre vingt}} hommes                   ->> quatre-vingt
TEST: les années {{soixante dix}}               ->> soixante-dix
TEST: {{soixante quatorze}}, c’est trop         ->> soixante-quatorze
TEST: Mais {{vingt trois}}, c’est assez         ->> vingt-trois


__tu_pas_de_trait_d_union__
    deux-tiers
        <<- /tu/ ->> deux tiers                                                 # Pas de trait d’union.

    en-bas
    en-haut
    en-dehors
    en-dessous
    en-deçà
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.

    s’ il-me-plaît
    s’ il-te-plaît
    s’ il-nous-plaît
    s’ il-vous-plaît
    s’ il-me-plait
    s’ il-te-plait
    s’ il-nous-plait
    s’ il-vous-plait
        <<- /tu/ -2>> =\2.replace("-", " ")                                     # Pas de traits d’union.

    tout-à-fait
    tout-a-fait
    tous-à-fait
    tous-a-fait
        <<- /tu/ ->> tout à fait                                                # Pas de trait d’union.

    [les|des] [trois-quart+s]
        <<- /tu/ not value(>1, "|centre|aile|") and not after("équipe")
        -2>> trois quarts                                                       # Pas de trait d’union (sauf si vous parlez d’un vêtement ou d’un joueur de rugby).

    [<start>|,] trois-quarts [de|des|du]
        <<- /tu/ not after("équipe") -2>> trois quarts                          # Pas de trait d’union (sauf si vous parlez d’un vêtement ou d’un joueur de rugby).

    parce-que
    ~^[pP]arce-qu’
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.

    par-là
        <<- /tu/ not before("[Pp]ar[ -]ci ?,? *$") ->> par là                   # Pas de trait d’union.

    ~\w-(?:ç[aà]|aussi|donc)$
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.

    d’ entre-nous
    d’ entre-vous
    d’ entre-eux
    d’ entre-elles
        <<- /tu/ -2>> =\2.replace("-", " ")                                     # Pas de trait d’union.

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


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

    ~^[yY][’-][\w-]+-(?:ils?|elles?|je|tu|on|nous|vous)
    y’en
    y-en
        <<- /tu/ -1>> ="y " + \1[2:]                                            # Ni apostrophe ni trait d’union après “y”.

TEST: {{Y’a}} trop de malheureux sur Terre.             ->> "Y a"
TEST: {{Y’en}} a marre, de ces conneries.               ->> "Y en"
TEST: {{y-a-t-il}} des beignets ?                       ->> "y a-t-il"


__tu_lorsque__
    lors-que
    lors-qu’
        <<- /tu/ ->> =\1.replace(" ", "-")                                      # Attachez les deux mots.|https://fr.wiktionary.org/wiki/lorsque

    lors [que|qu’]
        <<- /tu/ not value(<1, "|dès|des|") ->> \1\2                            # Attachez les deux mots.|https://fr.wiktionary.org/wiki/lorsque

TEST: {{Lors-que}} nous serons là, il faudra revoir ça de fond en comble
TEST: Elle y arriva {{lors qu’}}elle trouva l’astuce permettant l’ouverture de la porte.
TEST: Dès lors qu’on sait comment s’y prendre, aucune raison de faillir.


__tu_anciennes_graphies__
    grand’chemin
    grand’maman
    grand’mère
    grand’oncle
    grand’père
    grand’papa
    grand’route
    grand’rue
    grand’ville
        <<- /tu/ ->> =\1.replace("’", "-")                                      # Graphie désuète. Au lieu d’une apostrophe, employez plutôt un trait d’union.
        <<- ~>> =\1.replace("’", "-")

TEST: je suis allé dans la {{grand’rue}}.                           ->> grand-rue


!!!! Trait d’union : formes interrogative (nous/vous)                                             !!
__inte_union_nous1!7__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ~ons$  nous
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         ~ons$  nous
    [ne|n’]  [le|la|l’|les]                  [lui|leur|en|y]             ~ons$  nous
    [ne|n’]  [lui|leur|y]                    en                          ~ons$  nous
        <<- /inte/ space_after(\-2, 1, 1) and morph(\-2, ":V.*:1p", ":[GW]") and not tag_before(\1, "1p")
        --2:-1>> \-2-\-1                                                                            # Forme interrogative ? Mettez un trait d’union.

    ,  ~ons$  nous  [<end>|,]
    ,  ~ons$  nous  @:¬:(?:1p|Y)
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GW]") and not value(\2, "|veuillons|sachons|")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    <start>  ~ons  nous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GW]") and not value(\2, "|veuillons|sachons|allons|venons|partons|")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    [comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand|qui]  ~ons  nous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GW]") and not value(\2, "|veuillons|sachons|")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: n’y {{retrouverons nous}} jamais la tranquilité ?
TEST: pourquoi n’en {{entendons nous}} jamais parler ?
TEST: que {{pouvons nous}} dans cette vie
TEST: que {{pouvons nous}} faire ?
TEST: {{Connaissons nous}} réellement cette langue ?
TEST: ils sont, {{croyons nous}}, indéfendables
TEST: nous pensons alors vraiment, allons nous perdre dans les bois
TEST: Sachons nous conformer à ces restrictions et faisons notre travail.
TEST: allons nous détendre à la piscine.
TEST: partons nous détendre à la montagne
TEST: Nous ne pouvons nous contenter de parler


__inte_union_vous1!7__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ~ez$  vous
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         ~ez$  vous
    [ne|n’]  [le|la|l’|les]                  [lui|leur|en|y]             ~ez$  vous
    [ne|n’]  [lui|leur|y]                    en                          ~ez$  vous
        <<- /inte/ space_after(\-2, 1, 1) and morph(\-2, ":V.*:2p", ":[GW]") and not tag_before(\1, "2p")
        --2:-1>> \-2-\-1       # Forme interrogative ? Mettez un trait d’union.

    ,  ~ez$  vous  [<end>|,]
    ,  ~ez$  vous  @:¬:(?:2p|Y)
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GW]") and not value(\2, "|veuillez|sachez|")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    <start>  ~ez$  vous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GW]") and not value(\2, "|veuillez|sachez|allez|venez|partez|")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

    [comment|pourquoi|combien|que|qu’|quoique|quoiqu’|où|puis|quand|qui]  ~ez$  vous
        <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GW]") and not value(\2, "|veuillez|sachez|")
        -2:3>> \2-\3                                                                                # Forme interrogative ? Mettez un trait d’union.

TEST: ne {{soutiendrez vous}} pas cette proposition ?
TEST: n’en {{voulez vous}} jamais à ces gens ?
TEST: je suis, {{penserez vous}}, un imbécile.
TEST: {{pouvez vous}} réussir ?
TEST: comment {{pensez vous}} y parvenir
TEST: veuillez vous adresser à notre secretaire pour prendre rendez-vous.
TEST: Allez vous faire foutre.
TEST: Venez vous défouler sur ces connards.
TEST: Vous ne pouvez vous satisfaire de si peu.



!!!! Virgules                                                                                     !!

__virg_dialogue_après_nom_propre__
    [<start>|,]  $:M¬:G  [/-je|/-tu|/-on|/-nous|/-vous|/-ils|/-elles|/-iels|/VCimp]
        <<- /virg/ -2>> \2,                                                                         # Dialogue ? Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique.

TEST: {{Maria}} donnez-vous du temps ?
TEST: {{Marion}} passe-moi le sel.
TEST: {{Paul}} prends-lui la main.
TEST: Alexandre tient-il ses généraux ?
TEST: Alexandra vient-elle ?


__virg_dialogue_avant_nom_propre__
    /-les  $:M
        <<- /virg/ morph(\1, ":E", "", 0, -4) -1>> \1,                                              # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique.

    [/-le|/-la]  $:M
        <<- /virg/ morph(\1, ":E", "", 0, -3) -1>> \1,                                              # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique.

    /-COD-COI  $:M
        <<- /virg/ -1>> \1,                                                                         # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique.

TEST: {{Oublie-les}} Clara.
TEST: viens et {{donne-le}} Paul.
TEST: {{donne-le-moi}} Camille.
TEST: donne-moi Alice.
TEST: Tape-toi Patrick.


__virg_après_verbe_COD__
    [le|la|l’|les]  $:Y  $:M
        <<- /virg/ -2>> \2,                                                                         # Une virgule est probablement souhaitable.

TEST: Tu vas les {{donner}} Rachel.
TEST: Il va la {{tuer}} Paul.
TEST: Cependant les promesses n’engagent que ceux qui les croient, comme aimait à le dire Jacques Chirac.
TEST: Cependant les promesses n’engagent que ceux qui les croient, comme s’évertuait à le dire Jacques Chirac.
TEST: Avancez comme sait le faire Patrick.



!!!! Apostrophe manquante (2)                                                                     !!

__typo_apostrophe_manquante_audace__
    <start>  [L|D|S|N|C|J|M|T|Ç]  ~^[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ]
        <<- /mapos/ space_after(\2, 1, 1) -2:.3>> =\2+"’"                                           # Il manque peut-être une apostrophe.

TEST: __mapos__ {{L }}opinion des gens, elle s’en moquait.



!!!! A / À: accentuation la préposition en début de phrase                                        !!

__typo_À_début_phrase!7__
    <start>  A  @:[GNAY]¬:(?:Q|3s)
        <<- /typo/ not value(\3, "|t’|priori|posteriori|postériori|contrario|capella|fortiori|")
        -2>> À                                                                                      # S’il s’agit de la préposition « à », il faut accentuer la majuscule.

    <start>  A  bientôt  [<end>|,]
        <<- /typo/ -2>> À                                                                           # S’il s’agit de la préposition « à », il faut accentuer la majuscule.

    <start>  A  t’  *WORD
        <<- /typo/ not value(\4, "|il|ils|elle|elles|iel|iels|on|ont|") -2>> À                      # S’il s’agit de la préposition « à », il faut accentuer la majuscule.

TEST: {{A}} vaincre sans péril, on triomphe sans gloire.
TEST: « {{A}} partir de maintenant, ce ne sera plus comme avant.
TEST: — {{A}} n’en plus pouvoir
TEST: — {{A}} t’emmener loin de tout ceci.
TEST: {{A}} bientôt, mon ami.
TEST: A bientôt fini son devoir.
TEST: A priori, nul ne peut y parvenir sans une aide extérieure.
TEST: A devient notre meilleure chance d’y parvenir.



!!!! Accentuation des majuscules                                                                  !!

__maj_accents__
    [Etat|Etats|Eglise|Eglises|Ecole|Ecoles|Economie|Equipe|Equipes|Electricité|Electrique|Egalité|Element|Element|Eté|Epoux|Epouse|Epouses|Ethiopie|Erythrée|Egypte|Equateur|Elysée]
        <<- /maj/ ->> ="É"+\1[1:]                                                                   # Accentuez les majuscules.
        <<- ~>> ="É"+\1[1:]

TEST: Le budget de l’{{Etat}}.                                  ->> État




!!
!!
!!!! Incohérences de base                                                                         !!
!!
!!

### double négation
__double_négation__
    pas [personne|aucun|aucune|jamais]
        <<- /conf/ not morph(<1, ":D.*:[me]") ->> \1|pas, \1
        # Double négation : les mots « pas \1 » ne devraient pas se succéder. Si ces mots appartiennent à des propositions distinctes, une virgule est peut-être préférable.

TEST: Ce que tu ne fais {{pas jamais}}.


### incohérences globales (attention à la casse du 2e mot, car beaucoup de sigles peuvent tromper)
__conf_incohérences_globales__
    [ce|cet|cette|ma|ta|sa|mon] [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|elle|elles|iel|iels|nous|vous|on]
        <<- /conf/ not \1.isupper() and not \2.isupper()
        -2>> =suggSimil(\2, ":[NA].*:[si]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

    [quel|quelle] [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|elle|elles|iel|iels|nous|vous|on]
        <<- /conf/ not \1.isupper() and not \2.isupper() and not value(<1, "|tel|telle|")
        -2>> =suggSimil(\2, ":[NA].*:[si]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

    [ces|les|mes|tes|ces|nos|vos] [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|elle|elles|iel|iels|nous|vous|on]
        <<- /conf/ not \1.isupper() and not \2.isupper()
        -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

    [quels|quelles] [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|elle|elles|iel|iels|nous|vous|on]
        <<- /conf/ not \1.isupper() and not \2.isupper() and not value(<1, "|tels|telles|")
        -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

TEST: {{Ces}} {{cette}} canaille qui nous a donné tant de fil à retordre.
TEST: Quel {{tes}} voulez-vous
TEST: tes {{les}} sont périmés
TEST: Mon {{il}} est une merveille.
TEST: Quels {{mes}} délicieux


__conf_fusion_le_la_les_quels__
    le quel
        <<- /conf/ ->> lequel                                                                       # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/lesquels

    le quels
        <<- /conf/ ->> lequel|lesquels                                                              # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/lesquels

    le quelle
        <<- /conf/ ->> lequel|laquelle                                                              # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/lesquels

    le quelles
        <<- /conf/ ->> lequel|laquelle|lesquelles                                                   # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/lesquels

    les [quel|quels]
        <<- /conf/ ->> lesquels                                                                     # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/lesquels

    les [quelle|quelles]
        <<- /conf/ ->> lesquelles                                                                   # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/lesquelles

    la [quelle|quelles|quel|quels]
        <<- /conf/ ->> laquelle|là \2                                                               # Confusion. Soudez les deux mots ou écrivez “là” si vous voulez dire “ici”.

TEST: {{le quel}} est présent
TEST: {{le quelle}} viendra bientôt
TEST: {{le quels}} sont absents
TEST: {{le quelles}} sont absurdes
TEST: {{les quels}} sont partis
TEST: avec {{les quelles}} viennent-elles
TEST: {{la quelle}} trouveron-nous
TEST: {{la quels}} sont vos intentions
TEST: et {{la quel}} ordinateur fonctionne encore ?
TEST: {{la quelles}} sont nos options ?


__conf_de_puis__
    de puis
        <<- /conf/ \2.islower() ->> depuis                                                          # Confusion. La préposition “depuis” s’écrit en un seul mot.|https://fr.wiktionary.org/wiki/depuis

TEST: Elles sont parties {{de puis}} au moins trois heures.
TEST: Depuis le temps que ça existe, tu devrais être au courant.


__incohérence_au_qqch__
    au  [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|elle|elles|iel|iels|nous|vous|on|parce]
        <<- /conf/ not \1.isupper() and not \2.isupper()
        -2>> =suggSimil(\2, ":[NA].*:[si]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

    aux [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|elle|elles|iel|iels|nous|vous|on|parce]
        <<- /conf/ not \1.isupper() and not \2.isupper()
        -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

    [au|aux] [quel|quels|quelle|quelles]
        <<- /conf/ ->> auquel|auxquels|auxquelles                                                   # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/auquel

    [au|aux] combien  @:[AY]
        <<- /conf/ -1:2>> ô combien                                                                 # Confusion probable.|https://fr.wiktionary.org/wiki/%C3%B4_combien

TEST: au {{nos}} enfants.
TEST: {{Au quel}} faut-il s’adresser ?
TEST: ils jouent aux {{des}}.
TEST: {{Aux quels}} a-t-il adressé sa requête. ?
TEST: Des individus {{aux combien}} sensibles aux usages.
TEST: Au MES, rien de nouveau.



!!
!!
!!!! Style                                                                                        !!
!!
!!

# à / en
__bs_en_à_ville__
    en [Agen|Amiens|Angers|Ajjacio|Arles|Avignon]
        <<- /bs/ -1>> à                             # On utilise la préposition “à” avant les villes (à Avignon, à Arles…), la préposition “en” avant les régions (en Amérique, en Afrique…).

TEST: {{En}} Avignon
TEST: {{En}} Agen


# avoir été
__bs_avoir_été_chez__
    >avoir été chez
        <<- /bs/ not value(<1, "|l’|") ->> _                                                        # Tournure familière. Utilisez « être allé ».

TEST: J’{{ai été chez}} le coiffeur.
TEST: Chez les intellectuels, le mot utopie n’a jamais été synonyme de folie, mais il l’a été pour l’homme de la rue.
TEST: Saoul, je l’ai été chez mon ami, mais après ça allait mieux.


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

TEST: La mise en {{abîme}}.


# à date / jusqu’à date
__bs_à_date__
    [>être|>mettre] [a|à] >date
        <<- /bs/ -2:3>> à jour                                                                      # Anglicisme incompris hors du Québec.

    jusqu’ [à|a] >date
        <<- /bs/ ->> jusqu’ici|jusqu’à maintenant|jusqu’à ce jour|à ce jour                         # Anglicisme incompris hors du Québec.

TEST: être {{à date}}
TEST: mettre {{a date}}
TEST: {{jusqu’à date}}


# de sorte que
__bs_de_sorte_que__
    de sorte à ce [que|qu’]
        <<- /bs/ -1:4>> de sorte                                    # Tournure impropre. La locution conjonctive appropriée est “de sorte que”.|https://fr.wiktionary.org/wiki/de_sorte_que

TEST: elle s’était apprêtée {{de sorte à ce}} qu’elle fût remarquée.
TEST: il était si imbu de lui-même, {{de sorte à ce}} que ses collègues le méprisaient.


# exception qui confirme la règle
__bs_exception_qui_confirme_la_règle__
    >exception ?qui¿ >confirmer la règle
        <<- /bs/ ->> \1 à la règle|\1 aux règles                    # Cliché (probablement mal employé).|https://en.wikipedia.org/wiki/Exception_that_proves_the_rule

TEST: C’est l’{{exception qui confirme la règle}}.


# incessamment sous peu
__bs_incessamment_sous_peu__
    incessamment >sou [peu|peux|peut]
        <<- /bs/ not value(\3, "|peu|") or not value(\2, "|sous|") -2:3>> sous peu                  # Confusion.|https://fr.wiktionary.org/wiki/sous_peu
        <<- /bs/ __else__ ->> sous peu|bientôt|dans peu de temps|d’un moment à l’autre              # Expression impropre.|https://fr.wiktionary.org/wiki/incessamment_sous_peu

TEST: incessamment {{sous peut}}
TEST: ils arrivent {{incessamment sous peu}}.


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

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

    au pire aller
        <<- /bs/ ->> au pis aller                                   # Tournure erronée. Écrivez “au pis aller”.

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


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

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


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

TEST: dans un {{silence assourdissant}}


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

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


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

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


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

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

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


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

#enjoindre à qqn de faire qqch


__code_legacy__
    legacy code
    code legacy
        <<- /bs/ ->> code hérité|code reliquat                                                      # \1 \2. Anglicisme superflu.

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



!!
!!
!!!! Pléonasmes                                                                                   !!
!!
!!

__pleo_pléonasmes_divers__
    >abolir [absolument|entièrement|complétement|complètement|totalement]
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >acculer [au|aux] >pied du mur
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >achever [absolument|entièrement|complétement|complètement|totalement]
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    actuellement en cours
        <<- /pleo/ not value(>1, "|de|d’|") ->> en cours                                    # Pléonasme.

    actuellement en train [de|d’]
        <<- /pleo/ not value(>1, "|nuit|") -1:3>> en train                                  # Pléonasme.

    >ajouter en plus
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >apanage >exclusive
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    [>applaudir|>applaudissement] des deux mains
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    au jour d’ aujourd’hui
        <<- /pleo/ ->> aujourd’hui                                                          # Pléonasme.

    >avancer en avant
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >avérer >vraie
        <<- /pleo/ -2>> =\2.replace("vrai", "exact")                                        # Pléonasme.

    [avéré|avérée|avérés|avérées] >vraie
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    avenir devant [moi|toi|soi|lui|elle|nous|vous|eux|elles]
        <<- /pleo/ morph(<1, ":A|>un") ->> avenir                                           # Pléonasme.

    >bourrasque de vent
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    car en effet
        <<- /pleo/ ->> car|en effet                                                         # Pléonasme.

    >cirrhose du foie
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >collaborer ensemble
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    comme par exemple
        <<- /pleo/ ->> comme|par exemple                                                    # Pléonasme.

    >comparer entre [eux|elles]
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >contraindre malgré [moi|toi|soi|lui|elle|nous|vous|eux|elles]
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >descendre en bas
        <<- /pleo/ not value(>1, "|de|des|du|d’|") ->> \1                                   # Pléonasme.

    >dessiner un dessin
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    à [partir|compter] de dorénavant
        <<- /pleo/ ->> dorénavant|à partir de maintenant                                    # Pléonasme.

    donc par conséquent
        <<- /pleo/ ->> donc|par conséquent|c’est pourquoi                                   # Pléonasme.

    >enchevêtrer les uns dans les autres
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >entraider mutuellement
    >entraider les uns les autres
        <<- /pleo/  ->> \1                                                                  # Pléonasme.

    >entraide >mutuelle
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >erreur >involontaire
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >étape >intermédiaire
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >hasard >imprévue
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >hémorragie de sang
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >joindre ensemble
        <<- /pleo/ ->> \1|mettre ensemble                                                   # Pléonasme.

    >lever debout
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    mais [cependant|pourtant|toutefois]
        <<- /pleo/ ->> mais|cependant|pourtant|toutefois                                    # Pléonasme.

    >marche à >pied
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >méandre sinueux
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    [>média|media] d’ >information
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >monopole >exclusive
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >monter en haut
        <<- /pleo/ not value(>1, "|de|des|du|d’|") ->> \1                                   # Pléonasme.

    >opportunité à saisir
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >orage >électrique
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >paire de >jumelle
        <<- /pleo/ ->> jumelles                                                             # Pléonasme.

    >panacée >universelle
        <<- /pleo/ ->> \1|remède universel                                                  # Pléonasme.

    >perspective d’ avenir
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    [premier|premiers] >balbutiement
        <<- /pleo/ ->> \2                                                                   # Pléonasme.

    [première|premières] >priorité
        <<- /pleo/ ->> \2                                                                   # Pléonasme.

    >projet >future
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >future >projet
        <<- /pleo/ ->> \2                                                                   # Pléonasme.

    >prototype >expérimentale
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >rédiger par écrit
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    [>rénover|>rénovation] à neuf
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    puis [après|ensuite|alors]
        <<- /pleo/ ->> puis|après|ensuite|alors                                             # Pléonasme.

    >réunir ensemble
        <<- /pleo/  ->> \1                                                                  # Pléonasme.

    [>reculer|>recul|>revenir] en arrière
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >risque >potentielle
    >risque de >menace
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >secousse [>séismique|>sismique]
        <<- /pleo/ ->> secousse tellurique|secousses telluriques|tremblement de terre       # Pléonasme.

    >solidaire les uns des autres
    >solidaire les uns avec les autres
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >suffire simplement
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    >talonner de près
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    taux d’ >alcoolémie
        <<- /pleo/ ->> taux d’alcool|alcoolémie                                             # Pléonasme. L’alcoolémie est le taux d’alcool dans le sang.

    >tunnel >souterraine
        <<- /pleo/ ->> \1                                                                   # Pléonasme.

    vieilles hardes
        <<- /pleo/ ->> hardes                                                               # Pléonasme.

    [et|ou] voire
        <<- /pleo/ not morph(>1, ":D") ->> voire|et|\1 voir                                 # Pléonasme ou confusion.

    voire même
        <<- /pleo/ ->> voire|même                                                           # Pléonasme.|https://fr.wiktionary.org/wiki/voire_m%C3%AAme

TEST: il faut {{abolir totalement}} ces pratiques   ->> abolir
TEST: il faut {{achever complètement}} ce projet    ->> achever
TEST: {{au jour d’aujourd’hui}}                     ->> aujourd’hui
TEST: {{actuellement en cours}}                     ->> en cours
TEST: ils sont {{actuellement en train}} de manger  ->> en train
TEST: avoir un grand {{avenir devant soi}}          ->> avenir
TEST: {{acculé au pied du mur}}                     ->> acculé
TEST: {{Avancer en avant}}, pas le choix            ->> Avancer
TEST: {{dessiner un dessin}}                        ->> dessiner
TEST: {{joindre ensemble}}                          ->> joindre|mettre ensemble
TEST: {{collaborer ensemble}}                       ->> collaborer
TEST: {{comparer entre eux}}                        ->> comparer
TEST: {{monter en haut}}                            ->> monter
TEST: {{descendre en bas}}                          ->> descendre
TEST: {{enchevêtrer les uns dans les autres}}       ->> enchevêtrer
TEST: rien ne vaut l’{{entraide mutuelle}}          ->> entraide
TEST: s’{{entraider mutuellement}}                  ->> entraider
TEST: s’{{entraident les uns les autres}}           ->> entraident
TEST: {{comme par exemple}}                         ->> comme|par exemple
TEST: {{médias d’informations}}                     ->> médias
TEST: {{lever debout}}                              ->> lever
TEST: {{cirrhose du foie}}                          ->> cirrhose
TEST: s’avérer {{vrai}}                             ->> exact
TEST: {{avérées vraies}}                            ->> avérées|||exactes
TEST: {{bourrasques de vent}}                       ->> bourrasques
TEST: {{contraint malgré lui}}                      ->> contraint
TEST: {{contraindre malgré eux}}                    ->> contraindre
TEST: {{applaudir des deux mains}}                  ->> applaudir
TEST: Car {{à partir de dorénavant}}, ce sera…      ->> dorénavant|à partir de maintenant
TEST: {{erreurs involontaires}}                     ->> erreurs
TEST: {{hasards imprévus}}                          ->> hasards
TEST: {{méandres sinueux}}                          ->> méandres
TEST: {{hémorragies de sang}}                       ->> hémorragies
TEST: des {{orages électriques}}                    ->> orages
TEST: {{perspectives d’avenir}}                     ->> perspectives
TEST: {{marche à pied}}                             ->> marche
TEST: {{paires de jumelles}}                        ->> jumelles
TEST: {{puis après}}                                ->> puis|après|ensuite|alors
TEST: {{mais pourtant}}                             ->> mais|cependant|pourtant|toutefois
TEST: {{donc par conséquent}}                       ->> donc|par conséquent|c’est pourquoi
TEST: {{car en effet}}                              ->> car|en effet
TEST: {{opportunités à saisir}}                     ->> opportunités
TEST: {{apanages exclusifs}}                        ->> apanages
TEST: {{monopole exclusif}}                         ->> monopole
TEST: {{étapes intermédiaires}}                     ->> étapes
TEST: {{ajouter en plus}}                           ->> ajouter
TEST: la {{panacée universelle}}                    ->> panacée|remède universel
TEST: ce sont leurs {{premiers balbutiements}}      ->> balbutiements
TEST: la {{première priorité}}, c’est…              ->> priorité
TEST: Un {{futur projet}}                           ->> projet
TEST: ce sont des {{projets futurs}}                ->> projets
TEST: {{prototypes expérimentaux}}                  ->> prototypes
TEST: Nous avons {{rénové à neuf}} l’ensemble       ->> rénové
TEST: Nous voilà {{réunis ensemble}}                ->> réunis
TEST: {{Recule en arrière}}                         ->> Recule
TEST: {{Rédigez par écrit}} une notice.             ->> Rédigez
TEST: {{risques de menaces}}                        ->> risques
TEST: {{secousses sismiques}}                       ->> secousse tellurique|secousses telluriques|tremblement de terre
TEST: {{solidaires les uns des autres}}             ->> solidaires
TEST: Il {{suffisait simplement}} d’y penser.       ->> suffisait
TEST: Il la {{talonnait de près}}                   ->> talonnait
TEST: ce {{taux d’alcoolémie}} est très élevé       ->> taux d’alcool|alcoolémie
TEST: {{tunnels souterrains}}                       ->> tunnels
TEST: {{vieilles hardes}}                           ->> hardes
TEST: délirant {{et voire}} ridicule                ->> voire|et|et voir
TEST: {{voire même}}                                ->> voire|même


# d’avance / à l’avance
__pleo_verbe_à_l_avance__
    [>prévenir|>prévoir|>prédire|>présager|>préparer|>pressentir|>pronostiquer|>avertir|>devancer|>deviner|>réserver] à l’ avance
    [>prévenir|>prévoir|>prédire|>présager|>préparer|>pressentir|>pronostiquer|>avertir|>devancer|>deviner|>réserver] d’ avance
        <<- /pleo/ ->> \1                                                                           # Pléonasme.

TEST: {{prédire à l’avance}}                    ->> prédire
TEST: {{pronostiquer d’avance}}                 ->> pronostiquer
TEST: {{réserver d’avance}}                     ->> réserver


# plus tard / à une date ultérieure
__pleo_différer_ajourner_reporter__
    [>ajourner|>différer|>reporter] à plus tard
    [>ajourner|>différer|>reporter] à date ultérieure
    [>ajourner|>différer|>reporter] à une date ultérieure
        <<- /pleo/ ->> \1                                                                           # Pléonasme.

TEST: {{Ajourner à une date ultérieure}}        ->> Ajourner
TEST: {{différer à une date ultérieure}}        ->> différer
TEST: {{reporter à plus tard}}                  ->> reporter



!!
!!
!!!! Tournures de langage                                                                         !!
!!
!!

# Mon, ton, son : euphonie
__gn_mon_ton_son_euphonie__
    [ma|ta|sa]  @>[aâeéèêiîoôuûyœæ].+:[NAQ].*:f¬:[eGW]
        <<- /gn/ -1>> =\1.replace("a", "on")                                # Même si « \2 » est féminin, on utilise « mon/ton/son » pour faire la liaison.|http://fr.wikipedia.org/wiki/Euphonie

TEST: {{ta}} aimée                                            ->> ton
TEST: {{ma}} obligée                                          ->> mon
TEST: Ce couple va donner à la France sa très importante collection qui rejoindra le musée d’Orsay



!!!
!!!
!!! Conjugaison                                                                                   !!
!!!
!!!

## 1sg
__conj_je__
    je est un autre
        <<- !2>>

    je  @:V¬:(?:1s|Ov)
        <<- /conj/ not (morph(\-1, ":[PQ]") and morph(<1, ":V0.*:1s"))
        --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/ value(\-1, "|est|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: j’{{es}} déjà donné                                       ->> ai|aie|suis
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: J’y {{vient}}.
TEST: J’en {{revient}}.
TEST: je {{donner}}.
TEST: Je ne leur en {{veut}} pas.
TEST: je ne leur {{est}} rien donné
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é}}
TEST: Je est un autre.


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

    j’       ?[en|y]¿                                                             @:¬:(?:V|Ov)
    [je|j’]  [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]            @:¬:(?:V|Ov)
    [je|j’]  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    [je|j’]  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    [je|j’]  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    [je|j’]  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ --1>> =suggSimil(\-1, ":(?:1s|Ov)", False)                                       # Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je ne le {{croix}} pas
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¬:(?:P|[ISK].*:2s)
    tu  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:V¬:(?:P|[ISK].*:2s)
    tu  ?[ne|n’]¿  [lui|leur]                     en                         @:V¬:(?: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
    tu  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    tu  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /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
    il  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:V¬:3s
    il  ?[ne|n’]¿  [lui|leur|y]                   en                         $:V¬:3s
        <<- /conj/ --1>> =suggVerb(\-1, ":3s")                                                      # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
        <<- /conj/ morph(\-1, ":3p") -1>> ils                                                       # Accord avec “\-1”.

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


__conf_il_non_verbe__
    il  @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|ou|si|")
        -2>> =suggSimil(\2, ":(?:3s|Ov)", False)                                                    # Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

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

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


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

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

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


__conf_on_non_verbe__
    on  @:¬:(?:V|Ov)|>ou/
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|n’|m’|t’|s’|") and not value(\-1, "|c’|ce|si|")
        -2>> =suggSimil(\2, ":(?:3s|Oo)", False)                                                    # Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    on  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    on  [ne|n’]    [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            @:¬:(?:V|Ov)
    on  ?[ne|n’]¿  [lui|leur]                     en                         @:¬:(?:V|Ov)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|n’|m’|t’|s’|") and not value(\-1, "|c’|ce|")
        --1>> =suggSimil(\-1, ":(?:3s|Ov)", False)                                                  # Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

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


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

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

    [c’|ç’]                         @:¬:(?:[123][sp]|Y|P|Ov|X)|>que/
        <<- /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.


__conf_c_s_verbe__
    [il|ils|on|ne|n’]  c’
        <<- /conj/ -2>> s’                                                      # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”.

    [<start>|,]  [elle|elles|iel|iels|lui|eux]  c’  ?en¿  >être  ?$:W¿  $:Q
        <<- /conj/ -3>> s’                                                      # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”.

    [<start>|,]  [elle|elles|iel|iels|lui|eux]  c’  ?en¿  $:V¬:V0e
        <<- /conj/ -3>> s’                                                      # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”.

    c’ y
    c’ @:V¬>(?:avoir|être|devoir|devenir|pouvoir|vouloir|savoir)/.*:3[sp]
        <<- /conj/ -1>> s’                                                      # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”.

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

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


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

    ce qui  ?[lui|leur|leurs|nous|vous]¿  (étai)  ?@:[WX]¿  ?@:[WX]¿  @:(?:[AQD]|V1.*:Y)
        <<- /conf/ -1>> était                                                   # Confusion probable : “étai” est un nom commun. Pour le verbe “être”, écrivez “était”.

TEST: ce qui {{et}} beau.
TEST: ce qui {{étai}} notre lot.
TEST: ce qui lui {{étai}} propre
TEST: ce qui nous {{et}} pas vraiment utile


__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]|Ov)
        <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|iel|iels|")
        -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|Ov)
    [<start>|,]  nous  ?[ne|n’]¿  [me|m’|nous|vous|lui|leur]                          @:V¬:(?:1p|Ov)
    [<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 1ʳᵉ personne du pluriel..

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

TEST: Nous {{arriverez}} demain.
TEST: Nous {{travaillez}}.
TEST: nous {{donné}} trop de considération
TEST: nous {{avancez}}
TEST: nous n’{{devancez}} que de quelques points.
TEST: nous vous {{donnait}} des marques d’affection.
TEST: nous la {{réuniront}} avec l’ancienne équipe.
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]|Ov)
        <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|iel|iels|")
        -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|Ov)
    [<start>|,]  vous  ?[ne|n’]¿  [me|m’|nous|vous|lui|leur]                          @:V¬:(?:2p|Ov)
    [<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.

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

TEST: Vous {{arrivais}} trop tard.
TEST: vous ne l’{{avait}} pas vu.
TEST: je crois, vous m’{{avais}} trompé…
TEST: vous nous {{refuser}} le pardon.
TEST: Vous {{travaillons}}.
TEST: vous {{donné}} du bonheur
TEST: vous {{avançons}}
TEST: Vous ne la {{voulait}} pas
TEST: Vous ne {{mangeait}} que des légumes ?
TEST: vous l’{{accomplissait}}
TEST: vous la rendait avec bienveillance


## 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
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:V¬:3p
    ils  ?[ne|n’]¿  [lui|leur]                     en                         $:V¬:3p
        <<- /conj/ --1>> =suggVerb(\-1, ":3p")                                                      # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
        <<- /conj/ morph(\-1, ":3s") -1>> il                                                        # Accord avec “\-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|Ov)", False)                                                    # Incohérence avec “ils” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    ils  [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]       @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:¬:(?:V|Ov)
    ils  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        $:¬:V
    ils  ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            $:¬:V
    ils  ?[ne|n’]¿  [lui|leur]                     en                         $:¬:V
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3p|Ov)", False)                                                    # Incohérence avec “ils” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: ils {{son}} du même bois.
TEST: Ils {{étai}} partie au {{restaurent}}
TEST: ils leur {{étai}} indifférent


## se + incohérence
__conj_se_incohérence__
    [se|s’]  ?[le|la|l’|les]¿   @:V¬:(?:3[sp]|P)
    s’       ?[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.


!!
!!
!!!! Pronoms + incohérences                                                                       !!
!!
!!

__m_enfin__
    m’ enfin
        <<- !2>>
        <<- ~>> *


__non_verbe_après_préverbes__
    [ne|n’]     [le|la|l’|les]      [lui|leur|en|y]         @:¬:(?:[123][sp]|Y|P|Ov|X)
    [ne|n’]     [lui|leur]          en                      @:¬:(?:[123][sp]|Y|P|Ov|X)
        <<- /conf/ -4>> =suggSimil(\4, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 \2 \3 » : « \4 » devrait être un verbe.

    [ne|n’]              [le|la|l’|les|nous|vous|lui|leur]  @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:presque|rien|guère)/
    n’                   [en|y]                             @:¬:(?:[123][sp]|Y|P|Ov|X|W)|>(?:presque|rien|guère)/
    [me|m’|te|t’|se|s’]  [le|la|l’|les]                     @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:presque|rien|guère)/
    [me|m’|te|t’]        [en|y]                             @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:presque|rien|guère|voici|revoici|voilà|revoilà)/
    [se|s’]              [en|y]                             @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:presque|rien|guère)/
        <<- /conf/ -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [nous|vous]           y                                 @:¬:(?:[123][sp]|Y|P|Ov|X)|>(?:presque|rien|guère|voici|revoici|voilà|revoilà)/
        <<- /conf/ not morph(<1, ":R") -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)               # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

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

TEST: ne leur en {{fil}} pas
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: nous y {{appel}} avec ferveur
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
TEST: C’est nous les patrons
TEST: me revoilà


__loc_notre_père_qui_es_au_cieux__
    notre père qui [es|est] aux cieux
        <<- !4>>
        <<- ~3:0>> *


!!
!!
!!!! Formes verbales sans sujet                                                                   !!
!!
!!

## Incohérences avec formes verbales 1sg et 2sg sans sujet

__conj_xxxai__sans_sujet!3__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~ai$
        <<- /conj/ not tag_before(\1, "1s") and morph(\-1, ":1s", ":(?:E|G|W|M|J|3[sp])")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

    [me|m’|te|t’]       ?[le|la|l’|les|en|y]¿   ~ai$
    [le|la|l’|les]      [lui|leur|en|y]         ~ai$
    [lui|leur]          en                      ~ai$
        <<- /conj/ not tag_before(\1, "1s") and morph(\-1, ":1s", ":(?:E|G|W|M|J|3[sp])")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

    [nous|vous]         ?[le|la|l’|les|en|y]¿   ~ai$
        <<- /conj/ not tag_before(\-1, "1s") and not morph(<1, ":R") and morph(\-1, ":1s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

    ~ai$
        <<- /conj/ not tag_before(\1, "1s") and morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp]|N|A|Q)") and not (\1.istitle() and before0("\\w"))
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

TEST: avançait et s’{{donnai}} en spectacle
TEST: il avancera, ne {{serai}} ce que de quelques pas
TEST: m’{{occupai}} que deux jours, cette ânerie
TEST: Lui, quand il y pensait, en {{arrivai}} à chaque fois à la même conclusion.
TEST: {{dansai}} puis oubliait
TEST: ce qui, dans le meilleur des cas, peut-être, oui, c’est vrai, vous {{donnerai}} l’avantage.


__conj_xxxas_xxxes__sans_sujet!3__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~[ae]s$
        <<- /conj/ not tag_before(\1, "2s") and morph(\-1, ":2s", ":(?:E|G|W|M|J|3[sp]|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

    [me|m’|te|t’]       ?[le|la|l’|les|en|y]¿   ~[ae]s$
    [le|la|l’|les]      [lui|leur|en|y]         ~[ae]s$
    [lui|leur]          en                      ~[ae]s$
        <<- /conj/ not tag_before(\-1, "2s") and morph(\-1, ":2s", ":(?:E|G|W|M|J|3[sp]|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

    [nous|vous]         ?[le|la|l’|les|en|y]¿   ~[ae]s$
        <<- /conj/ not tag_before(\-1, "2s") and not morph(<1, ":R") and morph(\-1, ":2s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

    ~..[ae]s$
        <<- /conj/ not tag_before(\1, "2s") and morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp]|N|A|Q|1p)") and not (\1.istitle() and before0("\\w"))
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

TEST: se {{demandes}} comment faire
TEST: oui, il l’ignorait, ne me {{demandes}} comment c’était possible
TEST: c’est ça, me {{demandes}} comment c’est possible
TEST: je me questionne, {{exiges}} des réponses mais n’en obtiens pas…
TEST: Caroline, quand l’heure viendra, {{décideras}} de la conduite à tenir.
TEST: {{arrimeras}} le voilier
TEST: n’est-ce pas, indubitablement, nous la {{contestes}}
TEST: nous laisserons derrière nous les empires de la Terre.


__conj_xxxxxs_sans_sujet!3__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~[iudnrtpcï]s$
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s") and morph(\-1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Le sujet de cette forme verbale est introuvable.

    [me|m’|te|t’]       ?[le|la|l’|les|en|y]¿   ~[iudnrtpcï]s$
    [le|la|l’|les]      [lui|leur|en|y]         ~[iudnrtpcï]s$
    [lui|leur]          en                      ~[iudnrtpcï]s$
        <<- /conj/ not tag_before(\-1, "1s") and not tag_before(\-1, "2s") and morph(\-1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Le sujet de cette forme verbale est introuvable.

    [nous|vous]         ?[le|la|l’|les|en|y]¿   ~[iudnrtpcï]s$
        <<- /conj/ not tag_before(\-1, "1s") and not tag_before(\1, "2s") and not morph(<1, ":R") and morph(\-1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Le sujet de cette forme verbale est introuvable.

    étais
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s") and not (\1.istitle() and before0("\\w")) and not morph(<1, ":[DA].*:p")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    ~[iudnrtpcï]s$
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s") and morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p|V0e|N|A|Q)") and not (\1.istitle() and before0("\\w"))
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

TEST: s’{{précipitais}} dans la gueule du loup
TEST: ne leur {{donnais}} aucune raison de se faire aimer
TEST: leur en {{faisais}} baver
TEST: vous en {{donnais}} pour votre argent, ce type.
TEST: oui, non, qui sait ? {{étais}} perdu, ce gars-là
TEST: ceux-là, dans tous les cas de figure et dans tous les coups ratés, {{comprenais}} mal pourquoi on leur en voulait.
TEST: {{j'}}ai signalé que {{j'}}essayais de regrouper les paragraphes. (Tests avec apostrophe droite.)
TEST: lorsque deux sujets politiques voisins se présentent sur le marché, l’un plus flou et l’autre plus caricatural
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é.
TEST: C’était lui le plus jeune président.
TEST: Avec la plupart d’entre nous pris en sandwich quelque part entre les deux


__conj_peux_veux_vaux_équivaux_prévaux_sans_sujet!3__
    [ne|n’]                  ?[le|la|l’|les|en|vous|lui|leur|y]¿  [peux|veux|vaux|équivaux|prévaux]
    [me|m’|te|t’|nous|vous]  ?[le|la|l’|les|en|y]¿                [peux|veux|vaux|équivaux|prévaux]
    [le|la|l’|les]           [lui|leur|en|y]                      [peux|veux|vaux|équivaux|prévaux]
    [lui|leur]               en                                   [peux|veux|vaux|équivaux|prévaux]
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s")
        --1>> =suggVerb(\-1, ":3s")                                                                 # Incohérence. Le sujet de cette forme verbale est introuvable.

    vaux
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s") and not (\1.istitle() and before0("\\w"))
            and not morph(<1, ":(?:R|D.*:p)")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    [peux|veux|équivaux|prévaux]
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s") and not (\1.istitle() and before0("\\w"))
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

TEST: tu sais, s’{{équivaux}}, voilà.
TEST: tu sais, s’en {{veux}} d’avoir raté ça.
TEST: s’{{peux}} qu’il avait faim, va savoir
TEST: n’{{équivaux}} pas à ma BMW, cette tire.
TEST: faut voir, ces hommes, lui, tu sais, l’en peux
TEST: la lui {{donnais}} sans contrepartie
TEST: {{vaux}} pas ça, ce truc.
TEST: ouais, ce serait pas de refus, ouais, {{peux}} peut-être nous aider
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.


## Incohérences avec formes verbales 1pl et 2pl sans sujet
__conj_xxxons_sans_sujet!3__
    ~ons$
        <<- /conj/ morph(\1, ":1p", ":[EGMNAJ]") and not tag_before(\1, "1p") and not (\1.istitle() and before0("\\w"))
        -1>> =suggVerb(\1, ":3p")     # Ceci est un verbe à la 1ʳᵉ personne du pluriel. Sujet (“nous” ou équivalent) introuvable.

__conj_xxxez_sans_sujet!3__
    ~ez$
        <<- /conj/ morph(\1, ":2p", ":[EGMNAJ]") and not tag_before(\2, "2p") and not (\1.istitle() and before0("\\w"))
        -1>> =suggVerb(\1, ":3p")     # 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


# Confusion futur / conditionnel
__vmode_je_futur!6__
    <start>  ([demain|oui|non|certainement|absolument|totalement])  ?,¿  [je|j’]  ?[ne|n’]¿  ?y¿  (*WORD)  ?@:[WX]¿  ?@:[WX]¿  <end>
    <start>  ([demain|oui|non|certainement|absolument|totalement])  ?,¿  [je|j’]  ?[ne|n’]¿  ?y¿  (*WORD)  ?@:[WX]¿  ?@:[WX]¿
        || [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs|certains|certaines]  *WORD  <end>
        <<- /vmode/ morph(\2, ":K:1s", ">(?:aimer|vouloir)/") -2>> =\2[:-1]
        # Confusion possible. Le mot “\1” semble indiquer une certitude. Dans ce cas, “\2” devrait être conjugué au futur, non au conditionnel.

TEST: demain, je {{viendrais}}                                                          ->> viendrai
TEST: non, je n’{{irais}} pas là-bas !                                                  ->> irai
TEST: oui, j’y {{penserais}}…                                                           ->> penserai
TEST: non, je n’y {{prendrais}} pas le train                                            ->> prendrai
TEST: oui je {{serais}}                                                                 ->> serai
TEST: non je n’{{irais}} pas là-bas !                                                   ->> irai
TEST: oui j’y {{penserais}}…                                                            ->> penserai
TEST: non je n’y {{prendrais}} pas le train                                             ->> prendrai
TEST: oui, je le voudrais.
TEST: oui, je l’aimerais.
TEST: oui, je la prendrais pour femme si ça ne tenait qu’à moi.



!!
!!
!!!! Confusions générales                                                                         !!
!!
!!

__conf_usage_impropre__
    au  le  @:[NA]
        <<- /conf/ not \1.isupper() and \2.islower() -1:2>> au              # Usage impropre. Après “au”, l’article “le” est inapproprié. (Ex : Je vais à la gare, je vais au stade.)

    au  les  @:[NA]
        <<- /conf/ not \1.isupper() and \2.islower() -1:2>> aux             # Usage impropre. Après “au”, l’article “les” n’est pas nécessaire.

    au  la  @:[NAQ].*:[fe]
        <<- /conf/ not \1.isupper() and \2.islower() -1>> à                 # Usage impropre. Avec un nom féminin, utilisez la préposition “à”. (Ex : Je vais à la gare, je vais au stade.)

    au  l’
        <<- /conf/ \2 == "l’" -1>> à                                        # Usage impropre. Exemple : Elle va à l’opéra. Elle va au bal.

TEST: {{au le}} chien
TEST: {{au les}} armoires
TEST: qui sont {{au}} l’usage
TEST: {{au}} la passion


__conf_de_du_d__
    [de|du]  d’  *WORD
        <<- /conf/ not \1.isupper() and \3.islower() -1:2>> d’          # Incohérence.

TEST: Ça t’arrive {{de d’}}arriver à l’heure ?
TEST: Les écrits de d’Alembert.


__conf_déterminant_fem_sing_verbe__
    [ma|ta|cette|ladite]  @:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True)                        # Incohérence avec « \1 » : « \2 » est un verbe.

    sa  @:(?:Y|[123][sp])¬:(?:N.*:[fe]|A|W)
        <<- /conf/ not \1.isupper() and \2.islower() >>>
        <<- /conf/ morph(\2, "V.....[pqx]") -1>> ça|se                                              # Confusion : « \2 » est un verbe. Exemples : sa jambe, ça vient. (Une faute de frappe peut-être ?)
        <<- /conf/ __else__ -1>> ça                                                                 # Confusion : « \2 » est un verbe. Exemples : sa jambe, ça vient.
        <<- /conf/ hasSimil(\2) -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True)                        # Incohérence avec « \1 » : « \2 » est un verbe.

    sa  a
        <<- /conf/ not \1.isupper() -1>> ça                                                         # Confusion. Si vous voulez dire “cela”, écrivez “ça”.

TEST: Cette {{pèle}} est trop fragile.
TEST: {{sa}} devient difficile.
TEST: il me tendit {{sa}} {{pèche}}.
TEST: {{sa}} prend du temps.                                                  ->> ça|se
TEST: {{çà}} va                                                               ->> ça
TEST: {{sa}} va                                                               ->> ça
TEST: {{sa}} a tout changé                                                    ->> ça


__conf_déterminant_mas_sing_verbe__
    [du|cet|ledit|dudit]  @:(?:Y|[123][sp])¬:[NAQ]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True)                                                # Incohérence avec “\1” : “\2” est un verbe.

    au  @:(?:Y|[123][sp])¬:[NAQ]
        <<- /conf/ \2.islower() and not value(\2, "|sortir|")
        -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True)                                                # Incohérence avec “\1” : “\2” est un verbe.

    ce  @:V.*:(?:Y|[123][sp])¬:[NAQ]:.:[si]
        <<- /conf/ \2.islower()
            and not value(\2, "|faire|sont|soit|fut|fût|serait|sera|seront|soient|furent|fussent|seraient|peut|pouvait|put|pût|pourrait|pourra|doit|dut|dût|devait|devrait|devra|") and hasSimil(\2)
        -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True)                                                # Incohérence avec “\1” : “\2” est un verbe.

    mon  @:(?:Y|[123][sp])¬:[NAQ]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA]:.:[si]", True)                                                   # Incohérence avec “\1” : “\2” est un verbe.

    [<start>|,]  [ton|son|audit]  @:(?:Y|[123][sp])¬:[NAQ]
        <<- /conf/ \3.islower()
        -3>> =suggSimil(\3, ":[NA]:[me]:[si]", True)                                                # Incohérence avec “\2” : “\3” est un verbe.

    [un|une]  @:(?:Y|[123][sp])¬:[GNA]  ?$:W¿  @:A¬:[GM]
        <<- /conf/ not value(<1, "|dont|l’|d’|sauf|excepté|") and not before("(?i)\\bun à +$")
        -2>> =suggSimil(\2, ":[NAQ]:[me]:[si]", True)                                               # Incohérence avec “\1” : “\2” est une forme verbale conjuguée.

TEST: un {{maintient}} difficile.
TEST: quelqu’un arrive.
TEST: cet {{plaît}} est infectée.
TEST: {{ce}} {{rappelle}} n’en finit pas.
TEST: mon {{rackette}} n’a pas porté les fruits espérés.
TEST: ton {{recèle}} avait été dévoilé
TEST: Belle qui tient mon vit captif entre tes doigts.


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

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

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

    [auxdites|lesdites|desdites]  @:V.*:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower()
        -2>> =suggSimil(\2, ":[NA]:[fe]:[pi]", True)                                                # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: la crainte des {{attentas}} fait feu de tout bois.
TEST: Quelques {{axions}} de la sorte suffisent à nous discréditer.
TEST: elle se rendit auxdits {{jardinais}}
TEST: auxdites {{scelles}}, il ne prêta pas attention.


__conf_de_vconj__
    [de|d’]  @:V.*:[123][sp]¬:[GNA]
        <<- /conf/ not \2.istitle() -2>> =suggSimil(\2, ":[NA]", True)                              # Incohérence avec “\1” : “\2” est une forme verbale conjuguée.

TEST: il s’agit de {{mette}} en évidence.


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

TEST: de l’{{arrivait}}


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

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


    [de|d’]  la  *WORD
        <<- /conf/ morph(\3, ":[123][sp]", ":[NAQ]") and not \3.istitle() >>>
        <<- /conf/ morph(\3, ":V1.*:(?:Iq|Ip:2p)", ":1p") -3>> =suggVerbInfi(\3)                    # Incohérence avec “\1 \2” : mettez le verbe à l’infinitif (à moins qu’il y ait confusion avec un nom féminin).
        <<- /conf/ __else__ >>>
        <<- /conf/ hasSimil(\3, ":(?:[NA]:[fe]:[si])") -3>> =suggSimil(\3, ":(?:[NA]:[fe]:[si])", True)    # Incohérence avec “\1 \2” : “\3” est un verbe.
        <<- /conf/ __else__ -2>> là                                                                 # Confusion probable. Si vous voulez dire “depuis ce point”, écrivez “de là”.

TEST: j’étais loin de la {{pensait}} ainsi                      ->> penser
TEST: ce n’était que de la {{bouillit}}                         ->> bouillie
TEST: de {{la}} venaient tous nos problèmes                     ->> là


    d’  [un|une]  @:[123][sp]¬:[GNA]
        <<- /conf/ not \3.istitle() and not value(<1, "|plus|moins|")
        -3>> =suggSimil(\3, ":[NA]", True)                                                          # Incohérence avec “\1\2” : “\3” est une forme verbale conjuguée.

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


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

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

TEST: par {{bloque}} de données
TEST: par une {{donnait}} sans importance
TEST: pour les insulter au sortir du seul troquet dispensateur d’oubli liquide du coin
TEST: ce peut être un matériau à part entière pour alimenter discussions et délibérations.


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

TEST: à leur {{profile}}
TEST: une référence à l’astuce de base qui permet d’outrepasser ses droits.
TEST: Le mari répète à l’envi qu’il a découvert la France à travers les mots de sa femme.
TEST: Il reste de nombreux militants sincères à la FI.


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

TEST: malgré l’{{arrête}} qui interdisait le port
TEST: dès le {{commencent}}, j’ai vu le problème.
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’]
        <<- /conf/ not \1.isupper() ->> ne \1|\1                        # Incohérence.

    me [me|m’|te|t’|se|s’]
        <<- /conf/ not \1.isupper() -1>> ne                             # Incohérence. Erreur de frappe ou de numérisation ?

    te [me|te|se]
        <<- /conf/ not \1.isupper() ->> \1|\2                           # Incohérence.

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

    se [me|te|se]
        <<- /conf/ not \1.isupper() ->> \1|\2                           # Incohérence.

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

TEST: Il {{ne n’}}arrive jamais à l’heure.
TEST: il {{me ne}} connaît pas
TEST: elle {{me}} t’arrêtera pas
TEST: Ça {{me}} te prend la tête, toutes ces complications vaines.
TEST: ça {{te me}} donne la chair de poule.
TEST: ça {{te n’}}arrive pas
TEST: ça {{te s’}}arrive pas
TEST: il {{se me}} peut que nous soyons sélectionnés
TEST: il {{se m’}}est difficile d’y parvenir.


__conf_chez_vconj__
    chez  @:(?:[123][sp]|P)¬:[GNAQM]
        <<- /conf/ not \2.istitle() -2>> _                                                          # Incohérence avec “chez” : “\2” est une forme verbale conjuguée.

TEST: Tout ce qu’on fera chez {{sera}} enregistré.


__conf_de_plus_en_plus_verbe__
    de plus en plus  @:(?:[123][sp]|Y)¬:(?:[GAQWN]|3p)
        <<- /conf/ not morph(<1, ":V[123].*:[123][sp]|>(?:pouvoir|vouloir|falloir)/")
        -5>> =suggVerbPpas(\5)
        # Incohérence probable avec « de plus en plus » : « \5 » n’est ni un adjectif, ni un participe passé, ni un adverbe.

TEST: de plus en plus {{gagnait}} par la folie.
TEST: de plus en plus {{concerner}} par ce problème
TEST: avec quel zèle ils remplissent leurs devoirs de citoyens (de plus en plus deviennent enseignant·e·s, infirmier·e·s ou s’engagent dans l’armée, etc.).
TEST: il faut de plus en plus aider ces gens.
TEST: nous leur faisons de plus en plus confiance.
TEST: elles ont de plus en plus recours à des intermédiaires.


#### Participes présents
__conf_participes_présents__
    [ne|n’|me|m’|te|t’|se|s’]  ~\want$
        <<- /conf/ morph(\2, ":", ":P") -2>> _                                                      # Incohérence : « \2 » n’est pas un participe présent.

    [nous|vous|lui]  ~\want$
        <<- /conf/ not morph(<1, ":R") and morph(\2, ":[NAQ]", ":[PG]") -2>> _                      # Incohérence : « \2 » n’est pas un participe présent.

TEST: ne {{convaincant}} que les convaincus.
TEST: une tension lui {{provocant}} un ulcère
TEST: comme des nuages ou des coteaux se reflétant dans l’eau (ligature fl)
TEST: ces hommes qui avaient abusé de lui enfant.


__conf_en_participes_présents__
    en   [ne|me|m’|te|t’|s’]  @:[123][sp]¬:[PY]
        <<- /conf/ not \1.isupper() >>>
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerbTense(\3, ":PQ", ":P")                                 # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ value(\2, "|m’|t’|s’|") -1:2>> "\2en "                                           # Incohérence : vouliez-vous écrire « \2’en » ?
        <<- /conf/ __else__ -1:2>> =\2[0:1] + "’en"                                                 # Incohérence.

    en   se  @:[123][sp]¬:[PY]
        <<- /conf/ not \1.isupper() >>>
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerbTense(\3, ":PQ", ":P")                            # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ not morph(\3, ":[NA]") -1:2>> "s’en "                                            # Incohérence : vouliez-vous écrire « s’en » ?

    en   n’  @:[123][sp]¬:[PY]
        <<- /conf/ not \1.isupper() and not value(\3, "|importe|") >>>
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerbTense(\3, ":PQ", ":P")                            # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ not value(<1, "|n’|") -1:2>> "n’en "                                             # Incohérence : vouliez-vous écrire « n’en » ?
        <<- /conf/ __else__ -1:2>> "en "                                                            # Double négation :  “n’” est une graphie élidée de “ne”. Il est inutile de la mettre deux fois. L’accord euphonique se fait en prononçant le “n” de “en” avec la première voyelle de “\3”.

TEST: {{en t’}}ait donné tant.                                              ->> "t’en "
TEST: il {{en me}} donne beaucoup.                                          ->> m’en
TEST: elle n’{{en n’}}avait plus pour longtemps.                            ->> "en "
TEST: {{en m’}}{{apportent}} des gâteaux
TEST: {{en se}} {{contentent}}
TEST: {{en n’}}{{abordent}} la côte, nous vîmes le désastre.
TEST: {{en n’}}{{envoient}} que peu.
TEST: en ne prenant que des talents réputés,
TEST: toute chose pourrait finalement advenir indifféremment en n’importe quel point du globe


#### Divers
__ppas_lui_verbe__
    lui ?aussi¿ ~é(?:es?|s)$
        <<- /ppas/ morph(\-1, ":Q") and not morph(<1, ":(?:V0a|R)") --1>> =suggVerbPpas(\-1, ":m:s")+"|"+suggVerbInfi(\-1)+"|"+suggVerbTense(\-1, ":Iq", ":3s")
        # Incohérence probable. Après “lui”, il faut un participe passé masculin singulier, l’infinitif ou une forme verbale conjuguée (3ᵉ personne du singulier).

TEST: lui {{mangée}} beaucoup.
TEST: lui aussi {{mangés}} beaucoup.
TEST: L’homme qui s’approchait de lui voulait le surprendre.
TEST: avec Paul, lui aussi éliminé.
TEST: les études qu’il a lui terminées avec bien du mal.
TEST: cette déclaration fut selon lui rédigée par des imbéciles.


__ppas_elle_verbe__
    elle ?aussi¿ ~é(?:es|s)$
        <<- /ppas/ morph(\-1, ":Q") and not morph(<1, ":(?:V0a|R)") --1>> =suggVerbPpas(\-1, ":f:s")+"|"+suggVerbTense(\-1, ":Iq", ":3s")
        # Incohérence probable. Après “elle”, il faut un participe passé féminin singulier ou une forme verbale conjuguée (3ᵉ personne du singulier).

TEST: elle {{mangé}}.
TEST: elle aussi {{mangées}}.


__conf_presque_vconj__
    presque  @:[123][sp]¬:[GNAQWM]
        <<- /conf/ not tag_before(\1, "ce_que") and not value(<1, "|ou|") -2>> _                    # Incohérence probable avec “presque” : « \2 » n’est ni un adjectif, ni un participe passé, ni un adverbe.

TEST: presque {{délaissait}} par tout le monde.
TEST: Tout le monde ou presque déteste ces gens-là.


__conf_sur_vconj__
    sur  @:(?:[123][sp]|P)¬:[GNAQM]
        <<- /conf/ not \2.istitle() and not morph(<1, ":[NA]:[me]:si") -2>> _                       # Incohérence avec “sur” : “\2” est une forme verbale conjuguée.

TEST: Toutes les blagues qu’on fera sur {{entreront}} dans l’histoire !
TEST: Elles se querellent sans cesse sur presque tout.


__conf_si_x_être__
    si  *WORD  [/-je|/-tu|/-il|/-elle|/-on|/-nous|/-vous|/-ils|/-elles|/-iel|/-iels]
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":(?:Y|[123][sp])", ":[AQ]")
        -2>> =suggVerbPpas(\2)                                                                      # Incohérence probable. Ce devrait probablement être un participe passé ou un adjectif.

TEST: si {{frapper}} fussent-ils, rien ne put les mouvoir.
TEST: si détruit soit-il, on pourra le remettre sur ses pieds.


__conj_si_x_être__
    si  *WORD  [/-je|/-tu|/-iel]
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":A.*:p", ":[si]")
        -2>> =suggSing(\2)                                                                          # Accord avec “\3” : l’adjectif doit être au singulier.

    si  *WORD  /-il
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":A.*:[fp]", ":[me]:[si]")
        -2>> =suggMasSing(\2)                                                                       # Accord avec “\3” : l’adjectif doit être au masculin singulier.

    si  *WORD  /-elle
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":A.*:[mp]", ":[fe]:[si]")
        -2>> =suggFemSing(\2)                                                                       # Accord avec “\3” : l’adjectif doit être au féminin singulier.

    si  *WORD  [/-nous|/-iels]
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":A.*:s", ":[pi]")
        -2>> =suggPlur(\2)                                                                          # Accord avec “\3” : l’adjectif doit être au pluriel.

    si  *WORD  /-ils
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":A.*:[sf]", ":[me]:[pi]")
        -2>> =suggMasPlur(\2)                                                                       # Accord avec “\3” : l’adjectif doit être au masculin pluriel.

    si  *WORD  /-elles
        <<- /conf/ morphVC(\3, ">(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)/") and morph(\2, ":A.*:[sm]", ":[fe]:[pi]")
        -2>> =suggFemPlur(\2)                                                                       # Accord avec “\3” : l’adjectif doit être au féminin pluriel.

TEST: si {{clairvoyants}} deviendrais-je
TEST: si {{fragiles}} sois-tu
TEST: si {{idiote}} semble-t-il
TEST: si {{riches}} soit-elle
TEST: si {{grand}} paraissons-nous
TEST: si {{frappé}} fussent-ils, rien ne put les mouvoir.
TEST: si {{étonnés}} demeurent-elles


__conf_trop_vconj__
    trop  @:[123][sp]¬:(?:[GNAQWM]|3p)
        <<- /conf/ not tag_before(\1, "ce_que") -2>> _                                              # Incohérence probable avec “trop” : “\2” n’est ni un adjectif, ni un participe passé, ni un adverbe.

TEST: J’ai trop {{mangeais}}.
TEST: Ce que nous réussissons presque sera considéré comme un échec.


__conf_très_verbe__
    très  @:(?:Y|[123][sp])¬:[AQW]
        <<- /conf/ not value(\2, "|envie|") -2>> =suggSimil(\2, ":[AW]", True)                      # Incohérence avec “très” : “\2” n’est ni un adjectif, ni un participe passé, ni un adverbe.

TEST: Il est très {{cite}}.
TEST: très {{suivit}} par ce détective
TEST: il était très {{habille}}


#### Aussi +adj que soit +sujet

__conf_aussi_adj_que_soit__
    aussi  *WORD  [que|qu’]  [soi|>être|>soie]  [un|une|le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines]
    aussi  *WORD  [que|qu’]  [soi|>être|>soie]  $:M
        <<- /conf/ morph(\2, ":V1.*:Y", ":[AW]") -2>> =suggVerbPpas(\2)     # Confusion probable. Dans l’expression “aussi <X> que soit quelque chose ou quelqu’un”, <X> doit être un adjectif.
        <<- /conf/ \4 == "soie" or \4 == "soies" -4>> soit|soient           # Confusion. La soie est une matière filamenteuse produite par les chenilles et utilisée pour le textile.
        <<- /conj/ morph(\4, ":V", ":3[sp]") -4>> soit|soient               # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne.

TEST: Aussi {{borner}} que soit son père, il l’écoute toujours.
TEST: aussi stupides que {{soies}} ses réflexions, il n’en démordra jamais.
TEST: tu sais, aussi délirantes que {{sois}} ses déclarations, je suis persuadé qu’il y a un fond de vérité.


__conj_aussi_adj_que_soit__
    aussi  *WORD  [que|qu’]  [est|soit|était|sera|serait|fut|fût]
        <<- /conj/ morph(\2, ":A.*:p", ":[is]") -2>> =suggSing(\2)          # Accord avec “\4” : l’adjectif doit être au singulier.

    aussi  *WORD  [que|qu’]  [sont|soient|étaient|seront|seraient|furent|fussent]
        <<- /conj/ morph(\2, ":A.*:s", ":[ip]") -2>> =suggPlur(\2)          # Accord avec “\4” : l’adjectif doit être au pluriel.

TEST: Aussi {{absurdes}} que soit cette remarque, nous sommes tenus d’y répondre.
TEST: Aussi {{désobligeante}} que furent ces réponses, il fallut trouver un terrain d’entente.


!!
!!
!!!! Confusions spécifiques                                                                       !!
!!
!!

# a / à

__conf_a_à_incohérences__
    à [afin|alors|après|auprès|avant|avec|au-dedans|au-dehors|au-delà|au-dessous|au-dessus|au-devant|chez|dans|devant|dès|déjà|donc|durant|lorsque|lorsqu’|malgré|parce|parmi|pendant|pour|puisque|puisqu’|quoique|quoiqu’|que|qu’|sur|tandis]
        <<- /conf/ -1>> a                                           # Incohérence avec “\2”. Confusion probable : “à” est une préposition. Écrivez “a” pour la conjugaison de “avoir”.

    à [au|aux]
        <<- /conf/ not value(>1, "|moins|plus|mieux|") -1>> a       # Incohérence avec “\2”. Confusion probable : “à” est une préposition. Écrivez “a” pour la conjugaison de “avoir”.

TEST: ce que cet homme, dans son garage, {{à}} alors une importance.
TEST: ce que cette personne, dans son esprit trouble et vindicatif, {{à}} aux hommes à dire, nul ne le sait.


__conf_a_à_verbe!6__
    [n’|m’|t’|s’]   ?[en|y]¿        à
    [l’|les]        [en|y]          à
    [ne|me|te|se]   [les|l’]        à
    [nous|vous]     [en|y|les|l’]   à
    ne [le|la|les]  [leur|lui]      à
    ne [le|la|les]  [leur|lui]      à
    y en                            à
        <<- /conf/ --1>> a                                          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: il me les {{à}} donnés
TEST: il me l’{{à}} donné
TEST: Il ne les leur {{à}} pas imposés.
TEST: l’homme, jamais, ne la lui {{à}} imposés.
TEST: l’homme, jamais, ne nous l’{{à}} prise.
TEST: Il m’en {{à}} donné.
TEST: Il ne m’{{à}} jamais vu.
TEST: elle n’{{à}} rien raté.


    y à
        <<- /conf/ -2>> a                                           # Confusion probable : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: elle n’y {{à}} pas droit.
TEST: il y {{à}} des pertes.
TEST: Il les y {{à}}.
TEST: Y {{à}} du poulet


    [l’|les|en] à
        <<- /conf/ not \1.isupper() and not value(>1, "|côté|coup|pic|peine|peu|plat|propos|valoir|")
        -2>> a                                                      # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: Ce fâcheux, comme à son habitude, les {{à}} ennuyés à mourir.
TEST: Lui l’{{à}} pris par surprise.
TEST: Il y en {{à}}.
TEST: Elle en {{à}} pris.
TEST: Elle l’en {{à}} averti.
TEST: lui, avec ceux-là, nous en {{à}} donnés trois.
TEST: qui en {{à}} ?


    [il|on]  [nous|vous]  à
        <<- /conf/ -3>> a                                           # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: il nous {{à}} perdus dans ce dédale.


    elle  [nous|vous]  à
        <<- /conf/ not morph(<1, ":(?:3s|R)") and not morph(>1, ":Oo|>quo?i/")
        -3>> a                                                      # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: elle nous {{à}} pris par suprise.


    à été
        <<- /conf/ -1>> a                                           # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: Cette femme {{à}} été confondue avec une autre.


    qui  à  $:Q¬:M
        <<- /conf/ \3.islower() -2>> a                              # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: ce qui {{à}} pris tant de valeur, c’est…


    qui  [lui|nous|vous]  à
        <<- /conf/ -3>> a                                           # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: un élève qui nous {{à}} fait bien des misères.


    [leur|leurs] à
        <<- /conf/ not morph(<1, ":D") --1>> a                      # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: le peuple leur {{à}} donner tort


    à  le  @:[NAQ].*:[me]¬:(?:Y|Oo)
        <<- /conf/ -1:2>> a le|au
        # Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “au”. Exemple : _à_ midi, il _a_ pris son déjeuner _au_ restaurant.

TEST: Ce chien, croyons-nous savoir, {{à le}} maître le plus violent qui soit.


    à  le  @:[NAQ].*:f¬:(?:Y|Oo)
        <<- /conf/ -1:2>> à la|a la
        # Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “a la”. Exemple : elle _a_ la Palme d’Or du festival de Cannes.

TEST: {{à le}} {{donnée}}


    à  les  @:[NAQ]¬:(?:Y|Oo)
        <<- /conf/ -1:2>> a les|aux
        # Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “aux”. Exemple : Elle _a_ donné du travail _aux_ employés _à_ profusion.

TEST: Celui qui y croit {{à les}} moyens d’y parvenir.


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

TEST: Que fait-il {{a}} cette conférence ?
TEST: L’homme {{à}} ouvert la boîte.
TEST: Il ne nous reste plus qu’{{à}} {{vérifié}} si votre maquette.
TEST: Je veux {{à}} {{mangé}}.
TEST: Ne pas hésiter {{à}} {{demandé}} des conseils.
TEST: cette femme, dans son délire, {{à}} {{jetez}} son argent à la poubelle.
TEST: Ce que cet homme à {{devient}} aujourd’hui notre problème
TEST: cet individu {{à}} {{finit}} par comprendre son erreur.
TEST: il en a.
TEST: elle en a.
TEST: celle qui à contrario nous a foutu dans la merde.
TEST: ceux qui à Somewhere se sont si mal illustrés.
TEST: en à peine vingt ans


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

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


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

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


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

    a part @:(?:M[12]|D|Oo)
        <<- /conf/ -1>> à                                           # Confusion probable : “a” est une forme conjugée de “avoir”. Pour la préposition, écrivez “à”.

    face a
        <<- /conf/ not morph(<1, ":(D.*:f:s|A.*:[fe]:[si])|>en/")
        -2>> à                                                      # Confusion probable : “a” est une forme conjugée de “avoir”. Pour la préposition, écrivez “à”.

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

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

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

    a [moi|toi|eux|elles]
    a [lui|elle|nous|vous]  <end>
        <<- /conf/ not morph(<1, ":Ov|>(?:il|elle)") and not value(<1, "|n’|m’|t’|")
        -1>> à                                                      # Confusion probable : “a” est une forme conjuguée du verbe “avoir”. Pour la préposition, écrivez “à”.

TEST: Je le donne {{a}} toi.
TEST: Personne {{a}} part Tom ne connaît son adresse
TEST: Face {{a}} ces gens, il ne pensait pas pouvoir réussir
TEST: c’est grâce {{a}} nous que vous y êtes parvenus
TEST: par rapport {{a}} eux, je me sens parfois dépassé
TEST: par rapport {{a}} ces hommes-là, nous manquons d’expérience
TEST: elles sont tout {{a}} fait compétentes
TEST: elles se défendront jusqu’{{a}} la mort.
TEST: elles progressent pas {{a}} pas
TEST: Elle a eux pour lui donner des conseils.
TEST: Elle a elle réussi… (Formulation douteuse.)
TEST: Il a toi pour l’aider.
TEST: Il t’a toi.


__conf_suite_à__
    [<start>|,] suite a [le|la|l’|les|ce|ces|de|d’|des|mon|ton|son|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|quelques|certains|certaines|plusieurs]
        <<- /conf/ -3>> à                                           # Confusion : “a” est une forme conjuguée du verbe “avoir”. Pour la préposition, écrivez “à”.

TEST: Suite {{a}} ces folies, nous rentrâmes chez nous.
TEST: il s’avère que, suite {{a}} d’horribles complications, nous renonçâmes.


__conf_à_cor_et_à_cri__
    !! à cor et à cri ¡¡
    [a|à] [corps|cor+s] [et|est|es|ait|ais|aies|é|è|ei|ai|aient] [à|a] [cri+s|crie+s|crit]
        <<- /conf/ ->> à cor et à cri                   # Locution adverbiale invariable. (Le cor est un instrument à vent utilisé pour la chasse.)|https://fr.wiktionary.org/wiki/%C3%A0_cor_et_%C3%A0_cri

TEST: Elles hurlèrent {{à corps et à cris}}.
TEST: manifester sa colère à cor et à cri.


__conf_à_coup_sûr__
    !! à coup sûr ¡¡
    [a|à] [coup+s|>cout|>coût|>cou] [>sure|sûr+ses]
        <<- /conf/ not (value(\3, "|sur|") and value(<1, "|tout|par|") and value(\2, "|coup|"))
        ->> à coup sûr                                   # Confusion probable. Locution “à coup sûr”, c’est-à-dire “immanquablement”.|https://fr.wiktionary.org/wiki/%C3%A0_coup_s%C3%BBr

TEST: ce qu’elles feront alors {{a coup sûr}}, difficile de le devenir.
TEST: Bien sûr, {{À coup sur}}.


DEF: humain [administrateur|baron|chevalier|comte|contrôleur|dieu|duc|émir|époux|frère|grand-père|homme|maître|maitre|mari|ministre|monsieur|neveu|oncle|patron|père|président|prince|prophète|roi|sultan|tsar|vice-président]
DEF: humaine [administratrice|baronne|chevalière|comtesse|contrôleuse|déesse|duchesse|épouse|femme|fille|grand-mère|madame|maîtresse|maitresse|mère|ministre|nièce|patronne|présidente|petite-fille|princesse|prophétesse|reine|sœur|sultane|tante|tsarine|vice-présidente]

__conf_a_l_attention_de_prn__
    à l’ intention de @:M[12]
    à l’ intention de [monsieur|Mr|madame|Mme|mademoiselle|Mlle|messieurs|mesdames|mesdemoiselles|sire]
    à l’ intention du {humain}
    à l’ intention de [l’|mon|ton|son|ma|ta|sa|notre|votre|leur] {humain}
    à l’ intention de [l’|mon|ton|son|ma|ta|sa|notre|votre|leur|la] {humaine}
        <<- /conf/ not morph(<1, ">(?:cadeau|offrande|présent)") -3>> attention
        # Confusion probable. On a/attire/obtient l’attention de quelqu’un ou on porte à l’attention de quelqu’un.|https://fr.wiktionary.org/wiki/attention

    >porter à l’ intention [de|d’|,]
    >porter à [mon|ton|son|notre|votre|leur] intention
        <<- /conf/ -4>> attention
        # Confusion probable. On a/attire/obtient l’attention de quelqu’un ou on porte à l’attention de quelqu’un.|https://fr.wiktionary.org/wiki/attention

    [>attirer|>obtenir] [l’|mon|ton|son|notre|votre|leur] intention
    >avoir [mon|ton|son|notre|votre|leur] intention
    >avoir l’ intention de @:M[12]
    >avoir l’ intention de [monsieur|Mr|madame|Mme|mademoiselle|Mlle|messieurs|mesdames|mesdemoiselles|sire|Dieu]
    >avoir l’ intention du {humain}
    >avoir l’ intention de la {humaine}
    >avoir l’ intention de [l’|mon|ton|son|ma|ta|sa|notre|votre|leur] {humain}
    >avoir l’ intention de [l’|mon|ton|son|ma|ta|sa|notre|votre|leur] {humaine}
        <<- /conf/ -3>> attention
        # Confusion probable. On a/attire/obtient l’attention de quelqu’un ou on porte à l’attention de quelqu’un.|https://fr.wiktionary.org/wiki/attention

    [>connaître|>connaitre] [l’|mon|ton|son|notre|votre|leur] attention
    [>connaître|>connaitre] [les|mes|tes|ses|nos|vos|leurs] attentions
        <<- /conf/ -3>> intention
        # Confusion probable. L’attention est la vigilance. Si vous voulez évoquer les volontés ou les desseins d’une personne, écrivez “intentions”.|https://fr.wiktionary.org/wiki/intention

TEST: Elle attirait son {{intention}}
TEST: Il faut porter à mon {{intention}} ces problèmes.
TEST: Il faut connaitre leurs {{attentions}} pour préparer notre riposte.
TEST: il faut porter ces méfaits à l’{{intention}} du prince.
TEST: nous avons l’{{intention}} de la reine
TEST: Ils ont l’intention de nous nuire
TEST: Elles avaient bien l’intention d’en parler.
TEST: J’ai mis ces trésors de côté spécialement à votre intention


__conf_à_moindre_cout__
    !! à moindre [cout|coût] ¡¡
    [a|à] [moindre+s] [>cou|>coup|cout+s|coût+s]
        <<- /conf/ ->> à moindre coût                                       # Confusion. Pour évoquer des dépenses, écrivez “coût”.

TEST: {{à moindres coups}}
TEST: tout acheter à moindre coût


__conf_à_moindres_frais__
    !! à moindres frais ¡¡
    [a|à] [moindre+s] [frai+s|>frêt]
        <<- /conf/ ->> à moindres frais                                     # Pour évoquer des dépenses, écrivez “frais” (pluriel).

TEST: {{a moindre frais}}
TEST: S’en sortir à moindres frais, pas si simple.


__conf_à_parts_égales__
    !! à parts égales ¡¡
    [a|à] [part|parts|par|pare|pares] [égale+s]
        <<- /conf/ ->> à parts égales                                       # Locution “à parts égales” (toujours au pluriel).

TEST: {{à part égale}}
TEST: un partage à parts égales


__conf_à_peu_près__
    !! à peu près ¡¡
    [a|à] [peu|peux|peut] [près|>pré|>prête]
        <<- /conf/ ->> à peu près                                           # Confusion.|https://fr.wiktionary.org/wiki/%C3%A0_peu_pr%C3%A8s
        <<- ~>> *

TEST: C’est {{à peu prêt}} la même chose.
TEST: elle est {{a peut près}} au point.
TEST: C’est à peu près ça.


__conf_à_pleines_dents__
    !! à pleines dents ¡¡
    [a|à] [>plaine|pleine+s] [dent+s|>dan]
        <<- /conf/ ->> à pleines dents                                      # Locution “à pleines dents” (toujours au pluriel).

TEST: Elle mord la vie {{à plaine dent}}.


__conf_à_tire_d_aile__
    à tire d’ >aile
        <<- /tu/ ->> à tire-d’aile                                          # Trait d’union manquant. Locution “à tire-d’aile”.|https://fr.wiktionary.org/wiki/%C3%A0_tire-d%E2%80%99aile

    !! à tire-d’aile ¡¡
    [a|à] [>tir|>tire]  d’ [>aile|elle|elles|ail]
    [a|à] [tir-d’aile|tirs-d’aile|tir-d’ailes|tirs-d’ailes]
        <<- /conf/ ->> à tire-d’aile                                        # Confusion. Locution “à tire-d’aile”.|https://fr.wiktionary.org/wiki/%C3%A0_tire-d%E2%80%99aile

TEST: accourir {{à tire d’aile}}
TEST: venir {{à tir d’ail}} jusqu’ici
TEST: Elle arrivait à tire-d’aile.


__conf_à_tire_larigot__
    à tire larigot
        <<- /tu/ ->> à tire-larigot                                         # Trait d’union manquant. Locution à “à tire-larigot”.|https://fr.wiktionary.org/wiki/%C3%A0_tire-larigot

    [a|à]   >tir >larigot
    a       >tire >larigot
        <<- /conf/ ->> à tire-larigot                                       # Confusion. Locution à “à tire-larigot”.|https://fr.wiktionary.org/wiki/%C3%A0_tire-larigot

TEST: il gueulait {{à tire larigot}}
TEST: il gueulait {{à tir larigot}}
TEST: Au nom du progrès, les Victoriens en mal de modernisation rasèrent à tire-larigot les églises et les bâtiments jugés trop anciens.


__conf_à_vau_l_eau__
    !! à vau-l’eau ¡¡
    [a|à] [volo|vo-lo]
    [à|a] [>veau|>vau|vo|vos] l’ [o|os|au|aux|>eau]
    [a|à] [vau-l’eau|vaux-l’eau]
        <<- /conf/ ->> à vau-l’eau                          # Confusion. Locution “à vau-l’eau”, qui signifie “au fil de l’eau, sans contrôle”.|https://fr.wiktionary.org/wiki/%C3%A0_vau-l%E2%80%99eau

TEST: tout part {{à veau l’eau}}
TEST: On décida de tout laisser partir {{à vau l’o}}
TEST: une dérive à vau-l’eau.


__conf_à_a_locutions__
    a ?seulement¿ [*NUM|$:B|quelques|plusieurs] [millimètres|centimètres|décamètres|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] de distance
    a [califourchon|contrecœur|contre-cœur|contrejour|contre-jour|contretemps|contre-temps|demi-mot|gogo|distance|nouveau|présent|rebrousse-poil|regret|travers|tout-va|confesse|midi|minuit|rallonge|reculons|risque|sec|tâtons|vélo|vif]
    a [mi-chemin|mi-mandat|mi-mot+s|mi-parcours|mi-temps|mi-voix]
    a air comprimé
    a armes égales
    a aucun prix
    a autrui
    a autre chose
    a bas [>coût|>cout]
    a bâbord
    a bâtons rompus
    a beaucoup près
    a belles dents
    a bien des égards
    a bien y [penser|réfléchir|songer]
    a bon [compte|escient|droit]
    a bout de [bras|souffle|>force]
    a bout [portant|touchant]
    a bras le corps
    a bras ouverts
    a ?[très|si]¿ brève échéance
    a but non lucratif
    a cause [de|d’] {pronom_obj}
    a ce [compte-là|moment-là|titre]
    a cet égard
    a cet instant précis
    a cette époque
    a cette époque de l’année
    a cette heure de la [journée|nuit]
    a chaque [fois|instant]
    a charge de revanche
    a chaudes larmes
    a cœur [joie|ouvert|perdu]
    a ciel ouvert
    a connotation sexuelle
    a corps perdu
    a côté [de|d’]
    a couper le souffle
    a ?[très|si]¿ court terme
    a ?[très|si]¿ courte [échéance|portée]
    a couilles rabattues
    a >couteau [tiré|tirés]
    a de ?[très|si]¿ nombreuses reprises
    a des kilomètres à la ronde
    a dose homéopathique
    a double [titre|tranchant]
    a durée [déterminée|indéterminée|limitée]
    a en juger par [mon|ton|son|notre|votre|leur] expérience
    a en juger par [mon|ton|son|notre|votre|leur] expérience
    a en perdre haleine
    a en perdre la tête
    a ?[très|si]¿ faible [allure|revenu]
    a ?[très|si]¿ faible tirant d’ eau
    a feu et à sang
    a flanc de [colline|montagne]
    a fleur de peau
    a géométrie variable
    a grand-peine
    a grande échelle
    a grands frais
    a haut risque
    a haute voix
    a haute et intelligible voix
    a hue et à dia
    a huis clos
    a intervalles [réguliers|irréguliers]
    a ?[très|si]¿ juste [raison|titre]
    a l’ heure actuelle
    a l’ heure qu’ il est
    a l’ [accoutumée|amiable|arrache|avance|avenir|avenant|aveuglette|emporte-pièce|évidence|extérieur|improviste|intérieur|inverse]
    a l’ air libre
    a l’ exclusion de toute autre chose
    a l’ ordre du jour
    a l’ œil nu
    a l’ en croire
    a l’ unanimité
    a l’ unisson
    a l’ un d’ entre eux
    a l’ un des leurs
    a l’ une d’ entre elles
    a l’ une des leurs
    a la [con|dérive|dérobée|diable|fois|mords-moi-le-nœud|papa|rescousse|sauvette|va-vite|volée]
    a la bonne franquette
    a la limite du supportable
    a la lumière de tout [ceci|cela|ça]
    a la petite semaine
    a la pointe du progrès
    a la queue leu leu
    a la surprise générale
    a la va vite
    a la virgule près
    a la [dérobée|manque|ramasse|redresse|renverse]
    a la case départ
    a la grande surprise [de|du|d’|des]
    a [ma|ta|sa|notre|votre|leur] grande surprise
    a ?[très|si]¿ long terme
    a ?[très|si]¿ longue [distance|échéance|portée]
    a longueur [de|d’] [temps|journée|année]
    a loyer modéré
    a main [armée|droite|gauche|levée]
    a maints égards
    a maintes reprises
    a marche forcée
    a merveille
    a [mi-course|mi-distance|mi-temps]
    a [midi|minuit] ?pile¿
    a moindre [coût|cout]
    a moindres frais
    a moyen terme
    a moyenne échéance
    a mots couverts
    a ne [jamais|pas|rien|guère|point]
    a n’ en pas douter
    a n’ en plus finir
    a n’ en point douter
    a outrance
    a parler franc
    a part [entière|ça|cela|ceci]
    a partir [de|d’] [demain|là|maintenant|rien|aujourd’hui|hier|ici]
    a parts égales
    a pas [de|d’] [géant|loup|tortue|velours]
    a personne en danger
    a perte de vue
    a ?[très|si]¿ petit feu
    a ?[très|si]¿ petite [dose|échelle]
    a ?[très|si]¿ peu de >chose près
    a peu près
    a pied d’ œuvre
    a pieds joints
    a pile ou face
    a plat ventre
    a plate couture
    a plein [régime|temps|nez]
    a pleins poumons
    a plus forte raison
    a plus d’ un titre
    a poil [court|dur|long|rêche]
    a point nommé
    a portée de main
    a première vue
    a prix [cassé|cassés|>modique]
    a proprement parler
    a qui de droit
    a qui mieux mieux
    a qui que ce soit
    a quelque distance
    a quelques exceptions près
    a ras >bord
    a ras de terre
    a ras [du|le] sol
    a rude épreuve
    a >seule [>fin|>faim] [de|d’]
    a tel point
    a temps [plein|partiel|complet]
    a tête reposée
    a >tarif >réduit
    a titre [conservatoire|indicatif|informatif|grâcieux|personnel|posthume]
    a titre d’ exemple
    a tombeau ouvert
    a tort et à travers
    a tort ou à raison
    a tour de [bras|rôle]
    a tous crins
    a tous points de vue
    a tout [âge|crin|instant|jamais|moment|prix]
    a tout bout de champ
    a tout le [moins|monde]
    a tout point de vue
    a tout un chacun
    a toute [allure|berzingue|bride|épreuve|force|heure|vitesse|volée]
    a toutes jambes
    a toutes fins utiles
    a tribord
    a tu et à toi
    a un moment donné
    a usage [interne|unique]
    a visage [découvert|humain]
    a vitesse grand V
    a vive allure
    a voix [haute|basse]
    a vol d’ oiseau
    a vrai dire
    a vue d’ œil
    a y [réfléchir|songer|penser]
    a y regarder de plus près
        <<- /conf/ not value(<1, "|l’|n’|il|elle|on|y|") and not before("(?i)n’en +$")
        -1>> à              # Confusion probable : “a” est une forme conjugée du verbe “avoir”. Pour la préposition, écrivez “à”.|http://fr.wiktionary.org/wiki/%C3%A0

    a [mon|ton|son|notre|votre|leur] [cœur|corps] défendant
    a [mon|ton|son|notre|votre|leur] grand désarroi
    a [mon|ton|son|notre|votre|leur] [avis|côté|détriment|encontre|égard|insu|sujet|tour]
    a [ma|ta|sa|notre|votre|leur] grande [surprise|tristesse]
    a [ma|ta|sa|notre|votre|leur] [connaissance|disposition|guise|portée]
    a [mes|tes|ses|nos|vos|leurs] [dépens|côtés]
    a [mes|tes|ses|nos|vos|leurs] risques et périls
        <<- /conf/ not value(<1, "|l’|n’|il|elle|on|y|") and not before("(?i)n’en +$")
        -1>> à              # Confusion probable : “a” est une forme conjuguée du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0

    a bonne distance                                                                                [de|d’|des|du|<end>|,]
    a [base|bord|cause|contre-courant|côté|court|défaut|droite|gauche|partir|portée|propos|rebours] [de|d’|des|du|<end>|,]
    a l’ [arrière|écart|égard|extérieur|aune|avant|encontre|insu|instar|intérieur|opposé]           [de|d’|des|du|<end>|,]
    a l’ autre bout                                                                                 [de|d’|des|du|<end>|,]
    a la [portée|suite]                                                                             [de|d’|des|du|<end>|,]
        <<- /conf/ not value(<1, "|l’|n’|il|elle|on|y|") and not before("(?i)n’en +$")
        -1>> à              # Confusion probable : “a” est une forme conjugée du verbe “avoir”. Pour la préposition, écrivez “à”.|http://fr.wiktionary.org/wiki/%C3%A0

TEST: Puisqu’on nous méprise, autant y aller {{a}} reculons.
TEST: Les parties {{a}} nouveau divisées ne se réuniront pas avant longtemps.
TEST: ils viennent nous attaquer {{a}} tout bout de champ
TEST: On s’y fait, d’une manière ou d’une autre, {{a}} notre corps défendant.
TEST: on fait ça {{a}} la va-vite.
TEST: elle risque de tout perdre, {{a}} moins qu’un miracle survienne.
TEST: un machin ennuyeux {{a}} s’en tirer une balle dans la tête.
TEST: Je sais qu’ils sont {{a}} toi.
TEST: Attention {{a}} ne pas la réveiller.
TEST: J’en serai. {{A}} titre personnel.
TEST: Que faire {{a}} propos de ça ?
TEST: des planètes {{a}} la portée des nouveaux vaisseaux.
TEST: Il l’a fait {{a}} cause de toi.
TEST: Je tenais à le lui faire savoir.
TEST: il va falloir songer à les leur donner
TEST: le coût est estimé à au moins 1000 milliards de dollars
TEST: elle à qui nous avons donné notre cœur et pour laquelle nous avons tout tenté pour la faire aimer de nos concitoyens.
TEST: jusqu’à parfois se mettre en danger
TEST: les méthodes de l’à-peu-près ne suffisent pas.
TEST: Celui qui a peine à paraître ne doit pas être mis subitement en lumière


## substantifs

__conf_substantif_à_substantif!3__
    *WORD  a  @:N¬*
        <<- /conf/ \2.islower() and not value(\3, "|bon|beau|besoin|charge|confiance|connaissance|conscience|crainte|envie|été|faim|hâte|honte|lieu|peine|peur|raison|rapport|recours|soif|tendance|tort|vent|")
            and morph(\1, ":N", "*")
        -2>> à              # Confusion probable : “a” est une forme conjuguée du verbe “avoir”. Pour la préposition, écrivez “à”.|http://fr.wiktionary.org/wiki/%C3%A0

TEST: les bobos {{a}} trottinette
TEST: la lettre A est la première lettre de l’alphabet
TEST: la lettre a est la première lettre de l’alphabet
TEST: cette femme a raison
TEST: l’homme a beau se démener, rien n’y fait.
TEST: elle a tendance à n’en faire qu’à sa tête.
TEST: Ce travail a lieu dans le désert.
TEST: cette injonction a force de loi
TEST: C’est là que la pudeur a bon dos


__conf_a_à_substantifs__
    >arc a >poulie
    >arme a >feu
    >armoire a [>glace|>pharmacie]
    >attaque a main armée
    >avion a [>hélice|réaction]
    [>boîte|>boite] a >lettre
    >bombe a [eau|fragmentation|retardement]
    >brosse a [>dent|reluire]
    [>canne|>cane] a [>pêche|>sucre]
    >caisse a >outil
    >chair a [pâté|>canon]
    >couteau a cran d’ arrêt
    >crayon a [lèvres|sourcils]
    >cuillère a [café|soupe]
    >épée a deux mains
    >étui a >cigarette
    >fard a >paupière
    >femme a tout faire
    >fer a cheval
    >ferme a >clic
    >fermeture a glissière
    >fermoir a [cliquet|levier|ressort]
    [>fille|fils] a [papa|maman]
    >fosse a >ordure
    >fusil a >pompe
    >gaz a >effet de serre
    >homme a tout faire
    >lampe a [>huile|>pétrole]
    >lime a >ongle
    >livraison a domicile
    >machine a [café|coudre|écrire|laver|voter]
    >machine a >remonter le temps
    >matière a >réflexion
    >masque a [gaz|oxygène]
    >montre a gousset
    >moule a [>gaufre|>gâteau|brioche|manqué|savarin|charlotte|tarte]
    >panier a >linge
    >papier a [>lettre|musique]
    >passage a tabac
    >pâte a [>pain|>crêpe|>gaufre|>pizza|>tarte|>modeler|>tartiner]
    >placard a [>balai|>chaussure]
    >planche a repasser
    >presse a >scandale
    >pince a linge
    >punk a >chienne
    >revenir a la case départ
    >rouge a >lèvre
    >sac a [dos|main|langer|merde|foutre]
    >serpent a >sonnette
    >silo a [>grain|blé]
    >soue a >cochonne
    >table a repasser
    >tigre a >dent de >sabre
    >tondeuse a gazon
    >train a grande vitesse
    >trou a >rat
    >trouble a l’ ordre public
    >tueuse a gages
    >turbine a [gaz|vapeur]
    >vache a lait
    >vente a domicile
    >vernis a ongles
    >vol a [la|l’] [étalage|sauvette|tire]
    >vol a main armée
    >usine a gaz
        <<- /conf/ -2>> à                   # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|http://fr.wiktionary.org/wiki/%C3%A0

TEST: C’est un arc {{a}} poulies
TEST: Ceci est une arme {{a}} feu.
TEST: Combien de bombes {{a}} fragmentation
TEST: C’est une nouvelle caisse {{a}} outils
TEST: Elle va en faire de la chair {{a}} pâté
TEST: Une cuillère {{a}} café.
TEST: Un crayon {{a}} sourcils
TEST: Elle a mis du fard {{a}} paupières.
TEST: ce fils {{a}} papa est d’un ennui mortel.
TEST: cette fille {{a}} papa nous pourrit la vie.
TEST: Les conséquences des gaz {{a}} effet de serre.
TEST: Où est la lime {{a}} ongles ?
TEST: devant la machine {{a}} café.
TEST: Achète un moule {{a}} gaufres.
TEST: Fais la mise {{a}} jour
TEST: Amenez-moi du papier {{a}} lettres.
TEST: Va acheter du papier {{a}} musique.
TEST: Elle mit du rouge {{a}} lèvres.
TEST: on a besoin d’une remise {{a}} plat.
TEST: passe-moi mon sac {{a}} dos.
TEST: dans le silo {{a}} grain.
TEST: sa chambre, c’est une vraie soue {{a}} cochons.
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: Marre de cette pâte {{a}} pain.
TEST: c’est une putain d’usine {{a}} gaz.
TEST: ce produit est notre vache {{a}} lait
TEST: ils vont et viennent, toujours {{cotes a cotes}}…
TEST: Nous irons {{tours à tours}} chercher du bois.


__conf_mettre_a_profit_plat__
    [>mettre|>remettre] ?[ceci|cela|ça|tout]¿ (a) [plat|profit]
    [>mettre|>remettre] tout [ceci|cela|ça] (a) [plat|profit]
    [>mettre|>remettre] [mon|ton|son|notre|votre|leur] talent (a) [plat|profit]
    [>mettre|>remettre] [ma|ta|sa|notre|votre|leur] compétence (a) [plat|profit]
    [>mettre|>remettre] [mes|tes|ses|nos|vos|leurs] [talents|compétences] (a) [plat|profit]
        <<- /conf/ -1>> à                   # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.

TEST: Mettre {{a}} profit ses compétences
TEST: remettre ceci {{a}} profit
TEST: mettre tout {{a}} plat
TEST: Il a mis son talent {{a}} profit.
TEST: Remettre ses compétences {{a}} profit.


__conf_mener_a_bien__
    >mener a bien
        <<- /conf/ morph(<1, ">(?:falloir|aller|pouvoir)/", ">que/")
        -2>> à                              # Confusion probable. Dans cette locution, utilisez la préposition « à ».|https://fr.wiktionary.org/wiki/mener_%C3%A0_bien

    >mener a bien cette [tâche|entreprise|action|étude|construction|recherche|guerre|conquête]
    >mener a bien ce [projet|travail]
    >mener a bien ces [travaux|projets|tâches|entreprises|actions|études|constructions|recherches|guerres|conquêtes]
        <<- /conf/ -2>> à                   # Confusion probable. Dans cette locution, utilisez la préposition « à ».|https://fr.wiktionary.org/wiki/mener_%C3%A0_bien

TEST: Mener {{a}} bien cette guerre sera plus difficile qu’on le pense.
TEST: Je peux mener {{a}} bien cette opération.
TEST: Cette coalition que tu penses mener a bien l’intention de te trahir.


__conf_à_a_après_verbes__
    @:V¬:[YGNAWM]  ?$:W¿  a
        <<- /conf/ \-1 != "A" and not tag_before(\1, "que") and not tag_before(\1, "dont") and not tag_before(\1, "qui") and not morph(>1, ":Q")
        --1>> à                                                 # Confusion probable : “a” est la conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|http://fr.wiktionary.org/wiki/%C3%A0

    [/VCint|/VCimp]  ?$:W¿  a
        <<- /conf/ not value(\1, "|rendez-vous|") --1>> à       # Confusion : “a” est la conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|http://fr.wiktionary.org/wiki/%C3%A0

TEST: Vient-on {{a}} la maison demain ?
TEST: Arrivait-elle {{a}} le manger ?
TEST: Dis-moi {{a}} quelle heure on mange.
TEST: Offrez-vous {{a}} Dieu et taisez-vous.
TEST: dans tous les cas de figure il pense souvent {{a}} sa fille.
TEST: Qu’y a-t-il {{a}} cette place qui mérite que je prenne tant de risques.
TEST: cet homme mange bien {{a}} la maison ?
TEST: Ce que je mange a un goût de surgelé.
TEST: celui qui conduisait a décidé de faire un tour du quartier avec la voiture.
TEST: Un rendez-vous a bousculé ses plans
TEST: Maria Butina a également rencontré des républicains tels que Donald Trump


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

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


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

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


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

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


# après avoir
__conf_après_avoir__
    [à|a] [>prêt|>pré|près] [a|à] [voire|voir]
    [à|a] [>prêt|>pré|près] [a|à] [voire|voir]
    [à|a] [>prêt|>pré|près] avoir
    après [a|à] [voire|voir]
        <<- /conf/ ->> après avoir          # Confusion générale.

TEST: {{a pré a voire}} monté les marches
TEST: après avoir réussi son examen


# par acquit de conscience
__conf_acquit_acquis__
    par acquis [de|d’] >conscience
        <<- /conf/ -2>> acquit                          # Confusion. On écrit « par acquit de conscience ».
        <<- ~>> *

TEST: par {{acquis}} de conscience
TEST: tout ce qu’on fait par acquit de conscience


# acétique / ascétique
__conf_acétique_ascétique__
    [>acide|>aldéhyde|>anhydride|>bactérie|>éther|>ferment|>fermentation|>indole|>piqûre|>piqure|>silicone|voix] >ascétique
        <<- /conf/ -2>> =\2.replace("scé", "cé").replace("SCÉ", "CÉ")
        # Confusion probable : “ascétique” se rapporte à l’ascétisme. Pour l’acide, écrivez “acétique”.|https://fr.wiktionary.org/wiki/ac%C3%A9tique

    [>autrice|>auteure|>démarche|>conduite|>hédonisme|>littérature|>philosophe|>pratique|>privation|>rigueur|>tradition|>théologie|>vie|idéal|idéaux] >acétique
        <<- /conf/ -2>> =\2.replace("cé", "scé").replace("CÉ", "SCÉ")
        # Confusion probable : “acétique” est le terme utilisé pour désigner un acide. Pour évoquer l’ascétisme, écrivez “ascétique”.|https://fr.wiktionary.org/wiki/asc%C3%A9tique

TEST: un acide {{ascétique}}.
TEST: Mener une vie {{acétique}}.


# âge / age
__conf_âge_age__
    en bas age
    en age
    >tranche d’ age
    quel [es|est|étais|était|seras|sera|serais|serait] [mon|ton|son|notre|votre|leur] age
    [un|cet|mon|ton|son|notre|votre|leur|quel|tout|en] age
    [bel|bon|certain|grand|jeune|premier|deuxième|troisième|quatrième|cinquième] age
        <<- /conf/ --1>> âge                                            # L’age est un élément de la charrue. Pour la durée d’existence, écrivez “âge”.

    [tout|tous] >age [confondu|confondus]
        <<- /conf/ -2>> =\2.replace("a", "â").replace("A", "Â")         # L’age est un élément de la charrue. Pour la durée d’existence, écrivez “âge”.

    age [actif|adulte|aidant|approximatif|avancé|bête|canonique|chaque|critique|dentaire|des|du|ingrat|légal|mental|moyen|mûr|mûre|mur|mure|osseux|où|précoce|préscolaire|pubertaire|respectable|scolaire|tendre|vénérable]
    age de [la|ma|ta|sa|notre|votre|leur] [mère|tante|grand-tante|grand-mère|sœur|cousine|nièce|fille|petite-fille]
    age de [mon|ton|son|notre|votre|leur] [père|grand-oncle|grand-père|cousin|neveu|enfant|fils|petit-fils]
    age d’ or
    age du [père|grand-oncle|grand-père|cousin|neveu]
    age des [parents|grands-parents|mères|pères|grands-mères|grands-pères|oncles|tantes|neveux|nièces|cousins|cousines|enfants|petits-enfants|petits-fils|petites-filles]
        <<- /conf/ -1>> âge                                             # L’age est un élément de la charrue. Pour la durée d’existence, écrivez “âge”.

TEST: des enfants morts en bas {{age}}.
TEST: Quel {{age}} aura-t-il
TEST: quel était ton {{age}} ?
TEST: tous {{ages}} confondus
TEST: c’est l’{{age}} tendre.
TEST: c’est le bel {{age}}.
TEST: en {{age}} de procréer


# au-delà / haut delà
__conf_au_delà__
    haut [dela|delà]
    [haut-dela|haut-delà]
        <<- /conf/ ->> au-delà                              # Confusion.

TEST: il va dans l’{{haut delà}}


# aile / elle
__conf_aile_elle__
    l’ [elle+s]
    [mon|son|ton|son|notre|votre|leur] [elle+s] [droite|gauche]
    une [elle+s] [de|d’] [poulet|poule|perdreau|canard|perdrix|pigeon|raie|papillon|voiture|bâtiment|château|manoir|palais]
        <<- /conf/ -2>> aile
        # Confusion probable : “elle” est un pronom personnel féminin. Pour les oiseaux, les avions ou les parties d’un bâtiment ou d’une armée, écrivez “aile”.|https://fr.wiktionary.org/wiki/aile

    [des|mes|tes|ses|ces|nos|vos] ([elle+s])
    les ([elle+s]) [de|des|du|d’]
    [sous|sur] leurs ([elle+s]) [<end>|,|$:R]
        <<- /conf/ -1>> ailes
        # Confusion probable : “elle” est un pronom personnel féminin. Pour les oiseaux, les avions ou les parties d’un bâtiment ou d’une armée, écrivez “aile”.|https://fr.wiktionary.org/wiki/aile

    [elle+s] ?[droite|gauche]¿ du [château|palais|bâtiment|manoir]
    [elle+s] ?[droite|gauche]¿ [de|d’] la [maison|ferme]
        <<- /conf/ -1>> aile|ailes
        # Confusion probable : “elle” est un pronom personnel féminin. Pour les oiseaux, les avions ou les parties d’un bâtiment ou d’une armée, écrivez “aile”.|https://fr.wiktionary.org/wiki/aile

TEST: l’{{elle}} est en feu.
TEST: sous l’{{elle}} de sa mère, il ne craint rien
TEST: sur son {{elle}} droite
TEST: des {{elles}} enduites de pétrole
TEST: De l’autre côté du mur, dans l’{{elle}} réservée aux femmes, il y a des jeunes filles dont nul n’a parlé
TEST: vous réfugier sous leurs {{elles}}.
TEST: les {{elles}} du désir
TEST: {{elle}} droite du palais du roi


# aux dépens
__conf_aux_dépens__
    au [dépend|dépends|dépens]
    aux [dépend|dépends]
        <<- /conf/ ->> aux dépens                       # Locution prépositive : « aux dépens de ».|https://fr.wiktionary.org/wiki/aux_d%C3%A9pens_de

TEST: Ce sont des clichés {{au dépend}} d’un grand chef. Tout ça pour faire du buzz et exister médiatiquement.


# arrivé / arrivée
__conf_arrivée_arrivé__
    [mon|ton|son|notre|votre|leur|une|cet]  arrivé
    [des|les|nos|vos|leurs|ces|mes|tes|ses|aux] arrivés
    [l’|d’] [arrivé|arrivés]
        <<- /conf/ -2>> =\2.replace("é", "ée").replace("É", "ÉE")               # Confusion. Une arrivée est un nom féminin.

TEST: l’{{arrivé}} est pour bientôt.
TEST: Son {{arrivé}} m’a fait plaisir.
TEST: Leurs {{arrivés}} m’ont fait plaisir.
TEST: {{Cette}} {{arrivé}} était de trop.
TEST: Vous connaissez le nouvel arrivé ?


# au temps / autant
__conf_au_temps_pour_moi__
    [<start>|,]  au  [tant|tan]  pour moi
    [<start>|,]  aux [tant|tans]  pour moi
        <<- /conf/ -2:3>> au temps                      # Pour reconnaître son erreur, « au temps pour moi » est l’expression recommandée par l’Académie française.

    [<start>|,]  [autant|>autan]  pour moi
        <<- /conf/ -2>> au temps                        # Pour reconnaître son erreur, « au temps pour moi » est l’expression recommandée par l’Académie française.

TEST: Je me suis trompé. {{Autant}} pour moi.
TEST: Je me suis trompé. {{Au tan}} pour moi.


__conf_autant_que_faire_se_peut!7__
    !! autant que faire se peut ¡¡
    [au|aux] [temps|tant|>tan]  [que|qu’] [faire|ferre|ferres|>fer] [se|ce] [peu|peut|peux]
    [>autan|autant]             [que|qu’] [faire|ferre|ferres|>fer] [se|ce] [peu|peut|peux]
        <<- /conf/ ->> autant que faire se peut         # Locution adverbiale : « autant que faire se peut ».|https://fr.wiktionary.org/wiki/autant_que_faire_se_peut

TEST: on va y arriver, {{au temps que faire se peu}}…
TEST: autant que faire se peut, il faut éviter la confusion entre ces deux discours.


# ça / çà / sa
__conf_ça_çà_sa!7__
    ça  @:[NAQ].*:f¬:(?:G|P|[123][sp])|>seule?s?/
        <<- /conf/ not morph(<1, ">(?:appeler|considérer|trouver)/") -1>> sa    # Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte).

    sa  @:G¬>(?:tr(?:ès|op)|peu|bien|plus|moins|toute|presque)/|:[NAQ].*:f
        <<- /conf/ not (value(\2, "|ou|") and value(>1, "|son|ses|")) -1>> ça   # Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte).

    çà
        <<- /conf/ not value(<1, "|oh|ah|") and not after("^ +et là")
        ->> ça                                          # Confusion : « çà » ne s’emploie plus guère que dans l’expression « çà et là ».

    ça et là
        <<- /conf/ not morph(<1, ":R") ->> çà et là     # Confusion : « ça » équivaut à « cela ». Dans l’expression « çà et là », « çà » équivaut à « ici ».

    sa  <end>
        <<- /conf/ -1>> ça                              # Confusion probable : “sa” est un déterminant féminin singulier. Pour l’équivalent de “cela” ou “ceci”, écrivez “ça”.

    [c’|ç’] [à|a]
        <<- /conf/ space_after(\1, 0, 0) and not (value(\2, "|a|") and value(>1, "|été|")) >>>
        <<- /conf/ value(>1, "|été|") -2>> a            # Confusion. Pour le verbe avoir à la 3ᵉ personne du singulier, écrivez “a”.
        <<- /conf/ __else__ ->> ça|sa                   # Confusion. Si vous voulez dire “cela”, écrivez “ça”. Pour le déterminant possessif, écrivez “sa”.

TEST: Je prends {{sa}}…
TEST: {{ça}} patrie, il la détestait
TEST: et {{sa}} par deux fois
TEST: Il trouva de la nourriture {{ça et là}}.                                  ->> çà et là
TEST: c’est {{çà}}                                                              ->> ça
TEST: Elle parle comme {{ça}} mère.                                             ->> sa
TEST: C’est comme {{sa}}.
TEST: {{sa}} l’ennuierait, ce fils de pute, de dire bonjour ?
TEST: il faut s’y prendre comme {{sa}}
TEST: on fait {{sa}} lorsqu’on a tout perdu
TEST: {{ç’a}} craint, cette histoire
TEST: ç’{{à}} été dur                                                           ->> a
TEST: ç’a été difficile.
TEST: Eux, ils appellent ça routine.
TEST: avec sa presque belle-mère
TEST: sa toute nouvelle application de synchronisation de fichiers
TEST: communiquer avec sa ou son partenaire.
TEST: Je trouve ça logique.


# car / quart
__conf_quart_car__
    [un|du|ce|quel|mon|ton|son|notre|votre|leur] car d’ heure
        <<- /conf/ not after("^ +en +heure") -2>> quart             # Confusion. Une heure est composée de quatre “quarts d’heure”.

    trois >car d’ heure
        <<- /conf/ not after("^ +en +heure") -2>> quarts            # Confusion. Une heure est composée de quatre “quarts d’heure”.

TEST: un {{car}} d’heure
TEST: trois {{cars}} d’heure.
TEST: nous attendions un car d’heure en heure.


# Campagne / compagne
__conf_campagne_compagne__
    >compagne [>électorale|>présidentielle|>législative|>publicitaire|marketing|>militaire|>mondiale|>politique|>économique|>virale|Facebook|Twitter]
    >compagne de [boycott|candidature|charité|communication|crowdfunding|dépistage|diffamation|>don|financement|marketing|mobilisation|pêche|presse|prévention|promotion|propagande|pub|publicité|recrutement|santé|sensibilisation|solidarité|vaccination]
        <<- /conf/ -1>> =\1.replace("o", "a").replace("O", "A")     # Confusion probable. Une compagne est un compagnon de sexe féminin.|https://fr.wiktionary.org/wiki/campagne

    en rase compagne
        <<- /conf/ -3>> campagne                                    # Confusion probable. Une compagne est un compagnon de sexe féminin.|https://fr.wiktionary.org/wiki/campagne

    à la compagne [<end>|,]
        <<- /conf/ -3>> campagne                                    # Confusion probable. Une compagne est un compagnon de sexe féminin.|https://fr.wiktionary.org/wiki/campagne

TEST: La {{compagne}} électorale tourne à la guerre.
TEST: Lançons une {{compagne}} de communication
TEST: en rase {{compagne}}
TEST: Allons à la {{compagne}}
TEST: Perdus en rase campagne


# cap / cap
__conf_cap_cape__
    de >pied en >cape
        <<- /conf/ ->> de pied en cap                   # Confusion : la cape est un vêtement.|https://fr.wiktionary.org/wiki/de_pied_en_cap

TEST: rhabillée {{de pied en cape}}.


# ce / se / ceux
__conf_ce_ceux_se!6__
    pour se faire ,
    pour se faire @:G¬:[AYD]
        <<- /conf/ -2>> ce                              # Confusion probable. Dans cette locution, il faut employer “ce”.|http://fr.wiktionary.org/wiki/pour_ce_faire

    se [que|qu’|qui|dont|malgré|pourquoi|avec|pour|par]
        <<- /conf/ -1>> ce                              # Confusion. Exemples : ce bâtiment, se perdre.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440

    ceux  ?[ne|n’]¿  @:V0.*:[123][sp]¬:P|>a/
        <<- /conf/ -1>> ce                              # Confusion.|http://www.intellego.fr/soutien-scolaire-6eme/aide-scolaire-francais/ce-ceux-ou-se/3829

    se [ne|n’] [>être|>pouvoir|>devoir]
        <<- /conf/ not \1.isupper() -1>> ce             # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440

    se  /-là
    se  @:[NAQ]¬:([123][sp]|Y|P|Q)|>l[ea]?/
        <<- /conf/ not \1.isupper() -1>> ce             # Confusion. Ce chien, ce chat… Se demander, se croire…

    se  /-la
        <<- /conf/ morphVC(\2, ":[NA]") -1>> ce         # Confusion. Ce chien, ce chat… Se demander, se croire…

    ceux  ne  @:[123]s¬:P
        <<- /conf/ -1>> ce                              # Confusion.|http://www.intellego.fr/soutien-scolaire-6eme/aide-scolaire-francais/ce-ceux-ou-se/3829

    ceux  @:N.*:s¬:(?:A.*:[pi]|P|R|G)|>(?:autour|a)/
        <<- /conf/ -1>> ce                              # Confusion probable.|http://www.intellego.fr/soutien-scolaire-6eme/aide-scolaire-francais/ce-ceux-ou-se/3829

TEST: {{Se}} seraient des histoires.
TEST: {{se}} seraient des jours heureux.
TEST: {{Se}} sont de grands enfants.
TEST: {{Se}} sera une fille.
TEST: {{ceux}} seraient des jours heureux
TEST: Pour {{se}} faire, ils sont prêts à tout.
TEST: {{se}} ne peut être ainsi.
TEST: C’est tout {{se}} qu’il y a
TEST: Tout {{se}} que je fais
TEST: tout {{se}} qu’il entend
TEST: {{se}} {{chien-la}}
TEST: {{se}} {{train}} est en retard
TEST: {{ceux}} train arrive trop vite.
TEST: {{ceux}} ne doit pas nous faire oublier ce désastre
TEST: {{se}} {{chemin-là}} est difficile
TEST: les expatriés éloignés ou ceux habitant ici
TEST: les photographies de ceux n’ayant pas dépassé sept sur vingt.
TEST: Pensez-vous que ceux ne sachant même pas ce qu’est une VHS peuvent y trouver leur compte ?
TEST: la réduction de ma liberté intellectuelle et celle de ceux autour de moi


__conf_se_ceux_ce!6__
    ce  @:V[123].*:(?:Y|[123][sp])¬:[NAGM]|>(?:devoir|pouvoir|sembler|vouloir)/
        <<- /conf/ not \1.isupper() and \2.islower() and not value(\2, "|faire|")
        -1>> se                                         # Confusion : « \2 » est un verbe. Exemples : ce bâtiment, se perdre.

    ce  [/-il|/-ils|/-elle|/-elles|/-iel|/-iels|/-on]
        <<- /conf/ not \1.isupper() and \2.islower()
        -1>> se                                         # Confusion : « \2 » est un verbe. Exemples : ce bâtiment, se perdre.

    [ce|c’] qui ce passe
        <<- /conf/ -3>> se                              # Confusion : « \4 » est un verbe. Exemples : ce bâtiment, se perdre.

    [ne|n’] ce
        <<- /conf/ -2>> se                              # Confusion. Ce chien, ce chat… Se demander, se croire…

    [ne|n’] [c’|ç’]
        <<- /conf/ -2>> s’                              # Confusion. Ce chien, ce chat… Se demander, se croire…

    qui  ce  @:V¬:[NAQ].*:[me]
        <<- /conf/ -2>> se                              # Confusion probable. Exemples : ce bâtiment, se perdre.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440

TEST: ça {{ce}} prend la tête pour un rien, c’est de la racaille.
TEST: {{Ce}} promener est relaxant.
TEST: {{ce}} prennent-ils pour des experts ?
TEST: {{Ce}} serait-elle compromise ?
TEST: ce qui {{ce}} passe, c’est que c’est une catastrophe.
TEST: il ne {{ce}} compte pas parmi eux
TEST: il ne {{ç’}}avançait jamais sans avoir pesé toutes les conséquences
TEST: qui {{ce}} donne en spectacle.
TEST: […] qui ne peut être si ardente qu’elle ne se doive, ce semble, éteindre par la moindre goutte de sang qui sorte de leurs plaies.
TEST: à qui ce texte doit tant, à qui ce texte est dédié


# ce à quoi
__conf_ce_à_quoi_qui__
    se [à|a] [quoi|koi]
    ce a [quoi|koi]
    ce à [koi]
        <<- /conf/ ->> ce à quoi                                # Confusion.|https://fr.wiktionary.org/wiki/ce_%C3%A0_quoi

    se [à|a] [qui|ki|chi]
    ce a [qui|ki|chi]
    ce à [ki|chi]
        <<- /conf/ ->> ce à qui                                 # Confusion.

TEST: c’est {{se a quoi}} il pensait qui le minait.
TEST: {{se à qui}} on pense


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

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

    ses  /-là
        <<- /conf/ -1>> ces                 # Confusion : “ses” est un déterminant possessif ; si vous voulez désigner des éléments en particulier, vous devriez utiliser le déterminant démonstratif “ces”.

    c’ est n’ [est|était]
    c’ est ne [serait|sera]
        <<- /conf/ not value(<1, "|que|qu’|") -1:2>> ce                     # Confusion probable.

TEST: {{ses}} au-dessus de ses forces.
TEST: {{ces}} comme la peste
TEST: car {{ses}} d’autre part
TEST: {{ces}} qu’il y a tant de pertes
TEST: {{ces}} jamais une bonne idée.
TEST: {{c’est}} {{délires}} nous ennuient
TEST: {{ses}} gens-là sont des salopards
TEST: {{c’est}} n’est pas ça.                                               ->> ce
TEST: En 2015, c’est Paris et son agglomération qui…
TEST: Ses pas de danse.
TEST: Avec ces quelques mots, que veux-tu dire ?
TEST: Avec ces quelque 70 millions d’euros de cash disponible
TEST: négocier séparément avec ces divers sous-groupes
TEST: L’ensemble de ces divers points de vue émergeant de plusieurs horizons permettaient de construire un projet, riche et acceptable par toutes les parties prenantes.


# chœur / cœur
__conf_choeur_coeur__
    [>enfant|>cheffe] de >cœur
        <<- /conf/ -3>> chœur                                   # Confusion. Pour désigner un ensemble musical, écrivez chœur.|https://fr.wiktionary.org/wiki/ch%C5%93ur

    >cœur [>musicale|>philharmonique|>mixte|>polyphonique]
    >cœur de musique
    >cœur de l’ église
    >cœur de la nef
        <<- /conf/ -1>> chœur                                   # Confusion. Pour désigner un ensemble musical, écrivez chœur.|https://fr.wiktionary.org/wiki/ch%C5%93ur

TEST: ces enfants de {{cœur}} sont fatigués.
TEST: Cheffe de {{cœur}}.
TEST: quel beau {{cœur}} musical.


# coli / colis
__conf_colis_coli__
    à l’ intérieur [du|des] coli
    à l’ intérieur de [mon|ton|son|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|ces] coli
        <<- /conf/ --1>> colis                                  # Confusion probable. Si vous parlez d’un paquet, écrivez “colis”.|https://fr.wiktionary.org/wiki/colis

TEST: Regarde ce qu’il y a à l’intérieur du {{coli}}


# collet monté
__conf_collet_monté__
    ~^[cC]oll(?:e[rt]s?|ée?s?)-mont(?:er|ée?s?)$
    [collé|collés|>collée|coller|collets] [>montée|monté|montés|monter]
    collet [>montée|montés|monter]
        <<- /conf/ ->> collet monté                             # « Être collet monté » : dans cette locution, « collet monté » est invariable.

TEST: Elles sont tellement {{collets montées}} !


# compte / comte / conte
__conf_compte__
    à bon [>conte|comte|comtes]
        <<- /conf/ -3>> compte                                  # Confusion. Locution “à bon compte”.|https://fr.wiktionary.org/wiki/%C3%A0_bon_compte

    à ce [conte-là|comte-là]
        <<- /conf/ -3>> compte-là                               # Confusion probable. Locution “à ce compte-là”.|https://fr.wiktionary.org/wiki/%C3%A0_ce_compte-l%C3%A0

    [comte+s|>conte] à [rebours|découvert|terme]
    [comte+s|>conte] [>bancaire|rendu|rendus|joint|joints|courant|courants|>chèques]
    [comte+s|>conte] des opérations
    [comte+s|>conte] en banque
        <<- /conf/ -1>> compte|comptes                          # Confusion probable. Un conte est un récit fictif, “comte” est un titre de noblesse. Pour un état chiffré, un calcul… écrivez “compte”.

    [comte+s|>compte] de bonne femme
    [comte+s|>compte] de bonnes femmes
        <<- /conf/ -1>> conte|contes                            # Confusion probable. Un compte est un état chiffré, “comte” est un titre de noblesse. Pour un récit fictif, écrivez “conte”.

    [<start>|,] [comte+s|>conte] [tenu|tenus]
        <<- /conf/ -2>> compte                                  # Confusion probable. Un conte est un récit fictif, “comte” est un titre de noblesse. Pour un état chiffré, un calcul… écrivez “compte”.

    en [>fin|>faim] de [comte+s|>conte]
        <<- /conf/ ->> en fin de compte                         # Confusion. Locution “en fin de compte”.|https://fr.wiktionary.org/wiki/en_fin_de_compte

    en >ligne de [comte+s|>conte]
        <<- /conf/ ->> en ligne de compte                       # Confusion. Locution “en ligne de compte”.|https://fr.wiktionary.org/wiki/en_ligne_de_compte

    la cour des [contes|comtes]
        <<- /conf/ -4>> comptes                                 # Confusion. Un conte est un récit fictif, “comte” est un titre de noblesse. Pour un état chiffré, un calcul… écrivez “compte”.

    loin du comte ~¬^[A-ZÉÈ]
    loin du conte
        <<- /conf/ -3>> compte                                  # Confusion. Locution “loin du compte”.|https://fr.wiktionary.org/wiki/loin_du_compte

    [>réglement|>règlement] de [>conte|comte+s]
        <<- /conf/ -3>> comptes                                 # Confusion.|https://fr.wiktionary.org/wiki/r%C3%A8glement_de_comptes

    >relevé de [>conte|comte+s]
        <<- /conf/ -3>> compte                                  # Confusion.|https://fr.wiktionary.org/wiki/compte

    >régler  [mon|ton|son|notre|votre|leur|leurs]  [comte+s|>conte]
        <<- /conf/ -3>> compte      # Confusion. Un conte est un récit fictif, “comte” est un titre de noblesse. Pour un état chiffré, un calcul… écrivez “compte”.|https://fr.wiktionary.org/wiki/r%C3%A9gler_son_compte

    tout [comte|>conte] fait
        <<- /conf/ -2>> compte                                  # Confusion. Locution “tout compte fait”.|https://fr.wiktionary.org/wiki/tout_compte_fait

TEST: il s’en est tiré à bon {{conte}}.
TEST: à ce {{conte-là}}, il ne va pas faire long feu.
TEST: mon {{comte}} bancaire est encore à sec.
TEST: {{comte}} tenu du dysfonctionnement du moteur
TEST: mais {{en fin de comte}}, ce n’était qu’une arnaque de plus.
TEST: Rien de tout ceci n’entre {{en ligne de conte}}.
TEST: la cour des {{contes}} publie un nouveau rapport.
TEST: Ils sont encore tous deux loin du {{conte}}.
TEST: Elle a l’impression d’être laissée pour {{comte}}.
TEST: C’est un règlement de {{comte}} entre voyous.
TEST: ils ont fait un relevé de {{comte}}
TEST: on va lui régler son {{conte}}, à cet enculé.
TEST: tout {{conte}} fait, ça reste un salopard.


__conf_conte__
    [comte+s|>compte] de bonne+s >femme
    [comte+s|>compte] de >fée
    [comte+s|>compte] [>allégorique|>fantastique|>littéraire|merveilleux|moral|moraux|oral|oraux|>populaire|>satirique|>traditionnelle]
    [comte+s|>compte] et >légende
        <<- /conf/ -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.


# corps / cor
__conf_corps_cor__
    [a|à] bras le >cor
        <<- /conf/ ->> à bras le corps                                              # Confusion. Le cor est instrument de musique.

    à >cor [perdu+ses]
        <<- /conf/ ->> à corps perdu                                                # Confusion. Le cor est instrument de musique.

    >cor [a|à] >cor
        <<- /conf/ ->> corps à corps                                                # Confusion. Le cor est instrument de musique.

    >cor du [christ|défunt]
    >cor de [>doctrine|logis|>preuve]
    >cor de la magistrature
    >cor [>politique|>diplomatique|>expéditionnaire|>législative|>mystique|humain|humains|calleux|caverneux|muqueux]
    >cor et >âme
        <<- /conf/ -1>> corps                                                       # Confusion. Le cor est instrument de musique.

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

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

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


# cou / coup / coût
__conf_coup_cout_cou1__
    [>cou|>coût|>cout] [de|d’] [>baguette|>barre|>bâton|>bec|>bélier|blues|>botte|>boule|>boutoir|>bol|>bite|>cœur|>chaud|>coude|>couteau|>dé|>dent|>déprime|>froid|fil|>foudre|>genou|>grâce|>griffe|>grisou|>gueule|>hache|>hanche|Jarnac|jus|>jeune|>klaxon|>main|maître|maitre|>massue|>marteau|>nostalgie|>pied|>poing|>poignard|>pouce|>pute|>queue|>rein|>rabot|>savate|>sang|>sabot|>sabre|>sifflet|>soleil|>surin|>tête|>théâtre|>tonnerre|>torchon|>trique|>vent|vieux]
    [>cou|>coût|>cout] d’ [>éclat|>épée|>état|>épaule|œil|>estoc]
    [>cou|>coût|>cout] du sort
    [>cou|>coût|>cout] [dur|durs]
        <<- /conf/ -1>> coup|coups      # Confusion probable. Le coût est le prix d’une chose. Le cou est la partie joignant le tronc à la tête. Pour ce qui frappe, écrivez “coup”.

    [>cou|>coup] de [>base|revient|reviens|>distribution|>développement|>production|>maintenance|>construction|>fonctionnement|>fabrication|>financement|>formation|>renonciation|>stockage|>transaction|>transfert|>transport|>transformation|>viabilisation]
    [>cou|>coup] de la vie
        <<- /conf/ -1>> coût|coûts      # Confusion probable. Le cou est la partie joignant le tronc à la tête. Pour ce qui frappe, on écrit “coup”. Pour ce que ça coûte, écrivez “coût”.

    [>coup|>coût|>cout] ?$W¿ [long|longs|>gracile|grâcieux]
        <<- /conf/ -1>> cou             # Confusion probable. Le coût est le prix d’une chose. Le coup désigne un acte ou une force qui frappe. Pour la partie séparant le tronc de la tête, écrivez “cou”.

    après [>cou|>coût|>coût]
        <<- /conf/ -2>> coup            # Confusion probable. Locution “après coup” qui signifie “une fois que c’est terminé”.|https://fr.wiktionary.org/wiki/apr%C3%A8s_coup

TEST: J’ai pris un {{cou}} de bâton.
TEST: Encore un {{cou}} dur.
TEST: Merci de calculer le {{coup}} de production avant d’établir une facture.
TEST: Elle a un {{coût}} très gracile.
TEST: Après {{coût}} on a compris notre erreur.


# cour / cours / court
__conf_cour_cours_court_courre__
    au [cour|court+s|courre+s] [de|d’|des|du]
        <<- /conf/ -2>> cours                               # Confusion. Locution “au cours de”. Une cour… Un cours… Adjectif : court(e).

    en cour martiale
    en cour [de|d’] [cassation|justice]
    en cour d’ [>assise]
        <<- !1:2>>

    en cour
        <<- /conf/ ->> en cours                             # Confusion probable. Une cour… Un cours… Adjectif : court(e).

    >couper  ?@:[WX]¿  [cour|cours|courre|courres|courts]
        <<- /conf/ --1>> court                              # “Couper court” qui signifie écourter. Noms : une cour, un cours… Adjectif : court.

    [>avoir|>donner|>laisser]   ?@:[WX]¿  libre [cour|court|courts|courre|courres]
        <<- /conf/ --1>> cours                              # Confusion probable. Ce qui a « libre cours ».|https://fr.wiktionary.org/wiki/donner_libre_cours

    à [cour|cours|courre|courres|courts]  [de|d’]
        <<- /conf/ -2>> court                               # Confusion probable : écrivez “à court de” pour “manquer de”.

    [à|a] [cour|cours|courre|courres|courts] >terme
        <<- /conf/ ->> à 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: à {{cours}} d’argent
TEST: porter l’affaire en Cour de justice
TEST: jusqu’en cour de cassation
TEST: le jugement en cour d’assises
TEST: ils vont passer prochainement en cour martiale.


# cuir / cuire
__conf_cuir_cuire__
    >dure [à|a] >cuir
        <<- /conf/ -3>> cuire           # Confusion. Locution “dur à cuire” Le cuir est le nom qu’on donne à la peau animale. Pour évoquer la cuisson, écrivez “cuire”.|https://fr.wiktionary.org/wiki/cuire
        <<- /conf/ \2 == "a" -2>> à     # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.

TEST: ce sont des durs à {{cuir}}
TEST: Quelle dure {{a}} {{cuir}}, celle-là.


# dans / d’en
__conf_dans_dan_d_en__
    d’ en [le|la|l’|les|de|d’|des|du|un|une|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs|ce|cet|cette|ces]
        <<- /conf/ not (\3 == "ce" and value(>1, "|moment|")) -1:2>> dans           # Confusion. Utilisez “dans” pour dire “à l’intérieur de quelque chose”.

    <start>  [>dent|dan]  [le|la|l’|les|un|une|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs|ce|cet|cette|ces]
        <<- /conf/ -2>> dans                                                        # Confusion. Utilisez “dans” pour dire “à l’intérieur de quelque chose”.

TEST: {{dan}} la voiture
TEST: ils sont partis {{d’en}} une direction différente
TEST: {{dents}} les montagnes au loin.
TEST: Dents de la mer.
TEST: Un pauvre, ça doit consommer, bosser, et bien fermer sa gueule. Tout l’inverse d’en ce moment.


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

TEST: à la {{datte}} du 25 janvier


# davantage / d’avantage
__conf_davantage_d_avantages__
    [peu|plein|beaucoup|trop|plus|moins|assez|suffisamment|tellement|>obtention|>régime]  davantage
        <<- /conf/ -2>> d’avantages                                                 # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…

    @:V  d’ >avantage
        <<- /conf/ not morph(\1, ":Q|>(?:profiter|bénéficier|nombre|tant)/") and not morph(>1, ">(?:financi[eè]re?|pécuni(?:er|aire)|sociaux)s?/")
        -2:3>> davantage                                                            # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…

    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles|/-iel|/-iels]  d’  >avantage
        <<- /conf/ not morphVC(\1, ">(?:profiter|bénéficier)/") and not morph(>1, ">(?:financière|pécuni(?:er|aire)|sociale)/")
        -2:3>> davantage                                                            # Confusion probable : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…

    d’ >avantage [de|d’]
        <<- /conf/ -1:2>> davantage                                                 # Confusion possible : “davantage” signifie “plus” ; un “avantage” signifie “faveur”, “bénéfice”, “profit”…

TEST: ils ont peu {{davantage}} à vivre ici.
TEST: ils sont {{d’avantages}} perdus que les autres.
TEST: Ils s’exerceront {{d’avantages}}.
TEST: {{d’avantage}} de monde de jour en jour
TEST: Viendras-tu {{d’avantage}} à la maison
TEST: il en faut {{d’avantages}}.
TEST: veut-elle {{d’avantage}} se reposer ?
TEST: {{d’avantage}} de monde viendra
TEST: tout ce qu’il apporte d’avantages pécuniaires.
TEST: un certain nombre d’avantages sociaux.
TEST: ils ont tant d’avantages.


# de part en part
__conf_de_part_en_part__
    !! de part en part ¡¡
    [de|d’] [par|part|parts|pare|pares] [en|an] [par|part|parts|pare|pares]
        <<- /conf/ ->> de part en part                                              # Confusion. Locution “de part en part”.|https://fr.wiktionary.org/wiki/de_part_en_part

TEST: {{de par en par}}                                             ->> de part en part
TEST: ils essayèrent tout, de part en part.


# de prime abord
__conf_de_prime_abord__
    [de|d’] >prime [à|a|as|ah|ha] [>bord|>bore|>bort]
    [de|d’] >prime [abhorre+s|abords]
    [de|d’] primes abord
        <<- /conf/ ->> de prime abord                                               # Confusion. Locution “de prime abord”.|https://fr.wiktionary.org/wiki/de_prime_abord

TEST: {{de primes ah bore}}
TEST: qu’as-tu vu, de prime abord.


# de temps à autre
__conf_de_temps_à_autre__
    !! [de|d’] temps à autre ¡¡
    [de|d’] [>tan|tant|temps] [à|a] [autre+s]
        <<- /conf/ ->> de temps à autre                                             # Confusion. Locution “de temps à autre”.|https://fr.wiktionary.org/wiki/de_temps_%C3%A0_autre

TEST: Il continuait son travail, mâchonnant de temps à autre une grosse chique qui tour à tour lui gonflait chaque joue.
TEST: Il venait {{de temps à autres}}.
TEST: {{de tan à autre}}, c’était correct de venir par ici.


# dénué de / dénudé de
__conf_dénué_de__
    >dénuder [de|d’] ?tout¿ [amour|argent|courage|entrain]
    >dénuder [de|d’] ?toute¿ [colère|compassion|faiblesse|foi|force|hypocrisie|intelligence|joie|rage|passion|pitié|tristesse|vie]
        <<- /conf/ -1>> =\1.replace("nud", "nu").replace("NUD", "NU")
        # Confusion probable. Pour indiquer une personne manquant de quelque chose, écriver “dénuer” et non “dénuder” (rendre nu).|https://fr.wiktionary.org/wiki/d%C3%A9nuer

TEST: un homme {{dénudé}} de courage                                        ->> dénué


# dés / dès / des
__conf_dès_des_dés__
    dés [avant|que|qu’|un|une|le|la|l’|les|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|ce|cet|cette|ces|lors|après|maintenant|toujours|midi|minuit|aujourd’hui|hier|demain|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche|Pâques|Noël]
    dés [à|a] présent
        <<- /conf/ not morph(<1, ":(?:D.*:p|B)|>de/")
        -1>> dès                                                                                    # Confusion probable. Pour la préposition, écrivez “dès”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    des [que|qu’|lors|après|maintenant|toujours|midi|minuit|aujourd’hui|hier|demain|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche|Pâques|Noël]
    des [un|une|le|la|l’|les|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|ce|cet|cette|ces] @:[NA]
    des [à|a] présent
        <<- /conf/ not value(<1, "|un|une|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|")
        -1>> dès                                                                                    # Confusion probable. Pour la préposition, écrivez “dès”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    des [ces|des|les|mes|ses|tes|nos|vos|ce|cet|cette|ma|ta|sa|mon|je|tu|il|ils|nous|vous|on|ceux|celles|celui|celle]
        <<- /conf/ not \1.isupper() and not \2.isupper() -1>> de|dès                                # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.
        <<- /conf/ __also__ and hasSimil(\2, ":[NA].*:[pi]") -2>> =suggSimil(\2, ":[NA].*:[pi]", True)      # Confusion probable. Pour la préposition, écrivez “dès” ou “de”.

    des ~^\d{2,5}$  [<end>|,]
    des ~^\d{2,5}$  @:¬:[NA].*:[ip]|>(?:à|et|ou)/
        <<- /conf/ not value(<1, "|%|") and not morph(<1, ":B|>(?:pourcent|barre|seuil)/") -1>> dès # Confusion probable. Pour la préposition, écrivez “dès”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    [dés|des] *NUM ans
    [dés|des] $:B ans
    [dés|des] un an
        <<- /conf/ not morph(<1, ":R|>(?:approcher|anniversaire|cap|célébration|commémoration|occasion|passage|programme|terme|classe|autour|celui|ceux|celle|celles)/") and not value(>1, "|de|du|des|d’|")
            and not before("% +$")
        -1>> dès                                                                                    # Confusion probable. Pour la préposition, écrivez “dès”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    [dés|des] *NUM heures
        <<- /conf/ not morph(<1, ":R|>(?:approcher|cap|passage|programme|terme|classe|autour|celui|ceux|celle|celles)/") and not value(>1, "|de|du|des|d’|") and \2 != "35"
        -1>> dès                                                                                    # Confusion probable. Pour la préposition, écrivez “dès”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    [dés|des] $:B heures
    [dés|des] une heure
        <<- /conf/ not morph(<1, ":R|>(?:approcher|cap|passage|programme|terme|classe|autour|celui|ceux|celle|celles)/") and not value(>1, "|de|du|des|d’|")
        -1>> dès                                                                                    # Confusion probable. Pour la préposition, écrivez “dès”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    [des|ces|mes|tes|ses|nos|vos|quelques|aux] [dès|des]
        <<- /conf/ -2>> dés                                                                         # Confusion probable. Pour la couture ou les jeux, écrivez “dé”.|https://fr.wiktionary.org/wiki/d%C3%A9

    leurs dès
        <<- /conf/ not value(<1, "|les|des|") -2>> dés                                              # Confusion probable. Pour la couture ou les jeux, écrivez “dé”.|https://fr.wiktionary.org/wiki/d%C3%A9

    les dès
        <<- /conf/ not morph(<1, ":E") -2>> dés                                                     # Confusion probable. Pour la couture ou les jeux, écrivez “dé”.|https://fr.wiktionary.org/wiki/d%C3%A9

TEST: je ne sais {{des}} ses choses.
TEST: il faut {{des}} à présent s’en souvenir.
TEST: {{Des}} à présent
TEST: {{Dés}} à présent
TEST: {{dés}} qu’il fait beau, je sors.
TEST: Jette quelques {{des}} sur la table et voyons.
TEST: j’en ai marre de ces {{dès}}.
TEST: Les {{dès}} {{sont}} jetés.
TEST: J’ai acheté des {{dès}} à jouer.
TEST: Dieu ne joue pas aux {{dès}}.
TEST: J’apporte mes {{dès}}.
TEST: {{Des}} 1980, le pays était en crise.
TEST: {{Des}} dix-huit ans.
TEST: {{Des}} 4 ans.
TEST: Viens {{des}} 9 heures
TEST: {{Des}} l’arrivée, ça a commencé à dégénérer
TEST: c’était {{dés}} trois heures.
TEST: {{dés}} que nous sommes partis, il a piqué une crise
TEST: {{des}} {{les}} premiers symptômes, appelez-moi
TEST: jette leurs {{dès}} sans attendre.
TEST: Les dés sont jetés.
TEST: C’est un des leurs.
TEST: Plusieurs dès qu’on en saura plus.
TEST: Dès 1980, le pays était en crise.
TEST: Des 2000 participants, seuls 1000 sont venus.
TEST: Des 2000 invités, seuls 1000 sont venus.
TEST: Dieu ne joue pas aux dés.
TEST: Dès dix-huit ans.
TEST: L’anniversaire des 30 ans de la libération.
TEST: Le cap des 35 ans.
TEST: Elle approche des cinquante ans.
TEST: À l’occasion des vingt ans du groupe.
TEST: Le congrès des 20 ans de l’association.
TEST: L’album des 15 ans du groupe.
TEST: Dès à présent
TEST: Donne-moi tes dés à présent.
TEST: le diagnostic se pose autour des 20 ans
TEST: 98 % des 12 à 17 ans ont aujourd’hui un ordinateur chez eux.
TEST: sous la barre des 500
TEST: En plus des 400 à 500 euros mensuels que touche une personne
TEST: les moins de 20 ans peuvent ne pas connaître le premier album du groupe
TEST: au lieu des 20 heures réglementaires.
TEST: celle des 20 ans.
TEST: sous le seuil des 10 %
TEST: notre revue des 24 et 25 décembre
TEST: J’ai des X230.
TEST: Pour les enfants placés, l’angoisse du passage des 18 ans
TEST: C’est la fin des 35 heures.
TEST: 98 % des 18‑29 ans considéraient cela comme évident
TEST: Gagnez trois dés lors d’un test


# diagnostic / diagnotique // pronostic / pronostique // public / publique
__conf_diagnostic_pronostique__
    [ce|un|du|mon|notre|votre|quel] [diagnostique|pronostique|publique]
        <<- /conf/ -2>> =\2.replace("que", "c").replace("QUE", "C")                                 # Confusion probable. Le nom s’écrit avec un “c”.

    [ces|des|mes|tes|ses|nos|vos|leurs|quels|plusieurs|quelques]  [diagnostiques|pronostiques|publiques]
        <<- /conf/ -2>> =\2.replace("que", "c").replace("QUE", "C")                                 # Confusion probable. Le nom s’écrit avec un “c”.

    le [diagnotique|pronostique|publique]
        <<- /conf/ not morph(<1, ":O[sv]") -2>> =\2.replace("que", "c").replace("QUE", "C")         # Confusion probable. Le nom s’écrit avec un “c”.

    les [diagnotiques|pronostiques|publiques]
        <<- /conf/ not morph(<1, ":O[sv]") -2>> =\2.replace("que", "c").replace("QUE", "C")         # Confusion probable. Le nom s’écrit avec un “c”.

    en publique
        <<- /conf/ -2>> public                                                                      # Confusion probable. Le nom s’écrit avec un “c”.

TEST: Quels sont les {{pronostiques}}
TEST: Ce {{diagnostique}} est absurde.
TEST: C’est la valse des {{pronostiques}} contradictoires aujourd’hui.
TEST: Le {{pronostique}} n’est pas bon.
TEST: ils font ça en {{publique}}.


# différend / différent
__conf_différent_différend__
    >différend
        <<- /conf/ morph(<1, ":W") ->> =\1.replace("nd", "nt").replace("ND", "NT")  # Confusion probable : “un différend” est un désaccord. Pour l’adjectif qualifiant une différence, écrivez “différent”.

    [mon|notre|votre|leur]  différent  @:[GVX]¬:[NAQ]
    [mon|notre|votre|leur]  différent  <end>
        <<- /conf/ -2>> différend                                       # Confusion probable : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.

    [ton|son]  différent  @:[GVX]¬:[NAQ]
    [ton|son]  différent  <end>
        <<- /conf/ not morph(<1, ":D") -2>> différend                   # Confusion probable : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.

    un  différent  @:[GV]¬:[NAQ]
        <<- /conf/ -2>> différend                                       # Confusion probable : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.

    [mes|tes|ses|nos|vos|leurs]  différents  @:[GV]¬:[NAQ]
    [mes|tes|ses|nos|vos|leurs]  différents  <end>
        <<- /conf/ -2>> différends                                      # Confusion probable : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.

    [les|des]  différents  @:G¬:[NAQ]
    les  différents  <end>
        <<- /conf/ -2>> différends                                      # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.

    >être  ?[pas|si]¿   >différend
    >être  pas  si      >différend
        <<- /conf/ --1>> =\-1.replace("nd", "nt").replace("ND", "NT")   # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.

TEST: Très {{différends}} de nous, ces gens-là !
TEST: Régler votre {{différent}}.
TEST: Notre {{différent}} avec eux perdure.
TEST: son {{différent}} avec lui n’en finit pas.
TEST: Un {{différent}} peut toujours se résoudre.
TEST: J’en ai marre de leurs {{différents}}.
TEST: Il y a des {{différents}} que nul ne saurait résoudre.
TEST: ce qui l’occupe, c’est son {{différent}} avec eux.
TEST: Ils sont pas si {{différends}} de nous.
TEST: Cette fois, il parla avec un ton différent.
TEST: J’en veux un différent.
TEST: Il en veut des différents.
TEST: dans ses différents ouvrages
TEST: dans ses différents postes gouvernementaux


# dites / dîtes
__conf_dites_dîtes__
    *WORD  dîtes  @:A¬:G
        <<- /conf/ morph(\1, ":[NA].*:[fe]:[pi]", ":G") -2>> dites      # Confusion probable : “dîtes” est une forme verbale de dire au subjonctif. Pour l’ajectif, écrivez “dites”.

TEST: Des armes {{dîtes}} létales.                                          ->> dites
TEST: usage débridé des armes dites létales
TEST: Vous dîtes “idiotes”, je dis “originales”.


# dû / du
__ppas_dû_du__
    du  [à|a|au|aux]
        <<- /ppas/ \2.islower() -1>> dû                         # Confusion. Ce qui est dû.

    [mon|notre|votre]  du
        <<- /ppas/ -2>> dû                                      # Confusion. Ce qui est dû.

    [ton|son|leur]  du
        <<- /ppas/ not morph(>1, ":[NA].*:[me]") -2>> dû        # Confusion. Ce qui est dû.

TEST: L’échec {{du}} à une erreur de calcul
TEST: que ça vous plaise ou non, c’est notre {{du}}.
TEST: Il veut qu’on lui rende son {{du}}.
TEST: Tu as reçu ton {{du}} pour ton travail.
TEST: Plusieurs murs ont été recouverts du « A » anarchiste


# eh bien, hé bien / et bien
__conf_eh_bien__
    [<start>|,]  et  bien
        <<- /conf/ not value(>1, "|que|qu’|sûr|davantage|entendu|d’|avant|souvent|longtemps|des|moins|plus|trop|loin|au-delà|") and not morph(>1, ":[YAW]")
        -2:3>> eh bien|hé bien                                              # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=h%C3%A9&T3.x=0&T3.y=0

    et ben
        <<- /conf/ \2.islower() ->> eh ben|hé ben                           # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=h%C3%A9&T3.x=0&T3.y=0

TEST: {{et bien}} il y aura des pertes
TEST: {{et ben}} on n’en sait rien.
TEST: nous y songions, et bien au-delà des considérations habituelles.
TEST: une image bien plus colorée, et bien plus intense, de la vie.
TEST: Toutes ces questions, et bien d’autres, sont vues aujourd’hui dans le paradigme quantitatif de la monnaie, des taux de change flottants et de la monnaie administrée.
TEST: et bien manger, c’est important.
TEST: il a été vaincu, et bien vaincu.
TEST: et Ben est parti.


# en / an
__être_en_xxxx__
    [>être|>rester|>demeurer] an [contradiction|désaccord|accord]
        <<- /conf/ -2>> en                                                                          # Confusion. Un an = une année. Pour la préposition, écrivez “en”.

TEST: Je suis {{an}} désaccord avec lui.


# en dessous
__conf_dessus_dessous__
    en dessus
    en-dessus
        <<- /conf/ ->> en dessous|au-dessus                     # Confusion.|https://fr.wiktionary.org/wiki/en_dessous

TEST: Il est {{en dessus}} de tout.


# en général
__conf_en_général__
    en générale
        <<- /conf/ ->> en général                               # Dans cette locution, “général” est toujours au masculin singulier.|https://fr.wiktionary.org/wiki/en_g%C3%A9n%C3%A9ral

TEST: On n’en sait {{en générale}} pas assez.


# emballé, c’est pesé
__conf_emballé_c_est_pesé__
    >emballer [c|sais|sait] >peser
        <<- /conf/ ->> emballé, c’est pesé      # Confusion. Locution “emballé, c’est pesé”.|https://fr.wiktionary.org/wiki/emball%C3%A9,_c%E2%80%99est_pes%C3%A9

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

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


# évidement / évidemment
__conf_évidemment_évidement__
    [/VCint|/VCimp]  ?[pas|plus|jamais|guère]¿  évidement
    [pas|plus] évidement
        <<- /conf/ --1>> évidemment                         # Confusion probable : l’évidement est l’action de vider quelque chose. L’adverbe s’écrit “évidemment”.|https://fr.wiktionary.org/wiki/évidemment

    [par|pour|sans] évidement [$:Y|ne|n’|me|m’|te|t’|se|s’]
        <<- /conf/ -2>> évidemment                          # Confusion probable : l’évidement est l’action de vider quelque chose. L’adverbe s’écrit “évidemment”.|https://fr.wiktionary.org/wiki/évidemment

    évidement
        <<- /conf/ morph(<1, ":V", ":A") ->> évidemment     # Confusion probable : l’évidement est l’action de vider quelque chose. L’adverbe s’écrit “évidemment”.|https://fr.wiktionary.org/wiki/évidemment

    [un|l’|cet]  évidemment  [<end>|,]
    [un|l’|cet]  évidemment  $:¬:A
        <<- /conf/ -2>> évidement                           # Confusion probable : “évidemment” est un adverbe. L’action de “vider” s’écrit “évidement”.|https://fr.wiktionary.org/wiki/évidement

TEST: Donne-moi {{évidement}} ça.
TEST: Elle sera {{évidement}} déçue de cette minable prestation de sa part.
TEST: pour {{évidement}} réussir
TEST: Un homme pas {{évidement}} intelligible.
TEST: L’{{évidemment}} du sanglier ne sera pas si facile.


# faim / fin
__conf_fin_faim__
    >grève de la fin
        <<- /conf/ -4>> faim                                    # Confusion. La fin désigne la finalité ou la teminaison de quelque chose. Pour évoquer l’envie de manger, écrivez “faim”.

    une fin de loup
        <<- /conf/ -2>> faim                                    # Confusion. La fin désigne la finalité ou la teminaison de quelque chose. Pour évoquer l’envie de manger, écrivez “faim”.

    à des faims
        <<- /conf/ -3>> fins                                    # Confusion. Pour évoquer la finalité de quelque chose, écrivez “fin”.

    [à|a] >seule faim [de|d’]
        <<- /conf/ -3>> fin                                     # Confusion. Pour évoquer la finalité de quelque chose, écrivez “fin”.

TEST: Elle manifestait son désaccord par une grève de la {{fin}}.
TEST: ces enfants avaient une {{fin}} de loup
TEST: Œuvrez à des {{faims}} funestes.
TEST: il s’est donné bien des peines à seule {{faim}} de monter en grade


# faut / faux
__conf_faux_faut__
    faut  @:¬(?:Y|Oo|X|M|W)|>qu[e’]/
    faut  <end>
        <<- /conf/ not value(<1, "|il|ils|ne|en|y|leur|lui|nous|vous|me|te|se|la|le|les|qui|<start>|,|")
        -1>> faux                                                           # Confusion probable : “faut” est une conjugaison de “falloir”. Pour indiquer la fausseté d’une chose, écrivez “faux”.

TEST: un homme {{faut}}
TEST: c’est {{faut}}
TEST: il m’en faut plus.
TEST: il faut réussir.
TEST: bien sûr, faut y arriver.
TEST: il ne faut pas se leurrer.
TEST: y faut pas qu’elle l’entende.
TEST: faut l’emmener chez le docteur.
TEST: Faut Linux, sinon ça marchera jamais.
TEST: Les tests ne sont pas toujours indispensables mais faut bien que t’apprennes
TEST: Mais faut absolument que tu voies ça.
TEST: Faut que tu sois forte, ma fille.
TEST: Bon, et oui, faut qu’on parle sérieusement de la fin de notre chronique.
TEST: Qui faut flinguer pour avoir un bon café ?
TEST: Sauf que le train pour partir, il doit être préparé, faut du temps…


# filtre / philtre
__conf_filtre_philtre__
    >filtre d’ [amour|illusion|enchantement|endormissement]
    >filtre de [confusion|guérison|fidélité|longévité|mort|vision]
    >filtre [>aphrodisiaque|empoisonné+ses|>léthargique|>magique|>narcotique]
        <<- /conf/ -1>> philtre|philtres
        # Confusion probable. Un filtre est un intrument de filtrage, un philtre est une boisson (magique) procurant des effets sur le buveur.|https://fr.wiktionary.org/wiki/philtre

    >philtre à café
        <<- /conf/ -1>> filtre|filtres
        # Confusion probable. Un filtre est un intrument de filtrage, un philtre est une boisson (magique) procurant des effets sur le buveur.|https://fr.wiktionary.org/wiki/filtre

TEST: Elle prépara un {{filtre}} magique.
TEST: un {{philtre}} à café


# flan / flanc
__conf_flanc_flan__
    >flanc [pâtissier+s]
    >flanc [au|aux] [>caramel|>café|>citron|>chocolat|>four|>lait|>lard|noix|>pomme|>pruneau|>œuf|>raisin]
    >flanc [de|d’] [or|argent|cuivre]
    >flanc à la [crème|coco|noix]
        <<- /conf/ -1>> =\1.replace("c", "").replace("C", "")               # Confusion. S’il s’agit d’une pâtisserie (ou d’une pièce de métal), écrivez “flan”.|https://fr.wiktionary.org/wiki/flan

    c’ [est|était] ?[que|tout]¿ du flanc
    c’ [est|était] rien que du flanc
    [ce|c’] n’ [est|était] ?[que|tout]¿ du flanc
    [ce|c’] n’ [est|était] rien que du flanc
        <<- /conf/ --1>> flan                                               # Confusion. Locution « c’est du flan ».|https://fr.wiktionary.org/wiki/flan

    comme deux ronds de >flanc
        <<- /conf/ -5>> flan                                                # Confusion. Locution « comme deux ronds de flan ».|https://fr.wiktionary.org/wiki/comme_deux_ronds_de_flan

    >flan de la [>colline|>montagne]
    >flan [de|des] [>colline|>montagne]
    >flan [>gauche|droit|droits|nord|sud|ouest]
        <<- /conf/ -1>> =\1.replace("an", "anc").replace("AN", "ANC")       # Confusion probable. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc

    [>attaquer|>allonger|>blesser|>coucher|>étendre|>toucher]  sur  [le|mon|ton|son|notre|votre|leur]   flan
        <<- /conf/ -4>> flanc                                               # Confusion probable. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc

    [>attaquer|>allonger|>blesser|>coucher|>étendre|>toucher]  sur  [les|mes|tes|ses|nos|vos|leurs]     flans
        <<- /conf/ -4>> flancs                                              # Confusion probable. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc

    [>tirer|>tir]  au  flan
        <<- /conf/ -3>> flanc                                               # Confusion. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc

    [>tirer|>tir]  aux flans
        <<- /conf/ -3>> flancs                                              # Confusion. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc

    tir-aux-flan
    tir-aux-flans
    tir-au-flans
    tir-au-flan
    tirs-aux-flan
    tirs-aux-flans
    tirs-au-flans
    tirs-au-flan
    tire-aux-flan
    tire-aux-flans
    tire-au-flans
    tire-au-flan
    tires-aux-flan
    tires-aux-flans
    tires-au-flans
    tires-au-flan
        <<- /conf/ ->> tire-au-flanc                                        # Confusion. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/tire-au-flanc

TEST: encore un {{flanc}} au chocolat.
TEST: ce type, c’est que du {{flanc}}.
TEST: ce type, c’est rien que du {{flanc}}.
TEST: j’en étais comme deux ronds de {{flancs}}
TEST: elle possède une maison à {{flan}} de colline.
TEST: attaqué sur son {{flan}} droit
TEST: attaqués sur leurs {{flans}}
TEST: étendu sur son {{flan}}.
TEST: Ce sale {{tir-au-flan}} le paiera cher.
TEST: il tire au {{flan}}
TEST: il tire aux {{flans}}
TEST: le flan est une pâtisserie.
TEST: versez du caramel sur le flan.


# en son for intérieur / fort
__conf_for_intérieur__
    [en|dans] [mon|ton|son|leur|notre|votre] [fort|forts|fore|fores|fors] [>intérieure]
        <<- /conf/ -3:4>> for intérieur                                     # Confusion : “for” vient du latin “forum” et le “for intérieur” évoque la conscience individuelle.

TEST: En mon {{fort intérieur}}, je le crois.
TEST: Dans son {{fort intérieur}}, je le crois.


# fausse / fosse
__conf_fausse_fosse__
    [fausse|fausses] [Calypso|Nansei-Shoto]
    [fausse|fausses] de [conservation|subduction|Bougainville|Cedros|Java|Puerto|Ryukyu|Tuscarora]
    [fausse|fausses] des [musiciens|Aléoutiennes|Kermadec|Kouriles|Mariannes|Tonga|Philippines]
    [fausse|fausses] des îles [aléoutiennes|caïmans|Kouriles|Tonga]
    [fausse|fausses] du [Chili|Japon|Pérou|Pérou-Chili]
    [fausse|fausses] d’ [aisance|orchestre|Amérique|Atacama|Izu-Bonin|Izu-Ogasawara]
    [fausse|fausses] de l’ orchestre
    [fausse|fausses] à [>compost|>déchet|>lisier|>fumier|>plongeon|>plongée|>purin|>merde|>ordure]
    [fausse|fausses] [au|aux|des] [>caïman|>crocodile|>charognard|>lionne|>loup|>louve|ours|>serpent|>cobra|>diable]
    [fausse|fausses] [>abyssale|>canine|>béante|>commune|>océanique|>sous-marine|>septique|>immense|>profonde|>nasale|>iliaque|>temporale]
        <<- /conf/ -1>> =\1.replace("au", "o").replace("AU", "O")           # Confusion probable : “fausse” est l’adjectif féminin de “faux”. Pour évoquer une profondeur, écrivez “fosse”.

    au bord de la fausse
        <<- /conf/ -5>> fosse                                               # Confusion probable : “fausse” est l’adjectif féminin de “faux”. Pour évoquer une profondeur, écrivez “fosse”.

TEST: la {{fausse}} Calypso.
TEST: La {{fausse}} des Mariannes.
TEST: La {{fausse}} d’aisance.
TEST: La {{fausse}} à lisier.
TEST: Une {{fausse}} commune.
TEST: La {{fausse}} du Chili.
TEST: Nous sommes tombés dans la {{fausse}} aux lions.
TEST: Elles sont arrivées au bord de la {{fausse}}.


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

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

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

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

TEST: Viendra-t-il {{forcement}} demain.
TEST: sans {{forcement}} prendre la vie du bon côté
TEST: Elle sera {{forcement}} déçue de cette minable prestation de sa part.
TEST: Un homme pas {{forcement}} mauvais.
TEST: Le {{forcément}} du coffre ne sera pas si facile.


# golf / golfe
__conf_golf_golfe__
    [>championne|>championnat|>club|>joueuse|parcours|>sac|>balle|>terrain|>tournoi|>compétition|>passionnée|>école|>professeure|>partie|>professionnelle|>amateure|>stage|>journée|après-midi|>matinée|>heure|>fédération|>fan] de golfe
        <<- /conf/ -3>> golf                                                # Confusion. Le golfe est une zone de mer ou d’un lac avancée dans les terres. Ex : Le golfe Persique.

    >golf persique
    >golf [de|du|d’] [Bengale|Botnie|Gascogne|Gabès|Guinée|Lion|Morbihan|Mexique|Porto|Saint-Laurent|Thaïlande|Tonkin|Tunis|Winam|Aden|Ajaccio|Alaska|Hammamet]
        <<- /conf/ -1>> golfe                                               # Confusion. Le golf est un sport.

    [>guerre|>émir|>monarchie] du golf
        <<- /conf/ -3>> Golfe                                               # Confusion. Le golf est un sport.

TEST: Il a réalisé un documentaire sur la guerre du {{Golf}}.
TEST: C’est un bon joueur de {{golfe}}.
TEST: Le {{golf}} Persique est presque une mer fermée.
TEST: J’ai fait de la voile dans le {{golf}} du Morbihan.
TEST: Le {{golf}} d’Aden.


## guerre / guère
__conf_préverbes_guère_guerre!5__
    [ne|n’]   ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  ?[plus|jamais]¿  guerre
    [ne|n’]   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  ?[plus|jamais]¿  guerre
    [ne|n’]   [le|la|l’|les]                  [lui|leur|en|y]             *WORD  ?[plus|jamais]¿  guerre
    [ne|n’]   [lui|leur|y]                    en                          *WORD  ?[plus|jamais]¿  guerre
    [ne|n’]   ?presque¿  ?[plus|jamais]¿  guerre
        <<- /conf/ --1>> guère                                                                      # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez “guère”.

    guerre
        <<- /conf/ morph(<1, ":(?:[123][sp]|Y)", "*") and not value(>1, "|civile|commerciale|froide|mondiale|nucléaire|préventive|psychologique|sainte|totale|")
        ->> guère                                            # Confusion probable. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez “guère”.

TEST: tout ceci ne me rapporte {{guerre}}
TEST: je ne m’en soucie {{guerre}}
TEST: Il n’y prête {{guerre}} d’attention.
TEST: Elle n’en accorde plus {{guerre}}.
TEST: ne plus {{guerre}} s’en soucier
TEST: elle ne leur donne plus {{guerre}} que des remontrances.
TEST: ne {{guerre}} s’en soucier.
TEST: ne plus {{guerre}} croire en rien.
TEST: Il ne reste plus {{guerre}} que lui.
TEST: Je n’aime {{guerre}} le sport.
TEST: Il n’y en a {{guerre}}.
TEST: Je n’aime plus {{guerre}} le sport.
TEST: Il n’y en a plus {{guerre}}.
TEST: y peut {{guerre}} réussir quoi que ce soit, cet idiot.
TEST: ce que nous appelons Guerre psychologique


# héro / héros
__conf_héros__
    [le|quel|ce|cet|un|du|au]  héro
        <<- /conf/ -1>> héros                               # Confusion. L’héro est l’abréviation de “héroïne” (la drogue). L’homme héroïque s’écrit “héros”.

TEST: Mon frère, {{ce}} {{héro}} !


# heure / heur
__conf_heure_heur__
    *NUM heurs
    $:B  heurs
        <<- /conf/ --1>> heures                             # Confusion. Pour indiquer la durée de temps, écrivez “heure”.|https://fr.wiktionary.org/wiki/heure

    *NUM heur
        <<- /conf/ --1>> heure                              # Confusion. Pour indiquer la durée de temps, écrivez “heure”.|https://fr.wiktionary.org/wiki/heure

TEST: 1 {{heur}} de travail et le voilà déjà fatigué.       ->> heure
TEST: Viens à 3 {{heurs}}.                                  ->> heures
TEST: Il n’y a que deux {{heurs}} de trajet                 ->> heures


# hors / or
__conf_hors_or__
    <start>  hors  ,
        <<- /conf/ -2>> or
        # Confusion. Écrivez “or” pour dire “néanmoins”. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors

    hors [je|j’|tu|il|ils|on|parce|quel|quels|quelle|quelles|pourquoi|qui|que]
        <<- /conf/ -1>> or,
        # Confusion probable. Écrivez “or” pour dire “néanmoins”. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors

    >or du commun
    >or de ?[ma|ta|sa|notre|votre|leur]¿ [compréhension|perception|portée|vue]
    >or de question [que|qu’]
        <<- not morph(<1, ":D.*:[me]") -1>> hors
        # Confusion probable. Si vous voulez dire “en dehors de”, écrivez “hors”.|https://fr.wiktionary.org/wiki/hors

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


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

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

TEST: elle a {{huis}} ans.
TEST: C’est un {{huit}} clos terrifiant.
TEST: Un procès à huis clos.


# l’issue
__conf_l_issue__
    l’ issu
        <<- /conf/ -2>> issue                                                   # Confusion. Le nom “issue” est féminin.

TEST: à l’{{issu}} de la partie.



# jeune / jeûne
__conf_jeune__
    très  >jeûne
        <<- /conf/ -2>> =\1.replace("û", "u")                                                       # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune

TEST: Très {{jeûne}}, elle a su qu’elle ne voulait pas d’une vie ordinaire.


# la / l’a
__conf_il_elle_on_la_l_a_vconj__
    [il|elle|on]  ?[nous|vous]¿  l’  a  ~^[bcdfghjklmnpqrstvwxz]
        <<- /conf/ morph(\-1, ":[123][sp]", ":[GQ]") --3:-2>> la                # Confusion probable. Pour un pronom objet féminin, écrivez “la”.

    [ne|me|te|se]  l’ a  ~^[bcdfghjklmnpqrstvwxz]
        <<- /conf/ morph(\4, ":[123][sp]", ":[GQ]") -2:3>> la                   # Confusion probable. Pour un pronom objet féminin, écrivez “la”.

    ne  [nous|vous]  l’ a  ~^[bcdfghjklmnpqrstvwxz]
        <<- /conf/ morph(\5, ":[123][sp]", ":[GQ]") -3:4>> la                   # Confusion probable. Pour un pronom objet féminin, écrivez “la”.

    ne l’ a [lui|leur]
        <<- /conf/ -2:3>> la                                                    # Confusion probable. Pour un pronom objet féminin, écrivez “la”.

TEST: on {{l’a}} {{prit}} pour une idiote.
TEST: elle se {{l’a}} {{réserve}} pour elle-même.
TEST: il ne {{l’a}} {{connaît}} pas.
TEST: elle ne nous {{l’a}} {{donne}} pas.
TEST: elle ne {{l’a}} leur donne pas sans condition.


__conf_il_elle_on_l_a_la_vconj__
    [il|on]  ?[nous|vous]¿  la  @:Q¬:(?:[123][sp]|V[123]......e)|>lui/
        <<- /conf/ --2>> l’a                                                    # Confusion probable : “\-1” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.

    elle  ?[nous|vous]¿  la  @:Q¬:(?:[123][sp]|V[123]......e)|>lui/
        <<- /conf/ not morph(<1, ":R") --2>> l’a                                # Confusion probable : “\-1” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.

    [ne|me|te]  la  @:Q¬:(?:[123][sp]|V[123]......e)|>lui/
        <<- /conf/ -2>> l’a                                                     # Confusion probable : “\3” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.

    ne  [nous|vous]  la  @:Q¬:(?:[123][sp]|V[123]......e)|>lui/
        <<- /conf/ -3>> l’a                                                     # Confusion probable : “\4” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.

TEST: il {{la}} {{donnée}}.
TEST: elle {{la}} vendue.
TEST: ne {{la}} {{donné}} que contraint et forcé…
TEST: celle-là, il me {{la}} {{commandée}} ?
TEST: ne nous {{la}} donnée pas
TEST: au fur et à mesure que les molécules du nuage se dirigent vers le centre, sa densité augmente et avec elle la gravité qu’il génère.


# laissez-passer / laissez-faire
__conf_laisser_passer_aller__
    laisser-passer
        <<- /conf/ ->> laissez-passer                                           # Confusion.

    laissez-faire
        <<- /conf/ ->> laisser-faire                                            # Confusion.

    laissez-aller
        <<- /conf/ ->> laisser-aller                                            # Confusion.

TEST: ils ont oublié leur {{laisser-passer}}.
TEST: le {{laissez-faire}}, c’est ma religion.
TEST: il faut en finir avec le {{laissez-aller}}.


# la / là
__conf_la_là!7__
    la ou les
        <<- !1>>

    la  [l’|d’|n’|m’|t’|s’|c’|ç’|j’|qu’|lorsqu’|puisqu’|quoiqu’]
    la  @:G¬:(?:[NA]:[ef]|W|V)|>(?:lui|leur|votre|notre|voilà|voici|plupart|quell?e?s?|tout|toute)/
        <<- /conf/ not \1.isupper() and not \2.isupper() and not morph(<1, ":E|>le/") -1>> là       # Confusion probable. Écrivez “là” si vous voulez dire “ici”.

    [ce|cet|cette|ces]  /-la
        <<- /conf/ -2>> =\2[:-2]+"là"                                                               # Confusion. Écrivez “là” soudé au nom pour désigner un objet précis.

TEST: Ce {{fait-la}} ne peut être ignoré.
TEST: ce {{soutien-la}}
TEST: nous serions encore {{la}} l’année prochaine
TEST: en reprenant le chandail de John {{la}} où elle l’avait abandonné.
TEST: la peu efficace sensibilité
TEST: c’est toujours la même histoire
TEST: c’est la moins habile de toutes
TEST: Qui serait la ou le plus à même à occuper ce poste selon vous ?
TEST: Il fait remonter à la toute première expérience humaine de maîtrise.
TEST: l’existence d’un fichage la concernant
TEST: avec la ou les indications qu’on recontre ici et là.


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

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

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

    [ne|me|te|se] là
        <<- /conf/ -2>> la                                          # Confusion : “là” signifie “ici”.|http://fr.wiktionary.org/wiki/l%C3%A0

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


# la plupart
__conf_la_plupart__
    la [plus|plue|plues|plut|plût|plu] [part|parts|par|pare|pares]
        <<- /conf/ -2:3>> plupart                                               # Confusion. Écrivez « la plupart » pour évoquer la majeure partie de quelque chose.

    la [plus-part|plus-parts|plus-par|plus-pare|plus-pares]
    la [plues-part|plues-parts|plues-par|plues-pare|plues-pares]
    la [plut-part|plut-parts|plut-par|plut-pare|plut-pares]
    la [plût-part|plût-parts|plût-par|plût-pare|plût-pares]
    la [plu-part|plu-parts|plu-par|plu-pare|plu-pares]
        <<- /conf/ -2>> plupart                                                 # Confusion. Écrivez « la plupart » pour évoquer la majeure partie de quelque chose.

TEST: la {{plus part}}
TEST: la {{plu-part}}


__conf_les_lés_lès__
    [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques]  lès
        <<- /conf/ -2>> lés                                     # Confusion probable : “lès” signifie “à côté de” et ne s’emploie plus guère que dans des noms de ville, comme Garges-lès-Gonesse. Si vous parlez des bandes de tissu ou de papier peint, écrivez “lés”.|https://fr.wiktionary.org/wiki/l%C3%A8s

    lès  [<end>|,]
        <<- /conf/ -1>> lés                                     # Confusion probable : “lès” signifie “à côté de” et ne s’emploie plus guère que dans des noms de ville, comme Garges-lès-Gonesse. Si vous parlez des bandes de tissu ou de papier peint, écrivez “lés”.|https://fr.wiktionary.org/wiki/l%C3%A8s

    lès  @¬:D.*:p
        <<- /conf/ -1>> les                                     # Confusion probable : “lès” signifie “à côté de” et ne s’emploie plus guère que dans des noms de ville, comme Garges-lès-Gonesse ou Vandœuvre-lès-Nancy.|https://fr.wiktionary.org/wiki/l%C3%A8s

    lés  @:N.*:[pi]¬:(?:[MGAW]|3p)
        <<- /conf/ -1>> les                                     # Confusion probable. Un lé est une bande de tissu ou de papier peint.|https://fr.wiktionary.org/wiki/l%C3%A9

TEST: Entre les saules et {{lés}} ifs.
TEST: Montrez-moi ces {{lès}} venus d’Italie.                           ->> lés
TEST: avec {{lès}} hommes d’à côté, difficile de se concentrer.         ->> les
TEST: Entre les saules et {{lès}} ifs                                   ->> les
TEST: étale ces petits {{lès}}                                          ->> lés
TEST: Les asphaltes purs d’étanchéité sont des mastics bitumineux, de même que les masses d’enrobage des lés d’étanchéité.
TEST: Pour avoir fait de neuf une grande cage de bois de grosses solives, membrures et sablières, contenant neuf pieds de long sur huit de lé. (Victor Hugo)
TEST: Un lé de velours, de taffetas, de toile.
TEST: Draps de lit de deux lés.
TEST: Elle habite Vandœuvre-lès-Nancy.


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

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


# loin s’en faut
__conf_loin_s_en_faut__
    !! loin s’ en faut ¡¡
    [loin|loins] [sens|cens|sans|>sang] [faux|faut]
    [loin|loins] [c’|s’] en [faux|faut]
        <<- /conf/ ->> loin s’en faut               # Confusion probable. Cette locution s’écrit “loin s’en faut”.|https://fr.wiktionary.org/wiki/loin_s%E2%80%99en_faut

TEST: Ils n’étaient guère prêts à ça, {{loins sans faux}}.
TEST: Et les intellectuels ? En France comme ailleurs, tous n’ont pas, loin s’en faut, une pleine lucidité sur cette précarité galopante.


# m’a / ma
__conf_m_a!6__
    [<start>|,]  tu  ma
        <<- /conf/ --1>> m’as                       # Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 2ᵉ personne précédé du pronom personnel ”me”, écrivez “m’as”.

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

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

TEST: tu {{ma}} prise par surprise                          ->> m’as
TEST: il {{ma}} tuée                                        ->> m’a
TEST: cette femme ne {{ma}} prise que deux fois             ->> m’a


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

    ne  mon
        <<- /conf/ --1>> m’ont                      # Confusion : “mon” est un déterminant possessif. Pour le verbe “avoir” à la 3ᵉ personne du pluriel précédé du pronom personnel ”me”, écrivez “m’ont”.

TEST: ils {{mon}} donné du fil à retordre, ces cons.        ->> m’ont
TEST: ces écarts ne {{mon}} posé aucun problème             ->> m’ont


# mai / mais
__conf_mai_mais_mes__
    [<start>|,]  mai  $:Os¬:3s
        <<- /conf/ -2>> mais
        # Confusion probable : “mai” est le 5ᵉ mois de l’année. Pour la conjonction de coordination, écrivez “mais”.|https://fr.wiktionary.org/wiki/mais

    mes  [que|qu’|pourquoi|comment|quand|là|ici|combien|surtout|puisque|puisqu’|quoi|quoique|quoiqu’]
    mes  [le|la|l’|les|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quel|quels|quelle|quelles|plusieurs]
    mes  [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels]
        <<- /conf/ (\1.islower() or value(<1, "|<start>|,|")) and \2.islower() -1>> mais
        # Confusion possible : “mes” est un déterminant utilisé pour signaler la possession. Pour la conjonction de coordination, écrivez “mais”.|https://fr.wiktionary.org/wiki/mais

TEST: {{mai}} il y a encore tant à faire.
TEST: Je viendrai, {{mai}} il faudra avoir tout prévu.
TEST: {{mes}} que voulez-vous
TEST: Mai pluvieux.


# min / mins
__conf_symbole_min__
    *NUM  mins
        <<- /conf/ -2>> min                         # Les unités de mesure abrégées ne prennent pas la marque du pluriel.

TEST: 120 {{Mins}} de bonheur


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

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

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


# n’est-ce pas - ai / es / est
__conf_n_est_ce_pas__
    n’ [es|ai|aie|aies|et|ait|aient|hé|eh|e|é] [ce|se] pas
    n’ [es-ce|ai-ce|aie-ce|aies-ce|et-ce|ait-ce|aient-ce|hé-ce|eh-ce|e-ce|é-ce] pas
        <<- /conf/ ->> n’est-ce pas                         # Confusion. N’est-ce pas.|https://fr.wiktionary.org/wiki/n%E2%80%99est-ce_pas

TEST: on en a plus qu’assez, {{n’ait-ce pas}} ?


# notre / nôtre -- votre / vôtre
# Hunspell corrige déjà les formes au pluriel (les nôtres).
__conf_nôtre_notre__
    [le|la|les|du|des|au|aux] notre
        <<- /conf/ not value(>1, "|père|") -2>> nôtre                       # Confusion : « notre possession », « la nôtre ».

    [le|la|les|du|des|au|aux] votre
        <<- /conf/ -2>> vôtre                                               # Confusion : « votre possession », « la vôtre ».

    >nôtre  @:[NA]¬:D
        <<- /conf/ not value(<1, "|le|la|les|du|des|au|aux|") -1>> notre    # Confusion : « notre possession », « la nôtre ».

    >vôtre  @:[NA]¬:D
        <<- /conf/ not value(<1, "|le|la|les|du|des|au|aux|") -1>> votre    # Confusion : « notre possession », « la nôtre ».

TEST: le {{notre}} n’en vaut pas la peine
TEST: C’est la {{votre}} ?
TEST: {{nôtre}} père est si âgé.
TEST: {{vôtre}} chien a du mordant
TEST: nous vous proposons de faire vôtre une autre volonté
TEST: Elle récitait sans cesse des Notre Père.


# nouvel / nouveaux
__conf_nouvel_nouveau_euphonie__
    [un|le|ce|du|mon|ton|son|notre|votre|leur|quel]  nouveau  homme
        <<- /conf/ -2>> nouvel                                  # Euphonie. Utilisez “nouvel” pour un nom masculin singulier commençant par une voyelle ou un h.|https://fr.wikipedia.org/wiki/Euphonie

    [un|le|ce|du|mon|ton|son|notre|votre|leur|quel]  nouveau  ~^[aâeéiîou]
        <<- /conf/ morph(\3, ":[NA].*:[me]:s") -2>> nouvel      # Euphonie. Utilisez “nouvel” pour un nom masculin singulier commençant par une voyelle ou un h.|https://fr.wikipedia.org/wiki/Euphonie

TEST: ce {{nouveau}} homme
TEST: un {{nouveau}} élément relance l’enquête
TEST: il se sentait de nouveau homme
TEST: il se sentait à nouveau homme


# nulle part
__conf_nulle_part__
    nul part
        <<- /conf/ not morph(<1, ":D.*:m:[si]") ->> nulle part      # Confusion : pour dire “en aucun lieu”, écrivez “nulle part”.

TEST: car {{nul part}} ailleurs, on n’en trouve une telle concentration


# oc / hoc
__conf_oc_hoc__
    ad oc
        <<- /conf/ ->> ad hoc                                       # Confusion. La locution latine, signifiant “idoine” ou “adapté”, s’écrit “ad hoc”.|https://fr.wiktionary.org/wiki/ad_hoc

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

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


# on / ont
__conf_ont_on!6__
    on  @:W¬:(?:3s|Ov)
    on  [de|d’|du|des|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|quelques|plusieurs|certains|certaines]
        <<- /conf/ not morph(<1, ":V.*:3s") and not before0("’$")
        -1>> ont                                                    # Confusion probable : “avoir” à la 3ᵉ personne du pluriel du présent s’écrit “ont”.

    [n’|m’|t’|l’] [y|en] on
        <<- /conf/ -3>> ont                                         # Confusion. Exemples : « on y va », « ils ont faim ».

    [ne|n’|me|m’|te|t’] l’ on
        <<- /conf/ -3>> ont                                         # Confusion. Exemples : « on y va », « ils ont faim ».

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

TEST: ces gens {{on}} {{souvent}} tort.
TEST: {{on}} {{des}} drôles de manières
TEST: n’y {{on}} {{jamais}} lieu de telles abominations !
TEST: ces chiens te l’{{on}} {{donné}}
TEST: Qui {{on}} {{tant}} de malheurs !
TEST: Je voulais qu’on soit ensemble.
TEST: qui on blâme, ce soir ?


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

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

    ~-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 not value(\2, "|soit|") and morph(\2, ":3s") -2:3>> \2-on
        # Confusion probable : “ont” est une forme conjuguée du verbe “avoir”. Pour le pronom personnel, écrivez “on” et mettez un trait d’union puisqu’il s’agit d’une question.

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


# ou / où
__conf_où_ou__
    <start>  Ou  @:3[sp]¬:Y
        <<- /conf/ -2>> Où                                  # Confusion probable. La conjonction “ou” signale une alternative. Utilisez “où” pour “en quel lieu”.

    au moment ou
    jusqu’ ou
    par ou
    d’ ou
    vient un temps ou
        <<- /conf/ --1>> où                                 # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

    ou et [comment|que|qui|quand|pourquoi|quel|quels|quelle|quelles]
    ou et $:R
        <<- /conf/ -1>> où                                  # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

    vers ou
        <<- /conf/ not morph(<1, ":D") -2>> où              # Confusion probable. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

    [au|le|des] cas ou
        <<- /conf/ -3>> où                                  # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

    [les|ces|des|aux|auxdites] fois ou
        <<- /conf/ -3>> où                                  # Confusion probable. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

    à partir du [lieu|moment|jour|mois]     ou
    à partir de l’ [instant|année|heure]    ou
    à partir de la [minute|semaine|seconde] ou
        <<- /conf/ --1>> où                                 # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

    depuis le [jour|millénaire|moment|mois|siècle] ou
    depuis la [minute|semaine|seconde] ou
    depuis l’ [année|heure|instant] ou
        <<- /conf/ -4>> où                                  # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

TEST: {{Ou}} sont tes affaires ?                                    ->> Où
TEST: au moment {{ou}} elle allait enfin réussir                    ->> où
TEST: je ne sais même pas par {{ou}} commencer                      ->> où
TEST: {{ou}} et comment s’y prendre                                 ->> où
TEST: vers {{ou}} se tourner quand tout va mal ?                    ->> où
TEST: toutes les fois {{ou}} nous avons dansé                       ->> où
TEST: pour le cas {{ou}} on serait arrêté dans notre élan.          ->> où
TEST: à partir du moment {{ou}} il est entré.                       ->> où
TEST: à partir de l’instant {{ou}} elle est venue.                  ->> où
TEST: depuis l’année {{ou}} nous sommes allés en Bretagne           ->> où
TEST: depuis la seconde {{ou}} tu as parlé                          ->> où
TEST: depuis le jour {{ou}} il a été blessé.                        ->> où


# pale / pâle
__conf_pâle_pale__
    [bien|très|trop|si|vraiment|tellement] >pale
        <<- /conf/ -2>> =\2.replace("a", "â").replace("A", "Â")
        # 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

    >pale [>imitation|>imitatrice|>rayon]
        <<- /conf/ -1>> =\1.replace("a", "â").replace("A", "Â")
        # 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

TEST: elles sont si {{pales}}.
TEST: cette {{pale}} imitation d’un chef-d’œuvre


# palier / pallier
__conf_palier_pallier__
    >voisine de [pallier|pallié|palliés|palliée|palliées]
    >franchir un [pallier|pallié]
    [sur|sous] le ?même¿ [pallier|pallié]
        <<- /conf/ --1>> palier                                             # Confusion.|https://fr.wiktionary.org/wiki/palier

    [pallier|pallié+e]  [de|d’] [communication|décompression|imposition]
        <<- /conf/ -1>> palier                                              # Confusion.|https://fr.wiktionary.org/wiki/palier

    [palliés|palliées]  [de|d’] [communication|décompression|imposition]
        <<- /conf/ -1>> paliers                                             # Confusion.|https://fr.wiktionary.org/wiki/palier

    [pallier|pallié+ses] par [pallier|pallié+ses]
        <<- /conf/ ->> palier par palier                                    # Confusion.|https://fr.wiktionary.org/wiki/palier

    de [pallier|pallié+ses] en [pallier|pallié+ses]
        <<- /conf/ ->> de palier en palier                                  # Confusion.|https://fr.wiktionary.org/wiki/palier

TEST: La voisine de {{pallier}} fait un rafut de tous les diables.
TEST: Nous avons franchi un {{pallier}}
TEST: un {{pallié}} de communication
TEST: Attention aux {{palliés}} de décompression
TEST: elles progressent {{pallier par pallier}}
TEST: {{De pallier en pallier}}, l’horreur la plus noire


# par à-coups
__conf_par_à_coups__
    [par|pare|pares|>part] [a|à] [>cou|>coût|>cout|>coup]
        <<- /conf/ ->> par à-coups                                          # Confusion probable. Locution “par à-coups”.|https://fr.wiktionary.org/wiki/par_%C3%A0-coups

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


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

TEST: {{Pardessus}} les montagnes.
TEST: Il passa {{pardessus}} les collines.
TEST: Mets ton pardessus ce matin.


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

TEST: Elle a enfilé son gilet {{par balle}}.


# pas / par
__conf_pas_par__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  [pa|pat]    **
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  [pa|pat]    **
    [ne|n’]  [le|la|l’|les]                  [lui|leur|en|y]             *WORD  [pa|pat]    **
    [ne|n’]  [lui|leur|y]                    en                          *WORD  [pa|pat]    **
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  par         [<end>|,|sans|avec|sous|sur|en|mais|et|ni|car|puisque|puisqu’|parce]
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  par         [<end>|,|sans|avec|sous|sur|en|mais|et|ni|car|puisque|puisqu’|parce]
    [ne|n’]  [le|la|l’|les]                  [lui|leur|en|y]             *WORD  par         [<end>|,|sans|avec|sous|sur|en|mais|et|ni|car|puisque|puisqu’|parce]
    [ne|n’]  [lui|leur|y]                    en                          *WORD  par         [<end>|,|sans|avec|sous|sur|en|mais|et|ni|car|puisque|puisqu’|parce]
        <<- /conf/ morph(\-3, ":V") --2>> pas                               # Confusion probable. Après “\1 \-3”, il est probable qu’il faille écrire l’adverbe de négation “pas” au lieu de la préposition “par”.

TEST: je ne sais {{pa}}                                                     ->> pas
TEST: Il ne le deviendra {{par}}.                                           ->> pas
TEST: ne viens {{par}}, c’est dangereux.
TEST: il ne tient par contre que grâce à nous
TEST: elle ne savait par qui passer pour arriver à ses fins.


# par le bout du nez
__conf_par_le_bout_du_nez__
    !! par le bout du nez ¡¡
    [par|>part|pare+s] [le|l’] [bout|bous] du [né|nez]
        <<- /conf/ ->> par le bout du nez                                   # Confusion. Locution “par le bout du nez”.

TEST: se faire mener {{par le bout du né}}.


# par les temps qui courent
__conf_par_les_temps_qui_courent__
    !! par les temps qui courent ¡¡
    [par|>part|pare+s] les [>tan|tant|temps] qui [courent|court+s|>cour|coure+s|courre]
        <<- /conf/ ->> par les temps qui courent                            # Confusion: Locution “par les temps qui courent”.

TEST: {{part les tan qui court}}
TEST: par les temps qui courent, impossible de passer inaperçu.


# pause /pose
__conf_pause_pose__
    >pose [gourmande|café|carrière|crédit|déjeuner|détente|dîner|pipi|repas|thé]
    >pose du [matin|soir]
    >pose de midi
    >pose de l’ après-midi
        <<- /conf/ -1>> =\1.replace("o", "au").replace("O", "AU")           # Confusion probable. Une pose consiste à poser quelque chose, tandis qu’une pause est un laps de temps de repos.

    >pause [de|du] [>cable|>carrelage|>dallage|>lino|>linoléum|>marbre|>panneau|>papier|>parquet|>prélart|>revêtement|>stérilet|tapis|>tapisserie|>vernis|>vitrage]
    >pause des [ardoises|agrafes|bollards|briques|câbles|carreaux|carrelages|dalles|fenêtres|panneaux|parquets|pavés|plaques|plinthes|tapis|tapisseries|tuiles|vitres|vitrages]
    >pause de la [charpente|couronne|dalle|fenêtre|moquette|prothèse|tapisserie|toiture|vitre]
    >pause de la [première|1ʳᵉ|1re|1ère] [brique|couche|pierre]
        <<- /conf/ -1>> =\1.replace("au", "o").replace("AU", "O")           # Confusion probable. Une pose consiste à poser quelque chose, tandis qu’une pause est un laps de temps de repos.

TEST: Nous assistons à la {{pause}} de la première brique.
TEST: c’est la {{pose}} du matin.
TEST: Faire une {{pose}} café.
TEST: Faire des {{poses}} café.
TEST: La {{pose}} de midi.
TEST: La {{pause}} du carrelage.
TEST: La {{pause}} des ardoises.
TEST: La {{pause}} de la tapisserie.
TEST: La {{pause}} de la première pierre.


# péché / pêcher
__conf_péché_pêcher1__
    [pécher|>pêcher|pêché+ses] [mignon+s|>capitale|>mortelle|>originelle|>vénielle]
    [pécher|>pêcher|pêché+ses] de jeunesse
        <<- /conf/ -1>> péché|péchés                                        # Confusion. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C3%A9ch%C3%A9

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

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


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

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

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


# pêle-mêle
__conf_pêle_mêle__
    [pêle|>pelle|pèle|pèles] [mêle|mêles]
    pèle-mêle
    pèles-mêles
    pelle-mêle
    pelles-mêles
        <<- /conf/ ->> pêle-mêle                                            # Confusion.|https://fr.wiktionary.org/wiki/p%C3%AAle-m%C3%AAle

TEST: Ça consiste {{pelle mêle}} en diverses choses.
TEST: habitées par un peuple de prostituées […], vivant là, entassées pêle-mêle avec toutes sortes d’individus plus ou moins suspects, souteneurs et repris de justice pour la plupart.


# peu / peux / peut
__conf_peu_peut_peux!6__
    peu [pas|donc|jamais|rien|parfois|alors|enfin|rarement|éventuellement]
        <<- /conf/ not morph(<1, ">(?:très|en|un|de|du)") -1>> peut         # Confusion probable : « peu » signifie « pas beaucoup », pour le verbe pouvoir, écrivez “peut”.

    !! peu à peu ¡¡
    [peux|peut|peu] [a|à|ah|ha|as] [peux|peut|peu]
    peu-a-peu
    peu-à-peu
    peut-a-peu
    peu-à-peut
    peux-a-peu
    peu-à-peux
    peux-à-peux
    peut-à-peut
    peut-à-peux
    peux-à-peut
    peux-a-peux
    peut-a-peut
    peut-a-peux
    peux-a-peut
        <<- /conf/ ->> peu à peu                                            # Confusion : « peu à peu » ou « petit à petit ».

    [peux|peut] [importent|importe]
        <<- /conf/ morph(<1, ":C|<start>") -1>> peu                         # Confusion : « \1 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.

    [très|trop|de|quelque|pour|à] [peux|peut]
        <<- /conf/ -2>> peu                                                 # Confusion : « \2 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.

    un  [peux|peut]
        <<- /conf/ not value(<1, "|quelqu’|l’|d’|sauf|") -2>> peu           # Confusion : « \2 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.

    [il|on] ?[ne|n’]¿ peu
        <<- /conf/ --1>> peut                                               # Confusion : « peu » signifie « pas beaucoup ».

    [je|tu] ?[ne|n’]¿ peu
        <<- /conf/ --1>> peux                                               # Confusion : « peu » signifie « pas beaucoup ».

    [ne|se|n’|s’] peu
        <<- /conf/ -2>> peut                                                # Confusion. Exemples : Il est peu habile, mais il peut y arriver.

    [peut|peux]  @:A¬:(?:[MGWYX]|3[sp])
        <<- /conf/ not morph(\2, ">seule") and not morph(<1, ">(?:je|tu|il|on|ne)")
        -1>> peu                                                            # Confusion probable : « \1 » est une conjugaison de « pouvoir », utilisez « peu ».

TEST: {{peu}} rarement y arriver.
TEST: Il est un {{peut}} comme une forêt
TEST: cela ne se {{peu}}.
TEST: des bâtisses {{peu a peu}} abandonnées.
TEST: aucun pays – ou très peu alors – n’a réussi à faire ça de façon durable
TEST: Mais {{peut}} importe le rang.
TEST: homme de {{peut}} de foi, écoute le vent.
TEST: Il en vient un {{peut}} tous les jours.
TEST: {{peut}} sympathique, cet individu.
TEST: il {{peu}} y parvenir
TEST: tu ne {{peu}} en savoir plus
TEST: {{peut}} {{embarrassés}} par leurs déboires, ils poursuivirent comme si de rien n’était.
TEST: Et {{peut}} de gens peuvent en dire autant.
TEST: Pour {{peut}} que quelqu’un se soucie d’eux.
TEST: pour peu qu’ils soient entendus.
TEST: Il est guéri et peut de nouveau travailler.


__conf_peut_être__
    [peu-être|peux-être]
        <<- /conf/ ->> peut-être                                            # Confusion. Écrivez « peut-être », qui signifie « possiblement ».

    <start>  [il|ce|ne|on]  peut-être
        <<- /conf/ -3>> peut être                                           # Confusion probable : « peut-être » signifie « possiblement ».

    <start>  [cela|ceci|ça]  peut-être  @:[AQ]
        <<- /conf/ -3>> peut être                                           # Confusion probable : « peut-être » signifie « possiblement ».

TEST: Il {{peut-être}} mortel.
TEST: Cela {{peut-être}} mortel.
TEST: cela arrivera {{peux-être}}.


# de plain pied
__conf_de_plain_pied__
    [de|au] [>pleine|>plain] >pied
    [de|au] [plein-pied|pleins-pieds|plains-pieds]
        <<- /conf/ -2:0>> plain-pied                                        # Confusion. Écrivez “plain-pied”. “Plain” est un vieux terme qui signifie plat, uni.

TEST: C’est une maison de {{plein pied}}.
TEST: de {{plein-pied}}


# plant / plan
__conf_plant_plan__
    >plan [de|d’] [>aubergine|>betterave|>carotte|>citrouille|>concombre|>cornichon|>courgette|>légume|>melon|>poivron|>potiron|>rubarbe|>tabac|>tomate|>vigne]
    >plan [de|d’] [petit+s] pois
    >plan [de|d’] >pomme [de|d’] terre
    >plan [>maraîchère|>maraichère]
        <<- /conf/ -1>> =\1.replace("n", "nt").replace("N", "NT")           # Confusion. Pour parler d’une petite pousse végétale, écrivez “plant” (dérivé de “plante”).

TEST: va acheter des {{plans}} de tomate


# pôle / pole
__conf_pôle_pole__
    >pole
        <<- /conf/ not value(<1, "|la|en|une|") and not value(>1, "|position|dance|")
        ->> pôle|pôles                                                      # Confusion probable. Le terme “pole” ne s’utilise que pour la “pole position” ou la “pole dance”.

TEST: il y a {{un}} {{pole}} d’activités pas loin d’ici.
TEST: il est parti en pole position.
TEST: elle fait de la pole dance.


# pomme / paume
__conf_pomme_paume__
    >tomber ?[pas|jamais|guère|peu]¿ dans les >paume
        <<- /conf/ --3:0>> dans les pommes                                  # Locution “tomber dans les pommes”, c’est-à-dire perdre connaissance.|https://fr.wiktionary.org/wiki/tomber_dans_les_pommes

    >jeu de >pomme
        <<- /conf/ --1>> paume                                              # Confusion probable. Le “jeu de paume” est l’ancêtre du tennis.|https://fr.wiktionary.org/wiki/jeu_de_paume

    >pomme de [la|ma|ta|sa|notre|votre|leur] main
        <<- /conf/ -1>> =\1.replace("om", "au").replace("OM", "AU")         # Confusion probable. Si vous évoquez la face intérieure de la main, écrivez “paume”.|https://fr.wiktionary.org/wiki/paume

    >paume [de|d’] [discorde|terre|reinette|pin|Adam|api|amour|ambre|eau|or]
        <<- /conf/ -1>> =\1.replace("au", "om").replace("AU", "OM")         # Confusion probable. La paume est l’intérieur de la main. Pour évoquer le fruit, écrivez “pomme”.|https://fr.wiktionary.org/wiki/pomme

TEST: elle n’est jamais tombée {{dans les paumes}}
TEST: le jeu de {{pomme}} est l’ancêtre du tennis
TEST: dans la {{pomme}} de sa main
TEST: c’est la {{paume}} de discorde


# pot aux roses / poteau rose
__conf_pot_aux_roses__
    poteau rose
        <<- /conf/ ->> pot aux roses                                        # Confusion probable. On dit : « découvrir le pot aux roses ».|http://fr.wiktionary.org/wiki/d%C3%A9couvrir_le_pot_aux_roses

TEST: Ils ont découvert le {{poteau rose}}.


# prêt / près / pré
__conf_prêt_près_pré__
    près à [ne|n’|me|m’|te|t’|se|s’]
    près à ?[le|la|l’|les|en|nous|vous|lui|leur|y|tout]¿ $:Y
    près à [nous|vous]     [le|la|l’|les|en|y]           $:Y
    près à [le|la|l’|les]  [lui|leur|en|y]               $:Y
    près à [lui|leur|y]    en                            $:Y
        <<- /conf/ not value(<1, "|peu|de|") and not before("(?i)\\bau plus $")
        -1>> prêt|prêts                                                     # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose.

TEST: Il est {{près}} à les aider                               ->> prêt|prêts
TEST: Il a obtenu un prêt de Patrick
TEST: Il a obtenu un prêt de Le Drian
TEST: les prêts de BMW ou de Mercedes pour visiter la ville


__conf_près_prêt_pré__
    de plus [>prêt|>pré]
        <<- /conf/ --1>> près                                               # Confusion probable. Être prêt(e) à faire quelque chose. Être près de quelque chose. Le pré est un champ d’herbes.

    [très|trop] [>prêt|>pré]
        <<- /conf/ -2>> près                                                # Confusion probable. Être prêt(e) à faire quelque chose. Être près de quelque chose. Le pré est un champ d’herbes.

    >prêt [de|d’] [ne|n’|me|m’|te|t’|se|s’]
    >prêt [de|d’] ?[le|la|l’|les|en|nous|vous|lui|leur|y|tout]¿ $:Y
    >prêt [de|d’] [nous|vous]     [le|la|l’|les|en|y]           $:Y
    >prêt [de|d’] [le|la|l’|les]  [lui|leur|en|y]               $:Y
    >prêt [de|d’] [lui|leur|y]    en                            $:Y
        <<- /conf/ -1>> près                                                # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose.

    >prêt [de|d’] [toi|vous|lui|elle|eux|elles|iels|$:M]
        <<- /conf/ not morph(<1, ":D") and not before("(?i)\\b(obten|obt[iî])")
        -1>> près                                                           # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose.

    si [>prêt|>pré] [du|de|d’|des]
        <<- /conf/ -2>> près                                                # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose.

    >raser de ?très¿ [>prêt|>pré]
        <<- /conf/ --1>> près                                               # Confusion probable. Raser de près.

    à la [virgule|nanoseconde|milliseconde|seconde|minute] [>prêt|>pré]
        <<- /conf/ -4>> près                                                # Confusion probable. Locution “à la \3 près”.

    à quelques [degrés|exceptions|nuances|pourcents|variations|nanomètres|millimètres|centimètres|décimètres|mètres|kilomètres|parsecs|années-lumière|nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|décennies|siècles|millénaires] [>prêt|>pré]
        <<- /conf/ -4>> près                                                # Confusion probable. Locution “à quelques \3 près”.

    au >mètre [>prêt|>pré]
        <<- /conf/ -3>> près                                                # Confusion probable. Locution “au \2 près”.

    à ([ceci|cela]) ([prêt|prêts]) [que|qu’]
    [<start>|,] à ([ceci|cela]) ([prêt|prêts]) [,|<end>]
        <<- /conf/ -2>> près                                                # Confusion probable. Locution “à \1 près”.|https://fr.wiktionary.org/wiki/%C3%A0_cela_pr%C3%A8s

    ni de [>prêt|>pré] ?,¿ ni de loin
        <<- /conf/ -3>> près                                                # Confusion. Être près de (faire) quelque chose. Prêt à faire quelque chose.

    depuis [>prêt|>pré] [de|d’] *NUM *WORD
    depuis [>prêt|>pré] [de|d’] $:B  *WORD
        <<- /conf/ -2>> près                        # Confusion probable. Être prêt(e) à faire quelque chose. Être près de quelque chose. Le pré est un champ d’herbes. Depuis presque “\4 \5”, donc “près \3 \4 \5”.

TEST: depuis {{prêt}} de 15 ans
TEST: approche très {{prêt}}
TEST: ils se sont approchés très {{prêts}}.
TEST: Je suis si {{prêt}} d’y arriver.
TEST: Elle est {{prêt}} de la trouver.
TEST: Elle va regarder ça de plus {{prêt}}.
TEST: {{prêt}} de toi, tout va bien
TEST: Il était rasé de {{prés}}
TEST: à la virgule {{pré}}
TEST: à quelques degrés {{prêts}}
TEST: au mètre {{pré}}
TEST: Il est un peu fantasque ; mais, à cela {{prêt}}, c’est un aimable homme.
TEST: à cela {{prêt}} qu’il faut beaucoup de moyens pour démarrer une telle entreprise
TEST: Il nous emmerde depuis {{prêt}} de cinq jours avec son histoire à dormir debout
TEST: Ils ne sont ni de {{prêt}} ni de loin affiliés à ces gens
TEST: depuis {{prêt}} de 10 minutes
TEST: depuis {{prés}} de vingt siècles.
TEST: collait au millimètre près à la réalité


# prix / pris
__conf_prix_pris__
    [à|a] n’importe quel pris
    quel est [le|mon|ton|son|notre|votre|leur|leurs] pris
        <<- /conf/ --1>> prix                                               # Confusion : pour évoquer la valeur d’une chose, écrivez “prix”.|https://fr.wiktionary.org/wiki/prix

    prix dans la [tourmente|tempête|tornade]
    prix dans la coulée de [boue|lave]
    prix dans l’ [orage|ouragan]
    prix dans les [flots|vagues|tempêtes|tornades|orages|ouragans]
    prix par surprise
    prix entre deux feux
    prix la main dans le sac
    prix dans [mes|tes|ses|nos|vos|leurs] bras
        <<- /conf/ -1>> pris                                                # Confusion probable : le participe de prendre s’écrit “pris”.|https://fr.wiktionary.org/wiki/pris

TEST: réussir à n’importe quel {{pris}}.
TEST: quel est leur {{pris}} ?
TEST: {{prix}} par surprise,


# puits / puis
__conf_puits_puis__
    [des|ces|mes|tes|ses|nos|vos|leurs|quelques|ce|mon|du] puis
        <<- /conf/ not \1.isupper() -2>> puits
        # Confusion. Si vous parlez d’un trou fait pour puiser quelque chose (ou pour amener quelque chose), écrivez “puits”.|https://fr.wiktionary.org/wiki/puits

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

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

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

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

TEST: Tombée au fond du {{puis}}, le désespoir la gagnait.
TEST: Des {{puis}}, tu en as combien ?
TEST: J’ai plusieurs {{puis}} de pétrole.
TEST: quel {{puis}} artésien ?
TEST: de quel {{puis}} quantique parles-tu ?
TEST: {{Puis de potentiel}} harmonique
TEST: Beaucoup d’abord, ensuite plusieurs puis quelques-uns seulement.
TEST: Il faut discrètement en creuser plusieurs puis arrêter aussitôt.
TEST: Il vient tel quel puis semble avoir des doutes.
TEST: avec un puis plusieurs autres.


# quand / quant / qu’en
__conf_quant_quand_qu_en__
    quand à
        <<- /conf/ not morph(<1, ">(?:arriver|venir|à|revenir|partir|repartir|aller|de)/") and not after("^ +[mts]on tour[, ]")
        -1>> quant                                                          # Confusion probable. Quand = à quel moment. Quant à = à propos de.|https://fr.wiktionary.org/wiki/quant_%C3%A0

    quand [au|aux]
        <<- /conf/ not morph(<1, ">(?:arriver|venir|à|revenir|partir|repartir|aller|de)/")
        -1>> quant                                                          # Confusion probable. Quand = à quel moment. Quant à = à propos de.|https://fr.wiktionary.org/wiki/quant_%C3%A0

TEST: {{Quand}} à ma santé, elle est défaillante.                           ->> Quant
TEST: {{quand}} aux ennemis de nos ennemis, nous nous en chargerons.        ->> quant
TEST: être rassuré quant à l’avenir du continent européen
TEST: Quant au chat, on verra plus tard.


__conf_quand_quant_qu_en__
    quant  *WORD
        <<- /conf/ not value(\2, "|à|au|aux|") -1>> quand                   # Confusion. Quand = à quel moment. Quant à = à propos de.

    qu’ en [je|tu|il|ils|iel|eils]
        <<- /conf/ not after("^ ne s(?:ai[st]|u[ts]|avai(?:s|t|ent)|urent) ")
        -1:2>> quand                                                        # Confusion probable. Pour évoquer un moment, écrivez “quand”.|https://fr.wiktionary.org/wiki/quand

TEST: {{Quant}} ils…
TEST: {{quant}} je…
TEST: {{quant}} nous…
TEST: {{qu’en}} il vient, c’est l’enfer.
TEST: Quand à mon tour je réalise l’imposture, c’est trop tard.


__conf_qu_en_quand_quant__
    [quand|quant]   $:P
        <<- /conf/ -1>> qu’en                                               # Confusion probable.

    [quand|quant] [est|était|fut] il [de|des|du]
    [quand|quant] [est-il|était-il|fut-il|sera-t-il] [de|des|du]
        <<- /conf/ -1>> qu’en                                               # Confusion probable. Ce qu’il en est de… → Qu’en est-il de… ?

    [le|les|du|des|ce|ces|quelque|quelques] quand dira-t-on
    [le|les|du|des|ce|ces|quelque|quelques] quand dira t on
    [le|les|du|des|ce|ces|quelque|quelques] quand-dira-t-on
        <<- /conf/ -2:0>> qu’en-dira-t-on           # Confusion. Pour évoquer l’opinion publique, écrivez “qu’en-dira-t-on”.|https://fr.wiktionary.org/wiki/qu%E2%80%99en-dira-t-on

TEST: il comprit {{quand}} prenant son parti, il se protégeait aussi.
TEST: {{Quand}} est-il du chien ?
TEST: il avait une peur bleue des {{quand dira-t-on}}.
TEST: il est exact qu’en je ne sais combien de temps il parvint à un résultat inattendu.
TEST: il comprit trop tard qu’en elle naquit alors le doute qui l’éloigna de lui à jamais.


# quand bien même
__conf_quand_bien_même__
    tant bien même
        <<- /conf/ ->> quand bien même                                      # Confusion. Écrivez « quand bien même ».|http://www.academie-francaise.fr/tant-bien-meme

    combien même ~¬^si$
        <<- /conf/ -1:2>> quand bien même                                   # Locution conjonctive.|https://fr.wiktionary.org/wiki/quand_bien_m%C3%AAme

TEST: il sera condamné {{tant bien même}} il prouverait que c’était un accident.
TEST: J’irai, {{combien même}} vous seriez tous contre moi.
TEST: Il partirait en guerre quand bien même devrait-il être tout seul.
TEST: Elle veut savoir combien même si ça ne lui est d’aucune utilité immédiate.


# quel que soit
__conf_quel_que_soit__
    >quelque [soi|sois|soit|soient]
    >quelque >soie $:D
        <<- /conf/ -1:2>> quel que soit|quelle que soit|quels que soient|quelles que soient         # Confusion : “quelque” est un déterminant.|https://fr.wiktionary.org/wiki/quel_que_soit

TEST: {{quelques soient}} les avantages d’un correcteur…


# quel que puisse
__quel_que_puisse__
    >quelque [puisse|puisses|put|pût]
        <<- /conf/ -1>> quel que|quelle que                                 # Confusion : “quelque” est un déterminant.

    >quelque [puissent|pussent]
        <<- /conf/ -1>> quels que|quelles que                               # Confusion : “quelque” est un déterminant.

TEST: {{quelque}} puisse être la vérité, nous finirons par la découvrir.
TEST: {{quelques}} puissent être les raisons de son acte, il faut pardonner.


# quel qu’en soit
__conf_quel_qu_en_soit__
    qu’ [elle|elles]             [quand|quant]  [soi|>soie|sois|soit|soient]
    [quel|quels|quelle|quelles]  [quand|quant]  [soi|>soie|sois|soit|soient]
        <<- /conf/ --2>> qu’en                                              # Confusion. Locution “quel qu’en soit le …, quelle qu’en soit la …”.|https://fr.wiktionary.org/wiki/quel_que_soit#fr

    qu’ [elle|elles] qu’ en [soi|>soie|sois|soit]
        <<- /conf/ ->> quel qu’en soit|quelle qu’en soit                    # Confusion. Locution “quel qu’en soit le …, quelle qu’en soit la …”.|https://fr.wiktionary.org/wiki/quel_que_soit#fr

    qu’ [elle|elles] qu’ en soient
        <<- /conf/ ->> quels qu’en soient|quelles qu’en soient              # Confusion. Locution “quels qu’en soient les …, quelles qu’en soient les …”.|https://fr.wiktionary.org/wiki/quel_que_soit#fr

TEST: qu’elle {{quand}} soit le résultat                                ->> qu’en
TEST: {{qu’elle qu’en soi}} la raison, ça ne suffit pas.                ->> quel qu’en soit|quelle qu’en soit
TEST: {{qu’elles qu’en soient}} les raisons                             ->> quels qu’en soient|quelles qu’en soient


# quelque part
__conf_quelque_part__
    [quel|quels|quelle|quelles] que [pare|pares|par|pars|>part]
    [quelque|quelques] [pare|pares|par|pars|parts]
    quelques part
        <<- /conf/ ->> quelque part                                         # Confusion probable.|https://fr.wiktionary.org/wiki/quelque_part

TEST: Il faut bien aller {{quelle que part}}.
TEST: Je les ai oubliés {{quelque pars}}.
TEST: Elles sont forcément {{quelque parts}} ici.


# quelques fois / quelquefois
__conf_quelquefois_quelques_fois__
    qu’ [elle|elles] que [>foi|>foie]
    [quel|quels|quelle|quelles] que [>foi|>foie]
    quelque fois
        <<- /conf/ ->> quelquefois|quelques fois
        # Confusion. Utilisez “quelquefois” si vous voulez dire “parfois”. Utilisez “quelques fois” pour évoquer ce qui est advenu ou adviendra plusieurs fois.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4334

    les quelquefois [ou|où|que|qu’]
        <<- /conf/ -2>> quelques fois                                       # Confusion : “quelquefois” signifie “parfois”.|https://fr.wiktionary.org/wiki/quelquefois

    >être  quelques fois  ?$:W¿  @:A  [de|d’]
        <<- /conf/ -2:3>> quelquefois                                       # Confusion possible. Si vous voulez dire “parfois”, écrivez “quelquefois”.

TEST: {{Quelles que fois}}, on y comprend plus rien.
TEST: {{Qu’elle que fois}}, on y comprend plus rien.
TEST: Il y va {{quelque fois}} par an.
TEST: les {{quelquefois}} où nous y sommes allés, nous avons été très mal reçus.
TEST: c’est {{quelques fois}} vraiment difficile de savoir quoi faire.


# quoique / quoi que
__conf_de_quoi_que__
    de quoique
        <<- /conf/ -2>> quoi que                                            # Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1571

TEST: de {{quoique}} ce soit, je ne veux pas en entendre parler.


# quoiqu’il en coûte
__conf_quoi_qu_il_en_coûte__
    quoiqu’ il ?[m’|t’|lui|nous|vous|leur]¿ en [coûte|coute]  [<end>|,]
        <<- /conf/ -1:2>> quoi qu’il                                        # Confusion probable.

TEST: Elle y parviendra, {{quoiqu’il}} en coûte.


# quelle / qu’elle
__conf_qu_elle_quelle__
    [que|qu’]  elle   @:[NAQ]¬:(?:G|[123][sp]|W|Oo|X)|>seule?/
        <<- /conf/ -1:2>> quelle                                                                    # Confusion probable. Ex : Quelle femme ! Je crois qu’elle réussira.

    [que|qu’]  elles  @:[NAQ]¬:(?:G|[123][sp]|W|Oo|X)|>seule?/
        <<- /conf/ -1:2>> quelles                                                                   # Confusion probable. Ex : Quelle femme ! Je crois qu’elle réussira.

TEST: {{qu’elle}} emmerdeuse.
TEST: {{qu’elles}} belles terrasses
TEST: je crois qu’elle seule peut y parvenir
TEST: Elle cache qu’elle a été en prison.
TEST: Qu’elle avait été accueillie avec joie.


__conf_quelle_qu_elle__
    quelle  [ne|n’|me|m’|te|t’|se|s’|nous|vous|le|la|l’|les|lui|leur|en|y]
        <<- /conf/ not (value(\2, "|en|ne|")  and morph(>1, ":V0e")) -1>> qu’elle                   # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”.

    quelle  @:V¬:[NA].*:[fe]|>(?:être|plus|point)/
        <<- /conf/ \2.islower() and not (morph(\2, ">(?:pouvoir|devoir|aller)/") and (morph(>1, ":V0e") or morph(>2, ":V0e"))) and not (morph(\2, ":V0a") and value(>1, "|été|"))
        -1>> qu’elle                                                                                # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”.

TEST: {{Quelle}} y vienne, on verra ce qu’elle vaut.
TEST: {{Quelle}} a du répondant, cette gamine !
TEST: {{Quelle}} partit prendre son repas à la cantine, je n’en avais cure.
TEST: Il se plaint {{quelle}} ne nous dit rien.
TEST: {{Quelle}} l’apprenne un jour, on n’y peut rien.
TEST: Je crois {{quelle}} n’en sait pas assez pour nous nuire.


    quelles [ne|n’|me|m’|te|t’|se|s’|nous|vous|le|la|l’|les|lui|leur|en|y]
        <<- /conf/ not (value(\2, "|en|ne|") and morph(>1, ":V0e")) -1>> qu’elles                   # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”.

    quelles @:V¬:[NA].*:[fe]|>(?:être|plus|point)/
        <<- /conf/ \2.islower() and not (morph(\2, ">(?:pouvoir|devoir|aller)/") and (morph(>1, ":V0e") or morph(>2, ":V0e"))) and not (morph(\2, ":V0a") and value(>1, "|été|"))
        -1>> qu’elles                                                                               # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”.

TEST: Je veux {{quelles}} s’efforcent à y parvenir.
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: {{Quelles}} viennent et qu’on en finisse.


    quelle  >être   @:[QA]¬:G
        <<- /conf/ morph(\2, ":[123][sp]") -1>> qu’elle                                             # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”.

    quelles >être   @:[QA]¬:G
        <<- /conf/ morph(\2, ":[123][sp]") -1>> qu’elles                                            # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”.

TEST: Je crois {{quelle}} est partie.
TEST: Je sais {{quelle}} est partie.
TEST: il pense {{quelles}} sont devenues dangereuses.
TEST: {{Quelles}} sont intelligentes, ces filles-là.

TEST: Quelle est sa passion ?
TEST: Quelles sont leurs principales études ?
TEST: Quelles en sont les conséquences ?
TEST: Quelle plus belle complicité que…
TEST: Quelle peut être la date de clôture d’un exercice ?
TEST: Quelle doit être la date du mariage ?
TEST: Quelles ont été les annonces faites ?
TEST: Quelle va être l’attitude de Geoffroy ?
TEST: Quelle pourrait être la teneur de leur entretien.
TEST: Quelle ne fut pas ma surprise
TEST: Quelles ont été, pour vous, les plus gros mensonges ?
TEST: Quelle peut encore être l’influence de cet artiste de nos jours ?
TEST: Quelle peut bien être l’influence de cet artiste de nos jours ?


# quoi que / quoique
__conf_quoique_quoi_que__
    quoiqu’ il se soit ?$:W¿ passé
    [quoique|quoiqu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels] en >penser
    [quoique|quoiqu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels] >avoir pu faire
        <<- /conf/ -1>> quoi que|quoi qu’                       # Confusion probable.|https://fr.wiktionary.org/wiki/quoi_que

TEST: mais {{quoique}} tu en penses, c’est comme ça que ça fonctionne.
TEST: {{Quoiqu’}}il se soit passé réellement passé, je vais lui faire la peau.
TEST: {{quoique}} vous ayez pu faire, ça a donné les résultats escomptés.


# raisonner / résonner
__conf_raisonner_résonner__
    [la|le|les|me|te|se|nous|vous] >résonner
        <<- /conf/ -2>> =\2.replace("réso", "raiso")            # Confusion probable. Vous utilisez la raison, mais vous ne “sonnez” pas.

TEST: Vous {{résonnez}} comme un sot.
TEST: Nous allons le {{résonner}}.


# repère /  repaire
__conf_repaire_repère__
    >repère  [dangereux|>sécurisée]
    >repère  [de|du|d’|des]  [>assassin|>bandit|>brigand|>cambrioleuse|>corsaire|>criminelle|>dragon|>escroc|>fanatique|>filou|>flibustière|>flibuste|>gangster|>lionne|>louve|>mafiosi|>mafioso|>malfaitrice|>malfrat|>maraudeuse|>monstre|>murène|ours|>pick-pocket|>pickpocket|>pillarde|>pirate|>scélérate|>taupe|>tigre|>truande|>voleuse|>voyou|>yéti]
    >repère  de  $:D         [>assassin|>bandit|>brigand|>cambrioleuse|>corsaire|>criminelle|>dragon|>escroc|>fanatique|>filou|>flibustière|>flibuste|>gangster|>lionne|>louve|>mafiosi|>mafioso|>malfaitrice|>malfrat|>maraudeuse|>monstre|>murène|ours|>pick-pocket|>pickpocket|>pillarde|>pirate|>scélérate|>taupe|>tigre|>truande|>voleuse|>voyou|>yéti]
        <<- /conf/ morph(<1, ":D") -1>> =\1.replace("è", "ai").replace("È", "AI")
        # Confusion probable. Un répère est une marque laissée pour retrouver quelque chose. Pour le lieu où se cachent des personnes ou des animaux, écrivez “repaire”.|https://fr.wiktionary.org/wiki/repaire

    [dans|en] [mon|ton|son|notre|votre|leur] repère
    à l’intérieur de [mon|ton|son|notre|votre|leur] repère
    à l’intérieur du repère
    au sein de [mon|ton|son|notre|votre|leur] repère
    au sein du repère
        <<- /conf/ --1>> repaire
        # Confusion probable. Un répère est une marque laissée pour retrouver quelque chose. Pour le lieu où se cachent des personnes ou des animaux, écrivez “repaire”.|https://fr.wiktionary.org/wiki/repaire

    [>écrire|>graver|>tracer|>marquer] [un|le|ce|son|des|les|ces|ses] >repaire
        <<- /conf/ --1>> =\-1.replace("ai", "è").replace("AI", "È")
        # Confusion probable. Un repaire est un lieu où se cachent des personnes ou des animaux. Pour une marque laissée pour retrouver quelque chose, écrivez “repère”.|https://fr.wiktionary.org/wiki/repère

    >repaire au [crayon|charbon|sang|stylo]
    >repaire à la [craie|cendre|plume]
    >repaire sur [le|l’|ce|un|les] [bois|>carnet|>document|>feuillet|>livre|>livret|>mémoire|>mur|>papier|>rapport|>sable|>sol]
    >repaire sur [la|l’|cette|une|les] [>écorce|>feuille|>page|>porte]
    >repaire entre les [feuilles|pages]
    >repaire dans l’ écorce
        <<- /conf/ -1>> =\1.replace("ai", "è").replace("AI", "È")
        # Confusion probable. Un repaire est un lieu où se cachent des personnes ou des animaux. Pour une marque laissée pour retrouver quelque chose, écrivez “repère”.|https://fr.wiktionary.org/wiki/repère

TEST: Le {{repère}} des brigands.
TEST: Au {{repère}} de la voleuse.
TEST: on va le débusquer dans son {{repère}}
TEST: Elle traça un {{repaire}}.
TEST: Elle remarqua un {{repaire}} à la craie.


# ris / riz
__conf_ris_de_veau_agneau__
    [ri|riz] [de|d’] [>veau|agneau|agneaux|chasse]
        <<- /conf/ -1>> ris                                     # Confusion.|http://fr.wiktionary.org/wiki/ris

    [ri|ris] au lait
    [ri|ris] [arborio|basmati|blanc|brun|cantonais|carnaroli|complet|semi-complet|incollable|OGM|pilaf|soufflé]
        <<- /conf/ -1>> riz                                     # Confusion. Pour évoquer la céréale, écrivez “riz”.|https://fr.wiktionary.org/wiki/riz

TEST: Elles ont préparé un {{riz}} de veau.
TEST: Elle adore le {{ri}} au lait.
TEST: Tous adorent le {{ri}} basmati.


# saint / sain / sein / seing
__conf_saint_sain_sein_seing__
    [sain|sains|>sein]  $:M1
        <<- /conf/ morph(<1, ":(?:R|[123][sp])|<start>") -1>> saint
        # Confusion : “sain” signifie “en bonne santé”, le sein est un organe thoracique féminin. Pour évoquer ce qui est “sanctifié”, écrivez “saint”.|https://fr.wiktionary.org/wiki/saint

    [en|dans|sur] [mon|ton|son] [sain|saint]
        <<- /conf/ -3>> sein
        # Confusion : “sain” signifie “en bonne santé”, “saint” évoque ce qui “sanctifié”. Pour évoquer, au sens figuré, ce qui est une partie intime de quelque chose ou quelqu’un, écrivez “sein”.|https://fr.wiktionary.org/wiki/sein

    au [sain|saint|seing] [de|des|du|d’]
        <<- /conf/ -2>> sein
        # Confusion probable : “sain” signifie “en bonne santé”, “saint” évoque ce qui “sanctifié”. Pour évoquer, au sens figuré, ce qui est une partie intime de quelque chose ou quelqu’un, écrivez “sein”.|https://fr.wiktionary.org/wiki/sein

    [blanc-sein+s|blancs-sein+s]
    [blanc-sain+s|blancs-sain+s]
    [blanc-saint+s|blancs-saint+s]
        <<- /conf/ ->> blanc-seing|blancs-seings                # Confusion.|http://fr.wiktionary.org/wiki/blanc-seing

TEST: il priait {{sain}} Anselme de le secourir.
TEST: Au {{sain}} de l’obscurité, elle se sentait en sécurité.
TEST: Sur son {{sain}}
TEST: en son {{saint}}.
TEST: {{blanc-sein}}


# ne pas être sans savoir
__conf_ne_pas_être_sans_savoir__
    >être [pas|plus|jamais|guère] sans >ignorer
    ne [pas|plus|jamais|guère] être sans >ignorer
        <<- /conf/ --1>> savoir         # Confusion probable : vous écrivez l’inverse de ce que vous voulez dire.|http://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir

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


# sens / cens / cent / sans / sang
__conf_sens_sans_cent_cens__
    [<start>|,]  [il|ils|on]            [sans|>sang|cens|>cent]  @:V
    [<start>|,]  [elle|elles|iel|iels]  [>sang|cens|>cent]       @:V
    [<start>|,]  [elle|elles|iel|iels]  sans                     @:V¬:(?:[NYDA]|Oo)|>(?:y|en)
        <<- /conf/ -3>> s’en                                                                        # Confusion probable.

TEST: elle {{sang}} était voulu
TEST: elle sans y penser
TEST: elle sans vergogne
TEST: elle sans la condamner
TEST: elles sans un sou en poche
TEST: elles sans grandes convictions


__conf_sensé_censé__
    très >censée
        <<- /conf/ -2>> =\2.replace("sen", "cen").replace("Cen", "Sen").replace("CEN", "SEN")       # Confusion probable. Ce qui est “sensé” (de “bon sens”) et ce que chacun est “censé” accomplir.

TEST: Des personnes très {{censées}} qui perdent parfois la tête.


# sans coup férir
__conf_sans_coup_férir__
    !! sans coup férir ¡¡
    [sans|>sang|sens|sent|>cent] [>cou|>coût|>cout|coup+s|coud+s] férir
    [sans|>sang|sens|sent|>cent] [>cou|>coût|>cout|coup+s|coud+s] [>fait|fais|>fée|>fête] rire
    s’ en [>cou|>coût|>cout|coup+s|coud+s] férir
    s’ en [>cou|>coût|>cout|coup+s|coud+s] [>fait|fais|>fée|>fête] rire
        <<- /conf/ ->> sans coup férir      # Confusion. Locution “sans coup férir”, c’est-à-dire sans avoir eu à livrer bataille, sans difficulté.|https://fr.wiktionary.org/wiki/sans_coup_f%C3%A9rir

TEST: nous y sommes parvenus {{sans cou fait rire}}
TEST: elle s’assura la victoire {{sent cou férir}}
TEST: y arriver {{s’en coup fée rire}}
TEST: vaincre sans coup férir


# s’ensuivre
__conf_s_ensuivre__
    s’ en >suivre
        <<- /conf/ morph(\3, ":(?:[123]s|Q)") ->> s’ensuit|s’ensuivit|s’ensuivait|s’ensuivra|s’ensuivrait   # Verbe “s’ensuivre”.|https://fr.wiktionary.org/wiki/s%E2%80%99ensuivre
        <<- /conf/ __else__ and morph(\3, ":(?:[123]p|Y|P)") ->> \1\2\3                                     # Verbe “s’ensuivre”.|https://fr.wiktionary.org/wiki/s%E2%80%99ensuivre

TEST: il {{s’en suis}} des représailles
TEST: {{s’en suivi}} des représailles
TEST: {{S’en suivrons}} une guerre de tous les instants et…
TEST: {{S’en suivre}}.


__conf_si_vconj__
    si  @:(?:[123][sp]|Y)¬:[GAQWMT]  <end>
        <<- /conf/ not \1.isupper() and not value(<1, "|ne|il|ils|on|")
        -2>> =suggSimil(\2, ":[AWGT]", True)                                                        # Incohérence probable avec “si” : “\2” ne devrait pas être une forme verbale conjuguée.

    si  @:[123][sp]¬:[GNAQWMT]  @:¬:D
        <<- /conf/ not \1.isupper() and not value(<1, "|ne|il|ils|on|") and not (morph(\2, ":V0") and morph(\3, ":[QY]"))
        -2>> =suggSimil(\2, ":[AWGT]", True)                                                        # Incohérence probable avec “si” : “\2” ne devrait pas être une forme verbale conjuguée.

TEST: des personnes si {{désespérer}}
TEST: Ces gens sont si {{prit}} par leur travail qu’ils en oublient de vivre.
TEST: Ça ira mieux demain, surtout si émerge une demande forte de la part des consommateurs.
TEST: Toutes les bifurcations qui auraient été possibles si avaient été pris en compte des critères autre que la captation de valeur ajoutée, l’augmentation des taux de profit, et l’accumulation du capital.
TEST: si venir à la conférence coûte autant, il est préférable de s’abstenir.


# s’y / si
__conf_s_y_si__
    ne  si  @:V
        <<- /conf/ -2>> s’y # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

    [<start>|,]  *WORD  si  @:[123][sp]¬:[MGA]
        <<- /conf/ \-2.islower() and morph(\2, ":M")
        --2>> s’y           # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

    [il|ils|on]  si  @:[123][sp]¬:[MG]
        <<- /conf/
        --2>> s’y           # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

    [<start>|,]  [elle|elles|iel|iels]  si  @:[123][sp]¬:[MGA]
        <<- /conf/
        --2>> s’y           # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

    [<start>|,]  [un|une|le|la|l’|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD  si  @:[123]s¬:A
        <<- /conf/ morph(\3, ":[NA].*:[si]")
        --2>> s’y           # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

    [<start>|,]  [des|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  si  @:[23]p¬:A
        <<- /conf/ morph(\3, ":[NA].*:[pi]")
        --2>> s’y           # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

    [<start>|,]  [certains|certaines|moult]  *WORD  si  @:[23]p
        <<- /conf/ morph(\3, ":[NA].*:[pi]", ":3p")
        --2>> s’y           # Confusion probable entre la conjonction “si” et la contraction du pronom personnel “se” avec “y” (“s’y”) précédant un verbe. Exemple : La montagne, elle s’y plaît, si le temps est clément.

TEST: la politique, ne {{si}} épanouissent que les hypocrites
TEST: Jérôme {{si}} {{rend}} souvent
TEST: Mélanie {{si}} {{adonne}} avec passion.
TEST: il {{si}} croit
TEST: elle {{si}} {{complait}}
TEST: une femme {{si}} rend tous les jours
TEST: les hommes {{si}} rendent tous les jours
TEST: certaines prisonnières {{si}} {{adonnent}}
TEST: eux si aigris, elles si violentes
TEST: le SI sera prêt.
TEST: perdu si entre lui et moi survient une dissension
TEST: s’y rendre est indispensable.
TEST: Paul si dément qu’on allait l’enfermer à l’asile
TEST: Si exercer des représailles nous procure une satisfaction immédiate, les conséquences à long terme sont souvent désastreuses.
TEST: plusieurs restent si déments qu’on ne savait plus que faire d’eux.


# soi / soit
__conf_soi_disant__
    soi [disants|disante|disantes]
    [>soie|soit|sois] [disant+ses]
    [soi-disants|soi-disante+s]
    [sois-disant+ses]
    [soie-disant+ses]
    [soies-disant+ses]
    [soit-disant+ses]
        <<- /conf/ ->> soi-disant                                                                   # Confusion : “soi-disant” est un adjectif invariable.|http://fr.wiktionary.org/wiki/soi-disant

TEST: Méfiez-vous de cette {{soi-disante}} sorcière.
TEST: Méfiez-vous de cette {{soit-disant}} sorcière.
TEST: Méfiez-vous de cette {{soi disant}} sorcière.


__conf_soi_soit_soie__
    [chez|sur|avec|pour] soit
    don de soit
    estime de soit
        <<- /conf/ not after(" soit ") --1>> soi                                                    # Confusion probable.

    en soit
        <<- /conf/ morph(>1, ":[GY]|<end>", ">à/") and not value(<1, "|il|on|elle|n’|m’|t’|s’|") and not before("(?i)quel(?:s|les?|) qu[’ ]$") and not after(" soit ")
        -2>> soi                                                                                    # Confusion probable.

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

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

TEST: chez {{soit}}, c’est presque toujours mieux.
TEST: ce n’est pas la philosophie en {{soit}} qui est problématique
TEST: quel que {{soie}} sa pensée, je refuse d’y accorder de l’attention.
TEST: Penser par {{soit même}}…
TEST: S’aimer {{soit-même}}, c’est le début d’une grande histoire d’amour. (Oscar Wilde)
TEST: Je regrette que l’on en soit encore à des considérations que je croyais dépassées
TEST: Quoi qu’il en soit
TEST: À moins qu’elle n’en soit la victime.
TEST: Je doute qu’il s’en soit sorti si aisément.
TEST: Je refuse, quoi qu’il en soit.
TEST: on ne s’étonne plus que le parquet de Paris en soit à agir sous l’effet de quelque urgence médiatique
TEST: Vous êtes soit pour soit contre, mais pas les deux en même temps


__conf_soie_soi_soit__
    [>drap|>chemise|>robe|>mouchoir] [en|de] soi
        <<- /conf/ -3>> soie                                    # Confusion probable. Pour la matière utilisée dans le textile, ércivez “soie”.

TEST: elle portait une robe en {{soi}}.
TEST: je n’aime que les draps de {{soi}}.


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

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

TEST: {{soi}} je vais au cinéma, {{soi}} je m’abstiens.
TEST: {{soie}} t’arrives avant tout le monde.
TEST: Quels que {{soi}} les problèmes, on peut les surmonter.
TEST: Sois le plus efficace possible.


# son / sont
__conf_son_sont__
    [ne|n’|me|m’|te|t’|se|s’] son
    [ne|n’] [le|l’|leur|leurs|lui|nous|vous] son
        <<- /conf/ --1>> sont                                   # Confusion : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”.

    [qui|que|comment|pourquoi|lorsque|quand] son [,|@:[DR]]
        <<- /conf/ -2>> sont                                    # Confusion probable : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”.

    [<start>|,] sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW]
        <<- /conf/ -2>> son                                     # Confusion probable : “sont” est le verbe “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”.

    sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW]
        <<- /conf/ morph(<1, ":(?:V|Cs|R)", ":(?:[NA].*:[pi]|Ov)") and not tag_before(\1, "ce_que")
        -1>> son                                                # Confusion probable : “sont” est le verbe “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”.

    [à|chez|dès|par] sont
    [avec|contre|devant|derrière|pour|sans|sur] sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW]
        <<- /conf/ -2>> son                                     # Confusion probable : “sont” est le verbe “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”.

    en sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW]
        <<- /conf/ not value(<1, "|ils|elles|iels|leur|lui|nous|vous|m’|t’|s’|l’|") and not tag(<1, "ce_que")
        -2>> son                                                # Confusion probable : “sont” est le verbe “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”.

    son [ceux|celles]
        <<- /conf/ not morph(<1, ":D.*:m:s") -1>> sont          # Confusion probable : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”.

TEST: ne leur {{son}} pas odieux.
TEST: Ces chiens me {{son}} odieux.
TEST: ces gens qui {{son}}, dans le meilleur des cas, des imbéciles ne peuvent nous aider.
TEST: {{sont}} {{pain}}
TEST: en {{sont}} {{absence}}
TEST: qui {{son}} ces gens ?
TEST: chez {{sont}} amis
TEST: il a perdu {{sont}} {{ami}}
TEST: ces gens {{son}} ceux qui nous mettent constamment dans la merde          ->> sont
TEST: à {{sont}} précis de mathématiques                                        ->> son
TEST: elles s’en sont mal portées
TEST: ils en sont reconnaissants
TEST: sont loin, ces gens…
TEST: Il ne sait pas vraiment ce que sont la peur et la souffrance.
TEST: avec le mur du son ceux qui l’entendent.
TEST: Que sont nos valeurs profondes ?
TEST: comment sont la petite et son frère ?


# sot / sceau / seau
__conf_sot_seau_sceau__
    [>sceau|sot|sots] d’ [acier|avoine|eau]
    [>sceau|sot|sots] [d’|de] [bois|boue|ciment|glace|>glaçon|>gravat|>gravier|>gravillon|plage|lait|maçon|nettoyage|peinture|sable]
    [>sceau|sot|sots] à [glace|champagne|>glaçon]
    [>sceau|sot|sots] en [acier|bois|cuivre|fer|inox|métal|plastique|polypropylène|zinc]
    [>sceau|sot|sots] [rempli+ses|percé+ses|>vide|troué+ses|renversé+ses|plein+s]
        <<- /conf/ -1>> seau|seaux                  # Confusion probable. Pour désigner un récipient, écrivez “seau”.|https://fr.wiktionary.org/wiki/seau

    dans $:D [>sceau|sot|sots]
        <<- /conf/ -3>> seau|seaux                  # Confusion probable. Pour désigner un récipient, écrivez “seau”.|https://fr.wiktionary.org/wiki/seau

    [>seau|sot|sots] du [roi|secret|ministre|ministère|duc|baron|cardinal|pape]
    [>seau|sot|sots] de la [reine|ministre|duchesse|baronne]
    [>seau|sot|sots] de l’ [État|évêque|université|académie]
        <<- /conf/ -1>> sceau|sceaux                # Confusion probable. Pour désigner un cachet par lequel on scelle quelque chose, écrivez “sceau”.|https://fr.wiktionary.org/wiki/sceau

TEST: amène-moi un {{sceau}} de ciment
TEST: dans un {{sot}} en plastique
TEST: Sur l’enveloppe était apposé le {{seau}} de la reine.


# statue / statut / statu
__conf_statu_statue_statut__
    [statut|statue|status] quo
        <<- /conf/ ->> statu quo                # Confusion. Écrivez “statu quo”.|https://fr.wiktionary.org/wiki/statu_quo

    statu ~¬^[qQ][uU][oO]$
    statu [<end>|,]
        <<- /conf/ -1>> status|statut|statue    # Confusion : “statu” ne s’emploie que dans l’expression “statu quo”.

TEST: Ça n’en finit pas, c’est le {{statut quo}}.
TEST: mettre à jour son {{statu}}.


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

    [sure|surs|sures] [de|d’|que|qu’]
        <<- /conf/ -1>> =\1.replace("u", "û").replace("U", "Û")
        # Confusion probable : “sur” un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|http://fr.wiktionary.org/wiki/sur

    en >lieu sur
        <<- /conf/ -3>> sûr
        # Confusion probable : “sur” est une préposition ou un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|http://fr.wiktionary.org/wiki/sur

    en >être >sure
        <<- /conf/ -3>> =\3.replace("u", "û").replace("U", "Û")
        # Confusion probable : “sur” un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|http://fr.wiktionary.org/wiki/sur

TEST: Je suis {{sur}} de Patrick.
TEST: Je suis {{sure}} qu’il ne va pas tarder à venir
TEST: {{sures}} d’elles-mêmes, elles ne s’en laissent pas conter.
TEST: {{sur}} de toi et de moi, que peut-il nous arriver, sinon le meilleur.
TEST: Il est tellement {{sur}} de la trouver.
TEST: ils sont en lieu {{sur}} et introuvables.
TEST: J’en suis {{sur}} désormais.
TEST: Il tapait par à-coups sur la table.
TEST: il s’étendit sur de la mousse à mémoire de forme
TEST: Elle réussira à coup sûr.


# temps / tant / tan
__conf_tant_temps_tan_1__
    en [tant|>tan] [de|d’] [guerre|paix|crise|doute|pluie]
        <<- /conf/ -2>> temps                               # Confusion. Écrivez « en temps de » si vous évoquez une période de temps.

    de [tant|>tan] en [tant|>tan]
        <<- /conf/ ->> de temps en temps                    # Confusion. Écrivez « de temps en temps ».

    depuis la [nui|nuit] des [>tan|tant]
        <<- /conf/ --1>> temps                              # Confusion. Locution “depuis la nuit des temps”.|http://fr.wiktionary.org/wiki/temps

    [après|avec] [temps|>tan] [de|d’]
        <<- /conf/ -2>> tant                                # Confusion. Écrivez “tant” pour évoquer une quantité de quelque chose.|http://fr.wiktionary.org/wiki/tant

    [à|a] [>tan|tant] [partiel|partiels|plein|pleins]
        <<- /conf/ -2>> temps                               # Confusion. Pour ce qui est temporel, écrivez “temps”.

    en [même|mêmes] [tant|>tan]
        <<- /conf/ ->> en même temps                        # Confusion. Pour ce qui est temporel, écrivez “temps”.

    en [temps|>tan] [que|qu’] >telle
        <<- /conf/ -2>> tant                                # Confusion. Locution “en tant que tel”.

    en [>tan|tant] et en >heure
        <<- /conf/ -2>> temps                               # Confusion: Locution “en temps et en heure”.|https://fr.wiktionary.org/wiki/en_temps_et_en_heure

TEST: en {{tant}} de guerre, il faut savoir faire face et ne pas faiblir face à l’adversité.
TEST: ils vont {{de tan en tan}} au restaurant
TEST: après {{temps}} de souffrance, il faut savoir lâcher prise.
TEST: il travaille à {{tant}} partiel
TEST: {{en même tant}}, on s’en moque, de toutes ces histoires ennuyeuses.
TEST: en {{tan}} que telle, cette méthode n’est pas parfaite, mais avec de l’intuition
TEST: depuis la nuit des {{tans}}
TEST: ce sera fait en {{tant}} et en heure
TEST: ce qui a commencé en 2011 en tant d’endroits du pourtour méditerranéen
TEST: elle est allée en tant de lieux qu’il est difficile de suivre son trajet.


# teint / tain / thym
__conf_tain_teint_thym__
    [>glace|>miroir|>verre] sans [tains|>teinte|>thym]
        <<- /conf/ -3>> tain                                        # Confusion.|http://fr.wiktionary.org/wiki/glace_sans_tain

    >fond de [>tain|teints|>thym]
        <<- /conf/ -3>> teint                                       # Confusion.|https://fr.wiktionary.org/wiki/fond_de_teint

TEST: Elle l’a observé par un miroir sans {{teint}}.
TEST: Elle a acheté un nouveau fond de {{tain}}.


__conf_taule_tôle1__
    [>taule] [de|d’|en] [>acier|>alu|>aluminium|>bardage|>cuivre|>étanchéité|>fer|>festonnage|inox|>laiton|>métal|>trapèze|>zinc|>éverite|>fibrociment|>fibro-ciment|>plastique|>polycarbonate|PVC]
        <<- /conf/ -1>> =\1.replace("au", "ô").replace("AU", "Ô")   # Confusion. La taule est la forme argotique pour évoquer la prison, le bordel ou toute forme d’habitation.

TEST: une {{taule}} en acier


# tête / tète
__conf_tête_tète!6__
    [tète|tètes] [baissée|baissées|baissé|baissés]
    [tète|tètes] [haute|hautes|basse|basses]
    [tète|tètes] de [mule|linotte]
        <<- /conf/ -1>> =\1.replace("è", "ê").replace("È", "Ê")     # Confusion : “tète” est une forme conjuguée de “téter”. Pour la partie supérieure d’un corps, écrivez “tête”.

    >hocher ?@:[WX]¿ [la|ma|ta|sa|notre|votre|leur|nos|vos|leurs] [tète|tètes]
    [mal|maux] de [tète|tètes]
    >tenir ?@:[WX]¿ [tète|tètes]
        <<- /conf/ --1>> =\-1.replace("è", "ê").replace("È", "Ê")   # Confusion : “tète” est une forme conjuguée de “téter”. Pour la partie supérieure d’un corps, écrivez “tête”.

    [tète|tètes] [à|a] [tète|tètes]
    tète-à-tète
    tètes-à-tètes
    tète-a-tète
    tètes-a-tètes
        <<- /conf/ ->> tête-à-tête                                  # Confusion : “tète” est une forme conjuguée de “téter”. Pour la partie supérieure d’un corps, écrivez “tête”.

TEST: Avancer {{tète}} haute
TEST: Cesse de nous tenir {{tète}}                                  ->> tête
TEST: impossible, avec mes maux de {{tète}}                         ->> tête
TEST: un {{tète-a-tète}}                                            ->> tête-à-tête


# confusion toit / toi
__conf_toi_toit__
    [chez|pour|contre|avec] toit
        <<- /conf/ -2>> toi                         # Confusion. Le toit est constitué d’une toiture. Pour le pronom personnel à la 2ᵉ personne, écrivez “toi”.|https://fr.wiktionary.org/wiki/toi

    [sous|sur] [mon|ton|son|notre|votre|leur] toi
    [sous|sur] le toi
        <<- /conf/ -3>> toit                        # Confusion : “toi” est le pronom personnel à la 2ᵉ personne. Pour évoquer le sommet d’un bâtiment, écrivez “toit”.|https://fr.wiktionary.org/wiki/toit

TEST: ce n’est pas contre {{toit}}
TEST: sous son {{toi}}, c’est sa loi qui prime.


# tour à tour
__conf_tour_à_tour__
    >tourd  [à|a]   >tourd
    tours   [à|a]   tours
    tour    a       tour
        <<- /conf/ ->> tour à tour                                  # Locution adverbiale invariable. Écrivez “tour à tour”.|https://fr.wiktionary.org/wiki/tour_%C3%A0_tour
        <<- ~>> *

TEST: ils sont {{tours à tours}} fâchés.


# tout à coup
__conf_tout_à_coup__
    !! tout à coup ¡¡
    [tout|toute|toutes] [à|a|as|ah|ha] [>cou|>coût|>cout|coup+s]
        <<- /conf/ ->> tout à coup                                  # Confusion.|https://fr.wiktionary.org/wiki/tout_%C3%A0_coup

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


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

TEST: {{Toutes choses égales part ailleurs}}.
TEST: ce serait, toutes choses égales par ailleurs, la meilleure solution possible.


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

TEST: {{un temps soit peu}} perdu dans cette affaire.
TEST: ils l’avaient {{1 tant soi peu}} oublié
TEST: être un tant soit peu courageux, ça ne peut pas faire de mal


# verre / vers / vert / ver
__conf_ver_vers_verre_vert__
    ce [ver|>verre|>verte] quoi
        <<- /conf/ -2>> vers                                        # Confusion. Dans la locution “ce vers quoi”, écrivez “vers” (qui signifie “en direction de”).

    [le|ce|du|un] [>verre|vert|verts|vers] ?qui¿ [ai|ait|es|est|>étai|était|étais|serais|serai|serait|fut|fût|fus] dans le fruit
    [le|ce|du|un] [>verre|vert|verts|vers] dans le fruit
        <<- /conf/ -2>> ver
        # Confusion. Verre = matière. Vert = couleur. Vers = suite de mots rythmés. Vers = préposition (« en direction de »). L’animal s’écrit “ver”.

    [>verre|vert|verts] de terre
        <<- /conf/ -1>> verre|verres
        # Confusion. Verre = matière. Vert = couleur. Vers = suite de mots rythmés. Vers = préposition (« en direction de »). L’animal s’écrit “ver”.

    [>ver|vert|verts] [de|d’] [>bière|>cidre|>contact|>champagne|>chianti|>dégustation|jus|>lait|>limonade|>rosé|>rhum|>sécurité|>thé|>vin|>whisky|>alcool|>absinthe|>eau|>urine]
        <<- /conf/ -1>> verre|verres
        # Confusion probable. Verre = matière. Vert = couleur. Ver = animal invertébré rampant. Vers = suite de mots rythmés. Vers = préposition (« en direction de »).

    >tirer ?[pas|jamais]¿ les [>verre|verts] du nez
        <<- /conf/ --3>> vers
        # Confusion. Verre = matière. Vert = couleur. L’animal s’écrit “ver”.

TEST: ce {{vert}} quoi nous allons, c’est une catastrophe à l’échelle planétaire.
TEST: en finir avec le {{vert}} qui était dans le fruit.
TEST: un immonde {{vert}} de terre
TEST: Un {{ver}} de bière fraîche.
TEST: On va lui tirer les {{verts}} du nez


# voix / voie / vois / voit
__conf_voie_voix_vois_voit__
    à haute [>voie|vois|voit]
    à haute et intelligible [>voie|vois|voit]
    de vive [>voie|vois|voit]
    à portée de [>voie|vois|voit]
        <<- /conf/ --1>> voix       # Confusion. Pour évoquer un son humain, animal ou instrumental, écrivez “voix”.|http://fr.wiktionary.org/wiki/voix

    à [>voie|vois|voit] [basse|haute|basses|hautes]
        <<- /conf/ -2>> voix        # Confusion. Pour évoquer un son humain, animal ou instrumental, écrivez “voix”.|http://fr.wiktionary.org/wiki/voix

    [>entendre|>écouter] ?@:[WX]¿ $:D >voie
        <<- /conf/ -3>> voix        # Confusion. Pour évoquer un son humain, animal ou instrumental, écrivez “voix”.|http://fr.wiktionary.org/wiki/voix

    sur la bonne voix
    en bonne [voix|vois|voit]
        <<- /conf/ --1>> voie       # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

    >ouvrir ?@:[WX]¿ la voix [à|au|aux|<end>]
        <<- /conf/ -3>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

    en voix [de|d’] [développement|disparition|guérison|résorption|acquisition|achèvement|extinction|obtention]
    par voix de >conséquence
        <<- /conf/ -2>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

    voix [abdominale|anale|biliaire|bitumée|carrossable|communale|express|interdite|intramusculaire|intraveineuse|piétonne|principale|prioritaire|privée|publique|déserte|romaine|appienne|flaminienne|ferrée|ferroviaire|lactée|lacrymale|aérienne|maritime|fluviale|terrestre|navigable|détournée|déviée|buccale|digestive|urinaire|respiratoire|parallèle|administrative|diplomatique|gouvernementale|législative|hiérarchique|pavée|rectiligne|sinueuse|souterraine|urbaine]
    voix [de|d’] garage
    voix [de|d’] [recours|perdition]
        <<- /conf/ -1>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

    voix [abdominales|anales|biliaires|bitumées|carrossables|communales|expresss|interdites|intramusculaires|intraveineuses|piétonnes|principales|prioritaires|privées|publiques|désertes|romaines|appiennes|flaminiennes|ferrées|ferroviaires|lactées|lacrymales|aériennes|maritimes|fluviales|terrestres|navigables|détournées|déviées|buccales|digestives|urinaires|respiratoires|parallèles|administratives|diplomatiques|gouvernementales|législatives|hiérarchiques|pavées|rectilignes|sinueuses|souterraines|urbaines]
        <<- /conf/ -1>> voies       # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

TEST: elles sont là, à portée de {{voie}}
TEST: ces patients sont en {{voix}} de guérison.
TEST: à {{voie}} basse
TEST: écoute cette {{voie}} magnifique
TEST: sur la bonne {{voix}}
TEST: c’est en bonne {{voix}}.
TEST: il faut ouvrir la {{voix}} aux nouveaux venus.
TEST: Je propse que, par {{voix}} de conséquence, nous partions immédiatement.
TEST: C’est une {{voix}} interdite.
TEST: les {{voix}} gouvernementales sont impénétrables.
TEST: c’est une {{voix}} de perdition sur laquelle vous vous engagez.


# voir / voire
__conf_voir_voire__
    voir [grand|petit|rouge]
        <<- !2>>

    voir  @:A¬:[NGM]
        <<- /conf/ not \2.istitle() and not morph(<1, ":O[os]|>(?:[ndmts]e|aller|falloir|pouvoir|savoir|vouloir|préférer|faire|penser|imaginer|souhaiter|désirer|espérer|de|à)/")
            and not before("(?i)\\b[ndmts](?:e |’(?:en |y ))(?:pas |jamais |) *$")
        -1>> voire                      # Confusion probable : “voir” est un verbe concernant la perception visuelle. Pour signifier “et même possiblement”, écrivez “voire”.|https://fr.wiktionary.org/wiki/voire

    [comme|lorque|puisque|quand|que|quoique|si]                                 voire
    [ni|par|pour|sans]                                                          voire
    [>aller|>falloir|>pouvoir|>vouloir]  ?[guère|jamais|pas|plus|point|rien]¿   voire
        <<- /conf/ --1>> voir           # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire

    [et|ou] voire  $:D
        <<- /conf/ -2>> voir            # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire

TEST: Elles sont fatiguées, {{voir}} épuisées.
TEST: Ce serait pour aider, ainsi que {{voire}} l’avancement du projet.
TEST: Je ne vais jamais {{voire}} ces gens-là.
TEST: penser juste et {{voire}} la vérité.
TEST: Elles vont voir rouge en apprenant cet échec.
TEST: Voir les enfants jouer ne me rend pas nostalgique.
TEST: Il faut voir grand.
TEST: Il sait voir grand.
TEST: Il sait voir telle ou telle chose avec acuité.
TEST: ça reste à voir
TEST: Je veux le voir étonné par toutes ces merveilles.
TEST: Les start-ups doivent aller vite, voir grand.
TEST: de fortes chances de se voir ruiné
TEST: Quelle chance tu as eue de voir ruiné ce connard.
TEST: l’immobilier a été ces dernières années l’investissement le plus rentable (voir graphique ci-dessous)
TEST: elles sont pas mal ainsi, voire élégantes pourrait-on dire.
TEST: il y en a peu, voire très peu.
TEST: car elles pénètrent dans les poumons voire le système sanguin.
TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants.
TEST: les membres de l’équipage commencent à voir flou
TEST: un travail qu’il préfère voir effectué par un spécialiste plutôt que par lui-même
TEST: médicaments qui me donnent envie de vomir, qui m’abrutissent, qui me font voir flou
TEST: nous allons voir différentes façons d’utiliser le film pour tourner en dérision sa politique
TEST: mettre en place des projets à la philosophie différente, voire antagoniste
TEST: ce pouvoir politique de décision que le mouvement souhaitait voir restauré
TEST: les groupes anti-avortement cherchant à faire adopter des lois qu’ils espèrent voir confirmées par la Cour suprême


# vieil / vieux
__conf_vieil_vieux_euphonie__
    vieux  homme
        <<- /conf/ -1>> vieil                                   # Euphonie. Utilisez “vieil” pour un nom masculin singulier commençant par une voyelle ou un h.|https://fr.wikipedia.org/wiki/Euphonie

    vieux  ~^[aeéiîou]
        <<- /conf/ morph(\2, ":[NA].*:[me]:s", ":[123][sp]")
        -1>> vieil                                              # Euphonie. Utilisez “vieil” pour un nom masculin singulier commençant par une voyelle ou un h.|https://fr.wikipedia.org/wiki/Euphonie

TEST: ce {{vieux}} homme
TEST: c’est un {{vieux}} imbécile.
TEST: Le {{vieux}} homme était parti.                         ->> vieil
TEST: Diviser les jeunes et les vieux est un peu son fonds de commerce



!!!! Confusions de vocabulaire                                                                    !!

__conf_vocabulaire!5__
    [con+s] >cul >pisse >anse
    [con+s] >cul >pisse [>an|>en] [se|ce]
        <<- /conf/ ->> concupiscence                            # Confusion de vocabulaire ?|https://fr.wiktionary.org/wiki/concupiscence

    [con+s] >cul [pissant+s]
    [con+s] >cul >pisse [>an|>en]
        <<- /conf/ ->> concupiscent|concupiscents               # Confusion de vocabulaire ?|https://fr.wiktionary.org/wiki/concupiscent

    [con+s] >cul [pissante+s]
    [con+s] >cul >pisse [ante|ente]
    [con+s] >cul >pisse [>an|>en] te
        <<- /conf/ ->> concupiscente|concupiscentes             # Confusion de vocabulaire ?|https://fr.wiktionary.org/wiki/concupiscent

    [dix|dis|dit+ses|des] [>tir|>tire|tirent] [en|>an|han] [>bique|>bic|>bec]
    [dix|dis|dit+ses|des] [>tyran|>tirant] [>bique|>bic]
        <<- /conf/ ->> dithyrambique|dithyrambiques             # Confusion de vocabulaire ?|https://fr.wiktionary.org/wiki/dithyrambique

TEST: des brutes pleines de {{cons culs pisse anse}}
TEST: un homme {{con cul pissant}}
TEST: elle se montrait souvent {{con cul pissante}}
TEST: des éloges {{dits tirs en bique}}




!!!! Singuliers et pluriels                                                                       !!

# ayants droit
__sgpl_ayants_droit__
    [les|des|ces|ses|nos|vos|leurs] ayant [droit|droits]
        <<- /sgpl/ -2:3>> ayants droit                              # Au singulier : “un ayant droit”. Au pluriel : “des ayants droit”.

TEST: Comment lutter contre la cupidité des {{ayant droits}}
# Note: À supprimer? Graphie qui tend vers la soudure et le pluriel régulier (ayant-droit(s))


# bien
__sgpl_très_bien__
    très biens
        <<- /sgpl/ -2>> bien                                        # Adverbe ou adjectif, “bien” est invariable.|https://fr.wiktionary.org/wiki/bien

TEST: Très {{biens}} connus des services de police, il leur fut difficile de passer entre les mailles du filet.


# ensemble
__sgpl_ensemble__
    [toutes|tous] ensembles
        <<- /sgpl/ -2>> ensemble                                    # Ici, “ensemble” est un adverbe, donc invariable.|https://fr.wiktionary.org/wiki/ensemble

TEST: Allons-y toutes {{ensembles}}                             ->> ensemble


# entre autres
__sgpl_entre_autres__
    entre autre ,
    entre autre @:(?:[GW]|[NA].*:[pi])
        <<- /sgpl/ -2>> autres                                      # La locution “entre autres”, toujours au pluriel.|https://fr.wiktionary.org/wiki/entre_autres

    entre >autre chose
        <<- /sgpl/ -2:3>> autres choses                             # La locution “entre autres choses”, toujours au pluriel.

TEST: Des raisons ? Entre {{autre}} je n’en savais pas plus que lui.
TEST: il y eut, entre {{autre}}, des erreurs commises.
TEST: il y aura entre {{autre chose}} des répercussions terribles.
TEST: il y aura entre {{autre}} choses des répercussions terribles.


# nul et non avenu
__sgpl_nul_et_non_avenu__
    nul et non >avenue
        <<- /sgpl/ not value(\-1, "|avenu|") --1>> avenu            # Accord avec “\1”.

    nulle et non >avenue
        <<- /sgpl/ not value(\-1, "|avenue|") --1>> avenue          # Accord avec “\1”.

    nuls et non >avenue
        <<- /sgpl/ not value(\-1, "|avenus|") --1>> avenus          # Accord avec “\1”.

    nulles et non >avenue
        <<- /sgpl/ not value(\-1, "|avenues|") --1>> avenues        # Accord avec “\1”.

TEST: c’est nul et non {{avenue}}                       ->> avenu
TEST: des éléments nuls et non {{avenues}}              ->> avenus
TEST: une tentative nulle et non {{avenu}}              ->> avenue
TEST: nulles et non {{avenue}}                          ->> avenues


# en termes de
__sgpl_en_termes_de__
    en terme [de|d’]
        <<- /sgpl/ -2>> termes                                      # Dans la locution “en termes de”, mettez “terme” au pluriel.

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


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

__sgpl_une_bonne_fois_pour_toutes__
    une fois pour (toute)
    une bonne fois pour (toute)
        <<- /sgpl/ -1>> toutes                                      # Mettez “toute” au pluriel. Sous-entendu : une fois pour toutes les autres fois.

TEST: ils lancent des attaques {{tout azimut}}.
TEST: une bonne fois pour {{toute}}
TEST: ce sera réglé une fois pour {{toute}} quand il sera capturé.


# vu de ses yeux vu
__sgpl_vu_de_ses_yeux_vu__
    [vu|vue|vus|vues]  de  [mes|tes|ses|nos|vos|leurs]  yeux  [vu|vue|vus|vues]
        <<- /sgpl/ \1.lower() != \-1.lower() --1>> \1                                               # Accord avec “\1”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4532

    [vu|vue|vus|vues]  ,  de  [mes|tes|ses|nos|vos|leurs]  yeux  [vu|vue|vus|vues]  [,|<end>]
        <<- /sgpl/ \1.lower() != \-2.lower() --2>> \1                                               # Accord avec “\1”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4532

TEST: Elles les ont vues de ses yeux {{vue}}
TEST: Il l’a vue, de ses yeux {{vu}}.
TEST: Je suis sûr de l’avoir vu, de mes yeux vu.
TEST: Je suis sûr de l’avoir vue, de mes yeux vue.
TEST: Je suis sûr de les avoir vus, de mes yeux vus.
TEST: Je suis sûr de les avoir vus de mes yeux vus.


# ni vu ni connu
__ni_vu_ni_connu__
    ni [vus|vue|vues] ni [connu|connus|connue|connues]
    ni vu ni [connus|connue|connues]
        <<- /sgpl/ ->> ni vu ni connu                                                               # Ni vu ni connu : locution invariable.|https://fr.wiktionary.org/wiki/ni_vu_ni_connu

TEST: {{ni vus ni connus}}, on va s’en occuper.
TEST: ni vu ni connu, j’t’embrouille.



!!
!!
!!!! Casse: majuscules et minuscules                                                              !!
!!
!!

# Les jours
__maj_jours_semaine__
    [*WORD|*NUM]    [Lundi|Mardi|Mercredi|Jeudi|Vendredi|Samedi|Dimanche]
    ,               [Lundi|Mardi|Mercredi|Jeudi|Vendredi|Samedi|Dimanche]
        <<- /maj/ -2:>> =\2.lower()
        # Pas de majuscule sur les jours de la semaine.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

TEST: Nous vous donnons rendez-vous {{Mercredi}} le 18.


# Les mois
__maj_mois__
    monarchie de Juillet
    révolution d’ Octobre
        <<- !3>>

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

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

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

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


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

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


# Les États
__maj_État__
    en fonction de l’ état
        <<- !5>>

    état [français|belge|suisse|canadien|palestinien|souverain|américain|russe|anglais|allemand|espagnol|italien|mexicain|japonais|chinois|australien|polonais|membre|africain|européen|asiatique|voyou|démocratique|totalitaire|fédéral|fédéré|capitaliste|communiste|providence|nation]
    état de droit
        <<- /maj/ \1 == "état" -1>> État                            # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.

    états [français|>belge|>suisse|canadien+s|palestinien+s|souverain+s|>membre|américain+s|africain+s|européen+s|>asiatique|>voyou|>démocratique|>totalitaire|>fédérale|>fédérée|>capitaliste|>communiste|>providence|>nation]
    états de droit
        <<- /maj/ \1 == "états" -1>> États                          # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.


    [>affaire|>agent|>administration|>chancellerie|>chef|>cheffe|>conseil|>coup|>diplôme|>doctorat|>emprunt|>lycée|>propriété|>secret|>homme|>femme|>police|>religion|>ministre|>ministère|>subvention|>secrétaire|secret|secrets|>secrétariat|>raison|>ressortissante|>université] d’ état
        <<- /maj/ \3 == "état" -3>> État                            # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.

    [>défense|>sûreté|>sureté|>agent|>budget|>caisse|>capitale|>constitution|>charge|>chef|>dirigeante|>denier|>finance|>fonction|>fonctionnement|>frontière|>institution|>propriété|>monopole|>pouvoir|>rouage|>ressource|>service|>subvention|>suprême] de l’ état
        <<- /maj/ \4 == "état" -4>> État                            # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.

    état-nation
    état-providence
    états-nation
    états-nations
    états-providence
    états-providences
        <<- /maj/ \1[0:1] == "é" -1>> =\1.replace("é", "É")         # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.

TEST: Nous n’avons reçu aucune décision de l’{{état}} fédéral.
TEST: Les {{états}} démocratiques ne sont gouvernés que par des hypocrites et des opportunistes.
TEST: C’est une affaire d’{{état}}.
TEST: la défense de l’{{état}}.                                         ->> État
TEST: C’est une prérogative de l’{{état-nation}}                        ->> État-nation


# gentilés / ethnonymes
__maj_gentilés__
    océan Indien
    [îles|iles] Britanniques
    à [la|l’] [afghane|albanaise|algérienne|allemande|américaine|andorrane|anglaise|angolaise|arabe|argentine|arménienne|australienne|autrichienne|asiatique|azerbaïdjanaise|bahamienne|bangladaise|bengladeshie|barbadienne|basque|belge|bélizienne|béninoise|bretonne|bhoutanaise|biélorusse|birmane|bolivienne|bosnienne|botswanaiso|brésilienne|britannique|brunéiene|bulgare|burkinabé|burundaise|cambodgienne|camerounaise|canadienne|capverdienne|centrafricaine|chilienne|chinoise|chypriote|colombienne|comorienne|congolaise|nord-coréenne|corse|costaricienne|croate|cubaine|danoise|djiboutienne|dominicaine|égyptienne|émiratie|équatorienne|érythréenne|estonienne|espagnole|étatsunienne|états-unienne|étasunienne|éthiopienne|fidjienne|finlandaise|formosane|française|gabonaise|gambienne|géorgienne|ghanéenne|grecque|grenadienne|guadeloupéenne|guatémaltèque|guinéenne|équato-guinéenne|guyanienne|haïtienne|honduriene|hollandaise|hongroise|indienne|indochinoise|indonésienne|irakienne|italienne|iranienne|irlandaise|islandaise|israélienne|ivoirienne|jamaïcaine|japonaise|jordanienne|kazakhe|kényane|kosovare|koweïtienne|laotienne|lapone|lettone|libanaise|libérienne|libyenne|liechtensteinoise|lituanienne|luxembourgeois|macédonienne|maghrébine|malgache|malaisienne|malawite|maldivienne|malienne|maltaise|maorie|marocaine|martienne|mauricienne|mauritanienne|mexicaine|micronésienne|moldave|monégasque|monténégrine|mongole|mozambicaine|namibiene|népalaise|nicaraguayenne|nigérienne|nigériane|néerlandaise|norvégienne|néo-zélandaise|ougandaise|ouzbèke|pakistanaise|palestinienne|panaméenne|paraguayenne|perse|péruvienne|philippine|polonaise|polynésienne|portugaise|québécoise|qatarie|roumaine|russe|rwandaise|saoudienne|scandinave|salvadorienne|sénégalaise|serbe|singapourienne|slovaque|slovène|somalienne|soudanaise|soviétique|srilankaise|suédoise|suisse|surinamaise|syrienne|sud-africaine|sud-coréenne|américaine|tadjike|tanzanienne|tchadienne|tchèque|thaïlandaise|togolaise|tahitienne|tunisiene|turkmène|turque|taïwanaise|ukrainienne|uruguayenne|vénézuélienne|vietnamienne|yéménite|yougoslave|zaïroise|zambienne|zimbabwéenne]
        <<- !-1>>

    [>afghane|>albanaise|>algérienne|>allemande|>américaine|>andorrane|>anglaise|>angolaise|>arabe|>argentine|>arménienne|>australienne|>autrichienne|>asiatique|>azerbaïdjanaise|>bahamienne|>bangladaise|>bengladeshie|>barbadienne|>basque|>belge|>bélizienne|>béninoise|>bretonne|>bhoutanaise|>biélorusse|>birmane|>bolivienne|>bosnienne|>botswanaiso|>brésilienne|>britannique|>brunéiene|>bulgare|>burkinabé|>burundaise|>cambodgienne|>camerounaise|>canadienne|>capverdienne|>centrafricaine|>chilienne|>chinoise|>chypriote|>colombienne|>comorienne|>congolaise|>nord-coréenne|>corse|>costaricienne|>croate|>cubaine|>danoise|>djiboutienne|>dominicaine|>égyptienne|>émiratie|>équatorienne|>érythréenne|>estonienne|>espagnole|>étatsunienne|>états-unienne|>étasunienne|>éthiopienne|>fidjienne|>finlandaise|>formosane|>française|>gabonaise|>gambienne|>géorgienne|>ghanéenne|>grecque|>grenadienne|>guadeloupéenne|>guatémaltèque|>guinéenne|>équato-guinéenne|>guyanienne|>haïtienne|>honduriene|>hollandaise|>hongroise|>indienne|>indochinoise|>indonésienne|>irakienne|>italienne|>iranienne|>irlandaise|>islandaise|>israélienne|>ivoirienne|>jamaïcaine|>japonaise|>jordanienne|>kazakhe|>kényane|>kosovare|>koweïtienne|>laotienne|>lapone|>lettone|>libanaise|>libérienne|>libyenne|>liechtensteinoise|>lituanienne|>luxembourgeois|>macédonienne|>maghrébine|>malgache|>malaisienne|>malawite|>maldivienne|>malienne|>maltaise|>maorie|>marocaine|>martienne|>mauricienne|>mauritanienne|>mexicaine|>micronésienne|>moldave|>monégasque|>monténégrine|>mongole|>mozambicaine|>namibiene|>népalaise|>nicaraguayenne|>nigérienne|>nigériane|>néerlandaise|>norvégienne|>néo-zélandaise|>ougandaise|>ouzbèke|>pakistanaise|>palestinienne|>panaméenne|>paraguayenne|>perse|>péruvienne|>philippine|>polonaise|>polynésienne|>portugaise|>québécoise|>qatarie|>roumaine|>russe|>rwandaise|>saoudienne|>scandinave|>salvadorienne|>sénégalaise|>serbe|>singapourienne|>slovaque|>slovène|>somalienne|>soudanaise|>soviétique|>srilankaise|>suédoise|>suisse|>surinamaise|>syrienne|>sud-africaine|>sud-coréenne|>américaine|>tadjike|>tanzanienne|>tchadienne|>tchèque|>thaïlandaise|>togolaise|>tahitienne|>tunisiene|>turkmène|>turque|>taïwanaise|>ukrainienne|>uruguayenne|>vénézuélienne|>vietnamienne|>yéménite|>yougoslave|>zaïroise|>zambienne|>zimbabwéenne]
        <<- /maj/ \1.istitle() and morph(<1, ":N", ":(?:A|V0e|D|R|B|X)") -1:>> =\1.lower()          # S’il s’agit d’un adjectif, ne mettez pas de majuscule.
        <<- /maj/ \1.islower() and not \1.startswith("canadienne") and
            ( value(<1, "|certains|certaines|ce|cet|cette|ces|des|les|nos|vos|leurs|quelques|plusieurs|chaque|une|aux|la|ma|ta|sa|")
            or ( morph(<1, ":B") and not morph(<2, ">numéro/") )
            or ( value(<1, "|l’|") and morph(\1, ":N.*:f:[si]") )
            or ( value(<1, "|de|d’|") and morph(<2, ">(?:beaucoup|énormément|multitude|tant|tellement|poignée|groupe|car|bus|équipe|plus|moins|pas|trop|majorité|millier|million|centaine|dizaine|douzaine|combien|photo|complot|enlèvement|témoignage|viol|meurtre|assassinat|duel|tiers|quart|pourcentage|proportion|génération|portrait|rencontre|reportage|parole|communauté|vie|rassemblement|bataillon|armée|émigration|immigration|invasion|trio|couple|famille|descendante|action|attente|désir|souhait|vote|volonté)/") )
            or ( value(<1, "|un|") and not value(<2, "|dans|numéro|") and not after("(?:approximatif|correct|courant|parfait|facile|aisé|impeccable|incompréhensible)") ) )
        -1>> =\1.capitalize()                                                                       # S’il s’agit d’un gentilé, mettez une majuscule.

    [un|une|certains|certaines|ce|cet|cette|ces|le|la|les|l’|des|quelques|plusieurs|chaque] [>européenne|>parisienne|>lyonnaise|>marseillaise|>lilloise|>toulousaine|>nantaise|>strasbourgeoise|>montpelliéraine|>bordelaise|>bruxelloise|>montréalaise|>londonienne|>genévoise|>zurichoise|>bâloise|>berlinoise|>romaine|>californienne]
        <<- /maj/ \2.islower() -2>> =\2.capitalize()                                                # S’il s’agit d’un gentilé, mettez une majuscule.

TEST: deux {{français}}                                                 ->> Français
TEST: des {{français}} sont arrivés                                     ->> Français
TEST: c’est de conception {{Allemande}}                                 ->> allemande
TEST: une référence aux {{israéliens}}
TEST: une {{érythréenne}}
TEST: c’est la volonté d’{{anglais}} fâchés
TEST: et des {{soudanaises}}.
TEST: des {{parisiens}} en vacances
TEST: Beaucoup de {{suisses}} partent en vacances à l’étranger
TEST: L’{{américaine}} est arrivée hier.
TEST: les Îles Britanniques.
TEST: Allemands contre Grecs, Grecs contre Allemands
TEST: sept Français sur dix
TEST: l’océan Indien
TEST: Je leur explique dans un anglais que la fatigue m’empêche de bien prononcer.
TEST: des jardins à l’anglaise.


# les langues
__maj_langues__
    [>parler|cours|>leçon|>apprendre|>étudier|>traduire|>enseigner|>professeure|>enseignante|>dictionnaire|>méthode] [le|de|du|l’|d’|que|qu’] [Afrikaans|Albanais|Allemand|Alsacien|Anglais|Arabe|Aragonais|Arménien|Asturien|Basque|Bengali|Biélorusse|Birman|Bosniaque|Breton|Bulgare|Cantonais|Catalan|Cherokee|Chinois|Corse|Cornique|Coréen|Croate|Danois|Écossais|Espagnol|Espéranto|Estonien|Féroïen|Farsi|Finnois|Flamand|Français|Frison|Galicien|Gallois|Gaulois|Géorgien|Grec|Gujarati|Hakka|Hawaïen|Hébreu|Hindi|Hollandais|Hongrois|Javanais|Ido|Indonésien|Interlingua|Islandais|Italien|Irlandais|Japonais|Kazakh|Khmer|Kurde|Ladino|Laotien|Latin|Ligurien|Limbourgeois|Lituanien|Lombard|Luxembourgeois|Macédonien|Malais|Maldivien|Malgache|Maltais|Mandarin|Maori|Marathi|Marwari|Moldave|Mongol|Napolitain|Néerlandais|Norvégien|Occitan|Ourdou|Ouzbek|Persan|Peul|Piémontais|Polonais|Portugais|Provençal|Quichua|Romanche|Roumain|Russe|Sans[ck]rit|Sarde|Serbe|Sicilien|Sindhi|Slovaque|Slovène|Soudanais|Sorabe|Suédois|Swahili|Tagalog|Tahitien|Tamoul|Tatar|Tchèque|Thaï|Turc|Ukrainien|Vénitien|Vietnamien|Volapük|Wallon|Wou|Wu|Yiddish|Xhosa|Xiang|Zoulou]
        <<- /maj/ -3:>> =\3.lower()                                                                 # Si vous parlez de la langue, pas de majuscule.

    en [Afrikaans|Albanais|Allemand|Alsacien|Anglais|Arabe|Aragonais|Arménien|Asturien|Basque|Bengali|Biélorusse|Birman|Bosniaque|Breton|Bulgare|Cantonais|Catalan|Cherokee|Chinois|Cornique|Coréen|Croate|Danois|Écossais|Espagnol|Espéranto|Estonien|Féroïen|Farsi|Finnois|Flamand|Français|Frison|Galicien|Gallois|Gaulois|Géorgien|Grec|Gujarati|Hakka|Hawaïen|Hébreu|Hindi|Hollandais|Hongrois|Javanais|Ido|Indonésien|Interlingua|Islandais|Italien|Irlandais|Japonais|Kazakh|Khmer|Kurde|Ladino|Laotien|Latin|Ligurien|Limbourgeois|Lituanien|Lombard|Luxembourgeois|Macédonien|Malais|Maldivien|Malgache|Maltais|Mandarin|Maori|Marathi|Marwari|Moldave|Mongol|Napolitain|Néerlandais|Norvégien|Occitan|Ourdou|Ouzbek|Persan|Peul|Piémontais|Polonais|Portugais|Provençal|Quichua|Romanche|Roumain|Russe|Sans[ck]rit|Sarde|Serbe|Sicilien|Sindhi|Slovaque|Slovène|Soudanais|Sorabe|Suédois|Swahili|Tagalog|Tahitien|Tamoul|Tatar|Tchèque|Thaï|Turc|Ukrainien|Vénitien|Vietnamien|Volapük|Wallon|Wou|Wu|Yiddish|Xhosa|Xiang|Zoulou]
        <<- /maj/ -2:>> =\2.lower()                                                                 # Si vous parlez de la langue, pas de majuscule.

TEST: il ne parle qu’{{Allemand}}.
TEST: ta traduction en {{Russe}} est superbe.


# Moyen Âge
__maj_Moyen_Âge__
    [Moyen-Age|Moyen-Âge]
    [moyen-âge|moyen-age]
    moyen age
        <<- /maj/ ->> Moyen Âge                                     # Le “Moyen Âge”, l’époque médiévale.

    moyen âge
        <<- /maj/ \1.islower() and \2.islower() ->> Moyen Âge       # Le “Moyen Âge”, l’époque médiévale.

TEST: C’est le {{moyen age}}, chez ces ploucs.          ->> Moyen Âge
TEST: au {{moyen âge}}


# Église
__maj_Église__
    l’ église [adventiste|anglicane|copte|catholique|calviniste|épiscopalienne|jacobite|luthérienne|lutherienne|méthodiste|mormone|néo-apostolique|néoapostolique|orthodoxe|pentecôtiste|presbytérienne|protestante|réformée]
        <<- /maj/ \2.islower() -2>> Église                          # Lorsqu’on parle de l’institution, une majuscule est requise. Pour un bâtiment, pas de majuscule.

    >homme d’ église
        <<- /maj/ \3.islower() -3>> Église                          # Lorsqu’on parle de l’institution, une majuscule est requise. Pour un bâtiment, pas de majuscule.

    [>chef|>rite|>sacrement] de l’ église
        <<- /maj/ \4.islower() -4>> Église                          # Lorsqu’on parle de l’institution, une majuscule est requise. Pour un bâtiment, pas de majuscule.

    [*WORD|*WORD_ELIDED] [Église|Églises] [>baroque|>gothique|>romane|~^Saint-[A-ZÉÊ]]
    ,                    [Église|Églises] [>baroque|>gothique|>romane|~^Saint-[A-ZÉÊ]]
        <<- /maj/ -2:>> église                                      # Pour un bâtiment, une minuscule est requise. La majuscule est pour l’institution.

TEST: L’{{église}} orthodoxe.                                           ->> Église
TEST: un homme d’{{église}}                                             ->> Église
TEST: les sacrements de l’{{église}}                                    ->> Église
TEST: Une {{Église}} baroque.                                           ->> église
TEST: L’{{Église}} Saint-Paul.                                          ->> église
TEST: Un homme d’{{église}}.                                            ->> Église


# Points cardinaux
__maj_Nord_Sud_Est_Ouest__
    [Afrique|Amérique|Asie|Corée|Galles|Europe|Irlande|Soudan|Rhodésie|Territoire] du [nord|sud]
        <<- /maj/ \3.islower() -3>> =\3.capitalize()                # Majuscule manquante.

    [Afrique|Allemagne|ex-Allemagne|Asie|Europe|Pays] de l’ [ouest|est]
        <<- /maj/ \4.islower() -4>> =\4.capitalize()                # Majuscule manquante.

TEST: Ça se passe en Europe du {{nord}}.
TEST: J’ai visité toute l’Afrique du {{sud}}.
TEST: Dans l’Europe de l’{{ouest}}.


# Unités de mesure
__maj_unités__
    *NUM  [Mètre+s|Watt+s|Gramme+s|Seconde+s|Ampère+s|Kelvin+s|Mole+s|Candela+s|Candéla+s|Hertz|Henry+s|Newton+s|Pascal+s|Joule+s|Coulomb+s|Volt+s|Ohm+s|Farad+s|Tesla+s|Weber+s|Wéber+s|Radian+s|Stéradian+s|Lumen+s|Lux|Becquerel+s|Gray+s|Sievert+s|Siemens|Katal+s]
    $:B   [Mètre+s|Watt+s|Gramme+s|Seconde+s|Ampère+s|Kelvin+s|Mole+s|Candela+s|Candéla+s|Hertz|Henry+s|Newton+s|Pascal+s|Joule+s|Coulomb+s|Volt+s|Ohm+s|Farad+s|Tesla+s|Weber+s|Wéber+s|Radian+s|Stéradian+s|Lumen+s|Lux|Becquerel+s|Gray+s|Sievert+s|Siemens|Katal+s]
    *NUM  ~(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Milli|Micro|Nano|Pico|Femto|Atto|Ze(?:pto|tta)|Yo(?:cto|etta))(?:mètre|watt|gramme|seconde|ampère|kelvin|mole|cand[eé]la|hertz|henry|newton|pascal|joule|coulomb|volt|ohm|farad|tesla|w[eé]ber|radian|stéradian|lumen|lux|becquerel|gray|sievert|siemens|katal)s?$
    $:B   ~(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Milli|Micro|Nano|Pico|Femto|Atto|Ze(?:pto|tta)|Yo(?:cto|etta))(?:mètre|watt|gramme|seconde|ampère|kelvin|mole|cand[eé]la|hertz|henry|newton|pascal|joule|coulomb|volt|ohm|farad|tesla|w[eé]ber|radian|stéradian|lumen|lux|becquerel|gray|sievert|siemens|katal)s?$
        <<- /maj/ not \2.isupper() -2:>> =\2.lower()                # Pas de majuscule sur les unités de mesure.|https://fr.wikipedia.org/wiki/Unit%C3%A9_de_mesure

TEST: J’en veux 3 {{Mètres}}.                           ->> mètres
TEST: Elle en prendra vingt {{Grammes}}.                ->> grammes



!!
!!
!!!! Locutions invariables                                                                        !!
!!
!!

__locutions_invariables__
    [plus|moins|autant]  que  [prévue|prévus|prévues]
        <<- /sgpl/ -3>> prévu                                                                       # Invariable. Implicitement, \1 que ce qui était prévu.

    [plus|moins|aussi]  *WORD  que  [prévue|prévus|prévues]
        <<- /sgpl/ -4>> prévu                                                                       # Invariable. Implicitement, \1 \2 que ce qui était prévu.

    [plus|moins|autant]  [de|d’]  *WORD  que  [prévue|prévus|prévues]
        <<- /sgpl/ -5>> prévu                                                                       # Invariable. Implicitement, \1 \2 \3 que ce qui était prévu.

    comme [annoncés|annoncée|annoncées]
        <<- /sgpl/ -2>> annoncé                                                                     # Invariable. Implicitement, comme ce qui était annoncé.

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

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

TEST: il y en a autant que {{prévus}}.
TEST: elles sont plus nombreuses plus que {{prévues}}
TEST: il y a moins de bouffe que {{prévue}}
TEST: comme {{annoncés}}, ils sont arrivés                      ->> annoncé
TEST: moins loin que {{prévus}}                                 ->> prévu
TEST: plus rapide que {{prévues}}                               ->> prévu
TEST: autant d’hommes que {{prévus}}                            ->> prévu
TEST: il y en a moins que {{prévues}}                           ->> prévu
TEST: comme {{convenus}}                                        ->> convenu
TEST: comme {{prévus}}                                          ->> prévu



!!
!!
!!!! Tout, tous, toute, toutes                                                                    !!
!!
!!

__purge_tout_tous_toutes__
    [fais-les|fais-nous]                        [tous|toutes]
    [faisons-les|faisons-nous|faisons-vous]     [tous|toutes]
    [faites-les|faites-nous|faites-vous]        [tous|toutes]
        <<- ~2>> *

    [laisse-les|laisse-nous]                    [tous|toutes]
    [laissons-les|laissons-nous|laissons-vous]  [tous|toutes]
    [laissez-les|laissez-nous|laissez-vous]     [tous|toutes]
        <<- ~2>> *

    [les|des|mes|tes|ses|ces|nos|vos|leurs|aux]  tout  [débuts|petits]
    [les|des|mes|tes|ses|ces|nos|vos|leurs|aux]  tout  @:A.*:[pi]
        <<- ~2>> *


__gn_tout_det__
    [<start>|,]  tout [deux|trois]
        <<- /gn/ -2>> tous                                                                          # Locution pronominale : « tous deux ».|https://fr.wiktionary.org/wiki/tous_deux

    tout [mes|tes|ses|ces|nos|vos|leurs|ceux|celles]
        <<- /gn/ not morph(<1, ">(?:d[eu]|avant|après|malgré)/") -1>> tous                          # Erreur d’accord probable avec « \2 ».

    tout les @:¬:(?:3s|Oo)
        <<- /gn/ not morph(<1, ">(?:d[eu]|avant|après|malgré)/") -1>> tous                          # Erreur d’accord probable avec « les \3 ».

TEST: {{Tout}} deux sont partis les premiers.
TEST: {{Tout}} mes hommes sont venus.
TEST: {{Tout}} les hommes sont dingues.
TEST: Donne à manger à {{tout}} ceux qui sont là.
TEST: Revenus de tout ceux qui sont partis ont perdu la foi.
TEST: car malgré tout ceux qui persistent obtiennent parfois justice.
TEST: je ne connais pas du tout ceux dont tu parles.
TEST: Malgré tout ces hommes sont quand même revenus.
TEST: Les tout premiers hommes.
TEST: Les tout petits ne sont pas des légumes.


__gn_toute_det__
    toute [celles|les|des|mes|tes|ses|ces]
        <<- /gn/ -1>> toutes                                                                        # Erreur d’accord probable avec “\2”.

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

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

TEST: {{Toute}} celles qui viendront…
TEST: et {{toute}} ce barouf ne nous a apporté que des ennuis.
TEST: car {{toute}} mon savoir vient d’elle
TEST: toute mon ignorance


__gn_tous_det_nom__
    [<start>|,]     tous    [des|mes|tes|ses|ces]   @:[NA].*:f¬:[me]
    [<start>|,]     tous    [les]                   @:[NA].*:f¬:(?:3p|[me]|Y)
        <<- /gn/ -2>> toutes                                                                        # Erreur d’accord probable : « \4 » est féminin.
        <<- /gn/ __also__ and hasFemForm(\4) -4>> =suggMasPlur(\4, True)                            # Erreur d’accord probable : « \2 » est masculin.

    tous    [des|mes|tes|ses|ces]   @:[NA].*:f¬:[me]
    tous    [les]                   @:[NA].*:f¬:(?:3p|[me]|Y)
        <<- /gn/ morph(<1, ":", ":(?:R|[123][sp]|Q)|>(?:[nv]ous|eux)/") -1>> toutes                 # Erreur d’accord probable : « \3 » est féminin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggMasPlur(\3, True)                            # Erreur d’accord probable : « \1 » est masculin.

TEST: {{tous}} ces {{idiotes}}
TEST: indubitablement {{tous}} des {{privilégiées}}
TEST: ça consiste à ne pas tous les lire


__gn_toutes_det_nom__
    [<start>|,]     toutes  [des|mes|tes|ses|ces]   @:[NA].*:m¬:[fe]
    [<start>|,]     toutes  [les]                   @:[NA].*:m¬:(?:3p|[fe]|Y)
        <<- /gn/ -2>> tous                                                                          # Erreur d’accord probable : « \4 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\4) -4>> =suggFemPlur(\4, True)                            # Erreur d’accord probable : « \2 » est féminin.

    toutes  [des|mes|tes|ses|ces]   @:[NA].*:m¬:[fe]
    toutes  [les]                   @:[NA].*:m¬:(?:3p|[fe]|Y)
        <<- /gn/ morph(<1, ":", ":(?:R|[123][sp]|Q)|>(?:[nv]ous|eux)/") -1>> tous                   # Erreur d’accord probable : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True)                            # Erreur d’accord probable : « \1 » est féminin.

TEST: {{toutes}} mes {{bars}}
TEST: vraiment {{toutes}} des {{costauds}}


__gn_tout_nom__
    [<start>|,] tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
    de          tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
        <<- /gn/ -3>> =suggMasSing(\3, True)                                                        # Accord avec “tout” : “\3” devrait être au masculin singulier.

    tout  @:N.*:[fp]¬:(?:A|W|G|M|Y|[me]:[is]|3s)
        <<- /gn/ morph(<1, ":R", ":D.*:p") -2>> =suggMasSing(\2, True)                              # Accord avec “tout” : “\2” devrait être au masculin singulier.

TEST: Tout {{hommes}}
TEST: se méfie de tout {{amours}} trop encombrant
TEST: contre tout {{arrangements}}
TEST: Tout les sépare.
TEST: les tout débuts du mouvement ouvrier
TEST: vos tout débuts furent difficiles
TEST: aux tout débuts, il y eut bien des erreurs
TEST: comment les inégalités sociales impactent la santé des tout petits


__gn_tous_nom__
    [<start>|,] tous  @:[NA].*:[fs]¬:(?:W|P|G|M|[me]:[ip]|3p)
    de          tous  @:[NA].*:[fs]¬:(?:W|P|G|M|Y|[me]:[ip]|3[sp])
        <<- /gn/ -3>> =suggMasPlur(\3, True)                                                        # Accord avec “tous” : “\3” devrait être au masculin pluriel.

    tous  @:[NA].*:[fs]¬:(?:W|G|M|Y|P|3[sp]|[me]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggMasPlur(\2, True)                                        # Accord avec “tous” : “\2” devrait être au masculin pluriel.

TEST: tous {{fou}} à lier
TEST: De tous {{âge}} !
TEST: par tous {{homme}} capable de comprendre
TEST: l’existence d’un enseignement supérieur public, peu onéreux et ouvert à tous est d’une importance cruciale.
TEST: la survie de tous est plus importante que les profits de quelques-uns
TEST: tous ayant souffert du supplice de séjourner derrière les barreaux


__gn_toute_nom__
    [<start>|,] toute  @:[NA].*:[mp]¬:(?:W|P|G|M|[fe]:[is])
    de          toute  @:[NA].*:[mp]¬:(?:W|P|G|M|Y|[fe]:[is])
        <<- /gn/ -3>> =suggFemSing(\3, True)                                                        # Accord avec “toute” : “\3” devrait être au féminin singulie
        <<- /gn/ morph(\3, ":[NA].*:f:p") -2>> toutes                                               # Accord avec “\3”.

    toute  @:[NA].*:[mp]¬:(?:W|G|M|Y|P|[fe]:[is])
        <<- /gn/ morph(<1, ":R") -2>> =suggFemSing(\2, True)                                        # Accord avec “toute” : “\2” devrait être au féminin singulier.
        <<- /gn/ __also__ and morph(\2, ":[NA].*:f:p") -1>> toutes                                  # Accord avec “\2”.

TEST: Toute {{époux}} doit faire preuve de bienveillance
TEST: de toute {{grand}} entreprise
TEST: {{toute}} {{femmes}}
TEST: contre {{toute}} {{petites}} corruption
TEST: Il se souvient de toute mon histoire.


__gn_toutes_nom__
    [<start>|,] toutes  @:[NA].*:[ms]¬:(?:W|G|M|[fe]:[ip])
    de          toutes  @:[NA].*:[ms]¬:(?:W|G|M|Y|[fe]:[ip])
        <<- /gn/ -3>> =suggFemPlur(\3, True)                                                        # Accord avec “toutes” : “\3” devrait être au féminin pluriel.
        <<- /gn/ morph(\3, ":[NA].*:f:s") -2>> toute                                                # Accord avec “\3”.

    toutes  @:[NA].*:[ms]¬:(?:W|G|M|Y|P|[fe]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggFemPlur(\2, True)                                        # Accord avec “toutes” : “\2” devrait être au féminin pluriel.
        <<- /gn/ __also__ and morph(\2, ":[NA].*:f:s") -1>> toute                                   # Accord avec “\2”.

TEST: {{toutes}} {{folle}} qu’elles croient être, elles sont aussi raisonnables que quiconque
TEST: avec {{toutes}} {{femme}}
TEST: sur {{toutes}} {{armure}}



!!
!!
!!!! Adverbes de négation                                                                         !!
!!
!!

__neg_ne_manquant__
    [<start>|,]  je             [le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]     @:1s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  tu             [le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]     @:2s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [il|elle|on]   [le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]     @:3s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  nous           [le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]     @:1p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  vous           [le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]     @:2p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [ils|elles]    [le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur]     @:3p¬:Ov  [pas|rien|jamais|guère|point]
        <<- /neg/ -3>> ne \3                                                                        # Ne … \5 : il manque l’adverbe de négation.

    [<start>|,]  [je|j’]        [en|y]                                                  @:1s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  tu             [en|y]                                                  @:2s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [il|elle|on]   [en|y]                                                  @:3s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  nous           [en|y]                                                  @:1p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  vous           [en|y]                                                  @:2p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [ils|elles]    [en|y]                                                  @:3p¬:Ov  [pas|rien|jamais|guère|point]
        <<- /neg/ -3>> n’\3                                                                         # Ne … \5 : il manque l’adverbe de négation.

    [<start>|,]  je             [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]     @:1s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  tu             [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]     @:2s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [il|elle|on]   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]     @:3s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  nous           [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]     @:1p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  vous           [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]     @:2p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [ils|elles]    [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]     @:3p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  je             [le|la|l’|les]                  [lui|leur|en|y]         @:1s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  tu             [le|la|l’|les]                  [lui|leur|en|y]         @:2s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [il|elle|on]   [le|la|l’|les]                  [lui|leur|en|y]         @:3s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  nous           [le|la|l’|les]                  [lui|leur|en|y]         @:1p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  vous           [le|la|l’|les]                  [lui|leur|en|y]         @:2p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [ils|elles]    [le|la|l’|les]                  [lui|leur|en|y]         @:3p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  je             [lui|leur]                      en                      @:1s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  tu             [lui|leur]                      en                      @:2s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [il|elle|on]   [lui|leur]                      en                      @:3s¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  nous           [lui|leur]                      en                      @:1p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  vous           [lui|leur]                      en                      @:2p¬:Ov  [pas|rien|jamais|guère|point]
    [<start>|,]  [ils|elles]    [lui|leur]                      en                      @:3p¬:Ov  [pas|rien|jamais|guère|point]
        <<- /neg/ -3>> ne \3                                                                        # Ne … \6 : il manque l’adverbe de négation.

    [<start>|,]  [je|j’]        @:1s¬:Ov    [pas|rien|jamais|guère|point]
    [<start>|,]  tu             @:2s¬:Ov    [pas|rien|jamais|guère|point]
    [<start>|,]  [il|elle|on]   @:3s¬:Ov    [pas|rien|jamais|guère|point]
    [<start>|,]  nous           @:1p¬:Ov    [pas|rien|jamais|guère|point]
    [<start>|,]  vous           @:2p¬:Ov    [pas|rien|jamais|guère|point]
    [<start>|,]  [ils|elles]    @:3p¬:Ov    [pas|rien|jamais|guère|point]
        <<- /neg/ morph(\3, ">[aâeéêiîoôuœæ]") -3>> n’\3                                            # Ne … \4 : il manque l’adverbe de négation.
        <<- /neg/ __else__ -3>> ne \3                                                               # Ne … \4 : il manque l’adverbe de négation.

TEST: __neg__ On {{a}} pas compris.
TEST: __neg__ Il {{part}} pas encore.
TEST: __neg__ On {{vous}} a pas compris.
TEST: __neg__ On {{en}} a pas.
TEST: __neg__ Il {{y}} a jamais d’eau.
TEST: __neg__ je {{deviendrai}} pas hargneux.
TEST: __neg__ il {{le}} lui donne pas souvent.


!!
!!
!!!! Infinitif                                                                                    !!
!!
!!

__infi_ne_pas_jamais_etc__
    ne ?presque¿ [pas|rien|guère|point]                   ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup]   ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] non plus          ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿       ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus]¿ non plus            ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus      ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point]                   [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup]   [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] non plus          [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿       [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus]¿ non plus            [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus      [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point]                   [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup]   [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] non plus          [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿       [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus]¿ non plus            [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus      [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point]                   [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup]   [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ [pas|rien|guère|point] non plus          [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿       [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ jamais ?[rien|plus]¿ non plus            [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
    ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus      [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         # Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif.

    n’ [en|y] ?presque¿ [pas|rien|guère|point]                        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] [trop|beaucoup]        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] non plus               @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿            @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus]¿ non plus                 @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿      @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère]¿ non plus           @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point]                        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] [trop|beaucoup]        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] non plus               @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿            @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus]¿ non plus                 @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿      @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère]¿ non plus           @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point]                        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] [trop|beaucoup]        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] non plus               @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿            @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus]¿ non plus                 @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿      @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère]¿ non plus           @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point]                        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] [trop|beaucoup]        @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ [pas|rien|guère|point] non plus               @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿            @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ jamais ?[rien|plus]¿ non plus                 @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿      @:[VNA]¬:(?:Y|W|X|O[vwn])
    n’ [en|y] ?presque¿ plus ?[jamais|rien|guère]¿ non plus           @:[VNA]¬:(?:Y|W|X|O[vwn])
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         # Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif.

    ne [pas|jamais|plus|rien|guère|point] [beaucoup|trop|assez|mal]
        <<- ~3>> *

TEST: ne jamais les {{cédé}}
TEST: ne point nous {{donné}}
TEST: ne rien {{finit}}
TEST: ne jamais plus s’y {{frottait}}
TEST: ne presque jamais plus s’y {{frottaient}}
TEST: ne plus guère y {{pensée}}
TEST: ne pas les {{contrariés}}
TEST: Ne rien m’en {{dit}}
TEST: Ne jamais lui {{donnait}} sa chance.
TEST: Ne jamais les leur {{montré}}
TEST: Il a décidé de ne plus {{mangés}} avec nous.
TEST: ne plus {{mangez}} fait maigrir
TEST: ne plus {{mangées}} fait maigrir
TEST: ne pas {{allé}}
TEST: ne jamais plus me les {{montrés}}
TEST: Ne jamais {{mangez}} de viande !
TEST: N’en jamais {{cédait}} une seule miette.
TEST: N’y presque jamais {{trouvé}} rien à redire.
TEST: ne jamais rien révéler des activités de la maison
TEST: J’espère ne pas te déranger
TEST: Ne pas te le donner, ce serait une insulte.
TEST: ne jamais vraiment évoquer le sujet
TEST: déterminés à ne pas se laisser récupérer
TEST: de ne pas en élire du tout
TEST: Mais gare à ne pas non plus trop surestimer la menace
TEST: ne jamais beaucoup bosser, c’est sa devise.
TEST: ne pas mal faire, c’est déjà pas si mal
TEST: ne pas assez faire pour eux, voilà notre tort


__infi_de_bon_ton_de__
    [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿      ~(?:é?es?|ez|ai[ts]?)$
    [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿   [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  ~(?:é?es?|ez|ai[ts]?)$
    [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]       ~(?:é?es?|ez|ai[ts]?)$
    [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]           ~(?:é?es?|ez|ai[ts]?)$
    [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿   [lui|leur|y]                    en                        ~(?:é?es?|ez|ai[ts]?)$
        <<- /infi/ analyse(\-1, ":V") --1>> =suggVerbInfi(\-1)                                      # Incohérence. Après “de bon ton de [faire quelque chose]”, le verbe doit être à l’infinitif.

TEST: il est souvent de bon ton de {{pensée}} calmement à ces choses avant de s’engager tête baissée.


__imp_ne_infinitif_negadv__
    [<start>|,]  [ne|n’]  @:V1.*:Y  [pas|plus|jamais]
        <<- /imp/ -3>> =suggVerbTense(\3, ":E", ":2p")                                              # Confusion probable : “\3” est un verbe à l’infinitif. Si vous vouliez utiliser l’impératif, écrivez :

TEST: Non, ne {{manger}} pas ça.                                    ->> mangez
TEST: Ne {{donner}} jamais à manger ces saloperies au chat.         ->> donnez



!!!
!!!
!!! Processeur: épuration des adverbes, locutions adverbiales, interjections et expressions usuelles  !!
!!!
!!!

__purge_dates__
    depuis le           [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|prochain|~^\d{2,5}$]¿
    [le|du|au]          [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|prochain|~^\d{2,5}$]¿
    jusqu’  au          [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|prochain|~^\d{2,5}$]¿
    à  compter  du      [1er|1ᵉʳ|~^\d\d?$]  {mois}    ?[dernier|prochain|~^\d{2,5}$]¿
    en  l’  an  ~^\d{2,5}$
    en  l’  an  de  grâce  ~^\d{2,5}$
    en  {mois}  ~^\d{2,5}$
    [de|d’|D’]  {mois}  ~^\d{2,5}$
    à  la  {mi_mois}    ?~^\d{2,5}$¿
        <<- ~>> *

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

    en  ~^\d{2,5}$  [,|<end>]
    en  ~^\d{2,5}$  @:¬:[AN].*:[pi]
    de  ~^\d{2,5}$  @:A.*:s
        <<- ~1:2>> *

TEST: ils sont depuis le 2 janvier {{parti}} à l’étranger.
TEST: ils sont depuis le 2 janvier 2012 {{parti}} à l’étranger.
TEST: profanation de plusieurs églises françaises début février.


__purge_saisons__
    à  l’  [été|automne|hiver]  ~^\d{2,4}$
    au  printemps  ~^\d{2,4}$
        <<- ~>> *

TEST: Une étude de 2005 publiée dans le Journal
TEST: Les cinq variantes de la couverture du magazine Wired d’avril 2016 consacrée à Silicon Valley.
TEST: c’est donc la cinquième en 50 ans


__purge_un_nombre__
    un  *NUM  @:A.*:s¬:G
        <<- ~2>> *

TEST: l’équipe veut aussi voir dans la lettre le nombre d’or, un symbole d’harmonie, ainsi qu’un 6 retourné.


__purge_début_phrase__
    <start>  car
    <start>  de plus
    <start>  et  ?puis¿
    <start>  mais
    <start>  m’  est   avis  [que|qu’]
    <start>  or  donc
    <start>  puis
    [<start>|,] grand bien lui fasse
        <<- ~2:0>> *


__purge_horaires_et_durée__
    24      [heures|h]      [sur|/]  24
    7       [jours|j]       [sur|/]  7
    sept    [jours|j]       [sur|/]  sept
    vingt-quatre  heures    [sur|/] vingt-quatre
        <<- ~>> *

    heure       [après|par]     heure
    minute      [après|par]     minute
    seconde     [après|par]     seconde
    jour        [après|par]     jour
    nuit        [après|par]     nuit
    semaine     [après|par]     semaine
    trimestre   [après|par]     trimestre
    semestre    [après|par]     semestre
    mois        [après|par]     mois
    décennie    [après|par]     décennie
    année       [après|par]     année
    siècle      [après|par]     siècle
    génération  [après|par]     génération
        <<- ~>> *

    [à|de]      ~^\d\d?$  h  ?~^\d\d?$¿
    [à|de]      ~^\d\d?$  h  ?~^\d\d?$¿   [du|ce]  [matin|soir]
    [à|de]      ~^\d\d?$  h  ?~^\d\d?$¿   de  l’ après-midi
    [à|de]      ~^\d\d?$  h  ?~^\d\d?$¿   cet  après-midi
    [à|de]      ~^\d\d?$  h  ?~^\d\d?$¿   [demain|hier]  ?[matin|soir|après-midi]¿
    jusqu’ à    ~^\d\d?$  h  ?~^\d\d?$¿
    jusqu’ à    ~^\d\d?$  h  ?~^\d\d?$¿   [du|ce]  [matin|soir]
    jusqu’ à    ~^\d\d?$  h  ?~^\d\d?$¿   de  l’ après-midi
    jusqu’ à    ~^\d\d?$  h  ?~^\d\d?$¿   cet  après-midi
    jusqu’ à    ~^\d\d?$  h  ?~^\d\d?$¿   [demain|hier]  ?[matin|soir|après-midi]¿
        <<- ~>> *

    [à|de]      *HOUR
    [à|de]      *HOUR  [du|ce]  [matin|soir]
    [à|de]      *HOUR  de  l’ après-midi
    [à|de]      *HOUR  cet  après-midi
    [à|de]      *HOUR  [demain|hier]  ?[matin|soir|après-midi]¿
    jusqu’ à    *HOUR
    jusqu’ à    *HOUR  [du|ce]  [matin|soir]
    jusqu’ à    *HOUR  de  l’ après-midi
    jusqu’ à    *HOUR  cet  après-midi
    jusqu’ à    *HOUR  [demain|hier]  ?[matin|soir|après-midi]¿
        <<- ~>> *

TEST: Le train de 2 h 47 {{arriveraient}} en retard.
TEST: Le train de 2 h 47 du matin {{arriveraient}} en retard.


__purge_prépositions_qqn__
    [après|avant|avec|pour|contre|sans|envers|chez|en|malgré|selon] les uns et les autres           [<end>|,|@:[VXG]¬>qui]
        <<- ~1:6>> *

    [après|avant|avec|pour|contre|sans|envers|chez|de|d’|malgré|selon] on ne sait [qui|quoi]        [<end>|,|@:[VXG]¬>qui]
        <<- ~1:5>> *

    [après|avant|avec|pour|contre|sans|envers|chez|de|d’|en|malgré|selon] tout un chacun            [<end>|,|@:[VXG]¬>qui]
    [après|avant|avec|pour|contre|sans|envers|chez|de|d’|en|malgré|selon] tout le monde             [<end>|,|@:[VXG]¬>qui]
        <<- ~1:4>> *

    [après|avant|avec|pour|contre|sans|envers|chez|de|d’|en|malgré] tout ça                         [<end>|,|@:[VXG]¬>qui]
    [après|avant|avec|pour|contre|sans|envers|chez|de|d’|en|malgré|selon] [vous|nous] autres        [<end>|,|@:[VXG]¬>qui]
        <<- ~1:3>> *

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

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

    [de|d’] [lui|nous|vous] en $:P
        <<- ~1:2>> *

    par égard pour   [moi|toi|soi|elle|eux|elles|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel-même|iels-mêmes]   [<end>|,|@:[VXG]¬>qui]
        <<- ~1:4>> *

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

    [après|avant|avec|pour|contre|sans|envers|chez|de|en|malgré|selon] [celui-ci|celui-là|celle-ci|celle-là|ceux-ci|ceux-là|celles-ci|celles-là]        [<end>|,|@:[VXG]¬>qui]
        <<- ~1:2>> *

    entre [moi|toi|lui|elle|elles|nous|vous|eux] et [moi|toi|lui|elle|elles|nous|vous|eux]
    entre [nous|vous|eux|elles] ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix]¿
        <<- ~>> *

    ni   [après|avec|chez|contre|de|d’|derrière|devant|envers|malgré|pour|sans|sous|sur] [moi|toi|lui|elle|elles|iel|iels|eux|nous|vous] ?,¿ ni [après|avec|chez|contre|de|d’|derrière|devant|envers|malgré|pour|sans|sous|sur] [moi|toi|lui|elle|elles|iel|iels|eux|nous|vous]
        <<- ~>> *

    parmi [nous|vous] ?autres¿
    parmi [eux|elles]
        <<- ~>> *

    par-devers [moi|toi|lui|elle|elles|iel|iels|lui|eux|nous|vous]
        <<- ~>> *

    quant à [moi|toi|lui|elle|elles|iel|iels|lui|eux|nous|vous]  [<end>|,|@:[VXG]¬>qui]
        <<- ~1:3>> *

    de chez *WORD ?jusqu’¿ à chez [moi|toi|soi|elle|eux|elles|moi-même|toi-même|soi-même|lui-même|elle-même|nous-mêmes|vous-même|vous-mêmes|eux-mêmes|elles-mêmes|iel-même|iels-mêmes]
        <<- ~>> *

    jusqu’ à    chez
    de          chez
        <<- ~1:-2>> *

TODO: comme


__purge_locutions_latines__
    [a|à]       [priori|postériori|posteriori|contrario|cappella|minima]
        <<- ~>> *
        <<- !1>>

    ab          [absurdo|initio]
    ad          [hoc|hominem|infinitum|nauseam|valorem|patres]
    ad          vitam æternam
    de          [facto|jure|profondis]
    ex          [nihilo|cathedra|absurdo|abrupto]
    id          est
    in          [abstracto|extenso|extremis|fine|petto|situ|utero|vitro|vivo]
    ipso        facto
    mutatis     mutandis
        <<- ~>> *


__purge_locutions__
    , [oui|non] ,
    , entre autres ?choses¿ ,
    à *NUM  %
    à ?seulement¿ [*NUM|$:B|quelques|plusieurs] [millimètres|centimètres|décamètres|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] de distance
    à [autrui|bâbord|califourchon|chacun|confesse|contrecœur|contre-cœur|contretemps|>demi-mot|foison|grand-peine|jamais|gogo|loisir|merveille|moitié|nouveau|outrance|peine|perpétuité|présent|raison|rallonge|rebrousse-poil|reculons|regret|renverse|risque|sec|tâtons|tire-d’aile|tire-larigot|tort|tribord|tout-va|vif]
    à [mi-chemin|mi-mandat|mi-mot+s|mi-parcours|mi-temps|mi-voix]
    à air comprimé
    à angle droit
    à armes égales
    à aucun prix
    à autre chose
    à bas [cout|coût|prix]
    à bâtons rompus
    à beaucoup près
    à belles dents
    à bien des égards
    à bien pire
    à ?[très|si]¿ bon [compte|escient|droit]
    à bout de [bras|souffle|force|forces|nerf|nerfs]
    à bout [portant|touchant]
    à bras ouverts
    à bras le corps
    à ?[très|si]¿ brève échéance
    à but ?non¿ lucratif
    à canon [court|long|scié]
    à cause [de|d’]  [ça|cela|ceci|moi|toi|lui|nous|vous|elle|elles|eux|iel|iels]
    à ce [compte-là|moment-là|titre]
    à certains égards
    à cet égard
    à cet instant ?[exact|précis]¿
    à cette [date|occasion]
    à cette époque
    à cette époque de l’ année
    à cette heure
    à cette heure du jour
    à cette heure de la [journée|nuit]
    à cette heure [tardive|matinale]
    à ciel ouvert
    à charge de revanche
    à chaque [fois|instant]
    à chaudes larmes
    à cœur [joie|ouvert|perdu]
    à compter [de|d’] [demain|aujourd’hui|hier|maintenant]
    à connotation sexuelle
    à corps perdu
    à côté  [de|d’]  [ça|moi|toi|lui|nous|vous|elle|elles|eux|iel|iels]
    à couilles rabattues
    à coup sûr
    à couper le souffle
    à ?[très|si]¿ court terme
    à ?[très|si]¿ court [et|ou] ?à¿ ?[très|si]¿ [long|moyen] terme
    à ?[très|si]¿ courte [échéance|portée]
    à >coussin d’ air
    à couteaux tirés
    à des kilomètres à la ronde
    à défaut d’ autre chose
    à dormir debout
    à dose homéopathique
    à durée [déterminée|indéterminée|limitée]
    à *NUM reprises
    à $:B reprises
    à [plusieurs|quelques|maintes] reprises
    à [de|d’]  [nombreuses|multiples|innombrables]  reprises
    à double [titre|tranchant]
    à en juger par [mon|ton|son|notre|votre|leur] ?immense¿ expérience
    à en juger par [ma|ta|sa|notre|votre|leur] [grande|petite] expérience
    à en perdre haleine
    à en perdre la tête
    à ?[très|si]¿ faible [allure|revenu]
    à ?[très|si]¿ faible tirant d’ eau
    à feu et à sang
    à flanc de [colline|montagne]
    à fleur de peau
    à franchement parler
    à géométrie variable
    à glacer le sang
    à glacer les sangs
    à grande échelle
    à ?[très|si]¿ grands frais
    à haut risque
    à ?[très|si]¿ haute voix
    à ?[très|si]¿ haute et intelligible voix
    à hue et à dia
    à huis clos
    à intervalles [irréguliers|réguliers]
    à juste [raison|titre]
    à l’ accoutumée
    à l’ air libre
    à l’ amiable
    à l’ arrache
    à l’ avance
    à l’ avenant
    à l’ avenir
    à l’ avenir incertain
    à l’ aveuglette
    à l’ emporte-pièce
    à l’ en croire
    à l’ état pur
    à l’ exclusion de toute autre chose
    à l’ heure actuelle
    à l’ heure qu’ il est
    à l’ improviste
    à l’ inverse
    à l’ occasion
    à l’ ordre du jour
    à l’ un d’ entre eux
    à l’ unanimité
    à l’ unisson
    à l’ une d’ entre elles
    à l’ échelle [nationale|mondiale|régionale|départementale|cantonale|locale|galactique|universelle]
    à l’ étouffée
    à l’ exclusion de toute autre chose
    à l’ évidence
    à l’ œil nu
    à l’ [un|une] des leurs
    à la [bourre|con|coule|dérobée|diable|fois|leur|manque|mords-moi-le-nœud|papa|ramasse|renverse|redresse|rescousse|sauvette|volée]
    à la bonne franquette
    à la limite du supportable
    à la lumière de tout [ceci|cela|ça]
    à la mords-moi le nœud
    à la petite semaine
    à la pointe du progrès
    à la première occasion
    à la queue leu leu
    à la surprise générale
    à la virgule près
    à [un|cet|l’] instant t
    à ?[très|si]¿ large spectre
    à ?[très|si]¿ long terme
    à ?[très|si]¿ long [et|ou] ?à¿ ?[très|si]¿ [court|moyen] terme.
    à ?[très|si]¿ longue [distance|échéance|portée]
    à longueur [de|d’] [temps|journée|année]
    à loyer modéré
    à main [armée|droite|gauche|levée|nue]
    à mains nues
    à maints égards
    à marche forcée
    à même le sol
    à merveille
    à [midi|minuit]  ?pile¿
    à [mi-course|mi-distance|mi-temps]
    à moindre [coût|cout]
    à moindres frais
    à mots couverts
    à moyen terme
    à moyen [et|ou] ?à¿ [court|long] terme
    à moyenne échéance
    à [mes|tes|ses|nos|vos|leurs] [côtés|dépens|trousses]
    à [mes|tes|ses|nos|vos|leurs] risques et périls
    à [ma|ta|sa|notre|votre|leur] [connaissance|disposition|guise|portée]
    à [ma|ta|sa|notre|votre|leur] grande [surprise|tristesse]
    à [ma|ta|sa|notre|votre|leur] juste mesure
    à [mon|ton|son|notre|votre|leur] [avis|détriment|encontre|égard|insu|sujet|tour]
    à [mon|ton|son|notre|votre|leur] [cœur|corps] défendant
    à [mon|ton|son|notre|votre|leur] grand [désarroi|soulagement]
    à n’ en [pas|point] douter
    à n’ en plus finir
    à n’ importe quel prix
    à n’ importe quelle heure du jour et de la nuit
    à parler [franc|franchement|strictement]
    à part [entière|ça|cela|ceci]
    à parts égales
    à partir [de|d’]  {pronom_obj}
    à partir [de|d’]  [aujourd’hui|ici|là|maintenant|rien]
    à partir [de|d’]  [demain|hier]  ?[matin|midi|soir]¿
    à pas de [géant|loup|tortue|velours]
    à personne en danger
    à perte de vue
    à petit feu
    à ?[très|si]¿ petite [dose|échelle]
    à ?[très|si]¿ peu de choses près
    à ?[très|si]¿ peu de [distance|frais]
    à peu près
    à pied d’ œuvre
    à pieds joints
    à pile ou face
    à plat ventre
    à plate couture
    à plein [régime|temps|nez]
    à pleins poumons
    à plus forte raison
    à plus d’ un titre
    à poil [court|dur|long|rêche]
    à point nommé
    à portée de [main|tir|voix]
    à première vue
    à prix [cassé|modique|cassés|modiques]
    à proprement parler
    à qui de droit
    à qui mieux mieux
    à qui que ce soit
    à quelque distance
    à quelques [degrés|exceptions|nuances|pourcents|variations|nanomètres|millimètres|centimètres|décimètres|mètres|kilomètres|parsecs|années-lumière|nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|décennies|siècles|millénaires] près
    à quelques-uns d’ entre [nous|vous|eux]
    à quelques-unes d’ entre [nous|vous|elles]
    à ras de terre
    à ras [bord|bords]
    à ras [le|du] sol
    à rude épreuve
    à s’ y méprendre
    à somme nulle
    à spectre ?[très|si]¿ large
    à strictement parler
    à tarif réduit
    à tarifs réduits
    à tel point
    à temps  [plein|partiel|complet]
    à tête reposée
    à tire d’ [aile|ailes]
    à [tire-d’aile|tire-d’ailes]
    à titre  [conservatoire|expérimental|indicatif|informatif|grâcieux|personnel|posthume]
    à titre  d’ exemple
    à tombeau ouvert
    à tort ou à raison
    à tort et à travers
    à tour de  [bras|rôle]
    à tout [âge|crin|instant|jamais|moment|prix]
    à tout bout de champ
    à tout le [moins|monde]
    à tout point de vue
    à tout un chacun
    à toute [allure|berzingue|bride|épreuve|force|vitesse|volée]
    à toute heure
    à toute heure du jour
    à toute heure du jour et de la nuit
    à toute heure de la nuit
    à toute heure de la nuit et du jour
    à tous crins
    à tous points de vue
    à toutes fins utiles
    à toutes jambes
    à tu et à toi
    à un moment donné
    à un moment ou à un autre
    à une   heure  [décente|tardive]
    à cette heure matinale
    à usage [interne|unique]
    à visage [découvert|humain]
    à vitesse grand V
    à vive allure
    à voix [haute|basse]
    à vol d’ oiseau
    à vrai dire
    à vue d’ œil
    à ?bien¿ y regarder de plus près
    à ?bien¿ y [penser|réfléchir|songer|repenser]
    advienne que pourra
    ah
    ailleurs
    alentour
    alors
    après [moi|toi|soi|lui|eux]
    après coup
    après cette date ?fatidique¿
    après [des|plusieurs|quelques|*NUM|$:B] [semaines|mois|années|décennies|siècles|millénaires] de bons et loyaux services
    après mûre réflexion
    après tout ,
    après un bon bout de temps
    après un certain temps
    au [dernier|même|bon|mauvais] [moment|instant]
    au bas mot
    au beau fixe
    au bon moment
    au bout du [compte|rouleau]
    au bout d’ un moment
    au cas par cas
    au commencement
    au contraire
    au coude à coude
    au coup par coup
    au cours de l’ [heure|année] ?passée¿
    au cours de l’ an  ?passé¿
    au cours de la [seconde|minute|journée|semaine] ?passée¿
    au cours du [mois|siècle|millénaire] ?passé¿
    au cours des [secondes|minutes|heures|journées|semaines|années] ?passées¿
    au cours des [jours|mois|ans|siècles|millénaires] ?passés¿
    au cours de l’ an [dernier|prochain]
    au cours de la [dernière|prochaine] [seconde|minute|heure|journée|semaine|année]
    au cours de la [seconde|minute|heure|journée|semaine|année] [dernière|prochaine]
    au cours du [dernier|prochain] [mois|siècle|millénaire]
    au cours du [mois|siècle|millénaire] [dernier|prochain]
    au cours des ?$:B¿ [dernières|prochaines] [secondes|minutes|heures|journées|semaines|années]
    au cours des ?$:B¿ [derniers|prochains] [jours|mois|ans|siècles|millénaires]
    au demeurant
    au doigt mouillé
    au doigt et à l’ [œil|oeil]
    au débotté
    au début
    au fil des ans
    au fil du temps
    au fur et à mesure
    au grand [complet|jamais]
    au hasard
    au jour et à l’ heure dits
    au jour j
    au jugé
    au le jour
    au leur
    au lieu de [cela|ceci|ça|quoi]
    au loin
    au milieu de nulle part
    au moment opportun
    au même titre que n’ importe [laquelle|lequel] d’ entre [nous|vous|eux|elles]
    au pas de [charge|course]
    au plus [près|pressé|vite|tôt|tard]
    au plus haut [degré|point]
    au plus [tard|tôt] [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]
    au premier abord
    au propre comme au figuré
    au préalable
    au ras des pâquerettes
    au saut du lit
    au second plan
    au sens [figuré|large|propre]
    au surplus
    au [Ier|Iᵉʳ|IId|Ind|IIᵈ|IIⁿᵈ] siècle
    au ~^[xXvViI]+[eᵉ]$ siècle
    au-delà du descriptible
    au-dessus [de|d’] {pronom_obj}
    aujourd’hui
    auparavant
    ?tout¿ aussi
    aussitôt
    ?tout¿ au fond [de|d’] {pronom_obj}
    aux [abois|leurs|mien|miens|mienne|miennes|tien|tiens|tienne|tiennes|sien|siens|sienne|siennes|nôtres|vôtres]
    autant que [nécessaire|possible|prévu]
    autant que faire se peut
    autour [de|d’] {pronom_obj}
    autrement dit
    av. J.-C.
    avant longtemps
    avant terme
    avant tout le monde
    avant toute chose
    avant toutes choses
    avant d’ aller plus loin
    avant J.-C.
    avant Jésus-Christ
    avant d’ en arriver là
    avant de faire quoi que ce soit
    avant de faire quoi que ce soit [de|d’] ?$:W¿ [absurde|stupide|crétin|con|idiot|inconsidéré]
    avant qu’ il ne soit trop tard
    avant un bon bout de temps
    avec [brio|constance|joie|légèreté|insistance|peine]
    avec autre chose
    avec le plus grand soin
    avec pertes et fracas
    avec un peu de chance
    avec tout le respect que je [vous|te|leur|lui] dois
    avec tout le respect que nous [vous|te|leur|lui] devons
    avec tout un chacun
    avec un peu de chance
    avec un temps d’ avance
    avec un temps d’ avance ?$:W¿ [énorme|important|phénoménal]
    avec un temps [de|d’] retard
    avec un temps [de|d’] retard ?$:W¿ [énorme|important|phénoménal]
    beaucoup [plus|moins]
    bel et bien
    bien assez tôt
    bien des fois
    bien souvent
    bientôt
    bon gré ?,¿ mal gré
    bras dessus ?,¿ bras dessous
    çà et là
    ce faisant
    cependant
    [cela|ça|ceci] mis à part
    [cela|ça|ceci] va sans dire
    [cela|ceci] étant dit
    certes
    ces derniers temps
    cette [fois|fois-là|fois-ci]
    chaque fois
    ci-dessous
    ci-dessus
    chose promise ?,¿ chose due
    comme avant
    comme autrefois
    comme d’ habitude
    comme toujours
    comme de juste
    comme bon [me|te|lui|leur|nous|vous] semble
    comme au bon vieux temps
    comme cul et chemise
    comme [frappé+ses] par la foudre
    comme n’ importe où ?ailleurs¿
    comme par [enchantement|magie]
    comme par un fait exprès
    comme pas deux
    comme peau de chagrin
    comme promis
    comme qui dirait
    comme si [de|d’] rien n’ était
    contrairement aux apparences
    contre mauvaise fortune ?,¿ bon cœur
    contre nature
    contre toute [attente|vraisemblance]
    contre vents et marées
    contre [mon|ton|son|notre|votre|leur] gré
    côte à côte
    [coute|coûte] que [coute|coûte]
    [crois-le|croyons-le|croyez-le] ou [non|pas]
    cul par-dessus tête
    dans le cas contraire
    dans [ce|ces] [cas-là|cas-ci]
    dans ce cas [précis|particulier]
    dans ces cas [précis|particuliers]
    dans l’ [idéal|immédiat]
    dans la mesure du possible
    dans leur globalité
    dans leur grande majorité
    dans les années ~^\d{2,5}$
    dans les [secondes|minutes|heures|jours|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires] à venir
    dans peu de temps
    dans tout [cela|ça|ceci]
    dans [ma|ta|sa|notre|votre|leur] prime jeunesse
    dans très peu de temps
    dans un cas comme dans l’autre
    dans un [premier|second] temps
    dans une [certaine|large|moindre] mesure
    début {mois} ~^\d{2,5}$
    au début {mois} ~^\d{2,5}$
    en ce début {mois} ~^\d{2,5}$
    d’ abord
    d’ affilée
    d’ ailleurs
    d’ alors
    d’ année en année
    d’ aujourd’hui
    d’ antan
    d’ autant [plus|moins]
    d’ [autrefois|part]
    d’ autres fois
    d’ [arrache-pied|arrachepied]
    d’ arrière en avant
    d’ avant en arrière
    d’ à côté
    d’ âge mûr
    d’ emblée
    d’ empoigne
    d’ en [bas|dessous|face|haut]
    d’ entre [nous|vous|eux|elles]
    d’ entrée de jeu
    d’ est en ouest
    d’ extrême [droite|gauche]
    d’ [extrême-droite|extrême-gauche]
    d’ [égal|égale] à [égal|égale]
    d’ instant en instant
    d’ habitude
    d’ heure en heure
    d’ ici ?[là|peu]¿
    d’ ici peu de temps
    d’ ici quelques [secondes|minutes|heures|jours|mois|trimestres|semestres|années|décennies|siècles|millénaires]
    d’ intérêt général
    d’ ordinaire
    d’ origine [inconnue|douteuse|plébéienne|aristocratique]
    d’ ordre général
    d’ où qu’ [il|elle|on] vienne
    d’ où qu’ [ils|elles] viennent
    d’ ouest en est
    d’ [ors|ores] et déjà
    d’ un autre côté
    d’ un [bout|jour] à l’ autre
    d’ un côté comme [de|d’] l’ autre
    d’ un commun accord
    d’ un pas [alerte|mesuré]
    d’ un peu partout
    d’ un peu trop [près|loin]
    d’ une autre trempe
    d’ une [façon|manière] ou d’ une autre
    d’ une certaine [façon|manière]
    d’ une tout autre ampleur
    d’ une [minute|seconde] à l’ autre
    d’ utilité publique
    de-ci ?,¿ de-là
    [de|d’] *NUM %
    [de|d’] [cesse|conserve|fait|guingois|luxe|nouveau|permanence|partout|préférence|rechange|routine|surcroît|surcroit|visu]
    [de|d’] A à Z
    [de|d’] bas en haut
    [de|d’] bas étage
    [de|d’] ?assez¿ basse [condition|extraction]
    [de|d’] ?assez¿ bon [aloi|cœur|gré|matin|poil|sens|ton]
    [de|d’] ?assez¿ bonne [compagnie|facture|famille|foi|grâce|heure|humeur|qualité]
    [de|d’] bouche en bouche
    [de|d’] bric et [de|d’] broc
    [de|d’] but en blanc
    [de|d’] ce fait ?[incontestable|irréfutable|même]¿
    [de|d’] ce seul fait
    [de|d’] ce point de vue
    [de|d’] cette sorte
    [de|d’] cet acabit
    [de|d’] courte [durée|vue]
    [de|d’] dernière minute
    [de|d’] demain ?[matin|soir|après-midi]¿
    [de|d’] droite à gauche
    [de|d’] droite comme de gauche
    [de|d’] fâcheuse mémoire
    [de|d’] fil en aiguille
    [de|d’] fond en comble
    [de|d’] fort [loin|près]
    [de|d’] [fraîche|fraiche] date
    [de|d’] [gaieté|gaîté|gaité] de cœur
    [de|d’] gauche à droite
    [de|d’] gauche comme de droite
    [de|d’] génération en génération
    [de|d’] grande [taille|envergure|stature|valeur]
    [de|d’] gré à gré
    [de|d’] gré ou de force
    [de|d’] guerre lasse
    [de|d’] haut en bas
    [de|d’] ?très¿ haut [rang|vol]
    [de|d’] ?très¿ haute [lutte|naissance|stature|taille|valeur|volée]
    [de|d’] jour comme de nuit
    [de|d’] jour en jour
    [de|d’] là-bas
    [de|d’] la meilleure [manière|façon] possible
    [de|d’] la même [façon|manière]
    [de|d’] la sorte
    [de|d’] la tête aux pieds
    [de|d’] la veille
    [de|d’] loin
    [de|d’] loin en loin
    [de|d’] longue [date|durée|haleine]
    [de|d’] main [de|d’] [maître|maitre]
    [de|d’] mauvais [aloi|goût|gout|gré]
    [de|d’] ?assez¿ mauvaise [compagnie|facture|foi|grâce|humeur|qualité]
    [de|d’] mieux en mieux
    [de|d’] millénaire en millénaire
    [de|d’] mois en mois
    [de|d’] nature [étrangère|inconnue|indéterminée|insolite]
    [de|d’] nombreuses années plus [tôt|tard]
    [de|d’] nombreuses fois
    [de|d’] nos jours
    [de|d’] notoriété publique
    [de|d’] nulle part
    [de|d’] pire en pire
    [de|d’] près
    [de|d’] près ou de loin
    [de|d’] par le monde ?entier¿
    [de|d’] part en part
    [de|d’] part et d’ autre
    [de|d’] ?presque¿ partout
    [de|d’] petite taille
    [de|d’] pied ferme
    [de|d’] place en place
    [de|d’] plein [droit|fouet]
    [de|d’] plus [belle|près]
    [de|d’] premier [choix|ordre|plan]
    [de|d’] première [catégorie|main|nécessité]
    [de|d’] prime abord
    [de|d’] proche en proche
    [de|d’] pure forme
    [de|d’] sang-froid
    [de|d’] seconde [catégorie|importance|main|zone]
    [de|d’] semaine en semaine
    [de|d’] si bon matin
    [de|d’] si bonne heure
    [de|d’] siècle en siècle
    [de|d’] source sûre
    [de|d’] taille moyenne
    [de|d’] telle sorte
    [de|d’] temps à autre
    [de|d’] temps en temps
    [de|d’] [très|trop] [loin|près]
    [de|d’] vive voix
    [de|d’] [nous|vous] tous
    [de|d’] tous [côtés|bords]
    [de|d’] tous les cas de figure [possibles|imaginables|existants|rencontrés]
    [de|d’] tous les cas de figure possibles et imaginables
    [de|d’] tous les cas de figure imaginables et possibles
    [de|d’] tout [poil|temps]
    [de|d’] tout à l’ heure
    [de|d’] tout premier [ordre|plan]
    [de|d’] toute [éternité|évidence|façon|part|urgence]
    [de|d’] toutes [parts|pièces|sortes]
    [de|d’] toutes les possibilités [existantes|imaginables|rencontrées]
    [de|d’] toutes [mes|tes|ses|nos|vos|leurs] forces
    [de|d’] [mon|ton|son|notre|votre|leur] acabit
    [de|d’] [mon|ton|son|notre|votre|leur] mieux
    [de|d’] [mon|ton|son|notre|votre|leur] plein gré
    [de|d’] [mon|ton|son|notre|votre|leur] point [de|d’] vue
    [de|d’] [mon|ton|son|notre|votre|leur] propre [cru|chef|fait]
    [de|d’] [mon|ton|son|notre|votre|leur] vivant
    [de|d’] [ma|ta|sa|notre|votre|leur] part
    [de|d’] [ma|ta|sa|notre|votre|leur] propre volonté
    [de|d’] moins en moins
    [de|d’] plus en plus
    [de|d’] mieux en mieux
    [de|d’] pire en pire
    [de|d’] jour en jour
    [de|d’] minute en minute
    [de|d’] semaine en semaine
    [de|d’] mois en mois
    [de|d’] trimestre en trimestre
    [de|d’] semestre en semestre
    [de|d’] siècle en siècle
    [de|d’] millénaire en millénaire
    [de|d’] décennie en décennie
    [demain|après-demain] ?[matin|soir|après-midi]¿
    avant demain ?[matin|soir|après-midi]¿
    debout
    derechef
    donc
    dorénavant
    déjà
    désormais
    depuis $:B [ans|années|mois|semaines|jours|heures|minutes|secondes]
    depuis *NUM [ans|années|mois|semaines|jours|heures|minutes|secondes]
    depuis belle lurette
    depuis bien longtemps
    depuis [de|d’] ?[assez|très]¿ longues années
    depuis des lustres
    depuis la nuit des temps
    depuis la [première|dernière|~ième$] fois
    depuis les années ~^\d{2,5}$
    depuis ?[assez|très]¿ longtemps
    depuis lors
    depuis ?[assez|très]¿ peu de temps
    depuis quelque temps
    depuis quelques [secondes|minutes|heures|jours|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires]
    depuis si longtemps
    depuis toujours
    depuis tout ce temps
    des fois
    des pieds à la tête
    des uns et des autres
    des [années|mois|siècles|millénaires|décennies|semaines] plus [tôt|tard]
    dès [longtemps|maintenant|lors|aujourd’hui]
    dès à présent
    dès que possible
    dès [demain|hier] ?[soir|matin|après-midi]¿
    Dieu [m’|t’|l’|nous|vous|les] en [garde|préserve]
    Dieu [m’|t’|lui|nous|vous|leur] en soit témoin
    Dieu seul le sait
    du ~^[xXvViI]+[eᵉ]$ siècle
    du [Ier|Iᵉʳ|1er|1ᵉʳ] siècle
    du bout des lèvres
    du début à la fin
    du fond du cœur
    du jour au lendemain
    du haut en bas
    du même [acabit|coup|ordre|tonneau]
    du moins ?,¿ pas
    du [nord|sud] au [nord|sud]
    du tout au tout
    eh bien
    en \d\d+ [ans|années|mois|semaines|jours|heures|minutes|secondes]
    en [aparté|apparence|arrière|avance|avant|cachette|ceci|cela|clair|commun|conséquence|continu|contrebas|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|retour|revanche|rien|rogne|route|secret|silence|somme|suspens|théorie|trompe-l’œil|vain|vérité|ville]
    en réalité ?virtuelle¿
    en aucun cas
    en aucune [circonstance|façon|manière]
    en ?[assez|très]¿ bas âge
    en ?[assez|très]¿ bon état ?général¿
    en ?[assez|très]¿ bon état de [fonctionnement|marche]
    en ?[assez|très]¿ bonne [compagnie|place|posture|voie]
    en bonne et due forme
    en bonne santé ?[physique|mentale|psychique]¿
    en bout de course
    en cas [de|d’] [besoin|doute|urgence]
    en cas [de|d’] nécessité ?absolue¿
    en [chacun|chacune] [de|d’] [nous|vous|eux|elles]
    en chair et en os
    en chute libre
    en comparution immédiate
    en ?parfaite¿ connaissance [de|d’] cause
    en contrebas
    en coupe réglée
    en cours [de|d’] route
    en d’ autres [circonstances|termes|temps]
    en d’ autres temps et d’ autres lieux
    en [de|d’] [semblables|telles] circonstances
    en début [de|d’] [journée|matinée|soirée|après-midi]
    en définitive
    en dehors [de|d’] ?tout¿ [ça|cela|ceci]
    en dents [de|d’] scie
    en dernier [lieu|recours|ressort]
    en désespoir [de|d’] cause
    en détention provisoire
    en direction [de|d’] l’ [est|ouest]
    en direction du [nord|nord-est|nord-ouest|sud|sud-est|sud-ouest]
    en eau ?peu¿ profonde
    en eaux troubles
    en état [de|d’] choc ?circulatoire¿
    en ?[excellent|mauvais|parfait]¿ état [de|d’] marche
    en état d’ ébriété ?avancée¿
    en ?[assez|très]¿ excellent état ?général¿
    en ?[assez|très]¿ fâcheuse posture
    en file indienne
    en fin [de|d’] [compte|journée|matinée|soirée|après-midi]
    en forte [baisse|hausse]
    en gage [de|d’] bonne foi
    en garde à vue ?prolongée¿
    en ?[assez|très]¿ grand nombre
    en ?[assez|très]¿ grande [difficulté|majorité|partie|pompe]
    en ?[assez|très]¿ haut lieu
    en ?[assez|très]¿ haute [estime|mer]
    en l’ occurrence
    en lieu sûr
    en ligne [de|d’] [compte|mire]
    en main propre
    en mains propres
    en ?[assez|très]¿ mauvais état
    en ?[assez|très]¿ mauvaise [posture|santé]
    en même temps
    en milieu [de|d’] [journée|matinée|soirée|après-midi]
    en moyenne
    en nombre suffisant
    en nombre plus que suffisant
    en ordre dispersé
    en partant [de|d’] zéro
    en partie ou en totalité
    en pente douce
    en ?très¿ petit nombre
    en place publique
    en plein [air|cœur|essor|marasme|jour]
    en pleine [gueule|figure|forme|nuit|poire|tronche]
    en perte [de|d’] vitesse
    en ?[assez|très]¿ peu [de|d’] temps
    en ?[assez|très]¿ [piteux|piètre] état
    en point [de|d’] [mire|orgue]
    en porte-à-faux
    en position [de|d’] [force|faiblesse]
    en premier lieu
    en première [instance|ligne]
    en [première|seconde|~ième$] position
    en pure perte
    en quantité suffisante
    en quantité plus que suffisante
    en quelque sorte
    en queue [de|d’] peloton
    en rangs [dispersés|serrés]
    en rase campagne
    en rase-mottes
    en règle générale
    en roue libre
    en second lieu
    en sens inverse
    en si peu [de|d’] temps
    en situation [irrégulière|régulière]
    en sous-main
    en tant que >telle
    en tête à tête
    en temps et en heure
    en temps [normal|opportun|ordinaire|utile|voulu]
    en terrain [découvert|miné]
    en termes choisis
    en terre battue ?[claire|ocre|jaune|rouge|noire|sombre|humide|sèche|maculée|sale|dégueulasse]¿
    en toile [de|d’] fond
    en totalité ou en partie
    en tous les cas
    en tous les sens
    en tout bien tout honneur
    en tout [cas|genre|lieu|sens|temps]
    en tout et pour tout
    en tout état [de|d’] cause
    en tout premier lieu
    en toute bonne foi
    en toute connaissance [de|d’] cause
    en toute [circonstance|confiance|discrétion|franchise|hâte|impartialité|impunité|innocence|légalité|liberté|logique|modestie|sécurité|simplicité]
    en toutes circonstances
    en travers de la gorge
    en un claquement de doigts
    en un clin d’ œil
    en un rien [de|d’] temps
    en une autre occasion
    en vase clos
    en vigueur
    en vitesse ?[subsonique|supersonique|subluminique|superluminique]¿
    en voie [de|d’] développement
    en y réfléchissant bien
    en [janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre] dernier
    en [mon|ton|son|leur|notre|votre] âme et conscience
    en [mon|ton|son|leur|notre|votre] for intérieur
    en [mon|ton|son|leur|notre|votre] nom propre
    en ce [moment|temps-là]
    en ce qui [me|te|le|la|les|nous|vous] [concerne|concernait]
    en cet instant
    encore
    encore une fois
    encore et [encore|toujours]
    enfin
    entre {mois} ?~^\d{2,5}$¿ et {mois} ?~^\d{2,5}$¿
    entre chien et loup
    entre [de|d’] [bonnes|mauvaises] mains
    entre l’ [un|une] et l’ autre
    entre les uns et les autres
    entre [quatre|quatr’|quat’] [zyeux|yeux]
    entre [quatre-zyeux|quatr’zyeux|quat’zyeux|quatre-yeux|quatr’yeux|quat’yeux]
    ensuite
    envers et contre tout
    épaule contre épaule
    et   ainsi [de|d’] suite
    et   tutti quanti
    été comme hiver
    euh
    face à face
    $:B fois [de|d’] suite
    grosso modo
    guère
    ?d’¿ [hier|avant-hier] ?[matin|soir|après-midi]¿
    hors [de|d’] [contrôle|portée|atteinte]
    hors d’ état [de|d’] [fonctionner|nuire]
    hors [de|d’] [ma|ta|sa|notre|votre|leur] portée
    hors du commun
    ?d’¿ ici
    ?d’¿ ici [comme|ou] ailleurs
    ?d’¿ ici et [là|maintenant]
    ?d’¿ ici même
    ?d’¿ ici-bas
    ?d’¿ il y a belle lurette
    ?d’¿ il y a ?très¿ longtemps
    ?d’¿ il y a ?très¿ peu [de|d’] temps
    ?d’¿ il y a quelques [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    ?d’¿ il y a moins [de|d’] [*NUM|$:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    ?d’¿ il y a [*NUM|$:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    ?d’¿ il y a quelque temps
    ?d’¿ il n’y a pas ?si¿ longtemps
    illico ?presto¿
    ?[de|d’]¿ jadis
    j’ en passe et des [meilleurs|meilleures]
    jour pour jour
    jusqu’ [alors|ici|aujourd’hui|Noël|Pâques]
    jusqu’ au bout des ongles
    jusqu’ au nouvel an
    jusqu’ à aujourd’hui
    jusqu’ à bac
    jusqu’ à présent
    jusqu’ à maintenant
    jusqu’ à récemment
    jusqu’ à [demain|hier] ?[matin|soir|après-midi]¿
    jusqu’ à nouvel ordre
    jusqu’ à plus ample informé
    jusqu’ à plus soif
    jusqu’ à preuve du contraire
    jusqu’ à la fin [de|d’] [mes|tes|ses|nos|vos|leurs] jours
    jusqu’ à la fin des temps
    jusqu’ à la tombée [de|d’] la nuit
    jusqu’ à la dernière [minute|seconde]
    jusqu’ à [mon|ton|son|notre|votre|leur] dernier souffle
    jusqu’ à [mon|ton|son|notre|votre|leur] dernier souffle [de|d’] vie
    jusqu’ à ce que mort s’ensuive
    jusqu’ à ce que [j’|il|elle|on] en sache plus
    jusqu’ à ce que tu en saches plus
    jusqu’ à ce que nous en sachions plus
    jusqu’ à ce que vous en sachiez plus
    jusqu’ à ce que [ils|elles] en sachent plus
    jusque-là
    la plupart du temps
    la main dans la main
    ?[de|d’]¿ là
    ?[de|d’]¿ là-bas
    ?[de|d’]¿ là-haut
    ?[de|d’]¿ là-dedans
    ?[de|d’]¿ là-dehors
    ?[de|d’]¿ là-derrière
    ?[de|d’]¿ là-dessous
    ?[de|d’]¿ là-dessus
    ?[de|d’]¿ là-devant
    ?[de|d’]¿ là non plus
    la mort dans l’ âme
    le cas échéant
    le moins du monde
    le moment venu
    le [moins|plus] [tôt|tard|souvent] ?possible¿
    le [moins|plus] [de|d’] [temps|monde] possible
    le [moment|jour] venu
    les [uns|unes] des autres
    les [uns|unes] [après|avec|chez|contre|de|derrière|devant|envers|malgré|pour|sans|sous|sur] les autres
    les [uns|unes] près des autres
    les [uns|unes] par rapport à l’ autre
    les [uns|unes] par rapport aux autres
    l’ [un|une] [après|avec|chez|contre|de|derrière|devant|envers|malgré|pour|sans|sous|sur] l’ autre
    l’ [un|une] près de l’ autre
    l’ [un|une] par rapport à l’ autre
    loin
    loin [de|d’] là
    loin [de|d’] tout [ça|cela|ceci]
    loin d’ [être|ici]
    loin s’ en [faut|fallait]
    ?[bien|si|assez]¿ longtemps
    ?[de|d’]¿ maintenant
    maintes fois
    malgré [ça|cela|ceci|tout]
    manu militari
    mieux [vaut|valait] tard que jamais
    moins que [nécessaire|prévu]
    moitié *WORD ?,¿ moitié *WORD
    mot pour mot
    mouais
    naguère
    ne [lui|leur|m’|t’|nous|vous] en déplaise
    néanmoins
    nez à nez
    ni [de|d’] près ?,¿ ni [de|d’] loin
    ni plus ?,¿ ni moins
    ni vu ?,¿ ni connu
    non [plus|seulement]
    non sans raison
    non loin [de|d’] [ici|là]
    non sans mal
    nulle part
    ô combien
    oh
    ou quelque chose d’ approchant
    où bon [me|te|lui|nous|vous|leur] semble
    oui [ou|et] non
    outre mesure
    quant à présent
    par [à-coups|ailleurs|avance|chance|conséquent|curiosité|contre|défaut|définition|endroits|essence|excellence|exemple|hasard|ici|inadvertance|là|moments|nature|principe|terre]
    par acquit [de|d’] conscience
    par [beau|mauvais] temps
    par bien des [aspects|côtés]
    par bonté [de|d’] [âme|cœur]
    par ce biais
    par certains [aspects|côtés]
    par grand froid
    par gros temps
    par la même occasion
    par la suite
    par le passé
    par les temps qui courent
    par monts et par vaux
    par temps [de|d’] pluie
    par tout le monde
    par voie [de|d’] [conséquence|mer|terre]
    par voie d’ exception
    par $:B fois
    par-ci ?,¿ par-là
    par-derrière
    par-dessus le marché
    par-dessus tout
    par-devant
    par instants
    par là
    par [un|le] simple effet du hasard
    parfois
    partant [de|d’] là
    partout
    pas du tout
    pas le moins du monde
    pas à pas
    pendant ?[bien|si|assez|très]¿ longtemps
    pendant ce temps-là
    pendant plusieurs [heures|minutes|secondes|mois|semaines|jours|années|siècles|millénaires|décennies]
    pendant quelque temps
    pendant qu’ il ?en¿ est ?encore¿ temps
    petit à petit
    peu [de|d’] temps auparavant
    peu ou prou
    peu à peu
    peut-être
    pile poil
    plein [nord|sud|ouest]
    plein [de|d’] fois
    plus [près|loin|tôt|tard]
    plus [près|loin|tôt|tard] que [prévu|nécessaire]
    plus bas que terre
    plus du tout
    plus d’ une fois
    plus jamais
    plus ou moins
    plus que [nécessaire|prévu|jamais]
    plus que tout au monde
    plus que toute autre chose
    plusieurs fois
    plusieurs fois [de|d’] suite
    plutôt
    pour [celui|celle|ceux|celles] et [celui|celle|ceux|celles] que [ça|cela|ceci] intéresse
    pour [celui|celle|ceux|celles] que [ça|cela|ceci] intéresse
    pour [ma|ta|sa|notre|votre|leur] [gouverne|part]
    pour [mon|ton|son|notre|votre|leur] propre [compte|bien]
    pour [m’|t’|s’|nous|vous] en rendre compte
    pour ainsi dire
    pour ce faire
    pour ce que [j’|tu] en [sais|savais]
    pour couronner le tout
    pour [de|d’] bon
    pour faire bonne mesure
    pour faire simple
    pour la [première|seconde|dernière|~ième$] fois
    pour la [première|seconde|dernière|~ième$] fois [de|d’] [ma|ta|sa|notre|votre|leur] ?misérable¿ vie ?[misérable|insignifiante|palpitante]¿
    pour la [première|seconde|dernière|~ième$] fois [de|d’] [mon|ton|son|notre|votre|leur] ?[misérable|insignifiante|palpitante]¿ existence ?[misérable|insignifiante|palpitante]¿
    pour la [seconde|dernière|~ième$] fois [de|d’] suite
    pour la suite
    pour le [moment|moins]
    pour le meilleur et pour le pire
    pour l’ [essentiel|instant|heure]
    pour quelque [part|temps]
    pour rien au monde
    pour tout dire
    pour [trois|3] fois rien
    pour un oui ou pour un non
    pour une fois
    pour y parvenir
    pour ça [vaut|valait]
    pourtant
    presque
    primo
    quand bien même
    quand bon [me|te|lui|nous|vous|leur] [semble|semblera|semblait]
    quant à [ça|cela|ceci]
    que [ça|ceci|cela] [me|te|lui|leur|nous|vous] plaise ou non
    que je le veuille ou non
    que tu le veuilles ou non
    qu’ [il|elle|on] le veuille ou non
    que vous le vouliez ou non
    que nous le voulions ou non
    qu’ [ils|elles] le veuillent ou non
    qu’ à cela ne tienne
    quel qu’ en soit le [moyen|prix|danger]
    quel qu’ en soit le risque ?financier¿
    quelle qu’ en soit la [cause|raison]
    quelque [part|temps]
    quelquefois
    quelques fois
    quelques [instants|secondes|minutes|heures|jours|semaines|mois|années|décennies|siècles|millénaires|trimestres|semestres] auparavant
    quelques [instants|secondes|minutes|heures|jours|semaines|mois|années|décennies|siècles|millénaires|trimestres|semestres] plus [tard|tôt]
    qui plus est
    quoi qu’ il [arrive|arrivât|advienne|advînt]
    quoi qu’ il en [coûte|coûtât|coute|coutât]
    sans ?grand¿ succès
    sans [ambages|arrêt|cesse|conteste|doute|encombre|encombres|fin|relâche|répit|trêve|vergogne]
    sans [grande|grosse] difficulté ?[apparente|aucune|financière|majeure|particulière]¿
    sans aucun doute
    sans autre forme [de|d’] procès
    sans commune mesure
    sans coup férir
    sans crier gare
    sans difficulté ?[apparente|aucune|financière|majeure|particulière]¿
    sans dire mot
    sans en avoir conscience
    sans états d’ âme
    sans [m’|t’|s’|nous|vous] en apercevoir
    sans [m’|t’|s’|nous|vous] en rendre compte
    sans [m’|t’|s’|nous|vous] faire [avoir|comprendre|désirer|prier|remarquer]
    sans faire [de|d’] vagues
    sans foi ?,¿ ni loi
    sans le faire exprès
    sans le vouloir
    sans l’ aide [de|d’] personne
    sans l’ ombre d’ un doute
    sans mot dire
    sans nul doute
    sans pour autant y [parvenir|réussir|réfléchir|songer|penser]
    sans pour autant y faire attention
    sans pour autant y prendre [garde|goût|gout]
    sans [me|te|lui|nous|vous|leur|y] prêter attention
    sans [que|qu’] je le [sache|susse]
    sans [que|qu’] tu le [saches|susses]
    sans [que|qu’] [il|elle|on|$:M] le [sache|sût]
    sans [que|qu’] nous le [sachions|sussions]
    sans [que|qu’] vous le [sachiez|sussiez]
    sans [que|qu’] [ils|elles] le [sachent|sussent]
    sans queue ni tête
    sans raison apparente
    sans répit
    sans tarder
    sans vouloir [me|m’|te|t’|lui|nous|vous|leur] manquer de respect
    sans y [parvenir|réussir|réfléchir|songer|penser]
    sans y [réfléchir|songer|penser] à [deux|2] fois
    sans y faire attention
    sans y prendre [garde|goût|gout|ombrage]
    sauf >erreur [de|d’] [ma|ta|sa|notre|votre|leur] part
    secondo
    selon toute vraisemblance
    sens dessus dessous
    >seule à >seule
    s’ il le [faut|fallait|faudra|faudrait]
    si [bas|haut|longtemps|nécessaire|possible|soudain]
    si [cela|ça|ceci] ne tenait qu’ à [moi|toi|lui|eux|elle|elles|nous|vous|iel|iels]
    si besoin est
    si le besoin s’en [fait|faisait] sentir
    si le besoin [doit|devait] s’en faire sentir
    si tel est le cas
    sine die
    sine qua non
    six pieds sous terre
    soi-disant
    soit dit en passant
    soudain
    sous aucun prétexte
    sous bonne [escorte|garde]
    sous coupe réglée
    sous haute surveillance
    souvent
    stricto sensu
    sur [mon|ton|son|notre|votre|leur] [trente-et-un|31]
    sur [mon|ton|son|notre|votre|leur] trente et un
    sur ce ,
    sur ce plan-là
    sur la forme comme sur le fond
    sur la même longueur d’ onde
    sur le [long|moyen|court] terme
    sur le qui-vive
    sur-le-champ
    surtout
    séance tenante
    s’ il [te|vous] [plaît|plait]
    tant bien que mal
    tant de fois
    tant s’ en faut
    tantôt
    tard
    tertio
    toujours
    tous comptes faits
    tous frais payés
    tout [bonnement|simplement]
    tout au plus
    tout aussi bien
    tout bien [considéré|réfléchi]
    tout compte fait
    tout [de|d’] [suite|go]
    tout [de|d’] même ?[pas|jamais]¿
    tout du long
    tout feu ?,¿ tout >flamme
    tout le temps
    tout à [fait|coup]
    tout à l’ heure
    toutefois
    toute affaire cessante
    toutes affaires cessantes
    toutes choses égales par ailleurs
    toutes griffes dehors
    toutes proportions gardées
    trait pour trait
    très ?[bas|haut|bien|mal]¿
    tôt
    tôt ou tard
    un à un
    une à une
    un jour ou l’autre
    un instant plus [tôt|tard]
    un [millier|million|milliard] [de|d’] fois
    un moment plus [tôt|tard]
    un peu mieux
    un peu moins bien
    un peu partout
    un peu plus [tôt|tard] que prévu
    un quart d’ heure plus [tôt|tard]
    trois quarts d’ heure plus [tôt|tard]
    un tant soit peu
    une à une
    une [autre|nouvelle|première|seconde|troisième|quatrième|cinquième|sixième|septième|huitième|neuvième|dixième|onzième|douzième|treizième|quatorzième|quinzième|seizième|dix-septième|dix-huitième|dix-huitième|dix-neuvième|vingtième] fois
    une bonne fois pour toutes
    une dernière fois
    une fois [de|d’] plus
    une fois n’ est pas coutume
    une fois pour toutes
    urbi et orbi
    vaille que vaille
    ventre à terre
    vers nulle part
    vite fait ?,¿ bien fait
    [voici|voilà] belle lurette
    volontiers
        <<- ~>> *


__purge_x_par_après_x__
    un par un
    une par une
    deux par deux
    trois par trois
    quatre par quatre
    cinq par cinq
    six par six
    sept par sept
    huit par huit
    neuf par neuf
    dix par dix
    onze par onze
    douze par douze
    treize par treize
    quatorze par quatorze
    quinze par quinze
    seize par seize
    vingt par vingt
    trente par trente
    quarante par quarante
    cinquante par cinquante
    soixante par soixante
    cent par cent
    mille par mille
    million par million
    milliard par milliard
        <<- not morph(<1, ":D") ~>> *

    appartement [après|par] appartement
    article [après|par] article
    bout [après|par] bout
    camion [après|par] camion
    élément [après|par] élément
    étage [après|par] étage
    enfant [après|par] enfant
    femme [après|par] femme
    feuille [après|par] feuille
    fragment [après|par] fragment
    grain [après|par] grain
    homme [après|par] homme
    livre [après|par] livre
    maison [après|par] maison
    morceau [après|par] morceau
    niveau [après|par] niveau
    palier [après|par] palier
    page [après|par] page
    pays [après|par] pays
    pièce [après|par] pièce
    quartier [après|par] quartier
    train [après|par] train
    ville [après|par] ville
    voiture [après|par] voiture
    wagon [après|par] wagon
        <<- not morph(<1, ":D") ~>> *


__gestion_mots_grammaticaux__
    à [bord|bout|cause|contre-courant|côté|court|défaut|destination|droite|flanc|gauche|hauteur|partir|portée|proximité|propos|rebours|titre]   [de|du|d’|des]
    à [bonne|faible|grande] distance                                                                                                            [de|du|d’|des]
    à l’ [affût|affut|approche|arrière|aune|avant|écart|égard|est|extérieur|encontre|insu|instar|intérieur|opposé|orée|ouest]                   [de|du|d’|des]
    à l’ autre bout                                                                                                                             [de|du|d’|des]
    à la [hauteur|portée|suite]                                                                                                                 [de|du|d’|des]
    à la grande surprise                                                                                                                        [de|du|d’|des]
    à [quelques|plusieurs] [mètres|kilomètres|lieues|pas|minutes|heures]                                                                        [de|du|d’|des]
    à [quelques|plusieurs] [dizaines|centaines|milliers] de [mètres|kilomètres]                                                                 [de|du|d’|des]
    à [base|force|raison]                                                                                                                       [de|d’]
    à grand renfort                                                                                                                             [de|d’]
    à grands coups                                                                                                                              [de|d’]
    au [bout|courant|cours|détriment|fond|gré|lieu|long|large|milieu|nord|profit|ras|sein|sommet|sortir|sud|sujet|vu]                           [de|du|d’|des]
    au beau milieu                                                                                                                              [de|du|d’|des]
    au fin fond                                                                                                                                 [de|du|d’|des]
    au grand dam                                                                                                                                [de|du|d’|des]
    au plus [près|profond]                                                                                                                      [de|du|d’|des]
    au fur et à mesure                                                                                                                          [de|du|d’|des]
    au vu et au su                                                                                                                              [de|du|d’|des]
    au nez et à la barbe                                                                                                                        [de|du|d’|des]
    au sortir                                                                                                                                   [de|du|d’|des]
    aux [abords|dépens]                                                                                                                         [de|du|d’|des]
    compte tenu                                                                                                                                 [de|du|d’|des]
    d’ un bout à l’ autre                                                                                                                       [de|du|d’|des]
    dans l’ attente                                                                                                                             [de|du|d’|des]
    des [quatre|4] coins                                                                                                                        [de|du|d’|des]
    en [arrière|attente|amont|aval|bas|cas|cours|dehors|dépit|direction|faveur|guise|haut|présence|provenance|quête|raison|sus|termes|vertu]    [de|du|d’|des]
    en flagrant délit                                                                                                                           [de|d’]
    en lieu et place                                                                                                                            [de|du|d’|des]
    en matière                                                                                                                                  [de|d’]
    en l’ [absence|honneur]                                                                                                                     [de|du|d’|des]
    en plein milieu                                                                                                                             [de|du|d’|des]
    le long                                                                                                                                     [de|du|d’|des]
    par le biais                                                                                                                                [de|du|d’|des]
    par l’ entremise                                                                                                                            [de|du|d’|des]
        <<- ~1:-2>> ␣
        <<- =>> define(\1, [":R:LR"])

    tout au long [de|du|d’|des]
        <<- not morph(<1, ":R") ~1>> *

    à travers $:D
    à travers >différente
        <<- ~1:2>> ␣
        <<- =>> define(\1, [":R:LR"])

    ainsi
        <<- not value(>1, "|que|qu’|") ~>> *

    au moins  @:[DB]
        <<- ~1:2>> *

    [celui|celle|celles|ceux]   d’ entre [nous|vous|eux|elles|iels]
    [chacun|chacune]            d’ entre [nous|vous|eux|elles|iels]
        <<- ~2:0>> *

    ceux et [celle|celles] qui
        <<- ~2:3>> *

    comme tant d’ autres  $:R
        <<- ~1:4>> *

    depuis [,|<end>]
        <<- ~1>> *

    de [plus|moins] comparé [à|au|aux]
        <<- ~1:3>> *

    du moins
        <<- ~>> _

    en cours
        <<- not value(>1, "|de|d’|") ~>> *

    de [mes|tes|ses|nos|vos|leurs] yeux [vu|vue|vus|vues]
        <<- ~1:3>> *

    elle aussi  @:A:[fe]:s
        <<- ~1:2>> *

    elle aussi  @:W¬:(?:3s|X)  [<end>|@:A:[fe]:s]
        <<- ~1:2>> *

    elles aussi  @:A:[fe]:p
        <<- ~1:2>> *

    elles aussi  @:W¬:(?:3p|X)  [<end>|@:A:[fe]:p]
        <<- ~1:2>> *

    en phase avec
        <<- ~1:2>> *

    en proie à
        <<- ~1:2>> *

    eu égard [à|au|aux]
        <<- ~1:2>> *

    et  /  ou
        <<- ~2:3>> *

    [>aller|>croire|>devoir|>estimer|>imaginer|>penser] [lui|leur|nous|vous] être
        <<- ~2>> *

    jamais
        <<- not morph(<1, ">ne") ~>> *

    la une [de|des|du]
        <<- ~2>> _

    l’ impression [que|qu’]
        <<- ~1>> _

    l’ étrange impression [que|qu’]
    la [nette|bizarre] impression [que|qu’]
        <<- ~2:3>> _

    le pour et le contre
        <<- ~>> ␣
        <<- =>> define(\1, [":LN:m:p"])

    le [pressentiment|sentiment] [que|qu’]
        <<- ~1>> _

    ou bien
        <<- ~2>> *

    pas très
        <<- morph(<1, ":[NV]", ":A:[em]:[is]") ~>> *

    personne  d’ autre [que|qu’]  [moi|moi-même|toi|toi-même|lui|lui-même|elle|elle-même|elles|elles-mêmes|nous|nous-même|nous-mêmes|vous|vous-même|vous-mêmes|eux-mêmes|iel|iels|iel-même|iels-mêmes]
        <<- ~2:0>> *

    pour ou contre
        <<- ~2:0>> *

    qui ce      [jour-là|matin-là|après-midi-là|soir-là|mois-là|siècle-là|millénaire-là]
    qui cette   [nanoseconde-là|milliseconde-là|seconde-là|minute-là|heure-là|nuit-là|matinée-là|soirée-là|journée-là|semaine-là|année-là|décennie-là]
    qui à part  [moi|toi|lui|elle|nous|vous|eux|elles]
    qui d’ autre à part [moi|toi|lui|elle|nous|vous|eux|elles]
        <<- ~2:0>> *

    plus avant ~¬^(?:de|d’|que|qu’)$
        <<- ~1:2>> *

    rien comparé à
        <<- ~2>> *

    suite [à|au|aux]
        <<- not value(<1, "|une|la|cet|cette|ma|ta|sa|notre|votre|leur|de|quelque|certaine|") ~1>> *

    tout un chacun
        <<- ~1:2>> *

    une fois
        <<- ~>> _

    vent debout contre
        <<- ~1:2>> *

    je      [t’|vous]   en  [prie|supplie]  <end>
    nous    [t’|vous]   en  [prions|supplions]  <end>
        <<- ~>> *

    ,  je      [t’|vous]   en  [prie|supplie]  ,
    ,  nous    [t’|vous]   en  [prions|supplions]  ,
        <<- not morph(>1, ":E") ~>> *


# Déterminant + nombre
__p_dét_plur_nombre_nom__
    [les|des|mes|tes|ses|nos|vos|leurs]  ~^\d+$  @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor)
        <<- ~2>> *

    [les|des|mes|tes|ses|nos|vos|leurs]  ~^\d+$  ou  ~^\d+$  @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor)
        <<- ~2:4>> *

    [les|des]   >numéro  [un|*NUM|$:B]  et  [*NUM|$:B]
        <<- ~3:0>> *

    la  >numéro  un
    la  >numéro  $:B
    la  >numéro  *NUM
        <<- =>> define(\2, [">numéro/:N:f:s"])
        <<- ~3>> *

    le  numéro  un  @:¬:N:[em]:[is]
        <<- ~3>> *

    >numéro  $:B
    >numéro  *NUM
    [n°|no]  *NUM
        <<- ~2>> *


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

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


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

    [deux|trois|quatre|cinq|six|sept|huit|neuf|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf]  cents  @:[NAQ].*:[pi]¬:(?:G|3p)
        <<- ~1:2>> ␣
        <<- =>> define(\1, [":B:e:p"])

    [deux|trois|quatre|cinq|six|sept|huit|neuf] ?cent¿ mille
    cent mille
        <<- ~>> ␣
        <<- =>> define(\1, [":B:e:p"])


__purge_des_nombres__
    [les|des|ces|mes|tes|ses|nos|vos|leurs]  quelque  $:B   @:[NA].*:[pi]¬:(?:G|3p)
    [les|des|ces|mes|tes|ses|nos|vos|leurs]  quelque  *NUM  @:[NA].*:[pi]¬:(?:G|3p)
        <<- ~2:3>> *

    [à|de|d’]  $:B  pour  cent
        <<- ~>> *

    [à|de|d’]  une  heure  ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-et-une|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-et-une|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-et-une|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-et-une|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf]¿
    [à|de|d’]  [deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-une|vingt-deux|vingt-trois|vingt-quatre]  heures  ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-et-une|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-et-une|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-et-une|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-et-une|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf]¿
        <<- ~>> *


__purge_conditionnelle__
    [>avoir|>être] ?[pas|jamais]¿ au moins $:Q
        <<- ~-3:-2>> *

    au  moins  @¬:[AQ].*:[me]:[si]
        <<- ~1:2>> *

    au hasard  @:¬:[AQ].*:[me]:[si]
        <<- ~1:2>> *

    aussi $:W que [nécessaire|possible]
        <<- ~>> *

    aussi $:W que ce soit [<end>|,]
        <<- ~1:5>> *

    au sens le [plus|moins] @:A.*:[me]:[si] du terme
    au sens @:A.*:[me]:[si] du terme
        <<- ~>> *

    ailleurs que chez [moi|toi|soi|lui|elle|nous|vous|eux|elles]
    autre part que chez [moi|toi|soi|lui|elle|nous|vous|eux|elles]
        <<- not value(<1, "|d’|") ~>> *

    <start> bien [entendu|sûr]
        <<- ~2:0>> *

    bien [entendu|sûr]
        <<- morph(<1, ":[NAQR]|>que/") ~>> *

    comme [moi|toi]
        <<- morph(<1, ":[NA]", ":V0") ~>> *

    comme [lui|elle|ça|cela]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme le [mien|tien|sien|nôtre|vôtre|leur]
    comme la [mienne|tienne|sienne|nôtre|vôtre|leur]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|3s)") ~>> *

    comme nous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|1p)") ~>> *

    comme vous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|2p)") ~>> *

    comme [eux|elles]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme les [miens|tiens|siens|miennes|tiennes|siennes|nôtres|vôtres|leurs]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|3p)") ~>> *

    droit au but
    droit dans les yeux
        <<- not morph(<1, ":D.*:[me]:[si]") ~>> *

    droit devant
        <<- not morph(<1, ":D.*:[me]:[si]") ~1>> *

    du coup @¬:A
        <<- ~1:2>> *

    en partie @:(?:R|D|[123]s|X)
        <<- ~1:2>> *

    en plus
        <<- morph(>1, ":A") ~1>> *
        <<- __else__ ~>> *

    en quelques [années|décennies|semaines|heures|minutes]              @¬:A:[fe]:[pi]
        <<- ~1:3>> *

    en quelques [jours|mois|trimestres|semestres|siècles|millénaires]   @¬:A:[me]:[pi]
        <<- ~1:3>> *

    entre autres  @:¬:N.*:p
        <<- ~1:2>> *

    entre [eux|elles|nous|vous|iels]
        <<- not morph(<1, ":Ov|>(?:il|on|elle)") ~>> *

    entre [moi|toi|lui|elle|nous|vous|eux|elles] et [moi|toi|lui|elle|nous|vous|eux|elles]
        <<- ~>> *

    haut et fort
        <<- not morph(<1, ":D") ~>> *

    hélas
        <<- not morph(<1, ":(?:X|Oo)") and not tag_before(\1, "2s") ~>> *

    la lettre [a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z]  @:(?:3s|Ov)
        <<- ~3>> *

    le [plus|moins] $:W possible
        <<- ~>> *

    les [moins|plus] @:A.*:[pi] possible
        <<- ~-1>> *

    mais
        <<- not morph(<1, ":(?:D.*:p|N|V)") ~>> *

    nécessité fait loi
        <<- not morph(<1, ":D.*:f:[si]") ~>> *

    nombre [de|des]
        <<- morph(<1, ":(?:R|C[sc])") ~1>> *

    non @:A
        <<- not morph(<1, ":D.*:m:[si]") ~1>> *

    par trop $:A
        <<- ~1:2>> *

    pas mal
        <<- not morph(<1, ":D") ~>> *

    pas assez *WORD
        <<- morph(\3, ":[AW]") and not morph(<1, ":D") ~>> *

    pêle-mêle
        <<- not morph(<1, ":D.*:[me]") ~>> *

    plein est
        <<- not morph(<1, ":D.*:m:[si]") ~>> *

    [plus|moins|aussi] $:W que prévu
        <<- ~>> *

    plus que tout autre @¬:[AQ].*:m:[si]
        <<- ~1:4>> *

    [plus|moins|aussi]  @:[AW]¬:G   que [les|nous|vous] autres
    [plus|moins|aussi]  @:[AW]¬:G   que l’ autre
    [plus|aussi]        @:[AW]      les [uns|unes] que les autres
        <<- ~3:0>> *

    pour  autant  [que|qu’]  [je|il|elle|on]  le  sache
    pour  autant  [que|qu’]  tu               le  saches
    pour  autant  [que|qu’]  nous             le  sachions
    pour  autant  [que|qu’]  vous             le  sachiez
    pour  autant  [que|qu’]  [ils|elles]      le  sachent
        <<- ~>> *

    pour  autant  [que|qu’]  [je|il|elle|on]  sache      [,|@¬:Y|<end>]
    pour  autant  [que|qu’]  tu               saches     [,|@¬:Y|<end>]
    pour  autant  [que|qu’]  nous             sachions   [,|@¬:Y|<end>]
    pour  autant  [que|qu’]  vous             sachiez    [,|@¬:Y|<end>]
    pour  autant  [que|qu’]  [ils|elles]      sachent    [,|@¬:Y|<end>]
        <<- ~1:5>> *

    pour cette raison [que|qu’]
        <<- ~1:3>> *

    pour les uns    @:¬:[AQ].*:[me]:[pi]
    pour les autres @:¬:[AQ].*:[pi]
        <<- ~1:3>> *

    [le|un|ce|mon|ton|son]  putain  [de|d’]  @:[NA].*:[me]
        <<- ~2:3>> *

    tambour battant
    tambours battants
        <<- morph(<1, ":(?:V|N:f)", ":G") ~>> *

    tête baissée
        <<- morph(<1, ":[NV]", ":D.*:[fe]:[si]") ~>> *

    tant  que  ça  @¬:(?:3s|X|Oo)
        <<- ~1:3>> *

    pas  tant  que  ça  @¬:(?:3s|X|Oo)
        <<- ~1:4>> *

    un petit peu  @:[NAYG]¬:A.*:[me]:[si]
        <<- ~1:3>> *

    un temps @:A¬:A.*:[me]:[si]
        <<- ~1:2>> *

    vent debout
        <<- not morph(<1, ":D.*:[me]:[si]") ~>> *

    [vu|vue|vus|vues]  de  [mes|tes|ses|nos|vos|leurs]  yeux  [vu|vue|vus|vues]
    [vu|vue|vus|vues]  ,  de  [mes|tes|ses|nos|vos|leurs]  yeux  [vu|vue|vus|vues]  ,
        <<- ~2:0>> *

# END OF NG
#<end>
#@:[VR]¬[NAP]
#, @¬:[NA]
#[ne|n’|me|m’|te|t’|se|s’|le|la|l’|les|leur|leur|mon|ma|ta|sa|notre|votre|mes|tes|ses|ce|cet|cette|ces|je|j’|tu|il|on|nous|vous|ils|iels|ça|ceci|cela|c’|ç’|chaque]


__simplication_substantifs__
    abus [de|d’] pouvoir
    >accusé de reception
    >acte [de|d’] [baptême|caution|cautionnement|cession|contrition|licitation|mariage|naissance|notoriété|propriété|quittance|reconnaissance|répudiation|vente]
    >acte d’ [achat|engagement]
    >acte de gestion ?courante¿
    >acte de procédure ?pénale¿
    >acte d’ état ?civil¿
    >administratrice >système
    >agence de >voyage
    >aire d’ atterrissage
    >animal [de|d’] compagnie
    >appel au secours
    >appel à l’ aide
    >arc à poulies
    >arme à feu
    >armée [de|d’] l’ air
    >armée [de|d’] terre
    >armer jusqu’ aux dents
    >arme [de|d’] [poing|guerre]
    >arme [de|d’] destruction massive
    >armoire à [>glace|>pharmacie]
    >argent [de|d’] poche
    >arnaque à l’ assurance
    >article [de|d’] presse
    >assignation à résidence
    >attaque à main armée
    >attestation sur l’ honneur
    >atteinte aux bonnes mœurs
    >attendre [de|d’] pied ferme
    >avion à [>hélice|réaction]
    ayants droit
    >banc [de|d’] touche
    >bandit [de|d’] grand chemin
    >bandit [de|d’] grands chemins
    bas résille
    >benne à >ordure
    [>beauté|>belle] à couper le souffle
    >bête à [manger|bouffer] du foin
    >billet [de|d’] [*NUM|$:B] [>euro|>dollar|>centime|>cent|>livre|>shilling]
    [>bisphénol|>bisphenol] A
    >blanche comme neige
    >blanche comme [de|d’] la craie
    >blanche comme un linge
    [>boîte|>boite] [aux|à] lettres
    [>boîte|>boite] à [gants|outils|sardines]
    >bombe à [eau|fission|fusion|fragmentation|hydrogène|neutrons|retardement]
    >bombe à rayonnement renforcé
    >bonnet [de|d’] nuit
    >bonne à rien
    >boucle d’ >oreille
    bras d’ honneur
    >brave ?d’¿ entre les braves
    >brosse à [>dent|reluire]
    >cabinet [de|d’] [toilette|travail]
    >camp [de|d’] [concentration|internement|rééducation|vacances]
    >canne à [pêche|sucre]
    >canon à eau
    >caisse à >outil
    >carton d’ emballage
    >centre d’ éducation [populaire|surveillée]
    >chair à [pâté|>canon]
    >chair [de|d’] poule
    >chambre à [coucher|gaz]
    >chambre [de|d’] [agriculture|hôte|hôtel|hôtes|commerce|compensation|décompression|dégrisement]
    [>chariot|>charriot] à [bagages|roulettes]
    >chasse à courre
    >chasse à l’ homme
    >chasse d’ eau
    >chasseuse [de|d’] primes
    >chemin [de|d’] [traverse|fer]
    >chemise sans >manche
    >chèque sans provision
    >chili con carne
    >chou à la crème ?[fouettée|diplomate|mousseline|patissière|pralinée]¿
    >claire comme [de|d’] l’ eau [de|d’] [boudin|roche|source]
    >claire comme du cristal
    >claire comme jus [de|d’] [boudin|>chaussette|chique]
    [>clé|>clef] à molette
    >clin d’ œil
    >clause [de|d’] [confidentialité|non-concurrence]
    >clause [de|d’] non concurrence
    >code [de|d’] ?bonne¿ conduite
    >commise d’ office
    >compagne [de|d’] route
    >compagnon [de|d’] route
    >complémentaire santé
    >compte à rebours
    concours de beauté
    >condamnée à mort
    >conférence [de|d’] presse
    >convention [récepteur|générateur]
    >conne comme la lune
    >conne comme un balai
    >conne comme une valise sans >poignée
    >contrôle [de|d’] routine
    >corvéable à merci
    >coup [de|d’] [avance|balai|barre|bâton|bec|bélier|bite|blues|bol|botte|boule|boutoir|cœur|chaud|coude|couteau|dé|dent|déprime|éclat|épaule|épée|estoc|État|foudre|fil|froid|genou|grâce|>griffe|grisou|gueule|hache|hanche|jarnac|jeune|jus|klaxon|main|maître|maitre|marteau|massue|nostalgie|œil|patte|pied|poignard|poing|poker|pouce|pute|queue|rabot|rein|sabre|sabot|sang|savate|semonce|sifflet|soleil|surin|tête|théâtre|tonnerre|trique|torchon|vent|vieux]
    >coup [de|d’] baguette ?magique¿
    >coup du sort
    >coup d’ un soir
    >course contre la montre
    [cousu+ses] [main]
    [cousu+ses] [de|d’] fil blanc
    >crayon à [lèvres|sourcils]
    >cour d’ assises
    [>coût|>cout] [de|d’] revient
    >couteau à cran d’ arrêt
    >cuillère à [café|soupe]
    >cure de [désintoxication|désintox]
    >déclaration sur l’ honneur
    >délai [de|d’] [attente|carence|connexion|prescription|préavis|rétraction|rigueur]
    >demande d’ asile
    >descente aux [enfers|flambeaux]
    [>dîner|>diner] aux chandelles
    >digne [de|d’] [confiance|foi]
    >digne [de|d’] ce nom
    >don en nature
    >droite comme un i
    >eau [de|d’] [bouleau|bleuet|chaux|coco|javel|jouvence|mer|parfum|pluie|seltz|source|vie]
    >eau [de|d’] noix [de|d’] coco
    >élément à charge
    >emploi du temps
    >enterrement [de|d’] vie [de|d’] garçon
    >enterrement [de|d’] vie [de|d’] jeune fille
    >entrée [de|d’] service
    >épée à deux mains
    >épingle à cravate
    >erreur de jugement
    >espérance [de|d’] vie
    >état [de|d’] [âme|esprit|urgence|conservation|fait]
    >état d’ extrême urgence
    >état [de|d’] l’ art
    >étui à cigarettes
    >expérience [utilisateur|utilisateurs]
    >face [A|B]
    faits et gestes
    farces et attrapes
    >fard à paupières
    >fer à cheval
    >femme [de|d’] [affaires|chambre|confiance|exception|État|Église|honneur|lettres|loi|ménage]
    >femme d’ âge mûr
    >femme à tout faire
    >ferme à >clic
    >fermeture à glissière
    >fermoir à [cliquet|levier|ressort]
    >feu d’ artifice
    >feuille [de|d’] route
    >fibre de verre
    >fiche S
    >ficher S
    >file d’ attente
    >fille à [papa|maman|>soldat]
    >fille au pair
    fils à [papa|maman]
    fils [de|d’] pute
    >flocon [de|d’] neige ?électronique¿
    >folle à lier
    >fontaine à eau
    >fosse à [>ordure|purin]
    >fosse aux lions
    [>fourgon|>fourgonette] de location
    >frayeur [de|d’] tous les diables
    >frousse [de|d’] tous les diables
    >fusil à pompe
    >gilet de sauvetage
    >grève de la faim
    >groupe de [discussion|parole|prière|pression|travail]
    >hall d’ entrée
    >harcèlement de rue
    >haute comme [trois|3] pommes
    >heure sup
    >histoire avec un [grand|petit] h
    >homme [de|d’] [affaires|armes|confiance|exception|État|Église|honneur|lettres|loi|main|paille]
    >homme d’ âge mûr
    >homme à tout faire
    >horaire à rallonge
    >hôtel [de|d’] ville
    >hôtesse d’ accueil
    >garde à vue
    >garde du corps
    gaz à >effet [de|d’] serre
    >grain [de|d’] [blé|maïs|sable]
    >infirmière [de|d’] garde
    >inspection [de|d’] routine
    >interface [utilisateur+s]
    >invitée d’ honneur
    >invitée surprise
    >journal [de|d’] bord
    >juge d’ instruction
    >langue de bois
    >lame de fond
    >lettre [de|d’] recommandation
    >lampe à [huile|pétrole]
    >lampe [de|d’] chevet
    >lavage de cerveau
    >liaison sans lendemain
    >lime à >ongle
    >liste d’ attente
    >lit à baldaquin
    >lit [de|d’] camp
    >livraison à domicile
    >livre [de|d’] poche
    >livret d’ épargne ?[bancaire|populaire|salariale]¿
    >longueur d’ avance
    >lune [de|d’] miel
    >machine à [café|coudre|écrire|laver|sous|voter]
    >machine à remonter le temps
    >machine [de|d’] guerre
    >maillot [de|d’] bain
    >main d’ œuvre
    >maison [de|d’] [passe|retraite]
    >mal [de|d’] [tête|ventre|mer]
    >mandat de dépôt
    >marchande [de|d’] fruits et légumes
    >marché aux puces
    >maréchale des [logis|logis-chef]
    >marge [de|d’] >manœuvre
    >marque [de|d’] fabrique
    >masque à [gaz|oxygène]
    >matière à réflexion
    >médecin [de|d’] garde
    >mère au foyer
    >metteuse en scène
    >mineure [de|d’] moins [de|d’] *NUM ans
    >mineure [de|d’] moins [de|d’] $:B ans
    >miroir aux alouettes
    >mode [de|d’] [emploi|paiement|scrutin|vie]
    >monnaie [de|d’] [échange|réserve|singe]
    >montre à gousset
    >mot [de|d’] passe
    >motrice [>essence|>diésel|>diesel]
    >motion [de|d’] [blâme|censure|défiance]
    >moule à [>gaufre|>gâteau|brioche|manqué|savarin|charlotte|tarte]
    >moulin à [café|eau|paroles|poivre|prières|vent]
    noix [de|d’] [cajou|pécan|pecan|coco|lavage|muscade|veau|macadamia]
    >nounou à domicile
    >nourrice à domicile
    >nue comme un ver
    >nue comme des vers
    >nulle et non >avenue
    >occasion en or ?massif¿
    >oiseau [de|d’] [malheur|nuit|proie]
    >oiseau [de|d’] mauvais augure
    >onde [de|d’] choc
    orge [perlé|mondé|carré]
    >noire comme la nuit
    >noire comme une nuit sans lune
    >panier à linge
    >papier à [>lettre|musique]
    >parole en l’ air
    >partie [de|d’] jambes en l’ air
    >passage à tabac
    >passation [de|d’] pouvoir
    >peur [de|d’] tous les diables
    >pièce à conviction
    >pièce [de|d’] [théâtre|monnaie]
    >pièce [de|d’] *NUM [>euro|>dollar|>centime|>cent|>livre|>shilling]
    >pince à linge
    >placard à [>balai|chaussures]
    >plan [A|B|C]
    >planche [de|d’] salut
    >planche à repasser
    >pleine aux as
    >police [de|d’] [caractères|écriture]
    >politique spectacle
    >pomme [de|d’] [discorde|terre|reinette|pin|Adam|api|amour|ambre|eau|or]
    >pompe à [chaleur|essence|fric]
    >porte [de|d’] [entrée|service|garage|sortie]
    >porte d’ entrée
    >pot [de|d’] [chambre|colle]
    >poudre aux yeux
    >presse à >scandale
    preuve ?suffisante¿ du contraire
    preuves ?suffisantes¿ du contraire
    prix [de|d’] revient
    quelqu’un d’ autre
    >question de vie ou de mort
    >rapport [de|d’] force
    >rat [de|d’] bibliothèque
    [réglé+ses] comme du papier à musique
    >règlement [de|d’] comptes
    [remis+es] à plat
    >requête en nullité
    >requête en non [conciliation|inscription|lieu]
    >requête en non révocation [de|d’] sursis
    >responsable qualité
    >retour à la case départ
    >robe [de|d’] [chambre|soirée]
    >robe du soir
    >robe sans >manche
    >roman à l’ eau [de|d’] rose
    >roue [avant|arrière]
    >rouge à lèvres
    >roulement à billes
    >sac à [dos|main|langer|merde|foutre]
    >sac [de|d’] [couchage|sport|voyage]
    >salle à manger
    >salle [de|d’] [attente|>bain|conférence|lecture|séjour|vente]
    >saine [de|d’] [corps|esprit]
    >saine [de|d’] [corps|esprit] et [de|d’] [corps|esprit]
    >sclérose en plaques
    [secret+s] défense
    >serpent à sonnette
    >seuil de tolérance
    >seuil de tolérance à la douleur
    >silo à [>grains|blé]
    >soldate d’ élite
    >sonnette d’ alarme
    >sortie [de|d’] secours
    >soue à >cochonne
    >sourde comme un pot
    >système d’ exploitation
    >système D
    >tableau de chasse
    >table à repasser
    >table de chevet
    >taille *NUM
    tas [de|d’] >ferraille ?rouillée¿
    >talon >aiguille
    taux [de|d’] [abstention|absorption|alcool|alphabétisation|endettement|inflation|intérêt|imposition|occupation|ouverture|œstrogène|urée|usure|change|cholestérol|cholesterol|glycémie|fécondité|participation|testostérone|TVA]
    >témoin à charge
    tenants et aboutissants
    >ténor du barreau
    >tête à claques
    >tête [de|d’] [linotte|déterré|déterrée|déterrés|déterrées|mule]
    >têtue comme une [bourrique|mule]
    >têtue comme un [âne|bourriquot|mulet]
    >terrain à découvert
    >tigre à dents [de|d’] sabre
    >tiret d’ incise
    >titre [de|d’] [noblesse|propriété|séjour]
    >tondeuse à gazon
    >tour [de|d’] passe-passe
    >train à grande vitesse
    >traitement [de|d’] faveur
    >transport en commun
    >trou à >rat
    >trouble à l’ ordre public
    >t-shirt sans >manche
    >tueuse à gages
    >tueuse en série
    >turbine à [gaz|vapeur]
    >usine à gaz
    >vache à lait
    >vectrice [>accélération|>position|>rotation|>vitesse]
    >véhicule de location
    >vérification de routine
    >vente à domicile
    >vente aux enchères
    vernis à ongles
    >voie [de|d’] [recours|perdition]
    >vol à l’ étalage
    >vol à la [sauvette|tire]
    >vol à main armée
    >volée de bois vert
    >voiture de location
    >zone [de|d’] confort
    >zone [de|d’] transit ?principal¿
        <<- ~2:0>> *
        <<- =>> =select(\1, ":N")

    [>homme|>femme|>cinéaste|>politicienne|>actrice|>autrice|>sculpteuse|>compositrice|>musicienne|>groupe|>romancière|>peintre|>photographe|>sportive|>philosophe|>intellectuelle|>polémiste] à succès
    [>homme|>femme] d’ >affaire à succès
        <<- ~-2:0>> *

    >calibre . *NUM ?[acp|auto|brenneke|browning|british|colt|court|H&K|magnum|mauser|otan|remington|parabellum|russian|S&W|sig|soviet|special|wcf|wsm|winchester]¿
    >calibre . *NUM long rifle
    >calibre *NUM ?[mm|in]¿
    >calibre *NUM [*|×] *NUM ?[mm|in]¿
        <<- ~2:0>> *
        <<- =>> =select(\1, ":N")


__purge_syntagmes_nominaux_matière__
    *WORD  en  acier  ?[galvanisé|inoxydable|trempé]¿
    *WORD  en  [alu|aluminium|bois|contreplaqué|coton|cuir|cuivre|émail|étain|fer|fibrociment|fibro-ciment|inox|laiton|lin|coton|métal|nacre|plastique|plâtre|plomb|polycarbonate|polymère|verre|zinc]
        <<- morph(\1, ":N") and not morph(>1, ":A.*:[me]:[si]") ~2:0>> *

    *WORD  en  pierre
    *WORD  en  pierre de taille
    *WORD  en  soie
    *WORD  en  terre  ?cuite¿
        <<- morph(\1, ":N") and not morph(>1, ":A.*:[fe]:[si]") ~2:0>> *

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


__purge_locutions_adjectivales__
    ancienne formule
    bas de gamme
    basse consommation
    bon [enfant|marché|teint]
    bon chic ?,¿ bon genre
    [>clé|>clef] en >main
    dernier cri
    fleur bleue
    grand [format|public|luxe|maximum]
    grande taille
    grandeur nature
    haut de gamme
    haute [résolution|fidélité|tension]
    hors service
    longue [conservation|distance|portée|durée]
    meilleur marché
    nouvelle [formule|génération]
    numéro un
    numéro $:B
    plein cadre
    top secret
    vieux jeu
    open source
    Créative Commons
    pair à pair
    petite taille
    plein les yeux
    pur [sucre|jus]
    terre à terre
    vieille école
        <<- morph(<1, ":(?:N|A|Q|W|V0e)", ":D") ~>> *


__purge_couleurs__
    [beige|blanc|bleu|brun|châtain|cyan|gris|incarnat|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet|or|argent] [brillant|clair|criard|diapré|fluo|foncé|irisé|mat|pâle|pastel|sale|sombre|tendre|terne|vif]
    [beige|blanc|bleu|brun|châtain|cyan|gris|incarnat|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet|or|argent] et [beige|blanc|bleu|brun|châtain|cyan|gris|incarnat|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet|or|argent]
    blanc   [argenté|cassé|lunaire]
    bleu    [acier|argenté|azur|céleste|ciel|électrique|givré|indigo|marine|nuit|outremer|outre-mer|persan|pétrole|roi|saphir|turquin|turquoise|vert]
    blond   [argenté|platine]
    gris    [acier|anthracite|argenté|fer|perle|souris]
    jaune   [canari|citron|doré|maïs|paille|sable]
    noir    [de|d’] [encre|jais]
    noir    et blanc
    noir    sur blanc
    rose    [bonbon|chair|corail]
    rouge   [anglais|brique|cardinal|carmin|cerise|cochenille|coquelicot|écarlate|feu|fraise|grenat|groseille|incarnat|indien|rubis|sang|sanguin|tomate|vermeille|vermillon]
    vert    [bouteille|céladon|émeraude|épinard|impérial|lichen|olive|perroquet|pistache|poireau|pomme|prairie|printemps|sapin|sauge|tilleul]
    couleur sable
        <<- morph(<1, ":[NA]", ":D") ~>> *
        <<- __else__ and morph(<1, ":D|>(?:être|devenir|redevenir|rester|sembler|demeurer|para[îi]tre)") ~>> ␣
        <<- __also__ =>> define(\1, [":A:e:i"])


__simplification_noms_propres__
    don Juan
        <<- ~1>> *

    >cocktail Molotov
    >effet Streisand
    prix Nobel
        <<- ~2>> *

    Amérique du [Nord|Sud]
    Amérique centrale
        <<- ~2:0>> *

    @:M[12]  *WORD
        <<- \2.istitle() or re.search("^[MDCLXVI]+$", \2) ~2:0>> *

    @:M[12]  [Ier|Iᵉʳ]
        <<- \2.istitle() ~2:0>> *

    @:M[12]  [Le|La|von|van|Mac|Mc|De|Du|D’]  *WORD
        <<- \3.istitle() ~2:0>> *

    [de|d’]  $:M  [et|ou]  [de|d’]  $:M
    [de|d’]  $:M
        <<- ~>> *

    entre  $:M  et  $:M
        <<- ~>> *

    entre  $:N  et  $:N
        <<- \2.istitle() and \4.istitle() ~>> *

    en  $:MP
        <<- ~>> *

    [le|ce|du]  [baron|docteur|député|duc|frère|ministre|prince|professeur|président|roi|sénateur|mir]  @:M[12]
    [la|cette]  [baronne|docteur|docteure|députée|duchesse|ministre|sœur|princesse|présidente|professeure|reine|sénatrice]  @:M[12]
        <<- ~3>> *

    [Mr|Mlle|Mme|Mgr|miss]  ~^[A-ZÉÈÊ]
        <<- ~2>> *

    $:Cs  ~^[A-ZÉÈÊ]  et  [moi|toi|lui|elle|nous|vous|eux|elles]
        <<- morph(\2, ":M") and not before("\\b(?:plus|moins|aussi) .* que +$")
        ~2:4>> =rewriteSubject(\2,\4) + "||"

    <start>  ~^[A-ZÉÈÊ]  et  [moi|toi|lui|elle|nous|vous|eux|elles]
        <<- morph(\2, ":M")
        ~2:0>> =rewriteSubject(\2,\4) + "||"


__purge_pronom_aussi__
    [j’|je] *WORD  moi aussi
        <<- morph(\2, ":1s") ~3:0>> *

    tu      *WORD  toi aussi
        <<- morph(\2, ":2s") ~3:0>> *

    il      *WORD  lui aussi
    elle    *WORD  elle aussi
    on      *WORD  nous aussi
        <<- morph(\2, ":3s") ~3:0>> *

    nous    *WORD  nous aussi
        <<- morph(\2, ":1p") ~3:0>> *

    vous    *WORD  vous aussi
        <<- morph(\2, ":2p") ~3:0>> *

    ils     *WORD  eux aussi
    elles   *WORD  elles aussi
        <<- morph(\2, ":3p") ~3:0>> *


__purge_après_être__
    [>être|>devenir|>rester] [bon|meilleur] marché
    [>être|>devenir|>rester] cousin et cousine
    [>être|>devenir|>rester] de passage
    [>être|>devenir|>rester] frère et sœur
    [>être|>devenir|>rester] mari et femme
    [>être|>devenir|>rester] mission impossible
    [>être|>devenir|>rester] monnaie courante
    [>être|>devenir|>rester] papa et maman
    [>être|>devenir|>rester] partie [intégrante|prenante]
    [>être|>devenir|>rester] peine perdue
    [>être|>devenir|>rester] pieds et poings liés
    [>être|>devenir|>rester] pieds nus
    [>être|>devenir|>rester] père et mère
        <<- ~2:0>> ␣
        <<- =>> define(\2, [":LV"])

    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] [bon|meilleur] marché
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] cousin et cousine
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] de passage
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] frère et sœur
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] mari et femme
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] mission impossible
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] monnaie courante
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] papa et maman
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] partie [intégrante|prenante]
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] peine perdue
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] pieds et poings liés
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] pieds nus
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point] père et mère
        <<- ~2>> *
        <<- ~3:0>> ␣
        <<- =>> define(\3, [":LV"])

    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ avant tout
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ du moins
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ en partie
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ somme toute
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ sous peu
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ [tous|toutes] [deux|trois]
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ un jour
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ à jamais
    [>être|>devenir|>rester] [pas|jamais|plus|guère|point]
        <<- ~2:0>> *

    /VCint [bon|meilleur] marché
    /VCint cousin et cousine
    /VCint de passage
    /VCint frère et sœur
    /VCint mari et femme
    /VCint mission impossible
    /VCint monnaie courante
    /VCint papa et maman
    /VCint partie [intégrante|prenante]
    /VCint peine perdue
    /VCint pieds et poings liés
    /VCint pieds nus
    /VCint père et mère
        <<- morphVC(\1, ">(?:être|devenir|rester)") ~2:0>> ␣
        <<- __also__ =>> define(\2, [":LV"])

    /VCint [pas|jamais|plus|guère|point] [bon|meilleur] marché
    /VCint [pas|jamais|plus|guère|point] cousin et cousine
    /VCint [pas|jamais|plus|guère|point] de passage
    /VCint [pas|jamais|plus|guère|point] frère et sœur
    /VCint [pas|jamais|plus|guère|point] mari et femme
    /VCint [pas|jamais|plus|guère|point] mission impossible
    /VCint [pas|jamais|plus|guère|point] monnaie courante
    /VCint [pas|jamais|plus|guère|point] papa et maman
    /VCint [pas|jamais|plus|guère|point] partie [intégrante|prenante]
    /VCint [pas|jamais|plus|guère|point] peine perdue
    /VCint [pas|jamais|plus|guère|point] pieds et poings liés
    /VCint [pas|jamais|plus|guère|point] pieds nus
    /VCint [pas|jamais|plus|guère|point] père et mère
        <<- morphVC(\1, ">(?:être|devenir|rester)") ~2>> *
        <<- __also__ ~3:0>> ␣
        <<- __also__ =>> define(\3, [":LV"])

    /VCint ?[pas|jamais|plus|guère|point]¿ avant tout
    /VCint ?[pas|jamais|plus|guère|point]¿ du moins
    /VCint ?[pas|jamais|plus|guère|point]¿ en partie
    /VCint ?[pas|jamais|plus|guère|point]¿ somme toute
    /VCint ?[pas|jamais|plus|guère|point]¿ sous peu
    /VCint ?[pas|jamais|plus|guère|point]¿ [tous|toutes] [deux|trois]
    /VCint ?[pas|jamais|plus|guère|point]¿ un jour
    /VCint ?[pas|jamais|plus|guère|point]¿ à jamais
    /VCint [pas|jamais|plus|guère|point]
        <<- morphVC(\1, ">(?:être|devenir|rester)") ~2:0>> *

    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ beaucoup
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ bien [entendu|sûr]
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ dans [l’|leur|son] ensemble
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ [à|en] ce moment  ?précis¿
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ [à|en] cet instant ?précis¿
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ sans peine
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ un [moment|peu|minimum]
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ un petit peu
    [>être|>devenir|>rester] ?[pas|jamais|plus|guère|point]¿ un tout petit peu
        <<- morph(>1, ":[QY]") ~2:0>> *

    /VCint ?[pas|jamais|plus|guère|point]¿ beaucoup
    /VCint ?[pas|jamais|plus|guère|point]¿ bien [entendu|sûr]
    /VCint ?[pas|jamais|plus|guère|point]¿ dans [l’|leur|son] ensemble
    /VCint ?[pas|jamais|plus|guère|point]¿ [à|en] ce moment  ?précis¿
    /VCint ?[pas|jamais|plus|guère|point]¿ [à|en] cet instant ?précis¿
    /VCint ?[pas|jamais|plus|guère|point]¿ sans peine
    /VCint ?[pas|jamais|plus|guère|point]¿ un [moment|peu|minimum]
    /VCint ?[pas|jamais|plus|guère|point]¿ un petit peu
    /VCint ?[pas|jamais|plus|guère|point]¿ un tout petit peu
        <<- morphVC(\1, ">(?:être|devenir|rester)") and morph(>1, ":[QY]") ~2:0>> *

    on ne peut [plus|moins]
    on ne peut pas [plus|moins]
    plus que
        <<- morph(<1, ":(?:V0e|N)") and morph(>1, ":[AQ]") ~>> *


__purge_après_avoir__
    >avoir  [pas|jamais|plus|guère|point]
    >avoir  ?[pas|jamais|plus|guère|point]¿  en partie
    >avoir  ?[pas|jamais|plus|guère|point]¿  [tous|toutes] [deux|trois]
    >avoir  ?[pas|jamais|plus|guère|point]¿  somme toute
        <<- ~2:0>> *

    >avoir  ?[pas|jamais|plus|guère|point]¿  beaucoup
    >avoir  ?[pas|jamais|plus|guère|point]¿  bien [entendu|sûr]
    >avoir  ?[pas|jamais|plus|guère|point]¿  dans [leur|l’|son] ensemble
    >avoir  ?[pas|jamais|plus|guère|point]¿  à cet [instant|endroit] ?précis¿
    >avoir  ?[pas|jamais|plus|guère|point]¿  à ce moment ?précis¿
    >avoir  ?[pas|jamais|plus|guère|point]¿  sans peine
    >avoir  ?[pas|jamais|plus|guère|point]¿  un [moment|instant]
    >avoir  ?[pas|jamais|plus|guère|point]¿  un minimum
    >avoir  ?[pas|jamais|plus|guère|point]¿  un peu
    >avoir  ?[pas|jamais|plus|guère|point]¿  un petit peu
    >avoir  ?[pas|jamais|plus|guère|point]¿  un tout petit peu
        <<- morph(>1, ":[QY]") ~2:0>> *

    >avoir  [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|peine|soif|vent]
    >avoir  bon dos
    >avoir  bon pied ?,¿ bon œil
    >avoir  carte blanche
    >avoir  forme [humaine|animale]
    >avoir  partie [gagnée|liée]
    >avoir  voix au chapitre
        <<- ~2:0>> ␣
        <<- =>> define(\2, [":LV"])

    >avoir  [pas|jamais|plus|guère|point]  [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|peine|soif|vent]
    >avoir  [pas|jamais|plus|guère|point]  bon dos
    >avoir  [pas|jamais|plus|guère|point]  bon pied ?,¿ bon œil
    >avoir  [pas|jamais|plus|guère|point]  carte blanche
    >avoir  [pas|jamais|plus|guère|point]  forme [humaine|animale]
    >avoir  [pas|jamais|plus|guère|point]  partie [gagnée|liée]
    >avoir  [pas|jamais|plus|guère|point]  quartier libre
    >avoir  [pas|jamais|plus|guère|point]  voix au chapitre
        <<- ~3:0>> ␣
        <<- =>> define(\3, [":LV"])

    >avoir  ?[pas|jamais|plus|guère|point]¿  [tous|toutes] les $:B  [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|peine|soif|vent]
    >avoir  ?[pas|jamais|plus|guère|point]¿  [tous|toutes] les $:B  @:(?:Q|V1.*:Y)
        <<- ~2:-2>> *

    n’  >avoir  que  $:Q
        <<- ~3>> *

    n’  >avoir  que  $:W  $:Q
        <<- ~3:4>> *

    n’  >avoir  que  [peu|très|trop]  $:W  $:Q
        <<- ~3:5>> *

    /VCint  [pas|jamais|plus|guère|point]
    /VCint  ?[pas|jamais|plus|guère|point]¿  en partie
    /VCint  ?[pas|jamais|plus|guère|point]¿  [tous|toutes] [deux|trois]
    /VCint  ?[pas|jamais|plus|guère|point]¿  somme toute
        <<- morphVC(\1, ":V0a") ~2:0>> *

    /VCint  ?[pas|jamais|plus|guère|point]¿  beaucoup
    /VCint  ?[pas|jamais|plus|guère|point]¿  bien [entendu|sûr]
    /VCint  ?[pas|jamais|plus|guère|point]¿  dans [leur|l’|son] ensemble
    /VCint  ?[pas|jamais|plus|guère|point]¿  à cet [instant|endroit] ?précis¿
    /VCint  ?[pas|jamais|plus|guère|point]¿  à ce moment ?précis¿
    /VCint  ?[pas|jamais|plus|guère|point]¿  sans peine
    /VCint  ?[pas|jamais|plus|guère|point]¿  un [moment|instant]
    /VCint  ?[pas|jamais|plus|guère|point]¿  un minimum
    /VCint  ?[pas|jamais|plus|guère|point]¿  un peu
    /VCint  ?[pas|jamais|plus|guère|point]¿  un petit peu
    /VCint  ?[pas|jamais|plus|guère|point]¿  un tout petit peu
        <<- morphVC(\1, ":V0a") and morph(>1, ":[QY]") ~2:0>> *

    /VCint  [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|peine|soif|vent]
    /VCint  bon dos
    /VCint  bon pied ?,¿ bon œil
    /VCint  carte blanche
    /VCint  forme [humaine|animale]
    /VCint  partie [gagnée|liée]
    /VCint  voix au chapitre
        <<- morphVC(\1, ":V0a") ~2:0>> ␣
        <<- __also__ =>> define(\2, [":LV"])

    /VCint  [pas|jamais|plus|guère|point]  [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|peine|soif|vent]
    /VCint  [pas|jamais|plus|guère|point]  bon dos
    /VCint  [pas|jamais|plus|guère|point]  bon pied ?,¿ bon œil
    /VCint  [pas|jamais|plus|guère|point]  carte blanche
    /VCint  [pas|jamais|plus|guère|point]  forme [humaine|animale]
    /VCint  [pas|jamais|plus|guère|point]  partie [gagnée|liée]
    /VCint  [pas|jamais|plus|guère|point]  quartier libre
    /VCint  [pas|jamais|plus|guère|point]  voix au chapitre
        <<- morphVC(\1, ":V0a") ~3:0>> ␣
        <<- __also__ =>> define(\3, [":LV"])

    /VCint  ?[pas|jamais|plus|guère|point]¿  [tous|toutes] les $:B  [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|peine|soif|vent]
    /VCint  ?[pas|jamais|plus|guère|point]¿  [tous|toutes] les $:B  @:(?:Q|V1.*:Y)
        <<- morphVC(\1, ":V0a") ~2:-2>> *


__purge_après_verbe__
    $:V  ?pas¿  jour et nuit
    $:V  ?pas¿  nuit et jour
    $:V  quand même pas
    $:V  [moi|toi|lui|elle|nous|vous|eux|elles]  aussi
    $:V  même
    @:[123]  bien [entendu|sûr]
    @:[123]  ?pas¿  juste
    @:[123]  ?pas¿  ensemble
    @:[123]  ?pas¿  ?[fort|très|super]¿  [bien|mal]
        <<- ~2:0>> *

    [>pouvoir|>savoir|>vouloir] mieux que personne ?$:W¿ @:[YG]
    >avoir                      mieux que personne ?$:W¿ @:[QYG]
    >être                       mieux que personne ?$:W¿ @:[QAYG]
        <<- ~2:-2>> *

    >avoir  pour [lui|nous|vous|longtemps]  ?$:W¿  $:Q
    >être   pour [lui|nous|vous|longtemps]  ?$:W¿  @:[QA]
        <<- ~2:-2>> *


__purge_adverbes_de_négation__
    jamais
        <<- ~>> *

    guère
        <<- ~>> *

    [point|plus|bien|ensemble]
    pas ?[moins|plus]¿
        <<- morph(<1, ":[VW]", ":G") ~>> *

    rien
        <<- morph(<1, ":V") and not value(>1, "|qui|de|d’|") ~>> *

    /VCint  [pas|point|bien|ensemble]
    /VCint  pas ?[moins|plus]¿
        <<- ~2>> *

    /VCint  rien
        <<- not value(>1, "|qui|de|d’|") ~2>> *


__purge_avant_adjectifs_adverbes__
    le  @:[NAQ].*:[me]¬:G  le  plus  @:A.*:[me]
        <<- ~3:4>> *

    la  @:[NAQ].*:[fe]¬:G  la  plus  @:A.*:[fe]
        <<- ~3:4>> *

    [les|mes|tes|ses|nos|vos|leurs]  @:[NA].*:[pi]¬:[123][sp]  les  plus  @:A.*:[pi]
        <<- ~3:4>> *

    [>être|>avoir]  le  [plus|moins]  @:A¬:([me]:[si]|G)
        <<- morph(\1, ":V") ~2:3>> *

    bien sûr
        <<- not morph(>1, "|de|d’|") ~>> *

    à peu près   @:[AW]
        <<- ~1:3>> *

    à [demi|peine]              @:[AW]
    [super|fort] [bien|mal]     @:[AW]
    depuis peu                  @:[AW]
    quelque peu                 @:[AW]
    pas très                    @:[AW]
        <<- ~1:2>> *

    un ?petit¿  peu ?[plus|moins]¿
        <<- morph(>1, ":[AW]") ~>> *

    [plus|moins|peu] @:[AW]
        <<- ~1>> *

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

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

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

    [assez|trop]  @:[AW]¬:[123][sp]
        <<- ~1>> *

    pour  toujours  @:[AQ]
        <<- ~1:2>> *


__purge_adverbes__
    [assez|trop]  ~ment$
        <<- morph(\2, ":W", ":3p") ~>> *

    @:[NAQ]  [le|la]  [plus|moins]  ~.ment$  $:A
        <<- morph(\4, ":W", ":A") ~2:4>> *

    complètement
        <<- not morph(<1, ":D.*:m") ~>> *

    ~.ment$  ?[parlant|pas]¿
        <<- morph(\1, ":W", ":(?:3p|N)") ~>> *



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_passe2                                                                            _
@@@@
@@@@
@@@@
@@@@

## Seconde passe (il faut réorganiser tout le cycle de simplification)

__purge_ponctuations__
    ,   ,
    (   )
    [   ]
    {   }
    <   >
    [-|–|—]  [-|–|—]
        <<- ~>> *

    <start>  ,
        <<- ~2>> *

    ,  <end>
        <<- ~1>> *


__purge_locutions_potentielles__
    à ce [jour|moment] @¬:A.*:[me]:[si]
    à ce [jour|moment] [<end>|,]
        <<- ~1:3>> *

    à [mon|ton|son|notre|votre|leur] sens @¬:A.*:[me]:[si]
    à [mon|ton|son|notre|votre|leur] sens [<end>|,]
        <<- ~1:3>> *

    à [mes|tes|ses|nos|vos|leurs] yeux  @¬:A.*:[me]:[pi]
    à [mes|tes|ses|nos|vos|leurs] yeux  [<end>|,]
        <<- ~1:3>> *

    à la dernière [minute|seconde]  @¬:A.*:[fe]:[si]
    à la dernière [minute|seconde]  [<end>|,]
        <<- ~1:4>> *

    à la longue  @¬:N.*:[fe]:[si]
    à la longue  [<end>|,]
    à la dérive  @¬:A.*:[fe]:[si]
    à la dérive  [<end>|,]
    à l’ époque  @¬:A.*:[fe]:[si]
    à l’ époque  [<end>|,]
        <<- ~1:3>> *

    à répétition  @¬:A.*:[fe]:[si]
    à répétition  [<end>|,]
        <<- ~1:2>> *

    au [départ|quotidien]  @:¬:A.*:[me]:[si]
    au [départ|quotidien]  [<end>|,]
        <<- ~1:2>> *

    au pire  @:A¬:N.*:[me]:[si]
    au pire  [<end>|,]
        <<- ~1:2>> *

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

    chaque [année|semaine|journée|décennie]  @¬:(?:A.*:[fe]:[si]|Oo|[123][sp])
    chaque [année|semaine|journée|décennie]  [<end>|,]
        <<- ~1:2>> *

    chaque [an|jour|mois]  @¬:(?:A.*:[me]:[si]|Oo|[123][sp])
    chaque [an|jour|mois]  [<end>|,]
        <<- ~1:2>> *

    d’ [avance|évidence]  @¬:A.*:[fe]:[si]
    d’ [avance|évidence]  [<end>|,]
        <<- ~1:2>> *

    d’ entrée                           @¬:A:[fe]:[si]
    d’ entrée                           [<end>|,]
        <<- ~1:2>> *

    dans ce cas                         @¬:A:[me]:[pi]
    dans ce cas                         [<end>|,]
        <<- ~1:3>> *

    dans la grande majorité des cas     @¬:A:[me]:[pi]
    dans la grande majorité des cas     [<end>|,]
        <<- ~1:6>> *

    dans la majorité des cas            @¬:A:[me]:[pi]
    dans de [très|trop] nombreux cas    @¬:A:[me]:[pi]
    dans la plupart des cas             @¬:A:[me]:[pi]
    dans la majorité des cas            [<end>|,]
    dans de [très|trop] nombreux cas    [<end>|,]
    dans la plupart des cas             [<end>|,]
        <<- ~1:5>> *

    dans les faits                      @¬:A:[me]:[pi]
    dans les faits                      [<end>|,]
        <<- ~1:3>> *

    dans maints cas                     @¬:A:[me]:[pi]
    dans maints cas                     [<end>|,]
        <<- ~1:3>> *

    dans l’ ensemble  @¬:A.*:[me]:[si]
    dans l’ ensemble  [<end>|,]
        <<- ~1:3>> *

    dans tous les cas  @:A¬:A.*:[me]:[pi]
        <<- ~1:4>> *

    de ce fait  @¬:A.*:[me]:[si]
    de ce fait  [<end>|,]
        <<- ~1:3>> *

    de ce seul fait  @¬:A.*:[me]:[si]
    de ce seul fait  [<end>|,]
        <<- ~1:4>> *

    des fois  @¬:A.*:[fe]:[pi]
    des fois  [<end>|,]
        <<- ~1:2>> *

    dès le départ  @¬:A.*:[me]:[si]
    dès le départ  [<end>|,]
        <<- ~1:3>> *

    dès les premiers [jours|mois|ans|siècles|trimestres|semestres]  @¬:A.*:[me]:[pi]
    dès les premiers [jours|mois|ans|siècles|trimestres|semestres]  [<end>|,]
        <<- ~1:4>> *

    dès les premières [années|semaines|minutes|secondes|heures|décennies]  @¬:A.*:[fe]:[pi]
    dès les premières [années|semaines|minutes|secondes|heures|décennies]  [<end>|,]
        <<- ~1:4>> *

    en [certaines|quelques|plusieurs] occasions  @¬:A.*:[fe]:[pi]
    en [certaines|quelques|plusieurs] occasions  [<end>|,]
        <<- ~1:3>> *

    en de multiples occasions  @¬:A.*:[fe]:[pi]
    en de multiples occasions  [<end>|,]
        <<- ~1:4>> *

    en un sens  @¬:A.*:[me]:[si]
    en un sens  [<end>|,]
        <<- ~1:3>> *

    entre autres choses  @¬:A.*:[fe]:[pi]
    entre autres choses  [<end>|,]
        <<- ~1:3>> *

    [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies]  @¬:A.*:[fe]:[pi]
    [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies]  [<end>|,]
        <<- ~1:2>> *

    de [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies]  @¬:A.*:[fe]:[pi]
    de [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies]  [<end>|,]
        <<- ~1:3>> *

    de nombreuses [secondes|minutes|heures|journées|semaines|années|décennies]  @¬:A.*:[fe]:[pi]
    de nombreuses [secondes|minutes|heures|journées|semaines|années|décennies]  [<end>|,]
        <<- ~1:3>> *

    [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles]  @¬:A.*:[me]:[pi]
    [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles]  [<end>|,]
        <<- ~1:2>> *

    de [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles]  @¬:A.*:[me]:[pi]
    de [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles]  [<end>|,]
        <<- ~1:3>> *

    de nombreux [instants|moments|jours|mois|ans|siècles]  @¬:A.*:[me]:[pi]
    de nombreux [instants|moments|jours|mois|ans|siècles]  [<end>|,]
        <<- ~1:3>> *

    [de|d’]  [façon|manière]  ?non¿  @:A.*:[fe]:[si]  et  ?non¿  @:A.*:[fe]:[si]¬:[GM]
    [de|d’]  [façon|manière]  ?non¿  @:A.*:[fe]:[si]
        <<- ~>> *

    le plus clair [de|d’] [mon|ton|son|notre|votre|leur] temps @:¬:A:[me]:[si]|>d[e’]/
    le plus clair [de|d’] [mon|ton|son|notre|votre|leur] temps [<end>|,]
        <<- ~1:6>> *

    pour partie  @:¬:A.*:f:s
    pour partie  [<end>|,]
        <<- ~1:2>> *

    semblait-il
    semble-t-il
        <<- not value(<1, "|ça|cela|ceci|me|te|lui|nous|vous|leur|") ~>> *

    tête la première
        <<- /conf/ not morph(<1, ":D") and not morph(>1, ":[NA].*:[fe]:[si]") ~>> *

    ?à¿ un [instant|moment]  @¬:A.*:[me]:[si]
    ?à¿ un [instant|moment]  [<end>|,]
    un seul [instant|moment]  @¬:A.*:[me]:[si]
    un seul [instant|moment]  [<end>|,]
        <<- not morph(<1, ":R|>d’/") ~1:-2>> *

    un jour  @:¬:A.*:[me]:[si]
    un jour  [<end>|,]
        <<- not morph(<1, ":R|>d’/") ~1:2>> *

    vu les circonstances  @¬:A:[fe]:[pi]
        <<- ~1:3>> *


__purge_tous_deux_trois__
    >faire [tous|toutes] [deux|trois]
        <<- ~2:0>> *

    >faire tous
        <<- morph(\1, ":[123]p") or (\1 == "fait" and value(<1, "|on|")) ~2>> *


# tous / tout / toute / toutes
__purge_tout_tout_tous_toutes__
    tout            [le|ce|cet|mon|ton|son]
    toute           [la|cette|ma|ta|sa]
    [tous|toutes]   [les|des|mes|tes|ses|ces|nos|vos|leurs]
        <<- ~1>> *

    /-on        [tous|toutes]
    /-nous      [tous|toutes]
    /-vous      [tous|toutes]
    /-ils       [tous|toutes]
    /-elles     [tous|toutes]
    /-iel       [tous|toutes|tout_e_s]
    /-iels      [tous|toutes|tout_e_s]
        <<- ~2>> *

    *WORD       [tous|toutes]
        <<- morph(\1, ":[123]p") ~2>> *

    on  ?[ne|n’]¿  ?[le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ?[le|la|l’|les|en|y|lui|leur]¿  *WORD  [tous|toutes]
        <<- morph(\-2, ":[123]s") ~-1>> *


@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_passe3                                                                            _
@@@@
@@@@
@@@@
@@@@

__da_le_la_les_leur2__
    [<start>|,]  c’                                                 ?[ne|n’]¿  >être   [le|la|l’|les]  @:[NA]¬:G
    [<start>|,]  ?[je|tu|il|elle|on|nous|vous|ils|elles|iel|iels]¿  ?[ne|n’]¿  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  [le|la|l’|les]  @:[NA]¬:[YG]
    [<start>|,]  ?[je|tu|il|elle|on|nous|vous|ils|elles|iel|iels]¿  ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  [le|la|l’|les]  @:[NA]¬:[YG]
    [<start>|,]  ?[je|tu|il|elle|on|nous|vous|ils|elles|iel|iels]¿  ?[ne|n’]¿  [le|la|l’|les]                  [lui|leur|en|y]             *WORD  [le|la|l’|les]  @:[NA]¬:[YG]
    [<start>|,]  ?[je|tu|il|elle|on|nous|vous|ils|elles|iel|iels]¿  ?[ne|n’]¿  [lui|leur|y]                    en                          *WORD  [le|la|l’|les]  @:[NA]¬:[YG]
        <<- morph(\-3, ":[123][sp]") =>> =select(\-2, ":D") and exclude(\-1, ":[123][sp]")

    [/VCint|/VCimp]  [le|la|l’|les|leur|leurs]  @:[NA]¬:[YG]
        <<- =>> =select(\-2, ":D") and exclude(\-1, ":[123][sp]")


__da_substantifs__
    [<start>|,]  $:D  *WORD  *WORD  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  $:D  *WORD  *WORD  [en|nous|vous|lui|y]                    @:(?:[123][sp]|P)
    [<start>|,]  $:D  *WORD  *WORD  [le|la|l’|les|leur]                     @:(?:[123][sp]|P)¬:[NA]
    [<start>|,]  $:D  *WORD  *WORD  [nous|vous]     [le|la|l’|les|en|y]     @:(?:[123][sp]|P)
    [<start>|,]  $:D  *WORD  *WORD  [le|la|l’|les]  [lui|leur|en|y]         @:(?:[123][sp]|P)
    [<start>|,]  $:D  *WORD  *WORD  [lui|leur|y]    en                      @:(?:[123][sp]|P)
        <<- morph(\3, ":[NA]", ":(?:G|V0)") and morph(\4, ":[NA]", ":(?:[PG]|V[023])") =>> exclude(\4, ":V")

    [<start>|,]  $:D  *WORD  *WORD  @:(?:3[sp]|P)¬:[GW]
        <<- morph(\2, ":p") and morph(\3, ":[NA].*:p", ":(?:G|V0)") and morph(\4, ":[NA].*:p", ":(?:[PG]|V[023])") =>> exclude(\4, ":V")
        <<- __else__ and
            morph(\2, ":s") and morph(\3, ":[NA].*:s", ":(?:G|V0)") and morph(\4, ":[NA].*:s", ":(?:[PG]|V[023])") and not morph(\5, ":A.*:[si]") =>> exclude(\4, ":V")

    [des|ces|mes|tes|ses|nos|vos|quelques|lesdits]  @:A.*:[pi]  @:N.*:[pi]¬(?:3[sp]|G)
        <<- =>> exclude(\3, ":V")

    les  @:A.*:[pi]¬:V  @:N.*:[pi]¬(?:3[sp]|G)
        <<- not before(":O[vs]") =>> exclude(\3, ":V")

    leurs  @:A.*:[pi]¬:V  @:N.*:[pi]¬(?:3[sp]|G)
        <<- not before(":O[vs]") =>> exclude(\3, ":V")

    [plusieurs|certains|certaines]  @:A.*:[pi]¬:3[sp]  @:N.*:p¬:(?:3[sp]|G)
        <<- =>> exclude(\2, ":V") and exclude(\3, ":V")


__purge_vite__
    vite
        <<- not (morph(<1, ":V0a") and value(>1, "|fait|")) ~>> *


__purge_locutions_verbales__
    >aller bon train
    >arriver à [destination|échéance]
    >arriver à point nommé
    >arriver à bon port
    >battre à plate couture
    >battre en [brèche|retraite]
    [>brûler|>bruler] à vif
    >charger à blanc
    >chauffer à blanc
    >compter à rebours
    >condamner à mort
    >couler à ?grands¿ flots
    >demander [assistance|audience|conseil|pardon]
    [>donner|>redonner] [naissance|sens|suite|vie]
    [>donner|>redonner] quartier libre
    >élire domicile
    >étouffer dans l’ œuf
    >faire [allusion|assaut|attention|chaud|confiance|connaissance|compliqué|copain-copain|date|débat|défaut|demi-tour|écran|envie|erreur|état|exception|figure|foi|fortune|froid|front|grève|halte|honte|illusion|mention|mouche|office|part|peur|polémique|plaisir|preuve|rage|rempart|scandale|sens|signe|surface|usage|volte-face]
    >faire amende honorable
    >faire bande à part
    >faire bon accueil
    >faire bonne figure
    >faire chou blanc
    >faire copain copain
    >faire de [mon|ton|son|notre|votre|leur] mieux
    >faire figure d’ exception
    >faire front commun
    >faire grise mine
    >faire grand [bruit|cas]
    >faire ?[bonne|excellente|grande|mauvaise]¿ impression
    >faire long feu
    >faire [machine|marche] arrière
    >faire main basse
    >faire office
    >faire partie ?intégrante¿
    >faire profil bas
    >faire [bonne|fausse] route
    >faire salle comble
    >faire [sens|sensation]
    >faire table rase
    >faire ce que bon [me|te|lui|nous|vous|leur] semble
    >fausser compagnie
    >fermer à [clé|clef]
    >finir en eau de boudin
    >foutre en l’ air
    >gagner d’ avance
    >garder contenance
    [>gonfler|>regonfler] à bloc
    >jeter à terre
    >jouer franc jeu
    >jouer cartes sur table
    >lâcher prise
    >laisser pour compte
    >marcher à rebours
    >mener par le bout du nez
    [>mettre|>remettre] à [bas|dos|exécution|flot|jour|niveau|nu|plat|table|terre]
    [>mettre|>remettre] à l’ [écart|épreuve]
    [>mettre|>remettre] au [point|pas]
    [>mettre|>remettre] de côté
    [>mettre|>remettre] en [avant|branle|bouche|demeure|garde|jeu|lumière|marche|mouvement|œuvre|place|route|scène|terre]
    >mourir jeune
    [>naître|>naitre] de la dernière pluie
    [>naître|>naitre] sous x
    >parler affaires
    >partir en vrille
    >passer à tabac
    >percer à jour
    >perdre [connaissance|conscience|patience|raison]
    >perdre d’ avance
    >piquer au vif
    >porter [assistance|atteinte|bonheur|caution|chance|malheur|plainte|préjudice|secours]
    >poser problème
    >porter plainte
    >prendre ?[ça|cela|ceci]¿ à la légère
    >prendre ?[ça|cela|ceci]¿ au [dépourvu|sérieux]
    >prendre bonne note
    >prendre [congé|conscience|contact|ombrage|note|peur|position|possession|racine|soin|vie]
    >prendre de [court|vitesse]
    >prendre ?[ça|cela|ceci]¿ en charge
    >prendre ?[ça|cela|ceci]¿ pour argent comptant
    >prendre par surprise
    >prêter à confusion
    >prêter main forte
    >prêter main-forte
    >réduire en miettes
    >remettre en cause
    >rendre [hommage|service|visite]
    >reprendre haleine
    >rester lettre morte
    >rester lettres mortes
    >revenir à la case départ
    >saigner à blanc
    >suivre ?[ça|cela|ceci]¿ de près
    >tenir à [carreau|cœur]
    >tenir ?[ça|cela|ceci]¿ à distance ?respectable¿
    >tenir [compte|compagnie]
    >tenir au courant
    >tenir en haute estime
    >tirer à blanc
    >tomber à [pic|point]
    >trier sur le volet
    >trouver refuge
    >tirer à blanc
    >tirer [avantage|profit]
    >tourner à l’ aigre
    >tourner court
    >venir à bout
    [>venir|>revenir] je [ne|n’] sais ?pas¿ ?trop¿ d’ où
    [>venir|>revenir] on [ne|n’] sait ?pas¿ ?trop¿ d’ où
        <<- ~2:0>> *


__conf_locutions_verbales__
    >arriver a [destination|échéance]
    >arriver a point nommé
    >arriver a bon port
    >battre a plate couture
    [>brûler|>bruler] a vif
    >charger a blanc
    >chauffer a blanc
    >fermer a [>clé|>clef]
    [>gonfler|>regonfler] a bloc
    >jeter a terre
    [>mettre|>remettre] a [bas|>flot|>jour|>niveau|>nu|>nue|>plat|>table|>terre]
    [>mettre|>remettre] a l’ [écart|épreuve]
    >passer a tabac
    >percer a jour
    >prendre a la légère
    >prêter a >confusion
    >saigner a blanc
    >tenir a [carreau|cœur|distance]
    >tirer a blanc
    >tomber a [pic|point]
    >tirer a blanc
    >tourner a l’ aigre
    >venir a bout
    [>venir|>revenir] a point
        <<- /conf/ -2>> à               # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.

    >avoir du mal a
    >avoir vocation a
    >laisser libre cours a
        <<- /conf/ --1>> à              # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.

    >faire plaisirs
        <<- /sgpl/ --1>> plaisir        # Faire plaisir : dans cette locution, “plaisir” doit être au singulier.
        <<- ~-1>> *

    >laisser pour [comte+s|>conte]
        <<- /conf/ --1>> compte         # Confusion. Locution “laisser pour compte”.|https://fr.wiktionary.org/wiki/laisser_pour_compte

    [>être|>mourir|>paraître|>paraitre|>rester|>sembler] >jeûne
        <<- /conf/ -2>> jeune           # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune

    >partir en >couille
        <<- /conf/ -3>> quenouille|vrille   # Confusion. La locution “partir en couille” est un barbarisme. Locution authentique : “partir/tomber en quenouille”. Peut-être voulez-vous dire “partir en vrille” ?|https://fr.wiktionary.org/wiki/partir_en_quenouille

    >rendre ?bon¿ [comte|comtes|>conte|comptes]
        <<- /conf/ --1>> compte         # Confusion. Locution “rendre compte”.|https://fr.wiktionary.org/wiki/rendre_compte

    >suivre ?[ça|cela|ceci]¿ de [>prêt|>pré]
        <<- /conf/ --1>> près           # Confusion : écrivez “près” pour dire “proche de quelque chose”.|https://fr.wiktionary.org/wiki/pr%C3%A8s

    >tenir [comte|comtes|>conte|comptes]
        <<- /conf/ --1>> compte         # Confusion. Locution “tenir compte”.|https://fr.wiktionary.org/wiki/tenir_compte

    >tourner  [coure|courre|cour|cours]
        <<- /conf/ --1>> court          # Confusion. Locution “tourner court”.|https://fr.wiktionary.org/wiki/tourner_court

    [s’|m’|t’]          en  >laisser  [compter|compté+ses|>comté]
    nous nous           en  >laisser  [compter|compté+ses|>comté]
    vous vous           en  >laisser  [compter|compté+ses|>comté]
    ne pas [nous|vous]  en  laisser   [compter|compté+ses|>comté]
        <<- /conf/ --1>> conter         # Confusion. Locution “s’en laisser conter”, c’est-à-dire se laisser raconter des histoires.|https://fr.wiktionary.org/wiki/ne_pas_s%E2%80%99en_laisser_conter

    >compter fleurette
        <<- /conf/ -1>> =\1.replace("omp", "on").replace("OMP", "ON")   # Confusion. Locution “conter fleurette”.|https://fr.wiktionary.org/wiki/conter_fleurette

TEST: ce contrat arrive {{a}} échéance.
TEST: il faut tenir {{contes}} des faits au lieu de nos impressions.
TEST: prendre {{a}} la légère ce test serait une erreur.
TEST: on va suivre ça de {{prêt}}.
TEST: il faut se tenir {{a}} distance de ces gens-là.
TEST: J’avais du mal {{a}} l’écouté (double erreur utile pour tester le faux positif)
TEST: cette expérience ne va pas tarder à tourner {{cours}}.
TEST: il faut rendre {{comte}} de la sitation désastreuse dans laquelle nous sommes tombés.
TEST: il faut tenir {{comtes}} des aléas de la météo.
TEST: faudra rendre bon {{conte}} de vos actes
TEST: Elle est restée {{jeûne}}.
TEST: Mourir {{jeûne}} ne lui faisait pas peur.
TEST: elle suit ça de {{prêt}}
TEST: Elles semblent {{jeûnes}}.
TEST: Ça me fait {{plaisirs}}.
TEST: C’est parti en {{couille}}
TEST: je ne m’en laisse {{comté}} que par ma femme
TEST: ne pas vous en laisser {{compter}}
TEST: c’est vous qui {{comptez}} fleurette à ma fille ?


# Autres tests contre les faux positifs
TEST: pourquoi faire compliqué quand on peut faire simple
TEST: Pour ceux et celles qui étaient présents à la cérémonie
TEST: les pires vilénies suite au mauvais vote du peuple
TEST: La numéro 1 mondiale
TEST: cette information n’est rien comparé à cette énorme pression
TEST: elle n’est de fait assumée par personne
TEST: cohabitent sans difficulté musulmans, juifs et mozarabes.
TEST: Rien n’a été trop beau pour cette saga aux costumes cousus main
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
TEST: Le vecteur accélération
TEST: Le vecteur rotation
TEST: la construction à l’avenir incertain
TEST: Il resta quelques secondes pensif.
TEST: Il resta quelques instants immobile.
TEST: La foule, un instant subjuguée et silencieuse
TEST: Ils furent de nombreuses minutes persuadés du contraire.
TEST: Elles avaient plusieurs heures travaillé sans relâche.
TEST: Entre autres choses merveilleuses, il fit poser un bassin en airain (Ctesse Ségur)
TEST: Et cette envie de coller au plus près à la vision de George Lucas coûte un bras.
TEST: une toile bleu ciel
TEST: des émotions au moins en partie partagées.
TEST: L’expérience utilisateur est importante.
TEST: les feuilles vert tendre.
TEST: Une soudaine proximité avec nous autres, issus du “petit peuple”.
TEST: Faire des corrections si nécessaire
TEST: c’est plus facile pour les bac +5.
TEST: À cette heure matinale, il ne saurait se présenter à l’Institut Deffling.
TEST: Mère au foyer versaillaise.
TEST: Les deux roues arrière du fauteuil roulent sans glisser par rapport au sol.
TEST: il devenait chaque année plus grand.
TEST: Elle fut dès le départ structurée ainsi.
TEST: Ben voyons, c’est sûr, aucun problème !
TEST: ça peut être dans huit jours.
TEST: La secrétaire d’État à l’égalité entre les femmes et les hommes hérite de la lutte contre les discriminations
TEST: les populistes d’Europe centrale et de l’Est ont d’ores et déjà tellement réussi à compromettre les institutions de leur pays
TEST: Deirdre, elle aussi légèrement ostracisée, m’interrogea.
TEST: des échanges pair à pair
TEST: Les 27 ont préféré tout au long de la journée vanter un nouvel espoir dans leur avenir commun.
TEST: lorsqu’une campagne de malwares déployée dans un pays cible ne peut d’évidence y rester confinée.
TEST: comme le signe évident d’une politique volontaire
TEST: c’était le signe évident d’une politique volontaire
TEST: ce que c’est : le signe évident d’une politique volontaire
TEST: On aura carte blanche.
TEST: J’ai carte blanche.
TEST: La seule façon de redonner sens à des notions…
TEST: Les longues tresses que j’ai pris l’habitude de porter depuis quelque temps et qu’il faut cinq heures pour parfaire.
TEST: Il est pieds nus.
TEST: des dossiers secrets défense
TEST: il y en a pour une demi-heure grand maximum aller et retour.
TEST: nous avions tous les deux besoin d’un peu de réconfort.
TEST: Une tierce connaissance qui est au pire triviale, mais non nulle.
TEST: ces immeubles qui les ont le plus marqués
TEST: quel potentiel électoral réel pour les souverainistes pur sucre ?
TEST: Cette scène que décrit ici Yannick est représentative.
TEST: attentifs aux spécificités socioculturelles de chaque peuple, constituées dans la longue durée autour d’une langue et de traditions
TEST: Il était à l’époque chargé de maintenir en état ces machines.
TEST: Les laissés pour compte ignorés de tous.
TEST: Ces épreuves sont mission impossible.
TEST: Ma thèse en 180 secondes.
TEST: un champ de canne à sucre
TEST: La batterie se recharge automatiquement grâce au moteur essence.
TEST: c’est un moteur diésel.
TEST: cette descente aux enfers interminable.
TEST: c’est une vache à lait
TEST: Ses talons aiguille étaient à la denière mode.
TEST: elles seules peuvent s’en sortir.
TEST: elle seule peut y arriver
TEST: elle seules les femmes la font craquer
TEST: À certains égards, la décence ordinaire apparaît donc comme un pendant à la banalité du mal théorisée par Hannah Arendt.
TEST: cette région un temps florissante grâce aux mines de charbon
TEST: des étoiles plein les yeux.
TEST: Ces maires sont nuit et jour aux côtés des Françaises et des Français, en prise directe avec leurs difficultés, leurs doléances et leurs espoirs.
TEST: le clitoris comme vous ne l’avez jamais vu
TEST: J’ai vécu plusieurs agressions, et toutes ont au moins été facilitées par mon état physique.
TEST: Les réussites d’alors l’auront installé à un sommet qu’aura ensuite un moment éclairé l’or des neuf statues récoltées par un visionnaire qui jamais ne fut empereur
TEST: mais un prince dont le règne s’était déjà achevé.
TEST: Elles sont dans ce cas moins dangereuses que des données individuelles.
TEST: celles qui veulent des participant·e·s qui sont libres d’innover
TEST: Une dizaine de militants, pour partie issus du collectif XYZ, se sont réunis
TEST: Rien ne va dans cette fête qu’est Noël.
TEST: Nous foncions vers notre perte à vitesse grand V, pied au plancher, sans intention de ralentir une seule seconde.
TEST: faire un embrago sur les armes suite à la dérive totalitaire du régime.
TEST: En colère, les ambulanciers une nouvelle fois mobilisés contre une réforme qui met en péril leur activité
TEST: Au-delà des réponses qu’a tenté d’apporter cette semaine le président, le mouvement des “gilets jaunes” marque un tournant dans la vie politique et sociale de la France.
TEST: S’y inventent de nouvelles solidarités, s’y expérimentent des joies politiques dont on avait perdu le goût et la découverte qu’on peut désobéir ensemble.
TEST: Les femmes, quant à elles, ont aussi tendance à sous-estimer le harcèlement dont elles sont dans leur globalité victimes
TEST: Elles ont avec constance démontré l’inanité de leur politique.
TEST: On l’a mauvaise, j’peux vous l’dire.
TEST: Défigurée, travestie, dans tous les cas contestée.
TEST: Une file d’attente de plusieurs heures s’étire au rez-de-chaussée
TEST: à une hausse des coûts de l’emprunt à court et moyen terme.
TEST: Elle n’avait que rarement pris connaissance de ses droits.
TEST: On ajoutera que si elle n’a que rarement pris la connerie pour objet
TEST: Les bas résille, le détail qui fait mouche.
TEST: un vice pour les uns diabolique et pour les autres patriarcal
TEST: Les gains sont en un sens maigres.
TEST: Des vêtements grande taille
TEST: Il est doté de capacités d’observation, de déduction et de mémorisation à court et à long terme
TEST: après nous avoir vus
TEST: les fiches S sont couvertes par le secret défense
TEST: l’affaire est à mon sens bien plus significative qu’on ne l’imagine de la décadence du système politique
TEST: il faut sauver les hommes bien sûr.
TEST: Comme une montagne qui se construit à travers différentes couches de sédiments, la cathédrale évolue selon les ères qu’elle traverse.
TEST: Sous la coupole bleu et or construite il y a deux siècles, les jurés sont attentifs. Ils écoutent et observent tout.
TEST: À mes yeux, aucune cathédrale, pyramide, musée, arc de triomphe, Colisée, abbaye, chapelle, temple, synagogue, mosquée, joyaux architecturaux d’hier ou d’avant-hier ne valent la vie d’un être humain, quel qu’il soit, d’où qu’il vienne.
TEST: Ça fait sens.
TEST: il faut recruter des administratrices système
TEST: Cette politique spctacle est indigne de notre démocratie.
TEST: Ils sont vent debout contre cette politique de renoncement
TEST: qui sait mieux que personne orchestrer une campagne de promotion médiatique
TEST: la cathédrale a pour nous cessé d’être cette vague masse architecturale qui se découpe parfois au coin des rues
TEST: Le très gros problème qui se pose est d’abord celui de la “masse” comme vous dites.
TEST: la philosophie antique (que j’aime beaucoup par ailleurs), opposant le matériel et le spirituel, le corps et l’esprit, a pour longtemps mal formaté l’esprit humain
TEST: Cela vous semble-t-il être trop peu de chose ?
TEST: je me suis sentie à ce moment reliée à toute l’humanité
TEST: la pratique qui consiste à partir de soi conçoit toute parole et toute action comme une médiation
TEST: ne souhaitent pas faire boîte à lettres commune
TEST: La mondialisation, admet donc M. Obama, s’est accompagnée d’erreurs et de rapacité.
TEST: Les démons ont forme animale.
TEST: Là n’est pas le problème.
TEST: Une robe sans manches plutôt sympathique.
TEST: une émancipation des usagers, refusant de se laisser guider par des « machines à sous » les incitant insidieusement à rester en ligne.
TEST: Les pompes à chaleur sont moins rentables.
TEST: Ce qui rend les pompes à chaleur moins rentables.
TEST: l’accusation de lynchage médiatique proférée par François de Clermont à l’encontre de “Marianne” ne tient pas.
TEST: La poïesis, en grec, est ce qui permet de faire passer n’importe quoi du non-être à l’être
TEST: un moteur nouvelle génération
TEST: La première est la critique dite artiste
TEST: la critique conduit nombre de protestataires à se replier sur des modalités de défense efficaces dans le passé mais désormais largement inadaptées
TEST: Tu crois que Microsoft peut contraindre les projets libres à quoi que ce soit ?
TEST: « L’école produit la norme en matière de langage »
TEST: Parler affaires.
TEST: Mon Dieu, je vous en prie, faites qu’il ne m’arrive rien
TEST: Anne, je t’en prie, viens de bonne heure
TEST: elles ont toutes deux épluché le contenu de la boîte
TEST: le flou demeure aujourd’hui éblouissant.
TEST: la petite reste fragile
TEST: au moins neuf personnes disparues dans le pays et 140 blessés
TEST: C’en est arrivé là.


@@@@
@@@@
@@@@
@@@@
@@@@END_GRAPH                                                                                      _
@@@@
@@@@
@@@@
@@@@



!!!! Redondances dans la phrase                                                                   !!

__[i]/redon2(redondances_phrase)__
    ({w_4})[ ,].* (\1)  @@0,$
        <<- not morph(\1, ":(?:G|V0)|>même/") -2>> _                                                # Dans cette phrase, répétition de “\1” (à gauche).
        <<- __also__ -1>> _                                                                         # Dans cette phrase, répétition de “\1” (à droite).

TEST: __redon2__ Quelle {{imposture}}, c’est d’un ennui, c’est une {{imposture}}.
TEST: __redon2__ ils sont là côte à côte.
TEST: __redon2__ Tu avances petit à petit, et tu réussis.
TEST: __redon2__ De loin en loin, elle passe.
TEST: __redon2__ Les mêmes causes produisent/produisant les mêmes effets. (répétition)


!!!! Mots composés                                                                                !!

__[i]/mc(mc_mot_composé)__
    ({w2})-({w2})  @@0,$
        <<- not \1.isdigit() and not \2.isdigit()
            and not morph(\0, ":") and not morph(\2, ":G") and spell(\1+\2)
        ->> \1\2                                                                                    # Vous pouvez ôter le trait d’union.
        <<- \2 != "là" and not re.search("(?i)^(?:ex|mi|quasi|semi|non|demi|pro|anti|multi|pseudo|proto|extra)$", \1)
            and not \1.isdigit() and not \2.isdigit() and not morph(\2, ":G")
            and not morph(\0, ":") and not spell(\1+\2)
        ->> _                                                                                       # Mot inconnu du dictionnaire.|https://grammalecte.net/dictionary.php?prj=fr&unknownword=on

TEST: __mc__ des {{portes-avions}}.



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: groupes_nominaux                                                                        _
@@@@
@@@@
@@@@
@@@@

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

## l’

__gn_l_1m__
    l’  @:[NA].*:p¬:(?:[123][sp]|[si])
        <<- /gn/ -2>> =suggSing(\2)                                                                 # Accord de nombre erroné : “\2” devrait être au singulier.

TEST: toute l’importance de l’{{accords}} musical.


__gn_l_2m__
    l’  @:[NA]¬*  @:[NA]¬*
        <<- /gn/ not value(<1, "|et|ou|de|") and not value(\2, "|air|") and not morph(\3, ">seule/") >>>
        <<- /gn/ ( (morph(\2, ":m", "*") and morph(\3, ":f", "*")) or (morph(\2, ":f", "*") and morph(\3, ":m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, False)                                                               # Accord de genre erroné entre “\2” et “\3”.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 # Accord de genre erroné avec “\3”.
        <<- /gn/ morph(\2, ":[si]", "*") and morph(\3, ":p", "*") and not apposition(\2, \3)
        -3>> =suggSing(\3)                                                                          # Accord de nombre erroné avec “\2” : “\3” devrait être au singulier.

    [et|ou|de]  l’  @:[NA]¬*  @:[NA]¬*
        <<- /gn/ not value(\3, "|air|") and not morph(\4, ">seule/") >>>
        <<- /gn/ ( (morph(\3, ":m", "*") and morph(\4, ":f", "*")) or (morph(\3, ":f", "*") and morph(\4, ":m", "*")) ) and not apposition(\3, \4) and not morph(<1, ":[NA]")
        -4>> =switchGender(\4, False)                                                               # Accord de genre erroné entre “\3” et “\4”.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3)                                 # Accord de genre erroné avec “\4”.
        <<- /gn/ morph(\3, ":[si]", "*") and morph(\4, ":p", "*") and not apposition(\3, \4) and not morph(<1, ":[NA]")
        -4>> =suggSing(\4)                                                                          # Accord de nombre erroné avec “\3” : “\4” devrait être au singulier.

TEST: L’{{amande}} {{amer}}
TEST: l’{{amicale}} {{animal}}
TEST: l’amour {{immortels}}
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.


__gn_le_1m__
    ,  le  *WORD
        <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3)           # Accord de genre erroné : « \3 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            # Accord de genre erroné : « \2 » est un déterminant masculin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3)               # Accord de nombre erroné : « \3 » devrait être au singulier.
        <<- /gn/ __also__ -2>> les                                                                  # Accord de nombre erroné : « \3 » est au pluriel.

    *WORD  le  *WORD
        <<- /gn/ morph(\2, ":D") >>>
        <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)")
            or ( morph(\3, ":[NA].*:f", ":[me]") and morph(\1, ":R", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) )
        -2>> =suggLesLa(\3)                                                                         # Accord de genre erroné : « \3 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            # Accord de genre erroné : « \2 » est un déterminant masculin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", "*")
            or ( morph(\3, ":[NA].*:p", ":[si]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) )
        -3>> =suggMasSing(\3)                                                                       # Accord de nombre erroné : « \3 » devrait être au singulier.
        <<- /gn/ __also__ -2>> les                                                                  # Accord de nombre erroné : « \3 » est au pluriel.

    <start>  le  *WORD
        <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|Y)") -2>> =suggLesLa(\3)                     # Accord de genre erroné : « \3 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            # Accord de genre erroné : « \2 » est un déterminant masculin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3)               # Accord de nombre erroné : « \3 » devrait être au singulier.
        <<- /gn/ __also__ -2>> les                                                                  # Accord de nombre erroné : « \3 » est au pluriel.

TEST: c’est une catastrophe, {{le}} {{profits}} a baissé ces deux derniers trimestres
TEST: j’en ai marre, {{le}} {{passée}} est trop dans les esprits
TEST: {{Le}} démoralisation.                                  ->> La
TEST: {{Le}} Guyane française.                                ->> La
TEST: sur {{le}} {{tables}}                                   ->> les|la|||
TEST: avec {{le}} {{pile}}
TEST: contre {{le}} {{rois}}
TEST: {{le}} {{publique}}
TEST: {{Le}} {{pendue}}
TEST: {{Le}} personne répond.
TEST: {{le}} {{quotients}}
TEST: Comme avec l’Hyperloop, le bus chinois conçu pour passer au-dessus des voitures


__gn_le_2m__
    le  *WORD  *WORD
        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasSing(\3, True)                                                                 # Accord de genre erroné : « \1 \2 » est masculin, « \3 » est féminin.
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggMasSing(\3)                                                                       # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

    [et|ou]  le  *WORD  *WORD
        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]") and not \4.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasSing(\4, True)                                                                 # Accord de genre erroné : « \2 \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\4, \4)
        -4>> =suggMasSing(\4)                                                                       # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: le test très {{cons}} qu’on a passé hier.
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
TEST: connaître et le grand {{perdante}}
TEST: Le bruit {{perçus}} par les voisins.
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.


__gn_la_1m__
    ,  la  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)") -2>> le             # Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True)                    # Accord de genre erroné : « \2 » est un déterminant féminin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p") -3>> =suggFemSing(\3)                  # Accord de nombre erroné : « \3 » devrait être au singulier.

    *WORD  la  *WORD
        <<- /gn/ morph(\2, ":D") >>>
        <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)")
            or ( morph(\3, ":[NA].*:m", ":[Mfe]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":(?:Rv|C)") and morph(\3, ":Y")) )
        -2>> le                                                                             # Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True)                    # Accord de genre erroné : « \2 » est un déterminant féminin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", "*")
            or ( morph(\3, ":[NA].*:p", ":[Msi]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) )
        -3>> =suggFemSing(\3)                                                               # Accord de nombre erroné : « \3 » devrait être au singulier.

    <start>  la  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":[efPGWMY]") -2>> le                               # Accord de genre erroné : « \3 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True)                    # Accord de genre erroné : « \2 » est un déterminant féminin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggFemSing(\3)       # Accord de nombre erroné : « \3 » devrait être au singulier.

TEST: c’est ennuyeux, la {{parties}} deux est ratée.
TEST: j’en sais rien, {{la}} {{parti}} est foutu
TEST: {{La}} Cameroun                                         ->> Le
TEST: {{La}} mustang est un cheval sauvage.                   ->> Le
TEST: {{La}} tableau.                                         ->> Le
TEST: dans la {{parties}}                                     ->> partie
TEST: je connais {{la}} {{parti}}
TEST: la {{vilénies}} des mensonges                           ->> vilénie
TEST: de {{la}} vin                                           ->> le
TEST: {{la}} {{véhicule}}
TEST: {{La}} {{pris}}
TEST: la force de la {{formes}} parfaite
TEST: à la Richard Nixon Foundation
TEST: à ne plus se laisser faire la fois d’après
TEST: il pense à la fois où nous avons eu cet accident idiot.


__gn_la_2m__
    la  *WORD  *WORD
        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
        -3>> =suggFemSing(\3, True)                                                         # Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin.
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggFemSing(\3)                                                               # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

    [et|ou|de|d’]  la  *WORD  *WORD
        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemSing(\4, True)                                                         # Accord de genre erroné : « \2 \3 » est féminin, « \4 » est masculin.
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggFemSing(\4)                                                               # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

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


__gn_leur_1m__
    ,  leur  *WORD
        <<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs                                     # Accord de nombre erroné avec « \3 ».
        <<- /gn/ __also__ -3>> =suggSing(\3)                                                # Accord de nombre erroné : « \3 » devrait être au singulier.

    *WORD  leur  *WORD
        <<- /gn/ morph(\3, ":[NA].*:p", "*")
            or ( morph(\3, ":[NA].*:p", ":[si]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) )
        -2>> leurs                                                                          # Accord de nombre erroné avec « \3 ».
        <<- /gn/ __also__ -3>> =suggSing(\3)                                                # Accord de nombre erroné : « \3 » devrait être au singulier.

    <start>  leur  *WORD
        <<- /gn/ morph(\3, ":[NA].*:p", ":[siGW]") -2>> leurs                               # Accord de nombre erroné avec « \3 ».
        <<- /gn/ __also__ -3>> =suggSing(\3)                                                # Accord de nombre erroné : « \3 » devrait être au singulier.

TEST: Tu sais, {{leur}} {{impatiences}} est notoire.
TEST: J’en ai assez de {{leur}} {{délires}}
TEST: {{Leur}} {{perceptions}} des choses m’exaspère.
TEST: dans {{leur}} {{usines}}


__gn_leur_2m__
    leur  *WORD  *WORD
        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, False)                                                       # Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, False)                  # Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggSing(\3)                                                                  # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
        <<- /gn/ __also__ and morph(\2, ":[NA].*:i") -1>> leurs                             # Accord de nombre erroné avec « \2 \3 ».

    [et|ou|de|d’]  leur  *WORD  *WORD
        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*")))
            and not apposition(\3, \4)
        -4>> =switchGender(\4, False)                                                       # Accord de genre erroné entre « \3 » et « \4 ».
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, False)                  # Accord de genre erroné avec « \4 ».
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggSing(\4)                                                                  # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
        <<- /gn/ __also__ and morph(\3, ":[NA].*:i") -2>> leurs                             # Accord de nombre erroné avec « \3 \4 ».

TEST: leur puissance {{perdues}}
TEST: leur arbre {{élaguée}}
TEST: leur {{petit}} {{grosse}}
TEST: elle se souvenait de leur {{grande}} {{sot}}
TEST: je me souviens de leur verve {{décalé}}
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.
TEST: {{leur}} gros {{grains}}
TEST: Que ferons-nous de {{leur}} gros {{grains}}


__gn_le_la_leur_3m__
    [le|la|leur]  *WORD  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D") and morph(\2, ":[NA].*:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") and \4.islower()
        -4>> =suggSing(\4)                                                                  # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.

TEST: La petite fille {{devenues}} infirmière.
TEST: leur grande passion {{délirantes}} pour le cosplay.
TEST: le jour venu prises par surprise elles durent s’enfuir.
TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions
TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes.
TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien.
TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages.


__gn_ledit_1m__
    ledit  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> ladite                              # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{ledit}} femme ne sut comment nous éclairer
TEST: {{ledit}} {{boulangère}} nous enseigna sa méthode
TEST: ledit {{accords}} ne vaut rien.


__gn_ladite_1m__
    ladite  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> ledit                               # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{ladite}} vélo était en panne
TEST: {{ladite}} {{professeur}} était intarissable
TEST: ladite {{passions}} l’avait conduit à sa perte.


__gn_aucun_1m__
    aucun  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> aucune                              # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{aucun}} femme ne réagirait si bêtement
TEST: {{aucun}} {{animale}}
TEST: aucun {{accords}} n’y changera rien.


__gn_aucune_1m__
    aucune  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> aucun                               # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{aucune}} homme ne comprendrait ça
TEST: {{aucune}} {{conseiller}} ne vint nous aider
TEST: aucune {{passions}} n’est digne qu’on meurt pour elle.


__gn_nul_1m__
    nul  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> nulle                               # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: nul {{accords}} n’y changera rien.
TEST: {{nul}} femme ne réagirait si bêtement
TEST: {{nul}} {{ratée}} ne survint


__gn_nulle_1m__
    nulle  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> nul                                 # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: nulle {{passions}} n’est digne qu’on meurt pour elle.
TEST: {{nulle}} homme ne comprendrait ça
TEST: {{nulle}} {{damné}} à sauver


__gn_un_1m__
    un  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":(?:e|m|G|W|V0|3s|Y)") -1>> une                    # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

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

__gn_une_1m__
    une  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":(?:e|f|G|W|V0|3s|P)") and not ( \2 == "demi" and morph(>1, ":N.*:f", "*") )
        -1>> un                                                                             # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

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

TEST: {{Un}} {{amie}}
TEST: {{un}} des {{chattes}}
TEST: {{une}} des {{chats}}
TEST: Trente et un hommes sur le pont.
TEST: Ces enfants n’ont jamais vu quelqu’un lire.
TEST: un {{slashs}}                                           ->> slash
TEST: un {{fromages}}.                                        ->> fromage
TEST: Un {{ballons}}                                          ->> ballon
TEST: Une {{cinglées}}                                        ->> cinglée
TEST: {{une}} des {{chats}}
TEST: {{une}} kyste                                           ->> un
TEST: {{une}} {{chien}}                                       ->> un|||chienne
TEST: {{une}} des {{joueurs}}
TEST: un {{cailloux}}                                         ->> caillou
TEST: {{un}} {{petite}} animal                                ->> une|||petit
TEST: une {{femmes}}                                          ->> femme
TEST: {{une}} {{petit}}                                       ->> un|||petite
TEST: mille et une merveilles
TEST: Quatorze heures découpées en quatre parties, une sortant en salles chaque semaine


## un / une
__gn_un_2m__
    un  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasSing(\3, True)                                                                 # Accord de genre erroné : « \1 \2 » est masculin, « \3 » est féminin.
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", "*") and not apposition(\2, \3)
        -3>> =suggMasSing(\3)                                                                       # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.

    [et|ou|d’]  un  *WORD  *WORD
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasSing(\4, True)                                                                 # Accord de genre erroné : « \2 \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", "*") and not apposition(\3, \4)
        -4>> =suggMasSing(\4)                                                                       # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: un exercice pas très {{utiles}}.                        ->> utile
TEST: un homme {{grands}}                                     ->> grand
TEST: un homme {{futiles}}                                    ->> futile
TEST: que sais-tu d’un homme {{grande}} comme un arbre
TEST: je me souviens d’un homme {{arrogants}}
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.


__gn_une_2m__
    une  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
        -3>> =suggFemSing(\3, True)                                                                 # Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin.
        <<- /gn/ \2 != "fois" and morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", "*") and not apposition(\2, \3)
        -3>> =suggFemSing(\3)                                                                       # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

    [et|ou|d’]  une  *WORD  *WORD
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemSing(\4, True)                                                                 # Accord de genre erroné : « \2 \3 » est féminin, « \4 » est masculin.
        <<- /gn/ \3 != "fois" and morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", "*") and not apposition(\3, \4)
        -4>> =suggFemSing(\4)                                                                       # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: Une femme {{laconiques}}.                               ->> laconique
TEST: Une grande {{homme}}.
TEST: une géologue {{intelligents}}
TEST: Et une femme {{déterminées}}
TEST: on parle là d’une femme {{inconnu}}
TEST: on parle d’une Église {{brûlées}}
TEST: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes.


__gn_du_1m__
    du  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> de la                               # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

__gn_dudit_1m__
    dudit  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> de ladite                           # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: cette bouffe, c’est du {{chiens}}
TEST: cette bouffe, c’est {{du}} {{chienne}}
TEST: les consignes dudit {{présidents}} étaient contratritoires.
TEST: les consignes {{dudit}} {{présidente}} étaient contratritoires.


__gn_ce_1m__
    ce  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":(?:3s|[GWme])") -1>> cette                        # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") and morph(\2, ":3s") -1>> cette|se       # Accord de genre erroné : « \2 » est féminin. Ou bien vous confondez le déterminant “ce” avec le pronom “se”.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{Ce}} animal.                                          ->> Cet
TEST: {{ce}} {{folle}} espoir qui ne la quitte pas
TEST: ce {{claviers}}
TEST: {{ce}} donne


__gn_cet_1m__
    cet  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> cette                               # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].+:[NA].*:m", ":[efGW]") -1>> ce         # Accord de genre correct, mais euphonie non respectée.|http://fr.wikipedia.org/wiki/Euphonie
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{Cet}} {{idiote}}.
TEST: {{cet}} ballon.                                         ->> ce
TEST: cet {{oliviers}}


__gn_cette_1m__
    cette  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =suggCeOrCet(\2)                    # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{Cette}} {{animal}} mort.
TEST: cette {{illusions}} que nous voyons plus clair que quiconque


__gn_au_1m__
    au  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f:s", ":[GWme]") -1>> à la                              # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.
        <<- /gn/ __also__ -1>> aux                                                          # Accord de nombre erroné : « \2 » est au pluriel.

TEST: {{au}} {{États-Unis}}
TEST: Téléphone {{au}} personne qui ont donné leur accord.
TEST: téléphone {{au}} {{boulangère}}
TEST: au chien, au chat, au poulet
TEST: à partir de pièces détachées, au départ entièrement venues de l’étranger puis en partie fabriquées sur place


__gn_det_mas_sing_2m__
    [ce|cet|quel|au|ledit|dudit|audit|aucun|nul]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasSing(\3, True)                                                         # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggMasSing(\3)                                                               # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

    [et|ou|de|d’]  [ce|cet|quel|au|ledit|dudit|audit|aucun|nul]  *WORD  *WORD
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasSing(\4, True)                                                         # Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggMasSing(\4)                                                               # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

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


__gn_mon_ton_son_1m__
    [mon|ton|son]  *WORD
        <<- /gn/ morph(\1, ":D") >>>
        <<- /gn/ morph(\2, ">[bcdfgjklmnpqrstvwxz].*:[NA].*:f", ":[GWme]") -1>> =\1.replace("on", "a").replace("ON", "A")     # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: mon {{excellentes}} mémoire
TEST: {{ton}} {{belle}} mémoire
TEST: {{mon}} {{chienne}}


__gn_mon_ton_son_2m__
    [mon|ton|son]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:m", ":(?:B|G|e|V0|f)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasSing(\3, True)                                                         # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
        <<- /gn/ morph(\2, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
        -3>> =suggFemSing(\3, True)                                                         # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggMasSing(\3)                                                               # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

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

TEST: il brandissait avec fougue son drapeau {{déchirés}}
TEST: comment osez-vous médire de mon héritage {{glorieuse}}
TEST: on parlait de son escapade {{éperdu}} au milieu de la nuit.
TEST: ton étonnante {{secret}} ne sera pas au programme.
TEST: elle s’étonnait de ton opposition {{grandissantes}}
TEST: le ton monte.


__gn_ma_ta_sa_1m__
    [ma|ta|sa]  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =\1[:-1]+"on"                       # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and not re.search("(?i)^[aâeéèêiîoôuûyœæ]", \2) and hasFemForm(\2)
        -2>> =suggFemSing(\2, True)                                                         # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{ma}} {{parti}}
TEST: {{ma}} amour                                            ->> mon
TEST: ma {{carlingues}}


__gn_det_fem_sing_2m__
    [ma|ta|sa|cette|quelle|ladite]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:m", "*") and not apposition(\2, \3)
        -3>> =suggFemSing(\3, True)                                                         # Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin.
        <<- /gn/ morph(\2, ":[NAQ].*:[si]", ":G") and morph(\3, ":[NAQ].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggFemSing(\3)                                                               # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

    [et|ou|de|d’]  [ma|ta|sa|cette|quelle|ladite]  *WORD  *WORD
        <<- /gn/ not morph(<1, ":[NAQ]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NAQ].*:m", "*") and not apposition(\3, \4)
        -4>> =suggFemSing(\4, True)                                                         # Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
        <<- /gn/ morph(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggFemSing(\4)                                                               # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: quelle belle {{étourdi}}, cette gamine
TEST: j’en ai assez de cette ville {{stressées}} en permanence.
TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ?
TEST: de ma grande {{ami}}
TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance.


__gn_notre_votre_chaque_1m__
    [notre|votre|chaque]  *WORD
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggSing(\2)                       # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: Chaque {{chiens}}.                                      ->> chien


__gn_quelque_1m__
    quelque  *WORD
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siG]") and not value(>1, "|que|qu’|")
        -1>> quelques                                                                       # Il manque un “s” à « quelque » ou « \2 » doit être au singulier.

TEST: {{Quelque}} amis


__gn_det_epi_sing_2m__
    [chaque|quelque|notre|votre]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, False)                                                       # Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, False)                  # Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
        -3>> =suggSing(\3)                                                                  # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.

    [et|ou|de|d’]  [chaque|quelque|notre|votre]  *WORD  *WORD
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*")))
            and not apposition(\3, \4)
        -4>> =switchGender(\4, False)                                                       # Accord de genre erroné entre « \3 » et « \4 ».
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, False)                  # Accord de genre erroné avec « \4 ».
        <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
        -4>> =suggSing(\4)                                                                  # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: chaque élément {{terrestres}}
TEST: notre {{belle}} {{avenu}}
TEST: ils viennent de chaque coin {{ignorée}} du pays.
TEST: que faire de votre {{ennuyeuse}} {{avocat}}
TEST: de quelque cartable {{vides}}
TEST: de notre petit {{amis}}
TEST: Quelque chose tombé dans le puits a souillé l’eau.


__gn_det_sing_3m__
    [ledit|ladite|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|au|quel|quelle|dudit]  *WORD  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|") and morph(\2, ":[NA].*:[si]") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") and \4.islower()
        -4>> =suggSing(\4)                                                                  # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.

TEST: un gros connard {{pathétiques}}
TEST: servi pas un style et une exigence historique remarquables


## Pluriels

__gn_les_1m__
    ,  les  *WORD
        <<- /gn/ ( morph(\3, ":[NA].*:s", "*") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) )
            or \3 in aREGULARPLURAL
        -3>> =suggPlur(\3)                                                                  # Accord de nombre erroné : « \3 » devrait être au pluriel.

    *WORD  les  *WORD
        <<- /gn/ morph(\2, ":D")
            and ( morph(\3, ":[NA].*:s", "*") or (morph(\3, ":[NA].*:s", ":[pi]|>avoir/") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y"))) )
            and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))
            and not (value(\1, "|que|") and morph(<1, ">telle/") and morph(\3, ":3[sp]"))
        -3>> =suggPlur(\3)                                                                  # Accord de nombre erroné : « \3 » devrait être au pluriel.

    <start>  les  *WORD
        <<- /gn/ ( morph(\3, ":[NA].*:s", ":[ipYPGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) )
            or \3 in aREGULARPLURAL
        -3>> =suggPlur(\3)                                                                  # Accord de nombre erroné : « \3 » devrait être au pluriel.

TEST: ils viennent, les {{petit}}
TEST: Les {{tiret}}                                           ->> tirets
TEST: Les plus {{grand}} hommes.                              ->> grands
TEST: les {{véhicule}}                                        ->> véhicules
TEST: Les {{démoralisation}}.                                 ->> démoralisations
TEST: dans les {{usine}}                                      ->> usines
TEST: tels que les décrit Macron


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

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

TEST: les pitres {{imbécile}}
TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites.
TEST: les {{petites}} {{oubliés}}
TEST: c’est ça, et les femmes {{retrouvés}} seront emmenées à l’hôpital.
TEST: fais ce que tu peux, ou les {{petites}} {{perdus}} le seront à jamais
TEST: ça ou les éternels {{imbécile}} du coin
TEST: les {{éventuels}} {{fiches}}
TEST: les moins éloignées possible
TEST: Les besoins minimums en matière de sommeil sont-ils les mêmes d’un individu à l’autre ?
TEST: cette attention de tous les instants portée à la boussole.


__gn_leurs_1m__
    leurs  *WORD
        <<- /gn/ (morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")))
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
        <<- /gn/ __also__ -1>> leur                                                         # Accord de nombre erroné avec « \2 ».

TEST: {{leurs}} {{action}}
TEST: {{leur}} {{données}}


__gn_det_pluriel_1m__
    [des|mes|tes|ses|nos|vos|quelques|lesdits|lesdites|desdits|desdites|auxdits|auxdites|moult]  *WORD
        <<- /gn/ (morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")))
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: des {{pain}}                                            ->> pains
TEST: Quelques {{homme}}.                                     ->> hommes
TEST: plusieurs {{femme}} sont venues.
TEST: une personne ou plusieurs ayant décidé de façon déterminée et coordonnée de faire cuire la grenouille


__gn_ces_aux_pluriel_1m__
    [ces|aux]  *WORD
        <<- /gn/ (morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")))
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.
        <<- /gn/ __also__ and morph(\2, ">[bcdfglklmnpqrstvwxz].*:m", ":f") >>>
        <<- /gn/ \1.endswith("x") or \1.endswith("X") -1>> au                               # Accord de nombre erroné : « \2 » est au singulier.
        <<- /gn/ __else__ -1>> ce                                                           # Accord de nombre erroné : « \2 » est au singulier.

TEST: {{ces}} {{détournement}} de fonds et ces vols
TEST: ces {{étudiant}} sont légion.
TEST: je vais {{aux}} {{cinéma}}
TEST: il l’a donné aux {{étudiant}}
TEST: aux {{personne}}


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

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

TEST: ces {{beaux}} {{institutions}}
TEST: nos petites {{fille}}
TEST: de plusieurs {{grands}} {{avocates}}
TEST: de vos défauts {{terrible}}, je connais presque tout.
TEST: Les éléments caractéristiques liés à ses valeurs historique et architecturale
TEST: Une des pierres veinée de rouge…
TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie.
TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion.
TEST: le bruit de nos pas étouffé par l’épais tapis.


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":(?:[VRBX]|Cs)|>comme/|<start>|>,", "*") or morph(\3, ":N", ":[AQ]")) and not \3.startswith("seul") >>>
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                # Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 # Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- not morph(\3, ":G|>a/") and checkAgreement(\2, \3) =>> =exclude(\3, ":V")

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


__gn_plusieurs_1m__
    plusieurs  *WORD
        <<- /gn/ (morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")))
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: plusieurs {{femme}}
TEST: plusieurs {{foi}} par jour.


## Cas particuliers
__gn_det_plur_cas_particuliers__
    [ces|des|mes|tes|ses|nos|vos|leurs|quelques|quels] [même|point|son|ton]
        <<- /gn/ -2>> \2s                                                                   # Accord de nombre erroné : mettez au pluriel.

TEST: des {{son}} que nous entendons jour et nuit.
TEST: j’entends ces {{même}} âneries tous les jours


__gn_les_3m__
    les  *WORD  *WORD  *WORD
        <<- /gn/ morph(\1, ":D") and morph(\2, ":[NA].*:[pi]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)") and morph(\4, ":[NA].*:s", "*") and \4.islower()
        -4>> =suggPlur(\4)                                                                  # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

TEST: les heureux imbéciles {{payé}} au lance-pierre.


__gn_det_plur_3m__
    [ces|mes|tes|ses|nos|vos|quels|quelles|aux]             *WORD  *WORD  *WORD
    [plusieurs|quelques|certains|certaines|moult]           *WORD  *WORD  *WORD
    [lesdits|lesdites|desdits|desdites|auxdits|auxdites]    *WORD  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
            and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not \4.startswith("seul")
        -4>> =suggPlur(\4)                                                                  # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

    leurs  *WORD  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:[pi]", "[123][sp]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
            and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not \4.startswith("seul")
        -4>> =suggPlur(\4)                                                                  # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

TEST: ces petites sottes {{déjantée}}
TEST: Leurs grands plans {{dépassé}} par les évènements
TEST: Prendre goût aux heures passées seul à marcher


## certains / certaines
__gn_certains_1m__
    certains  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> certaines                          # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ ( morph(\2, ":[NA].*:s", ":(?:[ipGWP]|V0)") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) )
            or \1 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

__gn_certains_des_1m__
    certains  des  *WORD
        <<- /gn/ morph(\3, ":[NA].*:f", ":[emGW]") -1>> certaines                           # Accord de genre erroné : « \3 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasPlur(\3, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.

__gn_certaines_1m__
    certaines  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGWP]") -1>> certains                           # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ ( morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) )
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

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

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


## quel / quels / quelle / quelles
__gn_quel_1m__
    quel  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f:p", ":(?:V0|Oo|[NA].*:[me]:[si])")        -1>> quelles                    # Accord de genre et de nombre erroné : « \2 » est féminin et au pluriel.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggMasSing(\2, True)     # Accord de genre et de nombre erroné : « \1 » est masculin et au singulier.
        <<- /gn/ morph(\2, ":[NA].*:m:p", ":(?:V0|Oo|[NA].*:[me]:[si])")        -1>> quels                      # Accord de nombre erroné : « \2 » est au pluriel.
        <<- /gn/ __also__                                                       -2>> =suggSing(\2)              # Accord de nombre erroné : « \1 » est au singulier.
        <<- /gn/ morph(\2, ":[NA].*:f:[si]", ":(?:V0|Oo|[NA].*:[me]:[si])")     -1>> quelle                     # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggMasSing(\2, True)     # Accord de genre erroné : « \1 » est masculin.

TEST: {{Quel}} femme.                                         ->> Quelle
TEST: {{Quel}} {{partie}}
TEST: {{Quel}} {{paris}}
TEST: {{Quel}} {{parties}}
TEST: Quel emmerdeur

__gn_quels_1m__
    quels  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f:s", ":(?:V0|Oo|[NA].*:[me]:[pi])")        -1>> quelle                     # Accord de genre et de nombre erroné : « \2 » est féminin et au singulier.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggMasPlur(\2, True)     # Accord de genre et de nombre erroné : « \1 » est masculin et au pluriel.
        <<- /gn/ morph(\2, ":[NA].*:m:s", ":(?:V0|Oo|[NA].*:[me]:[pi])")        -1>> quel                       # Accord de nombre erroné : « \2 » est au singulier.
        <<- /gn/ __also__                                                       -2>> =suggPlur(\2)              # Accord de nombre erroné : « \1 » est au pluriel.
        <<- /gn/ morph(\2, ":[NA].*:f:[pi]", ":(?:V0|Oo|[NA].*:[me]:[pi])")     -1>> quelles                    # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggMasPlur(\2, True)     # Accord de genre erroné : « \1 » est masculin.

TEST: {{Quels}} chanson.                                      ->> Quelle
TEST: {{Quels}} {{chant}}
TEST: {{Quels}} {{idiotes}}
TEST: {{Quels}} {{avocate}}
TEST: Quels idiots

__gn_quelle_1m__
    quelle  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m:p", ":(?:V0|Oo|[NA].*:[fe]:[si])")        -1>> quels                      # Accord de genre et de nombre erroné : « \2 » est masculin et au pluriel.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggFemSing(\2, True)     # Accord de genre et de nombre erroné : « \1 » est féminin et au singulier.
        <<- /gn/ morph(\2, ":[NA].*:f:p", ":(?:V0|Oo|[NA].*:[fe]:[si])")        -1>> quelles                    # Accord de nombre erroné : « \2 » est au pluriel.
        <<- /gn/ __also__                                                       -2>> =suggSing(\2)              # Accord de nombre erroné : « \1 » est au singulier.
        <<- /gn/ morph(\2, ":[NA].*:m:[si]", ":(?:V0|Oo|[NA].*:[fe]:[si])")     -1>> quel                       # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggFemSing(\2, True)     # Accord de genre erroné : « \1 » est féminin.

TEST: {{Quelle}} homme.                                       ->> Quel
TEST: {{Quelle}} {{folles}}
TEST: {{Quelle}} {{chien}}
TEST: {{Quelle}} {{chats}}
TEST: Quelle sale journée…
TEST: On pourrait également rappeler à quel point l’Église catholique fut hostile à la laïcité et la combattit violemment.

__gn_quelles_1m!8__
    quelles  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m:s", ":(?:V0|Oo|[NA].*:[fe]:[pi])")        -1>> quel                       # Accord de genre et de nombre erroné. « \2 » est masculin et au singulier.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggFemPlur(\2, True)     # Accord de genre et de nombre erroné : « \1 » est féminin et au pluriel.
        <<- /gn/ morph(\2, ":[NA].*:f:s", ":(?:V0|Oo|[NA].*:[fe]:[pi])")        -1>> quelle                     # Accord de nombre erroné : « \2 » est au singulier.
        <<- /gn/ __also__                                                       -2>> =suggPlur(\2)              # Accord de nombre erroné : « \1 » est au pluriel.
        <<- /gn/ morph(\2, ":[NA].*:m:[pi]", ":(?:V0|Oo|[NA].*:[fe]:[pi])")     -1>> quels                      # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2)                                    -2>> =suggFemPlur(\2, True)     # Accord de genre erroné : « \1 » est féminin.

TEST: {{Quelles}} hommes
TEST: {{Quelles}} {{tarés}}.
TEST: {{Quelles}} {{cinglé}}.
TEST: {{Quelles}} {{idiote}}.
TEST: Quelles grandes tours
TEST: Quelles drôles de prunes


__gn_quel_quelle_accord_être__
    [quel|quelle]  [sont|étaient|seront|serons|seraient|furent|fussent]
        <<- /gn/ not value(<1, "|tel|telle|")
        -1>> \1s                                                                            # Accord de nombre erroné avec “\2”.

__gn_quels_quelles_accord_être__
    [quels|quelles]  [est|étais|était|sera|serais|serait|fut|fût|fus]
        <<- /gn/ not value(<1, "|tels|telles|")
        -1>> =\1[:-1]                                                                       # Accord de nombre erroné avec “\2”.

__gn_quel_accord_être_sujet__
    quel  [est|était|seras|sera|serais|serait|fut|fût|fus]  [la|cette|ma|ta|sa]  *WORD
        <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:[fe]", ":m")
        -1>> quelle                                                                         # Accord de genre erroné avec « \3 \4 ».

    quel  [est|était|seras|sera|serais|serait|fut|fût|fus]  [mon|ton|son|notre|votre|leur]  *WORD
        <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:f", ":[me]")
        -1>> quelle                                                                         # Accord de genre erroné avec « \3 \4 ».

__gn_quelle_accord_être_sujet__
    quelle  [est|était|seras|sera|serais|serait|fut|fût|fus]  [le|ce|cet]  *WORD
        <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:[me]", ":f")
        -1>> quel                                                                           # Accord de genre erroné avec « \3 \4 ».

    quelle  [est|était|seras|sera|serais|serait|fut|fût|fus]  [mon|ton|son|notre|votre|leur]  *WORD
        <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:m", ":[fe]")
        -1>> quel                                                                           # Accord de genre erroné avec « \3 \4 ».

__gn_quels_accord_être_sujet__
    quels  [sont|étaient|seront|serons|seraient|furent|fussent]  [les|ces|mes|tes|ses|nos|vos|leurs]  *WORD
        <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:f", ":[me]")
        -1>> quelles                                                                        # Accord de genre erroné avec « \3 \4 ».

__gn_quelles_accord_être_sujet__
    quelles  [sont|étaient|seront|serons|seraient|furent|fussent]  [les|ces|mes|tes|ses|nos|vos|leurs]  *WORD
        <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:m", ":[fe]")
        -1>> quels                                                                          # Accord de genre erroné avec « \3 \4 ».

TEST: {{Quel}} sont ces hommes.                                     ->> Quels
TEST: {{Quel}} est cette force ?                                    ->> Quelle
TEST: {{Quel}} serait notre peine ?                                 ->> Quelle
TEST: {{Quel}} est la politique ?                                   ->> Quelle
TEST: {{Quelle}} est mon animal favori ?                            ->> Quel
TEST: {{Quelle}} est le politique ?                                 ->> Quel
TEST: {{Quelles}} est cette imbécillité ?                           ->> Quelle
TEST: {{Quelles}} sont ces hommes ?                                 ->> Quels
TEST: {{Quels}} sont ces femmes ?                                   ->> Quelles
TEST: Il s’agit de définir quelle est notre propre orientation.



#### Quel(le) que soit …

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

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

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


__gn_quel_que_être_mas_plur__
    quelles que [soient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs]  @:[NAQ].*:m¬:[fe]
    quelles qu’ en [soient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs]  @:[NAQ].*:m¬:[fe]
        <<- /gn/ -1>> quels                                                                 # Accord de genre avec « \-2 \-1 ». Utilisez le masculin.

TEST: {{Quelles}} que soient ces intérêts                     ->> Quels
TEST: {{Quelles}} que soient les hommes qui…                  ->> Quels


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

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

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


__gn_quelle_que_être_fem__
    quels que    [soient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs]  @:[NAQ].*:f¬:[me]
    quels qu’ en [soient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs]  @:[NAQ].*:f¬:[me]
        <<- /gn/ -1>> quelles                                                               # Accord de genre avec « \-2 \-1 ». Utilisez le féminin.

TEST: {{Quels}} que soient ces idiotes                        ->> Quelles
TEST: {{Quels}} qu’en soient les raisons                      ->> Quelles


__gn_det_mas_plur_2m__
    [certains|quels|lesdits|desdits|auxdits]  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
        -3>> =suggMasPlur(\3, True)                                                         # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
        <<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggMasPlur(\3)                                                               # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

    [et|ou|de|d’]  [certains|quels|lesdits|desdits|auxdits]  *WORD  *WORD
        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
        -4>> =suggMasPlur(\4, True)                                                         # Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
        <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
            and not (\1.startswith("de") and value(<1, "|un|une|"))
        -4>> =suggMasPlur(\4)                                                               # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

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


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

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

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


## quelque adverbe
__gn_quelque_adverbe__
    quelques  *NUM
        <<- /gn/ -1>> quelque                                                               # Devant un nombre, « quelque » est un adverbe, donc invariable.

    quelques  $:B
        <<- /gn/ \2 != "cents" -1>> quelque                                                 # Devant un nombre, « quelque » est un adverbe, donc invariable.

TEST: Elle a eu {{quelques}} 300 réponses à sa petite-annonce.
TEST: Il commande {{quelques}} trois cents hommes.
TEST: {{Quelques}} 120 hommes                                 ->> Quelque
TEST: {{Quelques}} deux cents hommes.                         ->> Quelque
TEST: les quelque 2,5 millions d’habitants
TEST: les quelque 12 000 stations-service


## Nombres
__gn_nombre_lettres_1m__
    $:B:e:p  *WORD
        <<- /gn/ not value(\1, "|neuf|mille|") and ( (morph(\2, ":[NA].*:s", "*") and not value(\2, "|multiplié|divisé|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") )
            or \2 in aREGULARPLURAL) and not re.search("^[IVXLDM]+$", \1)
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.

    neuf  *WORD
        <<- /gn/ ( morph(\2, ":[NA].*:s", "*") and not morph(<1, ":N.*:m:[is]") and not value(\2, "|multiplié|divisé|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") )
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.

    mille  *WORD
        <<- /gn/ not value(\2, "|multiplié|divisé|") and (morph(\2, ":[NA].*:s", "*") or \1 in aREGULARPLURAL) and not value(<1, "|le|un|ce|du|")
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.

TEST: ce sont trois {{idiot}} pas foutus de trouver leur chemin avec un GPS.        ->> idiots
TEST: Il a abandonné neuf {{enfant}}.                                               ->> enfants
TEST: On peut trouver mille {{travailleur}} d’un claquement de doigts.              ->> travailleurs
TEST: Il y a quatre cents {{mot}} dans la phrase.                                   ->> mots
TEST: cent {{mot}}                                                                  ->> mots
TEST: cinquante {{mot}}                                                             ->> mots
TEST: mille cinquante {{mot}}                                                       ->> mots
TEST: deux {{tête}}                                                                 ->> têtes
TEST: un logement neuf bâti par des professionnels.
TEST: un mille marin.
TEST: L’article VII mentionné dans la revue
TEST: Le produit de cinq multiplié par trois.


__gn_nombre_chiffres_1m__
    [0|1|01]  @:[NAQ].*:p¬*
        <<- /gn/ space_after(\1, 1, 1) and not value(\2, "|Rois|Corinthiens|Thessaloniciens|")
        -2>> =suggSing(\2)                                                                  # Accord de nombre erroné : « \1 » devrait être au singulier.

    *NUM  *WORD
        <<- /gn/ space_after(\1, 1, 1) and not value(<1, "|/|") and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not morph(<1, ":N")
            and ( (morph(\2, ":[NA].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|"))
            or \1 in aREGULARPLURAL )
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné : « \2 » devrait être au pluriel.

    *NUM  *WORD  *WORD
        <<- /gn/ not value(\2, "|fois|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|")
            and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">(?:seule|maximum|minimum)/") >>>
        <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
            and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                # Accord de genre erroné entre « \2 » et « \3 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           # Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]", "*") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

TEST: il a adopté 1 {{chiens}}.
TEST: 22 {{heure}}
TEST: 3 {{heure}}
TEST: Environ 10 essais {{nucléaire}} ont été réalisés
TEST: 20 {{grandes}} {{animaux}}
TEST: 00 heure, 01 heure
TEST: les élèves sont inquiets après une année 2018 compliquée et riche en réformes.
TEST: ils gagneront 300 € maximum.
TEST: il revint en 2005 complètement dévoré par la culpabilité.
TEST: un jeu de 1980 absolument démodé.
TEST: elle fut le 13 janvier décapitée
TEST: elles furent le 18 janvier décorées
TEST: en quantité 2 fois moindre
TEST: 1 La Mort
TEST: L’année 2019 a commencé à le montrer
TEST: La « première génération » d’ordinateurs des années 1950 a déjà largement cédé la place à une deuxième (transistorisée)
TEST: Au sein du club des pays les plus prospères, la richesse par habitant est néanmoins 52 fois supérieure à celle des pays à faibles revenus, d’après la Banque mondiale.


##  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).

TEST: ils trouvent ça de plus en plus {{idiots}}              ->> idiot


##  Adjectifs précédents

__gn_seul_e_s_det_substantifs_nombre__
    [<start>|,]  [seul|seule]  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:[pi]¬:G
    [<start>|,]  [seul|seule]  les  @:[NA].*:[pi]¬:(?:G|3s)
        <<- /gn/ -2>> \2s                                                           # Si “\2” se réfère au substantif “\4”, il faut le mettre au pluriel.

    [<start>|,]  [seuls|seules]  [ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ledit|ladite]  @:[NA].*:[si]¬:G         [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  [seuls|seules]  [ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ledit|ladite]  @:[NA].*:[si]¬:G         [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3s¬:G
    [<start>|,]  [seuls|seules]  [ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ledit|ladite]  @:[NA].*:[si]¬:G         [nous|vous]     [le|la|l’|les|en|y]     @:3s¬:G
    [<start>|,]  [seuls|seules]  [ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ledit|ladite]  @:[NA].*:[si]¬:G         [le|la|l’|les]  [lui|leur|en|y]         @:3s¬:G
    [<start>|,]  [seuls|seules]  [ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ledit|ladite]  @:[NA].*:[si]¬:G         [lui|leur|y]    en                      @:3s¬:G
    [<start>|,]  [seuls|seules]  [ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ledit|ladite]  @:[NA].*:[si]¬:G         @:3s¬*
    [<start>|,]  [seuls|seules]  [le|la|l’]                                                         @:[NA].*:[si]¬:(?:G|3s)  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  [seuls|seules]  [le|la|l’]                                                         @:[NA].*:[si]¬:(?:G|3s)  [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3s¬:G
    [<start>|,]  [seuls|seules]  [le|la|l’]                                                         @:[NA].*:[si]¬:(?:G|3s)  [nous|vous]     [le|la|l’|les|en|y]     @:3s¬:G
    [<start>|,]  [seuls|seules]  [le|la|l’]                                                         @:[NA].*:[si]¬:(?:G|3s)  [le|la|l’|les]  [lui|leur|en|y]         @:3s¬:G
    [<start>|,]  [seuls|seules]  [le|la|l’]                                                         @:[NA].*:[si]¬:(?:G|3s)  [lui|leur|y]    en                      @:3s¬:G
    [<start>|,]  [seuls|seules]  [le|la|l’]                                                         @:[NA].*:[si]¬:(?:G|3s)  @:3s¬*
        <<- /gn/ -2>> =\2[:-1]                                                      # Si “\2” se réfère au substantif “\4”, il faut le mettre au singulier.

TEST: {{seule}} ces femmes peuvent nous aider
TEST: {{seul}} nos hommes sauront résoudre ce problème
TEST: {{seuls}} ce chien sait détecter cette substance.
TEST: {{seules}} cette chatte sut deviner le piège.


__gn_seul_e_s_det_substantifs_genre__
    [<start>|,]  seul  [cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ladite]  @:[NA].*:f:[si]¬:[Gm]        [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  seul  [cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ladite]  @:[NA].*:f:[si]¬:[Gm]        [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3s¬:G
    [<start>|,]  seul  [cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ladite]  @:[NA].*:f:[si]¬:[Gm]        [nous|vous]     [le|la|l’|les|en|y]     @:3s¬:G
    [<start>|,]  seul  [cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ladite]  @:[NA].*:f:[si]¬:[Gm]        [le|la|l’|les]  [lui|leur|en|y]         @:3s¬:G
    [<start>|,]  seul  [cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ladite]  @:[NA].*:f:[si]¬:[Gm]        [lui|leur|y]    en                      @:3s¬:G
    [<start>|,]  seul  [cette|mon|ton|son|ma|ta|sa|notre|votre|leur|ladite]  @:[NA].*:f:[si]¬:[Gm]        @:3s¬*
    [<start>|,]  seul  [la|l’]                                               @:[NA].*:f:[si]¬:(?:G|3s|m)  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  seul  [la|l’]                                               @:[NA].*:f:[si]¬:(?:G|3s|m)  [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3s¬:G
    [<start>|,]  seul  [la|l’]                                               @:[NA].*:f:[si]¬:(?:G|3s|m)  [nous|vous]     [le|la|l’|les|en|y]     @:3s¬:G
    [<start>|,]  seul  [la|l’]                                               @:[NA].*:f:[si]¬:(?:G|3s|m)  [le|la|l’|les]  [lui|leur|en|y]         @:3s¬:G
    [<start>|,]  seul  [la|l’]                                               @:[NA].*:f:[si]¬:(?:G|3s|m)  [lui|leur|y]    en                      @:3s¬:G
    [<start>|,]  seul  [la|l’]                                               @:[NA].*:f:[si]¬:(?:G|3s|m)  @:3s¬*
        <<- /gn/ -2>> seule                                                         # Si “\2” se réfère au substantif féminin “\4”, il faut le mettre au féminin.

    [<start>|,]  seule  [ce|cet|mon|ton|son|notre|votre|leur|ledit]  @:[NA].*:m:[si]¬:[Gf]        [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  seule  [ce|cet|mon|ton|son|notre|votre|leur|ledit]  @:[NA].*:m:[si]¬:[Gf]        [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3s¬:G
    [<start>|,]  seule  [ce|cet|mon|ton|son|notre|votre|leur|ledit]  @:[NA].*:m:[si]¬:[Gf]        [nous|vous]     [le|la|l’|les|en|y]     @:3s¬:G
    [<start>|,]  seule  [ce|cet|mon|ton|son|notre|votre|leur|ledit]  @:[NA].*:m:[si]¬:[Gf]        [le|la|l’|les]  [lui|leur|en|y]         @:3s¬:G
    [<start>|,]  seule  [ce|cet|mon|ton|son|notre|votre|leur|ledit]  @:[NA].*:m:[si]¬:[Gf]        [lui|leur|y]    en                      @:3s¬:G
    [<start>|,]  seule  [ce|cet|mon|ton|son|notre|votre|leur|ledit]  @:[NA].*:m:[si]¬:[Gf]        @:3s¬*
    [<start>|,]  seule  [le|l’]                                      @:[NA].*:m:[si]¬:(?:G|3s|f)  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  seule  [le|l’]                                      @:[NA].*:m:[si]¬:(?:G|3s|f)  [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3s¬:G
    [<start>|,]  seule  [le|l’]                                      @:[NA].*:m:[si]¬:(?:G|3s|f)  [nous|vous]     [le|la|l’|les|en|y]     @:3s¬:G
    [<start>|,]  seule  [le|l’]                                      @:[NA].*:m:[si]¬:(?:G|3s|f)  [le|la|l’|les]  [lui|leur|en|y]         @:3s¬:G
    [<start>|,]  seule  [le|l’]                                      @:[NA].*:m:[si]¬:(?:G|3s|f)  [lui|leur|y]    en                      @:3s¬:G
    [<start>|,]  seule  [le|l’]                                      @:[NA].*:m:[si]¬:(?:G|3s|f)  @:3s¬*
        <<- /gn/ -2>> seul                                                          # Si “\2” se réfère au substantif masculin “\4”, il faut le mettre au masculin.

    [<start>|,]  seuls  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:f:[pi]¬:[Gm]        [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  seuls  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:f:[pi]¬:[Gm]        [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3p¬:G
    [<start>|,]  seuls  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:f:[pi]¬:[Gm]        [nous|vous]     [le|la|l’|les|en|y]     @:3p¬:G
    [<start>|,]  seuls  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:f:[pi]¬:[Gm]        [le|la|l’|les]  [lui|leur|en|y]         @:3p¬:G
    [<start>|,]  seuls  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:f:[pi]¬:[Gm]        [lui|leur|y]    en                      @:3p¬:G
    [<start>|,]  seuls  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:f:[pi]¬:[Gm]        @:3p¬*
    [<start>|,]  seuls  les                                                                                         @:[NA].*:f:[pi]¬:(?:G|3p|m)  [ne|n’|me|m’|te|t’|se|s’]
    [<start>|,]  seuls  les                                                                                         @:[NA].*:f:[pi]¬:(?:G|3p|m)  [le|la|l’|les|en|nous|vous|lui|leur|y]  @:3p¬:G
    [<start>|,]  seuls  les                                                                                         @:[NA].*:f:[pi]¬:(?:G|3p|m)  [nous|vous]     [le|la|l’|les|en|y]     @:3p¬:G
    [<start>|,]  seuls  les                                                                                         @:[NA].*:f:[pi]¬:(?:G|3p|m)  [le|la|l’|les]  [lui|leur|en|y]         @:3p¬:G
    [<start>|,]  seuls  les                                                                                         @:[NA].*:f:[pi]¬:(?:G|3p|m)  [lui|leur|y]    en                      @:3p¬:G
    [<start>|,]  seuls  les                                                                                         @:[NA].*:f:[pi]¬:(?:G|3p|m)  @:3p¬*
        <<- /gn/ -2>> seules                                                        # Si “\2” se réfère au substantif féminin “\4”, il faut le mettre au féminin.

    [<start>|,]  seules  [ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|certains|certaines|lesdits|lesdites]  @:[NA].*:m:[pi]¬:[Gf]
    [<start>|,]  seules  les  @:[NA].*:m:[pi]¬:(?:G|3p|f)
        <<- /gn/ -2>> seuls                                                         # Si “\2” se réfère au substantif masculin “\4”, il faut le mettre au masculin.

TEST: {{seul}} cette partie peut nous aider                         ->> seule
TEST: {{seule}} notre ordinateur serait assez puissant pour ça      ->> seul
TEST: {{seuls}} vos forces suffirent                                ->> seules
TEST: {{seules}} nos tests réussirent à la convaincre.              ->> seuls



!!
!!
!!!! Groupe nominal (sans déterminant)                                                            !!
!!
!!

## Sans article
__gn_start_2m__
    <start>  @:[NA]¬*  @:[NA]¬*
        <<- /gn/ ((morph(\2, ":m", "*") and morph(\3, ":f", "*")) or (morph(\2, ":f", "*") and morph(\3, ":m", "*"))) and not apposition(\2, \3)
        -3>> =switchGender(\3)                                                                      # Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 # Accord de genre erroné avec « \3 ».
        <<- /gn/ ((morph(\2, ":s", "*") and morph(\3, ":p", "*")) or (morph(\2, ":p", "*") and morph(\3, ":s", "*"))) and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      # Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    # Accord de nombre erroné avec « \3 ».

TEST: {{serrurière}} {{intelligent}}.
TEST: {{serrurier}} {{intelligente}}.
TEST: {{Femmes}} {{mariée}}
TEST: {{hommes}} {{marié}}


__gn_start_3m__
    <start>  @:[NA]¬*  @:[NA]¬*  @:[NA]¬*
        <<- /gn/ morph(\2, ":p") and morph(\3, ":[pi]") and morph(\4, ":s") and \4.islower() -4>> =switchPlural(\4)  # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
        <<- /gn/ morph(\2, ":i") and morph(\3, ":p")    and morph(\4, ":s") and \4.islower() -4>> =switchPlural(\4)  # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
        <<- /gn/ morph(\2, ":s") and morph(\3, ":[si]") and morph(\4, ":p") and \4.islower() -4>> =switchPlural(\4)  # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
        <<- /gn/ morph(\2, ":i") and morph(\3, ":s")    and morph(\4, ":p") and \4.islower() -4>> =switchPlural(\4)  # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.

TEST: Grande manifestation {{réprimées}} dans le sang.
TEST: Super manifestation {{ignorées}} par les médias.
TEST: Précis brûlé {{oubliés}}
TEST: Grandes démonstrations {{oubliée}} par l’Histoire.
TEST: Prix incroyables {{valable}} uniquement jusqu’à demain.


## Prépositions
__gn_pfx_en_2m__
    en  @:[NA]¬*  @:[NA]¬*
        <<- /gn/ ( (morph(\2, ":m", "*") and morph(\3, ":f", "*")) or (morph(\2, ":f", "*") and morph(\3, ":m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3)                                                                      # Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 # Accord de genre erroné avec « \3 ».
        <<- /gn/ ( (morph(\2, ":p", "*") and morph(\3, ":s", "*")) or (morph(\2, ":s", "*") and morph(\3, ":p", "*")) ) and not apposition(\2, \3)
        -3>> =switchPlural(\3)                                                                      # Accord de nombre erroné avec « \2 ».
        <<- /gn/ __also__ -2>> =switchPlural(\2)                                                    # Accord de nombre erroné avec « \3 ».

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


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

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


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

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


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

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


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

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


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

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



!!
!!
!!!! Groupe nominal: Accords avec de / des / du                                                   !!
!!
!!

__gn_devinette__
    [la|ma|ta|sa|une|cette]  *WORD  [de|d’]  [la|ma|ta|sa|cette|une]  *WORD  *WORD
        <<- /gn/ morph(\6, ":[NA].*:(?:m|f:p)", ":(?:G|P|[fe]:[is]|V0|3[sp])") and morph(\5, ":[NA].*:[fe]") and not apposition(\5, \6)
        -6>> =suggFemSing(\6, True)                                                         # Accord erroné : « \6 » devrait être au féminin singulier.

    [le|un|ce|cet]  *WORD  [de|d’]  [ce|cet|un]  (*WORD)  (*WORD)
    [le|un|ce|cet]  *WORD  du  (*WORD)  (*WORD)
        <<- /gn/ morph(\2, ":[NA].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and morph(\1, ":[NA].*:[me]") and not apposition(\1, \2)
        -2>> =suggMasSing(\2, True)                                                         # Accord erroné : « \2 » devrait être au masculin singulier.

    [le|un|ce|cet]  *WORD  de  [mon|ton|son]  *WORD  *WORD
        <<- /gn/ morph(\5, ":", ":[NA].*:f|>[aéeiou].*:e") and morph(\6, ":[NA].*:(?:f|m:p)", ":(?:G|P|m:[is]|V0|3[sp])") and not apposition(\5, \6)
        -6>> =suggMasSing(\6, True)                                                         # Accord erroné : « \6 » devrait être au masculin singulier.

    [mon|ton|son]  *WORD  [de|d’]  [ce|cet|un]  *WORD  *WORD
    [mon|ton|son]  *WORD  du  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":G|>[aéeiou].*:[ef]")
            and morph(\-1, ":[NA].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\-2, \-1)
        --1>> =suggMasSing(\-1, True)                                                       # Accord erroné : « \-1 » devrait être au masculin singulier.

    [mon|ton|son]  *WORD  de [mon|ton|son]  *WORD  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":G|>[aéeiou].*:[ef]")
            and not morph(\-2, ":[NA].*:f|>[aéeiou].*:e") and morph(\-1, ":[NA].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\-2, \-1)
        --1>> =suggMasSing(\-1, True)                                                       # Accord erroné : « \-1 » devrait être au masculin singulier.

    [les|ces|mes|tes|ses|nos|vos|leurs|quelques]  *WORD  de [ces|mes|tes|ses|nos|vos|leurs]  *WORD  *WORD
    [les|ces|mes|tes|ses|nos|vos|leurs|quelques]  *WORD  des  *WORD  *WORD
        <<- /gn/ morph(\-1, ":[NA].*:s", ":(?:G|P|[me]:[ip]|V0|3[sp])") and morph(\-2, ":[NA].*:[pi]") and not apposition(\-2, \-1)
        --1>> =suggPlur(\-1)                                                                # Accord erroné : « \-1 » devrait être au pluriel.

TEST: La fille de cette belle {{inconnu}}                       ->> inconnue
TEST: Le chien du voisin {{mourante}}                           ->> mourant
TEST: Un chien de ce voisin {{amicale}}                         ->> amical
TEST: mon amour du chocolat {{immodérée}}                       ->> immodéré
TEST: ton amour de son verbe {{enthousiasmante}}                ->> enthousiasmant
TEST: Cet homme de mon groupe {{oubliés}}                       ->> oublié
TEST: Les hommes des mines {{voisin}}                           ->> voisins
TEST: Lutter contre le chômage de masse avec les armes des travailleurs reste pour nous une priorité.
TEST: le meurtre de son ex-petite amie
TEST: à cette envie de la voir sourire tout le temps
TEST: sur les raisons de la chute d’un des hommes populaires du pays.
TEST: sur les raisons de la chute d’une des stars populaires du pays.


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

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


!!
!!
!!!! Groupe nominal (accord avec déterminant suivant le groupe)                                   !!
!!
!!

__gn_lequel_laquelle_lesquels_lesquelles__
    <start> [le|l’|un|ce|cet|mon|ton|son|notre|votre|leur]          *WORD  *WORD   [laquelle|lesquels|lesquelles]
        <<- /conf/ morph(\3, ":N.*:m:[si]", ":f") and morph(\4, ":R", ">à/") --1>> lequel           # Accord avec “\2 \3” : utilisez le masculin singulier.

    <start> [la|l’|une|cette|ma|ta|sa|notre|votre|leur]             *WORD  *WORD   [lequel|lesquels|lesquelles]
        <<- /conf/ morph(\3, ":N.*:f:[si]", ":m") and morph(\4, ":R", ">à/") --1>> laquelle         # Accord avec “\2 \3” : utilisez le féminin singulier.

    <start> [les|des|ces|mes|tes|ses|quelques|plusieurs|certains]   *WORD  *WORD   [lequel|laquelle|lesquelles]
        <<- /conf/ morph(\3, ":N.*:m:[pi]", ":f") and morph(\4, ":R", ">à/") --1>> lesquels         # Accord avec “\2 \3” : utilisez le pluriel masculin.

    <start> [les|des|ces|mes|tes|ses|quelques|plusieurs|certaines]  *WORD  *WORD   [lequel|laquelle|lesquels]
        <<- /conf/ morph(\3, ":N.*:f:[pi]", ":m") and morph(\4, ":R", ">à/") --1>> lesquelles       # Accord avec “\2 \3” : utilisez le pluriel féminin.

TEST: L’homme pour {{laquelle}} tu te plies en quatre ne le mérite pas.                 ->> lequel
TEST: Une femme contre {{lequel}} je me suis battu bec et ongles.                       ->> laquelle
TEST: ces idiots avec {{lesquelles}} j’ai commis la bêtise de partir                    ->> lesquels
TEST: plusieurs femmes avec {{lesquels}} nous avons parlé                               ->> lesquelles
TEST: La femme avec laquelle tu parles
TEST: La faux avec laquelle on fauche.
TEST: Une distance au-delà de laquelle il devient difficile de voir.


__gn_auquel_à_laquelle_auxquels_auxquelles__
    <start> [le|l’|un|ce|cet|mon|ton|son|notre|votre|leur]          *WORD   [auxquels|auxquelles]
        <<- /conf/ morph(\3, ":N.*:m:[si]", ":f") --1>> auquel                                      # Accord avec “\2 \3” : utilisez le masculin singulier.

    <start> [le|l’|un|ce|cet|mon|ton|son|notre|votre|leur]          *WORD   à laquelle
        <<- /conf/ morph(\3, ":N.*:m:[si]", ":f:[si]") --2:-1>> auquel                              # Accord avec “\2 \3” : utilisez le masculin singulier.

    <start> [la|l’|une|cette|ma|ta|sa|notre|votre|leur]             *WORD   [auquel|auxquels|auxquelles]
        <<- /conf/ morph(\3, ":N.*:f:[si]", ":m") --1>> à laquelle                                  # Accord avec “\2 \3” : utilisez le féminin singulier.

    <start> [les|des|ces|mes|tes|ses|quelques|plusieurs|certains]   *WORD   [auquel|auxquelles]
        <<- /conf/ morph(\3, ":N.*:m:[pi]") --1>> auxquels                                          # Accord avec “\2 \3” : utilisez le pluriel masculin.

    <start> [les|des|ces|mes|tes|ses|quelques|plusieurs|certaines]  *WORD   [auquel|auxquels]
        <<- /conf/ morph(\3, ":N.*:f:[pi]", ":m") --1>> auxquelles                                  # Accord avec “\2 \3” : utilisez le pluriel féminin.

TEST: le délire {{à laquelle}} nous avons dû faire face.                                ->> auquel
TEST: le chien {{auxquels}} ils ont apporté à manger avait disparu                      ->> auquel
TEST: la mission {{auquel}} nous avons consacré tant de temps a finalement été annulée  ->> à laquelle
TEST: les femmes {{auxquels}} j’ai confié cette mission se sont rebellées.              ->> auxquelles
TEST: les hommes {{auxquelles}} nous avons fait confiance nous sont trahis.             ->> auxquels
TEST: Les femmes auxquelles tu parles


__gn_duquel_de_laquelle_desquels_desquelles__
# Nous présumons qu’au singulier, la différence sonore prévient toute confusion possible (les faux positifs possibles sont nombreux).
    [<start>|,]  *WORD  [les|des|ces|mes|tes|ses|quelques|plusieurs|certains]   *WORD    desquelles
        <<- /conf/ morph(\2, ":R") and morph(\4, ":N.*:m:[pi]", ":f:[pi]") --1>> desquels           # Si “\-1” se rapporte à “\3 \4” : utilisez le pluriel masculin.

    [<start>|,]  *WORD  [les|des|ces|mes|tes|ses|quelques|plusieurs|certaines]  *WORD    desquels
        <<- /conf/ morph(\2, ":R") and morph(\4, ":N.*:f:[pi]", ":m:[pi]") --1>> desquelles         # Si “\-1” se rapporte à “\3 \4” : utilisez le pluriel féminin.

    <start>  [les|des|ces|mes|tes|ses|quelques|plusieurs|certains|aux]        *WORD    desquelles
        <<- /conf/ morph(\3, ":N.*:m:[pi]", ":f:[pi]") --1>> desquels                               # Si “\-1” se rapporte à “\2 \3” : utilisez le pluriel masculin.

    <start>  [les|des|ces|mes|tes|ses|quelques|plusieurs|certaines|aux]       *WORD    desquels
        <<- /conf/ morph(\3, ":N.*:f:[pi]", ":m:[pi]") --1>> desquelles                             # Si “\-1” se rapporte à “\2 \3” : utilisez le pluriel féminin.

TEST: contre les ennuis {{desquelles}} nous nous sommes dépêtrés seuls                  ->> desquels
TEST: par ces idées {{desquels}} il fut possible de bâtir notre empire                  ->> desquelles
TEST: les travaux {{desquelles}} nous tirons ces résultats                              ->> desquels
TEST: aux ressources {{desquels}} nous avons tiré notre richesse.                       ->> desquelles
TEST: C’était une Église, parmi tant d’autres, au milieu de laquelle prospéraient les hypocrites.
TEST: au nombre desquels on compte les vaisseaux de l’Invincible Armada.
TEST: à l’ombre desquels jaillissent de nombreuses sources fraîches et limpides
TEST: Les édifices desquels vous êtes propriétaire
TEST: on lui fait des piqûres à la suite desquelles la paupière se soulève
TEST: les argiles et les marnes jouent le rôle d’isolants enfermant les masses à l’intérieur desquelles s’est effectuée la fermentation du sapropel.


!!
!!
!!!! Couleurs                                                                                     !!
!!
!!

__sgpl_couleurs_invariables__
    [abricots|acajous|anthracites|argents|aubergines|azurs|bistres|briques|bronzes|cachous|caramels|carmins|cerises|chocolats|corails|crèmes|cuivres|ébènes|émeraudes|fraises|garances|grenats|indigos|isabelles|ivoires|lavandes|magentas|marrons|moutardes|nacres|noisettes|ocres|olives|ors|oranges|outremers|pailles|pastels|pervenches|pies|pistaches|pivoines|rouilles|sables|safrans|sépias|tabacs|taupes|tomates|turquoises|vermillons]
        <<- /sgpl/ morph(<1, ":N", ":[GAVWM]") ->> =\1[:-1]
        # Couleur. Si une couleur est représentée par un fruit, un animal, une roche… elle est (en général) invariable.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais

TEST: Des yeux {{vert}}.
TEST: Des yeux {{marrons}}.
TEST: Des créatures marines.
TEST: Un cageot des premières cerises.


__sgpl_couleurs_composées!5__
    [>beige|>châtain|>cyan|>écarlate|>jaune|>magenta|>marron|>mauve|>orange|>pourpre|>rouge|>rose|>vermeille] [>fluo|>mat|>pâle|>pastel|>sombre|>tendre|>terne|>brillante|>claire|>vive|diapré+ses|foncé+ses|irisé+ses]
        <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":[pf]"))
        ->> =suggSing(\1) + " " + suggMasSing(\2)
        # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais

    [>blanche|>bleue|>brune|>grise|>noire|>verte|>violette] [>fluo|>mat|>pâle|>pastel|>sombre|>tendre|>terne|>brillante|>claire|>vive|diapré+ses|foncé+ses|irisé+ses]
        <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":[pf]"))
        ->> =suggMasSing(\1) + " " + suggMasSing(\2)
        # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais

    >jaune [>paille|>sable]
    >rose  [>bonbon|>chair|>corail]
    >rouge [>brique|>carmine|>cerise|>écarlate|rubis|>sang|>tomate|>vermillon]
        <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":p"))
        ->> =suggSing(\1) + " " + suggSing(\2)
        # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais

    >bleue [>ciel|>indigo|>marine|>roi|>saphir|>turquoise|>verte]
    >blonde >platine
    >grise [>acier|>anthracite|>perle|souris]
    >verte [>émeraude|>olive|>pistache|>pomme]
        <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":p"))
        ->> =suggMasSing(\1) + " " + suggSing(\2)
        # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais

    >noire [de|d’] [encre|jais]
        <<- /sgpl/ not morph(<1, ":D") -1>> noir
        # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais

TEST: les chapeaux {{rouges clairs}}                                        ->> rouge clair
TEST: des chaussures {{jaunes sables}}                                      ->> jaune sable|||sablent
TEST: des pantalons {{verts clairs}}                                        ->> vert clair
TEST: des robes {{bleues indigo}}                                           ->> bleu indigo
TEST: des voitures {{jaunes fluo}}                                          ->> jaune fluo
TEST: Une jupe {{bleue foncée}}.                                            ->> bleu foncé
TEST: boutons {{roses pâles}}                                               ->> rose pâle
TEST: Il a une queue {{bleue vert}}.                                        ->> bleu vert
TEST: Il a une queue {{marron claire}}.                                     ->> marron clair
TEST: Il a une queue {{verte clair}}                                        ->> vert clair
TEST: Des cheveux {{noirs}} de jais.                                        ->> noir
TEST: Une jupe bleu foncé.
TEST: Des yeux vert clair.
TEST: Des yeux vert olive.
TEST: Ses cheveux étaient noir de jais.
TEST: Il a une queue vert émeraude
TEST: Il a une queue bleu vert



!!
!!
!!!! Singuliers & Pluriels                                                                        !!
!!
!!

#### Prépositions

# Similaires à prépositions : http://www.synapse-fr.com/manuels/PP_ATTENDU.htm
# attendu, compris, non-compris, y compris, entendu, excepté, ôté, ouï, passé, supposé, vu
# ! problème avec l’ouïe, ouï retiré de la liste
__sgpl_prépositions__
    <start> ?non¿ [comprise|comprises] [le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs]
        <<- /sgpl/ --2>> compris                                                            # Considéré comme préposition, invariable.

    <start> [non-comprise|non-comprises] [le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs]
        <<- /sgpl/ -2>> non compris                                                         # Considéré comme préposition, invariable.

    <start> [entendus|exceptés|ôtés|supposés|passés|entendue|exceptée|ôtée|supposée|passée|entendues|exceptées|ôtées|supposées|passées]  [le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs]
        <<- /sgpl/ -2>> =suggMasSing(\2)                                                    # Considéré comme préposition, invariable.

    [<start>|,]  [attendus|attendue|attendues]  [que|qu’]
        <<- /sgpl/ -2>> attendu                                                             # “Attendu que” : considéré comme préposition, invariable.

    [<start>|,]  étant [donnés|donnée|données]
        <<- /sgpl/ -3>> donné                                                               # “Étant donné” : considéré comme préposition, invariable.

    [<start>|,]  [vus|vue|vues]  [le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs]
    [<start>|,]  [vus|vue|vues]  [que|qu’]
        <<- /sgpl/ -2>> vu                                                                  # Considéré comme préposition, invariable.

TEST: {{comprises}} mes prestations sur place
TEST: {{non-comprises}} les boissons
TEST: non {{comprise}} la remise en état
TEST: {{Exceptés}} les petits, tous sont tombes malades.
TEST: {{Attendues}} qu’on n’en sait rien, impossible de tirer des conclusions définitives.
TEST: Il viendra, étant {{donnée}} son addiction…
TEST: {{Vues}} les idioties qu’on entend, normal qu’on perde la tête.
TEST: {{Passées}} les premières heures du jour…
TEST: Il faut même être indulgent pour accorder une place à cette dernière, vu qu’elle a pour condition le mensonge des instincts
TEST: Vu la dureté extrême des conditions de survie…


#### Nombres cardinaux

# vingt
__sgpl_vingt__
    vingts
        <<- /sgpl/ not value(<1, "|quatre|") ->> vingt                                      # “Vingt” ne prend la marque du pluriel que dans “quatre-vingts”.

    quatre-vingt
    quatre vingt
        <<- /sgpl/ not morph(>1, ":B") and not morph(<1, ">(?:numéro|page|chapitre|référence|année|test|série)/")
        ->> quatre-vingts                                                                   # Mettre « vingt » au pluriel, excepté s’il s’agit d’une référence (page, chapitre, année…).

    quatre-vingts-un
    quatre-vingts-deux
    quatre-vingts-trois
    quatre-vingts-quatre
    quatre-vingts-cinq
    quatre-vingts-six
    quatre-vingts-sept
    quatre-vingts-huit
    [quatre-vingts-neuf+s]
    quatre-vingts-dix
    quatre-vingts-onze
    quatre-vingts-douze
    quatre-vingts-treize
    quatre-vingts-quatorze
    quatre-vingts-quinze
    quatre-vingts-seize
    quatre-vingts-dix-sept
    quatre-vingts-dix-huit
    [quatre-vingts-dix-neuf|quatre-vingts-dix-neufs]
        <<- /sgpl/ -1>> =\1.replace("vingts", "vingt").replace("VINGTS", "VINGT")           # Mettez « vingt » au singulier.

TEST: Il y a {{vingts}} personnes dans le salon.
TEST: {{Quatre-vingt}} femmes sont passées.
TEST: On en a reçu {{quatre-vingts-dix}}.
TEST: Le gagnant est le numéro quatre-vingt.


# neuf
__sgpl_nombre_neuf__
    dix-neufs
    vingt-neufs
    trente-neufs
    quarante-neufs
    cinquante-neufs
    soixante-neufs
    soixante-dix-neufs
    quatre-vingt-neufs
    quatre-vingt-dix-neufs
        <<- /sgpl/ ->> =\1[:-1]                                                             # Pas de “s” sur “neuf” lorsqu’il s’agit d’un nombre.

TEST: par {{trente-neufs}} degrés.


# cent
__sgpl_nombre_cents__
    [deux|trois|quatre|cinq|six|sept|huit|neuf]  cent
        <<- /sgpl/ not morph(>1, ":B|>une?") and not morph(<1, ">(?:numéro|page|chapitre|référence|année|test|série)/")
        -2>> cents                          # Mettre “cent” au pluriel (centaines entières), excepté s’il s’agit d’une référence (page, chapitre, année…).|http://fr.wiktionary.org/wiki/cent

    [deux|trois|quatre|cinq|six|sept|huit|neuf|mille]  cents
        <<- /sgpl/ morph(>1, ":B|>une?")
        -2>> cent                           # Nombre cardinal : pas de “s” à “cent” (hormis sur les centaines entières).|http://fr.wiktionary.org/wiki/cent

    cents  @:[NA].*:[pi]¬:G
        <<- /sgpl/ morph(<1, ":[VR]|<start>", ":B")
        -1>> cent                           # Nombre cardinal : pas de “s” à “cent” (hormis sur les centaines entières).|http://fr.wiktionary.org/wiki/cent

TEST: deux {{cents}} trois mots                                                         ->> cent
TEST: il y a {{cents}} mots                                                             ->> cent
TEST: {{cents}} mots                                                                    ->> cent
TEST: ils mangent {{cents}} têtes                                                       ->> cent
TEST: trois {{cent}} marches à gravir.
TEST: deux {{cents}} quatre tests lancés à chaque itération du processus nouveau
TEST: par {{cents}} idées différentes.


# mille
__sgpl_mille__
    milles
        <<- /sgpl/ morph(>1, ":(?:B|N.*:p)", ":[QA]") or (morph(<1, ":B") and morph(>1, ":[NA]"))
        ->> mille                           # “Mille” est invariable s’il s’agit d’un nombre (et non de l’unité de mesure maritime).

TEST: Plus de {{milles}} personnes sont venues.
TEST: plus de deux cent quatre-vingt mille personnes


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

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

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


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

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

TEST: des centaines de {{bête}} à cornes passèrent devant nous.     ->> bêtes
TEST: une multitude d’{{homme}}                                     ->> hommes
TEST: des groupes de {{paroles}}                                    ->> parole
TEST: les 80 milliards de fraude fiscale


__sgpl_carnet_de__
    >carnet de [chèque|note|timbre|ticket|vacance]
        <<- /sgpl/ -3>> \3s                                             # Il manque un “s”. Il y en a plusieurs dans un carnet.

__sgpl_collectif_de__
    >collective [de|d’] [artiste|agriculteur|agricultrice|architecte|automobiliste|citoyen|citoyenne|con|conne|consommateur|consommatrice|enfant|entreprise|femme|fille|garçon|homme|infirmier|infirmière|jeune|médecin|motard|motarde|musicien|musicienne|passionné|passionnée|prostitué|prostituée|touriste|travailleur|travailleuse|vieille|vieillard|vieillarde]
        <<- /sgpl/ morph(<1, ":D|<start>") -3>> \1s                     # Il manque un “s”. Il y en a plusieurs dans un collectif.

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

__sgpl_concours_de_circonstances__
    concours de circonstance
        <<- /sgpl/ -3>> circonstances                                   # Un concours de circonstances signifie qu’il y a plusieurs circonstances.

__sgpl_confluence_de__
    >confluence de [rivière|fleuve|ruisseau]
        <<- /sgpl/ -3>> =suggPlur(\3)                                   # Confluence de plusieurs cours d’eau : mettez au pluriel.

__sgpl_groupe_de__
    [>association|>assemblée|>groupe|>rassemblement|>regroupement|>réunion|>troupe] [de|d’] [artiste|agriculteur|agricultrice|architecte|automobiliste|citoyen|citoyenne|con|conne|consommateur|consommatrice|enfant|entreprise|femme|fille|garçon|homme|infirmier|infirmière|jeune|médecin|motard|motarde|musicien|musicienne|passionné|passionnée|prostitué|prostituée|touriste|travailleur|travailleuse|vieille|vieillard|vieillarde]
        <<- /sgpl/ -3>> \3s                                             # Il manque un “s”. Il y en a plusieurs dans un groupe, un rassemblement, une assemblée, etc.

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

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

    >trousseau [de|d’] mariages
        <<- /sgpl/ -3>> =\3[:-1]                                        # Mettez au singulier.

TEST: d’un air compassé, il sortit son carnet de {{chèque}}.
TEST: Ce collectif d’{{artiste}} est très inventif.
TEST: Rends-moi ma collection de {{film}} !
TEST: C’est un malheureux concours de {{circonstance}}.
TEST: à la confluence de {{rivière}}
TEST: ils constituent un groupe de {{passionné}}.
TEST: C’est un putain de troupeau de {{mouton}} !
TEST: où est mon trousseau de {{clé}} ?
TEST: un trousseau de {{mariages}}


#### X fois par jour/an/semaine/etc.
__sgpl_x_fois_par_période__
    fois par [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|semestres|trimestres|ans|années|décennies|siècles|millénaires]
        <<- /sgpl/ -3>> =suggSing(\3)                                   # Mettez au singulier : x fois par période de temps, donc pour chaque période de temps.

TEST: vingt fois par {{ans}}, à peu près.
TEST: 12 fois par {{jours}}, ça suffit.
TEST: Deux fois par mois…


#### lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche / matin, soir
__sgpl_jour_matin_soir__
    [>lundi|>mardi|>mercredi|>jeudi|>vendredi|>samedi|>dimanche] [matins|soirs|après-midis]
        <<- /sgpl/ -2>> =\2[:-1]                                        # Ici, comme adverbe, ces mots sont invariables. Exemple : les mardis soir (les mardi au soir).

TEST: Tous les lundis {{soirs}}.
TEST: Les mardis soir.


#### Locutions

# à
__sgpl_mettre_à_nu__
    >mettre à [nus|nue|nues]
        <<- /sgpl/ -3>> à nu                                            # Dans la locution “mettre à nu”, “nu” est invariable.

TEST: Mettre à {{nus}} les hommes.
TEST: Elle s’est mise à {{nue}} devant ses sœurs.
TEST: Une mise à nu douloureuse.


# affaires
__sgpl_affaires__
    [>chiffre|>homme|>femme|>centre|>chargée]  d’ affaire
        <<- /sgpl/ -3>> affaires                                            # Dans “\1 d’affaires”, toujours mettre “affaires” au pluriel.

    >faire affaires avec
        <<- /sgpl/ -2>> affaire                                             # Dans la locution “Faire affaire avec”, “affaire” est au singulier.

    >faire affaire [à|en] ~^[A-ZÉÈÂ]
        <<- /sgpl/ morph(\4, ":(?:N|MP)") -2>> affaires                     # Ajoutez un “s” à « affaire ».

    >avoir affaires à
        <<- /sgpl/ -2>> affaire                                             # Dans la locution “avoir affaire à”, “affaire” est au singulier.|https://fr.wiktionary.org/wiki/avoir_affaire_%C3%A0

TEST: Quel est son chiffre d’{{affaire}} ?
TEST: Allez-vous faire {{affaires}} avec ces connards ?
TEST: elle fait {{affaire}} à Londres
TEST: Faire {{affaire}} à Paris.
TEST: avoir {{affaires}} à eux


# armes
__sgpl_d_armes__
    [>compagnon|>frère|>sœur] d’ arme
        <<- /sgpl/ -3>> armes                                               # Les compagnons d’armes.|https://fr.wiktionary.org/wiki/compagnon_d%E2%80%99armes

TEST: mes frères d’{{arme}}


# boisson
__sgpl_débit_de_boissons__
    >débit de boisson
        <<- /sgpl/ -3>> boissons                                            # Dans la locution “débit de boissons”, “boissons” est au pluriel.

TEST: ils ont ouvert un débit de {{boisson}} à Paris.


# demi-heure, heure et demie, à demi
__sgpl_demi_heure__
    demie-heure
    demie heure
    demi heure
        <<- /sgpl/ ->> demi-heure                       # La moitié d’une heure s’écrit “demi-heure”.

    demie-heures
    demie heures
    demies-heures
    demies >heure
    demi heures
    demis >heure
    demis-heures
        <<- /sgpl/ ->> demi-heures                      # La moitié d’une heure s’écrit “demi-heure” (“demi-heures” au pluriel).

TEST: L’entretien dure environ une {{demie heure}}.
TEST: les {{demies heures}} les plus longues de ma vie
TEST: Une demi-heure d’ennui profond.


__sgpl_demi_demie__
    [>année|>semaine|>journée|>heure|>minute|>seconde|>bouteille|>caisse|>cuillère|>page|>remorque|>tasse|>tonne] et [demi|demis|demies]
        <<- /sgpl/ -3>> demie                           # « Une et demie », « deux et demie », etc.

    [>millénaire|>siècle|>an|>jour|>degré|>kilo|>litre|>mètre|>wagon] et [demie|demis|demies]
        <<- /sgpl/ -3>> demi                            # « Un et demi », « deux et demi », etc.

    [>demie] [>douzaine|>cercle|>litre|>millénaire|>siècle|>journée|>heure|>sœur|>frère|>fin|>sel|>finale|>centre|>million|>pension|>portion|>mot|>morte|>longueur|>page|>mesure|>écrémer|>tour|>teinte]
        <<- /sgpl/ ->> demi-\2                          # Pour la moitié de “\2”, écrivez “demi-\2”.

TEST: nous avons rendez-vous dans une heure et {{demi}}
TEST: Deux mètre et {{demis}}.
TEST: achète une {{demie douzaine}} d’œufs.

__sgpl_à_demi__
    [à|a] [demis|demie|demies]
        <<- /sgpl/ ->> à demi                           # Pour la locution adverbiale signifiant “à moitié” ou “en partie”, écrivez “à demi”.|https://fr.wiktionary.org/wiki/%C3%A0_demi

TEST: Elle est {{à demie}} consciente de ce qui se passe en face de chez elle.
TEST: Il est {{à demis}} cuit.


# dévolu
__sgpl_leur_dévolu__
    >jeter leurs dévolus
        <<- /sgpl/ -2:3>> leur dévolu                   # Jeter son dévolu, leur dévolu : au singulier.

TEST: Ces gens qui jettent {{leurs dévolus}} sur n’importe qui, c’est d’une indécence.


# escalier
__sgpl_cage_d_escalier__
    >cage d’ escaliers
        <<- /sgpl/ -3>> escalier                                # Usuellement, pas de “s” à escalier.

TEST: Elle est passée par la cage d’{{escaliers}}


# extérieur/intérieur
__sgpl_intérieur_extérieur__
    [l’|d’|mon|ton|son|leur|notre|votre|cet|en] [intérieure|extérieure]
        <<- /sgpl/ -2>> =\1[:-1]                                # Ceci est un adjectif féminin. Pas de “e” pour le nom masculin.

    [d’|ces|des|les|mes|tes|ses|leurs|nos|vos|en] [intérieures|extérieures]
        <<- /sgpl/ -2>> =\1[:-2]+"s"                            # Ceci est un adjectif féminin. Pas de “e” pour le nom masculin.

TEST: que pensez-vous de notre {{intérieure}} ?
TEST: à l’{{intérieure}} rien de notable.
TEST: un homme de l’{{intérieure}}.
TEST: des {{intérieures}} remarquables.


# en bons termes
__sgpl_en_bons_termes__
    en bon terme
        <<- /sgpl/ ->> en bons termes                               # En bons termes : cette locution est toujours au pluriel.

TEST: nous sommes à présent {{en bon terme}}


# ensemble
__ensemble__
    ensembles
        <<- /sgpl/ morph(<1, ":V.*:[123]|>(?:tou(?:te|)s|pas|rien|guère|jamais|toujours|souvent)/", ":[DRB]")
        ->> ensemble                                                 # S’il s’agit bien de l’adverbe “ensemble”, il est invariable.|https://fr.wiktionary.org/wiki/ensemble

TEST: Elles viendront {{ensembles}}.


# eux-mêmes, elles-mêmes
__sgpl_eux_elles_mêmes__
    eux-même
        <<- /sgpl/ ->> eux-mêmes                                    # Il manque un “s” à même.

    elles-même
        <<- /sgpl/ ->> elles-mêmes                                  # Il manque un “s” à même.

TEST: Elles ne sont plus {{elles-même}}.
TEST: Ils ne peuvent s’en prendre qu’à {{eux-même}}.


# par intermittence
__sgpl_par_intermittence__
    par intermittences
        <<- /sgpl/ -2>> intermittence                               # Locution : « par intermittence ».

TEST: Elles ne viennent que par {{intermittences}}.


# par intervalles
__sgpl_par_intervalles__
    par intervalle
        <<- /sgpl/ -2>> intervalles                                 # Locution : « par intervalles ».

TEST: On va procéder par {{intervalle}}


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

TEST: Viser {{justes}}
TEST: Voir {{justes}}.
TEST: Penser juste.
TEST: Dures mais justes.
TEST: J’ai retrouvé tout mon ressenti, tous les mots sont justes.
TEST: Nos chiffres sont justes, et nous vous le prouverons.
TEST: Ces observations sont tellement justes que, dans les années à venir, elles serviront de référence.
TEST: Les motivations sont justes et évidentes
TEST: ces théories incomplètes sont suffisamment justes pour prédire la réalité
TEST: À vous de trouver les compromis que vous trouvez justes.


# pied
__sgpl_pied__
    [>avoir|>perdre]  pieds
        <<- /sgpl/ -2>> pied                                        # Locution “\1 pied” : écrivez “pied” au singulier.

    à pieds
        <<- /sgpl/ not before("(?i)\\b(?:lit|fauteuil|armoire|commode|guéridon|tabouret|chaise)s?\\b") and not morph(>1, ">sculpter/")
        -2>> pied                                                   # Location “à pied” : écrivez “pied” au singulier.|https://fr.wiktionary.org/wiki/%C3%A0_pied

    [à|aux] >pied >levée
        <<- /sgpl/ ->> au pied levé                                 # Locution adverbiale invariable.

TEST: ils ont tout simplement perdu {{pieds}}
TEST: ils y sont allés à {{pieds}}.
TEST: Elles ont accompli l’impossible, et de surcroît {{aux pieds levés}}


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

TEST: Je connais {{pleins}} de gens
TEST: un site avec {{pleins}} de pubs
TEST: Les avocats sont pleins de nutriments.


# possible
__sgpl_autant_que_possible__
    autant  que  possibles
        <<- /sgpl/ -3>> possible                                    # Invariable. Implicitement, autant que ce qui est possible.

    autant  [de|d’]  *WORD  que  possibles
        <<- /sgpl/ -5>> possible                                    # Invariable. Implicitement, autant \2 \3 que ce qui est possible.

    autant  [de|d’]  *WORD  *WORD  que  possibles
        <<- /sgpl/ -6>> possible                                    # Invariable. Implicitement, autant \2 \3 \4 que ce qui est possible.

TEST: nous ferons des tests autant que {{possibles}}.
TEST: nous ferons autant de tests que {{possibles}}, c’est une nécessité.
TEST: rabaissons autant de connards prétentieux que {{possibles}}…


# quelque
__sgpl_quelque_temps__
    quelques temps
        <<- /sgpl/ ->> quelque temps                                # Quelque temps : un temps indéterminé. Ici, “quelque” est un adverbe (donc invariable).|https://fr.wiktionary.org/wiki/quelque_temps

__sgpl_en_quelque_sorte__
    en quelques sortes
        <<- /sgpl/ ->> en quelque sorte                             # En quelque sorte : locution invariable.|https://fr.wiktionary.org/wiki/en_quelque_sorte

TEST: Il y a {{quelques temps}} que nous nous connaissons.
TEST: Je suis en vacances, {{en quelques sortes}}.


# rafales
__sgpl_par_en_rafales__
    [par|en]  rafale
        <<- /sgpl/ -2>> rafales                                     # Il y a plusieurs rafales. Mettez au pluriel.

TEST: Je lance des tests en {{rafale}}.


# par souci de
__sgpl_par_souci_de__
    par soucis [de|d’]
        <<- /sgpl/ -2>> souci                                       # Locution “par souci de”. Mettez “souci” au singulier.

TEST: par {{soucis}} d’équité, chacun aura droit à une part.


# Point de suspension
__sgpl_points_de_suspension__
    points de suspensions
        <<- /sgpl/ -3>> suspension                                  # Dans la locution nominale “points de suspension”, le dernier terme est au singulier.

TEST: Arrête de mettre des points de {{suspensions}} partout.


# rester en contact
__sgpl_rester_en_contact__
    >rester en contacts
        <<- /sgpl/ --1>> contact                                    # Dans la locution “rester en contact”, “contact” est toujours au singulier.

TEST: rester en {{contacts}}


# sentir bon
__sgpl_sentir_bon__
    >sentir bons
        <<- /sgpl/ -2>> bon                                         # Dans la locution “sentir bon”, “bon” est un adverbe, donc invariable.

TEST: Ces fleurs sentent {{bons}}.
TEST: Ça sent bon.


# vacances
__sgpl_bonnes_vacances__
    bonne vacance
        <<- /sgpl/ not morph(<1, ":D.*:f:s") ->> bonnes vacances    # Les vacances. Au pluriel.

__sgpl_en_vacances__
    [>aller|>partir]  en  vacance
        <<- /sgpl/ -3>> vacances                                    # Si vous parlez des congés, “vacance” doit être au pluriel.

TEST: Je pars en {{vacance}}.
TEST: {{Bonne vacance}} !
TEST: Il nous reste un poste en vacance.
TEST: Cette place est en vacance.


# vites
__sgpl_vite__
    vites
        <<- /sgpl/ not morph(<1, ":V0e.*:3p") or morph(>1, ":[AQ]")
        ->> vite                                                    # Adverbe “vite” invariable. (La forme adjective est désuète.)

TEST: ils mangent {{vites}}.
TEST: elles sont {{vites}} parties.
TEST: elles sont vites.


# voir clair
__sgpl_voir_clair__
    >voir >claire
        <<- /sgpl/ \2 != "clair" and \2 != "Claire" -2>> clair      # Dans la locution “voir clair”, “clair” est un adverbe, donc invariable. (Mais peut-être confondez-vous “voire” et “voir” ?)

TEST: Ils y voient {{clairs}}.
TEST: Il vit Claire au théâtre.
TEST: J’y vois clair, mec.


# vu / vue
__sgpl_point_de_vue__
    >point de [vu|vus|vues]
        <<- /sgpl/ -3>> vue                                         # Dans un “point de vue”, “vue” est toujours au féminin singulier.

TEST: c’est son point de {{vu}} qui prime.
TEST: Son point de {{vus}} prévaudra toujours, faites-vous à cette idée ou dégagez.
TEST: de mon point de {{vues}}


__sgpl_verbe__
    >faire rires
        <<- /sgpl/ -2>> rire                                        # Faire rire. Rire est un verbe, il ne prend pas la marque du pluriel.

    [>pouvoir|>vouloir|>falloir] [rires|mangers|êtres|avoirs]
        <<- /sgpl/ morph(\1, ":V") -2>> =\2[:-1]                    # Si “\2” est censé être un verbe, ne mettez pas la marque du pluriel.


TEST: On peut {{rires}}, non ?
TEST: Faire {{rires}}, c’est compliqué.


!!!! Adverbes après verbe                                                                         !!

# fort
__sgpl_verbe_fort__
    forts
        <<- /sgpl/ morph(<1, ":V", ":[AN].*:[me]:[pi]|>(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre|appara[îi]tre)/.*:(?:[123]p|P|Q|Y)|>(?:affirmer|trouver|croire|désirer|estimer|préférer|penser|imaginer|voir|vouloir|aimer|adorer|rendre|souhaiter)/")
            and not morph(>1, ":A.*:[me]:[pi]")
        ->> fort                                                # Confusion probable. S’il s’agit ici de l’adverbe “fort” (équivalent de “fortement”), écrivez-le au singulier.

    hauts [et|&] forts
        <<- /sgpl/ morph(<1, ":V", ":[AN].*:[me]:[pi]|>(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre|appara[îi]tre)/.*:(?:[123]p|P|Q|Y)")
        ->> haut et fort                                        # Confusion probable. S’il s’agit ici de la locution adverbiale “haut et fort”, elle est invariable.

TEST: ces emmerdeurs crient bien trop {{forts}}
TEST: Ils déclamèrent {{hauts et forts}} leur amour de leur patrie.
TEST: parler {{hauts & forts}}
TEST: ces animaux paraissent forts, mais ils sont faibles.
TEST: ils sont forts, ces gars-là.
TEST: ils se croient forts.
TEST: je les imagine forts et intelligents.
TEST: elles les veulent forts et astucieux.
TEST: les écarts ont été plus forts en une génération
TEST: Avec le même nombre de bulletins, les xénophobes apparaîtront plus forts.
TEST: Pour leur permettre d’être plus forts face aux maîtres de tous bords, patrons, maris ou bureaucrates.
TEST: Il nous rend forts.


# bien
__sgpl_verbe_bien__
    biens
        <<- /sgpl/ morph(<1, ":V", ":[DA].*:p") ->> bien        # Confusion probable. Ici, “bien” est un adverbe, donc invariable.

TEST: Ils vont {{biens}}.
TEST: Elles travaillaient vraiment {{biens}}.
TEST: Il ne comprenait vraiment pas très {{biens}} ces principes de base.
TEST: Il a de grands biens.
TEST: Ce sont des biens de peu de valeur.



!!
!!
!!!! Confusions                                                                                   !!
!!
!!

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

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


__conf_a_à_faim_peur_honte_soif_chaud_froid__
    à [faim|peur|honte|soif|sommeil]
        <<- /conf/ -1>> a                       # Avoir “\2”. Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

    <start> elle à [chaud|froid]
         <<- /conf/ -3>> a                      # Avoir “\4”. Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

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


__conf_tomber_à_terre__
    [>tomber|>chuter] a terre
        <<- /conf/ -2>> à                       # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.

TEST: tombé {{a}} terre, il crut ne jamais pouvoir se relever.


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

TEST: Cessez donc de faire {{bandes a pare}}.
TEST: Elles ont fait {{bandes à parts}}.


# abuser / abusé / abusif
__conf_abusif__
    [c’|cela|ceci]  [est|était|serait|sera]  abusé
    ce              [serait|sera]            abusé
        <<- /conf/ -3>> abusif|abuser           # Confusion. Il y a les pratiques abusives. On peut abuser de quelque chose. Mais “ça” ne peut pas être “abusé”.|https://fr.wiktionary.org/wiki/abuser

TEST: C’est {{abusé}} !
TEST: Vendre ça aussi cher, c’est abuser de la crédulité des touristes.


# acre / âcre
__conf_acre_âcre__
    *NUM  >âcre
        <<- /conf/ -2>> =\2.replace("â", "a").replace("Â", "A")
        # Confusion probable : “âcre” est un adjectif signifiant “irritant”. Pour l’unité de surface agraire, écrivez “acre”.|https://fr.wiktionary.org/wiki/%C3%A2cre

    [>alcool|>être|>goût|>gout|>humeur|>odeur|>parole|>parfum|>remarque|>reproche|>réponse|>saveur|>senteur|>sensation|>vin]  >acre
        <<- /conf/ -2>> =\2.replace("a", "â").replace("A", "Â")
        # Confusion probable : “acre” est une unité de surface agraire. Pour l’adjectif signifiant “irritant”, écrivez “âcre”.|https://fr.wiktionary.org/wiki/%C3%A2cre

TEST: un terrain de 3 {{âcres}}.
TEST: Il avait ce goût {{acre}} dans la bouche qui ne passait pas.


# accro / accroc
__conf_être_accro__
    [>être|>devenir|>redevenir|>paraître|>paraitre|>rendre|>sembler]  >accroc
        <<- /conf/ -2>> =\2.replace("oc", "o")      # Confusion : “accroc” signifie “déchirure”, “incident”, etc. tandis que “accro” est un terme familier qui signifie “dépendant”.

    [>être|>devenir|>redevenir|>paraître|>paraitre|>rendre|>sembler]  [à|a] >croc
        <<- /conf/ -2:3>> accro|accros              # Confusion : “accroc” signifie “déchirure”, “incident”, etc. tandis que “accro” est un terme familier qui signifie “dépendant”.

    >accroc [à|a] la [bouffe|cocaïne|codéine|codeine|course|drogue|coke|meth|méthamphétamine|morphine|nicotine|nourriture|télé|télévision|clope|cigarette|came|poudre|baise|musique|viande]
    >accroc [à|a] cette [came|émission|merde|poudre|femme|meuf|gonzesse|conne|salope|garce|pute]
    >accroc [à|a] ce [mec|keum|type|con|connard]
    >accroc [à|a] ce fils de pute
    >accroc [à|a] cet [homme|enculé|imbécile|enfoiré]
    >accroc [à|a] l’ [alcool|amour|argent|ecstasy|herbe|héro|héroïne|opium|ordi|ordinateur]
    >accroc [à|a] [Facebook|Internet|Twitter|lui|elle|eux|elles]
    >accroc [au|du] [chocolat|cul|jeu|PC|poker|sexe|shopping|smartphone|sport|sucre|tabac|téléphone|travail|LSD|crack]
    >accroc aux [antidépresseurs|anti-dépresseurs|bonbons|hommes|mecs|femmes|gonzesses|médicaments|médocs|jeux|séries|sucreries]
        <<- /conf/ -1>> =\1.replace("oc", "o")      # Confusion : “accroc” signifie “déchirure”, “incident”, etc. tandis que “accro” est un terme familier qui signifie “dépendant”.

    >faire [un|des] >accro  à [des|mes|tes|ses|nos|vos|leurs] [principes|collants]
    >faire [un|des] >accro  à [mon|ton|son|notre|votre|leur] [caleçon|pantalon]
    >faire [un|des] >accro  à [la|ma|ta|sa|notre|votre|leur] [chemise|chemisier|culotte|jupe|veste]
    >faire [un|des] >accro  aux [principes|collants|caleçons|pantalons|chemises|chemisiers|culottet|jupes|vestes]
        <<- /conf/ -3>> =\3.replace("ro", "roc")    # Confusion : “accro” est un terme familier qui signifie “dépendant”, tandis que “accroc” signifie “déchirure”, “incident”, etc.

TEST: ils y sont {{accrocs}} depuis toujours
TEST: elles y sont {{à crocs}} depuis toujours
TEST: au poker, il semble {{accroc}}
TEST: vraiment {{accroc}} à la cocaïne
TEST: pire, {{accroc}} au jeu
TEST: Patricia est {{accroc}} à ce mec
TEST: Tous {{accrocs}} à Internet.
TEST: {{Accroc}} à cette merde depuis toujours.
TEST: Elle a fait un {{accro}} à ses principes.


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

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


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

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


# allée / allé
__conf_allée__
    l’ allé
        <<- /conf/ -2>> allée                           # Confusion. Une allée.

TEST: il descendait l’{{allé}}


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

    >mettre à l’ amande
        <<- /conf/ -4>> amende                          # Confusion. L’amande est un fruit.

    [>biscuit|>brioche|>brownie|>bûche|>canard|>cookie|>crumble|>fondant|>gâteau|>meringue|>poulet|>mi-cuit|>pain|>tarte|>tartelette|>tuile] aux amendes
    [>biscuit|>brioche|>brownie|>bûche|>canard|>cookie|>crumble|>fondant|>gâteau|>meringue|>poulet|>mi-cuit|>pain|>tarte|>tartelette|>tuile] à l’ amende
    [>crème|>pâte|>purée] d’ >amende
        <<- /conf/ -3>> amandes                         # Confusion. Une amende est une peine. Le fruit s’écrit “amande”.

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              # Confusion. L’amande est un fruit.

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

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


# annales / anal-e-s
__conf_annales_anales__
    >anale [>littéraire|>politique|>ecclésiastique]
    >anale du [baccalauréat|bac|brevet]
    >anale de [>physique|>chimie|>mathématique|>biologie|>géographie|>philosophie]
    >anale d’ [>histoire|>économie]
        <<- /conf/ -1>> annales                         # Confusion : “\1” est l’adjectif relatif à l’anus.|http://fr.wiktionary.org/wiki/annales

    [les|ces|des|mes|tes|ses|nos|vos|leurs|plusieurs] >anale
        <<- /conf/ -2>> annales                         # Confusion : “\2” est l’adjectif relatif à l’anus.|http://fr.wiktionary.org/wiki/annales

TEST: {{anales}} du bac
TEST: des {{anales}} littéraires
TEST: il a bachoté les {{anales}}.


# air / aire / ère
__conf_air_aire_ère__
    [>air|>aire] [>digitale|>numérique|>industrielle|>glacière|>glaciaire|>géologique|Meiji|>cénozoïque|>moderne|>paléozoïque|>pliocène|>primaire|>secondaire|>tertiaire|>quaternaire]
    [>air|>aire] du [cénozoïque|digital|numérique|paléozoïque|pliocène|pétrole|primaire|secondaire|tertiaire|quaternaire]
    [>air|>aire] du big data
        <<- /conf/ -1>> ère|ères    # Confusion. L’aire est une surface. L’air est un gaz, une apparence ou une musique. Pour évoquer une époque, écrivez “ère”.

    l’ [aire|ère] du temps
        <<- /conf/ -2>> air         # Confusion probable. Locution “l’air du temps”.|https://fr.wiktionary.org/wiki/%C3%AAtre_dans_l%E2%80%99air_du_temps

    >avoir l’ [aire|ère] [de|d’]
        <<- /conf/ -3>> air         # Confusion probable. La locution “avoir l’air de” signifie “sembler”, “paraître”…|https://fr.wiktionary.org/wiki/avoir_l%E2%80%99air

    [>air|>ère] [de|d’]  [accueil|atterrissage|autoroute|repos]
        <<- /conf/ -1>> aire|aires  # Confusion. Une ère est une époque. L’air est un gaz, une apparence ou une musique. Pour évoquer une surface, écrivez “aire”.|https://fr.wiktionary.org/wiki/aire

    >baptême de l’ [ère|aire]
        <<- /conf/ --1>> air        # Confusion. Une ère est une époque. L’aire est une surface. Pour parler de l’atmosphère, écrivez “air”.|https://fr.wiktionary.org/wiki/air

TEST: L’{{aire}} du pétrole n’est pas encore terminée.
TEST: Ce sera un jour dans l’{{ère}} du temps
TEST: il a l’{{aire}} d’un plouc.
TEST: on s’arrêtera sur l’{{air}} d’autoroute
TEST: baptême de l’{{aire}}


# auspice / hospice
__conf_auspices_hospices__
    sous [les|de|des|ces] ?*WORD¿ hospices
        <<- /conf/ --1>> auspices       # Confusion probable. L’hospice est un centre de soins.|https://fr.wiktionary.org/wiki/auspice

    [>être|>aller|>rester|>demeurer|>partir]  [à|dans|de]  l’ auspice
        <<- /conf/ -4>> hospice         # Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice

    dans [un|cet|les|des|ces|quel|quels] >auspice
        <<- /conf/ -3>> =\3.replace("auspice", "hospice")
        # Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice

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

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


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

TEST: ils sont sacrifiés sur l’{{hôtel}} de la rentabilité


# avion / avions
__conf_avions_avion__
    nous avion
        <<- /conf/ -2>> avions                              # Confusion probable : l’avion est un appareil volant.

TEST: Je pense que nous {{avion}} tort.


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

TEST: cesse de {{bailler}} aux corneilles


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

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

    au banc de l’ [empire|église|état|entreprise|humanité|institution|islam|université]
    au banc de la [cité|communauté|faculté|monarchie|principauté|province|région|république|société|ville]
    au banc du royaume
    au banc des nations
        <<- /conf/ -2>> ban                                             # Confusion. Pour dire “être banni ou déchu”, on écrit “être au ban”.|https://fr.wiktionary.org/wiki/mettre_au_ban

    >banc [du|de] >mariage
        <<- /conf/ -1>> =\1.replace("c", "").replace("C", "")           # Confusion : les bans de mariage sont des publications, pas du mobilier.|https://fr.wiktionary.org/wiki/ban

    en >rupture de >banc
        <<- /conf/ -4>> ban                                             # Confusion. Locution “en rupture de ban”.|https://fr.wiktionary.org/wiki/en_rupture_de_ban

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

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

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


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

    >ban [de|d’] [>roche|>sable|>neige|>moule|>baleine|>dauphin|>hareng|>thon|>poisson|>piranha|>sardine|>méduse|>calibration|>musculation|>coupe|>scie|anchois|>huître|>huitre|>essai|>étalonnage]
    >ban [de|d’] l’ école
    >ban des accusés
        <<- /conf/ -1>> =\1.replace("an", "anc").replace("AN", "ANC")   # Confusion.|https://fr.wiktionary.org/wiki/banc

TEST: sur les {{bans}} de l’école.
TEST: Attention aux {{bans}} de sable
TEST: sur les bancs de l’école.


# bât / bas
__conf_bât_bas_bat__
    le [bas|bat] >blesser
        <<- /conf/ -2>> bât                                             # Confusion : là où le bât blesse.|http://fr.wiktionary.org/wiki/b%C3%A2t

    [>âne|>cheval|>mule|>mulet|>jument|>sacoche] de [bas|>bat]
        <<- /conf/ -3>> bât                                             # Confusion probable.|https://fr.wiktionary.org/wiki/b%C3%A2t

    [bas|>bât] de l’ aile
        <<- /conf/ -1>> bat                                             # Confusion probable.|https://fr.wiktionary.org/wiki/battre_de_l%E2%80%99aile

    [bas|>bât] [son|leur] plein
        <<- /conf/ -1>> bat                                             # Confusion probable.|https://fr.wiktionary.org/wiki/battre_son_plein

TEST: C’est là que le {{bas}} blesse.
TEST: Sur son cheval de {{bas}}.
TEST: ça {{bât}} de l’aile, cette histoire.
TEST: La fête {{bât}} son plein.


# beauté / botté
__conf_beauté__
    [>finir|>terminer|>achever|>conclure|>croître|>croitre|>grandir|>refaire] en    [botter|botté+ses]
    [>faire|>refaire] une                                                           [botter|botté+ses]
    [>canon|concours|>grain|>institut|>pigeon|>produit|>salon]  de                  [botter|botté+ses]
    de toute                                                                        [botter|botté+ses]
    quark                                                                           [botter|botté+ses]
        <<- /conf/ --1>> beauté                                         # Confusion probable. Écrivez “beauté”.|https://fr.wiktionary.org/wiki/beaut%C3%A9

TEST: cette fois, on va finir en {{bottée}}.
TEST: le quark {{botter}}


# bel et bien
__conf_bel_belle__
    belle et bien
        <<- /conf/ (morph(>1, ":[AQR]") or morph(<1, ":V", ">être")) and not value(>1, "|que|qu’|sûr|")
        -1>> bel                                                        # Confusion probable. « Bel et bien » est équivalent à « vraiment ».

TEST: ils vont {{belle}} et bien par monts et par vaux.

    l’ >échapper [bel+s|belles]
    l’ >avoir >échapper [bel+s|belles]
        <<- /conf/ --1>> belle                                          # Confusion. Locution “l’échapper belle”.|https://fr.wiktionary.org/wiki/l%E2%80%99avoir_%C3%A9chapp%C3%A9_belle

TEST: Ils l’ont échappé {{bel}}


# bite / bitte
__conf_bitte_bite__
    >bite du quai
    >bite sur le quai
    >bite d’ amarrage
        <<- /conf/ -1>> =\1.replace("ite", "itte")                      # Confusion. Bitte d’amarrage.

    [ma|ta|sa|notre|votre|nos|vos|leur|leurs|grande+s|grosse+s|petite+s|longue+s|>énorme|>minuscule|>sale] >bitte
    >être [une|des] >bitte
    [>aimer|>adorer|>astiquer|>avaler|>bouffer|>branler|>fourrer|>lécher|>mettre|>mordre|>pomper|>sucer] $:D >bitte
        <<- /conf/ --1>> =\-1.replace("itte", "ite")                    # Confusion probable. Si vous parlez de pénis, écrivez “bite” (terme argotique).|https://fr.wiktionary.org/wiki/bite

    >bitte [>circoncise|>dégueulasse|>dure|>molle|>puante|>raide|>répugnante|>sale|vidé+ses]
        <<- /conf/ -1>> =\1.replace("itte", "ite")                      # Confusion probable. Si vous parlez de pénis, écrivez “bite” (terme argotique).|https://fr.wiktionary.org/wiki/bite

TEST: les mouettes sur les {{bites}} d’amarrage.
TEST: on se fout de savoir ce qu’ils font avec leurs {{bittes}}.
TEST: il m’a mis sous le nez une {{bitte}} répugnante.


# bonne et due forme / bonnet difforme / bon uniforme
__conf_en_bonne_et_due_forme__
    en >bonne >uniforme
    en >bonnet >difforme
    en >bonne et [du|due|dus|dues] >forme
        <<- /conf/ ->> en bonne et due forme                            # Locution “en bonne et due forme” (invariable).|https://fr.wiktionary.org/wiki/en_bonne_et_due_forme

TEST: une raclée {{en bonnes et dues formes}}
TEST: remplir son formulaire en bonne et due forme, c’est le minimum pour espérer un retour positif.


## s’en / c’en
__conf_c_en_être__
    s’ en  [es|est|sera|seras|étais|était] [fini+ses|finit|terminé+ses]
        <<- /conf/ morph(<1, ":C|<start>") or value(<1, "|,|")
        -1:2>> c’en                                         # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de

    s’ en  [es|est|sera|seras|étais|était] [assez|trop] [<end>|,|de|d’]
        <<- /conf/ -1:2>> c’en                              # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de

    s’ en  [es|est|sera|seras|étais|était] @:A¬:[GVW]
        <<- /conf/ morph(<1, ":C|<start>") or value(<1, "|,|")
        -1:2>> c’en                                         # Confusion probable : “\2” est un adjectif. « C’en est… » équivaut à « ça, c’est… ».3|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de

TEST: tout ça, {{s’en}} est fini.
TEST: {{s’en}} est assez de ces foutaises.
TEST: c’est tellement idiot, {{s’en}} est dérisoire…
TEST: c’en est fini d’eux, ils sont comme morts
TEST: c’en est assez, ça suffit


# en butte à / but / bute
__conf_en_butte_à_au__
    en [>but|>bute]  [à|au|aux]
         <<- /conf/ -2>> butte                                          # Confusion. Écrivez « en butte \3 ».

TEST: Et moi toujours en {{but}} à de nouveaux dangers


# cane / canne (from LanguageTool)
__conf_canne_cane__
    >cane [à|a] [sucre|pêche|selfie]
    >cane [de|d’] [bambou|bois|combat|compagnon|compagnonnage|défense|golf|marche|Noël|ramonage)|>aveugle]
        <<- /conf/ -1>> =\1.replace("ane", "anne")                      # Confusion. La cane est la femelle du canard.|https://fr.wiktionary.org/wiki/cane

    [>alcool|>coup|>sucre|>sirop] de >cane
        <<- /conf/ -3>> canne                                           # Confusion. La cane est la femelle du canard.|https://fr.wiktionary.org/wiki/cane

    [>œuf|>filet] de >canne
        <<- /conf/ -3>> cane                                            # Confusion. La canne est un bâton ou un roseau. Pour la femelle du canard, écrivez “cane”.|https://fr.wiktionary.org/wiki/canne

    [>appuyer|>battre|>frapper|>lever|>marcher] [avec|sur] [les|des|ma|ta|sa|mes|tes|ses|cette|une] >cane
        <<- /conf/ -4>> =\4.replace("ane", "anne")                      # Confusion. La cane est la femelle du canard.|https://fr.wiktionary.org/wiki/cane

    >bec de >canne
    bec-de-canne
    becs-de-cannes
    bec-de-cannes
    becs-de-canne
        <<- /conf/ ->> bec-de-cane|becs-de-cane         # Confusion. Le bec-de-cane se somme ainsi à cause de la ressemblance avec le bec de l’animal.|https://fr.wiktionary.org/wiki/bec-de-cane

    [>aéroport|>actrice|>baie|>port|>festival|>gare|>mairie|>maire|>tourisme|>ville|vieux-port] de [>cane|>canne]
        <<- /conf/ not value(\3, "|Cannes|CANNES|") -3>> Cannes                         # Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.

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

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


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

TEST: {{s’}}est vraiment merdique.
TEST: s’est par exemple illustré au combat.
TEST: il ne s’est pas juste montré
TEST: il s’était des journées entières consacré à son jeu favori.


# ce / se
__conf_ce_se_verbe__
    [<start>|,] se [ne|n’] [>être|>devoir|>pouvoir]
    [<start>|,] se [sera|serait|seraient|sont|seront|fut|fût|furent|fussent] $:D
    [<start>|,] se >devoir être
    [<start>|,] se >pouvoir être
        <<- /conf/ -2>> ce                              # Confusion probable. Si vous voulez dire, “ceci”, “cela” ou “ça”, écrivez “c’”.||http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440

TEST: {{se}} n’est pas pour cette raison que j’ai abandonné mes études.
TEST: grâce à quoi, {{se}} put être fait dans les règles.
TEST: {{se}} serait les pires vacances de sa vie
TEST: des pans entiers de l’univers — pour reprendre l’expression d’Orwell — se sont d’ores et déjà volatilisés
TEST: À la pause, ils se sont tous les deux assis à l’arrière, et j’ai vu progressivement leurs corps se rapprocher.


# coli / colis
__conf_colis_coli2__
    [>affranchir|>attendre|>dédouaner|>dédouanement|>délivrer|>déposer|>égarer|>emballage|>emballer|>envoyer|>envoi|>expédier|>réexpédier|>expédition|>réexpédition|>fermer|>refermer|>livrer|>livraison|>ouvrir|>rouvrir|>ouverture|>réouverture|>perdre|>perte|>pesage|>peser|>porter|>réception|>recevoir|>transporter|>transport|>suivre|dans] $:D coli
        <<- /conf/ --1>> colis                          # Confusion probable. Si vous parlez d’un paquet, écrivez “colis”.|https://fr.wiktionary.org/wiki/colis

    coli [>délivrer|>égarer|>envoyer|>livrer|>oublier|>suspecte|>piéger|>neutraliser]
        <<- /conf/ morph(\2, ":A") -1>> colis           # Confusion probable. Si vous parlez d’un paquet, écrivez “colis”.|https://fr.wiktionary.org/wiki/colis

TEST: on va expédier ce {{coli}} vite fait bien fait.
TEST: un {{coli}} oublié à la gare.


# courant / courent
__conf_courant_courent__
    [courent|courrent] [alternatif+s|>atmosphérique|>continue|>électrique|>équatoriale|marin+s|>océanique|>triphasée]
    [courent|courrent] [d’|de] [>air|>eau|Foucault|>marée|>surface]
        <<- /conf/ not value(<1, "|ils|elles|iels|ne|eux|") -1>> courant     # Confusion probable. Écrivez “courant”.|https://fr.wiktionary.org/wiki/courant

TEST: Un fort {{courent}} électrique
TEST: il y a un {{courent}} d’air dans cette salle.


# coûter cher
__conf_coûter_cher__
    [>coûter|>couter|>louer|>payer|>prendre|>valoir|>vendre] [chers|chère|chères]
        <<- /conf/ -2>> cher                                        # Ici, « cher » est un adverbe, invariable.

    [>coûter|>couter|>louer|>payer|>prendre|>valoir|>vendre] [>chair|>chaire]
        <<- /conf/ -2>> cher                                        # Confusion. Pour parler de la cherté, écrivez “cher”.

TEST: ces saloperies coûtent vraiment {{chères}} !
TEST: elles payent {{chairs}} !


# chair / chère
__conf_faire_bonne_chère__
    >faire  >bonne  [cher+s|chères|>chair|>chaire]
        <<- /conf/ -2:3>> bonne chère                   # Confusion. « Faire bonne chère » signifie bien manger, ripailler.

TEST: ils ont fait {{bonne chaire}}.


# chant / champ
__conf_Chandeleur__
    la [>chant|>chan|>champ] de l’ [heur|heure|eurent]
        <<- /conf/ -2:0>> Chandeleur                    # Confusion : la Chandeleur est une fête.|http://fr.wikipedia.org/wiki/Chandeleur

TEST: C’est {{la}} {{champ de l’heur}}.


__conf_champ_chant__
    >chant de [>blé|>betterave|>fleur|maïs|mais|>tournesol|>tulipe|>force|>lavande]
        <<- /conf/ -1>> =\1.replace("nt", "mp")         # Confusion probable. Un chant est ce qui se chante.|http://fr.wiktionary.org/wiki/champ

TEST: Il traversa le {{chant}} de betteraves.


# colon / côlon
__conf_côlon_colon__
    cancer du colon
        <<- /conf/ -3>> côlon                           # Confusion : le côlon est un segment du gros intestin, le colon colonise.

TEST: Il a le cancer du {{colon}}.


# censé / sensé
__conf_censé_sensé__
    >être >sensée [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]        $:Y
    >être >sensée ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    $:Y
    >être >sensée ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y]           $:Y
    >être >sensée ?[ne|n’]¿ [le|la|l’|les]                [lui|leur|en|y]               $:Y
    >être >sensée ?[ne|n’]¿ [lui|leur]                    en                            $:Y
    >être >sensée $:Y
    >être >sensée ne [pas|plus|jamais|rien|guère|point]
        <<- /conf/ not value(<1, "|l’|un|les|des|ces|")
        -2>> =\2.replace("sens", "cens").replace("Sens", "Cens").replace("SENS", "CENS")            # Confusion : “sensé” se dit de quelqu’un de “bon sens”. Pour ce qui est attendu, écrivez “censé”.

TEST: Ils sont {{sensés}} y parvenir.
TEST: Elles étaient {{sensés}} m’y conduire
TEST: il est {{sensé}} prendre l’avion demain
TEST: Un être sensé ne ferait jamais ça.

    >censée  <end>
        <<- /conf/ -1>> =\1.replace("cens", "sens").replace("Cens", "Sens").replace("CENS", "SENS")  # Confusion probable. Ce qui est “sensé” (de “bon sens”) et ce que chacun est “censé” accomplir.

TEST: Ce sont pourtant des gens si {{censés}}
TEST: Ils n’y voyaient rien de sensé.


# chœur / cœur
__conf_choeur_coeur2__
    [>ânonner|>attaquer|>brailler|>chanter|>conter|>contre-attaquer|>déclamer|>dire|>expliquer|>narrer|>parler|>raconter|>répéter|>répliquer|>répondre|>rétorquer] en >cœur
        <<- /conf/ -3>> chœur                                   # Confusion probable. Pour désigner un ensemble parlant ou chantant, écrivez “chœur”.|https://fr.wiktionary.org/wiki/ch%C5%93ur

    [>apprendre|>connaitre|>connaître|>répéter|>réciter|>savoir] par >chœur
        <<- /conf/ -3>> cœur                                    # Confusion. Pour évoquer ce qu’on connaît parfaitement de mémoire, écrivez “par cœur”.|https://fr.wiktionary.org/wiki/ch%C5%93ur

TEST: ils répondirent en {{cœur}}.
TEST: elles connaissaient par {{chœur}} la chanson.


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

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

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


# corps / cor
__conf_corps_cor2__
    >faire >cor
        <<- /conf/ -2>> corps                               # Confusion probable. Le cor est un instrument à vent.|https://fr.wiktionary.org/wiki/faire_corps

TEST: Faisons {{cor}} avec lui !


# côté / coté
__conf_côté_coté__
    [à|au|aux|>autre|bon|bons|mauvais|le|les|de|d’|ce|ces|du|mon|ton|son|mes|tes|ses|notre|votre|chaque|un|leur|leurs|quel|quels|quelques|plusieurs] [coté|cotés|cotée|cotées]
        <<- /conf/ -2>> côté|côtés                          # Confusion : “coté” est le participe passé du verbe “coter”.

TEST: Je reste à ses {{cotés}}.


# cote / côte / cotte
__conf_côte_cote_cotte__
    [>cote|>cotte] [de|d’] [>bœuf|>porc|>veau|Bretagne|>agneau|>albâtre|>Armor|>azur|>ivoire|>or|>opale|>émeraude]
    [>cote|>cotte] [>surnuméraire|>rocheuse|>adriatique|>américaine|>californienne|>atlantique|>basque|>bretonne|>landaise|>normande|>française|>belge|>espagnole|>italienne|>portugaise|>africaine|>méditerranéenne|>pacifique|>raide|>occidentale|>fractale|nord|sud|ouest]
        <<- /conf/ -1>> =\1.replace("o", "ô").replace("tt", "t")                    # Confusion : écrivez “côtes” pour les os du thorax et les rivages.|https://fr.wiktionary.org/wiki/c%C3%B4te

    [>cote|>cotte] [>briser|>casser|>fêler|>fracturer]
        <<- /conf/ morph(\2, ":A") -1>> =\1.replace("o", "ô").replace("tt", "t")    # Confusion : écrivez “côtes” pour les os du thorax et les rivages.|https://fr.wiktionary.org/wiki/c%C3%B4te

    [>fracture|>radiographie] des [>cote|>cotte]
        <<- /conf/ -3>> côtes                                       # Confusion : écrivez “côtes” pour les os du thorax.|https://fr.wiktionary.org/wiki/c%C3%B4te

    [>côte|>cotte] [>mobilière|>foncière]
    [>côte|>cotte] [de|d’] [niveau|popularité|confiance|alerte|altitude|amour]
        <<- /conf/ -1>> =\1.replace("ô", "o").replace("tt", "t")    # Confusion : utilisez « cote » pour chiffrer (cotation).|http://fr.wiktionary.org/wiki/cote

    [>cote|>côte] de >maille
        <<- /conf/ -1>> =\1.replace("ô", "o").replace("t", "tt")    # Confusion : écrivez « cotte » pour la cotte de mailles.|https://fr.wiktionary.org/wiki/cotte_de_mailles

    >avoir la côte
    >avoir la cotte [@:[RCO]|,|<end>]
        <<- /conf/ -3>> cote                                        # Confusion probable : utilisez “cote” (cotation).|http://fr.wiktionary.org/wiki/cote

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

TEST: Rien ne vaut une bonne {{cote}} de bœuf.
TEST: Elle avait les {{cotes}} cassées.
TEST: Elles ont passé une radiographie des {{cottes}}.
TEST: Quelle est sa {{côte}} de popularité
TEST: il a réussi à percer sa {{cote}} de mailles.
TEST: Il a la {{côte}} auprès de ses collègues
TEST: ils sont {{cotte à cotte}}
TEST: on a atteint la cote d’alerte.
TEST: Elles avançaient côte à côte.


# cou / coup / coût
__conf_coup_cout_cou2__
    >rouer de [>cou|>cout|>coût]
        <<- /conf/ --1>> coups              # Confusion. Le coût indique ce que ça coûte. Un cou est la partie séparant la tête du corps. Pour ce qui frappe, écrivez “coup”.

    >tordre le [coup|coût|cout]
        <<- /conf/ -3>> cou                 # Confusion. Le coût indique ce que ça coûte. Un coup, c’est quelque chose qui frappe. La partie séparant la tête du corps s’écrit “cou”.

    >rendre [>cou|>coût|>cout] pour [>cou|>coût|>cout]
        <<- /conf/ -2:0>> coup pour coup    # Confusion. Le coût indique ce que ça coûte. Un cou est la partie séparant la tête du corps. Pour ce qui frappe, écrivez “coup”.

TEST: il a été roué de {{cou}}
TEST: Je vais tordre le {{coup}} à toutes ces idées stupides, une par une.
TEST: Implacable, elle a rendu {{cout pour cout}} sans se départir de son calme.


# date / datte
__conf_date_datte2__
    [>confiture|>crème|>gâteau|>mélasse|>noyau|>pâte|>recette|>sirop] de >date
    [moelleux|>gâteau|>fondant|>cake] [au|aux]  >date
        <<- /conf/ -3>> dattes                                                          # Confusion probable. Pour parler du fruit, écrivez “datte”.|https://fr.wiktionary.org/wiki/datte

    >date [>muscade|medjool|hamraya|deglet-nour|kenta|allig|khouat]
        <<- /conf/ -1>> =\1.replace("t", "tt").replace("T", "TT")                       # Confusion probable. Pour parler du fruit, écrivez “datte”.|https://fr.wiktionary.org/wiki/datte

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

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

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

TEST: il va faire un cake aux {{dates}}.
TEST: elle a fait de la confiture de {{dates}}
TEST: Des {{dates}} fraîches.
TEST: des {{dates}} dénoyautées.
TEST: une {{date}} muscade
TEST: c’est la dernière en {{datte}}.
TEST: quelle est la {{datte}} de l’accouchement
TEST: Quelle est la {{datte}} du décès.
TEST: Quellle est la dernière en {{datte}}
TEST: Elles étaient à cette date cultivées à l’air libre.
TEST: De fraîche date…


# délacer / délasser
__conf_délacer_délasser__
    >délasser  $:D  [>basket|>camisole|>chaussure|>corsage|>corset|>godasse|>godillot|>grolle|>jupe|>pompe|>lacet|>ranger|>robe|>soulier|>voile]
        <<- /conf/ -1>> =\1.replace("ssa", "ça").replace("ss", "c")                                 # Confusion probable. Pour défaire des lacets, des nœuds, etc., écrivez “délacer”.

    [>basket|>camisole|>chaussure|>corsage|>corset|>godasse|>godillot|>grolle|>jupe|>pompe|>lacet|>ranger|>robe|>soulier|>voile]  >délasser
        <<- /conf/ morph(\-1, ":Q") --1>> =\1.replace("ssa", "ça").replace("ss", "c")               # Confusion probable. Pour défaire des lacets, des nœuds, etc., écrivez “délacer”.

TEST: Bon sang, il faut que tu {{délasses}} tes chaussures avant d’essayer de les enlever.
TEST: Ses souliers {{délassés}} la firent tomber.


# dénué / dénudé
__conf_dénué_dénudé__
    >dénuder  [de|d’]  ?[tout|tous|toute|toutes]¿  [>âme|>apitoiement|>ambiguïté|>ambition|>amour|>beauté|>cause|>charme|>charisme|>clarté|>compassion|>compétence|>confort|>connaissance|>conscience|>consistance|>constance|>contenu|>contrepartie|>crainte|>créativité|>culture|>cynisme|>défaut|>difficulté|>discrimination|>envergure|>intérêt|>émotion|>envergure|>esthétique|>éthique|>enjeu|>expertise|>expression|>faiblesse|>fantaisie|>finesse|foi|>fondement|>force|>gentillesse|>goût|>gout|>grâce|>grandeur|>haine|>honnêteté|>humanité|>idée|>imagination|>inspiration|>intelligence|>intention|>inventivité|>justice|>légitimité|>logique|>objectivité|>maturité|>méchanceté|>mérite|>motif|>moyenne|paix|>piété|>plan|>pertinence|>peur|>plaisir|>politesse|>préjugé|>principe|>professionnalisme|>psychologie|>qualité|>raison|>rancœur|>réalisme|>remord|>respect|>revendication|>rigueur|>risque|>sagesse|>savoir|>sens|>sentiment|>science|>scrupule|>soupçon|>stress|>subtilité|>sympathie|>tact|>talent|>tendresse|>toxicité|>tromperie|>valeur|>vertu|>vigueur|>violence|>vision]
        <<- /conf/ -1>> =\1.replace("nud", "nu").replace("NUD", "NU")
        # Confusion probable. Pour évoquer quelque chose “privé de \-1”, il faut employer le verbe “dénuer”.|https://fr.wiktionary.org/wiki/d%C3%A9nuer

TEST: C’est un homme {{dénudé}} de charme.
TEST: Un film {{dénudé}} de tout intérêt.
TEST: Une personne {{dénudée}} de toute compassion.
TEST: Une histoire {{dénudée}} d’intérêt.
TEST: Des hommes {{dénudés}} de compassion.


# desceller / déceler / desseller
__conf_erreur_déceler_desseller_desceller__
    [>erreur|>faute|>incohérence|>problème|>bug|>bogue|>faille|>maladie|>défaut|>défaillance|>perturbation|>irrégularité] <> [>desseller|>desceller]
        <<- /conf/ --1>> =\-1.replace("escell", "écel").replace("essell", "écel")
        # Confusion probable si ce verbe se rapporte à “\1”. Desceller signifie briser un sceau, un cachet… Desseller signifie ôter une selle. Si vous voulez dire “remarquer”, “dévoiler”, “découvrir”, écrivez “déceler”.|http://fr.wiktionary.org/wiki/déceler

    [>desseller|>desceller] [l’|@:[BD]] [>petite|>grande|>énorme|>dangeureuse|>formidable|>forte|>légère|>merveilleuse|>nouvelle|>vrai|>réelle|>sévère|>véritable] [>acidité|>activité|>allergie|>anévrisme|>anomalie|>arnaque|>appendicite|>atrophie|>baisse|>bébé|>blessure|>bug|>bogue|>carie|>cancer|>cause|>changement|>complot|>comète|>concentration|>corrélation|>croissance|>défaut|>défaillance|>demande|>dépression|>diabète|>différence|>diminution|>effluve|>épilepsie|>erreur|>essai|>existence|>grossesse|>grosseur|>faille|>faute|>fuite|>fraude|>grippe|>handicap|>hausse|>hémorragie|>hostilité|>hypertrophie|>incompatibilité|>incohérence|>infection|>infraction|>indice|>infidélité|>insuffisance|>intrigue|>irrégularité|>leucémie|>lésion|>lueur|>lumière|>maladie|>malformation|>manœuvre|>manipulation|>molécule|>mensonge|>mutation|>once|>perturbation|>personnalité|>piste|>perte|>planète|>exoplanète|>présence|>qualité|>odeur|>opportunité|>otite|>problème|>surdité|>talent|>tendance|>tentative|>tumeur|>utilisation|hoax|>variation|>vie|virus]
        <<- /conf/ -1>> =\1.replace("escell", "écel").replace("essell", "écel")
        # Confusion probable si ce mot se rapporte à “\3 \4”. Desceller signifie briser un sceau, un cachet… Desseller signifie ôter une selle.|http://fr.wiktionary.org/wiki/déceler

    [>desseller|>desceller] [l’|@:[BD]] [>acidité|>activité|>allergie|>anévrisme|>anomalie|>arnaque|>appendicite|>atrophie|>baisse|>bébé|>blessure|>bug|>bogue|>carie|>cancer|>cause|>changement|>complot|>comète|>concentration|>corrélation|>croissance|>défaut|>défaillance|>demande|>dépression|>diabète|>différence|>diminution|>effluve|>épilepsie|>erreur|>essai|>existence|>grossesse|>grosseur|>faille|>faute|>fuite|>fraude|>grippe|>handicap|>hausse|>hémorragie|>hostilité|>hypertrophie|>incompatibilité|>incohérence|>infection|>infraction|>indice|>infidélité|>insuffisance|>intrigue|>irrégularité|>leucémie|>lésion|>lueur|>lumière|>maladie|>malformation|>manœuvre|>manipulation|>molécule|>mensonge|>mutation|>once|>perturbation|>personnalité|>piste|>perte|>planète|>exoplanète|>présence|>qualité|>odeur|>opportunité|>otite|>problème|>surdité|>talent|>tendance|>tentative|>tumeur|>utilisation|hoax|>variation|>vie|virus]
        <<- /conf/ -1>> =\1.replace("escell", "écel").replace("essell", "écel")
        # Confusion probable si ce mot se rapporte à “\3”. Desceller signifie briser un sceau, un cachet… Desseller signifie ôter une selle.|http://fr.wiktionary.org/wiki/déceler

TEST: il faut régler les problèmes {{descellés}} dans le code de l’analyseur syntaxique.
TEST: il y a une erreur qu’on peut {{desceller}} dans ses analyses.
TEST: elle a {{dessellé}} une forte hostilité dans ses propos.
TEST: elle a {{dessellé}} deux problèmes.


# en train / entrain
__conf_en_train_entrain__
    entrain
        <<- /conf/ morph(<1, ">(?:être|voyager|surprendre|venir|arriver|partir|aller)/") or before("-(?:ils?|elles?|on|je|tu|nous|vous) +$")
        ->> en train                                        # Confusion. L’entrain est une fougue, une ardeur à accomplir quelque chose.|https://fr.wiktionary.org/wiki/entrain

TEST: Vous êtes {{entrain}} de vaincre.
TEST: Viennent-ils {{entrain}} ?
TEST: ces idiots sont en train de tout foutre en l’air.

    en train
        <<- /conf/ value(<1, "|avec|sans|quel|quelle|quels|quelles|cet|votre|notre|mon|leur|l’|d’|")
        ->> entrain                                         # Confusion. Soudez les deux mots. L’entrain est une fougue, une ardeur à accomplir quelque chose.|https://fr.wiktionary.org/wiki/entrain

TEST: Avec quel {{en train}}, ils nous ont mené jusque là-haut.
TEST: Son manque d’{{en train}} était contagieux.
TEST: c’est l’{{en train}} de cette jeune femme qui force l’admiration de tout le monde.
TEST: Elles travaillaient avec entrain, conscientes que la fin était proche.


# dû / du
__ppas_dû_du2__
    du  [à|a|au|aux]
        <<- /ppas/ \2.islower() -1>> dû                     # Confusion. Ce qui est dû.

TEST: L’échec est {{du}} en partie à un manque de préparation.


# éminent / imminent
__conf_éminent_imminent__
    >imminente [>actrice|>confrère|>collègue|>dirigeante|>dissidente|>entrepreneuse|>experte|>défenseuse|>intellectuelle|>mathématicienne|>musicienne|>pédiatre|>personalité|>personnage|>professeur|>physicienne|>rabbin|>représantante|>savante|>chirurgienne|>neurochirurgienne|>scientifique|>service|>spécialiste|~logues?$|~istes?$]
        <<- /conf/ -1>> =\1.replace("imm", "ém").replace("Imm", "Ém")
        # Confusion probable. Si “\1” se rapporte à “\2”, alors vous voulez probablement dire “éminent” ; “imminent” signifie “qui va survenir prochainement”.|https://fr.wiktionary.org/wiki/%C3%A9minent

    [>actrice|>confrère|>collègue|>dirigeante|>dissidente|>entrepreneuse|>experte|>défenseuse|>intellectuelle|>mathématicienne|>musicienne|>pédiatre|>personalité|>personnage|>professeur|>physicienne|>rabbin|>représantante|>savante|>chirurgienne|>neurochirurgienne|>scientifique|>service|>spécialiste|~logues?$|~istes?$] >imminente
        <<- /conf/ morph(<1, ":D") -2>> =\2.replace("imm", "ém").replace("Imm", "Ém")
        # Confusion probable. Si “\2” se rapporte à “\1”, alors vous voulez probablement dire “éminent” ; “imminent” signifie “qui va survenir prochainement”.|https://fr.wiktionary.org/wiki/%C3%A9minent

    [>accouchement|>accord|>arrivée|>assaut|>attaque|>atterrissage|>cataclysme|>catastrophe|>changement|>conflit|>crash|>danger|>décollage|>départ|>désarmement|>déclenchement|>effondrement|>éruption|>fin|>guerre|>lancement|>orage|>ouragan|>péril|>remaniement|>réponse|>résultat|>retour|>séisme|>tempête|>tsunami|>verdict] ?>être¿ >éminente
        <<- /conf/ --1>> =\-1.replace("émi", "immi").replace("Émi", "Immi")
        # Confusion probable. Si “\-1” se rapporte à “\1”, alors vous voulez probablement dire “imminent” ; “éminent” signifie “notable”.|https://fr.wiktionary.org/wiki/%C3%A9minent

TEST: mon {{imminent}} collègue.
TEST: Les scientifiques les plus {{imminents}}.
TEST: l’accouchement est {{éminent}}.
TEST: Mon {{imminent}} collègue.
TEST: Un paléontologue {{imminent}}.
TEST: L’arrivée est imminente.
TEST: Des paléontologues éminents.
TEST: aucune menace terroriste imminente


# enduire / induire
__conf_enduire_induire__
    >enduire en [>erreur|>tentation]
        <<- /conf/ -1>> =\1.replace("end", "ind").replace("End", "Ind").replace("END", "IND")       # Confusion probable. “Enduire” signifie “appliquer un enduit”.|https://fr.wiktionary.org/wiki/induire

    en >avoir enduit [que|qu’]
        <<- /conf/ -3>> =\3.replace("end", "ind").replace("End", "Ind").replace("END", "IND")       # Confusion probable. “Enduire” signifie “appliquer un enduit”.|https://fr.wiktionary.org/wiki/induire

    >induire $:D¬>de/ [bras|>façade|>cuisse|>fond|>jambe|>lèvre|>main|>mollet|>mur|>ongle|>paroi|>peau|>pied|>plafond|>porte|>sol|>toit|>tuile|>verre|>visage]
    >induire [de|le|ce|cet] [beurre|caramel|ciment|chocolat|gel|goudron|miel|mortier|nutella|plâtre|rouge|téflon|sang|savon|suif|vernis]
    >induire [de|la|cette] [boue|chaux|cire|colle|crême|couche|glu|graisse|lotion|pâte|peinture|pommade|résine|salive|vaseline]
        <<- /conf/ -1>> =\1.replace("ind", "end").replace("Ind", "End").replace("IND", "END")       # Confusion probable. Pour “appliquer un enduit”, écrivez “enduire”.|https://fr.wiktionary.org/wiki/induire

TEST: Il l’avait {{enduit}} en erreur par des affirmations calomnieuses.    ->> induit
TEST: Elle en avait {{enduit}} qu’il y avait anguille sous roche.           ->> induit
TEST: Nous avons {{induit}} la façade.                                      ->> enduit
TEST: il faut {{induire}} cette boue sur son visage.                        ->> enduire


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

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

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

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

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

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

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

TEST: la grande {{maintien}} sa version.                        ->> maintient
TEST: cette femme {{entretien}} sa santé                        ->> entretient
TEST: ce que le patron {{soutien}}                              ->> soutient
TEST: leur patronne {{soutien}} la réforme                      ->> soutient
TEST: le petit homme {{maintien}} fermement son pantalon        ->> maintient
TEST: une grande déclaration {{entretien}}                      ->> entretient
TEST: notre exubérante existence {{maintien}} notre santé       ->> maintient
TEST: notre vie exubérante {{maintien}} notre santé             ->> maintient
TEST: c’est un homme qui {{entretien}} sa forme                 ->> entretient
TEST: le petit entretien le paralysait


# envi / envie
__conf_à_l_envi__
    à l’ envie
        <<- /conf/ not morph(<1, ">(?:abandonner|céder|résister)/") and not value(>1, "|de|d’|")
        -3>> envi                                           # Locution adverbiale « à l’envi », signifiant « autant que possible ».

TEST: Ils s’amusèrent à l’{{envie}} et oublièrent tous leurs soucis.
TEST: Je résiste à l’envie de manger du chocolat.
TEST: On ne s’intéresse pas à l’école ni à l’âge, mais aux compétences et à l’envie de partager.


# et / est
__conf_est_et__
    <start>  [le|la|l’|ce|cet|cette|mon|ma|ta|sa|notre|votre|leur|quel|quelle]  *WORD  ?[lui|leur|nous|vous]¿  et  *WORD  <end>
        <<- /conf/ morph(\3, ":[NA].*:[is]", ":G") and morph(\-2, ":[QA]", ":M") and \-2.islower()
        --3>> est                               # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”.

    <start>  [son|ton]  *WORD  ?[lui|leur|nous|vous]¿  et  *WORD  <end>
        <<- /conf/ morph(\3, ":N.*:[is]", ":[GA]") and morph(\-2, ":[QA]", ":M") and \-2.islower()
        --3>> est                               # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”.

    <start>  *WORD  ?[lui|leur|nous|vous]¿  et  *WORD  <end>
        <<- /conf/ morph(\2, ":M", ":[GA]") and morph(\-2, ":[QA]", ":M") and \-2.islower()
        --3>> est                               # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”.

TEST: ce chien {{et}} malade.
TEST: ton chat {{et}} cinglé.
TEST: Pauline {{et}} fatiguée.
TEST: ton implacable et amère !
TEST: son cristallin et aigu
TEST: Les pays ibériques et scandinaves ont signé le traité.
TEST: Les gouvernements espagnol et mexicain ont signé le traité.
TEST: Béatrice Dalle et Claude.
TEST: Martial et inflexible.


__conf_où_est__
    où  et  @:D¬:R|>(?:quell?e?s?|de)/
        <<- /conf/-2>> est                      # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”.

TEST: où {{et}} cet ennemi ?
TEST: où {{et}} l’homme qui est passé ce matin ?
TEST: Je veux savoir où et quand, où et pouquoi.
TEST: où et avec qui ?
TEST: je veux savoir où et lequel je dois flinguer


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

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

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

TEST: Ce mec {{été}} un connard fini.                                               ->> était
TEST: Quelle solution {{été}} à notre portée ?                                      ->> était
TEST: Les questions {{étés}} incompréhensibles.                                     ->> étaient
TEST: Le bel été indien que nous avons cette année.
TEST: Quel a été le déclencheur de cet ouvrage ?


# faim / fin
__conf_faim_fin__
    >avoir >fin
    [>rester|>demeurer] sur [ma|ta|sa|notre|votre|leur|leurs] >fin
        <<- /conf/ --1>> faim                                               # Confusion. Pour évoquer l’envie de se sustenter, écrivez “faim”.

    >prendre >faim
        <<- /conf/ -2>> fin                                                 # Confusion. Écrivez “prendre fin” pour évoquer ce qui se termine.

TEST: avec ça, cet emmerdeur restera sur sa {{fin}}
TEST: Elle avait {{fin}}
TEST: Ton ère va bientôt prendre {{faim}}.


# faite / faîte / fait
__conf_faites_faîte_fait__
    vous [ne|me|leur|lui|nous|vous] >faîte
    vous >faîte
        <<- /conf/ --1>> faites                                             # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose.

    faîtes vous
        <<- /conf/ not morph(<1, ":D.*:[me]:[sp]") ->> faites-vous          # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose.

    [>avoir|>être]  >faîte
        <<- /conf/ -2>> =\2.replace("î", "i")                               # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose.

TEST: Vous nous {{faîtes}} mal.
TEST: Comment {{faîtes vous}} ça ?
TEST: Elles sont {{faîtes}} comme ça.
TEST: Elle est souvent {{faîte}} de cette manière-là.
TEST: Vous {{faîtes}} mal !


    en [faite|>faîte]
        <<- /conf/ not tag_before(\1, "2p") ->> en fait                     # Confusion probable : « en fait » = « en réalité ».

TEST: {{en faite}}, on en voit partout, ça grouille.
TEST: ils sont {{en faîtes}} partis à la montagne.
TEST: Aujourd’hui, n’en faites pas trop.


# filtre / philtre
__conf_filtre_philtre2__
    >boire $:D >filtre
        <<- /conf/ -3>> philtre|philtres
        # Confusion probable. Un filtre est un intrument de filtrage, un philtre est une boisson (magique) procurant des effets sur le buveur.|https://fr.wiktionary.org/wiki/philtre

TEST: il but un {{filtre}}.


# flanc / flan
__conf_flanc_flan2__
    >blesser au flan
    [>attaquer|>contre-attaquer] ?[sur|sous|à|contre]¿ $:D >flan
        <<- /conf/ --1>> =\-1.replace("n", "nc").replace("N", "NC")         # Confusion probable. Le flan est une pâtisserie. Pour évoquer un côté, une partie latérale, écrivez “flanc”.

TEST: Il avait été blessé au {{flan}}.
TEST: Elle lança une contre-attaque sur son {{flan}}.


# flamant rose
__conf_flamant_rose__
    >flamande >rose
        <<- /conf/ -1>> =\1.replace("and", "ant")                           # Confusion. Flamand = habitant des Flandres. Flamant = oiseau.

TEST: j’ai vu un {{flamand}} rose.


# foi / fois / foie
__conf_foi_fois__
    [de|la|cette|une] mauvaise [fois|>foie]
    [ma|ta|sa] fois
        <<- /conf/ --1>> foi                                                # Confusion probable.|http://fr.wiktionary.org/wiki/foi

    sans [fois|>foie] ni >loi
        <<- /conf/ -2>> foi                                                 # Confusion probable.|http://fr.wiktionary.org/wiki/foi

    bonne [fois|>foie]
        <<- /conf/ not (value(<1, "|une|") and after("(?i)^ +pour toute") )
        -2>> foi                                                            # Confusion probable.|http://fr.wiktionary.org/wiki/foi

    [>faire|>perdre|>donner|>avoir]  [fois|>foie]
    >avoir  la  [fois|>foie]
        <<- /conf/ --1>> foi                                                # Confusion probable.|http://fr.wiktionary.org/wiki/foi

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

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

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


# fond / fonds / fonts
__conf_fond_fonds_fonts__
    [>collecte|>levée|>extorsion|>détournement] de [fond|fonts]
    >collecter des fonts
        <<- /conf/ -3>> fonds                   # Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).

    à [fond|fonts] [perdu|perdus|perdue|perdues]
        <<- /conf/ ->> à fonds perdus           # Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).

    [fond|fonts] [>monétaire|spéculatif|spéculatifs|>internationale]
    [fond|fonts] [de|d’] [commerce|garantie|roulement|pension|placement|retraite|roulement|solidarité]
    [fond|fonts] d’ [aide|investissement|indemnisation]
        <<- /conf/ -1>> fonds                   # Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).

    fonds baptismaux
        <<- /conf/ -1>> fonts                   # Confusion. Écrivez “fonts”, qui vient du latin “fons” et signifie « fontaine, source ».

TEST: faire une levée de {{fond}}.
TEST: jouer {{à fond perdu}}
TEST: elle a vendu son {{fond}} de commerce
TEST: il a reçu de l’argent d’un {{fond}} d’investissement
TEST: les {{fonds}} baptismaux.


# glaciaire / glacière
__conf_glacière_glaciaire__
    >glaciaire
        <<- /conf/ morph(<1, ":D.*:(?:f|e:p)")
        ->> =\1.replace("iai", "iè")                # Confusion : “glaciaire” est un adjectif. Le contenant préservant le froid s’écrit “glacière”.

    [>accumulation|>âge|>age|>aire|>alluvion|amas|>amphithéâtre|>auge|>calotte|>cirque|>cycle|>dépôt|>dynamique|>écoulement|>ère|>érosion|>faune|>formation|>géologie|>grotte|>lac|>moraine|>obturation|>origine|>période|>rando|>randonnée|>relief|>retrait|>régression|>sédimentation|>séisme|>spéléo|>spéléologie|>strie|temps|>vallée|>verrou] >glacière
        <<- /conf/ -2>> =\1.replace("iè", "iai")    # Confusion : une glacière est un contenant préservant le froid. L’adjectif s’écrit “glaciaire”.

TEST: Autrefois, il y eut plusieurs ères {{glacières}}.
TEST: dans la {{glaciaire}}
TEST: Passe-moi la glacière, s’il te plaît.


# gène / gêne
__conf_gène_gêne__
    sans >gène
    sans-gènes
    sans-gène
        <<- /conf/ ->> sans-gêne                    # Confusion. Les gènes sont des éléments des chromosomes. Pour le synonyme d’embarras, écrivez “gêne”.

    [ces|des|mes|tes|ses|nos|vos|leurs] gênes
         <<- /conf/ -2>> gènes                      # Confusion probable. La gêne est un embarras. Pour parles des éléments des chromosomes, écrivez “gènes”.

TEST: Quel {{sans gène}}, celui-là !
TEST: Il croit que ses {{gênes}} décident de sa santé…


# gent [nf] / gent(e)(s) [adj]
__conf_gent__
    la gente [féminine|masculine]
        <<- /conf/ -2>> gent                        # Confusion. « Gente » est un adjectif vieilli. Utiliser « gent » pour désigner un groupe de personnes.

TEST: la {{gente}} masculine est grossière et l’a toujours été.


# golf / golfe
__conf_golf_golfe2__
    >jouer au golfe
        <<- /conf/ -3>> golf                        # Confusion. Un golfe est une zone maritime qui avance dans les terres. Pour le sport, écrivez “golf”.

TEST: il joue au {{golfe}} tous les jours.
TEST: Jouer au golf.


# goutte / goûte
__conf_goûte_goutte__
    [goûte|goûtes|goute|goutes] [de|d’] [alcool|acide|amour|bière|eau|folie|huile|javel|lait|liquide|mercure|miel|peinture|pluie|rhum|rosée|salive|sang|semence|sperme|sueur|urine|vin|vinaigre|whisky]
        <<- /conf/ -1>> =\1.replace("û", "u").replace("t", "tt")
        # Confusion : “goûter” signifie utiliser le sens du goût. Pour une petite quantité de liquide, écrivez “goutte”.|https://fr.wiktionary.org/wiki/goutte

    >passer entre les [goûte+s|goute+s]
        <<- /conf/ --1>> gouttes                    # Confusion. Une particule de fluide s’écrit “goutte”.|https://fr.wiktionary.org/wiki/goutte

TEST: Une {{goûte}} de pluie
TEST: tu sais, les {{goutes}} de pluie, ça mouille.
TEST: ouf, on est passé entre les {{goûtes}}…
TEST: Des gouttes de pluie.


__conf_goûter_goutter_dégoûter_dégoutter__
    >goutter ?à¿ $:D [>biscuit|>bière|>bon|>bonbon|>breuvage|>burger|>café|>cidre|>cocktail|>chocolat|>crêpe|>cru|>délice|>délicieuse|>délicieuse|>dessert|>fameux|>fameuse|>féculent|>fromage|>fruit|>gâteau|>hamburger|>légume|>nourriture|paradis|>pâte|>pain|>plat|>pâtisserie|>poisson|>poulet|>recette|repas|>sandwich|>soupe|>tarte|>tartelette|>sauce|>succulente|>thé|>viande|>vin|>yaourt|>yoghourt]
        <<- /conf/ -1>> =\1.replace("outt", "oût").replace("OUTT", "OÛT")
        # Confusion : “goutter” signifie “couler goutte à goutte”. Pour l’usage du goût, écrivez “goûter”.|https://fr.wiktionary.org/wiki/go%C3%BBter

    [>chiotte|>clim|>climatisation|>chauffe-eau|>douche|>eau|>évier|>lavabo|nez|>motrice|>parapluie|>plafond|>pluie|>robinet|>sang|>sueur|>toilette|>toit|>tuyau|>tuyauterie] ?[ne|n’]¿ [>goûter|>gouter|>dégoûter|>dégouter]
        <<- /conf/ --1>> =\-1.replace("oût", "outt").replace("OÛT", "OUTT").replace("out", "outt").replace("OUT", "OUTT")
        # Confusion : “goûter” signifie utiliser le sens du goût. Pour ce qui s’écoule goutte à goutte, écrivez “goutter”.|https://fr.wiktionary.org/wiki/goutter

    [me|te|se]                                      >dégoutter
    [m’|t’|l’|nous|vous|les]                        >avoir  >dégoutter
    [je|tu|il|elle|on|nous|vous|ils|elles|iel|iels] >être   >dégoutter
        <<- /conf/ --1>> =\-1.replace("outt", "oût").replace("OUTT", "OÛT")
        # Confusion probable : “dégoutter” signifie “couler goutte à goutte”. Pour évoquer le dégoût, écrivez “dégoûter”.|https://fr.wiktionary.org/wiki/dégo%C3%BBter

    nous                                            >dégoutter
        <<- /conf/ not morph(\-1, ":1p") --1>> =\-1.replace("outt", "oût").replace("OUTT", "OÛT")
        # Confusion probable : “dégoutter” signifie “couler goutte à goutte”. Pour évoquer le dégoût, écrivez “dégoûter”.|https://fr.wiktionary.org/wiki/dégo%C3%BBter

    vous                                            >dégoutter
        <<- /conf/ not morph(\-1, ":2p") --1>> =\-1.replace("outt", "oût").replace("OUTT", "OÛT")
        # Confusion probable : “dégoutter” signifie “couler goutte à goutte”. Pour évoquer le dégoût, écrivez “dégoûter”.|https://fr.wiktionary.org/wiki/dégo%C3%BBter

TEST: {{Goutte}} ces sandwichs.
TEST: le robinet {{goûte}}
TEST: Le toit ne {{goûte}} plus.
TEST: Ça me {{dégoutte}}.
TEST: Il m’a {{dégoutté}} des maths.
TEST: nous {{dégoutte}}, cette mauvaise foi.
TEST: vous {{dégouttait}} de continuer.
TEST: Ça l’avait dégoûté à vie.


# gré / grès
__conf_gré_grès__
    bon grès ?[,|ou]¿ mal grès
        <<- /conf/ ->> bon gré, mal gré|bon gré mal gré         # Confusion. Le grès est une roche détritique.

    au grès [de|du|d’|des]
        <<- /conf/ -2>> gré                                     # Confusion probable. Le grès est une roche détritique.

    de [grès|grés] [à|a] [grès|grés]
        <<- /conf/ ->> de gré à gré                             # Confusion. Locution “de gré à gré”.|https://fr.wiktionary.org/wiki/de_gr%C3%A9_%C3%A0_gr%C3%A9

    de [grès|grés] ou de force
        <<- /conf/ -2>> gré                                     # Confusion. Le grès est une roche détritique.

    de [bon|mauvais|plein] [grès|grés]
    de [mon|ton|son|notre|votre|leur] plein grès
        <<- /conf/ --1>> gré                                    # Confusion. Le grès est une roche détritique.

    [à|contre|selon] [mon|ton|son|notre|votre|leur] grès
        <<- /conf/ -3>> gré                                     # Confusion probable. Le grès est une roche détritique.

    >savoir [grès|grés]
        <<- /conf/ -2>> gré                                     # Confusion. Locution “savoir gré” pour manifester sa satisfaction.|https://fr.wiktionary.org/wiki/savoir_gr%C3%A9

    >prendre en [grès|grés]
        <<- /conf/ -3>> gré                                     # Confusion. Locution “prendre en gré” pour dire “recevoir avec résignation”.|https://fr.wiktionary.org/wiki/prendre_en_gr%C3%A9

    >être [>gré|grès]
        <<- /conf/ -1>> _                           # Confusion probable. On dit “savoir gré” et non “être gré”. Ou bien, écrivez “être reconnaissant”.|https://fr.wiktionary.org/wiki/savoir_gr%C3%A9
        <<- /conf/ -2>> reconnaissant               # Confusion probable. On dit “savoir gré” et non “être gré”. Ou bien, écrivez “être reconnaissant”.|https://fr.wiktionary.org/wiki/savoir_gr%C3%A9

TEST: il en sera fait à votre {{grès}}
TEST: Il est venu contre son {{grès}}.
TEST: un accord {{de grès à grès}}
TEST: Il viendra de bon {{grès}} ou de mauvais {{grès}}.
TEST: Errer au {{grès}} des vents.
TEST: Errer au {{grès}} du vent.
TEST: Il acceptera de {{grès}} ou de force.
TEST: nous vaincrons, {{bon grès mal grès}}
TEST: je vous en sais {{grès}}…
TEST: Il faut prendre en {{grès}} les afflictions que Dieu nous envoie.
TEST: Je lui en {{suis}} {{gré}}.


# jeune / jeûne
__conf_jeûne_jeune__
    >jeune du [carême|ramadan]
    >jeune [alimentaire|eucharistique|rituel|sacramentel]
        <<- /conf/ -1>> =\1.replace("u", "û").replace("U", "Û")         # Confusion. Pour les privations alimentaires, écrivez “jeûne”.|https://fr.wiktionary.org/wiki/je%C3%BBne

    >jeûne [>adolescente|>adulte|>âge|>épousée|>épouse|>femme|>fille|gars|>garçon|gens|>homme|>mariée|>mari|>enfant|>bébé|>chienne|>chiot|>chat|>célibataire|>étudiante|>lycéenne|>élève|>écolière|>diplômée|>prodige|>couple|>papa|>maman|>père|>mère|>conne|>génération|>médecin|>travailleuse]
        <<- /conf/ -1>> =\1.replace("û", "u").replace("Û", "U")                                              # Confusion. Le jeûne est une privation alimentaire.|https://fr.wiktionary.org/wiki/jeune

TEST: il accomplit le {{jeune}} rituel
TEST: de {{jeûnes}} adultes
TEST: les {{jeûnes}} travailleurs du nouveau centre commercial


# levée / lever
__conf_lever_levée__
    [lever|levers|levé|levés] de >fond
        <<- /conf/ ->> levée de fonds|levées de fonds           # Confusion. Exemple : une levée de fonds, un lever de soleil.

    >levée [de|du] [rideau|soleil]
        <<- /conf/ -1>> lever|levers                            # Confusion. Exemple : une levée de fonds, un lever de soleil.

TEST: {{levée}} de soleil
TEST: Faisons des {{levers de fond}}


# lever un lièvre / soulever
__conf_lever_un_lièvre__
    >soulever [un|le|des|les|quelques|plusieurs] >lièvre
        <<- /conf/ -1>> =\1[3:]                                 # Expression impropre. On écrit « lever un lièvre ».|http://fr.wiktionary.org/wiki/lever_le_li%C3%A8vre

TEST: j’ai {{soulevé}} un lièvre, là !


# lieux / lieues / lieus
__conf_lieux_lieues_lieus__
    [>assurance|>état|>visite|>maîtresse|>maitresse|>seigneur|>magie|>chef|>cheffe|>responsable|respect|entretien|propreté|>propriétaire|tranquillité|dans|vers|>plan] des [lieues|lieus]
        <<- /conf/ --1>> lieux                                  # Confusion probable. Pour désigner un endroit, écrivez “lieux”.|http://fr.wiktionary.org/wiki/lieu

    [>lieue|lieus] [>insolite|>accessible|>accueillante|>inaccessible|>inexplorée|>lointaine|>louche|>proche|>touristique|saint|saints|>connu|>inconnue|>mythique|>publique|prestigieux|>romantique|>stratégique|>historique|où|>humide|sec|secs]
    [>lieue|lieus] de [>communication|>concert|>conférence|>contemplation|>culte|>chasse|>détente|>détention|>départ|>méditation|>mémoire|>pouvoir|>prière|>prostitution|>sépulture|repos|>refuge|>stockage|>travail|>vacance|>spectacle|>conférence|>rassemblement|>sortie|>stationnement|>rencontre|>vacance|>villégiature]
        <<- /conf/ -1>> lieu|lieux                              # Confusion probable. Pour désigner un endroit, écrivez “lieu(x)”.|http://fr.wiktionary.org/wiki/lieu

    [>lieue|lieus] [>aménager|>abandonner|>insolite|>éloigner|>réserver|>sacrer|>connaître|>méconnaître|>privilégier|>priver]
        <<- /conf/ morph(\2, ":Q") -1>> lieu|lieux              # Confusion probable. Pour désigner un endroit, écrivez “lieu(x)”.|http://fr.wiktionary.org/wiki/lieu

    [>être|>demeurer|>déménager|>habiter|>trouver|>situer|>rester|>demeurer|>demeure|>vivre]  à  [quelques|plusieurs|maintes|*NUM|$:B]  [lieux|lieus]
        <<- /conf/ --1>> lieues                                 # Confusion probable. Pour désigner une distance, écrivez “lieues”.|http://fr.wiktionary.org/wiki/lieue

    [>être|>demeurer|>déménager|>habiter|>trouver|>situer|>rester|>demeurer|>demeure|>vivre]  à  des  [lieux|lieus]
        <<- /conf/ space_after(\2, 1, 4) --1>> lieues           # Confusion probable. Pour désigner une distance, écrivez “lieues”.|http://fr.wiktionary.org/wiki/lieue

    *NUM >lieu sous [la|les] >mer
    $:B  >lieu sous [la|les] >mer
        <<- /conf/ -2>> lieues                                  # Confusion. Pour désigner une distance, écrivez “lieue(s)”.|http://fr.wiktionary.org/wiki/lieue

    [lieux|>lieue] [>jaune|>noire|>mordre]
        <<- /conf/ -1>> lieu|lieus                              # Confusion probable. Si vous parlez du poisson, écrivez “lieu(s)”.|http://fr.wiktionary.org/wiki/lieu

    >pêche [aux|des] [lieux|lieues]
    >chair des [lieux|lieues]
        <<- /conf/ -3>> lieu|lieus                              # Confusion. Si vous parlez du poisson, écrivez “lieu(s)”.|http://fr.wiktionary.org/wiki/lieu

TEST: qui est le responsable des {{lieues}} ?
TEST: ce sont des {{lieus}} mythiques.
TEST: Des {{lieus}} historiques.
TEST: {{lieus}} abandonnés
TEST: ce sont des {{lieues}} de rencontre pour les jeunes.
TEST: elle habitait à quelques {{lieux}} d’ici
TEST: Cette réunion ayant eu {{lieue}} loin d’ici
TEST: vingt mille {{lieux}} sous les mers
TEST: habite à mille {{lieux}} d’ici
TEST: vivre à des {{lieux}} de sa famille
TEST: Les {{lieux}} mordent à notre leurre.
TEST: Techniques de traîne pour les {{lieux}} jaunes.
TEST: Faire un état des {{lieus}}.
TEST: vingt mille {{lieux}} sous la mer
TEST: des {{lieues}} jaunes
TEST: pêche aux {{lieux}}
TEST: Faire un état des lieux.
TEST: Les lieus mordent à notre leurre.
TEST: Les lieux historiques.
TEST: J’étais à mille lieues d’imaginer que c’était lui.
TEST: As-tu lu 20 000 lieues sous les mers ?
TEST: Techniques de traîne pour les lieus jaunes.
TEST: Ils pêchent des lieus.
TEST: Faire un état des lieux.
TEST: Les lieux de prière.
TEST: un immeuble situé à quelques centaines de mètres des lieux de la fusillade


# avoir/donner lieu
__conf_avoir_donner_lieu__
    [>avoir|>donner]  lieux
    >avoir ?[eu|eus|eue|eues]¿ lieux
        <<- /conf/ --1>> lieu                                           # Donner lieu, avoir lieu : “lieu” est invariable dans ces locutions verbales.

    [>avoir|>donner]  [>lieue|lieus]
    >avoir ?[eu|eus|eue|eues]¿ [>lieue|lieus]
        <<- /conf/ --1>> lieu                                           # Confusion. La lieue est une unité de distance. Les lieus sont des poissons.

TEST: ces conneries donneront {{lieux}} à une enquête approfondie.
TEST: Tout ce qui a {{lieue}} hors de ce pays est ignoré.
TEST: la répression extrêmement violente des diverses manifestations qui ont eu lieu depuis la fin du mois de novembre


# mare / marre
__conf_marre_mare__
    [la|une|cette|quelle|cette|ma|ta|sa] ?petite¿ marre
        <<- /conf/ --1>> mare                                   # Confusion. Pour parler d’une petite étendue d’eau, écrivez “mare”. En “avoir marre de” = “en avoir assez de”.

    en >avoir mare
        <<- /conf/ -3>> marre                                   # Confusion. Une mare est une petite étendue d’eau.

TEST: cette {{marre}} est presque sèche.
TEST: j’en ai {{mare}} de tout ça.
TEST: en avoir vraiment {{mare}} de ces conneries.


# mat / mât
__conf_mat_mât__
    >échec et >mât
        <<- /conf/ -3>> mat                                         # Confusion. Un mât est un poteau portant des voiles ou un drapeau.|https://fr.wiktionary.org/wiki/mat

    [grand|grands] [mat|mats|mas]
        <<- /conf/ -2>> =\2.replace("a", "â").replace("A", "Â")     # Confusion. Pour évoquer un poteau portant des voiles, écrive “mât”.|https://fr.wiktionary.org/wiki/mât

    [mat|mats|mas] [de|d’] [artimon|beaupré|branchement|cocagne|battage|fortune|hune|misaine|perroquet|perruche]
    [mat|mats|mas] en [>acier|>alu|>aluminium|bois|>carbone|>époxy|>fibre|>résine]
    [mat|mats|mas] du [bateau|catamaran|navire|trimaran|vaisseau|voilier]
    [mat|mats|mas] de la goélette
        <<- /conf/ -1>> =\1.replace("a", "â").replace("A", "Â")     # Confusion. Pour évoquer un poteau portant des voiles, écrive “mât”.|https://fr.wiktionary.org/wiki/mât

TEST: Échec et {{mât}}
TEST: le grand {{mat}}
TEST: {{Mat}} de misaine


# mâter / mater
__conf_mater_mâter__
    >mâter  $:D  [>adversaire|>armée|>cavalière|>cheval|>chienne|>conne|>connard|>connasse|>cul|>dame|>enfoirée|>emmerdeuse|>enfant|>ennemie|>enculée|>femme|>fesse|>fille|fils|>folle|>foule|>gamine|>garçonne|>homme|>horde|>incendie|>insurrection|>jument|>lionne|>nation|>peuple|>pion|>pute|>rebelle|>rebellion|>reine|>roi|>sein|>salope|>tigresse|>tour|>troupe]
        <<- /conf/ -1>> =\1.replace("ât", "at").replace("ÂT", "AT")
        # Confusion. “Mâter” signifie “dresser un mât”. Si vous voulez dire “dompter” (ou argotiquement “regarder”), écrivez “mater”.|https://fr.wiktionary.org/wiki/mater

    >mâter en [*NUM|$B] coups
        <<- /conf/ -1>> =\1.replace("ât", "at").replace("ÂT", "AT")
        # Confusion. “Mâter” signifie “dresser un mât”. Si vous voulez dire “dompter” ou “mettre en échec”, écrivez “mater”.|https://fr.wiktionary.org/wiki/mater

    >mater  $:D  [>aviron|>bateau|>canot|>catamaran|>goélette|>navire|>trimaran|>vaisseau|>voilier]
        <<- /conf/ -1>> =\1.replace("ât", "at").replace("ÂT", "AT")
        # Confusion. “Mater” signifie “dompter” ou (argotiquement) “regarder”. Si vous voulez dire “dresser un mât”, écrivez “mâter”.|https://fr.wiktionary.org/wiki/mâter

TEST: Elle va {{mâter}} ces emmerdeurs en moins de temps qu’il ne faut pour le dire.
TEST: il peut {{mâter}} en 3 coups
TEST: On va bientôt {{mater}} l’navire, p’tit.


# mi / mis / mie
__conf_mis_mi_mie__
    >avoir [mi|>mie]
        <<- /conf/ -2>> mis                                     # Confusion. Pour le participe passé de mettre, écrivez “mis”.

    [mi|>mie] en [>abyme|>bouteille|>cause|>demeure|>évidence|>examen|>fut|>fût|>image|>liquidation|>mémoire|>musique|>œuvre|>paiement|>place|>pièce|>quarantaine|>scène|>tonneau|>service|>valeur]
        <<- /conf/ -1>> mis                                     # Confusion. Pour le participe passé de mettre, écrivez “mis”.

    [mi|>mie] à [>jour|>pied|>disposition|>part|mal|>nu|>nue|>contribution|mort]
    [mi|>mie] à rude épreuve
        <<- /conf/ -1>> mis                                     # Confusion. Pour le participe passé de mettre, écrivez “mis”.

TEST: Elle a {{mie}} son plus bel ensemble.
TEST: Les éléments {{mi}} en évidence suffisent à le désigner comme coupable.
TEST: Ils étaient partis au restaurant après avoir {{mi}} à jour son profil.
TEST: elles ont dansé, {{mie}} à jour leur carnet et sont parties.
TEST: après avoir {{mi}} ses souliers tenir


# mûr / mur
__conf_mûr_mur__
    [>amandine|>brioche|>charlotte|>cheesecake|>chausson|clafoutis|>confiture|>crème|>crêpe|>croustade|>croustillante|>crumble|>cueillette|>dessert|>far|>flan|jus|>gelée|>glace|>gourmandise|>lapin|>liqueur|>macaron|>milkshake|>milk-shake|>millefeuille|>mille-feuille|>mousse|>muffin|>pancake|>pavlova|>recette|>récolte|>sauce|>soufflé|>smoothie|>sirop|>tarte|>tartelette|>tiramisu|>yaourt|>yoghourt|coulis|>gâteau|>kilo] [de|aux] [mur+ses]
        <<- /conf/ --1>> mûres                                              # Confusion. Le fruit s’écrit “mûre”.|https://fr.wiktionary.org/wiki/m%C3%BBr

    [trop|assez|abcès|>âge|>avocate|>banane|>blé|>brugnon|corps|>enfant|>esprit|>femme|>figue|>fraise|>fruit|>homme|>melon|>personne|>poire|>pomme|>prune|>papaye|>pêche|>raisin|>tomate] [mur+ses]
    [>être|>sembler|>paraître|>paraitre|>rester]  [mur+ses]
        <<- /conf/ --1>> =\-1.replace("u", "û").replace("U", "Û")           # Confusion. Pour décrire ce qui a atteint la maturité, écrivez “mûr”.|https://fr.wiktionary.org/wiki/m%C3%BBr

    des vertes et des pas [mur+ses]
        <<- /conf/ --1>> mûres                                              # Confusion. Pour décrire ce qui a atteint la maturité, écrivez “mûr”.|https://fr.wiktionary.org/wiki/m%C3%BBr

    [mur+ses] [>délibération|>réflexion]
        <<- /conf/ -1>> =\1.replace("u", "û").replace("U", "Û")             # Confusion. Pour décrire ce qui a atteint la maturité, écrivez “mûr”.|https://fr.wiktionary.org/wiki/m%C3%BBr

TEST: cet avocat trop {{mur}} pour être mangé.
TEST: Un pancake aux {{murs}}.
TEST: Ça semble bien assez {{mur}}.
TEST: elle en a vu des vertes et des pas {{murs}}
TEST: Après de {{murs}} délibérations


# tomber des nues
__conf_tomber_des_nues__
    >tomber des nus
        <<- /conf/ -3>> nues                                    # Confusion. Écrivez “nues” (ancien terme pour “nuages”).|https://fr.wiktionary.org/wiki/tomber_des_nues

TEST: Elle en est tombée des {{nus}}.


# numérique / digital
__conf_numérique_digital__
    [>agence|>appareil|>banque|>caméra|>communication|>compagnie|>connexion|>économie|>entreprise|>ère|>expérience|>identité|>industrie|>présence|>prise|>service|>solution|>stratégie|>télévision|>transformation|>transition] >digitale
        <<- /conf/ -2>> numérique|numériques
        # Confusion : “digital” est un adjectif se rapportant aux doigts (empreinte digitale, arthrose digitale, etc.). Écrivez “numérique”.

    [le|du|au] digital
        <<- /conf/ -2>> numérique
        # Confusion : “digital” est un adjectif se rapportant aux doigts (empreinte digitale, arthrose digitale, etc.). Écrivez “numérique”.

TEST: une économie {{digitale}} ou rien
TEST: Dans l’ère du {{digital}}, tout va plus vite.


# panser / penser
__conf_panser_penser__
    >penser  *WORD  [>animal|>blessure|>blessée|bras|>chatte|>cheval|>chienne|>cheville|>cœur|>crâne|>cuisse|>doigt|>épaule|>jambe|>main|>malade|>patte|>pied|>plaie|>poignet|>tête]
        <<- /conf/ morph(\2, ":D", ">de/") -1>> =\1.replace("en", "an").replace("EN", "AN")
        # Confusion probable. Pour évoquer les soins prodigués, écrivez “panser”.|https://fr.wiktionary.org/wiki/panser

    >panser à autre chose
    >panser à $:D [>amie|>bébé|>chienne|>chatte|>cul|>descendante|>descendance|>enfant|>famille|>femme|>fesse|>fille|>garçon|>héritage|>héritière|>leçon|>mari|>maîtresse|>maitresse|>parent|>voisin]
    >panser [au|aux] [>amie|>bébé|>chienne|>chatte|>cul|>descendante|>descendance|>enfant|>famille|>femme|>fesse|>fille|>garçon|>héritage|>héritière|>leçon|>mari|>maîtresse|>maitresse|>parent|>voisin]
    >panser à [dieu|moi|toi|lui|elle|nous|vous|eux|elles|iel|iels|$:M]
    >panser à [ne|n’|me|m’|te|t’|se|s’]
    >panser à [le|la|l’|les|en|lui|leur|y]      $:Y
    >panser à [le|la|l’|les]  [lui|leur|en|y]   $:Y
    >panser à [lui|leur]      en                $:Y
        <<- /conf/ -1>> =\1.replace("an", "en").replace("AN", "EN")
        # Confusion probable. Pour évoquer les pensées qu’on a pour quelqu’un ou quelque chose, écrivez “penser”.|https://fr.wiktionary.org/wiki/penser

TEST: J’ai {{pensé}} les blessés.
TEST: Il a {{pensé}} mon cœur solitaire.
TEST: j’ai {{pansé}} à lui
TEST: Elle {{panse}} à Dieu sans raison.
TEST: Tu {{panses}} à lui donner raison.
TEST: {{Panse}} à tes amis
TEST: Il pense à son héritage futur.


# pain / pin
__conf_pain_pin__
    >pin d’ >épice
    >pin >perdue
    >pin sans >gluten
        <<- /conf/ -1>> pain|pains      # Confusion. Le pin est un arbre résineux à aiguilles persistantes. Pour parler la pâte de farine et d’eau cuite au four, écrivez “pain”.

    [>manger|>dévorer|>avaler|>engloutir] [le|les|du|des|un|ce|ces|mon|ton|son|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|plusieurs]  >pin
        <<- /conf/ -3>> pain|pains      # Confusion. Le pin est un arbre résineux à aiguilles persistantes. Pour parler la pâte de farine et d’eau cuite au four, écrivez “pain”.

    >pomme de >pain
        <<- /conf/ -3>> pin             # Le pain est une pâte de farine et d’eau cuite au four. La pomme de pin est le fruit du pin.|https://fr.wiktionary.org/wiki/pomme_de_pin

TEST: Je ne mange que du {{pin}} sans gluten.
TEST: Il avala son {{pin}} avec gloutonnerie.
TEST: Là, ce sont des pommes de {{pain}}.


# pair / paire
__conf_aller_de_pair__
    >aller de [pairs|paire|paires|pers|perd|perds|>père]
        <<- /conf/ -3>> pair                                    # Confusion. On écrit « aller de pair ».

    hors [paire|pairs|paires]
        <<- /conf/ --1>> pair                                    # Confusion. La locution “hors pair” est invariable.|https://fr.wiktionary.org/wiki/hors_pair

    hors de [paire|pairs|paires]
        <<- /conf/ --1>> pair                                    # Confusion. La locution “hors de pair” est invariable.|https://fr.wiktionary.org/wiki/hors_de_pair

TEST: Ils vont de {{paires}}.
TEST: Des personnes hors {{paires}}.
TEST: Elles sont hors de {{paires}}.


# pâle / pale
__conf_pâle_pale2!6__
    >faire ?[pas|jamais|guère]¿ porter pale
    [>être|>rester|>demeurer|>devenir]  >pale
    [>air|>lumière|>lueur|>teinte|coloris|>couleur|>peau|>visage|>bleue|>rouge|>fuschia|>jaune|>verte|gris|>orange|>violette|>pourpre]  >pale
        <<- /conf/ --1>> =\-1.replace("a", "â").replace("A", "Â")
        # 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

TEST: Elle est très {{pale}} !
TEST: Sous une lumière {{pale}},
TEST: Se faire porter {{pale}}.


# pas / par
__conf_pas_par2__
    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD  par  [<end>|,]
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]         *WORD  par  [<end>|,]
    [ne|n’]  [le|la|l’|les]                  [lui|leur|en|y]             *WORD  par  [<end>|,]
    [ne|n’]  [lui|leur|y]                    en                          *WORD  par  [<end>|,]
        <<- /conf/ morph(\-3, ":V") --2>> pas                   # Confusion probable. Après “\1 \-3”, il est probable qu’il faille écrire l’adverbe de négation “pas” au lieu de la préposition “par”.

TEST: Ils ne viendront probablement {{par}}…
TEST: Elles ne s’en soucient {{par}} vraiment, quoi qu’elles en disent.


# par monts et par vaux
__conf_par_monts_et_par_vaux__
    [par|pare|pares|>part] [mon|mont|mons|>mont] [et|est|es|ai|ais|aie|aies] [par|pare|pares|>part] [vos|>veau|vaux]
        <<- /conf/ ->> par monts et par vaux                    # Confusion. Locution “par monts et par vaux”.|https://fr.wiktionary.org/wiki/par_monts_et_par_vaux

TEST: voyager par monts et par vaux.
TEST: {{pare mont est par veau}}


# parti / partie
__conf_prendre_parti_partie__
    >prendre [>partie|partis]
        <<- /conf/ -2>> parti                                   # Confusion. On écrit « prendre parti ».

    >tirer [>partie|partis]
        <<- /conf/ -2>> parti                                   # Confusion. On écrit « tirer parti ».

    >faire [parties|>parti]
        <<- /conf/ -2>> partie                                  # Confusion. On écrit « faire partie ».

    >juge et >parti
        <<- /conf/ ->> juge et partie|juges et parties          # Confusion. On écrit « juge et partie ».

    >prendre a [>partie|>parti]
    >prendre à [parties|>parti]
        <<- /conf/ -2:3>> à partie                              # Confusion. On écrit « prendre à partie ».

    >prendre *WORD a [>partie|>parti]
    >prendre *WORD à [parties|>parti]
        <<- /conf/ -3:4>> à partie                              # Confusion. On écrit « prendre à partie ».

TEST: Elle prend toujours {{partie}} aux réunions.
TEST: Il faut savoir tirer {{partis}} de ces atouts-là.
TEST: Tu fais {{parti}} de l’élite, enfin, façon de parler.
TEST: Nous sommes tous d’une manière ou d’une autre {{juge et parti}}.
TEST: prendre {{a parti}}
TEST: Prendre Damien {{à parti}}.


# pâte / patte
__conf_pâte_patte_pat__
    [>patte|pat] [>alimentaire|>alsacienne|>chinoise|>feuilletée|>italienne|>thermique]
    [>patte|pat] au [basilic|beurre|saumon|pesto|poulet|thon]
    [>patte|pat] [à|a] [>pain|>crêpe|>gaufre|>pizza|>tarte|>modeler|>tartiner]
    [>patte|pat] [d’|de] [>amande|>amende|>fruit]
        <<- /conf/ -1>> pâte|pâtes                              # Confusion. La patte est le membre d’un animal (ou d’une table…). La matière pâteuse s’écrit “pâte”.

    >mettre ?[pas|jamais]¿ la main à la [>patte|pat]
    >coq en [>patte|pat]
        <<- /conf/ --1>> pâte                                   # Confusion. La patte est le membre d’un animal (ou d’une table…). La matière pâteuse s’écrit “pâte”.

    >coup de [>pâte|pat]
        <<- /conf/ -3>> patte                                   # Confusion. Une pâte est une matière pâteuse. Pour désigner le membre d’un animal, écrivez “patte”.

TEST: Prépare la {{patte}} à tarte.
TEST: Ils mangent souvent des {{pattes}} au thon.
TEST: Des {{pattes}} alimentaires.
TEST: Elles ont acheté de la {{patte}} à tartiner.
TEST: La {{patte}} à pizza est plus épaisse que la pâte à crêpes.
TEST: Elle adore la {{patte}} d’amande.
TEST: Il est comme un coq en {{pattes}} là.
TEST: Elle n’a jamais mis la main à la {{patte}}.
TEST: donne-moi un coup de {{pâte}}


# péché / pêcher
__conf_péché_pêcher2__
    >pêcher par excès [de|d’]
    >pêcher par [insuffisance|omission|orgueil]
        <<- /conf/ -1>> pécher                                  # Confusion : pêcher (capturer des poissons) ≠ pécher (faire un écart de conduite).|https://fr.wiktionary.org/wiki/p%C3%A9cher

    [>commettre|>pardonner|>confesser|>absoudre|>avouer|>reconnaître|>reconnaitre|>expier|>effacer] $:D [pécher|pêcher+s|pêché+ses]
    >repentir de [mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs] [pécher|pêcher+s|pêché+ses]
        <<- /conf/ --1>> =\-1.replace("êch", "éch").replace("er", "é").replace("ÊCH", "ÉCH").replace("ER", "É")
        # Confusion : un pêcher est un arbre. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C1%A9ch%C1%A9

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

TEST: Il {{pêche}} par excès de confiance.
TEST: commettre un {{pêcher}}.                                              ->> péché
TEST: Elle voulut expier ses {{pêchés}}.                                    ->> péchés
TEST: il {{péchait}} à la ligne                                             ->> pêchait


# peu / peux / peut
__conf_peut_peux_peu2__
    [peux|peut]  [de|d’]  @:[NA]¬*
        <<- /conf/ not value(<1, "|je|tu|il|elle|on|ne|n’|") and space_after(\1, 1, 3) -1>> peu     # Confusion probable : “\1” est une forme conjuguée de “pouvoir”, écrivez “peu” pour dire “pas beaucoup”.

TEST: {{peut}} d’hommes savent comment s’y prendre
TEST: peu d’argent
TEST: il peut de façon crédible avancer qu’il veut tout faire sauter


__conf_det_1subst_peu_peut_vinfi__
    [<start>|,]  [un|le|ce|cet]                     *WORD           peu  [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y]
    [<start>|,]  [une|la|cette|ma|ta|sa]            *WORD           peu  [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y]
    [<start>|,]  [l’|mon|ton|son|notre|votre|leur]  *WORD           peu  [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y]
        <<- /conf/ morph(\3, ":N") --2>> peut           # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal.

    [<start>|,]  [un|le|ce|cet]                     *WORD           peu  ?en¿  $:Y
        <<- /conf/ morph(\3, ":N") --2>> peut           # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal.
        <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)|<end>|>(?:,|par)/")
        --1>> =suggVerbPpas(\-1, ":m:s")                # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3”, il faut utiliser le participe passé.

    [<start>|,]  [une|la|cette|ma|ta|sa]            *WORD           peu  ?en¿  $:Y
        <<- /conf/ morph(\3, ":N") --2>> peut           # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal.
        <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)|<end>|>(?:,|par)/")
        --1>> =suggVerbPpas(\-1, ":f:s")                # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3”, il faut utiliser le participe passé.

    [<start>|,]  [l’|mon|ton|son|notre|votre|leur]  *WORD           peu  ?en¿  $:Y
        <<- /conf/ morph(\3, ":N") --2>> peut           # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal.
        <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)|<end>|>(?:,|par)/")
        --1>> =suggVerbPpas(\-1, ":s")                  # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3”, il faut utiliser le participe passé.

TEST: cet homme {{peu}} aller et venir ici comme bon lui semble
TEST: Cette athlète {{peu}} y parvenir.
TEST: cette amie {{peu}} sembler distante, mais elle nous a toujours soutenus
TEST: notre mère {{peu}} prendre ses airs, ça ne change rien.
TEST: un ami {{peu}} {{changer}}
TEST: une femme {{peu}} {{remarquer}}
TEST: notre pote {{peu}} {{oublier}}
TEST: un petit peu nous surprendre


__conf_det_2subst_peu_peut_vinfi__
    [<start>|,]  [un|le|ce|cet]                     *WORD  *WORD    peu  [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y]
    [<start>|,]  [une|la|cette|ma|ta|sa]            *WORD  *WORD    peu  [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y]
    [<start>|,]  [l’|mon|ton|son|notre|votre|leur]  *WORD  *WORD    peu  [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y]
        <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0")
        --2>> peut                                      # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal.

    [<start>|,]  [un|le|ce|cet]                     *WORD  *WORD    peu  ?en¿  $:Y
        <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0")
        --2>> peut                                      # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal.
        <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)|<end>|>(?:,|par)/")
        --1>> =suggVerbPpas(\-1, ":m:s")                # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3 \4”, il faut utiliser le participe passé.

    [<start>|,]  [une|la|cette|ma|ta|sa]            *WORD  *WORD    peu  ?en¿  $:Y
        <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0")
        --2>> peut                                      # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal.
        <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)|<end>|>(?:,|par)/")
        --1>> =suggVerbPpas(\-1, ":f:s")                # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3 \4”, il faut utiliser le participe passé.

    [<start>|,]  [l’|mon|ton|son|notre|votre|leur]  *WORD  *WORD    peu  ?en¿  $:Y
        <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0")
        --2>> peut                                      # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal.
        <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)|<end>|>(?:,|par)/")
        --1>> =suggVerbPpas(\-1, ":s")                  # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3 \4”, il faut utiliser le participe passé.

TEST: un grand homme {{peu}} aller et venir ici comme bon lui semble
TEST: ma petite amie {{peu}} sembler distante, mais elle nous a toujours soutenus
TEST: la petite anecdote {{peu}} nous nuire.
TEST: l’école primaire {{peu}} espérer recevoir de nouveaux moyens cette année
TEST: un sale voyou {{peu}} {{marquer}}
TEST: une petite personne {{peu}} {{inspirer}}
TEST: mon meilleur ami {{peu}} {{remarquer}} par les profs


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

    <start> peut être
        <<- /conf/ space_after(\2, 1, 1) -2:3>> peut-être                                           # Confusion probable. Pour dire “possiblement”, écrivez “peut-être”.

TEST: {{Peut être}} qu’on en saura plus demain.
TEST: Ils vont {{peut être}} enfin faire quelque chose de leur misérable existence.
TEST: L’un peut être réglé immédiatement
TEST: Réussir peut parfois être la pire chose possible.
TEST: Peut vraiment être violent en cas d’humiliation.
TEST: « Oui, sans doute », mais peut être pas pour tout le monde
TEST: La réalisation de composants (injection plastique…) peut être limitée.


# point / poing
__conf_poing_point__
    [>arme|>coup|>oiseau] de >point
    [>taper|>fermer|>ouvrir|>blesser|>serrer|>desserrer] $:D >point
        <<- /conf/ -3>> =\3.replace("t", "g").replace("T", "G")             # Confusion probable. Une main fermée s’écrit “poing”.|https://fr.wiktionary.org/wiki/poing

    >point [américain|américains|>serrer|>desserrer|>lever|>casser|>lier]
        <<- /conf/ morph(\2, ":A") and morph(<1, ":D")
        -1>> =\1.replace("t", "g").replace("T", "G")                        # Confusion probable. Une main fermée s’écrit “poing”.|https://fr.wiktionary.org/wiki/poing

TEST: une arme de {{point}}
TEST: Elles ont tapé du {{point}} sur la table.
TEST: les {{points}} serrés
TEST: Tu contres son coup de poing.
TEST: Il m’a donné un coup de poing.
TEST: Les poings serrés.


# prendre son mal en patience
__conf_prendre_son_mal_en_patience__
    >prendre [mon|ton|son|notre|votre|leur|leurs] >mâle en [>patience|patiente|patientes]
    >prendre [mon|ton|son|notre|votre|leur|leurs] mal en [patiente|patientes]
        <<- /conf/ -3:0>> mal en patience                       # Confusion. Locution “prendre son mal en patience”.|https://fr.wiktionary.org/wiki/prendre_son_mal_en_patience

    [prie|pries] [mon|ton|son|notre|votre|leur|leurs] [>mâle|mal] en [>patience|patiente|patientes]
        <<- /conf/ -1>> pris|prit                               # Confusion. Locution “prendre son mal en patience”.|https://fr.wiktionary.org/wiki/prendre_son_mal_en_patience

TEST: Il prit son {{mâle en patience}}
TEST: Elle prend son {{mal en patiente}}.
TEST: Il {{prie}} une fois de plus son mal en patience.


__conf_pris_prix__
    >avoir prix
        <<- /conf/ --1>> pris                                   # Confusion probable : le participe de prendre s’écrit “pris”.|https://fr.wiktionary.org/wiki/pris

TEST: elle ne l’a pas {{prix}}, par dépit.


# pu / pus
__conf_pu_pus__
    >avoir  [pus|pue|pues]
        <<- /conf/ -2>> pu                                      # Confusion. Pour le participe passé de pouvoir, écrivez “pu”.

TEST: Ils étaient partis au restaurant après avoir {{pue}} dire un mot.           ->> pu
TEST: avoir {{pus}} réussir
TEST: ce qu’ils ont {{pue}}
TEST: il a {{pues}} partir


# puits / puis
__conf_puits_puis2__
    [>creuser|>forer]   [un|des|ce|ces|mon|ton|son|mes|tes|ses|notre|votre|nos|vos|leur|leurs]  puis
    >forage             [de|d’] [un|des|ce|ces|mon|ton|son|mes|tes|ses|notre|votre|nos|vos|leur|leurs]  puis
        <<- /conf/ --1>> puits
        # Confusion. Si vous parlez d’un trou fait pour puiser quelque chose (ou pour amener quelque chose), écrivez “puits”.|https://fr.wiktionary.org/wiki/puits

TEST: Forage de son {{puis}} prévu demain
TEST: Creuser un {{puis}}, pas si compliqué


# quand même / comme même
__conf_quand_même__
    comme même [<end>|,]
    comme même @:(?:Os|C)
        <<- /conf/ space_after(\1, 1, 1) -1:2>> quand même      # Confusion probable.|http://fr.wiktionary.org/wiki/quand_m%C3%AAme

TEST: {{comme même}} il y va fort, le saligaud !
TEST: La météo disait qu’il ferait beau temps, mais il pleut {{comme même}}…


# quoi qu’il en soit
__conf_quoi_qu_il_en_soit__
    quoiqu’ il en soit @:¬:[AQ]
    quoiqu’ il en soit [<end>|,]
        <<- /conf/ -1:4>> quoi qu’il en soit                    # Confusion.|https://fr.wiktionary.org/wiki/quoi_qu%E2%80%99il_en_soit

TEST: {{quoiqu’il en soit}}, nous ne nous laisserons pas faire, vous pouvez compter sur nous.


# rebooter / rebouter
__conf_rebooter_rebouter__
    >rebouter  $:D  [>appareil|>imprimante|iPhone|kernel|>machine|>modem|>noyau|>ordinateur|>ordi|PC|>portable|>programme|>routeur|serveur|serveurs|>système|>tablette|>téléphone|terminal|terminaux]
    >rebouter  [Android|Linux|iOS|Unix|Windows]
        <<- /conf/ -1>> =\1.replace("out", "oot").replace("OUT", "OOT")         # Confusion probable. Rebouter est un terme de botanique.

TEST: {{Reboute}} l’ordinateur.
TEST: On {{reboute}} Windows et ça devrait aller.


# rester en contact
__conf_rester_en_contact__
    >rester en [contacte+s]
        <<- /conf/ --1>> contact                                    # Confusion. Locution “rester en contact”.

TEST: il va rester en {{contacte}} avec eux
TEST: Restons en contact.


# sale / salle
__conf_salle_qqch__
    >sale d’ [>accouchement|>arcade|>attente|>audience|>eau|>escalade|>échographie|>embarquement|>exposition|>hospitalisation|>observation|>opération|>urgence]
    >sale [de|des|du] [>bain|>bal|>banquet|>billard|>bloc|>cinéma|>classe|>colle|>commandement|>concert|>conférence|>conseil|>consultation|cours|>culture|>danse|>départ|>fête|>formation|>garde|>gym|>gymnastique|>infirmière|>lecture|>machine|>malade|>mammographie|>marché|>mariage|>musculation|>musique|>ordinateur|>presse|>prière|>prof|>professeure|>projection|>radio|>radiographie|>réanimation|>réception|>rédaction|>rééducation|>restaurant|>réunion|>réveil|>séjour|>shoot|>soin|>spectacle|>sport|>stockage|>théâtre|>tir|>toilette|>torture|>trading|>travail|>vente|fitness|>jeu|>repos|>urgence]
    >sale à manger
        <<- /conf/ -1>> =\1.replace("ale", "alle")                  # Confusion : “sale” signifie “malpropre”. Pour désigner une pièce, écrivez “salle”.

    >être  >salle
        <<- /conf/ -2>> =\2.replace("salle", "sale")                # Confusion. Une salle est une pièce. Pour la malpropreté, écrivez “sale”.

TEST: dans la {{sale}} des professeurs
TEST: une {{sale}} d’arcade
TEST: ils sont tellement {{salles}}
TEST: pour le service en salle


# sans / sens
__conf_sens_dessus_dessous__
    sans dessus dessous
    sans-dessus-dessous
        <<- /conf/ ->> sens dessus dessous                          # Confusion. Locution adverbiale : « sens dessus dessous ».|https://fr.wiktionary.org/wiki/sens_dessus_dessous

TEST: Tout est {{sans dessus dessous}}.


# aller sans dire
__conf_aller_sans_dire__
    [il|ça|cela|ceci] >aller s’ en dire
        <<- /conf/ -3:4>> sans                                      # Confusion. Locution “aller sans dire”.|https://fr.wiktionary.org/wiki/cela_va_sans_dire#fr

TEST: Évidemment, cela va {{s’en}} dire.



# sceptique / septique
__conf_sceptique_septique__
    [>fosse|>installation|>choc|>chirurgie|>maladie|>plaie|>blessure|>embolie|>arthrite|>isolement|>pneumoentérite|>pneumo-entérite] >sceptique
        <<- /conf/ -2>> =\2.replace("scep","sep")                               # Confusion possible. Septique = corrompu, infecté. Sceptique = ayant des doutes.

    [>être|>demeurer|>rester|>devenir]  >septique
        <<- /conf/ not morph(<1, ">plaie/") -2>> =\2.replace("sep", "scep")     # Confusion possible. Septique = corrompu, infecté. Sceptique = ayant des doutes.

TEST: cette fosse {{sceptique}} est pleine.
TEST: Je suis {{septique}} !


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

    >aller ?[pas|jamais|guère]¿ de soit
        <<- /conf/ not after(" soit ") --1>> soi            # Confusion.|https://fr.wiktionary.org/wiki/aller_de_soi

TEST: ça va de {{soie}}
TEST: cela ne va pas de {{soit}}.


# tâche / tache (de chocolat / rousseur / vin / sang / café / gras / graisse / huile / etc.)
__conf_tache_tâche__
    >tâche  [de|d’]  @:N¬:[GMY]|>(?:contrôle|fonds?|envergure|ampleur|importance|départ|surveillance|supervision|tri|.+(?:tion|ment))/
        <<- /conf/ not before("[aA]ccompl|[dD]él[éè]gu") -1>> =\1.replace("â", "a").replace("Â", "A")
        # Confusion probable. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

    >tâche  [>indélébile|>rouge|>verte|>noire|>bleue|>jaune|>grise|>blanche|>brune|>pourpre|>chocolat|>mauve|>fushia|>violette|>rose|>claire|>sombre|>solaire|>cuivrée]
        <<- /conf/ -1>> =\1.replace("â", "a").replace("Â", "A")
        # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

    >tâche sur $:D [>bermuda|>blouse|>blouson|bois|bras|>caleçon|>canapé|>carrelage|>chemise|>chemisier|>col|>conscience|corps|>costume|>cravate|>cuir|>culotte|CV|>dent|>doigt|document|dos|>fauteuil|>feuille|>front|>habit|>jambe|>jean|>joue|>jupe|>jupon|>lèvre|>linge|>livre|>livret|>maillot|>main|>marbre|>meuble|>moquette|>mur|>nappe|nez|>ongle|>papier|>parquet|>pantalon|>peau|pénis|>photo|>photographie|>pied|>pull|>réputation|>robe|>sexe|>siège|>slip|>sol|>t-shirt|>teeshirt|>tee-shirt|>tapis|>tête|>tissu|>veste|>vêtement|>visage]
        <<- /conf/ -1>> =\1.replace("â", "a").replace("Â", "A")
        # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

    >tâcher  $:D  [>bermuda|>blouse|>blouson|bois|bras|>caleçon|>canapé|>carrelage|>chemise|>chemisier|>col|>conscience|corps|>costume|>cravate|>cuir|>culotte|CV|>dent|>doigt|document|dos|>fauteuil|>feuille|>front|>habit|>jambe|>jean|>joue|>jupe|>jupon|>lèvre|>linge|>livre|>livret|>maillot|>main|>marbre|>meuble|>moquette|>mur|>nappe|nez|>ongle|>papier|>parquet|>pantalon|>peau|pénis|>photo|>photographie|>pied|>pull|>réputation|>robe|>sexe|>siège|>slip|>sol|>t-shirt|>teeshirt|>tee-shirt|>tapis|>tête|>tissu|>veste|>vêtement|>visage]
        <<- /conf/ -1>> =\1.replace("â", "a").replace("Â", "A")
        # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

    [>nettoyer|>laver|>essuyer|>gratter]  $:D  >tâche
        <<- /conf/ --1>> =\-1.replace("â", "a").replace("Â", "A")
        # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

TEST: une {{tâche}} de chocolat                                             ->> tache
TEST: une {{tâche}} vraiment indélébile
TEST: une {{tâche}} rouge.
TEST: Une {{tâche}} sur ma chemise.
TEST: J’ai {{tâché}} ma chemise.
TEST: Nettoie cette {{tâche}}
TEST: en tâche de fond
TEST: la tâche de la justice
TEST: c’est une tâche de grande envergure
TEST: déléguer des tâches de sécurité publique à des machines autonomes
TEST: tirer bénéfice de nouvelles données en fonction de la tâche de départ qui leur a été assignée
TEST: Les « pervenches » fonctionnaires seraient alors affectées à d’autres tâches de surveillance, notamment au sein de la nouvelle brigade anti-insécurité.
TEST: une tâche de sélection des données
TEST: les agents peu nombreux sont accaparés par le court terme et les tâches de gestion


__conf_tâche_tache__
    tache [accomplie|dévalorisante|difforme|épuisante|exécutée|exténuante|fatigante|ingrate|menée|valorisante]
    taches [accomplies|dévalorisantes|difformes|épuisantes|exécutées|exténuantes|fatigantes|ingrates|menées|valorisantes]
    >tache >insoluble
    >tache consistant à
        <<- /conf/ -1>> =\1.replace("a", "â").replace("A", "Â")
        # Confusion. Une tache est une salissure, une altération, une marque, une coloration… Pour parler d’un travail à accomplir, écrivez “tâche”.

    [>abstenir|>accepter|>accomplir|>achever|>affecter|>effectuer|>entreprendre|>exécuter|>faciliter|>finir|>interrompre|>partager|>refaire|>refuser|>simplifier|>terminer]  $:D  >tache
    à la tache
    [à|a] la hauteur de la tache
        <<- /conf/ --1>> =\3.replace("a", "â").replace("A", "Â")
        # Confusion. Une tache est une salissure, une altération, une marque, une coloration… Pour parler d’un travail à accomplir, écrivez “tâche”.

    >tacher  [de|d’]  [ne|n’|me|m’|te|t’|se|s’]
    >tacher  [de|d’]  ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿  $:Y
    >tacher  [de|d’]  [nous|vous]     [le|la|l’|les|en|y]       $:Y
    >tacher  [de|d’]  [le|la|l’|les]  [lui|leur|en|y]           $:Y
    >tacher  [de|d’]  [lui|leur]      en                        $:Y
        <<- /conf/ -1>> =\1.replace("a", "â").replace("A", "Â")
        # Confusion. Tache signifie faire une salissure, une altération, une marque, une coloration… Pour parler de l’accomplissement d’un travail, écrivez “tâcher”.

TEST: Quelle {{tache}} ingrate.
TEST: Une {{tache}} valorisante.
TEST: Elle se tue à la {{tache}}.
TEST: Il a accompli la {{tache}} facilement.
TEST: {{Tache}} de partir tôt.
TEST: {{Tachez}} d’arriver à l’heure.
TEST: {{Tache}} de ne pas faire trop de bruit.
TEST: une tâche dévalorisante.
TEST: peiner à la tâche.


# taule / tôle
__conf_taule_tôle2__
    >aller en [>tôle|>tole]
    >quitter cette [tôle|tole]
    >faire de la [tôle|tole]
        <<- /conf/ --1>> taule                                      # Confusion. La tôle est une plaque de métal laminé. Pour la prison, écrivez “taule”.

    [>taule] [>boulonner|>cintrer|>émailler|>emboutir|>galvaniser|>gaufrer|>nervurer|>onduler|>perforer|>souder|>translucide]
        <<- /conf/ -1>> =\1.replace("au", "ô").replace("AU", "Ô")   # Confusion. La taule est la forme argotique pour évoquer la prison, le bordel ou toute forme d’habitation.

TEST: Demain, il va aller en {{tôle}}.
TEST: Tu as fait de la {{tôle}} ?
TEST: C’est la {{taule}} galvanisée.


# tant / temps (2e partie)
__conf_tant_temps_tan__
    en [temps|>tan] [que|qu’]
        <<- /conf/ -2>> tant                                        # Confusion. Écrive