Grammalecte  Artifact [f72ceea77c]

Artifact f72ceea77cf71a638a3fdcfdb3254fbf254ab398959080fb0f9270fc2e9975ed:


#
#   RÈGLES DE GRAMMAIRE FRANÇAISE POUR GRAMMALECTE
#   par Olivier R.
#
#   Copyright © 2011-2017.
#
#   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/>
#

# 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, esp tab, nbsp unit, tu maj, num virg, nf chim, ocr mapos, liga
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/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/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:     6
OPTPRIORITY/conf:   5
OPTPRIORITY/ocr:    3

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

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+




!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!! 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.{{  }}»


# 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_parenthese_fermante_collée)__    [)]\b(?![s¹²³⁴⁵⁶⁷⁸⁹⁰]\b) <<- ->> ") "              # Il manque un espace après la parenthèse.
__<s>/typo(typo_parenthese_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)²


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

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.


__<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 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+ <<- ~>> *

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

# 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+|))  @@0 <<- ~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(r"(?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("-","")

# Ne pas scinder la phrase si les points de suspension sont suivis d’une minuscule
__<s>(p_points_suspension)__
    ({w1})(…)(?= [a-zéèêàâîô])  @@0,$ <<- not re.search("(?i)^etc", \1) ~2>> ,

# 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]", False) and (morph(\3, ":(?:M[12]|V)", False) or not spell(\3)) ~2>> *
__[s>(p_prénom_lettre_point)__
    ([A-ZÉÈÂÎ][\w-]+)[  ]([A-ZÉÈÂ][.]) @@0,$
    <<- morph(\1, ":M[12]", False) 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>> _

# heures
__[s](p_heures)__
    (?:de |à |)[012]?\d[h:]\d\d(?:[m:]\d\ds?|) <<- ~>> *

# crochets
__[s](p_points_suspension_entre_crochets)__
    \[…\] <<- ~>> *
__[s](p_mot_entre_crochets)__
    \[({w_1})\] @@1
    <<- \1.isdigit() ~>> *
    <<- __else__ and morph(\1, ":G", False) ~>> =" " + \1 + " "
    <<- __else__ ~>> _
__[s](points_suspension_entre_parenthèses)__
    \(…\)
    <<- ->> […]                 # Pour indiquer une troncature de texte, on utilise usuellement des crochets.
    <<- ~>> *

# Divers
__[i](p_FranceTV)__
    France ([23450O]) @@$ <<- ~>> France_\1
__[u](p_CAC40)__
    cac 40 <<- ~>> CAC40


TEST: par {{O.R.}}                                          ->> OR|O. R.
TEST: l’{{A.N.P.E.}} n’existe plus
TEST: ce chien […] ne {{semblez}} pas perdu.
TEST: ce chat {{(…)}} ne {{semblez}} pas perdu.
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



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

# HTML
__<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_balise_ouvrante)__    <\w+.*?> <<- ~>> *
__<i>/html(p_html_balise_fermante)__    </\w+ *> <<- ~>> *
__<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]



!!
!!
!!!! É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](typo_écriture_épicène_tous_toutes)__
    tous?[.(/·–—-]te[.)/·–—-]?s
    <<- option("typo") ->> 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](typo_écriture_épicène_ceux_celles)__
    c[./·–—-]?eux?[./·–—-]elles
    <<- option("typo") ->> 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](typo_écriture_épicène_pluriel_eur_divers)__
    ({w_2})eur[.(/·–—-][tdp]?(rice|euse|se|[oe]resse)[.)/·–—-]?s  @@0,**
    <<- option("typo") and \2 != "se" ->> \1eurs et \1\2s|\1\2s et \1eurs                           # Écriture épicène dystypographique et imprononçable.
    <<- option("typo") 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](typo_écriture_épicène_pluriel_eux_euses)__
    ({w_2})eux[.(/·–—-](?:[tdsi]?euse|se)[.)/·–—-]?s  @@0
    <<- option("typo") ->> \1eux et \1euses|\1euses et \1eux                                        # Écriture épicène dystypographique et imprononçable.
    <<- ~>> =normalizeInclusiveWriting(\0)

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


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

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


__[u](typo_écriture_épicène_pluriel_er_ère)__
    ({w_2})er[.(/·–—-]i?è?re[.)/·–—-]?s  @@0
    <<- option("typo") ->> \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](typo_écriture_épicène_pluriel_if_ive)__
    ({w_2})if[.(/·–—-][std]?i?ve[.)/·–—-]?s  @@0
    <<- option("typo") ->> \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](typo_écriture_épicène_pluriel_e)__
    ({w_1}[éuitsrnldf])[-·–—.(/]([ntlf]?e)[-·–—.)/]?s  @@0,**
    <<- ~>> =normalizeInclusiveWriting(\0)
    <<- option("typo") and not \0.endswith("les") >>>
    <<- \1.endswith("s") and not \0.endswith("·e·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__ and not \0.endswith("e·s")
    ->> \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}}


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

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


!!
!!
!!!! 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, ":", False) and morph(\2, ":", False)
    -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_en_début_phrase)__
    ^ *([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.


!!
!!
!!!! Virgules                                                                                       
!!
!!

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

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


__<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(r"^(?:\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.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à}}.                                              ->> " 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: espace.{{Manquant}}                                                   ->> " Manquant"
TEST: qui ont refuse.{{de}} se sauver                                       ->> " de"

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

TEST: Je crois que {{Mlle.}} Eva est partie.
TEST: J’ai pensé à {{Mme.}} Bovary toute la journée.
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                                                                       
!!
!!
__<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_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)__
    ([ldsncjmç]|jusqu|lorsqu|aujourd|presqu|quelqu|puisqu|qu|prud|entr)['´‘′`](?=[\w"«]) @@0 <<- ->> \1’    # Apostrophe typographique.
__[i>/apos(apostrophe_typographique_après_t)__
    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)__
    (([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)__
    "(lorsqu|puisqu|presqu|quoiqu|jusqu|qu|aujourd|entr) "  @@0  <<- ->> \1’                        # Il manque vraisemblablement une apostrophe.
# Solution prudente :
__[i>/typo(typo_apostrophe_manquante_prudence1)__
    ne ([mtsl] )([aeéiouhyîèêôû][\w-]*)  @@3,$  <<- -1>> =\1[:-1]+"’"                               # Il manque une apostrophe.
__[i>/typo(typo_apostrophe_manquante_prudence2)__
    (?:je|tu|ils?|nous|vous|on|ça|elles?) ([nmtsl] )([aeéiouhyîèêôû][\w-]*)  @@*,$
    <<- not option("mapos") and morph(\2, ":V", False) -1>> =\1[:-1]+"’"                            # Il manque probablement une apostrophe.
# Solution audacieuse :
__[s>/typo(typo_apostrophe_manquante_audace1)__
    ([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(r"[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: J’en ai '''marre''' (syntaxe wiki).


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

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

__[i]/typo(typo_élision_si)__    (si )ils?  @@0 <<- -1>> s’                      # Il faut élider « si » et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision
__[i]/typo(typo_élision_que)__   (que )(?:ils?|elles?|on)  @@0 <<- -1>> qu’      # Il faut élider « que » et l’accoler au pronom.|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: J’ai passé une journée de ouf.


# presque : élision
__[i>/typo(typo_presque)__
    presqu[’'](?![îi]le)
    <<- ->> "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
__[i>/typo(typo_quelque)__
    quelqu[’'](?!une?)
    <<- ->> "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…


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

TEST: {{ce}} animal est dangereux


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


## Chimie
__[s]/chim(chim_molécules)__
    (?:Ca(?:CO3|SO4)|CO2|(?:H2|Na2)(?:CO3|O|SO4)|[HNO]2|HNO3|Fe2O3|KMnO4|NO2|SiO2|SO[23])
    <<- ->> =\0.replace("2", "₂").replace("3", "₃").replace("4", "₄")                               # Typographie des composés chimiques. [!]

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


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

__<s>/typo(typo_cohérence_guillemets_chevrons_ouvrants)__
    («)[^»“]+?(”)  @@0,$
    <<- not before(r"\w$") -1>> “                                                                   # Guillemet ouvrant différent du guillemet fermant (”).
    <<- not after(r"^\w") -2>> " »"                                                                 # Guillemet fermant différent du guillemet ouvrant («).
__<s>/typo(typo_cohérence_guillemets_chevrons_fermants)__
    (“)[^”«]+?(»)  @@0,$
    <<- not before(r"\w$") -1>> "« "                                                                # Guillemet ouvrant différent du guillemet fermant (»).
    <<- not after(r"^\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(r"\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(r"\w$") -1>> "“"                                                                 # Guillemet ouvrant différent du guillemet fermant (”).
    <<- not after(r"^\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(r" $") 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|°C|℃)(?![’'])  @@0,0
    <<- -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,$
    <<- morphex(\3, ";S", ":[VCR]") or mbUnit(\3) or not spell(\3)
    -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 morphex(\3, ";S", ":[VCR]") or mbUnit(\3)
    -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("^(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])")
        or after(r"^[   ]*(?:[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,$
    <<- morphex(\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


__[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,$
    <<- not checkDate(\1, \2, \3) and not before(r"(?i)\bversions? +$") ->> _                       # Cette date est invalide.
    <<- ~>> =\0.replace(".", "-").replace(" ", "-").replace("\/", "-")

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


!!
!!
!!!! Redondances                                                                                    
!!
!!
__[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) ", False) 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.




!!!
!!!
!!! 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_dialogue1)__    ([?!…][?!…  ]*)[ "'”» ]*,  @@0 <<- ~1>> *
__<s>(p_fin_dialogue2)__    ([?!…][?!…  ]*)[ "'”» ]*[a-zéèêîô]  @@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                                                                       
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!

[++]



!!!! Doublons (casse identique)                                                                     

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


# Nombres ordinaux
__[s]/typo(typo_ordinaux_premier)__
    1 ?(?:ier|i?ère)s?
    <<- ->> =\0.replace(" ", "").replace("è", "").replace("i", "").replace("e", "ᵉ").replace("r", "ʳ").replace("s", "ˢ")
    # Nombre ordinal. Premier : 1ᵉʳ. Première : 1ʳᵉ. Premier : 1ᵉʳˢ. Première : 1ʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
__[s]/typo(typo_ordinaux_deuxième)__
    2 ?nde?s?
    <<- ->> =\0.replace(" ", "").replace("n", "").replace("d", "ᵈ").replace("e", "ᵉ").replace("s", "ˢ")
    # Nombre ordinal. Second : 2ᵈ. Seconde : 2ᵈᵉ. Seconds : 2ᵈˢ. Secondes : 2ᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
__[s]/typo(typo_ordinaux_nième)__
    ([0-9]+) ?(?:è|i?[èe]me)s?  @@0
    <<- \0.endswith("s") ->> \1ᵉˢ                                                                   # Nombre ordinal pluriel. Exemples : 2ᵉˢ, 3ᵉˢ, 4ᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
    <<- __else__ ->> \1ᵉ                                                                            # Nombre ordinal singulier. Exemples : 2ᵉ, 3ᵉ, 4ᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
__[s]/typo(typo_ordinaux_romain_premier)__
    I ?(?:ier|i?ère)s?
    <<- ->> =\0.replace(" ", "").replace("è", "").replace("i", "").replace("e", "ᵉ").replace("r", "ʳ").replace("s", "ˢ")
    # Nombre ordinal romain. Premier : 1ᵉʳ. Première : Iʳᵉ. Premier : Iᵉʳˢ. Première : Iʳᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
__[s]/typo(typo_ordinaux_romain_deuxième)__
    II ?nde?s?
    <<- ->> =\0.replace(" ", "").replace("n", "").replace("d", "ᵈ").replace("e", "ᵉ").replace("s", "ˢ")
    # Nombre ordinal romain. Second : IIᵈ. Seconde : IIᵈᵉ. Seconds : IIᵈˢ. Secondes : IIᵈᵉˢ.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
__[s]/typo(typo_ordinaux_romains_nième)__
    ([IVXLCM]{1,3}) ?(?:è|i?[èe]me)s?  @@0
    <<- not morph(\0, ":G", False) >>>
    <<- \0.endswith("s") ->> \1ᵉˢ                                                                   # Nombre ordinal romain singulier. Exemples : IIᵉ, IIIᵉ, IVᵉ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271
    <<- __else__ ->> \1ᵉ                                                                            # Nombre ordinal romain pluriel. Exemples : IIᵉˢ, IIIᵉˢ, IVᵉˢ…|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4271

TEST: la {{1ière}} fois, c’est la plus dure     ->> 1ʳᵉ
TEST: le {{1ier}} de chaque semaine             ->> 1ᵉʳ
TEST: le {{2nd}} du mois                        ->> 2ᵈ
TEST: les {{3ièmes}} années                     ->> 3ᵉˢ
TEST: C’est la {{3ème}} fois…                   ->> 3ᵉ
TEST: Non, la {{2è}} fois.                      ->> 2ᵉ
TEST: François {{Iier}}                         ->> Iᵉʳ
TEST: le {{IInd}} siècle                        ->> IIᵈ
TEST: le {{VIième}} siècle                      ->> VIᵉ
TEST: Le {{XXIème}} siècle.                     ->> XXIᵉ
TEST: le {{XXè}} siècle.                        ->> XXᵉ



!!!! Écritures épicènes invariables                                                                 

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

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


!!!! Dates                                                                                          

__[i]/date(date_jour_mois_année)__
    (\d\d?) (janvier|février|ma(?:rs|i)|a(?:vril|o[ûu]t)|jui(?:n|llet)|septembre|octobre|novembre|décembre) (\d\d\d+)  @@0,w,$ 
    <<- not checkDateWithString(\1, \2, \3) ->> _                                                   # Cette date est invalide.

TEST: {{29 février 2011}}


__[i]/date(date_journée_jour_mois_année1)__
    (lundi|m(?:ardi|ercredi)|jeudi|vendredi|samedi|dimanche),? (?:le |)(\d\d?)-(\d\d?)-(\d\d+)  @@0,w,w,$ 
    <<- not after(r"^ +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.

TEST: {{mercredi}}, le 10-06-2014                                         ->> mardi


__[i]/date(date_journée_jour_mois_année2)__
    (lundi|m(?:ardi|ercredi)|jeudi|vendredi|samedi|dimanche),? (?:le |)(\d\d?) (janvier|février|ma(?:rs|i)|a(?:vril|o[ûu]t)|jui(?:n|llet)|septembre|octobre|novembre|décembre) (\d\d+)  @@0,w,w,$ 
    <<- not after(r"^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDayWithString(\1, \2, \3, \4)
    -1>> =getDayWithString(\2, \3, \4)                                                              # Le jour de la date suivante est incorrect.

TEST: {{mercredi}}, le 10 juin 2014                                       ->> mardi
TEST: {{lundi}}, 18 août 1912                                             ->> dimanche
TEST: lundi, 18 août 1912 avant Jésus-Christ (date imaginaire)


__[i]/date(date_mois_31)__ 31 (avril|juin|septembre|novembre)  @@3
    <<- ->> 30 \1                                                                                   # Cette date est invalide. Il n’y a que 30 jours en \1. 

TEST: le {{31 avril}}


__[i]/date(date_février)__ 3[01] février
    <<- ->> 28 février|29 février                                                                   # Cette date est invalide. Il n’y a que 28 ou 29 jours en février. 

TEST: le {{30 février}}



!!!
!!!
!!! Processeur: épuration des signes inutiles et quelques simplifications                           
!!!
!!!

# fin de phrase
__<s>(p_fin_de_phrase)__        [.?!:;…][ .?!… »”")]*$  <<- ~>> *

# début de phrase
__<s>(p_début_de_phrase)__      ^ *[-–—] <<- ~>> *

# Guillemets et exposants
__<s>(p_guillemets_exposants)__ [«»“”"„`¹²³⁴⁵⁶⁷⁸⁹⁰]+ <<- ~>> *

# Chapitres et références
__<s>(p_chapitre_référence)__   [[({][\dIVXLCDM]+, \d+[])}]   <js>[\[\(\{][\dIVXLCDM]+, \d+[\]\)\}]</js>   <<- ~>> *

# simplification des mots grammaticaux élidés
__[i>(p_qu_apostrophe)__        (lorsqu|puisqu|quoiqu|jusqu|qu)’ @@0 <<- ~>> \1

# le, la ou les chose(s)
__[i>(p_le_ou_les)__            l[ea] ou les {w_2}([(]s[)]) @@$ <<- ~1>> s
__[i](p_le_ou_la)__             l(e ou la|a ou le) {w_2} @@1 <<- ~1>> ’

# les références aux notes
__[i](p_références_aux_notes)__ [a-zéèâàôîù][a-zéèâàôîù-]+(\d+) @@$ <<- not morph(\0, ":", False) ~1>> *

# faux positifs avec adverbes de négation
__[i](p_pas_mal)__              pas mal <<- not morph(word(-1), ":D", False) ~>> *
__[i](p_pas_assez)__            pas assez ({w_2}) @@$ <<- morph(\1, ":A", False) and not morph(word(-1), ":D", False) ~>> *

# faux positifs avec «à chez»
__[i](p_de_chez_à_chez_pronom)__    de chez \w+ (?:à|jusqu à) chez (?:moi|toi|lui|elles?|eux|nous|vous) <<- ~>> * 
__[i](p_de_chez)__                  (jusqu à|de) chez @@0 <<- ~1>> *

# faux positifs
__[i](p_en_tout_et_pour_tout)__ en tout et pour tout <<- ~>> *
__[i](p_au_sortir_de)__         au (sortir) de?s?  @@3 <<- ~1>> *
__[i](p_au_revoir)__            au revoir <<- ~>> au_revoir

# singletons entre parenthèses / crochets / accolades
__<s>(p_singleton_parenthèses)__    [(]\w+[)] <js>\([a-zA-Z]+\)</js> <<- ~>> *
__<s>(p_singleton_accolades)__      [{]\w+[}] <js>\{[a-zA-Z]+\}</js> <<- ~>> *
__<s>(p_singleton_crochets)__       [[]\w+[]] <js>\[[a-zA-Z]+\]</js> <<- ~>> *

# Avocats
__[s](p_Me_nom_propre)__        (Me) [A-ZÉÂÔÈ][\w-]+ @@0 <<- ~1>> *

# Évènements
__[s](p_Mai_68)__               Mai 68 <<- ~>> Mai-68

# Rois, reines, papes et vaniteux du même acabit
__[s](p_titres_et_ordinaux)__   [A-ZÉÂÔÈ]\w+ ([XVI]+|I(?:er|ᵉʳ)) @@$ <<- \1 != "I" ~1>> *

# Marques
__[i](p_Peugeot)__              Peugeot (\d0\d\d?) @@$ <<- ~1>> *

# alors que / dès lors que (éviter d’accorder un participe passé avec un pseudo-COD antérieur)
__[i](p_alors_dès_lors_que)__   (alors|dès lors) que?  @@0 <<- ~1>> _

# Fusion des mots “multiples” (expérimental)
__[s](p_fusion_mots_multiples)__
    [A-Z][a-z]+ [A-Z][a-z]+
    <<- spell(\0.replace(" ", "_")) ~>> =\0.replace(" ", "_")


TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics.


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

__<i]/tu(tu_t_euphonique_incorrect)__
    ([-–—− ]t(?:[’' ][-–—−]?|[-–—−][’' ]?))(ils?|elles?|on|tu)  @@0,$
    <<- re.search("(?i)^(?:ils|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-
__<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-
__<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-}}ils                                   ->> -
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 ?


__[i]/tu(tu_va_t_en)__              va[ -]t[ -]en(?! guerre) <<- ->> va-t’en                        # Une apostrophe est nécessaire (s’en aller).
__[i]/tu(tu_va_t_en_guerre)__       va[ -]t[’' -]en guerres? <<- ->> 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.


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

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


### ce / cet / cette / ces + nom + là
__[i]/tu(tu_ce_cette_ces_nom_là1)__
    c(?:e[st]?|ette) (({w_2}) là)(?! où)  @@$,w <<- morph(\2, ":[NB]", False) -1>> \2-là            # Il manque probablement un trait d’union.
__[i]/tu(tu_ce_cette_ces_nom_là2)__
    c(?:e[st]?|ette) (({w_2}) la)  @@$,w <<- morph(\2, ":[NB]", False) and isEnd() -1>> \2-là       # Il manque probablement un trait d’union.

TEST: Ces {{trois là}} sont incollables.
TEST: Je connais bien cette {{sensation là}}.
TEST: Laisse ce chiot là où il est !


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

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


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

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


__[i]/tu(tu_préfixe_quasi)__
    (?:l(?:es?|a|eurs?)|ce(?:tte|t|s|)|des?|m(?:a|on|es)|[ts](?:es|a)) (quasi ({w1}))  @@$,$ 
    <<- morphex(\2, ":N", ":[AGW]") -1>> quasi-\2                                                   # Il manque un trait d’union : « quasi » s’accroche au mot qui le suit s’il s’agit d’un nom.
    <<- ~1>> \2

TEST: leurs {{quasi indifférences}}


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

TEST: en {{semi liberté}}


__[i]/tu(tu_préfixe_xxxo)__
    (franco|américano|anglo|belgo|électro|ferro|hydro|labio|macro|magnéto|médico|micro|nano|néo|neuro|paléo|physico|politico|rétro|rhino|sino|socio|stéréo) ({w1})  @@0,$
    <<- spell(\1+"-"+\2) and analyse(\1+"-"+\2, ":", False)
    ->> \1-\2                                                                                       # S’il s’agit d’un seul mot, il manque un trait d’union.

TEST: des {{franco américains}}
TEST: {{franco américaine}}                             ->> franco-américaine
TEST: {{ferro électrique}}                              ->> ferro-électrique
TEST: {{rétro ingénierie}}.                             ->> rétro-ingénierie


__[i]/tu(tu_préfixe_pseudo)__
    pseudo ({w_2}) @@$
    <<- morph(\1, ":N") ->> pseudo-\1                                                               # Si vous voulez évoquer le simulacre de “\1”, mettez un trait d’union.
    <<- __also__ ~>> \1
__[i](p_pseudo_xxx)__
    (pseudo-){w_2} @@0 <<- ~1>> *

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


__[i]/tu(tu_préfixe_divers)__
    (anti|auto|arrière|avant|demi|extra|intra|multi|non|post|sans|sous) ({w1})  @@0,$
    <<- spell(\1+"-"+\2) and analyse(\1+"-"+\2, ":", False) and morph(word(-1), ":D", False, not bool(re.search("(?i)^(?:s(?:ans|ous)|non)$", \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


__[i]/tu(tu_mots_composés)__
    (attrape|garde|porte|brise|cache|casse|chauffe|contre|coupe|cure|croque|entre|essuie|lance|lave|lève|marque|pare|passe|perce|pèse|porte|poste|pousse|presse|protège|ramasse|serre|taille|tire|tourne|traîne|vice|vide) ({w1})  @@0,$
    <<- spell(\1+"-"+\2) and analyse(\1+"-"+\2, ":N", False) and morph(word(-1), ":(?:D|V0e)", False, True)
        and not (morph(\1, ":G", False) and morph(\2, ":[GYB]", False))
    ->> \1-\2                                                                                       # Il manque probablement un trait d’union.

TEST: ce sont des {{lève tard}}.


### Tri 1
__[i]/tu(tu_à_tout_va)__                    [àa] tout vas? <<- ->> à tout-va                        # Il manque un trait d’union.
__[i]/tu(tu_aller_retour)__                 allers? retours? <<- ->> =\0.replace(" ", "-")          # Il manque un trait d’union.
__[i]/tu(tu_arc_en_ciel)__                  arcs? en ciel <<- ->> =\0.replace(" ", "-")             # Il manque les traits d’union.
__[i]/tu(tu_après_demain)__                 après demain <<- ->> après-demain                       # Il manque un trait d’union.
__[i]/tu(tu_au_préposition)__               au (delà|dehors|desso?us|devant) @@$ <<- ->> au-\1      # Il manque un trait d’union.
__[i]/tu(tu_avant_hier)__                   avant hier <<- ->> avant-hier                           # Il manque un trait d’union.
__[i]/tu(tu_bouche_à_oreille)__             bouche à oreilles? <<- morph(word(-1), ":D", False) ->> =\0.replace(" ", "-") # Il manque les traits d’union.
__[i]/tu(tu_c_est_à_dire)__                 c’est [àa] dire <<- ->> c’est-à-dire                    # Il manque les traits d’union.
__[i]/tu(tu_chef_d_œuvre_lieu)__            chef (lieu|d’œuvre) @@$ <<- ->> chef-\1                 # Il manque un trait d’union.
__[i]/tu(tu_celui_celle_là_ci)__    ce(?:lles?|lui|ux) (?:là|[cs]i) <<- ->> =\0.replace(" ", "-").replace("si", "ci")     # Il manque un trait d’union.
__[i]/tu(tu_centre_ville)__                 centres? villes? <<- ->> centre-ville|centres-villes    # Il manque un trait d’union.
__[i]/tu(tu_ci_dessous_devant_contre)__     ci (desso?us|devant|contre) @@$ <<- ->> ci-\1           # Il manque un trait d’union.
__[i]/tu(tu_de_ci_de_là)__                  de ci,? de là <<- ->> de-ci de-là|de-ci, de-là          # Il manque les traits d’union.
__[i]/tu(tu_en_contre_bas_partie)__     en contre (bas|partie) @@$ <<- ->> en contre\1|en contre-\1 # Mettez un trait d’union ou soudez.
__[i]/tu(tu_en_contrepoint)__           en (contre[- ]point) @@$ <<- -1>> contrepoint               # Soudez.
__[i]/tu(tu_état_major)__               état major <<- ->> état-major                               # Il manque un trait d’union.
__[i]/tu(tu_grand_chose)__              grand chose <<- ->> grand-chose                             # Il manque un trait d’union.
__[i]/tu(tu_grand_père_mère)__          grands? (?:père|mère)s? <<- ->> =\0.replace(" ", "-")       # Il manque un trait d’union.
__[i]/tu(tu_ici_bas)__                  ici bas <<- ->> ici-bas                                     # Il manque un trait d’union.
__[i]/tu(tu_jusque_là)__                jusque là <<- ->> jusque-là                                 # Il manque un trait d’union.
__[i]/tu(tu_là_adverbe)__       là (bas|haut|desso?us|dedans|devant|derrière) @@3 <<- ->> là-\1     # Il manque un trait d’union.
__[i]/tu(tu_n_est_ce_pas)__             n’est(?: ce[ -]pas|-ce-pas) <<- ->> n’est-ce pas            # Un trait d’union.
__[i]/tu(tu_nord_sud_ouest)__           (nord|sud) ouest @@0 <<- ->> \1-ouest                       # Il manque un trait d’union.
__[i]/tu(tu_nord_sud_est)__             (nord|sud) est @@0 <<- isEnd() ->> \1-est                   # Il manque un trait d’union.
__[i]/tu(tu_outre_mer)__                outre mer <<- ->> outre-mer                                 # Il manque un trait d’union.
__[i]/tu(tu_ouï_dire)__                 ou[iï] dire <<- morph(word(-1), ":G") ->> ouï-dire          # Il manque un trait d’union.
__[i]/tu(tu_par_préposition)__
    par (desso?us|devant|delà|derrière|dehors|dedans|devers)  @@$ 
    <<- ->> par-\1                                                                                  # Il manque un trait d’union.
__[i]/tu(tu_par_ci_par_là)__            par ci,? par là <<- ->> par-ci par-là|par-ci, par-là        # Trait(s) d’union manquant(s).
__[i]/tu(tu_prêt_à_porter)__
    (prêts?) à porter  @@0 
    <<- before(r"(?i)\b(?:les?|du|des|un|ces?|[mts]on) +") ->> \1-à-porter                          # Il manque les traits d’union.
__[i]/tu(tu_plate_forme)__  plates? formes? <<- ->> plate-forme|plates-formes|plateforme|plateformes    # Il manque un trait d’union. Vous pouvez aussi souder les deux mots.
__[i]/tu(tu_quelques_uns_unes)__       quelques (une?s) @@$ <<- ->> quelques-\1                     # Il manque un trait d’union.
__[i]/tu(tu_plus_moins_values)__       (plus|moins) (values?)  @@0,$  <<- ->> \1-\2                 # Il manque un trait d’union.
__[i]/tu(tu_rez_de_chaussée)__         rez de chaussées? <<- ->> rez-de-chaussée                    # Il manque un trait d’union.
__[i]/tu(tu_science_fiction)__         science fiction <<- ->> science-fiction                      # Il manque un trait d’union.
__[i]/tu(tu_stock_option)__            stock options? <<- ->> =\0.replace(" ", "-")                 # Il manque un trait d’union.
__[i]/tu(tu_soi_disant)__              soi disant
    <<- not ( morph(word(-1), ":R", False) and after("^ +qu[e’]") ) ->> soi-disant                  # Il manque un trait d’union.
__[i]/tu(tu_sous_jacent)__             sous (jacente?s?) @@$ <<- ->> sous-\1                        # Il manque un trait d’union.
# sur-mesures
__[i]/tu(tu_vice_président_roi)__      vice (présidente?s?|rois?) @@$ <<- ->> vice-\1               # Il manque un trait d’union.
__[i]/tu(tu_vis_à_vis)__               vis [àa] vis <<- ->> vis-à-vis                               # Il manque les traits d’union.
__[i]/tu(tu_week_end)__                week (ends?) @@$ <<- ->> week-\1                             # Il manque un trait d’union.

TEST: Ils font des tests {{à tout va}}
TEST: marre de faire des {{allers retours}}
TEST: {{le}} {{bouche à oreille}}
TEST: à ce {{moment là}}                                                        ->> moment-là
TEST: une {{plus value}}                                                        ->> plus-value
TEST: Il est {{en-dessous}} de tout.                                            ->> en dessous
TEST: Ils sont {{en-deçà}} de tout                                              ->> en deçà
TEST: {{Là bas}}.                                                               ->> Là-bas 
TEST: {{Au dessus}}                                                             ->> Au-dessus
TEST: {{ci dessus}}                                                             ->> ci-dessus
TEST: {{par dessus}}                                                            ->> par-dessus
TEST: {{au delà}}                                                               ->> au-delà
TEST: {{ci devant}}.                                                            ->> ci-devant
TEST: Il faisait froid cet {{hiver la}}.                                        ->> hiver-là
TEST: {{Ceux la}} vont à la pêche.                                              ->> Ceux-là
TEST: {{en contre bas}}
TEST: mes deux {{grands pères}} sont décédés
TEST: elles vont viennent {{de ci, de là}}.
TEST: mais {{celles là}} sont différentes.
TEST: seulement par {{ouï dire}}.
TEST: ne vois-tu pas que c’est un {{chef d’œuvre}} ?
TEST: Mieux qu’{{avant hier}}.
TEST: nous irons là-bas {{après demain}}.
TEST: L’{{état major}} n’a pas encore tranché la question.
TEST: {{ici bas}}, n’attends rien de bon, à moins que…
TEST: un bel enfoiré, {{c’est à dire}} un hypocrite
TEST: {{jusque là}}, tout va bien
TEST: regarde l’{{arc en ciel}}
TEST: ils sont allés au {{centre ville}}.
TEST: Il ne connaît pas {{grand chose}} à tout ça.
TEST: en {{contre point}},
TEST: {{Quelques unes}} sont très habiles.
TEST: Tout ce que nous faisons {{par ci, par là}}.
TEST: La papesse du {{prêt à porter}} viendra demain.
TEST: sur cette {{plate forme}}, rien ne fonctionne
TEST: Un énorme {{plus value}}.
TEST: Habiter au {{rez de chaussée}}, quelle horreur.
TEST: {{Apporte moi}} ce dictionnaire.                  ->> Apporte-moi
TEST: C’est de la {{science fiction}}.
TEST: Tout ce {{soi disant}} esprit religieux
TEST: {{sous jacent}}                                   ->> sous-jacent
TEST: Il a été nommé {{vice président}}
TEST: Que vas-tu faire {{vis à vis}} d’eux              ->> vis-à-vis
TEST: un super {{week end}}                             ->> week-end
TEST: ils sont partis {{outre mer}}
TEST: elles sont allées au {{sud ouest}}
TEST: {{nord est}}
TEST: des {{stock options}}


# est-ce … ?
__[i]/tu(tu_est_ce)__
    (?<![cCdDlL][’'])(est ce) ({w_2})  @@0,$
    <<- morphex(\2, ":", ":N.*:[me]:[si]|>qui ") and morph(word(-1), ":Cs", False, True)
    -1>> 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


### Tri 2
__[i]/tu(tu_beaux_arts)__       (?:[ld]es|aux) (beaux arts) @@$ <<- -1>> beaux-arts                 # Il manque un trait d’union.
__[i]/tu(tu_basket_volley)__    (basket|volley) ball @@0 <<- ->> \1-ball                            # Il manque un trait d’union.
__[i]/tu(tu_pronom_même)__      (lui|elle|[mts]oi|vous) même @@0 <<- not after("^ +s(?:i |’)") ->> \1-même  # Il manque un trait d’union si “même” se rapporte à “\1”.|https://fr.wiktionary.org/wiki/moi-m%C3%AAme
__[i]/tu(tu_pronom_mêmes)__     (nous|vous|eux|elles) mêmes @@0 <<- ->> \1-mêmes                                        # Il manque un trait d’union.
__[i]/tu(tu_va_et_vient)__      (?:[lcd]es?|un|[mts]on|leurs?|[nv]os|quels?) (vas? et vien[ts]) @@$ <<- -1>> va-et-vient  # Il manque les traits d’union.

TEST: les {{beaux arts}}
TEST: je déteste le {{basket ball}}
TEST: {{Lui même}}                                    ->> Lui-même
TEST: {{eux mêmes}}.                                  ->> eux-mêmes
TEST: un {{va et vient}} incessant me casse la tête


### Noms propres
__[u]/tu(tu_Royaume_Uni)__      Royaume Uni <<- ->> Royaume-Uni             # Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord).
__[u]/tu(tu_Grande_Bretagne)__  Grande Bretagne <<- ->> Grande-Bretagne     # Il manque un trait d’union (s’il s’agit de l’État englobant l’Angleterre, l’Écosse et le pays de Galles).
__[u]/tu(tu_Pays_Bas)__                 (?:[ld]es|aux) (Pays Bas) @@$ <<- -1>> Pays-Bas                         # Il manque un trait d’union.
__[u]/tu(tu_Aix_en_Provence)__          Aix en Provence <<- ->> Aix-en-Provence                                 # Il manque un trait d’union.
__[u]/tu(tu_Bosnie_Herzégovine)__       Bosnie Herzégovine <<- ->> Bosnie-Herzégovine                           # Il manque un trait d’union.
__[u]/tu(tu_Charente_Maritime)__        Charente Maritime <<- ->> Charente-Maritime                             # Il manque un trait d’union.
__[u]/tu(tu_Clermont_Ferrand)__         Clermont Ferr?an[dt] <<- ->> Clermont-Ferrand                           # Il manque un trait d’union.
__[u]/tu(tu_Colombie_Britannique)__     Colombie Britannique <<- ->> Colombie-Britannique                       # Il manque un trait d’union.
__[u]/tu(tu_États_Unis)__               États Unis <<- ->> États-Unis                                           # S’il s’agit des USA, il manque un trait d’union.
__[u]/tu(tu_Franche_Comté)__            Franche Comté <<- ->> Franche-Comté                                     # Il manque un trait d’union.
__[u]/tu(tu_Haute_Département)__        Haute (Garonne|Loire|Marne|Normandie|Corse|Vienne) @@$ <<- ->> Haute-\1 # Il manque un trait d’union.
__[u]/tu(tu_Île_de_France)__            [ÎI]le [dD]e France <<- ->> Île-de-France                               # Il manque les traits d’union.
__[u]/tu(tu_Maison_Blanche)__           Maison Blanche <<- ->> Maison-Blanche                           # Il manque un trait d’union.
__[u]/tu(tu_Moyen_Orient)__             Moyen Orient <<- ->> Moyen-Orient                               # Il manque un trait d’union.
__[u]/tu(tu_Nouveau_Brunswick)__        Nouveau Brunswick <<- ->> Nouveau-Brunswick                     # Il manque un trait d’union.
__[u]/tu(tu_Nouvelle_Qqch)__            Nouvelle (Zélande|Calédonie|Orléans) @@$ <<- ->> Nouvelle-\1    # Il manque un trait d’union.
__[u]/tu(tu_Pas_de_Calais)__            Pas de Calais <<- ->> Pas-de-Calais                             # Il manque les traits d’union.
__[u]/tu(tu_Rhône_Alpes)__              Rhône Alpes <<- ->> Rhône-Alpes                                 # Il manque les traits d’union.
__[u]/tu(tu_Saône_et_Loire)__           Saône et Loire <<- ->> Saône-et-Loire                           # Il manque un trait d’union.
__[u]/tu(tu_Jésus_Christ)__             Jésus Christ <<- ->> Jésus-Christ                               # Il manque un trait d’union.
__[u]/tu(tu_Jean_prénom)__
    Jean (Baptiste|Claude|François|Jacques|Louis|Luc|Marc|Marie|Michel|Paul|Philippe|Pierre)  @@$ 
    <<- ->> Jean-\1                                                                                 # Il manque un trait d’union.
__[u]/tu(tu_Marie_Prénom)__
    Marie (Ange|Agnès|Anne|Antoinette|Cécile|Chantal|Charlotte|Christine|Claire|Claude|Dominique|France|Françoise|Hélène|Jeanne|José|Josèphe|Line|Louise|Madeleine|Noëlle|Odile|Paule|Pierre|Rose|Thérèse)  @@$ 
    <<- ->> Marie-\1                                                                                # Il manque un trait d’union.
__[s]/tu(tu_St_Ste_Bidule)__
    ((Ste?) )[A-ZÉÈÎ]\w+ @@0,0
    <<- -1>> \2-
    # Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté… S’il s’agit d’une personne, écrivez « saint(e) » sans majuscule, sans trait d’union.

TEST: Émigrer au {{Royaume Uni}}
TEST: Étudier en {{Grande Bretagne}}
TEST: Vivre aux {{Pays Bas}}
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: 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: Des vacances en {{Rhône Alpes}}
TEST: Elle déménage en {{Saône et Loire}}
TEST: {{Jésus Christ}}, dernier héros de l’Antiquité
TEST: Elle a quitté {{Jean Paul}}.
TEST: {{Marie Hélène}} s’est perdue dans le dédale
TEST: Elle va prier à {{Ste }}Catherine.


### nombres
__[i]/tu(tu_nombres)__
    (?:dix|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante) (?:deux|trois|six|sept|huit|quatre?|cinqu?|neu[fv])(?:ièmes?|)
    <<- ->> =\0.replace(" ", "-")                                                                   # Il manque un trait d’union.
__[i]/tu(tu_nombres_vingt)__
    vingts? (?:deux|trois|six|sept|huit|quatre?|cinqu?|neu[fv])(?:ièmes?|)
    <<- not before("(?i)quatre $") ->> =\0.replace(" ", "-").replace("vingts", "vingt")             # Il manque un trait d’union.
__[i]/tu(tu_nombres_soixante)__
    soixante (?:douze?|treize?|quatorze?|quinze?|seize?|dix(?:[- ]sept|[- ]huit|[- ]neu[fv]|))(?:ièmes?|)
    <<- ->> =\0.replace(" ", "-")                                                                   # Trait(s) d’union manquant(s).
__[i]/tu(tu_nombres_octante)__
    quatre[- ]vingts? (?:une?|deux|trois|six|sept|huit|quatre?|onze?|douze?|treize?|quatorze?|quinze?|seize?|cinqu?|neu[fv]|dix(?:[- ]sept|[- ]huit|[- ]neu[fv]|))(?:ièmes?|)
    <<- ->> =\0.replace(" ", "-").replace("vingts", "vingt")                                        # Trait(s) d’union manquant(s).
#__[i]tu(tu_nombre et un)__
#    (vingt|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante)[- ](une?|unièmes?)
#   ->> \1 et \2|\1-et-\2                                      # Il manque « et ». (Si vous suivez la réforme orthographique, utilisez des traits d’union.)

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: cent {{mot}}                            ->> mots
TEST: cinquante {{mot}}                       ->> mots
TEST: mille cinquante {{mot}}                 ->> mots
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: deux {{tête}}                           ->> têtes
TEST: {{soixante quatorze}}, c’est trop
TEST: Mais {{vingt trois}}, c’est assez
TEST: La poïesis, en grec, est ce qui permet de faire passer n’importe quoi du non-être à l’être


### Pas de trait d’union
__[i]/tu(tu_deux_tiers)__           deux-tiers <<- ->> deux tiers                                               # Pas de trait d’union.
__[i]/tu(tu_en_bas_haut)__          en-(bas|haut|de(?:ssous|hors|çà)) @@$ <<- ->> en \1                         # Pas de trait d’union.
__[i]/tu(tu_peu_à_peu)__            peu-[aà]-peu <<- ->> peu à peu                                              # Pas de trait d’union.
__[i]/tu(tu_s_il_te_plaît)__        s’il-(?:[tm]e|[vn]ous)-pla[îi]t <<- ->> =\0.replace("-", " ")               # Pas de traits d’union.
__[i]/tu(tu_tout_à_fait)__          tout-à-fait <<- ->> tout à fait                                             # Pas de trait d’union.
__[i]/tu(tu_trois_quarts)__         trois-quarts? <<- not morph(word(-1), ":D", False, False) ->> trois quarts  # Pas de trait d’union.
__[i]/tu(tu_parce_que)__            parce-que? <<- ->> =\0.replace("-", " ")                                    # Pas de trait d’union.
__<i]/tu(tu_qqch_ça_aussi_donc)__   \b-(?:ç[aà]|aussi|donc) <<- ->> =\0.replace("-", " ")                       # Pas de trait d’union.
__[i]/tu(tu_d_entre_pronom)__       d’entre-(?:nous|vous|eux|elles) <<- ->> =\0.replace("-", " ")               # Pas de trait d’union.

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: {{Trois-quarts}} des participantes y sont parvenues.
TEST: {{Parce-qu}}’ils y croient plus que tout.
TEST: Oui, ça{{-aussi}}.
TEST: Peu {{d’entre-nous}} savent ce dont il s’agit.


__[i]/tu(tu_y_attaché)__
    (y[’-])({avoir_etre})(?:-(?:t-|)(?:ils?|elles?|je|tu|on|nous|vous)|) @@0,2
    <<- morph(\2, ":V0|>en ", False) -1>> "y "                                                      # Ici, ni apostrophe, ni trait d’union.

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


__[i]/tu(tu_lorsque)__
    lors que?
    <<- not before(r"(?i)\bd[eè]s +$") ->> =\0.replace(" ", "")                                     # Attachez les deux mots.|https://fr.wiktionary.org/wiki/lorsque

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.


!!!! Virgules                                                                                       

# Dialogues
__[u]/virg(virgule_dialogue_après_nom_propre)__
    ([A-ZÉÈ][\w-]+) (\w+-(?:moi|toi|l(?:ui|a|e(?:ur|s|))|nous|vous|je|tu|ils|elles))  @@0,$
    <<- morphex(\1, ":M", ":G") and not morph(\2, ":N", False) and isStart()
    -1>> \1,                                                                        # 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 ?


__[u]/virg(virgule_dialogue_avant_nom_propre)__
    ({w1})(-l(?:es?|a)(?:-(?:[mt]oi|[nv]ous|lui|leur)|)) ([A-ZÉÈ][\w-]+)   @@0,*,$
    <<- morph(\1, ":E", False) and morph(\3, ":M", False)
    -2>> \2,                                                                        # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique.

TEST: viens et donne{{-le}} Paul.
TEST: donne{{-le-moi}} Camille.
TEST: donne-moi Alice.
TEST: Tape-toi Patrick.


__[u]/virg(virgule_après_verbe_COD)__
    l(?:es?|a) ({w_2}(?:[ei]r|re)) ([A-ZÉÂÔÈ][\w-]+)  @@w,$
    <<- morph(\1, ":Y", False) and morph(\2, ":M", False) and not morph(word(-1), ">à ", False, False)
    -1>> \1,                                                                                        # 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.



!!!! Apostrophe manquante (2)                                                                       

__<s>/typo(typo_apostrophe_manquante_audace2)__
    ^ *([LDSNCJMTÇ] )[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ]  @@*
    <<- option("mapos") -1>> =\1[:-1]+"’"                                                           # 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                                          

__<s]/typo(typo_À_début_phrase1)__
    ^ *(A) (?!t[’-](?:ils?|elles?|on))({w_2})  @@*,$
    <<- morphex(\2, ":[GNAY]", ":(?:Q|3s)|>(?:priori|post[eé]riori|contrario|capella|fortiori) ")
        or (\2 == "bientôt" and isEnd())
    -1>> À                                                                                          # S’il s’agit de la préposition « à », il faut accentuer la majuscule.
__<s>/typo(typo_À_début_phrase2)__
    ^ *(A) [ldnms]’  @@*  <<- -1>> À                                                                # S’il s’agit de la préposition « à », il faut accentuer la majuscule.
__<s>/typo(typo_À_début_phrase3)__
    ^ *(A) t’(?!il |elle |ont? )  @@*  <<- -1>> À                                                   # 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                                                                    

__[i]/maj(maj_accents)__
    E(?:tat|glise|co(?:le|nomie)|quipe|té)s? @@1
    <<- ->> ="É"+\0[0:1]                                                                            # Accentuez les majuscules.
    <<- ~>> ="É"+\0[0:1]

TEST: Le budget de l’{{Etat}}.



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

# mots grammaticaux
__[i](d_dans)__
    dans
    <<- not morph(word(-1), ":D.*:p|>[a-z]+ièmes ", False, False) =>> select(\0, ":R")

__[i](d_ton_son)__
    (\w+) ([ts]on)  @@0,$
    <<- morph(\1, ">(?:le|ce[st]?|ton|mon|son|quel(?:que|)s?|[nv]otre|un|leur|ledit|dudit) ") =>> exclude(\2, ":D")

# Pronoms le/la/les
__[i](d_je_le_la_les)__
    je (l(?:e(?:ur|s|)|a)) @@$                  <<- not morph(word(-1), ":1s", False, False) =>> select(\1, ":Oo")
__[i](d_tu_le_la_les)__
    tu (l(?:e(?:ur|s|)|a)) @@$                  <<- not morph(word(-1), ":2s", False, False) =>> select(\1, ":Oo")
__[i](d_il_elle_on_le_la_les)__
    (?:il|elle|on) (l(?:e(?:ur|s|)|a)) @@$      <<- not morph(word(-1), ":3s", False, False) =>> select(\1, ":Oo")
__[i](d_nous_le_la_les)__
    nous (l(?:e(?:ur|s|)|a)) @@$                <<- not morph(word(-1), ":1p", False, False) =>> select(\1, ":Oo")
__[i](d_vous_le_la_les)__
    vous (l(?:e(?:ur|s|)|a)) @@$                <<- not morph(word(-1), ":2p", False, False) =>> select(\1, ":Oo")
__[i](d_nous)__
    (nous) ({avoir_etre}) @@0,$                 <<- not morph(\2, ":1p", False) =>> exclude(\1, ":Os")
__[i](d_vous)__
    (vous) ({avoir_etre}) @@0,$                 <<- not morph(\2, ":2p", False) =>> exclude(\1, ":Os")
__[i](d_ils_elles_le_la_les)__
    (?:ils|elles) (l(?:e(?:ur|s|)|a)) @@$       <<- not morph(word(-1), ":3p", False, False) =>> select(\1, ":Oo")
__[i](d_ne_me_te_te_le_la_leur)__
    [nmts]e (l(?:e(?:ur|s|)|a)) @@$             <<- =>> =select(\1, ":Oo")


# verbe
__[i](d_ne_verbe)__
    ne +(?:l(?:es? |eurs? |ui |a |’)|[nv]ous |)({w_1}) @@$
    <<- not morph(\1, ":(?:O[sp]|X)", False) =>> select(\1, ":V")
__[i](d_n_m_t_s_verbe)__
    [nmts]’(?:en +|y +|)({w_1}) @@$
    <<- not morph(\1, ":X", False) =>> select(\1, ":V")
__[i](d_me_te_se_verbe)__
    [mts]e +(?:l(?:es? +|a +|’)|)({w_2})  @@$
    <<- =>> select(\1, ":V")
__[i](d_je_verbe)__
    j’(?:en +|y +|)({w_1}) @@$
    <<- =>> select(\1, ":[123][sp]")
__[i](d_je_il_ils_on_verbe)__
    (?:je|ils?|on) +(?:l(?:es? +|la +|’)|[nv]ous +|)({w_1}) @@$
    <<- not morph(\1, ":(?:Oo|X)", False) =>> select(\1, ":[123][sp]")
__[i](d_tu_verbe)__
    tu +(?:l(?:es? +|la +|’)|[nv]ous +|)({w_1}) @@$
    <<- morph(word(-1), ":Cs", False, True) and not morph(\1, ":(?:Oo|X)", False) =>> select(\1, ":[123][sp]")
__[s](d_nom_propre_verbe)__
    ([A-ZÉÈ]{w_1}) +({w_1})  @@0,$
    <<- morph(\1, ":M") and \2.islower() and morphex(\2, ":[123][sg]", ":Q") and morph(\2, ":N", False) and morph(word(-1), ":Cs", False, True)
    =>> select(\2, ":[123][sp]")
    <<- morph(\1, ":M", False) and morphex(\2, ":[123]s|>(?:[nmts]e|nous|vous) ", ":A") and isStart() =>> =select(\1, ":M")
__[i](d_que_combien_pourquoi_en_y_verbe)__
    (?:que?|combien|pourquoi) +(?:en +|y +|)({w_3}) @@$
    <<- =>> exclude(\1, ":E")

# groupe nominal
__[i](d_aucun_non_verbe)__
    aucun +({w_4}) @@$
    <<- morph(\1, ":[NA].*:[me]", False) =>> exclude(\1, ":V")
__[i](d_de_non_verbe)__
    d(?:e +|’)({w_1}) @@$
    <<- not morph(\1, ":[YD]", False) =>> exclude(\1, ":V")
__[i](d_d_un_une_non_verbe)__
    d’une? ({w_1}) @@$
    <<- =>> exclude(\1, ":V")
__[i](d_déterminant_non_verbe)__
    (?:des|chaque|quelques?|cet(?:te|)|m(?:on|a)|[ts]a|aux?) +({w_1}) @@$
    <<- =>> exclude(\1, ":V")
__[i](d_de_la_non_verbe)__
    de l(?:a |’)({w_2}) @@6
    <<- not morph(\1, ":Y", False) =>> exclude(\1, ":V")
__[i](d_de_pronom_non_verbe)__
    de (?:tel(?:le|)s?|ce(?:tte|t|s)|[ts](?:a|es)|m(?:on|a|es)|[nv]o(?:tre|s)|plein) +({w_2})  @@$
    <<- =>> exclude(\1, ":V")
__[i](d_par_non_verbe)__
    par +({w_3}) @@$
    <<- =>> exclude(\1, ":V[123]")
__[i](d_très_non_verbe)__
    très +({w_2}) @@$
    <<- =>> exclude(\1, ":[123][sp]")

# divers
__[i](p_bac_plus_nombre)__
    bac ?([+] ?\d\d?) @@$
    <<- ~1>> *
    <<- =>> define(\0, [":N:e:i"])


TEST: il s’agit d’{{un}} {{anagramme}}
TEST: nul ne sait qui arriva à ce pauvre Paul surpris par la pluie.
TEST: elle finit par être très fière de son fils.




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


# virgules
__[s>/ocr(ocr_virgules)__
    (?:[iI]l|l(?:es?|a)|[dnmtsDNMTS]e|[àÀ]|[cC]e(?:te|t|)|[mM](?:on|a)|[TS]a|[qQ]uelques?|[aA]ux?),
    <<- not /0.endswith("…") ->> =\0[:-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 ?


# Nombres
__[s]/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.


# âge / age
__[i]/ocr(ocr_age)__        ages? <<- ->> =\0.replace("a", "â").replace("A", "Â")                   # Erreur de numérisation ?

TEST: __ocr__ À son {{age}}, on ne sait plus ce qu’on fait.


# autre / antre
__[i]/ocr(ocr_autre)__      antres? <<- ->> =\0.replace("n", "u")                                   # Erreur de numérisation ?

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


# avec / aven / arec
__[i]/ocr(ocr_avec)__       a(?:rec|ven) <<- ->> avec                                               # Erreur de numérisation ?

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

# avaient / avalent
__[i]/ocr(ocr_avaient)__    avalent <<- ->> avaient                                                 # Erreur de numérisation ?

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


# avais / avals / axais
__[i]/ocr(ocr_avis)__       a(?:val|xai)s <<- ->> avais                                             # Erreur de numérisation ?

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


# car dans / cardans
__[i]/ocr(ocr_car_dans)__   cardans <<- ->> car dans                                                # Erreur de numérisation ?

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


# chère / obère
__[i]/ocr(ocr_chère)__      obère <<- not before(r"(?i)\b([jnlmts]’|il |on |elle )$") ->> chère     # Erreur de numérisation ?

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


# celui / celai
__[i]/ocr(ocr_celui)__      celai <<- not before(r"(?i)\b[jn]e +$") ->> celui                       # Erreur de numérisation ?

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


# ces / cos
__[i]/ocr(ocr_ces)__        cos <<- ->> ces                                                         # Erreur de numérisation ?

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


# C’était / Celait
__[i]/ocr(ocr_c_était)__    celait <<- ->> c’était                                                  # Erreur de numérisation ?

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


# cette / celte
__[i]/ocr(ocr_cette1)__     (cel[tl]e) ({w_2})  @@0,$ <<- morph(\2, ":N.*:f:s", False) -1>> 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.


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

TEST: __ocr__ on poirautait, {{cotte}} mariée n’arrivait pas à se décider.


# Comme / Gomme
__[s]/ocr(ocr_comme)__      Gomme <<- not morph(word(1), ">(?:et|o[uù]) ") ->> Comme                # Erreur de numérisation ?

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


# Comment / Gomment
__[s]/ocr(ocr_comment)__    Gomment <<- ->> Comment                                                 # Erreur de numérisation ?

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


# contre / coutre / contra
__[i]/ocr(ocr_contre)__     co[un]tr[ea] <<- not re.search("(?i)^contre$", \0) ->> contre           # Erreur de numérisation ?

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


# de / da
__[i]/ocr(ocr_de)__         da <<- ->> de                                                           # Erreur de numérisation ?

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


# dans / bans / clans
__[i]/ocr(ocr_dans1)__      bans <<- not morph(word(-1), ":D.*:p", False, False) ->> dans           # Erreur de numérisation ?
__[s]/ocr(ocr_dans2)__
    (clans) (?:les?|la|ce(?:tte|t|s|)|des?|[mts](?:on|a|es)|leurs?|[nv]os|cha(?:que|cun)|tou(?:tes?|s|t))  @@0
    <<- not morph(word(-1), ":D.*:p", False, False) -1>> 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.


# dame / darne
__[i]/ocr(ocr_dame)__
    darnes
    <<- ->> =\0.replace("rn", "m")                                                                  # Erreur de numérisation ?

TEST: __ocr__ ces {{darnes}} arrivèrent avec dix minutes d’avance.


# dé / de / dés / des / dès
__[i]/ocr(ocr_de_des1)__
    dés?
    <<- \0.endswith("é") and not morph(word(-1), ":D.*:m:[si]", False, False) ->> de                # Erreur de numérisation ?
    <<- \0.endswith("s") and not morph(word(-1), ":D.*:m:p", False, False) ->> des|dès              # Erreur de numérisation ?

TEST: __ocr__ {{dés}} fois, ça ne passe pas
TEST: __ocr__ {{dé}} gros camions circulaient toute la journée


# de / dos
__[i]/ocr(ocr_de_des2)__
    dos?
    <<- \0.endswith("o") ->> de                                                                     # Erreur de numérisation ?
    <<- __else__ and not morph(word(-1), ":D.*:[me]", False, False) ->> des|dès                     # Erreur de numérisation ?

TEST: __ocr__ {{dos}} camions cabossés à n’en plus finir


# de la / delà
__[i]/ocr(ocr_de_la)__      delà <<- not before(r"(?i)\bau ") ->> de la|de là                       # Erreur de numérisation ?

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


# doute / cloute
__[i]/ocr(ocr_doute)__      cloute <<- ->> doute                                                    # Erreur de numérisation ?

TEST: __ocr__ Sans aucun {{cloute}}.


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

TEST: __ocr__ prendre {{dû}} bon temps


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

TEST: __ocr__ {{Elfes}} s’ennuyaient à mourir.


# est / ost
__[i]/ocr(ocr_est)__        ost <<- ->> est                                                         # Erreur de numérisation ?

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


# et / cl
__[i]/ocr(ocr_et)__         [cE][l1] <<- 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
__[i]/ocr(ocr_état)__
    étals?
    <<- \0.endswith("l") ->> état                                                                   # Erreur de numérisation ?
    <<- __else__ ->> étais|états                                                                    # Erreur de numérisation ?

TEST: __ocr__ Quels {{étals}} sont venus ?


# étaient / étalent
__[i]/ocr(ocr_étaient)__    étalent <<- ->> étaient                                                 # Erreur de numérisation ?

TEST: __ocr__ Ce qu’ils {{étalent}} vraiment, nul ne le savait.


# fille / tille
__[i]/ocr(ocr_fille)__      tille <<- ->> fille                                                     # Erreur de numérisation ?

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


# fut / rut
__[i]/ocr(ocr_fut)__        rut <<- ->> fut                                                         # Erreur de numérisation ?

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

# il / n
__[s]/ocr(ocr_il)__
    (n )([bcdfghjklmnpqrstvwxz][\w-]+)  @@0,$
    <<- isStart() and morph(\2, ":(?:O[on]|3s)", False) -1>> "il "                                  # Erreur de numérisation ?

TEST: __ocr__ {{n }}contient trop de soufre.


# il / ils / U / Us
__[s]/ocr(ocr_il_ils2)__
    Us?
    <<- \0.endswith("s") ->> Ils|ils                                                                # Erreur de numérisation ?
    <<- __else__ ->> Il|il                                                                          # Erreur de numérisation ?

TEST: __ocr__ {{Us}} arrive demain.


# il / i1 / if / 11
__[s]/ocr(ocr_il_ils3)__
    [iI1][1f]s?
    <<- not \0.endswith("s") ->> Il|il                                                              # Erreur de numérisation ?
    <<- __else__ ->> Ils|ils                                                                        # Erreur de numérisation ?

TEST: __ocr__ {{i1s}} en savent beaucoup trop pour leur propre bien.


# fa / la
__[i]/ocr(ocr_la)__         fa <<- ->> la                                                           # Erreur de numérisation ?

TEST: __ocr__ dans {{fa}} demeure


# large / largo
__[i]/ocr(ocr_large)__      largos? <<- ->> =\0.replace("o", "e")                                   # Erreur de numérisation ?

TEST: __ocr__ elle pense {{largo}}


# l’ / j’ / Y / I
__[s]/ocr(ocr_lj1)__
    (Y[ ’'])([aâeéèêëiîïoôuy][\w-]+) @@0,2
    <<- before(r"(?i)\w") or not morph(\2, ":Y", False) -1>> l’|L’|j’|J’                            # Erreur de numérisation ?
__[s]/ocr(ocr_lj2)__
    ([Ii1][ ’'])([aâeéèêëiîïoôuy][\w-]+) @@0,2
    <<-  -1>> l’|L’|j’|J’                                                                           # Erreur de numérisation ?

TEST: __ocr__ {{Y’}}arrive demain.
TEST: __ocr__ {{I’}}arrive demain.


# !
__<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", False) and not morph(word(-1), ":R", False) ->> " !"               # 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.


# l’ / V / P
__[s]/ocr(ocr_lv)__
    V({w_2}) @@1
    <<- \0.istitle() and before(r"(?i)\w") and morphex(\0, ":", ":M") >>>
    <<- spell(\1) ->> v\1|l’\1                                                                      # Erreur de numérisation ?
    <<- __else__ ->> v\1                                                                            # Erreur de numérisation ?
__[s]/ocr(ocr_lp)__
    P([aâeéêèiîïoôuy]{w_1}) @@1
    <<- before(r"(?i)\w") and morphex(\0, ":", ":M") and spell(\1) ->> l’\1|p\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é.


# l’était / Tétait
__[s]/ocr(ocr_l_était)__
    Tétait
    <<- before(r"(?i)\w") ->> l’était                                                               # Erreur de numérisation ?

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


# le les / lé / lés
__[i]/ocr(ocr_le_les)__
    lés?
    <<- ->> =\0.replace("é", "e").replace("É", "E")                                                 # Erreur de numérisation ?

TEST: __ocr__ il s’agit de {{lés}} observer.


__[i]/ocr(ocr_le_la)__
    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


# les / lai / lei
__[i]/ocr(ocr_lui_les)__    l[ae]i <<- ->> lui|les                                                  # Erreur de numérisation ?

TEST: __ocr__ {{lai}} gros sont mal vus.


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

TEST: __ocr__ {{lu}} as si bien réussi


# M. / Mr / M
__[s>/ocr(ocr_mr)__         (M(?:, | ))[A-ZÉÈ] @@0 <<- -1>> "Mr |M. "                               # Erreur de numérisation ?

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


# Mais / Hais / Mats / niais
__[u]/ocr(ocr_mais1)__      Hais <<- ->> Mais                                                       # Erreur de numérisation ?
__[i]/ocr(ocr_mais2)__      mats <<- not morph(word(-1), ":D:[me]:p", False, False) ->> mais        # Erreur de numérisation ?
__[i]/ocr(ocr_mais3)__      maïs <<- not morph(word(-1), ":D:(?:m:s|e:p)", False, False) ->> mais   # Erreur de numérisation ?
__[s]/ocr(ocr_mais4)__
    niais <<- not morph(word(-1), ">(?:homme|ce|quel|être) ", False, False) ->> 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.


# même / même / mème / mémo / môme
__[i]/ocr(ocr_même1)__      mômes?
    <<- \0.endswith("e") and not morph(word(-1), ":D.*:[me]:[si]", False, False) ->> même           # Erreur de numérisation ?
    <<- \0.endswith("s") and not morph(word(-1), ":D.*:[me]:[pi]", False, False) ->> mêmes          # Erreur de numérisation ?
__[i]/ocr(ocr_même2)__      mèmes? <<- ->> =\0.replace("è", "ê").replace("È", "Ê")                  # Erreur de numérisation ?
__[i]/ocr(ocr_même3)__      mémos? <<- ->> =\0.replace("é", "ê").replace("É", "Ê")                  # 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}}.


# mot / mol
__[i]/ocr(ocr_mot)__
    mols?
    <<- ->> =\0.replace("l", "t").replace("L", "T")                                                 # Erreur de numérisation ?

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


# mon / won
__[i]/ocr(ocr_mon)__        won <<- ->> mon                                                         # Erreur de numérisation ?

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


# ne / na / no / rie
__[i]/ocr(ocr_ne1)__        n[oa] <<- ->> ne                                                        # Erreur de numérisation ?
__[s]/ocr(ocr_ne2)__        rie <<- ->> 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
__[i]/ocr(ocr_nous)__       nou[ea] <<- ->> nous                                                    # Erreur de numérisation ?

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


# par / paf / pan / pat
__[i]/ocr(ocr_par)__        pa[fnt] <<- ->> par                                                     # Erreur de numérisation ?

TEST: __ocr__ Une seule action {{paf}} jour


# par le / par la / par les / parle / parla / parles
__[i]/ocr(ocr_par_le)__
    (parle) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(?:ne|il|on|elle|je) +$") and morph(\2, ":[NA].*:[me]:[si]", False) -1>> par le  # Erreur de numérisation ?
__[i]/ocr(ocr_par_la)__
    (parla) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(?:ne|il|on|elle) +$") and morph(\2, ":[NA].*:[fe]:[si]", False) -1>> par la     # Erreur de numérisation ?
__[i]/ocr(ocr_par_les)__
    (parles) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(?:ne|tu) +$") and morph(\2, ":[NA].*:[pi]", False) -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
__[i]/ocr(ocr_pendant)__    pondant <<- ->> pendant                                                 # Erreur de numérisation ?

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


# peu / peut / peux / pou
__[i]/ocr(ocr_peu_peux_peut)__
    poux?
    <<- \0.endswith("u") and not morph(word(-1), ":D.*:m:s", False, False) ->> peu                  # Erreur de numérisation ?
    <<- \0.endswith("x") and not morph(word(-1), ":D.*:m:p", False, False) ->> peux|peut|pour       # Erreur de numérisation ?

TEST: __ocr__ il est {{pou}} probable qu’il y parvienne.


# plus / pins
__[i]/ocr(ocr_plus)__       pins <<- ->> plus                                                       # Erreur de numérisation ?

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


# puis / pois
__[i]/ocr(ocr_puis)__       pois <<- not morph(word(-1), ":D.*:m:p", False, False) ->> puis         # Erreur de numérisation ?

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


# pour / pouf
__[i]/ocr(ocr_pour)__       pouf <<- not morph(word(-1), ":D.*:f:s", False, False) ->> pour         # Erreur de numérisation ?

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


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

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


# que / quo
__[i]/ocr(ocr_que)__
    qu[oa]
    <<- \0.endswith("a") and not before("sine +$") ->> que                                          # Erreur de numérisation ?
    <<- \0.endswith("o") and not before("statu +$") ->> que                                         # Erreur de numérisation ?

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


# qu’importe
__[i]/ocr(ocr_qu_importe)__
    qu (importé)  @@3
    <<- -1>> importe                                                                                # Erreur de numérisation ?

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


# qui / gui
__[i]/ocr(ocr_qui)__        gui <<- not morph(word(-1), ":D.*:m:s", False, False) ->> qui           # Erreur de numérisation ?

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


# s’il / sil
__[i]/ocr(ocr_s_il)__
    sils?
    <<- \0.endswith("s") ->> s’ils                                                                  # Erreur de numérisation ?
    <<- __else__ ->> s’il                                                                           # Erreur de numérisation ?

TEST: __ocr__ {{sil}} avait su, il n’aurait rien tenté de trop audacieux.


# sur / sar
__[i]/ocr(ocr_sur)__        sar <<- ->> sur                                                         # Erreur de numérisation ?

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


# tard / lard
__[s]/ocr(ocr_tard)__       lard <<- not before(r"(?i)\b(?:ce|[mts]on|du|un|le) $") ->> tard        # Erreur de numérisation ?

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


# tandis que / taudis
__[i]/ocr(ocr_tandis)__     (taudis) que? @@0 <<- -1>> tandis                                       # Erreur de numérisation ?

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


# l’est / Test
__[i]/ocr(ocr_l_est)__
    Test
    <<- before(r"(?i)\w") ->> l’est                                                                 # Erreur de numérisation ?

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


# tête / tète
__[i]/ocr(ocr_tête)__       tète
    <<- not before(r"(?i)\b(?:je|il|elle|on|ne) $")
    ->> =\0.replace("è", "ê").replace("È", "Ê")                                                     # Erreur de numérisation ?

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


# tin / fin / un
__[i]/ocr(ocr_fin_un)__     tin <<- ->> fin|un                                                      # Erreur de numérisation ?

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


# ton / tan
__[i]/ocr(ocr_ton)__        tans? <<- ->> =\0.replace("a", "o").replace("A", "O")                   # Erreur de numérisation ?

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


# toute / tonte
__[i]/ocr(ocr_toute)__      tontes? <<- ->> =\0.replace("n", "u").replace("N", "U")                 # Erreur de numérisation ?

TEST: __ocr__ à {{tonte}} fin utile


# tu es / tues
__[i]/ocr(ocr_tu_es)__      tues
    <<- not morph(word(-1), ":(?:N.*:f:p|V0e.*:3p)", False, False) ->> tu es                        # Erreur de numérisation ?

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


# un / vin
__[i]/ocr(ocr_un)__         vin <<- not before(r"(?i)\b(?:ce|d[eu]|un|quel|leur|le) +") ->> un      # Erreur de numérisation ?

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


# une / ure / vine
__[i]/ocr(ocr_une1)__       ure <<- ->> une                                                         # Erreur de numérisation ?
__[i]/ocr(ocr_une2)__       vine <<- ->> une                                                        # Erreur de numérisation ?

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


# vous / voua / voue
__[i]/ocr(ocr_vous)__       vou[ae] <<- ->> vous                                                    # Erreur de numérisation ?

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


## Casse
__[s]/ocr(ocr_casse1)__
    [A-ZÉÈÂÊÎÔ]{w_1}
    <<- \0.istitle() and before(r"(?i)\w") >>>
    <<- morphex(\0, ":G", ":M") ->> =\0.lower()                                                     # Erreur de numérisation ? Casse improbable.
    <<- __else__ and morphex(\0, ":[123][sp]", ":[MNA]|>Est ") ->> =\0.lower()                      # Erreur de numérisation ? Casse improbable.

TEST: __ocr__ votre ami la regarde, {{Vous}} ne l’avez pas achetée
TEST: __ocr__ pour accommoder son regard, {{La}} lourde forme demeure
TEST: __ocr__ parler de Nicole, {{Le}} sommeil ne vient pas.
TEST: __ocr__ a fait de toi, Charles, {{Tu}} étais beau quand
TEST: __ocr__ s’habituer à se faire servir, {{Au}} début ça
TEST: __ocr__ Tu as tué ce petit garçon, Henri, {{Et}} tu le sais.
TEST: __ocr__ d’un fil de plastique transparent, {{Il}} l’agite
TEST: __ocr__ sur une glace noire {{Les}} lumières du port
TEST: __ocr__ le roulis du bateau {{Le}} faisant heurter
TEST: __ocr__ si vous {{La}} désirez
TEST: __ocr__ sa main se referme sur {{Je}} livre


__[s]/ocr(ocr_casse2)__
    {w2}-(On|Ils?|Elles?|Tu|Je|Nous|Vous|Mêmes?|Ci|Là|Une?s) @@$
    <<- -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.


__[s>/ocr(ocr_casse3)__
    [LDNMTSCÇ]’
    <<- before(r"(?i)\w") ->> =\0.lower()                                                           # Erreur de numérisation ? Casse douteuse.

TEST: __ocr__ regarde dans l’obscurité de {{L’}}entrepôt


## 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(r"\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.

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


!!
!!
!!!! Incohérences de base                                                                           
!!
!!

### double négation
__[i](double_négation)__
    pas (personne|aucune?|jamais)  @@4
    <<- not morph(word(-1), ":D:[me]" ,False, False) ->> \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)
__[s](incohérences_globales1)__
    ([clmtsCLMTS]es|[nvNV]os) ([cdlmst]es|[nv]os|cettes?|[mts]a|mon|je|tu|ils?|elle?|[vn]ous|on)  @@0,$
    <<- -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.
__[s](incohérences_globales2)__
    ([cC]e(?:tte|t|)|[mtsMTS]a|[mM]on) ([cdlmst]es|[nv]os|cettes?|[mts]a|mon|je|tu|ils?|elle?|[vn]ous|on)  @@0,$
    <<- -2>> =suggSimil(\2, ":[NA].*:[si]", 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: Mon {{il}} est une merveille.


__[s](incohérence_globale_au_qqch)__
    ([aA]u) ({w2})  @@0,$
    <<- not \2.isupper() >>>
    <<- morph(\2, ">(?:[cdlmst]es|[nv]os|cettes?|[mts]a|mon|je|tu|ils?|elle?|[vn]ous|on|parce) ", False)
    -2>> =suggSimil(\2, ":[NA].*:[si]", True)                                                       # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.
    <<- __else__ and morph(\2, ">quelle ", False) ->> auquel|auxquels|auxquelles                    # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/auquel
    <<- __else__ and \2 == "combien" and morph(word(1), ":[AY]", False) -1>> ô                      # Incohérence probable.|https://fr.wiktionary.org/wiki/%C3%B4_combien

TEST: au {{nos}} enfants.
TEST: {{Au quel}} faut-il s’adresser ?
TEST: Au MES, rien de nouveau.


__[s](incohérence_globale_aux_qqch)__
    ([aA]ux) ({w2})  @@0,$
    <<- not \2.isupper() >>>
    <<- morph(\2, ">(?:[cdlmst]es|[nv]os|cettes?|[mts]a|mon|je|tu|ils?|elle?|[vn]ous|on|parce) ", False)
    -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                       # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.
    <<- __else__ and morph(\2, ">quelle ", False) ->> auxquels|auxquelles                           # Incohérence. Soudez les deux mots.|https://fr.wiktionary.org/wiki/auquel
    <<- __else__ and \2 == "combien" and morph(word(1), ":[AY]", False) -1>> ô                      # Incohérence probable.|https://fr.wiktionary.org/wiki/%C3%B4_combien

TEST: ils jouent aux {{des}}.
TEST: {{Aux quels}} a-t-il adressé sa requête. ?
TEST: Des individus {{aux}} combien sensibles aux usages.


__[s](incohérences_globales3)__
    ([dD]es) ([cdlmst]es|[nv]os|cettes?|[mts]a|mon|je|tu|ils?|elle?|[vn]ous|on)  @@0,$
    <<- -2>> =suggSimil(\2, ":[NA].*:[pi]", True)                                                   # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.
    <<- -1>> de                                                                                     # Incohérence : les mots “\1” et “\2” ne devraient pas se succéder.

TEST: je ne sais {{des}} {{ses}} choses.



!!
!!
!!!! Style                                                                                          
!!
!!

#__bs__  Mr <<- ->> M.                          # M. est l’usage courant pour “Monsieur”. « Mr » est l’abréviation ancienne, française.

# à / en
__[i]/bs(bs_en_à_ville)__
    (en) A(?:gen|miens|ngers|jjacio|rles|vignon)  @@0
    <<- -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é
__[i]/bs(bs_avoir_été_chez)__
    (?<!l’)({avoir}) été chez  @@0
    <<- not re.search("(?i)^avoir$", \1) and morph(\1, ">avoir ", False)
    ->> _                                                                                           # 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.


# abyme / abîme
__[i]/bs(bs_mise_en_abyme)__
    mis\w+ en (ab[îi]mes?) @@$ <<- -1>> 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
__[i]/bs(bs_à_date)__
    ({etre}|m\w+) ([aà] date)  @@0,$  <<- morph(\1, ">(?:être|mettre) ", False) -2>> à jour         # Anglicisme incompris hors du Québec.
__[i]/bs(bs_jusquà_date)__
    jusqu [àa] date <<- ->> 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}}


# incessamment sous peu
__[i]/bs(bs_incessamment_sous_peu)__
    incessamment +sous (peu[tx]?)  @@$
    <<- not \1.endswith("u") -1>> peu                                                               # Confusion.|https://fr.wiktionary.org/wiki/sous_peu
    <<- __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: ils arrivent {{incessamment sous peu}}.


# pire
__[i]/bs(bs_pire)__          (?:moins|aussi|plus) (pires?) @@$ <<- -1>> mauvais|mauvaise|mauvaises  # Tournure erronée. Utilisez « mauvais ».|http://www.academie-francaise.fr/plus-pire-moins-pire
__[i]/bs(bs_de_mal_en_pis)__ de mal en pires? <<- ->> de mal en pis                                 # Tournure erronée. Utilisez « de mal en pis ».
__[i]/bs(bs_au_pis_aller)__  au pire aller <<- ->> au pis aller                                     # Tournure erronée. Utilisez « 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
__[i]/bs(bs_pour_ne_pas_que)__
    pour ne pas que?  <<- ->> _
    # Tournure familière. É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.


# très / trop
__[i]/bs(bs_très_trop_superflu)__
    tr(ès|op) (beaucoup|assez|mieux|pire|meilleur|délicieux|plus|moins) @@2,$ <<- ->> \2            # « tr\1 » est superflu.

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


# novlangue
__[i]/bs(bs_vidéoprotection)__
    vidéo-?protection(s|)  @@$
    <<- ->> vidéosurveillance\1|télésurveillance\1|surveillance\1 des populations
    # Novlangue. Double pensée. Utilisez un terme plus approprié.|http://fr.wikipedia.org/wiki/Doublepens%C3%A9e

TEST: {{vidéo-protection}}


#__[i]/bs__  (tomb\w+) dans les pommes <<- ->> \1 dans les pâmes                                    # « Tomber dans les pâmes » est l’ancienne tournure.

# malgré que
__[i]/bs(bs_malgré_que)__
    malgré (que?)  @@7
    <<- not after_chk1(r" \w[\w-]+ en ([aeo][a-zû]*)", ":V0a")
    ->> bien \1                                                                                     # Tournure populaire. Utilisez « bien que ».

TEST: {{Malgré que}} je sois fou.


######### Expressions impropres

#([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


!!
!!
!!!! Pléonasmes                                                                                     
!!
!!

__[i]/pleo(pleo_abolir)__               (abol\w+) (?:absolument|entièrement|compl[èé]tement|totalement) @@0 <<- morph(\1, ">abolir ", False) ->> \1         # Pléonasme.
__[i]/pleo(pleo_acculer)__              (accul\w+) aux? pieds? du mur @@0 <<- morph(\1, ">acculer ", False) ->> \1                                          # Pléonasme.
__[i]/pleo(pleo_achever)__              (ach[eè]v\w+) (?:absolument|entièrement|compl[èé]tement|totalement) @@0 <<- morph(\1, ">achever ", False) ->> \1    # Pléonasme.
__[i]/pleo(pleo_en_cours)__             actuellement en cours <<- not after(r" +de?\b") ->> en cours                                            # Pléonasme.
__[i]/pleo(pleo_en_train_de)__          (actuellement en train) d(?:e(?! nuit)|’{w_2}) @@0 <<- -1>> en train                                    # Pléonasme.
__[i]/pleo(pleo_ajouter)__              (ajout\w+) en plus @@0 <<- ->> \1                                                                       # Pléonasme.
__[i]/pleo(pleo_apanage)__              (apanages?) exclusifs? @@0 <<- ->> \1                                                                   # Pléonasme.
__[i]/pleo(pleo_applaudir)__            (applaudi\w+) des deux mains @@0 <<- ->> \1                                                             # Pléonasme.
__[i]/pleo(pleo_aujourd_hui)__          au jour d’aujourd’hui <<- ->> aujourd’hui                                                               # Pléonasme.
__[i]/pleo(pleo_avancer)__              (avan[cç]\w+) en avant @@0 <<- morph(\1, ">avancer ", False) ->> \1                                     # Pléonasme.
__[i]/pleo(pleo_s_avérer)__             s’av([éè]r\w+) vrai(e?s?) @@4,$ <<- ->> s’av\1 exact\2                                                  # Pléonasme.
__[i]/pleo(pleo_avéré)__                (avérée?s?) vraie?s? @@0 <<- ->> \1                                                                     # Pléonasme.
__[i]/pleo(pleo_avenir)__               avenir devant (?:lui|[mts]oi|eux|[nv]ous) <<- morph(word(-1), ":A|>un", False) ->> avenir               # Pléonasme.
__[i]/pleo(pleo_bourrasque)__           (bourrasques?) de vent @@0 <<- ->> \1                                                                   # Pléonasme.
__[i]/pleo(pleo_car_en_effet)__         car en effet <<- ->> car|en effet                                                                       # Pléonasme.
__[i]/pleo(pleo_cirrhose)__             (cirrhoses?) du foie @@0 <<- ->> \1                                                                     # Pléonasme.
__[i]/pleo(pleo_collaborer)__           (collabor\w+) ensemble @@0 <<- morph(\1, ">collaborer ", False) ->> \1                                  # Pléonasme.
__[i]/pleo(pleo_comme_par_exemple)__    comme par exemple <<- ->> comme|par exemple                                                             # Pléonasme.
__[i]/pleo(pleo_comparer)__             (compar\w+) entre (?:eux|elles) @@0 <<- morph(\1, ">comparer ", False) ->> \1                           # Pléonasme.
__[i]/pleo(pleo_contraindre)__          (contrai\w+) malgré (?:soi|eux|lui|moi|elle|toi) @@0 <<- morph(\1, ">contraindre ", False) ->> \1       # Pléonasme.
__[i]/pleo(pleo_descendre)__            (descend\w+) en bas(?! de) @@0 <<- ->> \1                                                               # Pléonasme.
__[i]/pleo(pleo_dessiner)__             (dessin\w+) un dessin @@0 <<- ->> \1                                                                    # Pléonasme.
__[i]/pleo(pleo_dorénavant)__           à (?:partir|compter) de dorénavant <<- ->> dorénavant|à partir de maintenant                            # Pléonasme.
__[i]/pleo(pleo_donc_par_conséquent)__  donc par conséquent <<- ->> donc|par conséquent|c’est pourquoi                                          # Pléonasme.
__[i]/pleo(pleo_enchevêtrer)__          (enchevêtr\w+) les uns dans les autres @@0 <<- morph(\1, ">enchevêtrer ", False) ->> \1                 # Pléonasme.
__[i]/pleo(pleo_entraider)__            (entraid\w+) (?:mutuellement|les uns les autres) @@0 <<- morph(\1, ">entraider ", False) ->> \1         # Pléonasme.
__[i]/pleo(pleo_entraide)__             (entraides?) mutuelles? @@0 <<- ->> \1                                                                  # Pléonasme.
__[i]/pleo(pleo_erreur)__               (erreurs?) involontaires? @@0 <<- ->> \1                                                                # Pléonasme.
__[i]/pleo(pleo_étape)__                (étapes?) intermédiaires? @@0 <<- ->> \1                                                                # Pléonasme.
__[i]/pleo(pleo_hasard)__               (hasards?) imprévus? @@0 <<- ->> \1                                                                     # Pléonasme.
__[i]/pleo(pleo_hémorragie)__           (hémorragies?) de sang @@0 <<- ->> \1                                                                   # Pléonasme.
__[i]/pleo(pleo_joindre)__              (join\w+) ensemble @@0 <<- morph(\1, ">joindre ") ->> \1|mettre ensemble                                # Pléonasme.
__[i]/pleo(pleo_lever)__                lever debout <<- ->> lever                                                                              # Pléonasme.
__[i]/pleo(pleo_mais_qqch)__            mais (cependant|pourtant|toutefois) @@5 <<- ->> mais|cependant|pourtant|toutefois                       # Pléonasme.
__[i]/pleo(pleo_marche)__               (marches?) à pieds? @@0 <<- ->> \1                                                                      # Pléonasme.
__[i]/pleo(pleo_méandre)__              (méandres?) sinueux @@0 <<- ->> \1                                                                      # Pléonasme.
__[i]/pleo(pleo_media)__                (m[eé]dias?) d’informations? @@0 <<- ->> \1                                                             # Pléonasme.
__[i]/pleo(pleo_monopole)__             (monopoles?) exclusifs? @@0 <<- ->> \1                                                                  # Pléonasme.
__[i]/pleo(pleo_monter)__               (mont\w+) en haut(?! d[eu’]) @@0 <<- morph(\1, ">monter ", False) ->> \1                                # Pléonasme.
__[i]/pleo(pleo_opportunité)__          (opportunités?) à saisir @@0 <<- ->> \1                                                                 # Pléonasme.
__[i]/pleo(pleo_orage)__                (orages?) électriques? @@0 <<- ->> \1                                                                   # Pléonasme.
__[i]/pleo(pleo_jumelles)__             paires? de jumelles? <<- ->> jumelles                                                                   # Pléonasme.
__[i]/pleo(pleo_panacée)__              (panacées?) universelles? @@0 <<- ->> \1|remède universel                                               # Pléonasme.
__[i]/pleo(pleo_perspective)__          (perspectives?) d’avenir @@0 <<- ->> \1                                                                 # Pléonasme.
__[i]/pleo(pleo_balbutiement)__         premiers? (balbutiements?) @@$ <<- ->> \1                                                               # Pléonasme.
__[i]/pleo(pleo_priorité)__             premières? (priorités?) @@$ <<- ->> \1                                                                  # Pléonasme.
__[i]/pleo(pleo_projet1)__              (projets?) futurs? @@0 <<- ->> \1                                                                       # Pléonasme.
__[i]/pleo(pleo_projet2)__              futurs? (projets?) @@$ <<- ->> \1                                                                       # Pléonasme.
__[i]/pleo(pleo_prototype)__            (prototypes?) expérimenta(?:l|ux) @@0 <<- ->> \1                                                        # Pléonasme.
__[i]/pleo(pleo_rénover)__              (rénov\w+) à neuf @@0 <<- morph(\1, ">rénov(?:er|ation) ", False) ->> \1                                # Pléonasme.
__[i]/pleo(pleo_puis_qqch)__            puis (?:après|ensuite|alors) <<- ->> puis|après|ensuite|alors                                           # Pléonasme.
__[i]/pleo(pleo_réunir)__               (réuni\w*) ensemble @@0 <<- morph(\1, ">réunir ", False) ->> \1                                         # Pléonasme.
__[i]/pleo(pleo_reculer)__              (recul\w*) en arrière @@0 <<- morph(\1, ">recul(?:er|) ", False) ->> \1                                 # Pléonasme.
__[i]/pleo(pleo_risque)__               (risques?) (?:potentiels?|de menaces?) @@0 <<- ->> \1                                                   # Pléonasme.
__[i]/pleo(pleo_secousse)__             (secousses?) sé?ismiques? @@0 <<- ->> secousse tellurique|secousses telluriques|tremblement de terre    # Pléonasme.
__[i]/pleo(pleo_solidaire)__            (solidaires?) les uns des autres @@0 <<- ->> \1                                                         # Pléonasme.
__[i]/pleo(pleo_suffire)__              (suffi\w+) simplement @@0 <<- morph(\1, ">suffire ", False) ->> \1                                      # Pléonasme.
__[i]/pleo(pleo_talonner)__             (talonn\w+) de près @@0 <<- morph(\1, ">talonner ", False) ->> \1                                       # Pléonasme.
__[i]/pleo(pleo_taux_alcoolémie)__      taux d’alcoolémies? @@7 <<- ->> taux d’alcool|alcoolémie                                                # Pléonasme. L’alcoolémie est le taux d’alcool dans le sang.
__[i]/pleo(pleo_tunnel)__               (tunnels?) souterrains? @@0 <<- ->> \1                                                                  # Pléonasme.
__[i]/pleo(pleo_hardes)__               vieilles hardes <<- ->> hardes                                                                          # Pléonasme.
__[i]/pleo(pleo_voire_même)__           voire même <<- ->> 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}}                             ->> s’avérer exact
TEST: {{avérées vraies}}                            ->> avérées
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: {{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: {{voire même}}                                ->> voire|même


# d’avance / à l’avance
__[i]/pleo(pleo_verbe_à_l_avance)__
    ((?:pré[pvds]|pressen|pronostiqu|réserv|dev(?:an[cç]|in)|avert)\w+) (?:d’avance|à l’avance)  @@0
    <<- morph(\1, ">(?:prévenir|prévoir|prédire|présager|préparer|pressentir|pronostiquer|avertir|devancer|deviner|réserver) ", False)
    ->> \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
__[i]/pleo(pleo_différer_ajourner_reporter)__
    ((?:diff|ajourn|report)\w+) à (?:plus tard|date ultérieure|une date ultérieure)  @@0
    <<- morph(\1, ">(?:ajourner|différer|reporter) ", False)
    ->> \1                                                                                                              # Pléonasme.

TEST: {{Ajourner à une date ultérieure}}      ->> Ajourner
TEST: {{différer à une date ultérieure}}      ->> différer
TEST: {{reporter à plus tard}}                ->> reporter



# ayants droit
__[i]/sgpl(sgpl_ayants_droit)__
    [ldcs]es (ayant[- ]droits?) @@4 <<- -1>> 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))


# Mon, ton, son : euphonie
__[i]/gn(gn_mon_ton_son_euphonie)__
    ([mts]a) +({w_2})  @@0,$
    <<- morphex(\2, ">[aâeéèêiîoôuûyœæ].+:[NAQ].*:f", ":[eGW]") -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


!!
!!
!!!! Confusions                                                                                     
!!
!!

__[s>/conf(conf_ne_n)__     [nN]e n’                        <<- ->> ne m’|n’                        # Incohérence. Double négation.
__[s>/conf(conf_pronoms1)__ [mtMT]e ([nmst](?:’|e )) @@$    <<- ->> \1                              # Incohérence.
__[s>/conf(conf_pronoms2)__ [sS]e ([mst](?:’|e )) @@$       <<- ->> \1                              # Incohérence.
__[s>/conf(conf_de_d)__     [dD][eu] d’(?![A-ZÉÂÔÈ])        <<- ->> d’                              # Incohérence. 

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


#### Articles et prépositions + verbes

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

TEST: {{en t’}}ait donné tant.                          ->> "t’en "
TEST: {{en n’}}{{envoient}} que peu.


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

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


__[i]/conf(conf_ma_ta_cette_verbe)__
    ([mt]a|cette) +({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]") and \2[0].islower()
    -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True)                                                    # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: Cette {{pèle}} est trop fragile.


__[i]/conf(conf_sa_verbe)__
    (sa) ({w_2})  @@0,3
    <<- \2[0].islower() and morphex(\2, ":V.*:(?:Y|[123][sp])", ":(?:N.*:[fe]|A|W)") >>>
    <<- morph(\2, "V.....[pqx]", False) -1>> ça|se                                                   # Confusion : « \2 » est un verbe. Exemples : sa jambe, ça vient. (Une faute de frappe peut-être ?)
    <<- __else__ -1>> ça                                                                            # Confusion : « \2 » est un verbe. Exemples : sa jambe, ça vient.
    <<- hasSimil(\2) -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True)                                   # Incohérence avec « \1 » : « \2 » est un verbe.

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


__[i]/conf(conf_du_cet_au_verbe)__
    (du|cet|au) +({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]") and \2[0].islower() and not (\2 == "sortir" and re.search(r"(?i)au", \1))
    -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True)                                                    # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: cet {{plaît}} est infectée.


__[i]/conf(conf_ce_verbe)__
    (ce) +(?!faire|peut)({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]:.:[si]|:V0e.*:3[sp]|>devoir") and \2[0].islower() and hasSimil(\2)
    -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True)                                                    # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: {{ce}} {{rappelle}} n’en finit pas.


__[i]/conf(conf_mon_verbe)__
    (mon) +({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]") and \2[0].islower()
    -2>> =suggSimil(\2, ":[NA]:.:[si]", True)                                                       # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: mon {{rackette}} n’a pas porté les fruits espérés.
TEST: Belle qui tient mon vit captif entre tes doigts.


__[i]/conf(conf_ton_son_verbe)__
    [st]on ({w_2})  @@4
    <<- morph(\1, ":V.*:(?:Y|[123][sp])") and \1[0].islower() and isStart()
    -1>> =suggSimil(\1, ":[NA]:[me]:[si]", True)                                                    # Incohérence : « \1 » est un verbe.

TEST: ton {{recèle}} a été dévoilé


__[i]/conf(conf_det_plur_verbe)__
    ([dcmts]es|quelques|aux|[nv]os) +({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]") and \2[0].islower() and not re.search(r"(?i)^quelques? soi(?:ent|t|s)\b", \0)
    -2>> =suggSimil(\2, ":[NA]:.:[pi]", True)                                                       # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: la crainte des {{attentas}} fait feu de tout bois.


__[i]/conf(conf_auxdits_verbe)__
    (auxdits) +({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]") and \2[0].islower()
    -2>> =suggSimil(\2, ":[NA]:[me]:[pi]", True)                                                    # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: elle se rendit auxdits {{jardinais}}


__[i]/conf(conf_auxdites_verbe)__
    (auxdites) +({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:Y|[123][sp])", ":[NAQ]") and \2[0].islower()
    -2>> =suggSimil(\2, ":[NA]:[fe]:[pi]", True)                                                    # Incohérence avec « \1 » : « \2 » est un verbe.

TEST: auxdites {{scelles}}, il ne prêta pas attention.


__[i]/conf(conf_de_la_vconj)__  de la +({w_2})  @@6
    <<- morphex(\1, ":[123][sp]", ":[NAQ]") >>>
    <<- morphex(\1, ":V1.*:(?:Iq|Ip:2p)", ":1p") -1>> =suggVerbInfi(@)                              # Incohérence : mettez le verbe à l’infinitif (à moins qu’il y ait confusion avec un nom féminin).
    <<- __else__ -1>> =suggSimil(\1, ":(?:[NA]:[fe]:[si])", False)                                  # Incohérence : « \1 » est un verbe.

TEST: les petits esprits de la {{pensait}} religieuse


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.


__[i]/conf(conf_de_le_nom_ou_vconj)__
    (de le) ({w_2})  @@0,6
    <<- morphex(\2, ":[NAQ].*:[me]", ":[YG]") and \2[0].islower() -1>> du                           # Incohérence : « \2 » est un nom ou un adjectif.
    <<- morph(\2, ":[123][sp]", False) -2>> =suggVerbInfi(\2)                                       # Incohérence : « \2 » est une forme verbale conjuguée.

TEST: {{de le}} vin                                           ->> du
TEST: il n’est pas interdit de le {{pensait}}


__[i]/conf(conf_de_l_vconj)__
    de l’({w_2})  @@5
    <<- morphex(\1, ":[123][sp]", ":[NAQ]") -1>> =suggSimil(\1, ":[NA]:.:[si]", True)               # Incohérence : « \1 » est une forme verbale conjuguée.

TEST: de l’{{entra}}


__[i]/conf(conf_un_verbe)__
    (?<!’)un ({w_2})  @@3
    <<- morph(\1, ":(?:Y|[123][sp])") and not before("(?i)(?:dont|sauf|un à) +$")
    -1>> =suggSimil(\1, ":[NAQ]:[me]:[si]", True)                                                   # Incohérence : « \1 » est une forme verbale conjuguée.

TEST: un {{maintient}} difficile.


__[i]/conf(conf_de_dès_par_vconj)__
    (?:d(?:e|ès)|par) ({w_2})  @@$
    <<- \1[0].islower() and morph(\1, ":V.*:[123][sp]") -1>> =suggSimil(\1, ":[NA]", True)          # Incohérence : « \1 » est une forme verbale conjuguée.

TEST: par {{bloque}} de données
TEST: il s’agit de {{mette}} en évidence.


__[i]/conf(conf_d_une_vconj)__
    d’(?:une? +|)({w_2})  @@$
    <<- \1[0].islower() and morphex(\1, ":V.*:[123][sp]", ":[GNA]") and not before(r"(?i)\b(?:plus|moins) +$")
    -1>> =suggSimil(\1, ":[NA]", True)                                                              # Incohérence : « \1 » est une forme verbale conjuguée.

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


__[i]/conf(conf_il_on_pas_verbe)__
    (?<!t’)(?:il|on) (?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)|ou ") and morphex(word(-1), ":", ":3s", True)
    -1>> =suggSimil(\1, ":(?:3s|Oo)", False)                                                        # Incohérence : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: il {{et}} parti.


__[i]/conf(conf_ils_pas_verbe)__
    (?<!t’)ils (?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)|ou ") and morphex(word(-1), ":", ":3p", True)
    -1>> =suggSimil(\1, ":(?:3p|Oo)", False)                                                        # Incohérence avec « ils » : « \1 » 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}}


__[i]/conf(conf_je_pas_verbe)__
    je (?!soussigné)(?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)") and morphex(word(-1), ":", ":1s", True)
    -1>> =suggSimil(\1, ":(?:1s|Oo)", False)                                                        # Incohérence avec « je » : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je {{travail}}.


__[i]/conf(conf_tu_pas_verbe)__
    tu (?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)") and morphex(word(-1), ":", ":(?:2s|V0e|R)", True)
    -1>> =suggSimil(\1, ":(?:2s|Oo)", False)                                                        # Incohérence avec « tu » : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: tu {{croix}} que tu sais quelque chose, mais tu ne sais rien.
TEST: Elles sont à tu et à toi.

TEST: elles seules peuvent s’en sortir.
TEST: elle seule peut y arriver
TEST: elle seules les femmes la font craquer


#### Participes présents

__[i]/conf(conf_adj_part_présent1)__    [nmts]e (\w+ant) @@3 <<- morphex(\1, ":", ":P") -1>> _      # Incohérence : « \1 » n’est pas un participe présent.
__[i]/conf(conf_adj_part_présent2)__    (?:[nv]ous|lui) (\w+ant) @@$ <<- morph(\1, ":[NAQ]") -1>> _ # Incohérence : « \1 » 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)


# incohérences

# Trop de faux positifs
#__[i]/conf__
#    très +(bien|\w+ent) +({w2})  @@w,$
#    <<- morph(\1, ":W", False) and morphex(\2, ":[123][sp]", ":[GAQW]") -2>> _
#    # Incohérence avec « très » : « \2 » n’est ni un adjectif, ni un participe passé, ni un adverbe.

 
__[i]/conf(conf_très_verbe)__
    très +(?!envie)({w_2})  @@$
    <<- morphex(\1, ":(?:Y|[123][sp])", ":[AQW]") -1>> =suggSimil(\1, ":[AW]", True)                # Incohérence avec « très » : « \1 » n’est ni un adjectif, ni un participe passé, ni un adverbe.
    <<- morph(\1, ">jeûne ", False) -1>> =\1.replace("û", "u")                                      # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune

TEST: Il est très {{cite}}.
TEST: très {{suivit}} par ce détective
TEST: il était très {{habille}}
TEST: Très {{jeûne}}, elle a su qu’elle ne voulait pas d’une vie ordinaire.


__[i]/conf(conf_trop_vconj)__
    trop +({w_2})  @@$
    <<- morphex(\1, ":[123][sp]", ":(?:[GNAQWM]|3p)") and not before(r"(?i)\bce que? ") -1>> _      # Incohérence probable avec « trop » : « \1 » 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.


__[i]/conf(conf_presque_trop_vconj)__
    presque +({w2})  @@$
    <<- morphex(\1, ":[123][sp]", ":[GNAQWM]") and not before(r"(?i)\bce que? |ou $") -1>> _        # Incohérence probable avec « presque » : « \1 » 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à.


# élimination de presque
__[i](p_presque)__
    presque <<- ~>> *

__[i]/conf(conf_chez_vconj)__
    chez +({w2})  @@$
    <<- not \1[0].isupper() and morphex(\1, ":[123][sp]", ":[GNAQM]") -1>> _                        # Incohérence avec « chez ».

TEST: Tout ce qu’on fera chez {{sera}} enregistré.


__[i]/conf(conf_sur_vconj)__
    sur +({w2})  @@$
    <<- not \1[0].isupper() and morphex(\1, ":[123][sp]", ":[GNAQM]") and not morph(word(-1), ":[NA]:[me]:si", False)
    -1>> _                                                                                          # Incohérence avec « sur ».

TEST: Toutes les blagues qu’on fera sur {{entreront}} dans l’histoire !


__[i]/conf(conf_si_vconj)__
    si +({w2})  @@$
    <<- morphex(\1, ":[123][sp]", ":[GNAQWMT]") and morphex(word(1), ":", ":D", True)
    -1>> =suggSimil(\1, ":[AWGT]", True)                                                            # Incohérence avec « si » : « \1 » ne devrait pas être une forme verbale conjuguée.

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.


__[i]/conf(conf_de_plus_en_plus_verbe)__
    de plus en plus +({w_2})  @@$
    <<- morphex(\1, ":(?:[123][sp]|Y)", ":(?:[GAQW]|3p)") and not morph(word(-1), ":V[123].*:[123][sp]|>(?:pouvoir|vouloir|falloir) ", False, False)
    -1>> =suggVerbPpas(@)
    # Incohérence avec « de plus en plus » : « \1 » 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.


# a / à
__[i]/conf(conf_a_à_tout_à_fait)__  tout (a) fait @@5                                               <<- -1>> à          # Confusion.
__[i]/conf(conf_a_à_jusqu_à)__      jusqu (a) @@6                                                   <<- -1>> à          # Confusion.
__[i]/conf(conf_a_à_grâce_à)__      grâce (a) @@6             <<- morph(word(-1), ":[VN]", False, True) -1>> à          # Confusion probable.
__[i]/conf(conf_a_à_moins_que)__    (a) moins que? @@0                                    <<- isStart() -1>> à          # Confusion probable : « à moins que » pour dire « sauf si ».
__[i]/conf(conf_a_à_tout_à_coup)__  tout h?ah? co[uû][pt]?                                          <<- ->> tout à coup # Confusion.
__[i]/conf(conf_a_à_coup_sûr)__     a coup s[uû]r                                                   <<- ->> à coup sûr  # Confusion.
__[i]/conf(conf_a_à_face_à)__       face (a) @@5    <<- not before(r"(?i)\b(?:[lmts]a|leur|une|en) +$") -1>> à          # Confusion.
__[i]/conf(conf_a_à_pas_à_pas)__    pas (a) pas @@4                                                 <<- -1>> à          # Confusion.
__[i]/conf(conf_a_à_par_rapport)__  par rapport (a) ({w_2}) @@12,$  <<- morph(\2, ":(?:D|Oo|M)", False) -1>> à          # Confusion.
__[i]/conf(conf_a_à_être_à)__
    ({etre}) (a)(?! priori| posteriori| fortiori)  @@0,$
    <<- morph(\1, ">être :V") and not before(r"(?i)\bce que? ") -2>> à                                # Confusion. Utilisez la préposition « à ».
__[i]/conf(conf_a_à_peu_près)__
    (?:a peu[tx]? (?:près|prés?|prêts?)|à peu[tx] (?:près|prés?|prêts?)|à peu (?:prés?|prêts?))
    <<- ->> à peu près                                                                              # Confusion.
    <<- ~>> *
__[i]/conf(conf_a_à_pronoms1)__     ne +l(?:es?|a) +(?:l(?:eur|ui) +|)(à)  @@$  <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_pronoms2)__     ne +[nv]ous +(?:les +|l’|)(à)  @@$          <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_pronoms3)!6__   [mtsn]e l(?:es +|’)(à)  @@$                 <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_pronoms4)__     [mtsnl]’(?:en|y) +(à)  @@$                  <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_pronoms5)__     les (?:en|y) +(à)  @@$                      <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_pronoms6)__     [nv]ous +(?:en +|y +|les +|l’)(à)  @@$      <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_pronoms7)!6__   [mt]’(à) @@2                                <<- -1>> a          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_été)__
    (à) +été  @@0
    <<- -1>> a                                                                                      # Confusion probable : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_l_à)__
    l’(à) ({w_2})  @@2,4
    <<- not re.search("(?i)^(?:côtés?|coups?|peu(?:-près|)|pics?|propos|valoir|plat-ventrismes?)", \2)
    -1>> a                                                                                          # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
    <<- re.search("(?i)^(?:côtés?|coups?|peu-près|pics?|propos|valoir|plat-ventrismes?)", \2)
    ->> l’à-\2                                                                                      # Il faut un trait d’union.
__[i]/conf(conf_a_à_il_on_à)__
    (?:il|on) +(?:l(?:es +|’)|en +|y +(?:en +|)|[vn]ous +|)(à)  @@$
    <<- not morph(word(-1), ":3s", False, False) -1>> a                                             # Confusion probable : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_elle_à)__
    elle +(?:l(?:es +|’)|en +|y +(?:en |)|[vn]ous +|)(à)  @@$
    <<- not morph(word(-1), ":(?:3s|R)", False, False) and not morph(word(1), ":Oo|>qui ", False, False)
    -1>> a                                                                                          # Confusion probable : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_qui_pronom_à)__
    qui (?:l(?:ui|eur)(?: en|)|nous|vous|en|y) +(à)  @@$ <<- -1>> a                                 # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_qui_a)__
    qui (à) +({w_2})  @@4,$  <<- morphex(\2, ":Q", ":M[12P]") -1>> a                                # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_le)__
    (à le) ({w_2})  @@0,5
    <<- morphex(\2, ":[NAQ].*:[me]", ":(?:Y|Oo)") -1>> a le|au
    # Confusion. Ou vous confondez “a” (préposition) avec “a” (avoir), ou vous devez employer “au”. Exemple : _à_ midi, il _a_ pris son déjeuner _au_ restaurant.
    <<- morphex(\2, ":[NAQ].*:f", ":(?:Y|Oo)") -1>> à la
    # Confusion. Ou vous confondez “a” (préposition) avec “a” (avoir), ou vous devez employer “au”. Exemple : _à_ midi, il _a_ pris son déjeuner _au_ restaurant.
__[i]/conf(conf_a_à_les)__
    (à les) ({w_2})  @@0,6  <<- morphex(\2, ":[NAQ]", ":(?:Y|Oo)") -1>> a les|aux
    # Confusion. Ou vous confondez “a” (préposition) avec “a” (avoir), ou vous devez employer “aux”. Exemple : Elle _a_ donné du travail _aux_ employés _à_ profusion.
__[i]/conf(conf_a_à_au_aux)__
    (à) aux?(?! (?:moins|plus)) @@0 <<- -1>> a                                                      # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez :
__[i]/conf(conf_a_à_base_cause)__
    (a) (?:base|cause) d(?:es?|u|) @@0 <<- not before(r"(?i)\bce que?\b") -1>> à                    # Confusion. Utilisez la préposition « à ».
__[i]/conf(conf_a_à_faim_peur_honte_soif)__
    (à) +(?:faim|peur|honte|soif) @@0 <<- -1>> a                                                    # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez : 
__[i]/conf(conf_a_à_part)__
    (a) part ({w1}) @@0,7 <<- morph(\2, ":(?:M[12]|D|Oo)") -1>> à                                   # Confusion probable.
__[i]/conf(conf_a_à_les_à)__
    les (à)(?! côtés| peu près| prioris?| post[eé]rioris?| valoirs?| pics?| propos) @@4 <<- -1>> a
    # Confusion : “à” est une préposition. Pour le verbe avoir, écrivez : 
__[i]/conf(conf_a_à_avant_conj_prep)__
    (à) +(?:a(?:fin|lors|près|uprès|ux?(?! moins| plus| mieux)|vant|vec)|au-de(?:dans|hors|là|sso?us|vant)|chez|d(?:ans|evant|ès|déjà|onc|urant)|lorsque?|malgré|par(?:ce|mi|)|p(?:endant|our|uisque)|que?|sur|tandis)  @@0
    <<- -1>> a                                                                                      # Confusion probable : “à” est une préposition. Écrivez “a” pour la conjugaison de “avoir”.
__[i]/conf(conf_a_participe_passé_ou_vconj)__
    (à) +({w_2})  @@0,$
    <<- \2.islower() and \2 != "coté" >>>
    <<- morphex(\2, ":(?:V.......[_z][az].*:Q|V1.*:Ip:2p)", ":[MGWNY]") -1>> a                      # Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez :
    <<- __also__ and morph(\2, "V1.*:(?:Ip:2p|Q)", False) and not before(r"(?i)\b(?:il +|elle +|on +|l(?:es|ui|leur) +|[nv]ous +|y +|en +|[nmtsld]’)$")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.
    <<- __else__ and morph(\2, ":[123][sp]") and not \2.startswith("tord") >>>
    <<- morph(\2, ":V2.*:Ip:3s") -2>> =suggVerbPpas(@, ":m:s")                                      # Incohérence : “\1” est une préposition. “\2” est un verbe conjugué.
    <<- __also__ -1>> a                                                                             # Confusion probable : “à” est une préposition. Pour le verbe “avoir”, écrivez :
    <<- __else__ -2>> _                                                                             # Incohérence : “\1” est une préposition. “\2” est un verbe conjugué.
__[i]/conf(conf_a_à_locutions1)__
    (a) (?:nouveau|présent|(?:bonne distance|bord|cause|contre-courant|côté|court|défaut|droite|gauche|l’(?:arrière|autre bout|écart|égard|extérieur|aune|avant|encontre|ins(?:u|tar)|intérieur|opposé)|la (?:portée|suite)|partir|portée|propos|rebours) d(?:es?|u))  @@0
    <<- -1>> à                                                                                      # Confusion. Utilisez la préposition “à”.
__[s]/conf(conf_a_à_locutions2)__
    (a) (?:califourchon|contre(?:cœur|temps)|côté d(?:e|’\w[\w-]+)|demi-mot|nouveau|présent|rebrousse-poil|regret|travers|tout-va|l’(?:heure (?:actuelle|qu il est)|accoutumée|amiable|avance|aven(?:ir|ant)|air libre|aveuglette|emporte-pièce|évidence|exclusion de toute autre chose|improviste|inverse|ordre du jour|œil nu|en croire|un(?:animité| (?:d’entre eux|des leurs)|e (?:d’entre elles|des leurs)))|la (?:bonne franquette|con|dér(?:ive|obée)|diable|fois|limite du supportable|lumière de tout ce(?:ci|la)|mords-moi-le-nœud|papa|petite semaine|pointe du progrès|queue leu leu|rescousse|sauvette|surprise générale|virgule près|volée)|partir (?:de (?:demain|là|maintenant|rien)|d’(?:aujourd’hui|hier|ici))|au(?:cun prix|trui|tre chose)|bas co[ûu]t|bâ(?:bord|tons rompus)|beaucoup près|belles dents|bien (?:des égards|y (?:penser|réfléchir|songer))|bon (?:compte|escient|droit)|bout (?:de (?:bras|souffle|forces?)|portant|touchant)|bras (?:ouverts|le corps)|brève échéance|but non lucratif|cause d(?:e (?:ça|[mt]oi|lui|[nv]ous)|’e(?:lles?|ux))|ce (?:compte-là|moment-là|titre)|cet (?:égard|instant(?: précis|))|cette (?:époque(?: de l’année|)|heure de la (?:journée|nuit))|chaque (?:fois|instant)|chaudes larmes|cœur (?:joie|ouvert|perdu)|ciel ouvert|contre-cœur|corps perdu|cou(?:p sûr|per le souffle|rt terme|rte (?:échéance|portée))|couilles rabattues|de nombreuses reprises|des kilomètres à la ronde|dose homéopathique|double (?:titre|tranchant)|durée limitée|en (?:juger par (?:[mts]on|[nv]otre|leur) expérience|perdre (?:haleine|la tête))|faible (?:allure|revenu)|feu et à sang|flanc de (?:colline|montagne)|fleur de peau|géométrie variable|grand(?:-peine|e échelle)|haut risque|hue et à dia|huis clos|intervalles (?:ir|)réguliers|juste (?:raison|titre)|long terme|longue(?: échéance| portée|ur (?:de (?:temps|journée))|d’année)|loyer modéré|main (?:armée|droite|gauche|levée)|maint(?:s égards|es reprises)|marche forcée|merveille|mi-(?:course|distance|temps)|mi(?:di|nuit)(?: pile|)|moindres frais|moyen(?: terme|ne échéance)|mots couverts|ne (?:jamais|pas|rien|guère)|n’en (?:pas douter|point douter|plus finir)|outrance|parler franc|part (?:entière|ça|ce(?:la|ci))|partir de là|part(?:ir de rien|s égales)|pas de (?:géant|loup|tortue|velours)|personne en danger|perte de vue|petit(?: feu|e (?:dose|échelle))|peu (?:de choses? |)près|pieds joints|pile ou face|plat(?: ventre|e couture)|plein(?: (?:régime|temps|nez)|s poumons)|plus (?:forte raison|d’un titre)|point nommé|portée de main|première vue|prix (?:cassé|modique)s?|proprement parler|qui (?:mieux mieux|que ce soit|de droit)|quelque distance|quelques exceptions près|ras bords?|rude épreuve|tel point|temps (?:plein|partiel|complet)|tête reposée|tire[ -]d’aile|titre (?:conservatoire|d’exemple|indicatif|informatif|grâcieux|personnel|posthume)|tombeau ouvert|tort (?:ou à raison|et à travers)|tour de (?:bras|rôle)|tous (?:crins|points de vue)|tout(?: (?:âge|bout de champ|crin|instant|jamais|le (?:moins|monde)|moment|point de vue|prix|un chacun)|e (?:allure|bride|épreuve|force|heure|vitesse|volée))|toutes (?:fins utiles|jambes)|tribord|tu et à toi|un moment donné|usage interne|visage découvert|vive allure|voix (?:haute|basse)|vol d’oiseau|vrai dire|vue d’œil|y (?:regarder de plus près|réfléchir))  @@0
    <<- not before(r"(?i)[ln]’$|(?<!-)\b(?:il|elle|on|y|n’en) +$")
    -1>> à                  # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0
__[s]/conf(conf_a_à_locutions3)__
    (a) (?:confesse|mi(?:di|nuit)|r(?:allonge|eculons|enverse|isque)|tâtons|vélo|la (?:manque|ramasse|re(?:dresse|nverse)))  @@0
    <<- not before(r"(?i)(?:\bque? |[ln]’$|(?<!-)\b(?:il|elle|on|y|n’en) +$)")
    -1>> à                  # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0
__[s]/conf(conf_a_à_locutions4)__
    (a) (?:[mts](?:es|on|a)|[nv]o(?:s|tre)|leurs?) (?:avis|c(?:onnaissance|ôtés)|c(?:œur|orps) défendant|dé(?:pens|triment)|disposition|encontre|égard|grand(?: désarroi|e (?:surprise|tristesse))|guise|insu|portée|risques et périls|sujet|tour)  @@0
    <<- not before(r"(?i)(?:\bque? |[ln]’$|(?<!-)\b(?:il|elle|on|y|n’en) +$)")
    -1>> à                  # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0
__[s]/conf(conf_a_à_infi)__
    (?<![mtn]’)(a) (?:[mts](?:’(?:en +|y +|)|e +)|[nv]ous|)({w_2}(?:er|re|ir))  @@0,2
    <<- morph(\2, ":Y", False) and not before(r"(?i)\bque? |(?:il|elle|on|n’(?:en|y)) +$") 
    -1>> à                  # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0
__[s]/conf(conf_a_à_après_interrogative)__
    \w+-(?:je|ils?|elles?|je|tu|on|vous|nous) (a)(?! priori| posteriori| fortiori)  @@$
    <<- -1>> à              # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0


TEST: Cette femme {{à}} été confondue avec une autre.
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 fâcheux, comme à son habitude, les {{à}} ennuyés à mourir.
TEST: Lui l’{{à}} pris par surprise.
TEST: Les parties {{a}} nouveau divisées ne se réuniront pas avant longtemps.
TEST: elles sont tout {{a}} fait compétentes
TEST: c’est grâce {{a}} nous que vous y êtes parvenus
TEST: elles se défendront jusqu’{{a}} la mort.
TEST: ce qu’elles feront alors {{a coup sûr}}, difficile de le devenir.
TEST: elles progressent pas {{a}} pas
TEST: elle n’y {{à}} pas droit.
TEST: elle risque de tout perdre, {{a}} moins qu’un miracle survienne.
TEST: {{tout a coup}}, il n’y eut plus aucune lumière
TEST: il y {{à}} des pertes.
TEST: ce qui {{à}} pris tant de valeur, c’est…
TEST: Ce chien, croyons-nous savoir, {{à le}} maître le plus violent qui soit.
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 me les {{à}} donnés
TEST: il me l’{{à}} donné
TEST: qui en {{à}} ?
TEST: Il l’a fait {{a}} cause de toi.
TEST: Il ne m’{{à}} jamais vu.
TEST: Que fait-il {{a}} cette conférence ?
TEST: Il m’en {{à}} donné.
TEST: Il y en {{à}}.
TEST: un machin ennuyeux {{a}} s’en tirer une balle dans la tête.
TEST: ce que cet homme, dans son garage, {{à}} alors une importance.
TEST: Il les y {{à}}.
TEST: On {{à}} faim.
TEST: Elle en {{à}} pris.
TEST: Elle {{à}} froid.
TEST: Elle l’en {{à}} averti.
TEST: lui, avec ceux-là, nous en {{à}} donnés trois.
TEST: un élève qui leur {{à}} fait bien des misères.
TEST: cet homme {{à}} faim
TEST: Je sais qu’ils sont {{a}} toi.
TEST: Celui qui y croit {{à les}} moyens d’y parvenir.
TEST: Face {{a}} ces gens, il ne pensait pas pouvoir réussir
TEST: On s’y fait, d’une manière ou d’une autre, {{a}} notre corps défendant.
TEST: Puisqu’on nous méprise, autant y aller {{a}} reculons.
TEST: Ne pas hésiter {{a}} {{demander}} des conseils.
TEST: Sébastien {{a}} {{demander}} des conseils.
TEST: Personne {{a}} part Tom ne connaît son adresse
TEST: Attention {{a}} ne pas la réveiller.
TEST: C’est {{à peu prêt}} la même chose.
TEST: ils viennent nous attaquer {{a}} tout bout de champ
TEST: par rapport {{a}} eux, je me sens parfois dépassé
TEST: par rapport {{a}} ces hommes-là, nous manquons d’expérience
TEST: Ce que cet homme à {{devient}} aujourd’hui notre problème
TEST: ce que cette personne, dans son esprit trouble et vindicatif, {{à}} aux hommes à dire, nul ne le sait.
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.


__[i]/conf(conf_celui_celle_à_qui)__
    ce(?:lui|lles?|ux) (a) qui  @@w
    <<- -1>> à                                  # 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 ?


__[i]/conf(conf_mener_à_bien)__
    (m[eèé]n\w+) (a) bien  @@0,w
    <<- morph(\1, ">mener ", False) and ( not before(r"\bque? ") or morph(word(-1), ">(?:falloir|aller|pouvoir) ", False, True) )
    -2>> à                  # Confusion probable. Dans cette locution, utilisez la préposition « à ».|https://fr.wiktionary.org/wiki/mener_%C3%A0_bien
    <<- __also__ ~>> \1

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.


__[i]/conf(conf_mettre_à_profit)__
    (m(?:i[st]|ett)\w*).* (a) profit  @@0,w
    <<- morph(\1, ">mettre ", False) -2>> à     # Confusion probable. Dans « mettre à profit », utilisez la préposition « à ».|https://fr.wiktionary.org/wiki/mettre_%C3%A0_profit

TEST: Mettre {{a}} profit ses compétences
TEST: Il a mis son talent {{a}} profit.


__[s]/conf(conf_m_a_tuer)__
    m’a +(tuer) @@$
    <<- -1>> 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
__[i]/conf(conf_après_avoir)__
    [àa] pr(?:êt|é|è)s? [aà] ?voire?
    <<- ->> après avoir                                                     # Confusion générale.

TEST: après avoir réussi son examen
TEST: {{a pré a voire}} monté les marches


# aux dépens
__[i]/conf(conf_aux_dépens)__
    (aux?) (dépend?s?)  @@0,$
    <<- not \1.endswith("x") and not \1.endswith("X") -1>> aux              # Locution prépositive : « aux dépens de ».|https://fr.wiktionary.org/wiki/aux_d%C3%A9pens_de
    <<- not \2.endswith("ens") and not \2.endswith("ENS") -2>> 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.


# au temps / autant
__[i]/conf(conf_au_temps_pour_moi)__
    (au ?tant?) pour moi @@0
    <<- isStart() -1>> au temps                                             # Pour reconnaître son erreur, « au temps pour moi » est l’expression recommandée par l’Académie française.
__[i]/conf(conf_autant_que_faire_se_peut)__
    au t(?:emps|ant?) que f(?:aire|erre|ers?) [sc]e peu[xt]?
    <<- ->> autant que faire se peut                                        # Locution adverbiale : « autant que faire se peut ».|https://fr.wiktionary.org/wiki/autant_que_faire_se_peut

TEST: Je me suis trompé. {{Autant}} pour moi.
TEST: on va y arriver, {{au temps que faire se peut}}…


# ça / çà / sa
__[i]/conf(conf_ça_sa)__
    (ça) ({w_2}) @@0,3 <<- morph(\2, ":[NAQ].*:f") and not re.search("^seule?s?", \2) -1>> sa       # Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte).
__[i]/conf(conf_sa_ça1)__
    (sa) +({w_2}) @@0,$
    <<- morphex(\2, ":G", ">(?:tr(?:ès|op)|peu|bien|plus|moins|toute) |:[NAQ].*:f") -1>> ça         # Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte).
__[i>/conf(conf_sa_ça2)__       (sa) +(?:[dnmtsjl]’|lorsqu |qu |puisqu )  @@0 <<- -1>> ça           # Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte).
__[i]/conf(conf_çà_ça)__        çà(?! et là) <<- not before(r"\b(?:[oO]h|[aA]h) +$") ->> ça         # Confusion : « çà » ne s’emploie plus guère que dans l’expression « çà et là ».
__[i]/conf(conf_çà_et_là)__     ça et là <<- not morph(word(-1), ":R") ->> çà et là                 # Confusion : « ça » équivaut à « cela ». Dans l’expression « çà et là », « çà » équivaut à « ici ».
__[s]/conf(conf_sa_fin)__       (sa) *$  @@0  <<- -1>> ça                           # Confusion probable : “sa” est un déterminant féminin singulier. Pour l’équivalent de “cela” ou “ceci”, écrivez :

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: 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: avec sa presque belle-mère
TEST: sa toute nouvelle application de synchronisation de fichiers


# ce / se / ceux
__[s]/conf(conf_se_verbe)__
    ([cC]e) ({w_2})  @@0,3
    <<- \2[0].islower() and \2 != "faire"
        and ( morphex(\2, ":V[123].*:(?:Y|[123][sp])", ":[NAGM]|>(?:devoir|pouvoir|sembler) ") or re.search("-(?:ils?|elles?|on)$", \2) )
    -1>> se                                                                 # Confusion : « \2 » est un verbe. Exemples : ce bâtiment, se perdre.
__[i]/conf(conf_pour_ce_faire)__
    pour (se) faire,? ({w_2})  @@5,$
    <<- (\0.find(",") >= 0 or morphex(\2, ":G", ":[AYD]"))
    -1>> ce                                                                 # Confusion probable. Dans cette locution, il faut employer “ce”.|http://fr.wiktionary.org/wiki/pour_ce_faire
__[i]/conf(conf_ne_se1)!6__
    ne (ce) @@3 <<- -1>> se                                                 # Confusion. Ce chien, ce chat… Se demander, se croire…
__[i>/conf(conf_ne_se2)__
    ne ([cç]’) @@3 <<- -1>> s’                                              # Confusion. Ce chien, ce chat… Se demander, se croire…
__[i]/conf(conf_ce_conj_prep)__
    (se) (?:qu[ei]?|dont|malgré|pourquoi|avec|pour|par) @@0 <<- -1>> ce     # Confusion. Exemples : ce bâtiment, se perdre.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440
__[i]/conf(conf_qui_se_verbe)__
    qui (ce) ({w_2})  @@4,$
    <<- morphex(\2, ":V", ":[NAQ].*:[me]") or before(r"(?i)\b[cs]e +$")
    -1>> se                                                                 # Confusion probable. Exemples : ce bâtiment, se perdre.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440
__[i]/conf(conf_ceux_ce_être)__
    (ceux) (?:ne |)(?:sont|serai(?:en|)[ts]?|f[uû](?:ren|)t|n’(?!ayant|étant)\w+) @@0
    <<- -1>> ce                                                             # Confusion.|http://www.intellego.fr/soutien-scolaire-6eme/aide-scolaire-francais/ce-ceux-ou-se/3829
__[s]/conf(conf_ce_ne_être_doit)__
    ([sS]e) n(?:e |’)({être}|d[eouû]\w+|p[oeuû]\w+)  @@0,$
    <<- morph(\2, ">(?:être|pouvoir|devoir) .*:3s", False)
    -1>> ce                                                                 # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440
__[i]/conf(conf_ce_ne)__
    (ceux) ne ({w_2}) @@0,$
    <<- morphex(\2, ":[123]s", ":P") -1>> ce                                # Confusion.|http://www.intellego.fr/soutien-scolaire-6eme/aide-scolaire-francais/ce-ceux-ou-se/3829
__[i]/conf(conf_ce_nom1)__
    (se) ({w1}) @@0,3
    <<- morphex(\2, ":[NAQ]", ":([123][sp]|Y|P|Q)|>l[ea]? ") -1>> ce        # Confusion. Ce chien, ce chat… Se demander, se croire…
__[i]/conf(conf_ce_nom2)__
    (ceux) (?!l[aà] |qu[ie]? )({w_2}) @@0,$
    <<- morphex(\2, ":N.*:s", ":(?:A.*:[pi]|P|R)|>autour ") -1>> ce         # Confusion probable.|http://www.intellego.fr/soutien-scolaire-6eme/aide-scolaire-francais/ce-ceux-ou-se/3829

TEST: il ne {{ce}} compte pas parmi eux
TEST: il ne {{ç’}}avançait jamais sans avoir pesé toutes les conséquences
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: {{Ce}} {{promener}} est relaxant.
TEST: Il {{ce}} {{sent}} seul
TEST: {{se}} {{train}} est en retard
TEST: {{ceux}} train arrive trop vite.
TEST: {{ceux}} ne doit pas nous faire oublier ce désastre
TEST: qui {{ce}} donne en spectacle.
TEST: {{ce}} prennent-ils pour des experts ?
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
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
__[i]/conf(conf_ce_à_quoi)__
    (?:se [àa] quoi|ce a quoi)
    <<- ->> ce à quoi                                   # Confusion.|https://fr.wiktionary.org/wiki/ce_%C3%A0_quoi

TEST: c’est {{se a quoi}} il pensait qui le minait.


# ces / ses / c’est
__[s]/conf(conf_c_est1)__
    ([scSC]es) (?:à|au-dessus|avec|aux?|contre|derrière|devant|par|pour|sans) (?:l(?:es?|a|)|une?|[cs]es?|cette|de?s?|du|lui|elles?|eux|nous|vous)  @@0
    <<- -1>> c’est                                                                          # Confusion. Écrivez « c’est » pour dire « ceci est… ».
__[s>/conf(conf_c_est2)__
    ([scSC]es) [ld]’(?![A-Z])  @@0
    <<- -1>> c’est                                                                          # Confusion. Écrivez « c’est » pour dire « ceci est… ».
__[s]/conf(conf_c_est3)__
    ([scSC]es) (?:qu(?:lle|el?|)|comme|ce(?:t|tte|)|[nv]os|les?|eux|elles)  @@0
    <<- -1>> c’est                                                                          # Confusion probable. Écrivez « c’est » pour dire « ceci est… ».
__[s]/conf(conf_c_est4)__
    ([scSC]es) ({w_1}) ({w_1}) @@0,w,$
    <<- morph(\2, ":[WX]", ":N:.*:[pi]") and morph(\3, ":[RD]|>pire ", False) -1>> c’est           # Confusion probable. Écrivez « c’est » pour dire « ceci est… ».
__[i]/conf(conf_ces_ses)__
    (c’est) ({w_2})  @@0,6 <<- morphex(\2, ":N.*:p", ":(?:G|W|M|A.*:[si])") -1>> ces|ses    # Confusion. Exemples : c’est facile ; ces chats (désignation) ; ses chats (possession)…

TEST: {{ses}} au-dessus de ses forces.
TEST: {{ces}} comme la peste
TEST: car {{ses}} d’avance perdu
TEST: {{ces}} qu’il y a tant de pertes
TEST: {{ces}} jamais une bonne idée.
TEST: {{c’est}} {{délires}} nous ennuient
TEST: En 2015, c’est Paris et son agglomération qui…
TEST: Ses pas de danse.


# compte / comte / conte
__[i]/conf(conf_à_bon_compte)__
    à bon (co[nm]te)  @@$
    <<- -1>> compte                                                             # Confusion. Locution “à bon compte”.|https://fr.wiktionary.org/wiki/%C3%A0_bon_compte
__[i]/conf(conf_à_ce_compte_là)__
    à ce (co[nm]te)-là  @@*
    <<- -1>> compte                                                             # Confusion probable. Locution “à ce compte-là”.|https://fr.wiktionary.org/wiki/%C3%A0_ce_compte-l%C3%A0
__[i]/conf(conf_compte)__
    (co[mn]tes?)[ -](à (?:rebours|découvert|terme)|bancaires?|des opérations|tenus?|rendus?|joints?|courants?|chèques?) @@0,$
    <<- not \1.startswith("tenu") or isStart() -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 :
__[i]/conf(conf_en_fin_de_compte)__
    en (f(?:aim|in)s?|lignes?) de co[nm]tes?  @@w
    <<- \1.startswith("f") ->> en fin de compte                                 # Confusion. Locution “en fin de compte”.|https://fr.wiktionary.org/wiki/en_fin_de_compte
    <<- \1.startswith("l") ->> en ligne de compte                               # Confusion. Locution “en ligne de compte”.|https://fr.wiktionary.org/wiki/en_ligne_de_compte
__[i]/conf(conf_la_cour_des_comptes)__
    la cour des (co[nm]tes)  @@$
    <<- -1>> comptes                                                            # Confusion. Un conte est un récit fictif, “comte” est un titre de noblesse. Pour un état chiffré, un calcul… écrivez :
__[i]/conf(conf_loin_du_compte)__
    loin du (co[mn]te)  @@$
    <<- -1>> compte                                                             # Confusion. Locution “loin du compte”.|https://fr.wiktionary.org/wiki/loin_du_compte
__[i]/conf(règlement_de_comptes)__
    r[éè]glements? de (co[mn]tes?)  @@$
    <<- -1>> comptes                                                            # Confusion.|https://fr.wiktionary.org/wiki/r%C3%A8glement_de_comptes
__[i]/conf(régler_son_compte)__
    (r[éè]gl\w+) +(?:[mts]on|leurs?|[vn]otre) (co[mn]tes?)  @@0,$
    <<- morph(\1, ">régler ", False) -2>> compte                                # Confusion. Un conte est un récit fictif, “comte” est un titre de noblesse. Pour un état chiffré, un calcul… écrivez :|https://fr.wiktionary.org/wiki/r%C3%A9gler_son_compte
__[i]/conf(conf_tout_compte_fait)__
    tout (co[mn]te) fait  @@w
    <<- -1>> 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: on va lui régler son {{conte}}, à cet enculé.
TEST: tout {{conte}} fait, ça reste un salopard.


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

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


# date / datte
__[i]/conf(conf_date1)__
    dates
    <<- after("(?i)^ +(?:fra[iî]ches|dénoyautées|fourrées|sèches|séchées|cultivées|produites|muscade|medjool|Hamraya|deglet[ -]nour|kenta|allig|khouat)")
        or before(r"(?i)\b(?:confiture|crème|gâteau|mélasse|noyau|pâte|recette|sirop)[sx]? de +$|\b(?:moelleux|gateau|fondant|cake)[sx]? aux +$")
    ->> dattes                                                                              # Confusion probable : le fruit s’écrit avec deux “t”.

TEST: il va faire un cake aux {{dates}}.
TEST: elle a fait de la confiture de {{dates}}
TEST: Elles étaient à cette date cultivées à l’air libre.
TEST: De fraîche date…


# d’en / dans
__[i]/conf(conf_dans1)__
    (d’en|dan) (?:l(?:es?|a)|une?|d(?:es?|u)|[mts](?:on|a|es)|[nv]o(?:tre|s)|ce(?:tte|t|s|))  @@0
    <<- \1.endswith("en") or isRealStart() -1>> dans                                # Confusion. Utilisez “dans” pour dire “à l’intérieur de quelque chose”.
__[i]/conf(conf_dans2)__
    ^ *(dents?) (?:l(?:es?|a)|une?|[mts](?:on|a|es)|[nv]o(?:tre|s)|ce(?:tte|t|s|))  @@*
    <<- -1>> 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.


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

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


# différend / différent
__[i]/conf(conf_différent)__
    différends?
    <<- morph(word(-1), ":W", False, False) ->> =\0.replace("end", "ent")           # Confusion probable : “un différend” est un désaccord. Pour l’adjectif qualifiant une différence, écrivez :
__[i]/conf(conf_différend1)__
    (?:mon|[vn]otre|leur) +(différent) @@$
    <<- morphex(word(1), ":[GVX]", ":[NAQ]", True)
    -1>> différend                                          # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.
__[i]/conf(conf_différend2)__
    [ts]on +(différent) @@$
    <<- morphex(word(1), ":[GVX]", ":[NAQ]", True) and not morph(word(-1), ":D", False, False)
    -1>> différend                                          # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.
__[i]/conf(conf_un_différend)__
    un (différent)  @@3
    <<- morphex(word(1), ":[GV]", ":[NAQ]", False)
    -1>> différend                                          # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.
__[i]/conf(conf_différends)__
    (?:leurs|[mts]es|[nv]os) (différents) @@$
    <<- morphex(word(1), ":[GV]", ":[NAQ]", True)
    -1>> différends                                         # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.
__[i]/conf(conf_les_différends)__
    (?:[ld]es) (différents) @@$
    <<- morphex(word(1), ":G", ":[NAQ]", False)
    -1>> différends                                         # Confusion : « différent » est un adjectif, « différend » est le nom qui signifie désaccord.
__[i]/conf(conf_être_différent)__
    ({etre}) +(?:pas +|)(?:si +|)(différends?)  @@0,$
    <<- morph(\1, ":V0e", False)
    -2>> =\2.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: 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 {{différends}} de nous.
TEST: Cette fois, il parla avec un ton différent.
TEST: J’en veux un différent.
TEST: dans ses différents ouvrages
TEST: dans ses différents postes gouvernementaux


# eh bien, hé bien / et bien
__[i]/conf(conf_eh_bien)__
    et bien(?! que?| sûr| d’autres| entendu| avant| souvent| longtemps| des| moins| plus| au-delà)
    <<- isStart() and not morph(word(1), ":[WAY]", False, False)
    ->> 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
__[i]/conf(conf_eh_ben)__
    et (ben)  @@3
    <<- not \1.startswith("B")
    ->> 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.


# faut / faux
__[i]/conf(conf_faux)__
    faut
    <<- not morph(word(-1), ">(?:ils?|ne|en|y|leur|lui|nous|vous|[mtsl]e|la|les) ", False, True) and morphex(word(1), ":",  ":(?:Y|Oo|X|M)", True)
    ->> faux                                                # Confusion probable : “faut” est une conjugaison de “falloir”. Pour indiquer la fausseté d’une chose, écrivez :

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.


# flan / flanc
__[i]/conf(conf_flan)__
    (flancs?) (?:aux? (?:caramel|café|citron|chocolat|four|lait|lard|noix|pomme|pruneaux?|œuf|raisin)s?|d’(?:or|argent)|de cuivre|pâtissier|à la (?:crème|coco|noix))  @@0
    <<- -1>> =\1.replace("c", "").replace("C", "")                                                  # Confusion. S’il s’agit d’une pâtisserie (ou d’une pièce de métal), écrivez :|https://fr.wiktionary.org/wiki/flan
__[i]/conf(conf_c_est_du_flan)__
    c’(?:est|était) (?:que +|rien que +|tout +|)du (flanc) @@$
    <<- -1>> flan                                                                                   # Confusion. Locution « c’est du flan ».|https://fr.wiktionary.org/wiki/flan
__[i]/conf(conf_comme_deux_ronds_de_flan)__
    comme deux ronds de (flancs?)  @@$
    <<- -1>> flan                                                                                   # Confusion. Locution « comme deux ronds de flan ».|https://fr.wiktionary.org/wiki/comme_deux_ronds_de_flan

TEST: encore un {{flanc}} au chocolat.
TEST: ce type, c’est que du {{flanc}}.
TEST: j’en étais comme deux ronds de {{flancs}}


__[i]/conf(conf_flanc)__
    (flans?) (?:des? (?:la |)(?:colline|montagne)s?|gauches?|droites?|nord|sud|ouest)  @@0
    <<- -1>> =\0.replace("an", "anc").replace("AN", "ANC")                                          # Confusion probable. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc
__[i]/conf(conf_sur_le_flanc)__
    ((?:attaqu|allong|bless|couch|étend|touch)\w+) +sur (?:les?|[mts](?:on|es)|[nv]o(?:tre|s)) (flans?)  @@0,$
    <<- morph(\1, ">(?:attaquer|allonger|blesser|coucher|étendre|toucher) ", False)
    -2>> =\0.replace("an", "anc").replace("AN", "ANC")                                              # Confusion probable. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc
__[i]/conf(conf_tirer_au_flanc)__
    (tir\w*)[ -]+aux?[ -](flans?)  @@0,$
    <<- morph(\1, ">tir(?:er|) ", False) -2>> =\0.replace("an", "anc").replace("AN", "ANC")         # Confusion. Le flan est une pâtisserie.|https://fr.wiktionary.org/wiki/flanc

TEST: attaqué sur son {{flan}} droit
TEST: elle possède une maison à {{flan}} de colline.
TEST: étendu sur son {{flan}}.
TEST: Ce sale tir-au-{{flan}} le paiera cher.
TEST: le flan est une pâtisserie.
TEST: versez du caramel sur le flan.


# golf / golfe
__[i]/conf(conf_golf)__
    (champion(?:ne|nat|)s?|clubs?|joueu(?:r|se)s?|parcours|sacs?|balles?|terrains?|tournois?|compétitions?|passionnée?s?|écoles?|professeurs?|parties?|professionnel(?:le|)s?|amateure?s?|stages?|journées?|après-midi|matinées?|heures?|fédérations?|fans?) de (golfe)  @@0,$
    <<- -2>> golf                                                           # Confusion. Le golfe est une zone de mer ou d’un lac avancée dans les terres. Ex : Le golfe Persique.
__[i]/conf(conf_golfe)__
    (golf) (persique|d[ue] (?:Bengale|Botnie|Gascogne|Gabès|Guinée|Lion|Morbihan|Mexique|Porto|Saint-Laurent|Thaïlande|Tonkin|Tunis|Winam)|d’(?:Aden|Ajaccio|Alaska|Hammamet))  @@0,$
    <<- -1>> golfe                                                          # Confusion. Le golf est un sport.
__[i]/conf(conf_Golfe)__
    (?:guerre|émir|monarchie)s? du (golf) @@$ <<- -1>> 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.


# haut delà / au-delà
__[i]/conf(conf_au_delà)__      haut[- ]del[àa] <<- ->> au-delà             # Confusion. 

TEST: il va dans l’{{haut delà}}


# héro / héros
__[i]/conf(conf_héros)__
    (?:le|quel|cet?|un|du|au) (héro) @@$
    <<- -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}} !


# hors / or
__[i>/conf(conf_hors_or1)__
    ^ *(hors),  @@* <<- -1>> 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
__[i]/conf(conf_hors_or2)__
    (hors) (?:j(?:e|’[\w-]+)|tu|ils?|on|parce|quel(?:le|)s?|pourquoi|qu[ie])  @@0 <<- -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

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: Hors nous, personne ne sait ce qui s’est passé là-bas.
TEST: Le peuple se sent hors jeu.


# la / là
__[s]/conf(conf_la_là)__
    ([lL]a) (?:a(?:fin|lors|près|uprès|ux?|vant|vec)|au(?:-de(?:dans|hors|là|sso?us|vant)|x|)|c(?:e(?:t|te|s|)|ar|hez|omme)|ça|d(?:ans|evant|es?|ès|onc|urant|’{w_1})|e(?:lles?|n|t)|ils?|je?|l(?:es?|a|orsque?|’{w_1})|m(?:algré|es|on|a|e)|n(?:e|ous)|o[uùn]|par(?:ce|fois|mi|)|p(?:arce|endant|our|uisque)|qu(?:e?|and)|s(?:on|a|es?|ouvent|ur)|t(?:andis|on|a|es?|u)|un|vous)
    @@0
    <<- not morph(word(-1), ":E|>le ", False, False)
    -1>> là                                                                                         # Confusion probable. Écrivez “là” si vous voulez dire “ici”.

TEST: nous serions encore {{la}} l’année prochaine
TEST: en reprenant le chandail de John {{la}} où elle l’avait abandonné.
TEST: Qui serait la ou le plus à même à occuper ce poste selon vous ?


__[i]/conf(conf_tiret_la_là)__
    ce(?:te|s|) +{w_2}-(la) @@$
    <<- -1>> là                                                                                     # Confusion. Écrivez “là” soudé au nom pour désigner un objet précis.

TEST: Ce {{fait}}-{{la}} ne peut être ignoré.


# les / lés / lès
__[i]/conf(conf_les1)__
    (lés) +({w_2})  @@0,$
    <<- morph(\2, ":N.*:m:[pi]") -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: 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.


__[i]/conf(conf_les2)__
    lès
    <<- isEnd() or morph(word(-1), ":D.*:p") ->> 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 :|https://fr.wiktionary.org/wiki/l%C3%A8s
    <<- __else__ ->> 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

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: Elle habite Vandœuvre-lès-Nancy.


# leurs / leur
__[i]/conf(conf_leurs_verbe)__
    (leurs) ({w_2})  @@0,6
    <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:G|N|A|M[12P])") and not before(r"(?i)\b[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 :

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
__[i]/conf(conf_loin_s_en_faut)__
    loins? +(?:[sc]ens|san[gs]?s?|s[’ ]en) +fau[xt]
    <<- not re.search("(?i)loin s’en faut", \0) and morph(word(-1), ":N", ">(?:aller|venir|partir) ", True)
    ->> loin s’en faut                                                                              # Confusion probable. Cette locution s’écrit :|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.


# mai / mais
__[i]/conf(mais)__
    (mai) +({w_1}) @@0,$
    <<- morphex(\2, ":O", ":3s") and isStart() -1>> 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

TEST: {{mai}} il y a encore tant à faire.
TEST: Je viendrai, {{mai}} il faudra avoir tout prévu.
TEST: Mai pluvieux.


# min / mins
__[u]/conf(conf_symbole_min)__  \d+ (mins) @@$ <<- -1>> min                                         # Les unités de mesure abrégées ne prennent pas la marque du pluriel.

TEST: 120 {{Mins}} de bonheur


# on / ont
__[i]/conf(conf_on_ont_adverbe)__
    (?<!’)(on) ({w_2})  @@0,3
    <<- morphex(\2, ":W", ":3s") and not morph(word(-1), ":V.*:3s", False, False) -1>> ont          # Confusion probable : “avoir” à la 3ᵉ personne du pluriel du présent s’écrit “ont”.

TEST: ces gens {{on}} {{souvent}} tort.
TEST: Je voulais qu’on soit ensemble.


# ou / où
__[i]/conf(conf_où_verbe)__
    ^(Ou) ({w_2}) @@0,3 <<- morphex(\2, ":3[sp]", ":Y") -1>> Où                             # Confusion probable. La conjonction “ou” signale une alternative. Utilisez “où” pour “en quel lieu”.
__[i]/conf(conf_au_moment_par_d_où)__
    (?:au moment |jusqu |par |d’)(ou) @@$ <<- -1>> où                                       # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_vers_où)__
    vers (ou) @@5 <<- not morph(word(-1), ":D", False, False) -1>> où                       # Confusion probable. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_jusqu_où_au_cas_où)__
    (?:au|le|des) cas (ou) @@$ <<- -1>> où                                                  # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_à_partir_du_temps_où)__
    à partir d(?:u (?:lieu|moment|jour|mois)|e l’(?:instant|année|heure)|e la (?:minute|semaine|seconde)) +(ou) @@$
    <<- -1>> où                                                                             # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.
__[i]/conf(conf_depuis_xxxx_où)__
    depuis (?:le (?:jour|millénaire|moment|mois|siècle)|la (?:minute|semaine|seconde)|l’(?:année|heure|instant)) (ou)  @@$
    <<- -1>> où                                                                             # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”.

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


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

TEST: elles sont si {{pales}}.
TEST: cette {{pale}} imitation d’un chef-d’œuvre


# peu / peux / peut / peut-être
__[i]/conf(conf_peut_adv)__
    (?<![dDuUnN][eEnN] )(peu) (?:pas|donc|jamais|rien|parfois|alors|enfin|rarement|éventuellement) @@0
    <<- not before("très +$") -1>> peut                                     # Confusion probable : « peu » signifie « pas beaucoup », pour le verbe pouvoir, écrivez :
__[i]/conf(conf_il_ce_peut_être)!6__
    ^ *(?:il|ce) (peut-être) @@$
    <<- -1>> peut être                                                      # Confusion probable : « peut-être » signifie « possiblement ».
__[i]/conf(conf_cela_peut_être_adj)__
    ^ *(?:cela|ceci) (peut-être) ({w_2})  @@w,$
    <<- morph(\2, ":[AQ]", False) -1>> peut être                            # Confusion probable : « peut-être » signifie « possiblement ».
__[i]/conf(conf_peu_à_peu)__
    peu[xt]? a peu[xt]?
    <<- ->> peu à peu                                                       # Confusion : « peu à peu » ou « petit à petit ». 
__[i]/conf(conf_peu_importe)__
    (peu[tx]) importe(?:nt|) @@w
    <<- morph(word(-1), ":C", False, True) -1>> peu                         # Confusion : « \1 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.
__[i]/conf(conf_adv_de_peu)!6__
    (?:très|trop|de|quelque|pour|à) (peu[tx]) @@$
    <<- -1>> peu                                                            # Confusion : « \1 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.
__[i]/conf(conf_un_peu)!6__
    un (peu[xt]) @@3
    <<- not before("(?i)(?:quelqu|l|d)’") -1>> peu                          # Confusion : « \1 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.
__[i]/conf(conf_il_on_ne_peut)!6__
    (?:il|on) (?:ne |)(peu) @@$
    <<- -1>> peut                                                           # Confusion : « peu » signifie « pas beaucoup ».
__[i]/conf(conf_je_tu_peux)!6__
    (?:je|tu) (?:ne |)(peu)
    @@$ <<- -1>> peux                                                       # Confusion : « peu » signifie « pas beaucoup ».
__[i]/conf(conf_ne_se_peut)!6__
    [ns]e (peu) @@3
    <<- -1>> peut                                                           # Confusion. Exemples : Il est peu habile, mais il peut y arriver.
__[i]/conf(conf_peu_adj)__
    (peu[tx]) ({w_2})  @@0,$
    <<- morph(\2, ":A") and not re.search("(?i)^seule?s?$", \2) and not before(r"(?i)\b(?:il|on|ne|je|tu) +$")
    -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: Il {{peut-être}} mortel.
TEST: Cela {{peut-être}} mortel.
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.


# la plupart
__[i]/conf(conf_la_plupart)__   la (plu[st][ -]part) @@3 <<- -1>> plupart                           # Confusion. Écrivez « la plupart » pour évoquer la majeure partie de quelque chose.

TEST: la {{plus part}}


# par-dessus / pardessus
__[i]/conf(conf_par_dessus)__
    (pardessus) +({w1})  @@0,$
    <<- morph(\2, ":D|>bord ", False) and not morph(word(-1), ":D.*:[me]|>(?:grande|petite) ", False, False)
    -1>> par-dessus                                                                                 # Confusion probable. Un pardessus est un vêtement. Pour la préposition, écrivez :

TEST: {{Pardessus}} les montagnes.
TEST: Il passa {{pardessus}} les collines.
TEST: Mets ton pardessus ce matin.


# pot aux roses / poteau rose
__[i]/conf(conf_pot_aux_roses)__
    poteau rose <<- ->> 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é
__[i]/conf(conf_prêt_à)__
    (près) à ({w_2})  @@0,$
    <<- not before("(?i)(?:peu|de|au plus) $") and morph(\2, ":Y|>(?:tout|les?|la) ") -1>> prêt|prêts       # Confusion. Être près de (faire) quelque chose. Prêt à faire quelque chose.
__[i]/conf(conf_près_de)__
    (prêts?) d(?:e +|’)({w_1}) @@0,$
    <<- morph(\2, ":(?:Y|M[12P])|>(?:en|y|les?) ", False) -1>> près                                 # Confusion. Être près de (faire) quelque chose. Prêt à faire quelque chose.
__[i]/conf(conf_près)__         de(?: plus|puis) (prêts?)  @@$ <<- -1>> près                        # Confusion. Être prêt(e) à faire quelque chose. Être près de quelque chose.
__[i]/conf(conf_très_près)__    très (pr(?:êt|é)s?) @@$ <<- -1>> près                               # Confusion probable. Pour évoquer la proximité, utilisez :

TEST: ils se sont approchés très {{prêts}}.
TEST: Je suis si {{prêt}} d’y arriver.
TEST: Il est {{près}} à les aider
TEST: Elle va regarder ça de plus {{prêt}}.


# quand / quant / qu’en
__[i]/conf(conf_quant_à)__
    (?<![dD]e )(quand) (?:à|aux?)  @@0
    <<- not morph(word(-1), ">(?:arriver|venir|à|revenir|partir|aller) ")
        and not(\0.endswith("à") and after("^ +[mts]on tour[, ]")) -1>> quant                           # Confusion probable. Quand = à quel moment. Quant à = à propos de.
__[i]/conf(conf_quand1)__   quant(?! à| aux?| est[ -]il d(?:es?|u) ) <<- ->> quand                  # Confusion. Quand = à quel moment. Quant à = à propos de.
__[i]/conf(conf_qu_en1)__   (quan[dt]) est[ -]il d(?:es?|u) @@0 <<- -1>> qu’en                      # Confusion. Ce qu’il en est de… → Qu’en est-il de… ?
__[i]/conf(conf_qu_en2)__   (quan[dt]) ({w_2}ant) @@0,$ <<- morph(\2, ":P", False) -1>> qu’en       # Confusion probable.
__[i]/conf(conf_quand2)__
    (qu en) (?:je|tu|ils?) @@0
    <<- not after("^ +ne s(?:ai[st]|u[st]|urent|avai(?:[ts]|ent)) ") -1>> quand                     # Confusion probable. Pour évoquer un moment, écrivez :

TEST: {{Quant}} est-il du chien ?
TEST: {{Quand}} à ma santé, elle est défaillante.
TEST: {{Quant}} ils…
TEST: {{quant}} je…
TEST: {{quant}} nous…
TEST: il comprit {{quand}} prenant son parti, il se protégeait aussi.
TEST: {{qu’en}} il vient, c’est l’enfer.
TEST: il est exact qu’en je ne sais combien de temps il parvint à un résultat inattendu.
TEST: être rassuré quant à l’avenir du continent européen
TEST: il comprit trop tard qu’en elle naquit alors le doute qui l’éloigna de lui à jamais.
TEST: Quand à mon tour je réalise l’imposture, c’est trop tard.


# quand bien même
__[i]/conf(conf_quand_bien_même)__
    combien même <<- not after("^ si ") ->> quand bien même                                         # Locution conjonctive.|https://fr.wiktionary.org/wiki/quand_bien_m%C3%AAme                             

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.


# qu’elle / quelle
__[i]/conf(conf_quelle_nom_adj)__
    (qu elles?) +(?!seule?s?)({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ]", ":(?:G|[123][sp]|W)") -1>> =\1.replace(" ", "")                       # Confusion probable. Ex : Quelle femme ! Je crois qu’elle réussira.

TEST: {{qu’elle}} emmerdeuse.


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

TEST: Je sais {{quelle}} est partie.
TEST: {{Quelle}} partit prendre son repas à la cantine, je n’en avais cure.
TEST: Il se plaint {{quelle}} ne nous dit rien.
TEST: {{Quelles}} sont intelligentes, ces filles-là.
TEST: {{Quelle}} a du répondant, cette gamine !
TEST: {{Quelle}} y vienne, on verra ce qu’elle vaut.
TEST: Je veux {{quelles}} s’efforcent à y parvenir.
TEST: {{Quelle}} l’apprenne un jour, on n’y peut rien.
TEST: Je crois {{quelle}} n’en sait pas assez pour nous nuire.
TEST: {{Quelles}} t’arrivent seulement à la cheville, voilà qui serait étonnant.
TEST: {{Quelles}} m’engueulent encore une seule fois et elles vont le regretter.
TEST: Je crois {{quelle}} est partie.
TEST: il pense {{quelles}} sont devenues dangereuses.
TEST: Quelle est sa passion ?
TEST: Quelles sont leurs principales études ?


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

TEST: Vous n’êtes pas sans {{ignorer}} que…


## s’en / sens / sans / cent / cens
__[i]/conf(conf_il_on_s_en)__  (?:ils?|on) (san[sg]|cen[st]|c’en) ({w_2})  @@w,$
    <<- isStart() and morph(\2, ":V", False)
    -1>> s’en                                                                                       # Confusion probable.
__[i]/conf(conf_elle_s_en)__  elles? (san[sg]|cen[st]|c’en) ({w_2})  @@w,$
    <<- isStart() and morph(\2, ":V", False) and not ( \1 == "sans" and morph(\2, ":[NY]", False) )
    -1>> s’en                                                                                       # Confusion probable.

TEST: il {{c’en}} est vite lassé.
TEST: {{S’en}} était vraiment trop !
TEST: Car {{s’en}} était vraiment fini !
TEST: elle {{sang}} était voulu


## son / sont
__[i]/conf(conf_ne_sont)__
    ne (?:l(?:e|eur|ui) |[nv]ous |)(son)  @@$
    <<- -1>> sont                   # Confusion : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”.
__[i]/conf(conf_me_te_se_son)!6__
    [mts]e (son)  @@3
    <<- -1>> sont                   # Confusion : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”.
__[i]/conf(conf_son_qqch)__
    (sont) ({w_2})  @@0,$
    <<- morphex(\2, ":[NA].*:[me]:s|>[aeéiîou].* :[NA].*:f:s", ":[GW]")
        and morphex(word(-1), ":V|>(?:à|avec|chez|dès|contre|devant|derrière|en|par|pour|sans|sur) ", ":[NA].*:[pi]|>(?:ils|elles|vous|nous|leur|lui|[nmts]e) ", True)
        and not before(r"(?i)\bce que? |[mts]’en +$")
    -1>> son                        # Confusion : “sont” est le verbe “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”.
__[i]/conf(conf_qui_sont_les)__
    (?:qu[ie]|comment|pourquoi) +(son) @@$
    <<- morph(word(1), ":[DR]", False, True) -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: {{sont}} {{pain}}
TEST: en {{sont}} {{absence}}
TEST: qui {{son}} ces gens ?
TEST: ces gens qui {{son}}, dans le meilleur des cas, des imbéciles ne peuvent nous aider.
TEST: elles s’en sont mal portées
TEST: ils en sont reconnaissants
TEST: Il ne sait pas vraiment ce que sont la peur et la souffrance.


# statu / statut
__[i]/conf(conf_statu_quo)__
    statu[tse] quo <<- ->> statu quo                                                      # Confusion.|https://fr.wiktionary.org/wiki/statu_quo
__[i]/conf(conf_statue_statut)__
    statu(?! quo) <<- ->> 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: Quelle splendide {{statu}}.


# sur / sûr
__[i]/conf(conf_sûr_de_nom_propre)__
    (sur) d(?:e |’)([A-ZÉÈ][\w-]+)  @@0,$
    <<- morph(\2, ":M[12]", False) -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

TEST: Je suis {{sur}} de Patrick.


# tant / temps (1re partie)
__[i]/conf(conf_en_temps_de)__
    en (tant?) de?  @@3
    <<- not after("^[ ’](?:lieux|endroits|places|mondes|villes|pays|régions|cités)") -1>> temps     # Confusion. Écrivez « en temps de » si vous évoquez une période de temps.
__[i]/conf(conf_de_temps_en_temps)__    de tant? en tant?                   <<- ->> de temps en temps   # Confusion. Écrivez « de temps en temps ».
__[i]/conf(conf_un_temps_soit_peu)__    un (temps|tan) soi[tes]? peu  @@3   <<- -1>> tant           # Confusion. Écrivez « un tant soit peu ».
__[i]/conf(conf_tant_de)__              a(?:près|vec) (temps|tan) de?  @@w  <<- -1>> tant           # Confusion.|http://fr.wiktionary.org/wiki/tant 
__[i]/conf(conf_à_temps_partiel)__      [àa] (tant?) (?:partiel|plein)s? @@2 <<- -1>> temps         # Confusion.
__[i]/conf(conf_en_même_temps)__        en mêmes? (tant?)  @@$              <<- -1>> temps          # Confusion.

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: un {{temps}} soit peu perdu dans cette affaire.
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: 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.


# tant bien même
__[i]/conf(conf_tant_bien_même)__
    tant bien même <<- ->> quand bien même                                  # Confusion. Écrivez « quand bien même ».|http://www.academie-francaise.fr/tant-bien-meme

TEST: il sera condamné {{tant bien même}} il prouverait que c’était un accident.


# voie / vois / voix
# ->> voix
__[i]/conf(conf_à_haute_voix)__     à haute (voi[tes])   @@8            <<- -1>> voix               # Confusion.|http://fr.wiktionary.org/wiki/voix
__[i]/conf(conf_à_voix)__           à (voi[tes]) (?:basse|haute) @@2    <<- -1>> voix               # Confusion.|http://fr.wiktionary.org/wiki/voix
__[i]/conf(conf_de_vive_voix)__     de vives? (voi[est])  @@$           <<- -1>> voix               # Confusion.|http://fr.wiktionary.org/wiki/voix

TEST: à haute {{voie}}
TEST: à {{voie}} haute
TEST: de vive {{voie}}

# ->> voie
__[i]/conf(conf_sur_la_bonne_voie)__        sur la bonne (voix) @@$     <<- -1>> voie               # Confusion.|http://fr.wiktionary.org/wiki/voix
__[i]/conf(conf_en_voie_de)__
    en (voix) d(?:e (?:développement|disparition|guérison|résorption)|’(?:acquisition|achèvement|extinction|obtention))  @@3
    <<- -1>> voie                                                                                   # Confusion.|http://fr.wiktionary.org/wiki/voie
__[i]/conf(conf_ouvrir_la_voix)__
    (ouv\w+) +la (voix) (?:à|aux?)  @@0,w <<- morph(\1, ">ouvrir ", False) -2>> voie                # Confusion.|http://fr.wiktionary.org/wiki/voie
__[i]/conf(conf_par_voie_de_conséquence)__  par (voix) de conséquence   @@4 <<- -1>> voie           # Confusion.|http://fr.wiktionary.org/wiki/voie
__[i]/conf(conf_voie_adj)__
    (voix) (?:abdominale|anale|biliaire|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|rectiligne|sinueuse|souterraine|urbaine)s? @@0
    <<- -1>> voie                                                                                   # Confusion.|http://fr.wiktionary.org/wiki/voie

TEST: sur la bonne {{voix}}
TEST: ces patients sont en {{voix}} de guérison.
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.


# voire / voir
__[i]/conf(conf_voir_voire)__
    (voir) ({w_2}) @@0,$
    <<- not re.search("^(?:grand|petit|rouge)$", \2) and morphex(\2, ":A", ":[NGM]") and not \2.istitle()
        and not before(r"(?i)\b[ndmts](?:e |’(?:en |y ))(?:pas |jamais |) *$") and not morph(word(-1), ":O[os]|>(?:[ndmts]e|falloir|pouvoir|savoir|de) ", False)
    -1>> voire 
    # Confusion probable : “voir” est un verbe concernant la perception visuelle. Pour signifier “et même possiblement”, écrivez :|https://fr.wiktionary.org/wiki/voire

__[i]/conf(conf_voire_voir)__
    voire
    <<- morph(word(-1), ":Cs|>(?:ni|et|sans|pour|falloir|[pv]ouvoir|aller) ", True, False) ->> 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: 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.



!!
!!
!!!! Pronoms + incohérences                                                                         
!!
!!
__[i](p_m_enfin)__      m’enfin <<- ~>> *

__[i]/conf(conf_j_y_en_qqch)__
    (j’(?:en +|y +|))({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|O[onw])")
    -2>> =suggSimil(\2, ":1s", False)                                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_ne_qqch)__
    (n(?:e +|’))({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)|>(?:[lmtsn]|surtout|guère|presque|même|tout|parfois|vraiment|réellement) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Oo|Y)", False)                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe ou un pronom personnel objet.
__[i]/conf(conf_n_y_en_qqch)__
    (n’(?:en|y)) ({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                                  # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_ne_pronom_qqch)__
    (ne (?:l(?:es? +|eur +|a +|’)|[nv]ous))({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                                  # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_me_te_se_qqch)__
    ([mts]e +(?:les? |la |l’|))(?!voi(?:là|ci))({w_1})  @@0,$
    <<- not re.search("(?i)^se que?", \0)
        and morphex(\2, ":", ":(?:[123][sp]|Y|P|Oo)|>[lmts] ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Oo|Y)", False)                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe ou un pronom personnel objet.
__[i]/conf(conf_m_t_s_y_en_qqch)__
    ([mts]’(?:en|y)) (?!voilà)({w_1})  @@0,$
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|X|Oo)|rien ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                                  # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_m_s_qqch)__
    ([ms]’)({w_1})  @@0,2
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P)|>(?:en|y|ils?) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                                  # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_t_qqch)__
    (t’)({w_1})  @@0,2
    <<- morphex(\2, ":", ":(?:[123][sp]|Y|P)|>(?:en|y|ils?|elles?) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2)
    -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                                  # Incohérence avec « \1 » : « \2 » devrait être un verbe.
__[i]/conf(conf_c_ç_qqch)__
    ([cç]’)({w_1})  @@0,2
    <<- morphex(\2, ":", ":[123][sp]|>(?:en|y|que?) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|dire)$", \2)
    -2>> =suggSimil(\2, ":3s", False)                                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: ne l’{{oubli}} pas
TEST: elle ne la {{croix}} pas
TEST: ils me les {{laissés}}.
TEST: ne {{pensée}} rien, jamais
TEST: n’en {{laissée}} que des miettes
TEST: s’y {{intéressé}}
TEST: Il ne {{travail}} pas le week-end.
TEST: Je m’en {{fou}}.
TEST: il m’{{arête}} encore une fois avec une impudence insupportable.
TEST: J’y {{travail}}.
TEST: ç’{{avé}} été dur.
TEST: me {{pronostic}} un cancer dans les trois mois.
TEST: t’{{appel}} l’autre gras, puis on y va.
TEST: te {{mangé}}
TEST: s’y {{accordez}}
TEST: s’en {{approché}}
TEST: m’y {{attaché}}
TEST: je t’en {{parlé}}
TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal
TEST: M’enfin, c’est absurde
TEST: il est normal de ne presque pas payer des gens qui effectuent un travail
TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ».
TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter.
TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié.
TEST: Ne parfois pas être celui qui sabote l’ambiance.


!!
!!
!!!! Formes verbales sans sujet                                                                     
!!
!!

## Incohérences avec formes verbales 1sg et 2sg sans sujet
__[i](p_notre_père_qui_es_au_cieux)__   notre père (qui est? aux cieux) @@11 <<- ~1>> *

__[i]/conj(conj_xxxai_sans_sujet)!3__
    \w*ai(?! je)
    <<- ( morph(\0, ":1s") or ( before("> +$") and morph(\0, ":1s", False) ) ) and not (\0[0:1].isupper() and before0(r"\w"))
        and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) )")
    ->> =suggVerb(@, ":3s")                                     # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.
__[i]/conj(conj_xxxes_sans_sujet)!3__
    \w*es(?! tu)
    <<- morphex(\0, ":2s", ":(?:E|G|W|M|J|[13][sp]|2p)") and not \0[0:1].isupper() and not isRealStart()
        and ( not morph(\0, ":[NAQ]", False) or before("> +$") )
        and not before(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )")
    ->> =suggVerb(@, ":3s")                                     # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.
__[i]/conj(conj_xxxas_sans_sujet)!3__
    \w+as(?! tu)
    <<- morphex(\0, ":2s", ":(?:G|W|M|J|[13][sp]|2p)") and not (\0[0:1].isupper() and before0(r"\w"))
        and ( not morph(\0, ":[NAQ]", False) or before("> +$") )
        and not before(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )")
    ->> =suggVerb(@, ":3s")                                     # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.
__[i]/conj(conj_xxxxs_sans_sujet)!3__
    \w+[iudnrtpcï]s(?! (?:tu|je))
    <<- morphex(\0, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") and not (\0[0:1].isupper() and before0(r"\w"))
        and ( not morph(\0, ":[NAQ]", False) or before("> +$") or ( re.search("(?i)^étais$", \0) and not morph(word(-1), ":[DA].*:p", False, True) ) )
        and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))")
    ->> =suggVerb(@, ":3s")                                                  # Incohérence. Le sujet de cette forme verbale est introuvable.
__[i]/conj(conj_peux_veux_sans_sujet)!3__
    [pv]eux(?! (?:tu|je))
    <<- not (\0[0:1].isupper() and before0(r"\w")) and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))")
    ->> =suggVerb(@, ":3s")                                                  # Incohérence. Le sujet de cette forme verbale est introuvable.
__[i]/conj(conj_équivaux_prévaux_sans_sujet)!3__
    (?:équi|pré|)vaux(?! (?:tu|je))
    <<- not (\0[0:1].isupper() and before0(r"\w"))
        and not (\0 == "vaux" and morph(word(-1), ":(?:R|D.*:p)", False, False))
        and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))")
    ->> =suggVerb(@, ":3s")                                                  # Incohérence. Le sujet de cette forme verbale est introuvable.

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


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

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



!!
!!
!!!! Locutions invariables                                                                          
!!
!!

## plus que prévu / mois que prévu
__[i]/sgpl(sgpl_que_prévu1)__   (plus|moins|autant) +que (prévu(?:es?|s)) @@0,$ <<- -2>> prévu                          # Invariable. Implicitement, \1 que ce qui était prévu.
__[i]/sgpl(sgpl_que_prévu2)__   (plus|moins|aussi) +({w_2}) +que (prévu(?:es?|s)) @@0,w,$ <<- -3>> prévu                # Invariable. Implicitement, \1 \2 que ce qui était prévu.
__[i]/sgpl(sgpl_que_prévu3)__   (plus|moins|autant) +d(?:e |’)({w_2}) +que (prévu(?:es?|s)) @@0,w,$ <<- -3>> prévu      # Invariable. Implicitement, \1 \2 que ce qui était prévu.
__[i]/sgpl(sgpl_comme_adj)__    comme ((annoncé|convenu|prévu)(?:es?|s)) @@6,6 <<- -1>> \2                              # Invariable. Implicitement, comme ce qui était \2.

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



!!
!!
!!!! Tout, tous, toute, toutes                                                                      
!!
!!

__[i](p_fais_les_tous)__
    fai(?:tes|sons|s)-(?:les|[nv]ous) (tou(?:te|)s) @@$ <<- ~1>> *
__[i](p_tout_débuts_petits)__
    (tout) (?:débuts|petits) @@0 <<- before(r"\b(aux|[ldmtsc]es|[nv]os|leurs) +$") ~1>> *
__[i](p_les_tout_xxx)__
    (?:[ldmtsc]es|[nv]os|leurs|aux) (tout) ({w_2})  @@w,$
    <<- morph(\2, ":[AQ].*:[pi]", False) ~1>> *


__[i]/gn(gn_tous_deux)__
    (tout) deux  @@0 <<- isStart() -1>> tous                                                        # Locution pronominale : « tous deux ».|https://fr.wiktionary.org/wiki/tous_deux

TEST: {{Tout}} deux sont partis les premiers.


__[i]/gn(gn_tous_déterminant_pluriel)__
    tout(?= [cmts]es\b)
    <<- not before(r"(?i)\b(?:d[eu]|avant|après|sur|malgré) +$") ->> tous                           # Erreur d’accord probable.

TEST: {{Tout}} mes hommes sont venus.
TEST: Malgré tout ces hommes sont quand même revenus.


__[i]/gn(gn_tous_les)__
    (tout) les ({w_2})  @@0,$
    <<- not before(r"(?i)\b(?:d[eu]|avant|après|sur|malgré) +$") and not morph(\2, ":(?:3s|Oo)", False)
    -1>> tous                                                                                       # Erreur d’accord probable avec « les \2 ».

TEST: {{Tout}} les hommes sont dingues.


__[i]/gn(gn_tous_ceux)__
    tout(?= ceux\b)
    <<- not before(r"(?i)\b(?:d[eu]|avant|après|sur|malgré) +$") ->> tous                           # Erreur d’accord probable avec « ceux ».

TEST: Donne à manger à {{tout}} ceux qui sont là.
TEST: Revenus de tout ceux qui sont partis ont perdu la foi.


__[i]/gn(gn_toutes_déterminant_fem_plur)__  toute(?= (?:celles|[clmtsd]es)\b)   <<- ->> toutes      # Erreur d’accord probable.
__[i]/gn(gn_tout_ce)__                      toute(?= cet?\b)                    <<- ->> tout        # Erreur d’accord probable.
__[i]/gn(gn_tout_mon)__                     toute(?= mon [bcdfgjklmnpqrstvwxz]) <<- ->> tout        # Erreur d’accord probable.

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


__[i]/gn(gn_toutes_déterminant_nom_fem_plur)__
    (tous) +(?:[lcmtsd]es) +({w_2})  @@0,$
    <<- morphex(\2, ":f", ":(?:[123][sp]|[me])") and morphex(word(-1), ":", ":(?:R|[123][sp]|Q)|>(?:[nv]ous|eux) ", True)
    -1>> toutes                                                                                     # Erreur d’accord probable. « \2 » est féminin.
    <<- __also__ and hasFemForm(\2) -2>> =suggMasPlur(@, True)                                      # Erreur d’accord probable. « \1 » est masculin.
__[i]/gn(gn_tous_déterminant_nom_mas_plur)__
    (toutes) +(?:[lcmtsd]es) +({w_2})  @@0,$
    <<- morphex(\2, ":m", ":(?:[123][sp]|[fe])") and morphex(word(-1), ":", ":(?:R|[123][sp]|Q)|>(?:[nv]ous|eux) ", True)
    -1>> tous                                                                                       # Erreur d’accord probable. « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemPlur(@, True)                                      # Erreur d’accord probable. « \1 » est féminin.

TEST: {{tous}} ces {{idiotes}}
TEST: {{toutes}} mes {{bars}}


__[i]/gn(gn_tout_nom_mas_sing)__
    tout ({w3})  @@5
    <<- morphex(\1, ":N.*:[fp]", ":(?:A|W|G|M[12P]|Y|[me]:i|3s)") and morph(word(-1), ":R|>de ", False, True)
    -1>> =suggMasSing(@, True)                                                                      # “\1” devrait être au masculin singulier.

__[i]/gn(gn_toute_nom_fem_sing)__
    toute ({w3})  @@6
    <<- morph(\1, ":[NAQ].*:[mp]") and morph(word(-1), ":R|>de ", False, True)
    -1>> =suggFemSing(@, True)                                                                      # “\1” devrait être au féminin singulier.

__[i]/gn(gn_tous_nom_mas_plur)__
    tous ({w3})  @@5
    <<- morph(\1, ":[NAQ].*:[fs]") and morph(word(-1), ":R|>de ", False, True)
    -1>> =suggMasPlur(@, True)                                                                      # “\1” devrait être au masculin pluriel.

__[i]/gn(gn_toutes_nom_fem_plur)__
    toutes ({w3})  @@7
    <<- morph(\1, ":[NAQ].*:[ms]") and morph(word(-1), ":R|>de ", False, True)
    -1>> =suggFemPlur(@, True)                                                                      # “\1” devrait être au féminin pluriel.

TEST: Tout {{hommes}}
TEST: De tous {{âge}} !
TEST: avec toutes {{femme}}                                   ->> femmes
TEST: sur toutes {{armure}}                                   ->> armures
TEST: Toute {{époux}} doit faire preuve de bienveillance
TEST: Il se souvient de toute mon histoire.
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



!!
!!
!!!! Adverbes de négation                                                                           
!!
!!

__[i]/neg(ne_manquant1)__
    (?:je|tu|ils?|on|elles?) ([bcdfgjklmnpqrstvwxz][\w-]*) (pas|rien|jamais|guère)  @@w,$
    <<- morph(\1, ":[123][sp]", False) and not (re.search("(?i)^(?:jamais|rien)$", \2) and before(r"\b(?:que?|plus|moins) "))
    -1>> ne \1                                                                                      # Ne … \2 : il manque l’adverbe de négation.

__[i]/neg(ne_manquant2)__
    (?:je|tu|ils?|on|elles?) ([aeéiouœ][\w-]*) (pas|rien|jamais|guère)    @@w,$
    <<- morph(\1, ":[123][sp]", False) and not (re.search("(?i)^(?:jamais|rien)$", \2) and before(r"\b(?:que?|plus|moins) "))
    -1>> n’\1                                                                                       # Ne … \2 : il manque l’adverbe de négation.

__[i]/neg(ne_manquant3)__
    (?:je|tu|ils?|on|elles?) ([mts](?:e +|’(?:en|y) +|’)|[vn]ous +|l(?:e +|a +|eur +|ui +|l’))({w_1}) (pas|rien|jamais|guère)  @@*,w,$
    <<- morph(\2, ":[123][sp]", False) and not (re.search("(?i)^(?:jamais|rien)$", \3) and before(r"\b(?:que?|plus|moins) "))
    -1>> ne \1                                                                                      # Ne … \3 : il manque l’adverbe de négation.

__[i]/neg(ne_manquant4)__
    (?:je|tu|ils?|on|elles?) (y|en) ({w_1}) (pas|rien|jamais|guère)  @@w,w,$
    <<- morph(\2, ":[123][sp]", False) and not (re.search("(?i)^(?:jamais|rien)$", \3) and before(r"\b(?:que?|plus|moins) "))
    -1>> n’\1                                                                                       # Ne … \3 : 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.



!!
!!
!!!! Infinitif                                                                                      
!!
!!

__[i](p_ne_plus_pas_jamais_beaucoup_trop_rien)__
    ne (?:pas|plus|jamais) +(beaucoup|trop|rien)  @@$ <<- ~1>> *

__[i]/infi(infi_ne)__
    ne (?:pas|rien|jamais(?: rien| plus|)|plus(?: jamais| rien| guère|)|guère|point) (?:non plus |)(?:l(?:e(?:ur|s|)|a|ui) |nous |vous |[mtsl]’(?:en |y |)|[mts]e |en |y |)({w_1})
    @@$
    <<- not morph(\1, ":(?:Y|W|O[ow])|>que? ", False) and spell(\1)
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: ne jamais {{cédé}}
TEST: ne rien {{finit}}
TEST: ne jamais plus s’y {{frottait}}
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: 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 {{mangez}} de viande !
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.


__[i]/imp(imp_infinitif_erroné)__
    n(?:e +|’)({w_2}er) +(?:pas|jamais) @@w
    <<- morph(\1, ":V1.*:Y", False) and isStart() -1>> =suggVerbTense(\1, ":E", ":2p")              # Confusion probable : “\1” est un verbe à l’infinitif. Si vous vouliez utiliser l’impératif, écrivez :

TEST: Non, ne {{manger}} pas ça.
TEST: Ne {{donner}} jamais à manger ces saloperies au chat.         ->> donnez



!!!
!!!
!!! Processeur: épuration des adverbes, locutions adverbiales, interjections et expressions usuelles
!!!
!!!

# Dates
__[s](p_date)__
    (?:[dD]epuis le|[lL]e|[dD]u|[aA]u|[jJ]usqu au|[àÀ] compter du) (?:1(?:er|ᵉʳ)|\d\d?) (?: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)(?: \d+| dernier| prochain|) <<- ~>> *
__[i](p_en_l_an_de_grâce_année)__
    en l’an (?:de grâce |)\d+ <<- ~>> *
__[s](p_en_de_mois_année)__
    (?:[eE]n +|[dD](?:e +|’))(?: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) +\d{2,4} <<- ~>> *
__[i](p_en_année)__
    en \d\d+ <<- not morph(word(1), ":[AN].*:[pi]", False, False) ~>> *
__[i](p_de_année)__
    (de \d\d+) ({w_2}) @@0,$ <<- morph(\2, ":A.*:s", False) ~1>> *
__[s](p_à_la_mi_mois)__
    [àÀ] la mi-(?: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)(?:\d{2,4}|) <<- ~>> *
__[i](p_à_l_été_automne_hiver)__
    à l’(?:été|automne|hiver) \d{2,4}  <<- ~>> *
__[i](p_au_printemps)__
    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


# nombres
__[i](p_un_nombre)__
    un (\d+) ({w_2}) @@w,$ <<- morph(\2, ":A.*:s")  ~1>> *

TEST: l’équipe veut aussi voir dans la lettre le nombre d’or, un symbole d’harmonie, ainsi qu’un 6 retourné.


## moi/toi/lui/elle/nous/vous/eux/elles seul·e·s
__[i](p_moi_toi_seul)__     [mt]oi (seule?) @@4 <<- ~1>> *
__[i](p_lui_seul)__         lui (seul) @@4 <<- ~1>> *
__[i](p_elle_seule)__       elle (seule) @@5 <<- ~1>> *
__[i](p_nous_seuls)__       [nv]ous (seule?s) @@5 <<- ~1>> *
__[i](p_eux_seuls)__        eux (seuls) @@4 <<- ~1>> *
__[i](p_elles_seules)__     elles (seules) @@6 <<- ~1>> *

## personne d’autre que…
__[i](p_personne_d_autre_que)__
    personne (d’autre qu(?:e |’)(?:lui|elles?|[nv]ous|eux)) @@$ <<- ~1>> *

## Avant
__[i](p_dès_qqch)__         dès (?:à présent|aujourd’hui|maintenant|lors|que possible|(?:demain|hier)(?: (?:soir|matin|après-midi)|)) <<- ~>> *
__[i](p_et_qqch)__          et (?:ainsi de suite|tutti quanti) <<- ~>> *
__[i](p_et_ou)__            et(/ou) @@2 <<- ~1>> *
__[i](p_quant_à_présent)__  quant à présent <<- ~>> *
__[i](p_ni_qqch_ni_qqch)__
    ni (?:à|avec|contre|pour|chez|sur|sous|devant|derrière) *(?:[tm]oi|lui|elles?|eux|[nv]ous|),? ni (?:à|avec|contre|pour|chez|sur|sous|devant|derrière) (?:[mt]oi|lui|elles?|eux|[nv]ous) <<- ~>> *


## Inconditionnel
__[i](p_24h_sur_24)__           24 ?h(?:eures|) ?(?:sur |/ ?)24 <<- ~>> *
__[i](p_7j_sur_7)__             7 ?j(?:ours|) ?(?:sur |/ ?)7 <<- ~>> *
__[i](p_sept_j_sur_sept)__      sept jours sur sept <<- ~>> *
__[i](p_vq_h_sur_vq_)__         vingt-quatre heures sur vingt-quatre <<- ~>> *
__<i](p_loc_de_début_phrase)__  ^ *(?:et(?: puis|)|puis|car|mais|or donc|m’est avis que) <<- ~>> *
__[i](p_à_nn_pour_cent)__       à \d+(?:,\d+|) % <<- ~>> *
__[i](p_à_côté_de)__            à côté (?:de (?:ça|lui|[mt]oi|[nv]ous)|d’(?:elles|eux))(?! et) <<- ~>> *
__[i](p_à_la_qqch)__            à la (?:bo(?:nne franquette|urre)|con|dér(?:ive|obée)|diable|fois|leur|limite du supportable|longue|lumière de tout ce(?:ci|la)|manque|mords-moi-le-nœud|papa|petite semaine|pointe du progrès|première occasion|queue leu leu|ramasse|re(?:nverse|dresse|scousse)|sauvette|surprise générale|virgule près|volée) <<- ~>> *
__[i](p_à_heure)__              à \d\d? ?h(?: ?\d\d|)(?: (?:du (?:matin|soir)|de l’après-midi|ce (?:matin|soir)|cet après-midi|demain (?:matin|soir|après-midi)|)|) <<- ~>> *
__[i](p_à_loc_qqch1)__          à (?:califourchon|chacun|confesse|contre(?:cœur|temps)|demi-mot|foison|grand-peine|loisir|merveille|moitié|nouveau|outrance|peine|perpétuité|présent|raison|rallonge|rebrousse-poil|reculons|regret|renverse|risque|tâtons|tort|tout-va) <<- ~>> *
__[i](p_à_loc_qqch2)__          à (?:au(?:cun prix|trui|tre chose)|bas (?:co[ûu]t|prix)|bâ(?:bord|tons rompus)|beaucoup près|belles dents|bien (?:des égards|pire|y (?:penser|réfléchir|songer|repenser))|bon (?:compte|escient|droit)|bout (?:de (?:bras|souffle|forces?)|nerfs|portant|touchant)|bras (?:ouverts|le corps)|brève échéance|but (?:non |)lucratif|cause d(?:e (?:ça|[mt]oi|lui|[nv]ous)|’e(?:lles?|ux))|ce (?:compte-là|moment-là|titre)|cet (?:égard|instant(?: précis|))|cette (?:date|époque(?: de l’année|)|heure de la (?:journée|nuit)|occasion)|chaque (?:fois|instant)|chaudes larmes|cœur (?:joie|ouvert|perdu)|ciel ouvert|contre-cœur|corps perdu|cou(?:p sûr|per le souffle|rt terme|rte (?:échéance|portée))|couilles rabattues|de (?:nombreuses|multiples) reprises|des kilomètres à la ronde|défaut d’autre chose|dose homéopathique|double (?:titre|tranchant)|durée limitée|en (?:juger par (?:[mts]on|[nv]otre|leur) expérience|perdre (?:haleine|la tête))|faible (?:allure|revenu)|feu et à sang|flanc de (?:colline|montagne)|fleur de peau|franchement parler|géométrie variable|grand(?:-peine|e échelle)|haut risque|hue et à dia|huis clos|intervalles (?:ir|)réguliers|juste (?:raison|titre)|long terme|longue(?: échéance| portée|ur (?:de (?:temps|journée))|d’année)|loyer modéré|main(?: (?:armée|droite|gauche|levée)|s nues)|maint(?:s égards|es reprises)|marche forcée|merveille|mi-(?:course|distance|temps)|mi(?:di|nuit)(?: pile|)|moindres frais|mots couverts|moyen(?: terme|ne échéance)|n’en (?:pas douter|point douter|plus finir)|outrance|parler franc|part (?:entière|ça|ce(?:la|ci))|partir de là|part(?:ir de rien|s égales)|pas de (?:géant|loup|tortue|velours)|personne en danger|perte de vue|petit(?: feu|e (?:dose|échelle))|peu (?:de (?:distance|choses près|frais)|près)|pieds joints|pile ou face|plat(?: ventre|e couture)|plein(?: (?:régime|temps|nez)|s poumons)|plus (?:forte raison|d’un titre)|point nommé|portée de (?:main|tir)|première vue|prix (?:cassé|modique)s?|proprement parler|qui (?:mieux mieux|que ce soit|de droit)|quelque(?: distance|s (?:exceptions|nuances) près)|ras bords?|rude épreuve|s’y méprendre|somme nulle|tel point|temps (?:plein|partiel|complet)|tête reposée|tire[ -]d’aile|titre (?:conservatoire|d’exemple|expérimental|indicatif|informatif|grâcieux|personnel|posthume)|tombeau ouvert|tort (?:ou à raison|et à travers)|tour de (?:bras|rôle)|tous (?:crins|points de vue)|toutes (?:fins utiles|jambes)|tribord|tu et à toi|un moment donné|usage interne|visage (?:découvert|humain)|vive allure|voix (?:haute|basse)|vol d’oiseau|vrai dire|vue d’œil|y (?:regarder de plus près|réfléchir)) <<- ~>> *
__[i](p_à_partir_de)__          à partir (?:de (?:demain(?: matin| midi| soir|)|là|maintenant|rien)|d’(?:aujourd’hui|hier(?: matin| midi| soir|)|ici)) <<- ~>> *
__[i](p_à_quelques_uns)__       à quelques-un(?:s d’entre (?:eux|nous|vous)|es d’entre (?:nous|vous|elles)) <<- ~>> *
__[i](p_à_tout_qqch)__          à tout(?: (?:âge|bout de champ|crin|instant|jamais|le (?:moins|monde)|moment|point de vue|prix|un chacun)|e (?:allure|bride|épreuve|force|heure(?: d(?:u jour|e la nuit)|)|vitesse|volée)) <<- ~>> *
__[i](p_à_l_qqch)__             à l’(?:heure (?:actuelle|qu il est)|accoutumée|amiable|avance|aven(?:ir(?: incertain)|ant)|air libre|aveuglette|emporte-pièce|échelle (?:nationale|mondiale|régionale|départementale|cantonale|locale|galactique|universelle)|évidence|exclusion de toute autre chose|improviste|inverse|occasion|ordre du jour|œil nu|en croire|un(?:animité| (?:d’entre eux|des leurs)|e (?:d’entre elles|des leurs))) <<- ~>> *
__[i](p_à_det_plur_qqch)__      à (?:[mts]es|[nv]os|leurs) (?:côtés|dépens|risques et périls|trousses) <<- ~>> *
__[i](p_à_det_sing_fem_qqch)__  à (?:[mts]a|[nv]otre|leur) (?:connaissance|disposition|grande (?:surprise|tristesse)|guise|juste mesure|portée) <<- ~>> *
__[i](p_à_det_sing_mas_qqch)__  à (?:[mts]on|[nv]otre|leur) (?:avis|c(?:œur|orps) défendant|détriment|encontre|égard|grand (?:désarroi|soulagement)|insu|sujet|tour) <<- ~>> *
__[i](p_à_midi_minuit)__        à mi(?:di|nuit)(?: pile|) <<- ~>> *
__[i](p_à_cette_heure)__        à cette heure(?: (?:du jour|de la nuit|tardive|matinale)|) <<- ~>> *
__[i](p_a_loc_latine)__         [aà] (?:priori|post[eé]riori|contrario|cappella|minima) <<- ~>> *
__[i](p_ab_loc_latine)__        ab (?:absurdo|initio) <<- ~>> *
__[i](p_ad_loc_latine)__        ad (?:hoc|vitam æternam|hominem|infinitum|nauseam|valorem|patres) <<- ~>> *
__[i](p_advienne_que_pourra)__  advienne que pourra <<- ~>> *
__[i](p_après_qqch)__           après (?:[mts]oi|lui|eux|mûre réflexion|tout,|un certain temps|cette date(?: fatidique|)|un bon bout de temps) <<- ~>> *
__[i](p_qqch_après_identique)__ (heure|minute|seconde|jour|nuit|semaine|trimestre|semestre|mois|décennie|année|siècle|génération) après \1 @@0 <<- ~>> *
__[i](p_au_dessus_delà_qqch)__  au-de(?:ssus (?:de (?:[mts]oi|lui|[nv]ous)|d’(?:eux|elles?))|là du descriptible) <<- ~>> *
__[i](p_au_qqch)__              au (?:[xXvViI]+[eᵉ] siècle|bas mot|beau fixe|bon moment|bout (?:du (?:compte|rouleau)|d’un moment)|cas par cas|commencement|contraire|coude à coude|coup par coup|déb(?:otté|but)|demeurant|doigt mouillé|fil (?:des ans|du temps)|grand (?:complet|jamais)|hasard|jour (?:et à l’heure dits|le jour)|jugé|leur|lieu de (?:ce(?:la|ci)|ça|quoi)|loin|même titre que n’importe l(?:aquelle|equel) d’entre (?:nous|vous|eux|elles)|milieu de nulle part|moment opportun|pas de (?:charge|course)|plus (?:haut point|près|pressé|vite|tôt|tard)|premier abord|préalable|propre comme au figuré|quotidien|ras des pâquerettes|saut du lit|sens (?:figuré|large|propre)|surplus) <<- ~>> *
__[i](p_au_adj_moment)__        au (?:dernier|même|bon|mauvais) (?:moment|instant) <<- ~>> *
__[i](p_au_cours_des)__         au cours des (?:deux|trois|quatre|cinq|six|sept|huit|neux|dix|onze|douze|treize|quatorze|quinze|seize|dix-(?:sept|huit|neuf)|vingt|trente|quarante|cinquante|soixante|soixante-dix|quatre-vingt|quatre-vingt-dix|cent) (?:derni(?:ère|er)s|prochaine?s) (?:années|mois|siècles) <<- ~>> *
__[i](p_au_fond_de_qqch)__      (?:tout |)au fond (?:de (?:[mts]oi|lui|[nv]ous)|d’(?:elles?|eux))(?:-mêmes?|) <<- ~>> *
__[i](p_aux_qqch)__             aux (?:abois|leurs|mien(?:ne|)s|tien(?:ne|)s|sien(?:ne|)s) <<- ~>> *
__[i](p_autant_que_qqch)__      autant que (?:nécessaire|possible|prévu|faire se peut) <<- ~>> *
__[i](p_autour_de_qqch)__       autour (?:d’(?:eux|elles?)|de (?:lui|[nv]ous|[mt]oi)) <<- ~>> *
__[i](p_autrement_dit)__        autrement dit <<- ~>> *
__[i](p_av_JC)__                av. J.-C. <<- ~>> *
__[i](p_avant_qqch)__           avant (?:longtemps|terme|tout le monde|toute(?: chose|s choses)|d’aller plus loin|J.-C.|Jésus-Christ|d’en arriver là|de faire quoi que ce soit(?: de stupide|)|qu il ne soit trop tard|un bon bout de temps) <<- ~>> *
__[i](p_avec_qqch1)__           avec (?:brio|joie|légèreté|insistance|peine|autre chose|pertes et fracas|un peu de chance|tout le respect que (?:je (?:vous|te|l(?:eur|ui)) dois|nous (?:vous|te|l(?:eur|ui)) devons)|tout un chacun|un peu de chance) <<- ~>> *
__[i](p_avec_qqch2)__           avec (?:autrui|[mts]oi|lui|e(?:ux|lles?)|[nv]ous(?: autres)|le plus grand soin|tout le monde|tout ça|on ne sait quo?i)(?! qui) <<- ~>> *
__[i](p_beaucoup_plus_moins)__  beaucoup (?:plus|moins) <<- ~>> *
__[i](p_bel_et_bien)__          bel et bien <<- ~>> *
__[i](p_bien_adv_temps)__       bien (?:assez tôt|des fois|souvent) <<- ~>> *
__[i](p_bon_gré_mal_gré)__      bon gré,? mal gré <<- ~>> *
__[i](p_bras_dessus_dessous)__  bras dessus,? bras dessous <<- ~>> *
__[i](p_çà_et_là)__             çà et là <<- ~>> *
__[i](p_ce_faisant)__           ce faisant <<- ~>> *
__[i](p_ceci_qqch)__            ceci (?:mis à part|va sans dire) <<- ~>> *
__[i](p_cela_qqch)__            cela (?:mis à part|va sans dire) <<- ~>> *
__[i](p_ces_derniers_temps)__   ces derniers temps <<- ~>> *
__[i](p_ceux_d_entre_pronom)__  ce(?:lui|lles?|ux) (d’entre (?:[nv]ous|eux|elles)) @@$ <<- ~1>> *
__[i](p_cette_fois_là)__        cette fois-(?:là|ci) <<- ~>> *
__[i](p_chacun_d_entre_nous)__  chacune? (d’entre (?:[nv]ous|eux|elles)) @@$ <<- ~1>> *
__[i](p_chaque_fois)__          chaque fois <<- ~>> *
__[i](p_chemin_de_fer)__        chemins? (de fer) @@$ <<- ~1>> *
__[i](p_chez)__                 chez (?:[mt]oi|lui|e(?:ux|lles?)|[nv]ous|autrui|quelqu’une?|on ne sait qui) <<- ~>> *
__[i](p_comme_qqch)__           comme (?:avant|autrefois|d’habitude|toujours|de juste|bon (?:me|te|l(?:ui|eur)|[nv]ous) semble|au bon vieux temps|cul et chemise|frappée?s? par la foudre|n’importe où(?: ailleurs|)|par (?:enchantement|magie|un fait exprès)|promis|qui dirait|si de rien n’était|tout un chacun) <<- ~>> *
__[i](p_comme_tant_d_autres)__  comme tant d’autres (?:avant|après) (?:[mts]oi|lui|[nv]ous|eux|elles?)(?! qui) <<- ~>> *
__[i](p_contrairement_aux_apparences)__     contrairement aux apparences <<- ~>> *
__[i](p_contre_qqch)__          contre (?:mauvaise fortune,? bon cœur|nature|toute (?:attente|vraisemblance)|vents et marées|[mts]oi|lui|elles?|[nv]ous|eux|(?:[mts]on|[nv]otre|leur) gré) <<- ~>> *
__[i](loc_côte_à_côte)__
    c[ôo]tt?es? [àaá] c[ôo]tt?es?
    <<- not re.search("(?i)^côte à côte$", \0) ->> côte à côte      # Locution adverbiale invariable. Écrivez “côte à côte”.|https://fr.wiktionary.org/wiki/c%C3%B4te_%C3%A0_c%C3%B4te
    <<- ~>> *
__[i](p_coute_que_coute)__      co[ûu]te que co[ûu]te <<- ~>> *
__[i](p_crois_le_ou_non)__      cro(?:yez|ois)-le ou (?:non|pas) <<- ~>> *
__[i](p_cul_par_dessur_tête)__  cul par-dessus tête <<- ~>> *
__[i](p_dans_qqch)__            dans (?:ces? cas(?: précis|-là|-ci| particuliers?|)|l’i(?:déal|mmédiat)|la mesure du possible|les années \d\d+|peu de temps|tout (?:ce(?:la|ci)|ça)|très peu de temps|un(?: cas comme dans l’autre|e (?:certaine|large|moindre) mesure)) <<- ~>> *
__[i](p_début_mois)__           début (?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre)(?: \d\d\d\d|) <<- ~>> *
__[i](p_d_qqch)__               d’(?:abord|affilée|ailleurs|année en année|aujourd’hui|antan|autant (?:plus|moins)|autre(?:fois|s fois| part)|arr(?:arrache-?pied|ière en avant)|avant en arrière|à côté|âge mûr|emblée|empoigne|en face|entr(?:e (?:[nv]ous|eux|elles)|ée de jeu)|est en ouest|extrême[ -](?:droite|gauche)|égale? à égale?|habitude|heure en heure|hier(?: (?:matin|soir|après-midi)|)|ici(?: là| peu(?: de temps|)| très peu(?: de temps|)|)|ordinaire|origine (?:inconnue|douteuse)|ordre général|ouest en est|ore?s et déjà|un (?:autre côté|(?:bout à|côté comme de) l’autre|commun accord)) <<- ~>> *
__[i](p_d_une_qqch)__           d’une (?:autre trempe|(?:façon|manière) ou d’une autre|certaine (?:façon|manière)|tout autre ampleur|(?:minute|seconde) à l’autre) <<- ~>> *
__[i](p_d_où_que)__             d’où qu (?:(?:il|elle|on) vienne|(?:ils|elles) viennent) <<- ~>> *
__[i](p_de_ci_de_là)__          de-ci,? de-là <<- ~>> *
__[i](p_de_heure)__             de \d\d? ?h(?: ?\d\d|)(?: (?:du (?:matin|soir)|de l’après-midi|ce (?:matin|soir)|cet après-midi|demain (?:matin|soir|après-midi))|) <<- ~>> *
__[i](p_de_qqch)__              de (?:\d+(?:,\d+|) ?%|cesse|conserve|facto|fait|guingois|luxe|nouveau|permanence|partout|préférence|profundis|rechange|routine|surcro[îi]t|visu|A à Z|bas(?: (?:en haut|étage)|se (?:condition|extraction|))|bon (?:aloi|cœur|gré|matin|sens|ton)|bonne (?:facture|famille|foi|heure|humeur|grâce|qualité|compagnie)|bric et de broc|but en blanc|ce(?: (?:fait(?: même|)|seul fait|point de vue)|tte sorte|t acabit)|courte (?:durée|vue)|dernière minute|demain(?: (?:matin|soir|après-midi)|)|droite (?:à|comme de) gauche|fâcheuse mémoise|fil en aiguille|fond en comble|fort (?:loin|près)|fra[iî]che date|ga[îi]e?té de cœur|gauche (?:à|comme de) droite|grande (?:taille|envergure)|gré ou de force|guerre lasse|haut(?: (?:en bas|rang|vol)|e (?:lutte|stature|volée))|jour comme de nuit|là-bas|la (?:meilleure (?:manière|façon) possible|même (?:façon|manière)|sorte|tête aux pieds|veille)|loin(?: en loin|)|longue (?:date|durée|haleine)|main de ma[îi]tre|mauvais(?: (?:aloi|go[ûu]t|gré)|e (?:foi|grâce|humeur))|mieux en mieux|nature (?:inconnue|indéterminée|insolite)|nombreuses (?:fois|années plus (?:tôt|tard))|nos jours|notoriété publique|nulle part|pire en pire|près(?: ou de loin|)|par(?: le monde(?: entier|)|t et d’autre)|petite taille|pied ferme|premi(?:er (?:ordre|plan)|ère main)|plein (?:droit|fouet)|plus (?:belle|près)|première (?:catégorie|nécessité)|prime abord|proche en proche|pure forme|sang-froid|seconde (?:zone|importance|main)|si bon(?: matin|ne heure)|source sûre|taille moyenne|telle sorte|temps (?:en temps|à autre)|tr(?:ès|op) (?:loin|près)|vive voix) <<- ~>> *
__[i](p_de_nous_vous_tous)__    de [nv]ous tous <<- ~>> *
__[i](p_de_tout_qqch)__         de tou(?:t (?:poil|temps|à l’heure|premier (?:ordre|plan))|tes (?:parts|pièces|sortes|(?:[mts]es|leurs|[nv]os) forces)|te (?:éternité|évidence|façon|urgence)|s (?:côtés|bords)) <<- ~>> *
__[i](p_de_ceux_celles)__       de ce(?:ux|lles)-(?:ci|là)(?! qui) <<- ~>> *
__[i](p_de_det_mas_qqch)__      de (?:[mts]on|[nv]otre|leur) (?:mieux|plein gré|point de vue|propre (?:cru|chef)|vivant) <<- ~>> *
__[i](p_de_det_fem_qqch)__      de (?:[mts]a|[nv]otre|leur) part <<- ~>> *
__[i](p_de_qqch_en_identique)__ de (moins|plus|mieux|pire|jour|minute|semaine|mois|trimestre|semestre|siècle|millénaire|décennie) en \1 @@3 <<- ~>> *
__<i](p_de_plus)__              ^ *de plus <<- ~>> *
__[i](p_des_qqch)__             des (?:fois|pieds à la tête|uns et des autres|(?:années|mois|siècles|millénaires|décennies|semaines) plus t(?:ôt|ard)) <<- ~>> *
__[i](p_depuis_qqch)__          depuis (?:assez longtemps|belle lurette|bien longtemps|de (?:très |)longues années|des lustres|longtemps|lors|peu de temps|quelque temps|quelques (?:secondes|minutes|heures|jours|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires)|si longtemps|toujours|tout ce temps|très longtemps) <<- ~>> *
__[i](p_depuis_tps)__           depuis (\d+ (?:ans|années|mois|semaines|jours|heures|minutes|secondes|)|les années \d\d+) @@$ <<- ~>> *
__[i](p_Dieu_en_garde_témoin)__ Dieu (?:[mt]’en (?:garde|soit témoin)|[nv]ous en (?:garde|soit témoin)|l(?:es |’)en garde|l(?:eur|ui) en soit témoin) <<- ~>> *
__[i](p_du_moins)__             du moins <<- ~>> _
__[i](p_du_qqch)__              du (?:[xXvViI]+[eᵉ] siècle|bout des lèvres|début à la fin|fond du cœur|jour au lendemain|haut en bas|même (?:acabit|tonneau)|moins,? pas|(?:nord|sud) au (?:nord|sud)|tout au tout) <<- ~>> *
__[i](p_demain)__               (?:après-|avant |)demain(?: matin| soir| après-midi|) <<- ~>> *
__[i](p_don_Juan)__             (don) Juan @@0 <<- ~1>> *
__[i](p_du_même_ordre_coup)__   du même (?:ordre|coup) <<- ~>> *
__[i](p_en_nombre_années)__     en \d\d+(?: ans| années|) <<- ~>> *
__[i](p_en_cours)__             en cours(?! d[e’]) <<- ~>> *
__[i](p_en_pronom)__            en (?:[mt]oi|eux|elles?) <<- ~>> *
__[i](p_en_qqch1)__             en (?:aparté|apparence|arrière|avance|avant|cachette|ceci|cela|clair|commun|conséquence|continu|contrepartie|définitive|détail|direct|douce|effet|émoi|filigrane|général|goguette|hâte|majorité|outre|pâmoison|parallèle|partie|particulier|permanence|personne|pratique|prime|privé|principe|priorité|public|réalité|retour|revanche|rien|rogne|route|secret|silence|somme|suspens|théorie|trompe-l’œil|vain|vérité|ville|vitesse) <<- ~>> *
__[i](p_en_qqch2)__             en (?:aucun(?: cas|e (?:circonstance|façon|manière))|bon(?: état|ne (?:compagnie|et due forme|posture|santé(?: physique| mentale|)|voie))|bout de course|cas d(?:e (?:besoin|doute)|’urgence)|chacune? d(?:e [nv]ous|’(?:eux|elles))|chair et en os|chute libre|comparution immédiate|connaissance de cause|coupe réglée|cours de route|d’autres (?:circonstances|termes|temps)|de telles circonstances|début d(?:e (?:journée|matinée|soirée)|’après-midi)|définitive|dehors de (?:tout|)(?:ça|cela|ceci)|dents de scie|dernier (?:lieu|recours|ressort)|désespoir de cause|détention provisoire|direction d(?:u (?:nord|sud)(?:-est|-ouest|)|e l’(?:est|ouest))|état (?:de (?:choc(?: circulatoire|)|marche)|d’ébriété(?: avancée|))|excellent état|file indienne|fin d(?:e (?:compte|journée|matinée|soirée)|’après-midi)|forte (?:baisse|hausse)|gage de bonne foi|garde à vue(?: prolongée|)|grand(?: nombre|e (?:difficulté|majorité|partie|pompe))|haut lieu|l’occurrence|lieu sûr|ligne de (?:compte|mire)|mains propres|mauvais(?: état|e (?:posture|santé))|même temps|milieu d(?:e (?:journée|matinée|soirée)|’après-midi)|nombre (?:plus que |)suffisant|partant de zéro|plein(?: air| cœur| jour|e (?:gueule|figure|forme|poire|nuit|tronche))|perte de vitesse|peu de temps|piteux état|point d(?:e mire|’orgue)|position de (?:force|faiblesse)|premi(?:er lieu|ère (?:instance|ligne))|pure perte|quantité (?:plus que |)suffisante|quelque sorte|queue de peloton|rangs serrés|rase campagne|règle générale|roue libre|sens inverse|si peu de temps|sous-main|tête à tête|temps (?:et en heure|normal|opportun|ordinaire|utile|voulu)|termes choisis|toile de fond|tous (?:les cas|sens)|tout (?:bien tout honneur|cas|genre|lieu|et pour tout|état de cause|premier lieu|sens|temps)|toute(?: (?:bonne foi|circonstance|connaissance de cause|confiance|discrétion|franchise|hâte|impartialité|impunité|innocence|légalité|liberté|logique|sécurité|simplicité)|s circonstances)|un (?:clin d’œil|rien de temps)|une autre occasion|vase clos|voie de développement|y réfléchissant bien) <<- ~>> *
__[i](p_en_mois_dernier)__      en (?:janvier|février|mars|avril|mai|jui(?:n|llet)|ao[ûu]t|septembre|octobre|novembre|décembre) dernier <<- ~>> *
__[i](p_en_dat_mas_qqch)__      en (?:[mts]on|leur|[nv]otre) (?:âme et conscience|for intérieur|nom propre) <<- ~>> *
__[i](p_en_ce_qqch)__           en ce(?: (?:moment|temps-là|qui (?:[mt]e|l(?:es?|a)|[nv]ous) concern(?:e|ait))|t instant) <<- ~>> *
__[i](p_encore_qqch)__          encore (?:une fois|et (?:encore|toujours)) <<- ~>> *
__[i](p_envers_qqch)__          envers (?:autrui|et contre tout|les uns et les autres|tout le monde) <<- ~>> *
__[i](p_entre_qqch)__           entre (?:(?:[mt]oi|lui|elles?|[nv]ous|eux) et (?:[mt]oi|lui|elles?|[nv]ous|eux)|chien et loup|de (?:bonnes|mauvaises) mains|l’une? et l’autre|les uns et les autres|quat(?:re[- ]z-?yeux|’ z-?yeux)) <<- ~>> *
__[i](p_entre_date)__           entre (?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre) (?:\d\d{1,3} |)et (?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre)(?: \d\d{1,3}|) <<- ~>> *
__[i](p_épaule_contre_épaule)__ épaule contre épaule <<- ~>> *
__[i](p_été_comme_hiver)__      été comme hiver <<- ~>> *
__[i](p_oh_ah_euh_eh_bien)__    (?:oh|ah|euh|eh bien) <<- ~>> *
__[i](p_ex_loc_latine)__        ex (?:nihilo|cathedra|absurdo|abrupto) <<- ~>> *
__[i](p_face_à_face)__          face à face <<- ~>> *
__[i](p_nombre_fois_de_suite)__ (?:deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|cent) fois de suite <<- ~>> *
__[i](p_grosso_modo)__          grosso modo <<- ~>> *
__[i](p_grand_bien_lui_fasse)__ grand bien lui fasse <<- isStart() ~>> *
__[i](p_hier)__                 (?:avant-|)hier(?: matin| soir| après-midi|) <<- ~>> *
__[i](p_hors_de_qqch)__         hors (?:de (?:contrôle|portée)|d’(?:atteinte|état de nuire)|du commun) <<- ~>> *
__[i](p_ici_qqch)__             ici(?: comme ailleurs| ou ailleurs| et (?:là|maintenant)| même|-bas) <<- ~>> *
__[i](p_id_est)__               id est <<- ~>> *
__[i](p_il_y_a_qqch)__          il y a (?:longtemps|peu de temps|très (?:longtemps|peu de temps)|(?:quelques|moins de \d+|\d+) (?:secondes|minutes|heures|jours|semaines|mois|an(?:née|)s|siècles|millénaires)|quelque temps) <<- ~>> *
__[i](p_il_n_y_a_pas_qqch)__    il n’y a pas (?:si |)longtemps <<- ~>> *
__[i](p_illico_presto)__        illico presto <<- ~>> *
__[i](p_in_loc_latine)__        in (?:abstracto|extenso|extremis|fine|petto|situ|utero|vitro|vivo) <<- ~>> *
__[i](p_ipso_facto)__           ipso facto <<- ~>> *
__[i](p_j_en_passe)__           j’en passe et des meilleure?s <<- ~>> *
__[i](p_jour_pour_jour)__       jour pour jour <<- ~>> *
__[i](p_jusque_là)__            jusque-là <<- ~>> *
__[i](p_jusque_qqch)__          jusqu (?:alors|ici|aujourd’hui|au bout des ongles) <<- ~>> *
__[i](p_jusque_à_qqch)__        jusqu à (?:aujourd’hui|bac|présent|maintenant|récemment|(?:demain|hier)(?: matin| soir| après-midi|)|nouvel ordre|plus (?:ample informé|soif)|preuve du contraire|la (?:fin de(?: (?:[mts]es|[nv]os|leurs) jours|s temps)|tombée de la nuit)|(?:[mts]on|leur|[nv]otre) dernier souffle(?: de vie|)|ce que (?:mort s’ensuive|(?:j’en sache|tu en saches|(?:il|elle|on) en sache|nous en sachions|vous en sachiez|(?:ils|elles) en sachent) plus)|Noël|Pâques) <<- ~>> *
__[i](p_la_qqch)__              la (?:plupart du temps|main dans la main|mort dans l’âme) <<- ~>> *
__[i](p_le_qqch)__              le (?:cas échéant|moins (?:du monde|souvent)|plus (?:tôt|tard|souvent|de (?:temps|monde)) possible|moment venu|plus souvent) <<- ~>> *
__[i](p_là_qqch)__              là(?:-bas|-haut|-de(?:dans|hors|rrière|sso?us|vant)| non plus) <<- ~>> *
__[i](p_l_un_qqch)__            l’une? (?:après|pour|de(?:rrière|)|avec|contre|sur|près de) l’autre <<- ~>> *
__[i](p_le_pour_et_le_contre)__ le pour et le contre <<- ~>> =\0.replace(" ", "_")
__[i](p_les_uns_les_autres)__   les une?s (?:des |(?:après |pour |avec |contre |sur |derrière |devant |)les) autres <<- ~>> *
__[i](p_non_loin)__             non loin (?:d’ici|de là) <<- ~>> *
__[i](p_loin_qqch)__            loin (?:de (?:là|tout ça)|d’(?:être|ici)|s’en fa(?:ut|llait)) <<- ~>> *
__[i](p_maintes_fois)__         (?:[lcd]es |)maintes fois <<- ~>> *
__[i](p_malgré_pronom)__        malgré (?:[mt]oi|lui|elles?|[nv]ous|eux)(?! qui) <<- ~>> *
__[i](p_malgré_ça)__            malgré (?:ça|cela|tout) <<- ~>> *
__[i](p_manu_militari)__        manu militari <<- ~>> *
__[i](p_mieux_vaut_tard_que_jamais)__       mieux va(?:u|lai)t tard que jamais <<- ~>> *
__[i](p_moins_que_nécessaire)__             moins que (?:nécessaire|prévu) <<- ~>> *
__[i](p_moitié_qqch_moitié_qqch)__          moitié ({w2}),? moitié ({w2}) @@7,$ <<- ~>> *
__[i](p_mot_pour_mot)__         mot pour mot <<- ~>> *
__[i](p_mutatis_mutandis)__     mutatis mutandis <<- ~>> *
__[i](p_ne_vous_en_déplaise)__  ne (?:vous |l(?:ui|eur) |t’)en déplaise <<- ~>> *
__[i](p_nez_à_nez)__            nez à nez <<- ~>> *
__[i](p_ni_qqch)__              ni (?:de près,? ni de loin|plus ni moins|vu,? ni connu) <<- ~>> *
__[i](p_non_qqch)__             non (?:plus|sans raison|seulement) <<- ~>> *
__[i](p_nulle_part)__           nulle part <<- ~>> *
__[i](p_ô_combien)__            ô combien <<- ~>> *
__[i](p_ou_bien)__              ou (bien) @@3 <<- ~1>> *
__[i](p_ou_qqch_d_approchant)__ ou quelque chose d’approchant <<- ~>> *
__[i](p_où_bon_nous_semble)__   où bon (?:me|te|lui|nous|vous|leur) semble <<- ~>> *
__[i](p_oui_et_ou_non)__        oui (?:ou|et) non <<- ~>> *
__[i](p_outre_mesure)__         outre mesure <<- ~>> *
__[i](p_qqch_par_qqch)__        (une?|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|cent|mille|éta[pg]e|morceau|pièce) par \1 @@0 <<- ~>> *
__[i](p_par_qqch1)__            par (?:à-coups|ailleurs|avance|chance|conséquent|curiosité|contre|défaut|définition|endroits|essence|ex(?:cellence|emple)|hasard|ici|inadvertance|là|moments|monts et par vaux|nature|principe|terre) <<- ~>> *
__[i](p_par_qqch2)__            par (?:la (?:même occasion|suite)|(?:bien des|certains) (?:aspects|côtés)|acquit de conscience|beau temps|bonté de cœur|ce biais|égard pour (?:moi|toi|lui|elles?|eux|nous|vous)(?! qui)|lui-même|elle(?:-même|)|eux(?:-mêmes|)|elles(?:-mêmes|)|le passé|les temps qui courent|[nv]ous-mêmes?|[mt]oi(?:-même|)|temps de pluie|tout le monde|voie (?:de (?:conséquence|mer|terre)|d’exception)) <<- ~>> *
__[i](p_par_ci_par_là)__        par-ci,? par-là <<- ~>> *
__[i](p_par_position)__         par-de(?:vant|rrière|ssus (?:le marché|tout)) <<- ~>> *
__[i](p_par_devers_pronom)__    par-devers (?:moi|toi|lui|elles?|lui|eux|nous|vous) <<- ~>> *
__[i](p_par_nombre_fois)__      par (?:deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|cent) fois <<- ~>> *
__[i](p_parmi_qqch)__           parmi (?:[nv]ous(?: autres|)|eux|elles) <<- ~>> *
__[i](p_partant_de_là)__        partant de là <<- ~>> *
__[i](p_pas_qqch)__             pas (?:du tout|à pas|le moins du monde) <<- ~>> *
__[i](p_pendant_qqch)__         pendant (?:ce temps-là|(?:bien |si |assez |très |)longtemps|plusieurs (?:heures|minutes|secondes|mois|semaines|jours|années|siècles|millénaires|décennies)|quelque temps) <<- ~>> *
__[i](p_petit_à_petit)__        petit à petit <<- ~>> *
__[i](p_peu_qqch)__             peu (?:à peu|de temps auparavant|ou prou) <<- ~>> *
__[i](p_pile_poil)__            pile poil <<- ~>> *
__[i](p_plein_qqch)__           plein (?:nord|sud|ouest|de fois) <<- ~>> *
__[i](p_plus_avant)__           plus avant(?! de | que?) <<- ~>> *
__[i](p_plus_qqch)__            plus (?:du tout|que (?:nécessaire|prévu|jamais|tout(?: au monde|e autre chose))|jamais|bas que terre|d’une fois) <<- ~>> *
__[i](p_plusieurs_fois)__       plusieurs fois(?: de suite)? <<- ~>> *
__[i](p_pour_qqch)__            pour (?:autrui|le (?:moment|moins|meilleur et pour le pire)|une fois|l’(?:essentiel|instant)|l’heure|de bon|la suite|un oui ou pour un non|ainsi dire|ce faire|quelque (?:part|temps)|tout (?:le monde|un chacun|dire)|faire (?:bonne mesure|simple)|y parvenir|couronner le tout|rien au monde|ce que (?:(?:j’|tu )en sais)|ça va(?:ut|lait)) <<- ~>> *
__[i](p_pour_pronom)__          pour (?:[mt]oi|elles?|eux|ça|cela|ceci|ceux-(?:là|ci)|celles?-(?:là|ci))(?! qui) <<- ~>> *
__[i](p_pour_xxx_fois)__        pour la (?:première|seconde|{w_2}ième|dernière) fois(?: de suite| de ma vie|) <<- ~>> *
__[i](p_pour_det_fem_qqch)__    pour (?:[mts]a|[nv]otre|leur) (?:gouverne|part) <<- ~>> *
__[i](p_pour_det_mas_qqch)__    pour (?:[mts]on|[nv]otre|leur) propre (?:compte|bien) <<- ~>> *
__[i](p_pour_xxx_que_ça_intéresse)__        pour ce(?:lles?|ux|lui) (?:et ce(?:lles?|ux|lui) |)que (?:ça|ce(?:la|ci)) intéresse <<- ~>> *
__[i](p_pour_s_en_rendre_compte)__          pour (?:[mts]’|[vn]ous )en rendre compte <<- ~>> *
__[i](p_quand_qqch)__           quand b(?:ien même|on (?:[mt]e|l(?:ui|eur)|[nv]ous) semble) <<- ~>> *
__[i](p_quant_à_pronom1)__      quant à (?:[mt]oi|lui|elles?|[nv]ous|eux)(?! qui) <<- ~>> *
__[i](p_quant_à_pronom2)__      quant à (?:ça|cela|ceci) <<- ~>> *
__[i](p_que_ça_plaise_ou_non)__ que (?:ça|ceci|cela) (?:me|te|l(?:ui|eur)|[nv]ous) plaise ou non <<- ~>> *
__[i](p_que_voulu_ou_non)__     que (?:je le veuille|tu le veuilles|vous le vouliez|nous le voulions) ou non <<- ~>> *
__[i](p_que_xxx_ou_non)__       qu (?:à cela ne tienne|(?:(?:il|elle|on) le veuille|(?:ils|elles) le veuillent) ou non) <<- ~>> *
__[i](p_quel_qu_en_soit_le_qqch)__          quel qu en soit le (?:moyen|prix|risque(?: financier|)|danger) <<- ~>> *
__[i](p_quelle_qu_en_soit_la_qqch)__        quelle qu en soit la (?:cause|raison) <<- ~>> *
__[i](p_quelque_qqch)__         quelque(?: (?:part|temps)|s fois) <<- ~>> *
__[i](p_quelques_tps_adv)__     quelques (?:instants|secondes|minutes|heures|jours|semaines|mois|années|décennies|siècles|millénaires|trimestres|semestres) (?:auparavant|plus (?:tard|tôt)) <<- ~>> *
__[i](p_qui_plus_est)__         qui plus est <<- ~>> *
__[i](p_qui_loc_tps)__          qui (ce (?:jour|matin|après-midi|soir)-là|cette (?:nuit|matinée|soirée)-là) @@4 <<- ~1>> *
__[i](p_quoi_qu_il_qqch)__      quoi qu il (?:(?:arriv|en co[ûu]t)(?:e|ât)|adv(?:ienne|înt)) <<- ~>> *
__[i](p_sans_difficulté)__      sans (?:grande|grosse) difficulté(?: apparente| aucune| financière| majeure| particulière|) <<- ~>> *
__[i](p_sans_qqch)__            sans (?:ambages|arrêt|au(?:cun doute|tre forme de procès)|cesse|commune mesure|conteste|coup férir|crier gare|difficulté(?: apparente| aucune| financière| majeure| particulière|)|dire mot|doute|encombres?|états d’âme|fin|foi,? ni loi|l’ombre d’un doute|le (?:faire exprès|vouloir)|mot dire|nul doute|queue ni tête|raison apparente|relâche|répit|(?:grand |)succès|trêve|(?:pour autant |)y (?:prendre g(?:arde|o[ûu]t)|faire attention|parvenir|réussir|réfléchir|songer|penser)|faire de vagues|s’en (?:rendre compte|apercevoir)|l’aide de personne) <<- ~>> *
__[i](p_séance_tenante)__       séance tenante <<- ~>> *
__[i](p_selon_qqch)__           selon (?:toute vraisemblance|(?:[mt]oi|lui|elles?|eux|nous|vous)(?! qui)) <<- ~>> *
__[i](p_semble_t_il)__          sembl(?:e-t-il|ait-il) <<- ~>> *
__[i](p_sens_dessus_dessous)__  sens dessus dessous <<- ~>> *
__[i](p_seul_à_seul)__          seule?s? à seule?s? <<- ~>> *
__[i](p_stp_svp)__              s’il (?:te|vous) pla[îi]t <<- ~>> *
__[i](p_si_qqch)__              si (?:bas|besoin est|haut|longtemps|nécessaire|possible|soudain|(?:cela|ça) ne tenait qu à (?:moi|toi|lui|eux|elles?|nous|vous)) <<- ~>> *
__[i](p_six_pieds_sous_terre)__ six pieds sous terre <<- ~>> *
__[i](p_sine_loc_latine)__      sine (?:die|qua non) <<- ~>> *
__[i](p_soi_qqch)__             soi(?:t dit en passant|-disant) <<- ~>> *
__[i](p_sous_qqch)__            sous (?:aucun prétexte|bonne (?:escorte|garde)|coupe réglée|haute surveillance) <<- ~>> *
__[i](p_stricto_sensu)__        stricto sensu <<- ~>> *
__[i>(p_sur_ce)__               sur ce, <<- ~>> *
__[i](p_sur_qqch)__             sur (?:ce plan-là|le (?:(?:long|moyen|court) terme|qui-vive)|la (?:forme comme sur le fond|même longueur d’onde)|(?:leur|[mts]on|[nv]otre) (?:trente[ -]et[ -]un|31)) <<- ~>> *
__[i](p_tant_qqch)__            tant (?:bien que mal|s’en faut) <<- ~>> *
__[i](p_tôt_ou_tard)__          tôt ou tard <<- ~>> *
__[i](loc_tour_à_tour)__
    tours? [àa] tours?
    <<- not re.search("(?i)^tour à tour$", \0) ->> tour à tour      # Locution adverbiale invariable. Écrivez “tour à tour”.|https://fr.wiktionary.org/wiki/tour_%C3%A0_tour
    <<- ~>> *
__[i](p_tous_qqch)__            tous (?:comptes faits|frais payés) <<- ~>> *
__[i](p_tout_qqch)__            tout (?:à (?:fait|coup|l’heure)|le temps|de (?:même|suite|go)|au plus|aussi bien|simplement|bonnement|compte fait|feu,? tout flammes?|bien (?:considéré|réfléchi)|du long) <<- ~>> *
__[i](p_toutes_qqch)__          toutes (?:affaires cessantes|choses égales par ailleurs|griffes dehors|proportions gardées) <<- ~>> *
__[i](p_trait_pour_trait)__     trait pour trait <<- ~>> *
__[i](p_très_bas_haut)__        très (?:bas|haut) <<- ~>> *
__[i](p_un_à_un)__              (une?) à \1 @@0 <<- ~>> *
__[i](p_un_qqch)__              un (?:à un|jour ou l’autre|instant plus (?:tôt|tard)|milli(?:er|on|ard) de fois|moment plus (?:tôt|tard)|peu (?:mieux|moins bien|partout|plus t(?:ôt|ard) que prévu)|tant soit peu) <<- ~>> *
__[i](p_plus_tôt_tard_que)__    plus t(?:ôt|ard) que (?:prévu|nécessaire) <<- ~>> *
__[i](p_une_qqch)__             une (?:à une|autre fois|bonne fois pour toutes|dernière fois|fois(?: pour toutes| de plus| n’est pas coutume)) <<- ~>> *
__[i](p_une_fois)__             une fois <<- ~>> _
__[i](p_urbi_et_orbi)__         urbi et orbi <<- ~>> *
__[i](p_v_divers)__             v(?:aille que vaille|entre à terre|ers nulle part) <<- ~>> *

TEST: ils vont et viennent, toujours {{cotes a cotes}}…
TEST: Nous irons {{tours à tours}} chercher du bois.


# je / tu / il / elles / nous / vous / ils / elles 
__[i](p_je_vous_en_prie)__      je (?:t’en|vous en) (?:prie|supplie) <<- ~>> *
__[i](p_nous_vous_en_prions)__  nous (?:t’en|vous en) (?:prions|supplions) <<- ~>> *

# mot-là
__[i](p_qqch_tiret_là)__        ({w1})(-là) @@0,$ <<- morphex(\1, ":[NAQ]", ":G") ~2>> *

# Après
__[i](p_adv_longtemps)__        (?:bien|si|assez) longtemps <<- ~>> *
__[i](p_plus_loc_adv)__         plus (?:près|loin|tôt|tard|ou moins|que (?:nécessaire|jamais)|d’une fois) <<- ~>> *

## Simplification partielle
__[i](p_tout_au_long_de)__      (tout au long) d(?:es?|u) @@0 <<- not morph(word(-1), ":R", False, False) ~1>> au
__[i](p_à_loc_de1)__            à (bonne distance|bord|cause|contre-courant|côté|court|défaut|droite|gauche|hauteur|l’(?:aff[ûu]t|arrière|autre bout|aune|avant|écart|égard|extérieur|encontre|ins(?:u|tar)|intérieur|opposé|orée|approche)|la (?:hauteur|portée|suite)|partir|portée|pro(?:ximité|pos)|quelques (?:mètres|kilomètres|lieues|pas|centaines de mètres|minutes|heures)|rebours) d(?:es?|u) @@2 <<- ~1>> *
__[i](p_à_loc_de2)__            à (base|force|grand(?: renfort|s coups)|raison) de? @@2 <<- ~1>> *
__[i](p_au_loc_de)__            au (bout|beau milieu|courant|cours|détriment|fin fond|grand dam|fur et à mesure|gré|l(?:ieu|ong|arge)|milieu|nez et à la barbe|plus profond|profit|s(?:ein|ortir|ujet)|vu(?: et au su|)) d(?:es?|u) @@3 <<- ~1>> *
__[i](p_aux_loc_de)__           aux (abords|dépens) d(?:es?|u) @@4 <<- ~1>> *
__[i](p_ceux_et_celles_qui)__   ceux (et celles?) +qui @@5 <<- ~1>> *
__[i](p_compte_tenu_de)__       (compte tenu) d(?:es?|u) @@0 <<- ~1>> avec
__[i](p_de_mes_yeux_vu)__       (de (?:[mts]es|[nv]os|leurs) yeux) vue?s? @@0 <<-  ~1>> *
__[i](p_en_loc_de1)__           en (arrière|attente|amont|aval|cas|cours|dehors|dépit|direction|faveur|guise|l’(?:absence|honneur)|lieu et place|plein milieu|présence|raison|sus|termes|vertu) d(?:es?|u) @@3 <<- ~1>> *
__[i](p_en_loc_de2)__           en (flagrant délit|matière) de? @@3 <<- ~1>> *
__[i](p_en_proie_à)__           (en proie) à @@0 <<- ~1>> *
__[i](p_eu_égard_à)__           (eu égard) (?:à|aux?) @@0 <<- ~1>> *
__[i](p_la_une_de)__            la (une) d(?:es?|u) @@3 <<- ~1>> _
__[i](p_le_long_de)__           le (long) d(?:es?|u) @@3 <<- ~1>> _
__[i](p_par_le_biais_de)__      par (le biais|l’entremise) d(?:es?|u) @@4 <<- ~1>> * 
__[i](p_pour_ou_contre)__       pour (ou contre) @@5 <<- ~1>> *
__[i](p_rien_comparé_à)__       rien +(comparé) +à @@w <<- ~1>> *
__[i](p_suite_à)__              (suite) (?:à|aux?) @@0 <<- not before(r"(?i)\b(?:une|la|cette|[mts]a|[nv]otre|de) +") ~1>> *
__[i](p_vent_debout_contre)__   (vent debout) contre @@0 <<- ~1>> *

# Déterminant + nombre
__[i](p_dét_plur_nombre_nom)__
    (?:[dmts]es|nos|vos|le(?:ur|)s) (\d+(?: ou \d+|)) ({w_2})  @@w,$
    <<- morphex(\2, ":[NA].*:[pi]", ":(?:V0|3p)|>(?: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)")
    ~1>> *

## Simplifications des substantifs
__[i](loc_arc_à_poulies)__
    arcs? (([àa]) poulies) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_armée_de)__                     armées? (de (?:l’air|terre)) @@$ <<- ~1>> *
__[i](p_armé_jusqu_aux_dents_)__        armée?s? (jusqu aux dents) @@$ <<- ~1>> *
__[i](loc_armes_à_feu)__
    armes? (([àa]) feu) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_armes_de_qqch)__                armes? (de (?:poing|guerre|destruction massive)) @@$ <<- ~1>> *
__[i](p_attestation_sur_l_honneur)__    (?:attestation|déclaration)s? (sur l’honneur) @@$ <<- ~1>> *
__[i](p_attendre_de_pied_ferme)__       attend\w* (de pied ferme) @@$ <<- ~1>> *
__[i](p_ayants_droit)__                 ayants (droit) @@$ <<- ~1>> *
__[i](p_boite_aux_lettres)__            bo[îi]tes? (aux lettres|à gants) @@$ <<- ~1>> *
__[u](p_bisphenol_A)__                  bisph[ée]nols? (A) @@$ <<- ~1>> *
__[i](p_blanc_comme)__                  blanc(?:he|)s? (comme neige|comme de la craie) @@$ <<- ~1>> *
__[i](loc_bombe)__
    bombes? (([àa]) (?:eau|fragmentation|retardement)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_canne_à)__
    (cann?es?) (([àa]) (?:pêche|sucre)s?) @@0,$,w
    <<- \1.find("ane") != -1 -1>> =\1.replace("ane", "anne")    # Confusion : la cane est la femelle du canard.|https://fr.wiktionary.org/wiki/canne
    <<- \3 == "a" -3>> à                                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~2>> *
__[i](loc_caisse_à_outils)__
    caisses? (([àa]) outils?) @@$,w
    <<- \2 == "a" -2>> à                                # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_chair_à)__
    chairs? (([àa]) (?:pâté|canons?)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_chambre_de)__                   chambres? (d’(?:agriculture|hôtes?)|de (?:commerce|compensation|décompression|dégrisement)) @@$ <<- ~1>> *
__[i](p_chemin_de_traverse)__           chemins? (de traverse) @@$ <<- ~1>> *
__[i](p_chili_con_carne)__              chilis? (con carne) @@$ <<- ~1>> *
__[i](p_chef_d_œuvre)__                 chefs?(-d’œuvre) @@$ <<- ~1>> *
__[i](p_clair_comme)__                  claire?s? (comme (?:de l’eau de (?:boudin|roche|source)|du (?:cristal|jus de (?:boudin|chaussettes?|chique)))) @@$ <<- ~1>> *
__[i](p_commis_d_office)__              commise?s? (d’office) @@$ <<- ~1>> *
__[i](p_convention)__                   conventions? (récepteur|générateur) @@$ <<- ~1>> *
__[i](p_con_comme)__                    con(?:ne|)s? (comme (?:un balai|une valise sans poignées?|la lune)) @@$ <<- ~1>> *
__[i](p_coup_de)__
    coups? (de (?:balai|bol|cœur|foudre|fil|grâce|jarnac|théâtre|coude|genou|main|p(?:atte|ied|oing|oker|ouce)|tête)|d’(?:avance|éclat|État|œil|épaule)|du sort) @@$
    <<- ~1>> *
__[i](p_course_contre_la_montre)__      courses? (contre la montre) @@$ <<- ~1>> *
__[i](p_cousu_main)__                   cousue?s? +(main) @@$ <<- ~1>> *
__[i](p_cout_de_revient)__              (?:co[uû]t|prix) (de revient) @@$ <<- ~1>> *
__[i](loc_crayon_à_qqch)__
    crayons? (([àa]) (?:lèvres|sourcils)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_cuillère)__
    cuillères? +(([àa]) (?:café|soupe)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_délai_de)__                     délais? (d’attente|de (?:carence|connexion|prescription|préavis|rétraction|rigueur)) @@$ <<- ~1>> *
__[i](p_demande_d_asile)__              demandes? (d’asile) @@$ <<- ~1>> *
__[i](p_diner_aux_chandelles)__         d[îi]ners? (aux chandelles) @@$ <<- ~1>> *
__[i](p_digne_de)__                     dignes? (de (?:confiance|foi|ce nom)) @@$ <<- ~1>> *
__[i](p_droit)__                        (droit) (?:au but|dans les yeux) @@0 <<- ~1>> *
__[i](p_droit_comme_un_i)__             droite?s? (comme un i) @@$ <<- ~1>> *
__[i](p_eau_de)__                       eaux? (de (?:bouleau|bleuet|chaux|coco|javel|jouvence|mer|noix de coco|parfum|pluie|seltz|source|vie)) @@$ <<- ~1>> *
__[i](p_espérance_de_vie)__             espérances? (de vie) @@$ <<- ~1>> *
__[i](p_état_de)__                      états? (d’(?:âme|e(?:sprit|xtrême urgence)|urgence)|de (?:conservation|fait|l’art)) @@$ <<- ~1>> *
__[i](p_expérience_utilisateur)__       expériences? +(utilisateurs?) @@$ <<- ~1>> *
__[i](loc_fard_à_paupières)__
    fards? (([àa]) paupières) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_fille_au_pair)__                filles? (au pair|à soldats?) @@$ <<- ~1>> *
__[i](loc_fils_fille_à)__
    fil(?:les?|s) (([àa]) (?:papa|maman)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[s](p_femme_de)__                     [fF]emmes? (de (?:chambre|lettres|loi|ménage)|d’(?:âge mûr|affaires|exception|É(?:tat|glise)|honneur)) @@$ <<- ~1>> *
__[s](p_homme_de)__                     [hH]ommes? (de (?:lettres|loi|main|paille)|d’(?:âge mûr|affaires|armes|exception|É(?:tat|glise)|honneur)) @@$ <<- ~1>> *
__[i](p_haut_comme_3_pommes)__          haute?s? (comme (?:trois|3) pommes) @@$  <<- ~1>> *
__[i](p_hôtel_de_ville)__               hôtels? (de ville) @@$ <<- ~1>> *
__[i](loc_gaz_à_effet_de_serre)__
    gaz (([àa]) effet de serre)  @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_garde)__                        gardes? (à vue|du corps) @@$ <<- ~1>> *
__[i](p_infirmier_de_garde)__           (?:infirmières?|médecins?) (de garde) @@$ <<- ~1>> *
__[i](p_impression_que)__               (l(?:a (?:nette|bizarre) +|’étrange +|’)impression) +que? @@0 <<- ~1>> *
__[i](p_pressentiment_que)__            (le (?:pres|)sentiment) +que? @@0 <<- ~1>> *
__[i](p_invité)__                       invitée?s? (d’honneur|surprise) @@$ <<- ~1>> *
__[i](p_journal_de_bord)__              journa(?:l|ux) (de bord) @@$ <<- ~1>> *
__[i](loc_lime_à_ongles)__
    limes? (([àa]) ongles?) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_liste_d_attente)__              listes? (d’attente) @@$ <<- ~1>> *
__[i](loc_machine_à_qqch)__
    machines? (([àa]) (?:café|coudre|laver|remonter le temps)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_main_d_œuvre)__                 mains? (d’œuvre) @@$ <<- ~1>> *
__[i](p_maison_de)__                    maisons? (de (?:passe|retraite)) @@$ <<- ~1>> *
__[i](p_mal_de)__                       ma(?:l|ux) (de (?:tête|ventre|mer)) @@$ <<- ~1>> *
__[i](p_marché_aux_puces)__             marchés? (aux puces) @@$ <<- ~1>> *
__[i](p_maréchal_des_logis)__           maréchale?s? (des logis(?:[ -]chef|)) @@$ <<- ~1>> *
__[i](p_marge_de_manœuvre)__            marges? (de manœuvres?) @@$ <<- ~1>> *
__[i](p_mère_au_foyer)__                mères? (au foyer) @@$ <<- ~1>> *
__[i](p_metteur_en_scène)__             metteu(?:r|se)s? (en scène) @@$ <<- ~1>> *
__[i](p_mineur_de_moins_de_x_ans)__     mineure?s? (de moins de ({w1}) ans) @@$,>1:w <<- \2.isdigit() or morph(\2, ":B", False) ~1>> *
__[i](p_miroir_aux_alouettes)__         miroirs? (aux alouettes) <<- ~1>> *
__[i](p_monnaie)__                      monnaies? (d’échange|de réserve) @@$  <<- ~1>> *
__[i](p_mode_de)__                      modes? (de (?:paiement|scrutin|vie)) @@$ <<- ~1>> *
__[i](p_mot_de_passe)__                 mots? (de passe) @@$ <<- ~1>> *
__[i](p_motion_de)__                    motions? (de (?:blâme|censure|défiance)) @@$ <<- ~1>> *
__[i](loc_moule_à_qqch)__
    moules? (([àa]) (?:gaufres?|gâteaux?|brioche|manqué|savarin|charlotte)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_noix_de)__                      noix (de (?:cajou|p[ée]can|coco|lavage|muscade|veau|macadamia)) @@$ <<- ~1>> *
__[i](p_nu_comme_un_ver)__              nue?s? (comme (?:un ver|des vers)) @@$ <<- ~1>> *
__[i](p_numéro)__
    numéro (un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf|)|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante(?:-dix|)|quatre-vingt(?:-dix|)|cent|mille|\d+) @@$
    <<- before(r"\b[lL]a +$") =>> define(\0, [">numéro :N:f:s"])
    <<- ~1>> *
__[i](p_oiseau_de)__                    oiseaux? (de (?:malheur|nuit|proie|mauvais augure)) @@$ <<- ~1>> * 
__[i](p_onde_de_choc)__                 ondes? (de choc) @@$ <<- ~1>> *
__[i](p_orge)__                         orge (perlé|mondé|carré) @@$ <<- ~1>> *
__[i](p_noire_comme)__                  noire?s? (comme (?:la nuit|une nuit sans lune)) @@$ <<- ~1>> *
__[i](p_partie_de_jambe_en_l_air)__     parties? (de jambes en l’air) @@$ <<- ~1>> *

__[i](p_pièce_de)__                     pièces? (de (?:théâtre|monnaie|\d+ (?:euros?|centimes?|cents?|livres? sterling|shillings?))) @@$ <<- ~1>> *
__[i](p_porte_de)__                     portes? (de (?:service|garage)) @@$ <<- ~1>> *
__[i](p_poudre_aux_yeux)__              poudres? (aux yeux) @@$ <<- ~1>> *
__[i](p_preuve_du_contraire)__          preuves? +(?:suffisantes? +|)(du contraire) @@$ <<- ~1>> *
__[i](p_quelqu_un_d_autre)__            quelqu un (d’autre) @@$ <<- ~1>> *
__[i](p_réglé_comme)__                  réglée?s? (comme du papier à musique) @@$  <<- ~1>> *
__[i](p_papier_à)__
    papiers? (([àa]) (?:lettres?|musique)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_remire_à_plat)__
    remise?s? (([àa]) plat) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_requête)__                      requêtes? (en (?:nullité|non (?:conciliation|inscription|lieu|révocation de sursis))) @@$ <<- ~1>> *
__[i](p_roues_avant_arrière)__          roues? (avant|arrière) @@$ <<- ~1>> *
__[i](p_roulement_à_billes)__           roulements? (à billes) @@$ <<- ~1>> *
__[i](loc_rouge_à_lèvres)__
    rouges? (([àa]) lèvres) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_sac_à_qqch)__
    sacs? (([àa]) (?:dos|main|langer|merde|foutre)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_sac_de_qqch)__                  sacs? (de (?:couchage|sport|voyage)) @@$ <<- ~1>> *
__[i](p_salle)__                        salles? (à manger|d’attente|de (?:bains?|conférence)) @@$ <<- ~1>> *
__[i](p_sain_de_corps)__                saine?s? (d(?:e corps et d|)’esprit) @@$ <<- ~1>> *
__[i](p_sclérose_en_plaques)__          scléroses? (en plaques) @@$  <<- ~1>> *
__[i](p_secret_défense)__ 				secrets? (défense) @@$ <<- ~1>> *
__[i](loc_silo)__
    silos? (([àa]) (?:grains?|blé)) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_soue_à_cochons)__
    soues? (([àa]) cochons?) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[u](p_système)__                      systèmes? (d’exploitation|D) @@$ <<- ~1>> *
__[i](p_taille)__                       taille (\d+) @@$ <<- ~1>> *
__[i](p_taux_de_qqch)__                 taux (d’(?:abstention|absorption|alcool|alphabétisation|endettement|inflation|intérêt|imposition|occupation|ouverture|œstrogène|urée|usure)|de (?:change|cholest[ée]rol|glycémie|fécondité|participation|testostérone|TVA)) @@$ <<- ~1>> *
__[i](p_tête_de_déterré)__              têtes? (de déterrée?s?) @@$ <<- ~1>> *
__[i](p_tout_un_chacun)__               (tout un) chacun @@0 <<- ~1>> *
__[i](p_tour_de_passe_passe)__          tours? (de passe-passe) @@$ <<- ~1>> *
__[i](p_trou_à_rat)__           trous? (([àa]) rats?) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_tueur_à_gages)__
    tueu(?:r|se)s? (([àa]) gages) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](p_vecteur)__                      vecteurs? (accélérations?|positions?|rotations?|vitesses?) @@$ <<- ~1>> *
__[i](loc_vente_à_domicile)__
    ventes? (([àa]) domicile) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_vernis_à_ongles)__
    vernis (([àa]) ongles) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_vol_à)__
    vols? (([àa]) l(?:’étalage|a (?:sauvette|tire))) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *
__[i](loc_voie_de_recours)__
    (voi[ex]s?) (de (?:recours|perdition)) @@0,$
    <<- \1.endswith("x") -1>> voie|voies        # Confusion probable.|https://fr.wiktionary.org/wiki/voie
    <<- ~2>> *
__[i](loc_usine_à_gaz)__
    usines? (([àa]) gaz) @@$,w
    <<- \2 == "a" -2>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~1>> *

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: c’est une putain d’usine {{a}} gaz.
TEST: un champ de canne à sucre


# simplification des nombres
__<i](p_10_qqch)__
    dix-(?:sept|huit|neuf) <<- ~>> dix
__[i](p_20_30_40_50_qqch)__
    (?:vingt|trente|quarante|cinquante)(-(?:deux|trois|quatre|cinq|six|sept|huit|neuf|et-un)| et un) @@$ <<- ~1>> *
__[i](p_60_qqch)__
    soixante-(?:d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|quinze|seize| et (?:un|onze)|-et-(?:un|onze))
    <<- ~>> soixante
__[i](p_80_qqch)__
    quatre-vingt-(?:un|d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|onze|quinze|seize)
    <<- ~>> quatre-vingts
__[i](p_qqch_100)__
    ((?:d(?:eux|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|s(?:ix|seize)|sept|huit|neuf|onze|quinze) cents) +({w_2})  @@0,$ 
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> cent
__[i](p_qqch_1000)__
    (?:deux|trois|quatre|cinq|six|sept|huit|neuf|cent) (?:cent |)mille
    <<- ~>> mille

__[i](p_det_plur_nombre_nom)__
    (?:le(?:ur|)s|des|ses|ces|mes|tes|nos|vos) +((?:quelque +|)(?:d(?:eux|ix|ouze)|tr(?:ois|eize|ente)|qua(?:t(?:re(?:-vingts|)|orze)|rante)|cinq(?:uante|)|s(?:ix|eize|oixante)|sept|huit|neuf|onze|quinze|vingt|cent|mille|\d+)) +({w_2})  @@w,$ 
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> *

__[i](p_une_heure)__
    (?:à |d(?:e +|’))une +heure(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt|décente|(?:très |)tardive)|) <<- ~>> *
__[i](p_nombre_heure)__
    (?:à|de) (?:d(?:eu|i)x|tr(?:ois|eize)|qu(?:at(?:re|orze)|inze)|cinq|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt) +heures(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt)|) <<- ~>> *

## Conditionnel
__[i](p_à_xxx_pour_cent)__          à ({w_2}) pour cent @@2 <<- morph(\1, ":B", False) ~>> *
__[i](p_au_moins)__                 (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":[AQ].*:[me]:[si]", False) ~1>> *
__[i](p_au_hasard)__                au hasard <<- isEndOfNG() ~>> *
__[i](p_aussi_adv_que_possible)__   aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i](p_au_sens_adj_du_terme)__     au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A .*:m:s", False) ~>> *
#__[i](p_aussi_xxx_que_ce_soit)__   aussi ({w_2}) que ce soit
__[i](p_nombre_de)__                (nombre) des? @@0 <<- morph(word(-1), ":(?:R|C[sc])", False, True) ~1>> *
__[i](p_à_xxx_reprises)__           à ({w_2}) reprises @@2 <<- morph(\1, ":B", False) or re.search("(?i)^(?:plusieurs|maintes)", \1) ~>> *
__[i](p_bien_entendu)__             bien entendu <<- morph(word(1), ":[NAQR]|>que? ", False, True) ~>> *
__[i](p_comme_pronom)__
    ({w_2}) (comme (?:eux|elles?|lui|ça|celui-(?:ci|là)|celles?-(?:ci|là)|ceux(?:ci|là)|l[ea] [nv]ôtre|le [mts]ien|la [mts]ienne|les (?:[nv]ôtres|sien(?:ne|)s))) @@0,$
    <<- morphex(\1, ":[NAQ]", ":V0") ~2>> *
__[i](p_pêle_mêle)__                ({w_2}) (pêle-mêle) @@0,$ <<- not morph(\1, ":D", False) ~2>> *
__[i](p_droit_devant)__             ({w_2}) (droit) devant @@0,w <<- not morph(\1, ":D.*:[me]:[si]", False) ~2>> *
__[i](p_dans_xxx_cas)__
    dans (?:la (?:(?:grande |)majorité|plupart) des|de (?:tr[èo][sp] |)nombreux|maints) cas
    <<- not morph(word(1), ":([AQ].*:[me]:[pi])", False, False) ~>> *
__[i](p_du_coup)__
    (du coup) ({w_1}) @@0,$
    <<- not morph(\2, ":A", False) ~1>> *
__[i](p_verbe_pronom_être)__
    (d[eouû]\w+|cr[ouû]\w+|pens\w+|imagin\w+|estim\w+) (l(?:eur|ui)|nous|vous) être @@0,w
    <<- morph(\1, ">(?:croire|devoir|estimer|imaginer|penser) ") ~2>> *
__[i](p_en_partie)__
    (en partie) ({w_2}) @@0,$
    <<- morph(\1, ":(?:R|D|[123]s|X)", False) ~1>> *
__[i](p_en_plus)__
    en plus
    <<- morph(word(1), ":A", False, True) ~>> en
    <<- __else__ ~>> *
__[i](p_en_quelques_tps1)__
    (en quelques (?:années|décennies|semaines|heures|minutes)) +({w_2}) @@0,$
    <<- not morph(\2, ":[AQ]:[ef]:[si]", False) ~1>> *
__[i](p_en_quelques_tps2)__
    (en quelques (?:jours|mois|trimestres|semestres|siècles|millénaires)) +({w_2}) @@0,$
    <<- not morph(\2, ":[AQ]:[em]:[si]", False) ~1>> *
__[i](p_entre_pronom_et_pronom)__
    entre (?:eux|elles|nous|vous)(?: et (?:moi|toi|nous|vous|elles|eux)|)
    <<- not before(r"(?i)\b(?:il +|n’)$") ~>> *
__[i](p_haut_et_fort)__             haut et fort <<- not morph(word(-1), ":D", False, False) ~>> *
__[i](p_hélas)__                    hélas <<- not before(r"(?i)\bt(?:u|oi qui)[ ,]") ~>> *
__[i](p_nécessité_fait_loi)__       nécessité fait loi <<- not morph(word(-1), ":D", False, False) ~>> *
__[i](p_non_par_trop)__             (non|par trop) ({w_2}) @@0,$ <<- morph(\2, ":A", False) ~1>> *
__[i](p_plein_est)__                plein est <<- not morph(word(-1), ":D", False, False) ~>> *
__[i](p_plus_adv_que_prévu)__       (?:plus|moins|aussi) ({w3}) que prévu @@w <<- morph(\1, ":W", False) ~>> *
__[i](p_plus_adv_que_les_autres)__  (?:plus|moins|aussi) ({w3}) (que (?:les autres|l’autre)) @@w,$ <<- morphex(\1, ":[AW]", ":G") ~2>> *
__[i](p_plus_adv_les_uns_que_les_autres)__  plus ({w3}) (les une?s que les autres) @@5,$ <<- morph(\1, ":[AW]", False) ~2>> *
__[i](p_pour_autant_que_su)__
    (pour autant (?:que (?:je sache|tu saches|nous sachions|vous sachiez)|qu (?:il|elle)(?: sache|s sachent))) ({w_1})  @@0,$
    <<- not morph(\2, ":Y", False) ~1>> *
__[i](p_tambour_battant)__          tambours? battants? <<- morph(word(-1), ":(?:V|N:f)", ":G") ~>> *
__[i](p_tête_baissée)__             ({w_2}) +(tête baissée) @@0,$ <<- morphex(\1, ":[NV]", ":D") ~2>> *
__[i](p_tant_que_ça)__              ((?:pas |)tant que ça) ({w1}) @@0,$ <<- not morph(\2, ":(?:3s|X)", False) ~1>> *
__[i](p_putain_de)__                (?:le|un|ce|[mts]on) (putain d(?:e +|’))({w_2}) @@*,$ <<- morph(\2, ":[me]", False) ~1>> *

# Noms propres
__[i](p_cocktail_Molotov)__     cocktails? (Molotov) @@$ <<- ~1>> *
__[i](p_effet_Streisand)__      effets? (Streisand) @@$ <<- ~1>> *
__[i](p_prix_Nobel)__           prix (Nobel) @@5 <<- ~1>> *
__[s](p_Amérique)__             Amérique (centrale|du (?:Nord|Sud)) @@$ <<- ~1>> *
__[s](p_nom_propre_nom_propre)__
    ([A-ZÉÈÂ][\w-]+) (L[ea] |[vV][oa]n |Ma?c |[dD][eu] |d’|O’|)([A-ZÉÈÂ][\w-]+) @@0,*,$
    <<- morph(\1, ":M[12]", False) ~3>> *
    <<- __also__ and \2 != "" ~2>> *
__[s](p_de_nom_propre_et_ou_de_nom_propre)__
    (?:de |d’)([A-ZÉÈÂ][\w-]+) +(?:et|ou) +(?:de |d’)([A-ZÉÈÂ][\w-]+) @@w,$
    <<- morph(\1, ":M", False) and morph(\2, ":M", False) ~>> *
__[s](p_de_nom_propre)__
    (?:de |d’)([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M", False) or not spell(\1) ~>> *
__[s](p_entre_nom_propre_et_nom_propre)__
    entre ([A-ZÉÈÂ][\w-]*) +et ([A-ZÉÈÂ][\w-]*) @@6,$
    <<- morph(\1, ":(?:M[12]|N)") and morph(\2, ":(?:M[12]|N)") ~>> *
__[s](p_en_nom_propre)__
    en ([A-ZÉ][\w-]+) @@3 <<- morph(\1, ":MP") ~>> *
__[u](p_titre_masculin_nom_propre)__
    (?:[lc]e|du) (?:baron|docteur|député|duc|frère|prince|professeur|roi|sénateur|mir) ([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M[12]", False) ~1>> *
__[u](p_titre_féminin_nom_propre)__
    (?:la|cette) (?:baronne|docteure?|députée|duchesse|sœur|princesse|professeure?|reine|sénatrice) ([A-ZÉÈÂ][\w-]+) @@$
    <<- morph(\1, ":M[12]", False) ~1>> *
__[s](p_titre_abrégé_nom_propre)__
    M(?:r|lle|me|gr|iss) ([A-ZÉÈÂ][\w-]+) @@$ <<- ~1>> *
__[s](p_nom_propre_et_pronom)__
    ([A-ZÉÈÊ][\w-]+) +et (lui|elles?|eux|[nv]ous|[mt]oi) @@0,$
    <<- morph(\1, ":[MT]", False) and morph(word(-1), ":Cs", False, True) and not before(r"\b(?:plus|moins|aussi) .* que +$")
    ~>> =rewriteSubject(\1,\2)

# après être, après avoir
__[i](p_être_qqch)__
    ({etre}) +(à jamais|un jour|sous peu|du moins|avant tout|de passage|frère et sœur|mari et femme|père et mère|papa et maman|monnaie courante|pieds (?:et poings liés|nus)|partie (?:intégrante|prenante))  @@0,$
    <<- morph(\1, ":V0e", False) ~2>> *
__[i](p_être_pronom_qqch)__
    ([ésf]\w+)-(?:ils|[nv]ous|elles) +(frère et sœur|mari et femme|père et mère|papa et maman|bon marché|meilleur marché)  @@0,$
    <<- morph(\1, ":V0e", False) ~2>> *
__[i](p_qqch_on_ne_peut_plus_que)__
    ({w1}) +(on ne peut (?:pas |)(?:plus|moins)|plus que) +({w2})  @@0,w,$
    <<- morph(\1, ":(?:V0e|N)", False) and morph(\3, ":[AQ]", False) ~2>> *
__[i](p_avoir_être_loc_adv1)__
    ({avoir_etre}) +(pas|jamais|plus|en partie|point|tous (?:deux|trois)|somme toute)  @@0,$
    <<- morph(\1, ":V0", False) ~2>> *
__[i](p_avoir_être_loc_adv2)__
    ({avoir_etre}) +(beaucoup|bien entendu|dans (?:leur |son |l’)ensemble|à ce(?:t (?:instant|endroit)| moment)|sans peine|un (?:moment|peu|minimum|petit peu|tout petit peu)) +({w_2})  @@0,w,$
    <<- morph(\1, ":V0", False) and morph(\3, ":[QY]", False) ~2>> *
__[i](p_avoir_loc_adv)__
    ({avoir}) +(besoin|bon (?:dos|pied,? bon œil)|carte blanche|confiance|conscience|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre)  @@0,$
    <<- morph(\1, ":V0a", False) and not (\2 == "crainte" and before(r"\w")) ~2>> *
__[i](p_avoir_pronom_loc_adv)__
    ({avoir})-(?:je|tu|ils?|elles?|nous|vous|on) +(besoin|bon (?:dos|pied,? bon œil)|carte blanche|confiance|conscience|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre)  @@0,$
    <<- morph(\1, ":V0a", False) ~2>> *
__[i](p_avoir_tous_toutes_les)__
    ({avoir}) +(tou(?:te|)s les ({w_2})) +({w_2})  @@0,w,>3:$,$
    <<- morph(\1, ":V0a", False) and morph(\3, ":B", False) and morph(\4, ">besoin |:(?:Q|V1.*:Y)", False) ~2>> *

# elle aussi + adj
__[i](p_elle_aussi)__
    (elle aussi) +({w_3}) @@0,$
    <<- morph(\2, ":A:[fe]:s", False) ~1>> *
    <<- __else__ and morphex(\2, ":W", ":3s") and morph(word(1), ":A:[fe]:s", False, True) ~1>> *
__[i](p_elles_aussi)__
    (elles aussi) +({w_3}) @@0,$
    <<- morph(\2, ":A:[fe]:p", False) ~1>> *
    <<- __else__ and morphex(\2, ":W", ":3p") and morph(word(1), ":A:[fe]:p", False, True) ~1>> *

# après verbe
__[i](p_verbe_loc_adv1)__       ({w1}) (?:pas |)(jour et nuit|quand même(?: pas|)) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_verbe_loc_adv2)__       ({w_2}) (bien entendu|juste|ensemble) @@0,$ <<- morph(\1, ":V[123]") ~2>> *
__[i](p_verbe_loc_adv3)__       ({w_2}) ((?:fort|très|super) (?:bien|mal)|bien|mal) @@0,$ <<- morph(\1, ":V[123]", False) ~2>> *
__[i](p_verbe_pronom_aussi)__   ({w_1}) ((?:[mt]oi|[nv]ous|elles?|lui|eux) aussi) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_tout_aussi)__           (?:tout |)aussi <<- ~>> *
__[i](p_aussi_aussitôt)__       aussi(?:tôt|) <<- ~>> *
__[i](p_verbe_même)__           ({w_1}) (même) @@0,$ <<- morphex(\1, ":V", ":G") ~2>> *

# avant adjectifs, avant adverbes
__[i](p_le_xxx_le_plus_adj)__
    le ({w_2}) (le plus) ({w_2})  @@3,w,$
    <<- morphex(\1, ":[NAQ].*:[me]", ":G") and morph(\3, ":[AQ].*:[me]", False) ~2>> *
__[i](p_la_xxx_la_plus_adj)__
    la ({w_2}) (la plus) ({w_2})  @@3,w,$
    <<- morphex(\1, ":[NAQ].*:[fe]", ":G") and morph(\3, ":[AQ].*:[fe]", False) ~2>> *
__[i](p_les_xxx_les_plus_adj)__
    (?:[lmts]es|nos|vos|leurs) ({w_2}) (les plus) ({w_2})  @@w,w,$
    <<- morphex(\1, ":[NAQ].*:[pi]", ":[123][sp]") and morph(\3, ":A.*:[pi]", False) ~2>> * 
__[i](p_le_plus_le_moins)__
    (le (?:plus|moins)) ({w_2})  @@0,$
    <<- morph(\2, ":A", ":([me]:[si]|G)") and morph(word(-1), ">(?:avoir|être) :V", False) ~1>> *
__[i](p_bien_sûr)__
    bien sûr(?! de) <<- ~>> *
__[i](p_bien_mal_fort_adj_adv)__
    (bien|mal|(?:fort|super) (?:bien|mal)|fort) +({w_2})  @@0,$
    <<- morph(\2, ":[AW]") ~1>> *
__[i](p_loc_adj_adv)__
    (à (?:demi|peine|peu près)|depuis peu|quelque peu|pas très|un (?:petit |)peu(?: plus| moins|)|peu|plus|moins|si) +({w_2})  @@0,$
    <<- morph(\2, ":[AW]", False) ~1>> *
__[i](p_un_brin_chouïa_rien_tantinet_soupçon)__
    (un (?:brin|chou[iï]a|rien|minimum|soupçon|tantinet)(?: trop|)) ({w_2}) @@0,$
    <<- morphex(\2, ":A", ":G") ~1>> *
__[i](p_assez_trop_adv_xxxment)__
    (?:assez|trop) +(\w+ment)  @@$
    <<- morphex(\1, ":W", ":3p") ~>> *
__[i](p_assez_trop_adj_adv)__
    (assez|trop) +({w_2})  @@0,$
    <<- morphex(\2, ":[AW]", ":[123][sp]") ~1>> *

# adverbes en -ment
__[i](p_le_la_plus_moins_adv_xxxment)__
    ({w_2}) (l[ea] (?:plus|moins) (\w+ment)) ({w_2})  @@0,w,>2:$,$
    <<- morph(\1, ":[NAQ]", False) and morph(\3, ":W", False) and morph(\4, ":[AQ]", False) ~2>> *
__[i](p_complètement)__
    complètement <<- not morph(word(-1), ":D", False, True) ~>> *
__[i](p_adverbe_xxxment)__
    (\w+ment)(?: parlant| pas|) @@0 <<- morph(\1, ":W\\b") ~>> *

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

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

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


## 1 mot
__[i](p_ailleurs_ainsi)__               ai(?:lleurs|nsi)                            <<- ~>> *
__[i](p_alentour_alors)__               al(?:entour|ors)                            <<- ~>> *
__[i](p_aujourdhui_auparavant)__        au(?:jourd’hui|paravant)                    <<- ~>> *
__[i](p_bientôt)__                      bientôt                                     <<- ~>> *
__[i](p_cependant_certes)__             ce(?:pendant|rtes)                          <<- ~>> *
__[i](p_ci_dessus_dessous)__            ci-desso?us                                 <<- ~>> *
__[i](p_debout_derechef)__              de(?:bout|rechef)                           <<- ~>> *
__[i](p_depuis)__                       (depuis), @@0                              <<- ~1>> *
__[i](p_déjà_désormais)__               dé(?:jà|sormais)                            <<- ~>> *
__[i](p_donc_dorénavant)__              do(?:nc|rénavant)                           <<- ~>> *
__[i](p_enfin_ensuite_encore)__         en(?:fin|suite|core)                        <<- ~>> *
__[i](p_guère)__                        guère                                       <<- ~>> *
__[i](p_ici)__                          ici                                         <<- ~>> *
__[i](p_illico)__                       illico                                      <<- ~>> *
__[i](p_jadis)__                        jadis                                       <<- ~>> *
__[i](p_jamais1)__                      jamais           <<- not before(r"(?i)\bne +$") ~>> *
__[i](p_loin_longtemps)__               lo(?:in|ngtemps)                            <<- ~>> *
__[i](p_mouais)__                       mouais                                      <<- ~>> *
__[i](p_naguère)__                      n(?:aguère|éanmoins)                        <<- ~>> *
__[i](p_parfois_partout)__              par(?:fois|tout)                            <<- ~>> *
__[i](p_presque_primo)__                pr(?:esque|imo)                             <<- ~>> *
__[i](p_peut_être_plutôt_pourtant)__    p(?:eut-être|lutôt|ourtant)                 <<- ~>> *
__[i](p_quelquefois)__                  quelquefois                                 <<- ~>> *
__[i](p_soudain_souvent)__              sou(?:dain|vent)                            <<- ~>> *
__[i](p_toujours_toutefois)__           tou(?:jours|tefois)                         <<- ~>> *
__[i](p_secondo)__                      secondo                                     <<- ~>> *
__[i](p_sur_le_champ_surtout)__         sur(?:-le-champ|tout)                       <<- ~>> *
__[i](p_tôt_tard_tantôt_tertio_très)__  t(?:ôt|ard|antôt|ertio|rès)                 <<- ~>> *
__[i](p_vite)__                         vite                                        <<- ~>> *
__[i](p_volontiers)__                   volontiers                                  <<- ~>> *

# après
__[i](p_au_fur_et_à_mesure)__           au fur et à mesure                          <<- ~>> *
__<i>(p_oui_non_entre_autres)__         , +(?:oui|non|entre autres),                <<- ~>> *
__<s>(p_virgule_virgule)__              , +,                                        <<- ~>> *
__<s>(p_première_virgule)__             ^ *,                                        <<- ~>> *
__<s>(p_dernière_virgule)__             , *$                                        <<- ~>> *
__<s>(p_tiret_tiret)__                  [—–-] +[—–-]                                <<- ~>> *
__<s>(p_parenthèses_vides)__            [(] +[)]                                    <<- ~>> *
__<s>(p_balise_vide)__                  [<] +[>]                                    <<- ~>> *


## Seconde passe (il faut réorganiser tout le cycle de simplification)

__[i](p_à_nos_yeux)__
    (à (?:[mts]es|[nv]os|leurs) yeux) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
__[i](p_à_la_dernière)__
    (à la dernière (?:minute|seconde)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[si]", False) ~1>> *
__[i](p_à_l_époque)__
    (à l’époque) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[si]", False) ~1>> *
__[i](p_au_pire)__
    (au pire) +({w_1}) @@0,$ <<- morph(\2, ":A", ":N:[me]:[si]") ~1>> *
__[i](p_ben_voyons)__
    ben voyons <<- isStart() ~>> *
__[i](p_chaque_année_semaine_journée_décennie)__
    (chaque (?:année|semaine|journée|décennie)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[fe]:[si]|Oo|[123][sp])", False) ~1>> *
__[i](p_chaque_an_jour_mois)__
    (chaque (?:an|jour|mois)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[me]:[si]|Oo|[123][sp])", False) ~1>> *
__[i](p_d_évidence)__
    (d’évidence) +({w_1})  @@0,$ <<- not morph(\2, ":A.*:[fe]:[si]", False) ~1>> *
__[i](p_dans_l_ensemble)__
    (dans l’ensemble) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
__[i](p_de_ce_seul_fait)__
    (de ce (?:seul |)fait) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
__[i](p_dès_le_départ)__
    (dès le départ) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]") ~1>> *
__[i](p_dès_les_premiers_jours_mois_ans)__
    (dès les premiers (?:jours|mois|ans|siècles|trimestres|semestres)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
__[i](p_dès_les_premières_années_heures_minutes)__
    (dès les premières (?:années|semaines|minutes|secondes|heures|décennies)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
__[i](p_en_certaines_plusieurs_occasions)__
    (en (?:certaines|quelques|plusieurs|de multiples) occasions) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
__[i](p_entre_autres_choses)__
    (entre autres choses) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
__[i](p_quelques_minutes_heures_années_plus_tard)__
    ((?:quelques|plusieurs|de +nombreuses) (?:secondes|minutes|heures|journées|semaines|années|décennies)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
__[i](p_quelques_instants_jours_siècles)__
    ((?:quelques|plusieurs|de +nombreux) (?:instants|moments|jours|mois|ans|siècles)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
__[i](p_un_moment_instant)__
    (un (?:instant|moment|jour)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *


## Simplication des locutions verbales
__[i](loc_arriver)__
	(arriv\w+) (([aà]) (?:échéance|point nommé)) @@0,$,w
	<<- morph(\1, ">arriver ", False) >>>
	<<- \3 == "a" -3>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
	<<- ~2>> *
__[i](p_donner_sens)__
    ((?:re|)donn\w+) +(sens) @@0,$
    <<- morph(\1, ">(?:re|)donner ", False) ~2>> *
__[i](p_faire_qqch)__
    (f[aiîeo]\w*) +(tous(?: deux| trois|) +|)(allusion|amende honorable|assaut|bande à part|bonne figure|chaud|confiance|compliqué|copain[- ]copain|de (?:[mts]on|leur|[nv]otre) mieux|dé(?:bat|faut)|demi-tour|envie|fausse route|figure|froid|front commun|gr(?:ise mine|and (?:bruit|cas))|h(?:alte|onte)|illusion|long feu|ma(?:chine|rche) arrière|main basse|mouche|office|p(?:art(?:ie(?: intégrante|)|)|eur|laisir|rofil bas)|rage|salle comble|scandale|sens|signe|table rase|volte-face|ce que bon (?:me|te|lui|leur|nous|vous) semble) @@0,*,$
    <<- morph(\1, ">faire ", False) ~2>> *
    <<- __also__ ~3>> *
__[i](loc_laisser_pour_compte)__
    (laiss\w+) +(pour (co[mnp]tes?))  @@0,$,$
    <<- morph(\1, ">laisser ", False) >>>
    <<- \2 != "compte" -3>> compte              # Confusion. Locution “laisser pour compte”.|https://fr.wiktionary.org/wiki/laisser_pour_compte
    <<- ~2>> *
__[i](loc_mettre_à_qqch)__
    (m(?:et|[iî][mst])\w*) +(([àa]) (?:bas|jour|niveau|plat|l’(?:écart|épreuve)|terre)) @@0,$,w
    <<- morph(\1, ">mettre ", False) >>>
    <<- \3 == "a" -3>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~2>> *
__[i](p_mettre_qqch)__
    (m(?:et|[iî][mst])\w*) +(au p(?:oint|as)|en (?:avant|bouche|demeure|garde|jeu|lumière|œuvre|place|scène|terre)) @@0,$
    <<- morph(\1, ">mettre ", False) ~2>> *
__[i](loc_mourir_qqch)__
    (m[oe]\w+) +(jeûne)  @@0,$
    <<- morph(\1, ">mourir ", False) -2>> =\2.replace("û", "u")                 # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
__[i](p_paraitre_qqch)__
    (par\w+) +(jeûnes?)  @@0,$
    <<- morph(\1, ">para[îi]tre ", False) -2>> =\2.replace("û", "u")            # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
__[i](p_porter_qqch)__
    (port\w+) +(atteinte|bonheur|caution|chance|malheur|plainte|préjudice|secours)  @@0,$
    <<- morph(\1, ">porter ", False) ~2>> *
__[i](loc_prendre_à_la_légère)__
    (pr[eiî]\w+) +(([àa]) la légère) @@0,$,w
    <<- morph(\1, ">prendre ", False) >>>
    <<- \3 == "a" -3>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~2>> *
__[i](p_prendre)__
    (pr[eiî]\w+) +(au (?:dépourvu|sérieux)|congé|conscience|contact|de court|en charge|ombrage|pour argent comptant|par surprise|racine|soin|vie) @@0,$
    <<- morph(\1, ">prendre ", False) ~2>> *
__[i](loc_rendre_compte)__
    (rend\w+) +(co[mn]tes?)  @@0,$
    <<- morph(\1, ">rendre ", False) -2>> compte                                # Confusion probable. Locution “rendre compte”.|https://fr.wiktionary.org/wiki/rendre_compte
    <<- ~1>> *
__[i](loc_rester_qqch)__
    (rest\w+) +(lettre morte|jeûnes?) @@0,$
    <<- morph(\1, ">rester ", False) >>>
    <<- morph(\2, ">jeûne ", False) -2>> =\2.replace("û", "u")                  # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
    <<- __else__ ~2>> *
__[i](loc_semble_qqch)__
    (sembl\w+) +(jeûnes?)  @@0,$
    <<- morph(\1, ">sembler ", False) -2>> =\2.replace("û", "u")                # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
__[i](p_sembler_paraitre_être)__
    (sembl\w+|par[au]\w+) +(être|avoir été) +({w_2}) @@0,w,$
    <<- morph(\1, ">(?:sembler|para[îi]tre) ") and morphex(\3, ":A", ":G") ~2>> *
__[i](loc_suivre_de_près)__
    (suiv\w+) +((?:ça +|ce(?:ci|la) +|)de (pr[èé]s?|prêts?)) @@0,$,$
    <<- morph(\1, ">suivre ", False) >>>
    <<- \3 != "près" -3>> près                  # Confusion : écrivez “près” pour dire “proche de quelque chose”.|https://fr.wiktionary.org/wiki/pr%C3%A8s
    <<- ~2>> *
__[i](loc_tenir_à_distance)__
    (t[eiî]\w+) +(([àa]) distance +(?:respectable +|))d(?:es?|u) @@0,*,w
    <<- morph(\1, ">tenir ", False) >>>
    <<- \3 == "a" -3>> à                        # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.
    <<- ~2>> *
__[i](loc_tenir_compte)__
    (t[eiî]\w+) +(co(?:mp?|n)tes?|au courant) @@0,$
    <<- morph(\1, ">tenir ", False) >>>
    <<- morph(\2, ">co[mn]te(?:sse|) ", False) -2>> compte        # Confusion. Dans la locution “tenir compte”, écrivez “compte” au singulier.|https://fr.wiktionary.org/wiki/tenir_compte
    <<- ~2>> *
__[i](p_tirer_profit)__
    (tir\w+) +(avantage|profit) d(?:es?|u) @@0,w
    <<- morph(\1, ">tirer ", False) ~2>> *
__[i](loc_tourner_court)__
    (tourn\w+) +(cour(?:re|t|s|))  @@0,$
    <<- morph(\1, ">tourner ", False) >>>
    <<- \2 != "court" -2>> court                # Locution : tourner court.|https://fr.wiktionary.org/wiki/tourner_court
    <<- ~2>> *
__[i](p_trier_sur_le_volet)__
    (tri\w+) (sur le volet) @@0,$
    <<- morph(\1, ">trier ", False) ~2>> *
__[i](p_venir)__
    (v[eiî]\w+) ((?:on ne sait|je ne sais) (?:pas |)(?:trop |)d’où) @@0,$
    <<- morph(\1, ">venir ", False) ~2>> *

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: 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: Elle est restée {{jeûne}}.
TEST: Mourir {{jeûne}} ne lui faisait pas peur.
TEST: Elles semblent {{jeûnes}}.


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



#
# //////////////////////////////////////// RÈGLES DE CONTRÔLE ////////////////////////////////////////
#


!!!! Redondances dans la phrase                                                                     
 
__[i]/redon2(redondances_phrase)__
    ({w_4})[ ,].* (\1)  @@0,$
    <<- not morph(\1, ":(?:G|V0)|>même ", False) -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)



!!
!!
!!!! Groupe nominal (1)                                                                             
!!
!!

#### 1 mot

## Usage impropre

__[s](au_le_nom)__
    ([aA]u le) ({w_2})  @@0,6   <<- morph(\2, ":[NAQ]", False) -1>> au          # Usage impropre. Après “au”, l’article “le” est inapproprié. (Ex : Je vais à la gare, je vais au stade.)
__[s](au_les_nom)__
    ([aA]u les) ({w_2})  @@0,7  <<- morph(\2, ":[NAQ]", False) -1>> aux         # Usage impropre. Après “au”, l’article “les” n’est pas nécessaire.
__[s](au_la)__
    ([aA]u) la ({w_2})  @@0,6   <<- morph(\2, ":[NAQ].*:[fe]", False) -1>> à    # Usage impropre. Avec un nom féminin, utilisez la préposition “à”. (Ex : Je vais à la gare, je vais au stade.)
__[i>(au_l)__
    ([aA]u) l’  @@0             <<- -1>> à                                      # Usage impropre. Ex : 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


__[i]/gn(gn_l_accord)__ l’({w_2})  @@$
    <<- morphex(\1, ":[NAQ].*:p", ":[123][sp]|:[si]")
    -1>> =suggSing(@)                                                                               # Accord de nombre erroné :  « \1 » devrait être au singulier.

TEST: toute l’importance de l’{{accords}} musical.


## Accords

__<i]/gn(gn_le_accord1)__
    , +(le) +({w_2})  @@w,$
    <<- morphex(\2, ":[NAQ].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -1>> =suggLesLa(\2)                 # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- __else__ and morph(\2, ":[NAQ].*:p") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
    <<- __also__ -1>> les                                                                           # Accord de nombre erroné : « \2 » est au pluriel.
__[i]/gn(gn_le_accord2)__
    ({w_1}) +(le) +({w_2})  @@0,w,$
    <<- morph(\2, ":D", False) >>>
    <<- morphex(\3, ":[NAQ].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)")
        or ( morphex(\3, ":[NAQ].*:f", ":[me]") and morphex(\1, ":R", ">(?:e[tn]|ou) ") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
    -2>> =suggLesLa(\3)                                                                             # Accord de genre erroné : « \3 » est féminin.
    <<- __also__ and hasMasForm(\3) -3>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \2 » est un déterminant masculin.
    <<- __else__ and morph(\3, ":[NAQ].*:p")
        or ( morphex(\3, ":[NAQ].*:p", ":[si]") and morphex(\1, ":[RC]", ">(?:e[tn]|ou)") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
    -3>> =suggMasSing(@)                                                                            # Accord de nombre erroné : « \3 » devrait être au singulier.
    <<- __also__ -2>> les                                                                           # Accord de nombre erroné : « \3 » est au pluriel.
__[i]/gn(gn_le_accord3)__
    ^ *(le) +({w_2}) @@*,$
    <<- morphex(\2, ":[NAQ].*:f", ":(?:e|m|P|G|W|Y)") -1>> =suggLesLa(\2)                           # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- __else__ and morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                      # Accord de nombre erroné : « \2 » devrait être au singulier.
    <<- __also__ -1>> les                                                                           # Accord de nombre erroné : « \2 » est au pluriel.

TEST: c’est une catastrophe, {{le}} {{profits}} a baissé ces deux derniers trimestres
TEST: {{Le}} démoralisation.                                  ->> La
TEST: {{Le}} Guyane française.                                ->> La
TEST: avec {{le}} {{pile}}
TEST: {{le}} {{publique}}
TEST: {{Le}} {{pendue}}


__[i]/gn(gn_ledit_accord)__
    (ledit) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":[GWme]") -1>> ladite                                            # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_un_accord)__
    (un) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":(?:e|m|G|W|V0|3s|Y)") -1>> une                                    # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") and not morph(word(-2), ":B", False) -2>> =suggMasSing(@) # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_un_des_accord)__
    (un) +des +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":(?:e|m|G|W|V0|3s)") -1>> une                                    # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasPlur(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
__[i]/gn(gn_du_accord)__
    (du) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":[GWme]") -1>> de la                                             # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_cet_accord)__
    (cet) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":[GWme]") -1>> cette                                             # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ">[bcçdfgjklmnpqrstvwxz].+:[NAQ].*:m", ":[efGW]") -1>> ce                       # Accord de genre correct, mais euphonie non respectée.|http://fr.wikipedia.org/wiki/Euphonie
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_ce_accord)__
    (ce) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":(?:3s|[GWme])") -1>> cette                                      # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ":[NAQ].*:f", ":[GWme]") and morph(\2, ":3s", False) -1>> cette|se              # Accord de genre erroné : « \2 » est féminin. Ou bien vous confondez le déterminant “ce” avec le pronom “se”.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_mon_ton_son_accord)__
    ([mts]on) +({w_2})  @@0,$
    <<- morph(\1, ":D", False) >>>
    <<- morphex(\2, ">[bcdfgjklmnpqrstvwxz].*:[NAQ].*:f", ":[GWme]") -1>> =\1.replace("on", "a")    # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_au_accord)__
    (au) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f:s", ":[GWme]") -1>> à la                                            # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggMasSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
    <<- __also__ -1>> aux                                                                           # Accord de nombre erroné : « \2 » est au pluriel.

TEST: ledit {{accords}} ne vaut rien.
TEST: {{au}} {{États-Unis}}
TEST: {{Un}} {{amie}}
TEST: {{Cet}} {{idiote}}.
TEST: {{cet}} ballon.                                         ->> ce
TEST: {{Ce}} animal.                                          ->> Cet
TEST: {{un}} des {{chattes}}
TEST: {{une}} des {{chats}}
TEST: {{mon}} {{chienne}}
TEST: cet {{oliviers}}
TEST: ce {{claviers}}
TEST: cette bouffe, c’est du {{chiens}}
TEST: le ton monte.
TEST: Ces enfants n’ont jamais vu quelqu’un lire.


__<i]/gn(gn_la_accord1)__
    , +(la) +({w_2})  @@w,$
    <<- morphex(\2, ":[NAQ].*:m", ":(?:e|f|P|G|W|[1-3][sp]|Y)") -1>> le                             # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- __else__ and morph(\2, ":[NAQ].*:p") -2>> =suggFemSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_la_accord2)__
    ({w_1}) +(la) +({w_2})  @@0,w,$
    <<- morph(\2, ":D", False) >>>
    <<- morphex(\3, ":[NAQ].*:m", ":(?:e|f|P|G|W|[1-3][sp]|Y)")
        or ( morphex(\3, ":[NAQ].*:m", ":[fe]") and morphex(\1, ":[RC]", ">(?:e[tn]|ou) ") and not (morph(\1, ":(?:Rv|C)", False) and morph(\3, ":Y", False)) )
    -2>> le                                                                                         # Accord de genre erroné : « \3 » est masculin.
    <<- __also__ and hasFemForm(\3) -3>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \2 » est un déterminant féminin.
    <<- __else__ and morph(\3, ":[NAQ].*:p")
        or ( morphex(\3, ":[NAQ].*:p", ":[si]") and morphex(\1, ":[RC]", ">(?:e[tn]|ou)") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
    -3>> =suggFemSing(@)                                                                            # Accord de nombre erroné : « \3 » devrait être au singulier.
__[i]/gn(gn_la_accord3)__
    ^ *(la) +({w_2})  @@*,$
    <<- morphex(\2, ":[NAQ].*:m", ":[efPGWY]") -1>> le                                              # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- __else__ and morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggFemSing(@)                      # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: c’est ennuyeux, la {{parties}} deux est ratée.
TEST: {{La}} Cameroun                                         ->> Le
TEST: {{La}} mustang est un cheval sauvage.                   ->> Le
TEST: {{La}} tableau.                                         ->> Le
TEST: dans la {{parties}}                                     ->> partie
TEST: de {{la}} vin                                           ->> le
TEST: {{la}} {{véhicule}}
TEST: {{La}} {{pris}}
TEST: la force de la {{formes}} parfaite


__[i]/gn(gn_ladite_accord)__
    (ladite) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":[efGW]") -1>> ledit                                             # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggFemSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: ladite {{passions}} l’avait conduit à sa perte.


__[i]/gn(gn_une_accord)__
    (une) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":(?:e|f|G|W|V0|3s|P)") and not ( \2 == "demi" and morph(word(1), ":N.*:f") )
    -1>> un                                                                                         # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") and not morph(word(-2), ":B", False) -2>> =suggFemSing(@) # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_une_des_accord)__
    (une) +des +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":(?:e|f|G|W|V0|3s)") -1>> un                                     # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemPlur(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.

TEST: un {{slashs}}                                           ->> slash
TEST: un {{fromages}}.                                        ->> fromage
TEST: Un {{ballons}}                                          ->> ballon
TEST: Une {{cinglées}}                                        ->> cinglée


__[i]/gn(gn_cette_accord)__
    (cette) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":[efGW]") -1>> =suggCeOrCet(\2)                                  # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemSing(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggFemSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_ma_ta_sa_accord)__
    ([mts]a) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":[efGW]") -1>> =\1.replace("a", "on")                            # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and not re.search("(?i)^[aâeéèêiîoôuûyœæ]", \2) and hasFemForm(\2)
    -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -2>> =suggFemSing(@)                                   # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: {{une}} des {{chats}}
TEST: {{ma}} {{parti}}
TEST: {{ma}} amour                                            ->> mon
TEST: {{une}} kyste                                           ->> un
TEST: {{Cette}} {{animal}} mort.


__[i]/gn(gn_certains_accord)__
    (certains) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":[emGWP]") -1>> certaines                                        # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasPlur(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.
    <<- (morphex(\2, ":[NAQ].*:s", ":(?:[ipGWP]|V0)")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)))
        or \1 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.
__[i]/gn(gn_certains_des_accord)__
    (certains) +des +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f", ":[emGW]") -1>> certaines                                         # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasMasForm(\2) -2>> =suggMasPlur(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant masculin.

__[i]/gn(gn_certaines_accord)__
    (certaines) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":[efGWP]") -1>> certains                                         # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemPlur(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.
    <<- (morphex(\2, ":[NAQ].*:s", ":[ipGWP]")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)))
        or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.
__[i]/gn(gn_certaines_des_accord)__
    (certaines) +des ({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m", ":[efGW]") -1>> certains                                          # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2) -2>> =suggFemPlur(@, True)                                      # Accord de genre erroné : « \1 » est un déterminant féminin.

TEST: Certaines {{danse}}
TEST: Certains {{chien}}
TEST: {{certains}} des {{nouvelles}} sont à côté de la plaque.
TEST: {{certaines}} des hommes
TEST: Un problème rapporté par certains est l’incapacité à trouver un partenaire


## Singuliers épicènes

__<i]/gn(gn_leur_accord1)__
    , +(leur) +({w_2})  @@w,$
    <<- morph(\2, ":[NAQ].*:p") -1>> leurs                                                          # Accord de nombre erroné avec « \2 ».
    <<- __also__ -2>> =suggSing(@)                                                                  # Accord de nombre erroné : « \2 » devrait être au singulier.
__[i]/gn(gn_leur_accord2)__
    ({w_1}) +(leur) +({w_2})  @@0,w,$
    <<- morph(\3, ":[NAQ].*:p")
        or ( morphex(\3, ":[NAQ].*:p", ":[si]") and morphex(\1, ":[RC]|>de ", ">(?:e[tn]|ou)") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False)) )
    -2>> leurs                                                                                      # Accord de nombre erroné avec « \3 ».
    <<- __also__ -3>> =suggSing(@)                                                                  # Accord de nombre erroné : « \3 » devrait être au singulier.
__<i]/gn(gn_leur_accord3)__
    ^ *(leur) +({w_2})  @@*,$
    <<- morphex(\2, ":[NAQ].*:p", ":[siGW]") -1>> leurs                                             # Accord de nombre erroné avec « \1 ».
    <<- __also__ -2>> =suggSing(@)                                                                  # Accord de nombre erroné : « \2 » 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}}


__[i]/gn(gn_notre_votre_chaque_accord)__
    (?:[nv]otre|chaque) +({w_2})  @@$
    <<- morphex(\1, ":[NAQ].*:p", ":[siGW]") -1>> =suggSing(@)                                      # Accord de nombre erroné : « \1 » devrait être au singulier.

TEST: Chaque {{chiens}}.                                      ->> chien


__[i]/gn(gn_quelque_accord)__
    (quelque) +({w_2})(?! que?)  @@0,$
    <<- morphex(\2, ":[NAQ].*:p", ":[siG]") -1>> quelques                                           # Il manque un “s” à « quelque » ou « \2 » doit être au singulier.

TEST: {{Quelque}} amis


## Pluriels épicènes

__<i]/gn(gn_les_accord1)__
    , (les) +({w_2})  @@w,$
    <<- ( morph(\2, ":[NAQ].*:s") and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)) )
        or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.
__[i]/gn(gn_les_accord2)__
    ({w_1}) +(les) +({w_2})  @@0,w,$
    <<- morph(\2, ":D", False) >>>
    <<- ( morph(\3, ":[NAQ].*:s")
        or (morphex(\3, ":[NAQ].*:s", ":[pi]|>avoir") and morphex(\1, ":[RC]", ">(?:e[tn]|ou) ") and not (morph(\1, ":Rv", False) and morph(\3, ":Y", False))) )
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False))
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \3 » devrait être au pluriel.
__[i]/gn(gn_les_accord3)__
    ^ *(les) +({w_2})  @@w,$
    <<- (morphex(\2, ":[NAQ].*:s", ":[ipYPGW]")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)))
        or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » 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


__[i]/gn(gn_leurs_accord)__
    (leurs) +({w_2})  @@0,$
    <<- (morphex(\2, ":[NAQ].*:s", ":(?:[ipGW]|[123][sp])")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)))
        or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
    <<- __also__ -1>> leur                                                                          # Accord de nombre erroné avec « \2 ».

TEST: {{leurs}} {{action}}
TEST: {{leur}} {{données}}


__[i]/gn(gn_det_pluriel_accord)__
    (?:[dmts]es|[nv]os|quelques|lesdits|moult) +({w_2})  @@$
    <<- (morphex(\1, ":[NAQ].*:s", ":[ipGW]")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False))) or \1 in aREGULARPLURAL
    -1>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \1 » 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


__[i]/gn(gn_ces_aux_pluriel_accord)__
    (ces|aux) +({w_2})  @@0,$
    <<- (morphex(\2, ":[NAQ].*:s", ":[ipGW]")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False))) or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \1 » devrait être au pluriel.
    <<- __also__ and morphex(\2, ">[bcdfglklmnpqrstvwxz].*:m", ":f") >>>
    <<- \1.endswith("x") or \1.endswith("X") -1>> au                                                # Accord de nombre erroné : « \2 » est au pluriel.
    <<- __else__ -1>> ce                                                                            # Accord de nombre erroné : « \2 » est au pluriel.

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


__[i]/gn(gn_plusieurs_accord)__
    plusieurs +({w_2})  @@$
    <<- (morphex(\1, ":[NAQ].*:s", ":[ipGWP]")
        and not (after("^ +(?:et|ou) ") and morph(word(2), ":[NAQ]", True, False)))
        or \1 in aREGULARPLURAL
    -1>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \1 » devrait être au pluriel.

TEST: plusieurs {{foi}} par jour.


## Cas particuliers

__[i]/gn(gn_det_plur_cas_particuliers)__
    (?:[cdmts]es|[nv]os|leurs) (même|point|son|ton) @@$ <<- -1>> \1s                                # 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


## Pluriel des groupes

__[i]/gn(gn_nombre_de_accord)__
    nombre d(?:e +|’)({w_2})  @@$
    <<- (morphex(\1, ":[NAQ].*:s", ":[ip]|>o(?:nde|xydation|or)\\b") and morphex(word(-1), ":(?:G|[123][sp])", ":[AD]", True))
        or \1 in aREGULARPLURAL
    -1>> =suggPlur(@)                                                                               # Ici, « nombre de » devrait probablement être suivi d’un pluriel.

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


__[i]/gn(gn_det_plur_groupe_de_accord)__
    (?:[ldcsmt]es|leurs|nos|vos|quelques) (?:centaine|milli(?:er|ion|iard)|d(?:ix|ouz)aine|multitude|horde)s? +d(?:e +|’)({w_2})  @@$
    <<- morphex(\1, ":[NAQ].*:s", ":[ip]") or \1 in aREGULARPLURAL
    -1>> =suggPlur(@)                                                                               # Mettre au pluriel.

TEST: des centaines de {{bête}} à cornes passèrent devant nous.


__[i]/gn(gn_det_sing_groupe_de_accord)__
    (?:une?|l[ea]|ce(?:tte|)|s(?:on|a)|m(?:on|a)|t(?:on|a)) (?:centaine|milli(?:er|ion|iard)|d(?:ix|ouz)aine|multitude|horde) d(?:e +|’)({w_2}) @@$
    <<- morphex(\1, ":[NAQ].*:s", ":[ip]") or \1 in aREGULARPLURAL
    -1>> =suggPlur(@)                                                                               # Mettre au pluriel.

TEST: une multitude d’{{homme}}                               ->> hommes


## quelque adverbe

__[i]/gn(gn_quelque_adverbe1)__
    quelques(?= \d+) <<- ->> quelque                                                                # Devant un nombre, « quelque » est un adverbe, donc invariable.
__[i]/gn(gn_quelque_adverbe2)__
    (quelques) +({w1}) @@0,$
    <<- morph(\2, ":B.*:p", False) and \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

__[i]/gn(gn_nombre_lettres_accord)__
    (d(?:eux|ix|ouze)|tr(?:ois|eize)|qua(?:tre(?:-vingt(?:s|-dix)|)|torze|rante)|cinq(?:uante|)|six|sept(?:ante|)|huit(?:ante|)|onze|quinze|seize|vingt|trente|soixante(?:-dix|)|cents?|octante|nonante) +({w_2})  @@0,$
    <<- (morph(\2, ":[NAQ].*:s")
        and not re.search("(?i)^(janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|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)$", \2))
        or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # 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.


__[i]/gn(gn_neuf_accord)__
    (neuf) +({w_2})  @@0,$
    <<- (morph(\2, ":[NAQ].*:s") and not morph(word(-1), ":N", False)
        and not re.search("(?i)^(janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|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)$", \2))
        or \2 in aREGULARPLURAL
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.

TEST: Il a abandonné neuf {{enfant}}.


__[i]/gn(gn_mille_accord)__
    mille +({w_2})  @@$
    <<- (morph(\1, ":[NAQ].*:s") or \1 in aREGULARPLURAL) and not before(r"(?i)\b(?:le|un|ce|du) +$")
    -1>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « mille » : « \1 » devrait être au pluriel.

TEST: On peut trouver mille {{travailleur}} d’un claquement de doigts.


__[i]/gn(gn_01_accord)__
    [01] ({w_2})  @@$
    <<- morph(\1, ":[NAQ].*:p")
        and not re.search("(?i)^(janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|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|Rois|Corinthiens|Thessaloniciens)$", \1)
    -1>> =suggSing(@)                                                                               # Accord de nombre erroné : « \1 » devrait être au singulier.

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


__[i]/gn(gn_nombre_chiffres_accord)__
    (?<!/)(\d+) ({w_2})  @@0,$
    <<- not re.search("^0*[01]$", \1)
        and ((morph(\2, ":[NAQ].*:s") and not re.search("(?i)^(janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|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)$", \2))
        or \1 in aREGULARPLURAL)
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné : « \2 » devrait être au pluriel.

TEST: 22 {{heure}}
TEST: 3 {{heure}}


## quel / quels / quelle / quelles
__[i]/gn(gn_quel_accord)__
    (quel) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f:p", ":(?:V0e|[NAQ].*:[me]:[si])")       -1>> quelles                # Accord de genre et de nombre erroné : « \2 » est féminin et au pluriel.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggMasSing(@, True)  # Accord de genre et de nombre erroné : « \1 » est masculin et au singulier.
    <<- morphex(\2, ":[NAQ].*:m:p", ":(?:V0e|[NAQ].*:[me]:[si])")       -1>> quels                  # Accord de nombre erroné : « \2 » est au pluriel.
    <<- __also__                                                        -2>> =suggSing(@)           # Accord de nombre erroné : « \1 » est au singulier.
    <<- morphex(\2, ":[NAQ].*:f:[si]", ":(?:V0e|[NAQ].*:[me]:[si])")    -1>> quelle                 # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggMasSing(@, True)  # Accord de genre erroné : « \1 » est masculin.
__[i]/gn(gn_quels_accord)__
    (quels) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:f:s", ":(?:V0e|[NAQ].*:[me]:[pi])")       -1>> quelle                 # Accord de genre et de nombre erroné : « \2 » est féminin et au singulier.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggMasPlur(@, True)  # Accord de genre et de nombre erroné : « \1 » est masculin et au pluriel.
    <<- morphex(\2, ":[NAQ].*:m:s", ":(?:V0e|[NAQ].*:[me]:[pi])")       -1>> quel                   # Accord de nombre erroné : « \2 » est au singulier.
    <<- __also__                                                        -2>> =suggPlur(@)           # Accord de nombre erroné : « \1 » est au pluriel.
    <<- morphex(\2, ":[NAQ].*:f:[pi]", ":(?:V0e|[NAQ].*:[me]:[pi])")    -1>> quelles                # Accord de genre erroné : « \2 » est féminin.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggMasPlur(@, True)  # Accord de genre erroné : « \1 » est masculin.
__[i]/gn(gn_quelle_accord)__
    (quelle) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m:p", ":(?:V0e|[NAQ].*:[fe]:[si])")       -1>> quels                  # Accord de genre et de nombre erroné : « \2 » est masculin et au pluriel.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggFemSing(@, True)  # Accord de genre et de nombre erroné : « \1 » est féminin et au singulier.
    <<- morphex(\2, ":[NAQ].*:f:p", ":(?:V0e|[NAQ].*:[fe]:[si])")       -1>> quelles                # Accord de nombre erroné : « \2 » est au pluriel.
    <<- __also__                                                        -2>> =suggSing(@)           # Accord de nombre erroné : « \1 » est au singulier.
    <<- morphex(\2, ":[NAQ].*:m:[si]", ":(?:V0e|[NAQ].*:[fe]:[si])")    -1>> quel                   # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggFemSing(@, True)  # Accord de genre erroné : « \1 » est féminin.
__[i]/gn(gn_quelles_accord)__
    (quelles) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:m:s", ":(?:V0e|[NAQ].*:[fe]:[pi])")       -1>> quel                   # Accord de genre et de nombre erroné. « \2 » est masculin et au singulier.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggFemPlur(@, True)  # Accord de genre et de nombre erroné : « \1 » est féminin et au pluriel.
    <<- morphex(\2, ":[NAQ].*:f:s", ":(?:V0e|[NAQ].*:[fe]:[pi])")       -1>> quelle                 # Accord de nombre erroné : « \2 » est au singulier.
    <<- __also__                                                        -2>> =suggPlur(@)           # Accord de nombre erroné : « \1 » est au pluriel.
    <<- morphex(\2, ":[NAQ].*:m:[pi]", ":(?:V0e|[NAQ].*:[fe]:[pi])")    -1>> quels                  # Accord de genre erroné : « \2 » est masculin.
    <<- __also__ and hasFemForm(\2)                                     -2>> =suggFemPlur(@, True)  # Accord de genre erroné : « \1 » est féminin.

TEST: {{Quelle}} homme.                                       ->> Quel
TEST: {{Quel}} femme.                                         ->> Quelle
TEST: {{Quels}} chanson.                                      ->> Quelle
TEST: {{Quelles}} {{tarés}}.
TEST: Quelle sale journée…
TEST: Quelles drôles de prunes


__[i]/gn(gn_quel_quel_accord_être)__
    (quel(?:le|)) (sont|étaient|ser(?:o|aie)nt|fu(?:r|ss)ent)  @@0,$
    <<- not before(r"\btel(?:le|)s? +$")
    -1>> \1s                                                                                        # Accord de nombre erroné avec “\2”.

__[i]/gn(gn_quels_quelles_accord_être)__
    (quel(?:le|)s) (est|étai[ts]|serai?t|f[uû][ts])  @@0,$
    <<- not before(r"\btel(?:le|)s? +$")
    -1>> =\1[:-1]                                                                                   # Accord de nombre erroné avec “\2”.

__[i]/gn(gn_quel_accord_être_sujet)__
    (quel) (?:est|était|sera(?:i[ts]|)|f[uû][ts]) (la|cette|[mts](?:a|on)|[vn]otre) +({w_2})  @@0,w,$
    <<- not before(r"\btel(?:le|)s? +$") and morphex(\3, ":[NAQ].*:f", ":[me]")
    -1>> quelle                                                                                     # Accord de genre erroné avec « \2 \3 ».

__[i]/gn(gn_quelle_accord_être_sujet)__
    (quelle) (?:est|était|sera(?:i[ts]|)|f[uû][ts]) (le|cet?|[mts]on|[vn]otre) +({w_2})  @@0,w,$
    <<- not before(r"\btel(?:le|)s? +$") and morphex(\3, ":[NAQ].*:m", ":[fe]")
    -1>> quel                                                                                       # Accord de genre erroné avec « \2 \3 ».

__[i]/gn(gn_quels_accord_être_sujet)__
    (quels) (?:sont|étaient|ser(?:o|aie)nt|fu(?:r|ss)ent) (les|ces|[mts]es|[vn]os) +({w_2})  @@0,w,$
    <<- not before(r"\btel(?:le|)s? +$") and morphex(\3, ":[NAQ].*:f", ":[me]")
    -1>> quelles                                                                                    # Accord de genre erroné avec « \2 \3 ».

__[i]/gn(gn_quelles_accord_être_sujet)__
    (quelles) (?:sont|étaient|ser(?:o|aie)nt|fu(?:r|ss)ent) (les|ces|[mts]es|[vn]os) +({w_2})  @@0,w,$
    <<- not before(r"\btel(?:le|)s? +$") and morphex(\3, ":[NAQ].*:m", ":[fe]")
    -1>> quels                                                                                      # Accord de genre erroné avec « \2 \3 ».

TEST: {{Quel}} sont ces hommes.                               ->> Quels
TEST: {{Quel}} est cette force ?                              ->> Quelle
TEST: {{Quelle}} est mon animal favori ?                      ->> Quel
TEST: {{Quels}} sont ces femmes ?                             ->> Quelles
TEST: {{Quelles}} est cette imbécillité ?                     ->> Quelle
TEST: {{Quelles}} sont ces hommes ?                           ->> Quels
TEST: Il s’agit de définir quelle est notre propre orientation.


#### Quel(le) que soit …

## masculin requis
__[i]/gn(gn_quel_que_être_mas_sing)__
    (quelle) que ([sf]\w+) +(le|cet?) +({w_2})  @@0,w,w,$
    <<- morph(\2, ":V0e", False)
    -1>> quel                                                                                       # Accord de genre avec « \3 \4 ». Utilisez le masculin.
__[i]/gn(gn_quel_que_être_mas)__
    (quelles?) que ([sf]\w+) +(ces|[mts](?:on|ses)|[nv]o(?:tre|s)|leurs?) +({w_2})  @@0,w,w,$
    <<- morph(\2, ":V0e", False) and morphex(\4, ":[NAQ].*:m", ":[fe]")
    -1>> =\1.replace("lle", "l")                                                                    # Accord de genre avec « \3 \4 ». Utilisez le masculin.

TEST: {{quelle}} que soit le chien                            ->> quel
TEST: {{Quelles}} que soient ces intérêts                     ->> Quels
TEST: {{Quelle}} que soit le truc.                            ->> Quel
TEST: {{Quelle}} que soient les astuces.                      ->> Quelles


## féminin requis
__[i]/gn(gn_quelle_que_être_fem_sing)__
    (quel) que ([sf]\w+) +(la|cette|[mts]a) +({w_2})  @@0,w,w,$
    <<- morph(\2, ":V0e", False)
    -1>> quelle                                                                                     # Accord de genre avec « \3 \4 ». Utilisez le féminin.
__[i]/gn(gn_quelle_que_être_fem)__
    (quels?) que ([sf]\w+) +(ces|[mts](?:on|ses)|[nv]o(?:tre|s)|leurs?) +({w_2})  @@0,w,w,$
    <<- morph(\2, ":V0e", False) and morphex(\4, ":[NAQ].*:f", ":[me]")
    -1>> =\1.replace("l", "lle")                                                                    # Accord de genre avec « \3 \4 ». Utilisez le féminin.

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


##  trouver ça/ceci/cela + adj
__[i]/gn(gn_trouver_ça_adj)__
    (trouv\w+) +(ça|ce(?:ci|la)) +({w_2})  @@0,w,$
    <<- morph(\1, ">trouver ", False) and morphex(\3, ":A.*:(?:f|m:p)", ":(?:G|3[sp]|M[12P])")
    -3>> =suggMasSing(@)                                                                            # Trouver \2 + [adjectif] : l’adjectif s’accorde avec “\2” (au masculin singulier).

TEST: ils trouvent ça de plus en plus {{idiots}}              ->> idiot



!!
!!
!!!! Groupe nominal (2)                                                                             
!!
!!

## Sans article

__[i]/gn(gn_2m_accord)__
    ^ *({w_2}) +({w_2})  @@*,$
    <<- ((morph(\1, ":[NAQ].*:m") and morph(\2, ":[NAQ].*:f")) or (morph(\1, ":[NAQ].*:f") and morph(\2, ":[NAQ].*:m"))) and not apposition(\1, \2)
    -2>> =switchGender(@)                                                                           # Accord de genre erroné avec « \1 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- ((morph(\1, ":[NAQ].*:s") and morph(\2, ":[NAQ].*:p")) or (morph(\1, ":[NAQ].*:p") and morph(\2, ":[NAQ].*:s"))) and not apposition(\1, \2)
    -2>> =switchPlural(@)                                                                           # Accord de nombre erroné avec « \1 ».
    <<- __also__ -1>> =switchPlural(@)                                                              # Accord de nombre erroné avec « \2 ».

TEST: {{Femmes}} {{intelligente}}.
TEST: {{Homme}} {{impatients}}.


## Prépositions

__[i]/gn(gn_2m_pfx_en)__
    en +({w_2}) +({w_2})  @@w,$
    <<- ( (morph(\1, ":[NAQ].*:m") and morph(\2, ":[NAQ].*:f")) or (morph(\1, ":[NAQ].*:f") and morph(\2, ":[NAQ].*:m")) )
        and not apposition(\1, \2) and morph(word(-1), ":[VRX]", True, True)
    -2>> =switchGender(@)                                                                           # Accord de genre erroné avec « \1 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- ( (morph(\1, ":[NAQ].*:p") and morph(\2, ":[NAQ].*:s")) or (morph(\1, ":[NAQ].*:s") and morph(\2, ":[NAQ].*:p")) )
        and not apposition(\1, \2) and morph(word(-1), ":[VRX]", True, True)
    -2>> =switchPlural(@)                                                                           # Accord de nombre erroné avec « \1 ».
    <<- __also__ -1>> =switchPlural(@)                                                              # Accord de nombre erroné avec « \2 ».

TEST: en homme {{courtoise}}
TEST: en {{femme}} {{cultivées}}


__[i]/gn(gn_2m_pfx_à_par_pour_sans)__
    (?:à|par|pour|sans) +({w_2}) +({w_2})  @@w,$
    <<- ( (morphex(\1, ":[NAQ].*:m", ":[GYfe]") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":[GYme]") and morph(\2, ":[NAQ].*:m")) )
        and not apposition(\1, \2) and morph(word(-1), ":[VRX]", True, True)
    -2>> =switchGender(@)                                                                           # Accord de genre erroné avec « \1 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- ( (morphex(\1, ":[NAQ].*:p", ":[GYsi]") and morph(\2, ":[NAQ].*:s")) or (morphex(\1, ":[NAQ].*:s", ":[GYpi]") and morph(\2, ":[NAQ].*:p")) )
        and not apposition(\1, \2) and morph(word(-1), ":[VRX]", True, True)
    -2>> =switchPlural(@)                                                                           # Accord de nombre erroné avec « \1 ».
    <<- __also__ -1>> =switchPlural(@)                                                              # Accord de nombre erroné avec « \2 ».

TEST: à {{grande}} {{enjambées}}
TEST: pour {{belle}} {{appartement}}


__[i]/gn(gn_2m_pfx_de_sur_avec_après)__
    (?:de|sur|avec|après) +({w_2}) +({w_2})  @@w,$
    <<- ( (morphex(\1, ":[NAQ].*:m", ":(?:[Gfe]|V0e|Y)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:[Gme]|V0e|Y)") and morph(\2, ":[NAQ].*:m")) )
        and not apposition(\1, \2) and morph(word(-1), ":[VRX]", True, True)
    -2>> =switchGender(@)                                                                           # Accord de genre erroné avec « \1 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- ( (morphex(\1, ":[NAQ].*:p", ":(?:[Gsi]|V0e|Y)") and morph(\2, ":[NAQ].*:s")) or (morphex(\1, ":[NAQ].*:s", ":(?:[Gpi]|V0e|Y)") and morph(\2, ":[NAQ].*:p")) )
        and not apposition(\1, \2) and morph(word(-1), ":[VRX]", True, True)
    -2>> =switchPlural(@)                                                                           # Accord de nombre erroné avec « \1 ».
    <<- __also__ -1>> =switchPlural(@)                                                              # Accord de nombre erroné avec « \2 ».

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}}.
TEST: Après être demeurée assise pendant quelque temps, elle se leva
TEST: ils choisissent de devenir indépendants

__[i]/gn(gn_de_manière_façon)__
    de +(manière|façon) +({w_3})  @@w,$
    <<- morphex(\2, ":A.*:(m|f:p)", ":[GM]") -2>> =suggFemSing(@)                                   # Accord erroné avec “\1” : 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}}.


## l’

__[i]/gn(gn_2m_l)__
    (?<!et |ou |de )l’({w_2}) +({w_2})  @@2,$
    <<- not re.search("(?i)^air$", \1) and not \2.startswith("seul")
        and ( (morph(\1, ":m") and morph(\2, ":[NAQ].*:f")) or (morph(\1, ":f") and morph(\2, ":[NAQ].*:m")) )
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \1 » et « \2 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- not re.search("(?i)^air$", \1) and not \2.startswith("seul")
        and morph(\1, ":[si]") and morph(\2, ":[NAQ].*:p")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_l_après_et_ou_de)__
    (?:et|ou|de) +l’({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and ( (morph(\1, ":m") and morph(\2, ":[NAQ].*:f")) or (morph(\1, ":f") and morph(\2, ":[NAQ].*:m")) )
        and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]", False, False)
    -2>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \1 » et « \2 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- not re.search("(?i)^air$", \1) and not \2.startswith("seul")
        and morph(\1, ":[si]") and morph(\2, ":[NAQ].*:p")
        and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]", False, False)
    -2>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
    
TEST: L’{{amande}} {{amer}}
TEST: l’{{amicale}} {{animal}}
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
TEST: du chien et de l’{{étonnante}} {{collier}} qu’il avait autour du cou.


## un / une

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

TEST: un exercice pas très {{utiles}}.                        ->> utile
TEST: un homme {{grands}}                                     ->> grand
TEST: un homme {{futiles}}                                    ->> futile
TEST: Une femme {{laconiques}}.                               ->> laconique
TEST: je me souviens d’un homme {{arrogants}}
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.


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

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: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes.


## articles divers

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


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


__[i]/gn(gn_2m_mon_ton_son)__
    (?<!et |ou |de )[mts]on +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:m", ":(?:B|G|e|V0|f)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- not \2.startswith("seul") 
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_mon_ton_son_après_et_ou_de)__
    (?:et|ou|de) +[mts]on +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:m", ":(?:B|G|e|V0|f)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » 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}}


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

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


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


__[i]/gn(gn_2m_leur)__
    (?<!et |ou |de )(leur) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \3 ».
    <<- not \3.startswith("seul")
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
__[i]/gn(gn_2m_leur_après_et_ou_de)__
    (?:et|ou|de) +(leur) +({w_2}) +({w_2})  @@w,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -3>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \3 ».
    <<- not \3.startswith("seul")
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\2, \3) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -3>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.

TEST: leur puissance {{perdues}}
TEST: leur arbre {{élaguée}}
TEST: je me souviens de leur verve {{décalé}}
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.


__[i]/gn(gn_2m_det_epi_sing)__
    (?<!et |ou |de )(?:chaque|quelque|[nv]otre) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul") and not re.search("(?i)^quelque chose", \0)
        and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \1 » et « \2 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \2 ».
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_det_epi_sing_après_et_ou_de)__
    (?:et|ou|de) +(?:chaque|quelque|[nv]otre) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul") and not re.search("(?i)quelque chose", \0)
        and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
        and not apposition(\1, \2)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -2>> =switchGender(@, False)                                                                    # Accord de genre erroné entre « \1 » et « \2 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@, False)                                    # Accord de genre erroné avec « \2 ».
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -2>> =suggSing(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.

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


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

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


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

TEST: certaines idioties {{stupide}}
TEST: je ne sais guère de quelles âneries {{proférés}} on parle.

__[i]/gn(gn_2m_les)__
    (?<!et |ou )(les) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
    <<- \2 != "fois" and not \3.startswith("seul")
        and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
        and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not before(r"(?i)\bune? de ")
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.
__[i]/gn(gn_2m_les_après_et_ou_de)__
    (?:et|ou) +(les) +({w_2}) +({w_2})  @@w,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
    <<- \2 != "fois" and not \3.startswith("seul")
        and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
        and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not ( before(r"(?i)\bune? de ") or (\0.startswith("de") and before(r"(?i)\bune? +$")) )
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.

TEST: les pitres {{imbécile}}
TEST: il faut en convenir et les femmes {{oubliés}}


__[i]/gn(gn_2m_det_epi_plur)__
    (?<!et |ou |de )(?:[cmts]es|[nv]os|leurs|quelques|plusieurs|aux|moult) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \1 » et « \2 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \2 ».
    <<- \1 != "fois" and not \2.startswith("seul")
        and morph(\1, ":[NAQ].*:[pi]", False) and morph(\2, ":[NAQ].*:s")
        and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not before(r"(?i)\bune? de ")
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
__[i]/gn(gn_2m_det_epi_plur_après_et_ou_de)__
    (?:et|ou|de) +(?:[cmts]es|[nv]os|leurs|quelques|plusieurs|aux|moult) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and ((morphex(\1, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\2, ":[NAQ].*:m")))
        and not apposition(\1, \2)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -2>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \1 » et « \2 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \2 ».
    <<- \1 != "fois" and not \2.startswith("seul")
        and morph(\1, ":[NAQ].*:[pi]", False) and morph(\2, ":[NAQ].*:s")
        and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not ( before(r"(?i)\bune? de ") or (\0.startswith("de") and before(r"(?i)\bune? +$")) )
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.

TEST: ces {{beaux}} {{institutions}}
TEST: de vos défauts {{terrible}}, je connais presque tout.
TEST: Les éléments caractéristiques liés à ses valeurs historique et architecturale


## des

__[i]/gn(gn_2m_des)__
    des +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and ( (morphex(\1, ":[NAQ].*:m", ":[fe]") and morph(\2, ":[NAQ].*:f")) or (morphex(\1, ":[NAQ].*:f", ":[me]") and morph(\2, ":[NAQ].*:m")) )
        and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and morph(word(-1), ":[VRBX]|>comme ", True, True)
    -2>> =switchGender(@, True)                                                                     # Accord de genre erroné avec « \1 ».
    <<- __also__ and hasFemForm(\1) -1>> =switchGender(@)                                           # Accord de genre erroné avec « \2 ».
    <<- morph(\1, ":[NAQ].*:[pi]", False) and morph(\2, ":[NAQ].*:s")
        and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and (morphex(\2, ":N", ":[AQ]") or morph(word(-1), ":[VRBX]|>comme ", True, True))
    -2>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
    <<- checkAgreement(\1, \2) =>> =exclude(\2, ":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.



!!
!!
!!!! Groupe nominal (3)                                                                             
!!
!!

## nombre

__[i]/gn(gn_3m)__
    ^ *({w_2}) +({w_2}) +({w_3})  @@*,w,$
    <<- (morph(\1, ":[NAQ].*:p") and morph(\2, ":[NAQ].*:[pi]") and morph(\3, ":[NAQ].*:s"))
        or (morph(\1, ":[NAQ].*:s") and morph(\2, ":[NAQ].*:[si]") and morph(\3, ":[NAQ].*:p"))
    -3>> =switchPlural(@)                                                   # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.

TEST: Grande manifestation {{réprimées}} dans le sang.


__[i]/gn(gn_3m_les)__
    (les) +({w_2}) +({w_2}) +({w_3})  @@0,w,w,$
    <<- morph(\1, ":D", False)
        and morph(\2, ":[NAQ].*:[pi]") and morph(\3, ":[NAQ].*:[pi]") and morph(\4, ":[NAQ].*:s")
    -4>> =suggPlur(@)                                                       # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: les heureux imbéciles {{payé}} au lance-pierre.


__[i]/gn(gn_3m_le_la)__
    ^ *(l(?:e(?:ur|)|a)) +({w_2}) +({w_2}) +({w_3})  @@*,w,w,$
    <<- morph(\1, ":D", False)
        and morph(\2, ":[NAQ].*:[si]", False) and morphex(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p")
    -4>> =suggSing(@)                                                       # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.

TEST: leur grande passion {{délirantes}} pour le cosplay.


__[i]/gn(gn_3m_det_sing)__
    ^ *(l(?:edit|adite)|une?|ce(?:t|tte|)|[mts](?:on|a)|[nv]otre|au|quel(?:le|)) +({w_2}) +({w_2}) +({w_3})  @@*,w,w,$
    <<- morph(\2, ":[NAQ].*:[si]", False) and morphex(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p")
    -4>> =suggSing(@)                                                       # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.

TEST: un gros connard {{pathétiques}}
TEST: le jour venu prises par surprise elles durent s’enfuir.


__[i]/gn(gn_3m_det_plur)__
    ([cmts]es|[nv]os|leurs|quel(?:que|le|)s|plusieurs|certaine?s|lesdite?s|aux|moult) +({w_2}) +({w_2}) +({w_3})  @@0,w,w,$
    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":[NAQ].*:[pi]", ":G") and morph(\4, ":[NAQ].*:s")
        and not before(r"(?i)\bune? de ")
    -4>> =suggPlur(@)                                                       # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.

TEST: ces petites sottes {{déjantée}}



!!
!!
!!!! Groupe nominal: Accords avec de / des / du                                                     
!!
!!

__[i]/gn(gn_devinette1)__
    (?:[lmts]a|une|cette) +{w_2} +d(?:e (?:[lmts]a|cette)|’une) +(?!des )({w_2}) +({w_2})  @@w,$
    <<- morphex(\2, ":[NAQ].*:(?:m|f:p)", ":(?:G|P|[fe]:[is]|V0|3[sp])") and not apposition(\1, \2)
    -2>> =suggFemSing(@, True)                                                              # Accord erroné : « \2 » devrait être au féminin singulier.

__[i]/gn(gn_devinette2)__
    (?:le|un|cet?) +{w_2} +d(?:e cet?|u|’un) +(?!des )({w_2}) +({w_2})  @@w,$
    <<- morphex(\2, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\1, \2)
    -2>> =suggMasSing(@, True)                                                              # Accord erroné : « \2 » devrait être au masculin singulier.

__[i]/gn(gn_devinette3)__
    (?:le|un|cet?) +{w_2} +de [mts]on +({w_2}) +({w_2})  @@w,$
    <<- not morph(\1, ":[NAQ].*:f|>[aéeiou].*:e", False) and morphex(\2, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|m:[is]|V0|3[sp])") and not apposition(\1, \2)
    -2>> =suggMasSing(@, True)                                                              # Accord erroné : « \2 » devrait être au masculin singulier.

__[i]/gn(gn_devinette4)__
    [mts]on +({w_2}) +d(?:e cet?|u|’un) +(?!des )({w_2}) +({w_2})  @@w,w,$
    <<- morphex(\1, ":[NAQ].*:m", ":G|>[aéeiou].*:[ef]")
        and morphex(\3, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\2, \3)
    -3>> =suggMasSing(@, True)                                                              # Accord erroné : « \3 » devrait être au masculin singulier.

__[i]/gn(gn_devinette5)__
    [mts]on +({w_2}) +de [mts]on +({w_2}) +({w_2})  @@w,w,$
    <<- morphex(\1, ":[NAQ].*:m", ":G|>[aéeiou].*:[ef]")
        and not morph(\2, ":[NAQ].*:f|>[aéeiou].*:e", False) and morphex(\3, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\2, \3)
    -3>> =suggMasSing(@, True)                                                              # Accord erroné : « \3 » devrait être au masculin singulier.

__[i]/gn(gn_devinette6)__
    (?:[lmtsc]es|[nv]os|leurs|quelques) +{w_2} +de(?: (?:[mtsc]es|[nv]os|leurs)|s) +({w_2}) +({w_2})  @@w,$
    <<- morphex(\2, ":[NAQ].*:s", ":(?:G|P|[me]:[ip]|V0|3[sp])") and not apposition(\1, \2)
    -2>> =suggPlur(@)                                                                       # Accord erroné : « \2 » devrait être au pluriel.

#__[i]/gn__  (?:l[ea]|une?|ce(?:tte|t|)|[mts](?:on|a)|[nv]otre|leur) +{w_2} +d(?:e(?: (?:la|ce(?:tte|t|)|[mts](?:on|a)|[nv]otre|leur) +|’une? +|)|u +)({w_2}) +({w_2})  @@w,$
#    <<- morphex(\2, ":[NAQ].*:p", ":(?:G|P|[is]|V0|3[sp])") and not apposition(\1, \2)
#    -2>> =suggSing(@)                                                                       # Accord erroné : « \2 » 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: Les hommes des mines {{voisin}}                           ->> voisins
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: Lutter contre le chômage de masse avec les armes des travailleurs reste pour nous une priorité.


## divers
__[i]/gn(gn_de_telle_sorte)__
    de tel(?:s? sorte(?:s|nt|)|les sorte(?:s|nt|)|le sorte(?:s|nt))
    <<- ->> de telle sorte                                                                          # Accord erroné.

TEST: {{de telles sorte}}



!!
!!
!!!! 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
__<i]/sgpl(sgpl_prep_compris_det)__
    ^ *((Compris|Non[- ]compris)es?) +(?:l(?:e(?:ur|)s?|a)|ce(?:t(?:te|)|s|)|[mts](?:on|a|es)|[nv]o(?:tre|s))  @@*,*
    <<- -1>> \2                                                                                     # Considéré comme préposition, invariable.
__<i]/sgpl(sgpl_prep_entendu_det)__
    ^ *((Entendu|Excepté|Ôté|Supposé|Passé)(?:es?|s)) +(?:l(?:e(?:ur|)s?|a)|ce(?:t(?:te|)|s|)|[mts](?:on|a|es)|[nv]o(?:tre|s))  @@*,*
    <<- -1>> \2                                                                                     # Considéré comme préposition, invariable.
__[i]/sgpl(sgpl_prep_attendu_que)__
    (attendu(?:es?|s)) que? @@0                         <<- isStart() -1>> attendu                  # Considéré comme préposition, invariable.
__[i]/sgpl(sgpl_prep_étant_donné)__
    étant donné(?:es?|s)                                <<- isStart() ->> étant donné               # Considéré comme préposition, invariable.
__[i]/sgpl(sgpl_prep_vu_det)__
    (vu(?:es?|s)) (?:l(?:e(?:ur|)s?|a)|ce(?:t(?:te|)|s|)|[mts](?:on|a|es)|[nv]o(?:tre|s)|que?) @@0
    <<- isStart() -1>> vu                                                                           # Considéré comme préposition, invariable.

TEST: {{comprises}} mes prestations sur place
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…


#### Nombres cardinaux

# vingt
__[i]/sgpl(sgpl_vingt)__
    vingts <<- not before(r"(?i)\bquatre $") ->> vingt                                              # “Vingt” ne prend la marque du pluriel que dans “quatre-vingts”.
__[i]/sgpl(sgpl_quatre_vingt)__
    quatre[- ]vingt
    <<- not morph(word(1), ":B", False) and not before(r"(?i)\b(?:numéro|page|chapitre|référence|année|test|série)s? +$")
    ->> quatre-vingts                                                                               # Mettre « vingt » au pluriel, excepté s’il s’agit d’une référence (page, chapitre, année…).
__[i]/sgpl(sgpl_quatre_vingt_x)__
    quatre-(vingts)-(?:deux|trois|quatre|cinq|six|sept|huit|neufs?|dix|onze|douze|treize|quatorze|quinze|seize)  @@7
    <<- -1>> 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
__[i]/sgpl(sgpl_xxx_neuf)__
    (?:dix|vingt|trente|quarante|cinquante|soixante(?:-dix|)|quatre-vingt(?:-dix|))-neufs
    <<- ->> =\0[:-1]                                                                                # Pas de “s”.

TEST: par {{trente-neufs}} degrés.


# cent
__[i]/sgpl(sgpl_xxx_cents)__
    (?:deux|trois|quatre|cinq|six|sept|huit|neuf) (cent)  @@$
    <<- not morph(word(1), ":B|>une?", False, True) and not before(r"(?i)\b(?:numéro|page|chapitre|référence|année|test|série)s? +$")
    -1>> 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
__[i]/sgpl(sgpl_xxx_cent)__
    (?:deux|trois|quatre|cinq|six|sept|huit|neuf|mille) (cents)  @@$
    <<- morph(word(1), ":B|>une?", False, False)
    -1>> cent                       # Nombre cardinal : pas de “s” à “cent” (hormis sur les centaines entières).|http://fr.wiktionary.org/wiki/cent
__[i]/sgpl(sgpl_cents_nom)__
    (cents) ({w_2})  @@0,6
    <<- morphex(\2, ":[NAQ].*:[pi]", ":G") and morphex(word(-1), ":[VR]", ":B", True)
    -1>> cent                       # Nombre cardinal : pas de “s” à “cent” (hormis sur les centaines entières).|http://fr.wiktionary.org/wiki/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
__[i]/sgpl(sgpl_mille)__
    milles
    <<- morphex(word(1), ":B|:N.*:p", ":[QA]", False) or (morph(word(-1), ":B") and morph(word(1), ":[NAQ]", False))
    ->> 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.

__[i]/sgpl(sgpl_carnet_de)__
    carnets? de (chèque|note|timbre|ticket|vacance) @@$ <<- -1>> \1s                      # Il manque un “s”. Il y en a plusieurs dans un carnet.
__[i]/sgpl(sgpl_collectif_de)__
    collectifs? d(?:e |’)(artiste|architecte|association|citoyen(?:ne|)|con(?:ne|)|consommat(?:eur|rice)|enfant|entreprise|femme|fille|garçon|homme|infirmière|jeune|médecin|motarde?|passionnée?|prostituée?|touriste|travailleu(?:r|se)|vieill(?:e|ard)) @@$
    <<- morph(word(-1), ":D.*:[si]", False, True) -1>> \1s                                          # Il manque un “s”. Il y en a plusieurs dans un collectif.
__[i]/sgpl(sgpl_collection_de)__
    collections? d(?:e |’)(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) @@$
    <<- -1>> \1s                                                                                    # Il manque un “s”. Il y en a plusieurs dans une collection.
__[i]/sgpl(sgpl_concours_de_circonstances)__
    concours de (circonstance)  @@$ <<- -1>> circonstances                                # Un concours de circonstances signifie qu’il y a plusieurs circonstances.
__[i]/sgpl(sgpl_confluence_de)__
    confluences? de (rivière|fleuve|ruisseau)  @@$ <<- -1>> =suggPlur(@)                  # Confluence de plusieurs cours d’eau : mettez au pluriel.
__[i]/sgpl(sgpl_groupe_de)__
    (?:association|groupe|rassemblement|regroupement|réunion|troupe)s? d(?:e |’)(artiste|agricult(?:eur|rice)|architecte|automobiliste|citoyen(?:ne|)|con(?:ne|)|consommat(?:eur|rice)|enfant|entreprise|femme|fille|garçon|homme|infirmière|jeune|médecin|motarde?|passionnée?|prostituée?|touriste|travailleu(?:r|se)|vieill(?:e|arde?)) @@$
    <<- -1>> \1s                                                                                    # Il manque un “s”. Il y en a plusieurs dans un groupe, un rassemblement, un regroupement, etc.
__[i]/sgpl(sgpl_troupeau_de)__
    troupeaux? d(?:e |’)(âne|animal|bœuf|buffle|bovin|bison|con(?:ne|)|cheval|chèvre|génisse|mouton|mulet?|porc|taureau|touriste|vache|veau) @@$
    <<- -1>> =suggPlur(@)                                                                           # Il manque un “s”. Il y en a plusieurs dans un troupeau.

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


#### X fois par jour/an/semaine/etc.

__[i]/sgpl(sgpl_x_fois_par_période)__
    fois par (ans|années|décennies|heures|jours|minutes|secondes|semaines|semestres|trimestres) @@$
    <<- -1>> =suggSing(@)                                                   # 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…


#### Locutions

# à
__[i]/sgpl(sgpl_à_nu)__
    (m[eiî]\w+) +([aà] nu(?:es?|s))  @@0,$
    <<- morph(\1, ">(?:mettre|mise) ", False) -2>> à nu                     # « nu » est invariable dans cette locution.

TEST: Mettre {{à nus}} les hommes.

__[i]/sgpl(sgpl_à_part_égales)__
    à part? égale? <<- ->> à parts égales                                   # Il y a plusieurs parts.

TEST: {{à part égale}}

__[i]/sgpl(sgpl_à_moindres_frais)__
    [àa] moindre frais? <<- ->> à moindres frais                            # Lorsqu’on parle des dépenses, “frais” est un pluriel.

TEST: {{a moindre frais}}


# affaires
__[i]/sgpl(sgpl_chiffre_d_affaires)__
    chiffres? d’(affaire) @@$ <<- -1>> affaires                             # Le chiffre d’affaires. Toujours un “s” final.
__[i]/sgpl(sgpl_faire_affaire_avec)__
    (f[aieî]\w+) (affaires) avec  @@0,w
    <<- morph(\1, ">faire ", False) -2>> affaire                            # « Faire affaire avec ». Pas de “s”.
__[u]/sgpl(sgpl_faire_affaire_à_en)__
    (f[aieî]\w+) (affaire) (?:à|en) ([A-ZÉÈÂ][\w-]+)  @@0,w,$
    <<- morph(\1, ">faire ", False) and morph(\3, ":(?:N|MP)")
    -2>> affaires                                                           # Ajoutez un “s” à « affaire ».

TEST: Quel est son chiffre d’{{affaire}} ?
TEST: Allez-vous faire {{affaires}} avec ces connards ?
TEST: Faire {{affaire}} à Paris.


# boisson
__[i]/sgpl(sgpl_débit_de_boissons)__
    débits? de (boisson) @@$ <<- -1>> boissons                            # Il manque un “s” à « boisson ».

TEST: ils ont ouvert un débit de {{boisson}} à Paris.


# demi-heure, heure et demie
__[i]/sgpl(sgpl_demi_heure)__
    demi(?:e[- ]| )heure(s|) @@$ <<- ->> demi-heure\1                     # « Une demi-heure ».
__[i]/sgpl(sgpl_heure_et_demie)__
    heures? et (demi(?:s|es|)) @@$ <<- -1>> demie                         # « Une heure et demie », « deux heures et demie », etc.

TEST: L’entretien dure environ une {{demie heure}}.
TEST: nous avons rendez-vous dans une heure et {{demi}}


# dévolu
__[i]/sgpl(sgpl_leur_dévolu)__
    jet\w+ +(leurs dévolus) @@$ <<- -1>> leur dévolu                      # « Jeter son dévolu » : au singulier.

TEST: Ces gens qui jettent {{leurs dévolus}} sur n’importe qui, c’est d’une indécence.


# escalier
__[i]/sgpl(sgpl_cage_d_escalier)__
    cages? d’(escaliers) @@$ <<- -1>> escalier                            # Pas de “s” à escalier.

TEST: Elle est passée par la cage d’{{escaliers}}


# à l’extérieur/intérieur
__[i]/sgpl(sgpl_à_l_intérieur_extérieur)__
    (?:l’|d’|[cdls]es +|[mts]on +|leurs? +|[nv]otre +|en +|cet(?:te|) +)((?:ex|in)térieures?) @@$
    <<- -1>> =\1.rstrip("e")                                                        # Ceci est un adjectif féminin. Pas de “e” pour le nom masculin.

TEST: que pensez-vous de notre {{intérieure}} ?


# collet monté
__[i]/sgpl(sgpl_collet_monté)__
    ({w1}) +(collets[- ]montée?s) @@0,$
    <<- morph(\1, ":(?:V0e|W)|>très", False) -2>> collet monté
    # « Être collet monté » : dans cette locution, « collet monté » est invariable.

TEST: Elles sont tellement {{collets montées}} !


# coûter cher
__[i]/sgpl(sgpl_coûter_cher)__
    ((?:co[uû]t|pa)\w+) +(chers|chères?|chaire?s?)  @@0,$
    <<- morph(\1, ">(?:co[ûu]ter|payer) ", False)
    -2>> cher                                                                       # Ici, « cher » est un adverbe, invariable.

TEST: ces saloperies coûtent vraiment {{chères}} !


# donner lieu
__[i]/sgpl(sgpl_donner_lieu)__
    (donn\w+) +(lieux) @@0,$
    <<- morph(\1, ">donner ", False)
    -2>> lieu                                                                       # « Donner lieu » : “lieu” est invariable dans cette locution verbale.

TEST: ces conneries donneront {{lieux}} à une enquête approfondie.


# en bons termes
__[i]/sgpl(sgpl_en_bons_termes)__
    en bon terme @@$ <<- ->> en bons termes                                         # En bons termes : cette locution est toujours au pluriel.

TEST: nous sommes à présent {{en bon terme}}


# ensemble
__[i]/sgpl(sgpl_ensemble)__
    ({w_1}) +(ensembles)  @@0,$
    <<- morphex(\1, ":V.*:[123]p|>(?:tou(?:te|)s|pas|rien|guère|jamais|toujours|souvent) ", ":[DRB]")
    -2>> 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
__[i]/sgpl(sgpl_eux_elles_mêmes)__
    (?:eux|elles)-(même) @@$ <<- -1>> 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
__[i]/sgpl(sgpl_par_intermittence)__
    par (intermittences) @@$ <<- -1>> intermittence                                 # Locution : « par intermittence ».

TEST: Elles ne viennent que par {{intermittences}}


# par intervalles
__[i]/sgpl(sgpl_par_intervalles)__
    par (intervalle) @@$ <<- -1>> intervalles                                       # Locution : « par intervalles ».

TEST: On va procéder par {{intervalle}}


# pied
__[i]/sgpl(sgpl_avoir_pied)__
    ([aeop]\w*) +(?:pas |)(pieds)  @@0,$
    <<- morph(\1, ">(?:avoir|perdre) ", False) -2>> pied                            # Pas de “s” final.
__[i]/sgpl(sgpl_à_pied)__
    à (pieds)  @@2
    <<- not before(r"(?i)\b(?:lit|fauteuil|armoire|commode|guéridon|tabouret|chaise)s?\b")
    -1>> pied                                                                       # Pas de “s” final.
__[i]/sgpl(sgpl_au_pied_levé)__
    (?:à|aux) pieds? levée?s? <<- ->> 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
__[i]/sgpl(sgpl_plein_de)__
    (pleins) de?  @@0
    <<- morphex(word(-1), ":(?:V|[NAQ].*:s)", ":(?:[NA]:.:[pi]|V0e.*:[123]p)", True)
    -1>> plein                                                                      # Au singulier.

TEST: Je connais {{pleins}} de gens
TEST: Les avocats sont pleins de nutriments.


# pleines dents
__[i]/sgpl(sgpl_à_pleines_dents)__
    [àa] pl[ea]ine(?: dents?|s? dent) <<- ->> à pleines dents                       # Toujours au pluriel.

TEST: Elle mord la vie {{à plaine dent}}.


# possible
__[i]/sgpl(sgpl_autant_que_possible)__
    autant (?:d(?:e |’){w_2} |)que (possibles) @@$ <<- -1>> possible                # Invariable. Implicitement, autant 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é.


# quelque
__[i]/sgpl(sgpl_quelque_temps)__
    (quelques) temps @@0 <<- -1>> quelque                                           # Quelque temps : un temps indéterminé, pas de “s”.|https://fr.wiktionary.org/wiki/quelque_temps
__[i]/sgpl(sgpl_en_quelque_sorte)__
    en (quelques sortes) @@$ <<- -1>> 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
__[i]/sgpl(sgpl_par_en_rafales)__
    (?:par|en) (rafale) @@$ <<- -1>> rafales                                        # En général, il y a plusieurs rafales. Par rafales, en rafales.

TEST: Je lance des tests en {{rafale}}.


#sans (crainte|défense)s <<- ->> sans \1                                            # En général, pas de pluriel.

# par souci de
__[i]/sgpl(sgpl_par_souci_de)__
    par (soucis) (?:de|d) @@4 <<- -1>> souci                                        # Invariable dans cette locution.

TEST: par {{soucis}} d’équité, chacun aura droit à une part.


# ce / se
__[i]/conf(conf_ce_être)__
    (se) (?:sera(?:i(?:en|)t|)|sont|f[uû](?:ren|)t)  @@0
    <<- (after("^ [ldmtsc]es ") and not before(r"(?i)\b(?:ils?|elles?|ne) +")) or
    ( morph(word(-1), ":Cs", False, True) and not before(", +$") and not after(r"(?i)^ +(?:ils?|elles?)\b") and not morph(word(1), ":Q", False, False) )
    -1>> ce                                                                 # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440
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.


# termes
__[i]/sgpl(sgpl_en_termes_de)__
    en (terme) (?:de|d) @@3 <<- -1>> termes                                         # Locution « en termes de ». Mettez “terme” au pluriel.

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


# tous / tout / toutes
__[i]/sgpl(sgpl_tous_azimuts)__
    tout azimuts? <<- ->> tous azimuts                                              # « Tous azimuts » signifie « dans toutes les directions ».
__[i]/sgpl(sgpl_une_bonne_fois_pour_toutes)__
    une (?:bonne |)fois pour (toute) @@$ <<- -1>> toutes                            # Il manque un “s”. Sous-entendu : une fois pour toutes les autres fois.

TEST: ils lancent des attaques {{tout azimut}}.
TEST: une bonne fois pour {{toute}}


# vacances
__[i]/sgpl(sgpl_bonnes_vacances)__
    bonne vacance <<- not morph(word(-1), ":D.*:f:s", False, False) ->> bonnes vacances             # Au pluriel.
__[i]/sgpl(sgpl_en_vacances)__
    ({w1}) +en (vacance)  @@0,$
    <<- morph(\1, ">(?:aller|partir) ", False) -2>> 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
__[i]/sgpl(sgpl_vite)__
    vites
    <<- not morph(word(-1), ":V0e.*:3p", False, False) or morph(word(1), ":Q", False, False)
    ->> vite                                                                                        # Adverbe “vite” invariable. (La forme adjective est désuète.)

TEST: ils mangent {{vites}}.
TEST: elles sont {{vites}} parties.
TEST: elles sont vites.


# vu / vue
__[i]/sgpl(sgpl_point_de_vue)__
    points? de (vu(?:s|es|)) @@$ <<- -1>> 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}}



!!
!!
!!!! Confusions                                                                                     
!!
!!

# à / a
__[i]/conf(conf_suite_à)__
    suite (a) ({w1}) @@w,$
    <<- morph(\2, ":D|>[ld] ", False) and isStart() -1>> à          # 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.


__[i]/conf(conf_pronom_à_l_air)__
    (?:tout|ça|ce(?:ci|la)) (à) l’air +({w_2})  @@w,$
    <<- morphex(\2, ":[AR]", ">libre ") and morph(word(-1), ":Cs", False, True)
    -1>> 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.


__[i]/conf(conf_à)__
    (a) (?:[mt]oi|eux|elles?)  @@0
    <<- not before(r"(?i)\b(?:il |elle |n’) *$") -1>> à             # Confusion : “a” est une forme conjuguée du verbe “avoir”. Pour la préposition, écrivez “à”.

TEST: Je le donne {{a}} toi.
TEST: Elle a eux pour lui donner des conseils.
TEST: Elle a elle réussi… (Formulation douteuse.)
TEST: Il a toi pour l’aider.


# abuser / abusé / abusif
__[i]/conf(conf_abusif)__
    c’est +(abusé)  @@$
    <<- -1>> abusif|abuser                                         # Confusion. Il y a les pratiques abusives. Ce sont les personnes ou les choses dont on peut abuser.

TEST: C’est {{abusé}} !
TEST: Vendre ça aussi cher, c’est abuser de la crédulité des touristes.


# acre / âcre
__[i]/conf(conf_acre)__
    \d+ (âcres?)  @@$
    <<- -1>> =\1.replace("â", "a").replace("Â", "A")
    # Confusion probable : “âcre” est un adjectif signifiant “irritant”. Pour l’unité de surface agraire, écrivez :|https://fr.wiktionary.org/wiki/%C3%A2cre

TEST: un terrain de 3 {{âcres}}.


__[i]/conf(conf_âcre)__
    acres?
    <<- morph(word(-1), ">(?:être|go[ûu]t|humeur|odeur|parole|parfum|remarque|reproche|réponse|saveur|senteur|sensation|vin)", False, False)
    ->> =\0.replace("a", "â").replace("A", "Â")
    # Confusion probable : “acre” est une unité de surface agraire. Pour l’adjectif signifiant “irritant”, écrivez :|https://fr.wiktionary.org/wiki/%C3%A2cre
    
TEST: Il avait ce goût {{acre}} dans la bouche qui ne passait pas.


# accro / accroc
__[i]/conf(conf_être_accro)__
    ({etre}|dev\w+|sembl\w+|par\w+|rend\w+) +(accrocs?)  @@0,$
    <<- morph(\1, ">(?:être|devenir|para[îi]tre|rendre|sembler) ", False)
    -2>> =\2.replace("oc", "o")
    # Confusion : “accroc” signifie “déchirure”, “incident”, etc. tandis que “accro” est un terme familier qui signifie “dépendant”.
__[i]/conf(conf_accro_à)__
    (accrocs?) (?:[àa] (?:la (?:bouffe|cocaïne|cod[ée]ine|course|drogue|coke|meth|méthamphétamine|morphine|nicotine|nourriture|télé(?:vision|)|clope|cigarette|came|poudre|baise|musique)|cette (?:came|émission|merde|poudre|femme|meuf|gonzesse|conne|salope|garce)|ce (?:mec|keum|type|con(?:nard|)|fils de pute)|cet (?:homme|enculé|imbécile|enfoiré)|l’(?:alcool|amour|argent|ecstasy|herbe|héro(?:ïne|)|opium|ordi(?:nateur|))|Facebook|Internet|Twitter|lui|elle)|[ad]u (?:chocolat|cul|jeu|poker|sexe|shopping|smartphone|sport|sucre|tabac|téléphone|travail|LSD|crack)|aux (?:anti-?dépresseurs|bonbons|hommes|mecs|femmes|gonzesses|méd(?:icaments|ocs)|jeux|séries|sucreries))
    @@0
    <<- -1>> =\1.replace("oc", "o")
    # Confusion : “accroc” signifie “déchirure”, “incident”, etc. tandis que “accro” est un terme familier qui signifie “dépendant”.

TEST: ils y sont {{accrocs}} depuis toujours
TEST: au poker, il semble {{accroc}}
TEST: il est {{accroc}} à la cocaïne
TEST: elle est {{accroc}} au jeu
TEST: Patricia est {{accroc}} à ce mec
TEST: Tous {{accrocs}} à Internet.
TEST: {{Accroc}} à cette merde depuis toujours.


# acquis / acquit
__[i]/conf(conf_par_acquit_de_conscience)__
    par (acquis) de conscience  @@4
    <<- -1>> acquit                                                                                 # Confusion. On écrit « par acquit de conscience ».
    <<- ~>> *
__[i]/conf(conf_tenir_pour_acquit)__
    (t\w+) +pour (acquits?) @@0,$ <<- morph(\1, ">tenir ") -2>> acquis                              # Confusion. On écrit « tenir pour acquis ».

TEST: Je le tenais pour {{acquit}}.
TEST: Par {{acquis}} de conscience.


# affilée / affilé
__[i]/conf(conf_d_affilée)__
    d’(affilés?) @@2 <<- -1>> affilée                                                               # Locution.

TEST: C’est arrivé trois jours d’{{affilé}}


# allée / allé
__[i]/conf(conf_allée)__
    l’(allé) @@2 <<- -1>> allée                                                                     # Confusion. Une allée.

TEST: il descendait l’{{allé}}


# amende / amande
__[i]/conf(conf_yeux_en_amande)__
    yeux en (amendes?) @@$ <<- -1>> amande                                                          # Confusion. Une amende est une peine.|http://www.cnrtl.fr/lexicographie/amende
__[i]/conf(conf_à_l_amende)__
    (m\w+) à (l’amande) @@0,$ <<- morph(\1, ">mettre ", False) -2>> l’amende                        # Confusion. L’amande est un fruit.
__[i]/conf(conf_faire_amende_honorable)__
    (f\w+)(?:-(?:je|tu|ils?|[nv]ous|elles?)|) +(amandes? honorables?) @@0,$
    <<- morph(\1, ">faire ", False) -2>> 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}}.


# annales / anal-e-s
__[i]/conf(conf_annales1)__
    (anale?s?) (?:littéraires?|politiques?|ecclésiastiques?|du (?:bac(?:calauréat|)|brevet)|de (?:physique|chimie|mathématiques|biologie|géographie)|d’histoire)  @@0
    <<- -1>> annales                                                 # Confusion : “\1” est l’adjectif relatif à l’anus.|http://fr.wiktionary.org/wiki/annales 
__[i]/conf(conf_annales2)__
    [lcdmts]es (anale?s?)  @@4
    <<- -1>> annales                                                 # Confusion : “\1” est l’adjectif relatif à l’anus.|http://fr.wiktionary.org/wiki/annales

TEST: des {{anales}} littéraires
TEST: il a bachoté les {{anales}}.


# air / aire / ère
__[i]/conf(conf_ère)__
    (aire?) (?:baroque|digitale?|numérique|industrielle|glacière|glaciaire|géologique|Meiji|cénozoïque|moderne|paléozoïque|pliocène|primaire|secondaire|tertiaire|quaternaire|du (?:big data|cénozoïque|digital|numérique|paléozoïque|pliocène|pétrole|primaire|secondaire|tertiaire|quaternaire))
    @@0
    <<- -1>> ère                 # Confusion : l’aire est une surface.
__[i]/conf(conf_air)__
    (aire|ère) du temps  @@0
    <<- -1>> air                 # Confusion.

TEST: L’{{aire}} du pétrole n’est pas encore terminée.
TEST: Ce sera un jour dans l’{{ère}} du temps


# auspice / hospice
__[i]/conf(conf_sous_les_auspices1)__
    sous [ldc]es (hospices) @@$ <<- -1>> auspices
    # Confusion probable. L’hospice est un centre de soins.|https://fr.wiktionary.org/wiki/auspice
__[i]/conf(conf_sous_les_auspices2)__
    sous (?:les \w+|d’\w+|des? \w+) +(hospices) @@$ <<- -1>> auspices
    # Confusion probable. L’hospice est un centre de soins.|https://fr.wiktionary.org/wiki/auspice
__[i]/conf(conf_hospice1)__
    ({etre}|{aller}) +(?:à|dans) l’(auspice) @@0,$ <<- morph(\1, ">(?:être|aller) ", False) -2>> hospice
    # Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice
__[i]/conf(conf_hospice2)__
    dans (?:un|cet|[ldc]es) +(auspices?) @@$ <<- -1>> =\1.replace("auspice", "hospice")
    # Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice
__[i]/conf(conf_hospice3)__
    (auspices?) pour (?:vieill(?:ard|e)|vieux|s[eé]nior|personne|enfant|orphelin|femme|aliéné|incurable|indigent|pauvre)s?  @@0
    <<- -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
__[i]/conf(conf_autel)__
    sacrifi\w+ +sur l’(hôtel) @@$ <<- -1>> 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
__[i]/conf(conf_avions)__
    nous (avion) @@5 <<- -1>> avions                                    # Confusion probable : l’avion est un appareil volant.

TEST: Je pense que nous {{avion}} tort.


# banc / ban
__[i]/conf(conf_arrière_ban)__
    arrière[ -]bancs?
    <<- ->> =\0.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
__[i]/conf(conf_au_ban)__
    au (banc) (?:de (?:l’(?:empire|église|état|entreprise|humanité|institution|université)|la (?:cité|communauté|faculté|monarchie|principauté|province|région|république|société|ville))|du royaume|des nations)  @@w
    <<- -1>> banc                                                       # Confusion : « être au ban » signifie « être déchu ».|https://fr.wiktionary.org/wiki/mettre_au_ban
__[i]/conf(conf_bans_de_mariage)__
    (bancs?) d[ue] mariage  @@0
    <<- -1>> ban|bans                                                   # Confusion : les bans de mariage sont des publications, pas du mobilier.|https://fr.wiktionary.org/wiki/ban
__[i]/conf(conf_en_rupture_de_ban)__
    en ruptures? de (bancs?)  @@$
    <<- -1>> ban                                                        # Confusion. Locution “en rupture de ban”.|https://fr.wiktionary.org/wiki/en_rupture_de_ban
__[i]/conf(conf_mettre_au_ban)__
    (m[eiî]\w+) au (banc)  @@0,$
    <<- morph(\1, ">mettre ", False) and not after("^ +des accusés")
    -2>> ban                                                            # Confusion : « mettre au ban » signifie « faire déchoir ».|https://fr.wiktionary.org/wiki/mettre_au_ban
__[i]/conf(conf_publier_les_bans)__
    (publi\w+) [dlcmts]es (bancs) @@0,$
    <<- morph(\1, ">publi(?:er|cation) ", False) -2>> bans              # Confusion.|https://fr.wikipedia.org/wiki/Publication_des_bans

TEST: Convoquons le ban et l’{{arrière-banc}}.
TEST: il faut publier les {{bancs}} avant qu’il ne soit trop tard.
TEST: Les {{bancs}} de mariage sont prêts.
TEST: des hommes en rupture de {{banc}}
TEST: Il a été mis au {{banc}}.
TEST: ces gens resteront à jamais au {{banc}} de l’empire


__[i]/conf(conf_sur_det_banc)__
    sur (?:ces?|les?|[mts](?:on|es)|[vn]o(?:tre|s)|des) (bans?)  @@$
    <<- -1>> banc|bancs                                                 # Confusion probable.||https://fr.wiktionary.org/wiki/banc
__[i]/conf(conf_banc)__
    (bans?) (?:de (?:roches?|sable|neige|moules|baleines|dauphins|harengs|thons|poissons|piranhas|sardines|l’école|méduses|calibration|musculation|coupe|scie)|d’(?:anchois|hu[îi]tres|essais?|étalonnage))  @@0
    <<- -1>> banc|bancs                                                 # 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
__[i]/conf(conf_bât)__
    le (ba[st]) bless\w+ @@3 <<- -1>> bât                               # Confusion : là où le bât blesse.|http://fr.wiktionary.org/wiki/b%C3%A2t

TEST: C’est là que le {{bas}} blesse.

# bel et bien
__[i]/conf(conf_bel_et_bien)__
    (belle) et bien (?!que?|sûr) @@0
    <<- not morph(word(1), ":[AQ]") -1>> bel                            # Confusion. « Bel et bien » est équivalent à « vraiment ».

TEST: ils vont {{belle}} et bien par monts et par vaux.


# bite / bitte
__[i]/conf(conf_bitte)__
    (bites?) (?:d’amarrage|du quai|sur le quai) @@0 <<- -1>> =\0.replace("ite", "itte")             # Bitte d’amarrage.

TEST: les mouettes sur les {{bites}} d’amarrage.


# bonne et due forme / bonnet difforme / bon uniforme
__[i]/conf(conf_en_bonne_et_due_forme)__
    en (bons? uniformes?|bonnets? difformes?|bonn?e?s? et due?s? formes?)  @@3
    <<- \1 != "bonne et due forme" -1>> bonne et due forme              # En bonne et due forme : locution invariable.|https://fr.wiktionary.org/wiki/en_bonne_et_due_forme

TEST: une raclée en {{bonnes et dues formes}}


# en butte à / but / bute
__[i]/conf(conf_en_butte_à_au)__
    en (bute?s?) +(?:à|aux?) @@3 <<- -1>> butte                         # Confusion. Écrivez « en butte \1 ».

TEST: Et moi toujours en {{but}} à de nouveaux dangers


# c’est / s’est
__[i]/conf(conf_c_est_était)__
    (s’)(est|était) +({w_3}) @@0,2,$
    <<- morphex(\3, ":[AM]", ":[QG]") -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.


# cane / canne (from LanguageTool)
__[i]/conf(conf_canne_à_de)__
    (canes?) (?:à (?:sucre|pêche|selfie)|de (?:bambou|bois|combat|compagnon|compagnonnage|défense|golf|marche|Noël|ramonage)|d’aveugles?)  @@0
    <<- -1>> =\1.replace("cane", "canne")
    # Confusion. La cane est la femelle du canard.|https://fr.wiktionary.org/wiki/cane
__[i]/conf(conf_nom_de_canne)__
    (?:alcool|coup|sucre|sirop)s? de (canes?) @@$ <<- -1>> canne
    # Confusion. La cane est la femelle du canard.|https://fr.wiktionary.org/wiki/cane
__[i]/conf(conf_nom_de_cane)__
    (?:œuf|filet)s? de (cannes?) @@$ <<- -1>> cane
    # Confusion. La canne est un bâton ou un roseau. Pour la femelle du canard, écrivez|https://fr.wiktionary.org/wiki/canne
__[i]/conf(conf_verbe_canne)__
    ((?:appu|batt|frapp|l[eè]v|march)\w+) (?:avec|sur) (?:[dl]es|[mts](?:a|es)|une) (canes?)  @@0,$
    <<- morph(\1, ">(?:appuyer|battre|frapper|lever|marcher) ", False)
    -2>> =\2.replace("cane", "canne")
    # Confusion. La cane est la femelle du canard.|https://fr.wiktionary.org/wiki/cane
__[i]/conf(conf_bec_de_cane)__
    becs?-de-(cannes?) @@$ <<- -1>> 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
__[i]/conf(conf_ville_de_Cannes1)__
    (?:aéroport|acteur|actrice|baie|port|festival|gare|mairi?e|tourisme|ville|vieux-port)s? de (cann?es?)  @@$
    <<- not re.search("^C(?:annes|ANNES)", \1) -1>> Cannes
    # Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.
__[i]/conf(conf_ville_de_Cannes2)__
    (?:bienvenue?|restaurant|activité|h[ôo]tel|séjour|dormir|habiter|situer|vivre)s? à (cann?es?)  @@$
    <<- not re.search("^C(?:annes|ANNES)", \1) -1>> Cannes
    # Confusion. La ville portuaire de la Côte d’Azur s’écrit “Cannes”.

TEST: œufs de {{cannes}}
TEST: {{canes}} à pêche
TEST: {{cane}} de défense
TEST: alcool de {{cane}}
TEST: appuyé sur sa {{cane}}
TEST: bec-de-{{cannes}}
TEST: aéroport de {{cannes}}
TEST: restaurant à {{cane}}


# chair / chère
__[i]/conf(conf_faire_bonne_chère)__
    (f[aioîe]\w+) +(bonnes? ch(?:ai|e)re?) @@0,$
    <<- morph(\1, ">faire ", False)
    -2>> bonne chère                                                    # Confusion. « Faire bonne chère » signifie bien manger, ripailler.

TEST: ils ont fait {{bonne chaire}}.


# chant / champ
__[i]/conf(conf_Chandeleur)__
    la (cha(?:nt|mp)s? de l’heure?) @@3 <<- -1>> Chandeleur
    # Confusion : la Chandeleur est une fête.|http://fr.wikipedia.org/wiki/Chandeleur
__[i]/conf(conf_champ_de)__
    (chants?) de (?:blé|betteraves?|fleurs|maïs|tournesols?|tulipes|force|lavande)  @@0
    <<- -1>> =\1.replace("nt", "mp")
    # Confusion probable. Un chant est ce qui se chante.|http://fr.wiktionary.org/wiki/champ

TEST: C’est {{la}} {{champ de l’heur}}.
TEST: Il traversa le {{chant}} de betteraves.


# colon / côlon
__[i]/conf(conf_côlon)__
    cancer du (colon) @@10 <<- -1>> côlon                                       # Confusion : le côlon est un segment du gros intestin, le colon colonise.

TEST: Il a le cancer du {{colon}}.


# censé / sensé
__[i]/conf(conf_être_censé)__
    ({etre}) +(sensée?s?) +(?:y |en |leur |[nv]ous |[mtsn](?:en? |’y |’)|l(?:es?|a) |)({w_2})  @@0,w,$
    <<- morph(\1, ":V0e", False) and morph(\3, ":(?:Y|Oo)", False)
    -2>> =\2.replace("sens", "cens")                                            # Confusion : “sensé” se dit de quelqu’un de “bon sens”. Pour ce qui est attendu, écrivez :

TEST: Ils sont {{sensés}} y parvenir.
TEST: Elles étaient {{sensés}} m’y conduire
TEST: il est {{sensé}} prendre l’avion demain


__[i]/conf(conf_sensé)__
    (censée?s?) *$  @@0
    <<- -1>> =\1.replace("c", "s").replace("C", "S")                            # Confusion probable : il y a ce qui est “sensé”, c’est-à-dire de “bon sens”, et il y a ce que chacun est “censé” accomplir.

TEST: Ce sont pourtant des gens si {{censés}}


# content / contant / comptant
__[i]/conf(conf_content)__
    ({avoir}) +(?:tout |)(?:[mts]on|[nv]otre|leur) (co(?:mp|n)tant) @@0,$
    <<- morph(\1, ":V0a", False) -2>> content                                           # Confusion. Avoir (tout) son content…|http://www.larousse.fr/dictionnaires/francais/content/18572
__[i]/conf(conf_argent_comptant)__
    argent (cont[ea]nt)  @@7
    <<- morph(word(-1), ":[VR]", False) -1>> 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}}.


# cor / corps
__[i]/conf(conf_à_cor_et_à_cri)__
    [àa] corp?s? es?t [àa] cris?
    <<- not re.search("(?i)^à cor et à cri$", \0) ->> à 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}}.


# côté / coté
__[i]/conf(conf_côté)__
    (?:à|au|autres?|bon|mauvais|les?|de|ce|du|[mts](?:on|es)|[nv]otre|chaque|un|leurs?) (cotés?)  @@$
    <<- -1>> =\1.replace("o", "ô")                                             # Confusion : « coté » est le participe passé du verbe « coter ».

TEST: Je reste à ses {{cotés}}.


# cote / côte / cotte
__[i]/conf(conf_côte)__
    (cott?es?) (?:d(?:e (?:bœuf|porc|veau|Bretagne)[sx]?|’(?:agneaux?|Albâtre|Armor|Azur|Ivoire|Or|Opale|Émeraude))|(?:brisée|cassée|fêlée|fracturée|surnuméraire|rocheuse|adriatique|américaine|californienne|atlantiques?|basque|bretonne|landaise|normande|française|belge|espagnole|italienne|portugaise|africaine|méditerranéenne|pacifique|raide|occidentale|fractale)s?|nord|sud|ouest)  @@0
    <<- -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
__[i]/conf(conf_côtes)__
    (?:fracture|radiographie)s? des (cott?es)  @@$
    <<- -1>> côtes                                              # Confusion : écrivez “côtes” pour les os du thorax.|https://fr.wiktionary.org/wiki/c%C3%B4te
__[i]/conf(conf_cote)__
    (c(?:ôt|ott)es?) (?:mobilières?|foncières?|de (?:niveau|popularité|confiance)|d’(?:alerte|altitude|amour))  @@0
    <<- -1>> =\1.replace("ô", "o").replace("tt", "t")           # Confusion : utilisez « cote » pour chiffrer (cotation).|http://fr.wiktionary.org/wiki/cote
__[i]/conf(conf_cotte)__
    (c[ôo]tes?) de mailles?  @@0
    <<- -1>> =\1.replace("ô", "o").replace("t", "tt")           # Confusion : écrivez « cotte » pour la cotte de mailles.|https://fr.wiktionary.org/wiki/cotte_de_mailles
__[i]/conf(conf_avoir_la_cote)__
    ({avoir}) +la (côte)  @@0,$
    <<- morph(\1, ":V0a", False) -2>> cote                      # Confusion probable : utilisez « cote » (cotation).|http://fr.wiktionary.org/wiki/cote

TEST: Rien ne vaut une bonne {{cote}} de bœuf.
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: on a atteint la cote d’alerte.


# cou / coup / coût
__[i]/conf(conf_coup_de)__
    (co[uû]t?s?) d(?:e (?:baguette|bâton|barre|bec|bélier|blues|botte|boule|boutoir|bol|bite|cœur|chaud|coude|dé|dent|déprime|froid|fil|foudre|genou|gueule|grâce|griffe|grisou|hache|hanche|Jarnac|jus|jeune|klaxon|main|ma[îi]tre|massue|neuf|nostalgie|pied|poing|poignard|pouce|pute|rein|rabot|savate|sang|sabot|sifflet|soleil|surin|tête|théâtre|torchon|vent|vieux)|’(?:éclat|épée|état|épaule|œil|estoc)|ur)s? @@0
    <<- -1>> coup
    # 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 :
__[i]/conf(conf_coût_de)__
    (coup?s?) de (?:base|revien[ts]|distribution|développement|production|la vie|maintenance|construction|fonctionnement|fabrication|financement|formation|renonciation|stockage|trans(?:action|fert|port|formation)|viabilisation)s? @@0
    <<- -1>> coût
    # 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 :
__[i]/conf(conf_cou)__
    (co[uû][pt]s?) +(?:long|graci(?:eux|le))s?  @@0
    <<- -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 :

TEST: J’ai pris un {{cou}} de bâton.
TEST: Merci de calculer le {{coup}} de production avant d’établir une facture.
TEST: Elle a un {{coût}} si gracile.


__[i]/conf(conf_tordre_le_cou)__
    (tord\w*) +le (co[uû][pt]s?) @@0,$ <<- morph(\1, ">tordre ", False) -2>> 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”.
__[i]/conf(conf_rendre_coup_pour_coup)__
    (rend\w*) +(co[uû]t?s? pour co[uû]t?s?)  @@0,$
    <<- morph(\1, ">rendre ", False) -2>> 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: 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.


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

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


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

TEST: {{dés}} que nous sommes partis, il a piqué une crise
TEST: {{des}} {{les}} premiers symptômes, appelez-moi


# desceller / déceler / desseller
__[i]/conf(conf_erreur_problème_decelé)__
    (erreur|faute|incohérence|problème|bug|bogue|faille|maladie|défaut|défaillance|perturbation|irrégularité)s? .*(des[cs]ell\w+)  @@0,$
    <<- morph(\2, ">(?:desceller|desseller) ", False)
    -2>> =\2.replace("escell", "écel").replace("essell", "écel")
    # Confusion probable si ce mot 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 :|http://fr.wiktionary.org/wiki/déceler
__[i]/conf(conf_deceler_qqch)__
    (des[cs]ell\w+) +(?:(?:une?|l[ae]|des?|ce(?:tte|t|s|)|[mts](?:on|a|es)|[nv]os|leurs?|plusieurs|quelques|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze) +|l’)(?:(?:petite?|grande?|énorme|dangeureu(?:x|se)|formidable|forte?|lég(?:er|ère)|merveilleu(?:x|se)|nouv(?:el|elle|eaux?)|vraie?|réel(?:le|)|sévère|véritable)s? +|)(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)s?  @@0,$
    <<- morph(\1, ">(?:desceller|desseller) ", False)
    -1>> =\1.replace("escell", "écel").replace("essell", "écel")
    # Confusion probable si ce mot se rapporte à « \2 ». Desceller signifie briser un sceau, un cachet… Desseller signifie ôter une selle.|http://fr.wiktionary.org/wiki/déceler

TEST: il y a une erreur qu’on peut {{desceller}} dans ses analyses.
TEST: elle a {{dessellé}} une forte hostilité dans ses propos.


# en train / entrain
__[i]/conf(conf_en_train)__
    entrain
    <<- morph(word(-1), ">(?:être|voyager|surprendre|venir|arriver|partir|aller) ", False, False) 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.


__[i]/conf(conf_entrain)__
    en train
    <<- morph(word(-1), ">(?:avec|sans|quel(?:le|)|cet|votre|notre|mon|leur) ", False, False) or before(" [dlDL]’$")
    ->> 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.


# envi / envie
__[i]/conf(conf_à_l_envi)__
    à l’(envie)  @@4
    <<- not morph(word(-1), ">(?:abandonner|céder|résister) ", False) and not after("^ d(?:e |’)")
    -1>> 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
__[i]/conf(conf_est)__
    (et) +({w_4}) *$ @@0,$
    <<- morphex(\2, ":[QA]", ":M") and \2.islower() >>>
    <<- before_chk1(r"(?i)^ *(?:l[ea]|ce(?:tte|t|)|mon|[nv]otre) +(\w[\w-]+\w) +$", ":[NA].*:[is]", ":G")
    -1>> est                                                                        # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez :
    <<- before_chk1(r"(?i)^ *(?:ton) +(\w[\w-]+\w) +$", ":N.*:[is]", ":[GA]")
    -1>> est                                                                        # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez :
    <<- before_chk1(r"^ *([A-ZÉÈ][\w-]+\w) +$", ":M", ":G") -1>> est                # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez :

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


__[i]/conf(conf_où_est)__
    où (et) +({w_1}) @@w,$
    <<- morphex(\2, ":D", ":R|>(?:quand|pourquoi)") or (\2 == "l" and after("^’")) 
    -1>> est                                                                        # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez :

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 ?


# faite / faîte / fait
__[i]/conf(conf_faites)__
    vous +(?:ne |leur |lui |nous |vous |)(faîtes?) @@$ <<- -1>> faites                              # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose.
__[i]/conf(conf_faites_vous)__
    (faîtes?)[- ]vous  @@0 <<- not morph(word(-1), ":D.*:[me]:[sp]", False) -1>> faites             # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose.
__[i]/conf(conf_avoir_être_faite)__
    ({avoir_etre}) +(faîtes?)  @@0,$
    <<- morph(\1, ":V0", False) -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à.


__[i]/conf(conf_en_fait)__
    en fa[iî]tes?
    <<- not before(r"(?i)\b(?:[vn]ous|lui|leur|et toi) +$|[nm]’$") ->> en fait                      # Confusion probable : « en fait » = « en réalité ».

TEST: {{en faite}}, on en voit partout, ça grouille.
TEST: Que {{faîtes}}-vous ? Vous {{faîtes}} mal !
TEST: Aujourd’hui, n’en faites pas trop.


# flamant rose
__[i]/conf(conf_flamant_rose)__
    (flamands?) +roses? @@0 <<- -1>> =\1.replace("and", "ant")                                   # Confusion. Flamand = habitant des Flandres. Flamant = oiseau.

TEST: j’ai vu un {{flamand}} rose.


# foi / fois
__[i]/conf(conf_bonne_mauvaise_foi)__
    (mauvaise|bonne) (fois)  @@0,$
    <<- not ( \1 == "bonne" and before(r"(?i)\bune +$") and after("(?i)^ +pour toute") ) 
    -2>> foi                                                                                        # Confusion probable.|http://fr.wiktionary.org/wiki/foi
__[i]/conf(conf_faire_perdre_donner_foi)__
    ((?:f[aieî]|perd|donn|[ae])\w*) (fois) @@0,$
    <<- morph(\1, ">(?:faire|perdre|donner|avoir) ", False) -2>> foi                                      # Confusion probable.|http://fr.wiktionary.org/wiki/foi

TEST: C’est une personne de bonne {{fois}}.
TEST: Mais il a perdu {{fois}} en l’avenir.


# fond / fonds
__[i]/conf(conf_de_fonds)__
    (?:collecte|levée|extorsion|détournement)s? de (fon(?:d|ts)) @@$ <<- -1>> fonds
    # Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).
__[i]/conf(conf_à_fonds_perdus)__
    à (fon(?:d|ts)) perdus? @@2 <<- -1>> fonds
    # Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).
__[i]/conf(conf_fonds_qqch)__
    (fon(?:d|ts)) (?:monétaires?|spéculatifs?|international|de (?:commerce|garantie|roulement|pension|placement|retraite|roulement|solidarité)|d’(?:aide|investissement|indemnisation))  @@0
    <<- -1>> fonds
    # Confusion : fonds (ce qui constitue une richesse) ≠ fond (partie la plus basse/profonde).
__[i]/conf(conf_fonts_baptismaux)__
    (fonds) baptismaux @@0 <<- -1>> fonts
    # Confusion. Écrivez “fonts”, qui vient du latin “fons” et signifie « fontaine, source ».

TEST: faire une levée de {{fond}}.
TEST: à {{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
__[i]/conf(conf_glacière)__
    ({w1}) (glaciaires?) @@0,$ <<- morph(\1, ":D", False) -2>> glacière         # Confusion : « glaciaire » est un adjectif.
__[i]/conf(conf_glaciaire)__
    ères? (glacières?) @@$ <<- -1>> glaciaire                                   # Confusion : une glacière est un contenant préservant le froid.

TEST: Passe-moi la glacière, s’il te plaît.
TEST: Autrefois, il y eut plusieurs ères {{glacières}}.
TEST: dans la {{glaciaire}}


# en son for intérieur / fort
__[i]/conf(conf_for_intérieur)__
    (?:en|dans) (?:[mts]on|leur|[nv]otre) (forts? intérieurs?) @@$ <<- -1>> 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.


# gène / gêne
__[i]/conf(conf_sans_gêne)__
    sans[- ]gènes? <<- ->> sans-gêne                                      # Confusion. Les gènes sont des éléments des chromosomes. Pour le synonyme d’embarras, écrivez “gêne”.
__[i]/conf(conf_gènes)__
    (?:[dmtsc]es|[nv]os|leurs) (gênes) @@$ <<- -1>> gènes                 # Confusion probable. Les gènes sont des éléments des chromosomes. Pour le synonyme d’embarras, écrivez “gêne”.

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]
__[i]/conf(conf_gent)__
    la (gente) (?:féminine|masculine) @@3 <<- -1>> 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é.


# goutte / goûte
__[i]/conf(conf_goutte)__
    (go[ûu]tes?) d(?:e +(?:lait|liquide|sang|sueur|sperme|salive|javel|bière|miel|mercure|peinture|pluie|rosée|vin|vinaigre|whisky|rhum|folie)|’(?:alcool|acide|amour|eau|huile|urine)) @@0
    <<- -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”.

TEST: Une {{goûte}} de pluie
TEST: tu sais, les {{goutes}} de pluie, ça mouille.


# gré / grès
__[i]/conf(conf_à_leur_gré)__
    à (?:[mts]on|[nv]otre|leur) (grès) @@$ <<- -1>> gré                                   # Confusion probable. Le grès est une roche détritique.
__[i]/conf(conf_bon_gré_mal_gré)__
    bon grès,? mal grès <<- ->> bon gré, mal gré|bon gré mal gré                          # Confusion. Le grès est une roche détritique.
__[i]/conf(conf_au_gré_de)__
    au (grès) d(?:es?|u) @@3 <<- -1>> gré                                                 # Confusion probable. Le grès est une roche détritique.
__[i]/conf(conf_de_gré_ou_de_force)__
    de (grès) ou de force @@3 <<- -1>> gré                                                # Confusion. Le grès est une roche détritique.
__[i]/conf(conf_de_bon_gré)__
    de (?:bon|mauvais|(?:[mts]on|[nv]otre|leur) plein) (grès) @@$ <<- -1>> gré            # Confusion. Le grès est une roche détritique.
__[i]/conf(conf_contre_leur_gré)__
    contre (?:[mts]on|[nv]otre|leur) (grès) @@$ <<- -1>> gré                              # Confusion probable. Le grès est une roche détritique.
#savoir gré à quelqu’un « lui être reconnaissant »
#au gré de quelqu’un, « selon son goût, son désir »

TEST: il en sera fait à votre {{grès}}
TEST: Il est venu contre son {{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}}


# jeune / jeûne
__[i]/conf(conf_jeûne)__
    (jeunes?) (?:du (?:carême|ramadan)|alimentaire|eucharistique|rituel|sacramentel)  @@0
    <<- -1>> =\1.replace("u", "û")                                              # Confusion. Pour les privations alimentaires, écrivez “jeûne”.|https://fr.wiktionary.org/wiki/je%C3%BBne

TEST: il accomplit le {{jeune}} rituel


__[i]/conf(conf_jeune)__
    (jeûnes?) (?:adolescente?|adulte|âge|épou(?:sé?e|x)|femme|fille|gar(?:çon|s)|gens|homme|marié?e?|enfant|bébé|chi(?:en|iot)|chat|célibataire|étudiante?|lycéen(?:ne|)|élève|écoli(?:er|ère)|dipl[oô]mée?|prodige|couple|papa|père|mère|con(?:ne|)|génération|médecin|travailleur)s?  @@0
    <<- -1>> =\1.replace("û", "u")                                              # Confusion. Le jeûne est une privation alimentaire.|https://fr.wiktionary.org/wiki/jeune

TEST: de {{jeûnes}} adultes


# la / là
__[i]/conf(conf_celui_celle_là)__
    ce(?:lles?|lui|ux)[ -]la <<- ->> =\0[:-1].replace(" ", "-")+"à"             # Écrivez “là” et non “la”.
__[i]/conf(conf_verbe_impératif_la)__
    ({w2})(-là) @@0,$ <<- morphex(\1, ":V", ":[NAQ]") -2>> -la| là              # Confusion. Pour un COD, utilisez “la”. Ou, si ce “là” signifie “ici”, ne mettez pas de trait d’union.
__[i]/conf(conf_mot_là)__
    ({w2})-(la) @@0,$ <<- morphex(\1, ":[NAQ]", ":[123][sp]") -2>> là           # Confusion : « \1 » n’est pas un verbe.
__[i]/conf(conf_ne_me_te_se_la)!6__
    [nmts]e (là) @@3 <<- -1>> la                                                # Confusion : “là” signifie “ici”.|http://fr.wiktionary.org/wiki/l%C3%A0

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 / l’a
__[i]/conf(conf_il_elle_on_la_vconj)__
    (?:il|elle|on) (?:nous |vous |)(l’a) +([bcdfghjklmnpqrstvwxz][\w-]+)  @@w,$
    <<- morphex(\2, ":[123][sp]", ":[GQ]") -1>> la                                                  # Confusion probable. Pour un pronom objet féminin, écrivez “la”.
__[i]/conf(conf_ne_la_vconj)__
    ne (?:nous |vous |)(l’a) +([bcdfghjklmnpqrstvwxz][\w-]+) @@w,$
    <<- morphex(\2, ":[123][sp]", ":[GQ]") -1>> la                                                  # Confusion probable. Pour un pronom objet féminin, écrivez “la”.
__[i]/conf(conf_ne_la_lui_leur)__
    ne (l’a) l(?:ui|eur)  @@3
    <<- -1>> la                                                                                     # Confusion probable. Pour un pronom objet féminin, écrivez “la”.
__[i]/conf(conf_me_se_se_la_vconj)__
    [mts]e (l’a) +([bcdfghjklmnpqrstvwxz][\w-]+)  @@3,$
    <<- morphex(\2, ":[123][sp]", ":[GQ]") -1>> la                                                  # Confusion probable. Pour un pronom objet féminin, écrivez “la”.

TEST: on {{l’a}} {{prit}} pour une idiote.
TEST: il ne {{l’a}} {{connaît}} pas.
TEST: elle ne {{l’a}} leur donne pas sans condition.
TEST: elle se {{l’a}} {{réserve}} pour elle-même.


__[i]/conf(conf_il_elle_on_l_a)__
    (?:il|elle|on) (?:vous |nous |)(la)[ @]+({w_2}) @@*,$
    <<- morphex(\2, ":Q", ":(?:[123][sp]|V[123]......e)|>lui ") -1>> l’a                            # Confusion probable : “\2” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.
__[i]/conf(conf_ne_l_a)__
    ne (?:vous |nous |)(la)[ @]+({w_2}) @@*,$
    <<- morphex(\2, ":Q", ":(?:[123][sp]|V[123]......e)|>lui ") -1>> l’a                            # Confusion probable : “\2” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.
__[i]/conf(conf_me_te_l_a)__
    [mt]e (la)[ @]+({w_2})  @@*,$
    <<- morphex(\2, ":Q", ":(?:[123][sp]|V[123]......e)|>lui ") -1>> l’a                            # Confusion probable : “\2” est un participe passé. Il faut donc employer l’auxiliaire “avoir”.

TEST: il {{la}} {{donnée}}.
TEST: ne {{la}} {{donné}} que contraint et forcé…
TEST: celle-là, il me {{la}} {{commandée}} ?


# laissez-passer / laissez-faire
__[i]/conf(conf_laisser_passer)__
    laisser-passer <<- ->> laissez-passer                                                 # Confusion.
__[i]/conf(conf_laisser_aller)__
    laissez-(aller|faire) @@8 <<- ->> laisser-\1                                          # Confusion.

TEST: ils ont oublié leur {{laisser-passer}}.
TEST: il faut en finir avec le {{laissez-aller}}.


# levée / lever
__[i]/conf(conf_lever_de_rideau_soleil)__
    levée?s?(?= d(?:e (?:rideau|soleil))|u soleil) <<- ->> =\0.replace("ée", "er")                  # Confusion. Exemple : une levée de fonds, un lever de soleil.

TEST: {{levée}} de soleil


# lever un lièvre / soulever
__[i]/conf(conf_lever_un_lièvre)__
    (soul\w+) +(?:un|le) lièvre  @@0
    <<- morph(\1, ">soulever ", False) -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
__[i]/conf(conf_des_lieux)__
    (?:assurances?|états?|visites?|ma[îi]tres?|seigneurs?|magie|chefs?|responsables?|respect|entretien|propreté|propriétaires?|tranquillité|dans|vers|plans?) des (lieue?s)  @@$
    <<- -1>> lieux
    # Confusion probable. Pour désigner un endroit, utilisez “lieux”.|http://fr.wiktionary.org/wiki/lieu
__[i]/conf(conf_lieux_qqch)__
    (lieue?s) (?:aménagée?s|abandonnée?s|accueillante?s|insolites|accessibles|inaccessibles|inexplorée?s|éloignée?s|lointains|louches|réservée?s|proches|touristiques|saints|sacrée?s|connue?s|inconnue?s|méconnue?s|privilégiée?s|mythiques|publics|privée?s|prestigieux|romantiques|stratégiques|historiques|où|humides|secs|de (?:communication|contemplation|culte|chasse|détente|détention|départ|méditation|mémoire|pouvoir|prière|prostitution|sépulture|repos|refuge|stockage|travail|vacances?|spectacles?|conférences?|rassemblements?|stationnement|rencontres?|villégiature))
    @@0
    <<- -1>> lieux
    # Confusion probable. Pour désigner un endroit, utilisez “lieu(x)”.|http://fr.wiktionary.org/wiki/lieu
__[i]/conf(conf_être_à_xxx_lieues)__
    ((?:[eêsf]|demeur|habit|trouv|situ|rest)\w+) à (?:quelques|dix|douze|quinze|seize|vingt|cent|mille|des|\d+) (lieu[sx])  @@0,$
    <<- morph(\1, ">(?:être|habiter|trouver|situer|rester|demeurer?) ", False)
    -2>> lieues
    # Confusion probable. Pour désigner une distance, utilisez “lieues”.|http://fr.wiktionary.org/wiki/lieue
__[i]/conf(conf_avoir_eu_lieu)__
    ({avoir}) +(?:eue?s? +|)(lieu(?:es?|x))  @@0,$
    <<- morph(\1, ">avoir ", False) -2>> lieu                                                       # Confusion. Dans l’expression « avoir lieu », “lieu” est invariable.

TEST: qui est le responsable des {{lieues}} ?
TEST: ce sont des {{lieus}} mythiques
TEST: elle habitait à quelques {{lieux}} d’ici
TEST: Cette réunion ayant eu {{lieue}} loin d’ici


# en général
__[i]/conf(conf_en_général)__
    en (générale) @@3 <<- -1>> 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 en sait en {{générale}} pas assez.


# mare / marre
__[i]/conf(conf_marre)__
    (marre) @@$ <<- before(r"(?i)(?:la|une|cette|quelle|cette|[mts]a) +$") -1>> mare
    # Confusion. Pour parler d’une petite étendue d’eau, écrivez “mare”. En “avoir marre de” = “en avoir assez de”.

TEST: cette {{marre}} est presque sèche.


__[i]/conf(conf_avoir_marre)__
    ({avoir}) +(mare) @@0,$ <<- morph(\1, ":V0a", False) -2>> marre
    # Confusion. Une mare est une petite étendue d’eau.

TEST: j’en ai {{mare}} de tout ça.
TEST: en avoir vraiment {{mare}} de ces conneries.


# mi / mis / mie
__[i]/conf(conf_avoir_mis)__
    ({avoir}) +(mie?) @@0,$ <<- morph(\1, ":V0a", False) -2>> mis                                   # Confusion. Pour le participe passé de mettre, écrivez :
__[i]/conf(conf_mis_en_qqch)__
    (mie?) en (?:abyme|bouteilles?|cause|demeure|évidence|examen|f[ûu]ts?|images?|liquidation|mémoire|musique|œuvres?|paiement|place|pièces?|quarantaine|scène|tonneaux?|service|valeur)  @@0
    <<- -1>> mis                                                                                    # Confusion. Pour le participe passé de mettre, écrivez :
__[i]/conf(conf_mis_à_qqch)__
    (mie?) à (?:jours?|pieds?|dispositions?|part|mal|nue?|contribution|rude|mort)  @@0
    <<- -1>> mis                                                                                    # Confusion. Pour le participe passé de mettre, écrivez :

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


# n’est-ce pas - ai / es / est
__[i]/conf(conf_n_est_ce_pas)__
    n’(?:es|ai[ets]?s?)[- ]ce[- ]pas <<- ->> n’est-ce pas                                           # Erreur de conjugaison.

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).
__[i]/conf(conf_les_nôtres)__
    (?:les?|la|du|des|aux?) ([nv]otres?)  @@$
    <<- not (\1 == "Notre" and after("Père")) -1>> =\1.replace("otre", "ôtre")                      # Confusion : « notre possession », « la nôtre ».
__[i]/conf(conf_notre_votre_qqch)__
    ([nv]ôtres?) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(les?|la|du|des|aux?) +") and morphex(\2, ":[NAQ]", ":D")
    -1>> =\1.replace("ôtre", "otre").rstrip("s")                                                    # Confusion : « notre possession », « la nôtre ».

TEST: C’est la {{votre}} ?
TEST: {{nôtre}} père est si âgé.
TEST: nous vous proposons de faire vôtre une autre volonté


# nulle part
__[i]/conf(conf_nulle_part)__
    nul part <<- not morph(word(-1), ":D", False, False) ->> nulle part                             # Confusion : pour dire « en aucun lieu », écrivez :

TEST: car {{nul part}} ailleurs, on n’en trouve une telle concentration


# numérique / digital
__[i]/conf(conf_qqch_numérique)__
    (?:stratégie|appareil|trans(?:ition|formation)|caméra|télévision|banque|connexion|prise|présence|entreprise|com(?:pagnie|munication)|agence|expérience|solution|identité|économie|ère|service)s? (digital(?:es?|aux|))  @@$
    <<- -1>> numérique|numériques
    # Confusion : “digital” est un adjectif se rapportant aux doigts (empreinte digitale, arthrose digitale, etc.). Utilisez :
__[i]/conf(conf_le_numérique)__
    (?:le|du|au) (digital)  @@$
    <<- -1>> numérique
    # Confusion : “digital” est un adjectif se rapportant aux doigts (empreinte digitale, arthrose digitale, etc.). Utilisez :

TEST: une économie {{digitale}} ou rien
TEST: Dans l’ère du {{digital}}, tout va plus vite.


## on / ont
__[i>/conf(conf_on1)__
    (ont) [nmts]’(?!(?:ils?|elles?))  @@0
    <<- isStart() -1>> on                                                                           # Confusion probable : “ont” est une conjugaison du verbe avoir.

TEST: {{ont}} m’assure qu’il n’y en a pas.
TEST: {{Ont}} n’arrive pas à s’en sortir.


__[i]/conf(conf_on2)__
    (?<![nmts]’)(ont) ({w_1})  @@0,$
    <<- ( re.search("^[nmts]e$", \2) or
        (not re.search("(?i)^(?:confiance|envie|peine|prise|crainte|affaire|hâte|force|recours|somme)$", \2) and morphex(\2, ":[0123][sp]", ":[QG]")) )
        and morph(word(-1), ":Cs", False, True)
    -1>> on                                                                                         # Confusion probable : “ont” est une conjugaison du verbe avoir.

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: qui n’ont somme toute que le désir de vivre paisiblement


__[i]/conf(conf_on3)__
    (ont) (?:l(?:ui|eur)|[nv]ous) ({w_2})  @@0,$
    <<- morphex(\2, ":V.*:(?:[1-3][sp])", ":(?:G|1p)")
        and not ( \0.find(" leur ") and morph(\2, ":[NA].*:[si]", False) ) and isStart()
    -1>> on                                                                                         # Confusion probable : “ont” est une conjugaison du verbe avoir.

TEST: {{Ont}} lui avait donné du temps
TEST: {{Ont}} leur prendra tout
TEST: Qu’importe, {{ont}} leur prend tout


__[i]/conf(conf_on4)!6__
    [nmtsl]’(?:y|en) (on) @@$ <<- -1>> ont                                                          # Confusion. Exemples : « on y va », « ils ont faim ».

TEST: n’y {{on}} jamais lieu de telles abominations !


__[i]/conf(conf_on5)!6__
    [nmts]e l’(on) @@5 <<- -1>> ont                                                                 # Confusion. Exemples : « on y va », « ils ont faim ».

TEST: ces chiens te l’{{on}} {{donné}}


__[i]/conf(conf_on6)!6__
    qui +(on) @@$
    <<- not morph(word(-1), ":[VR]", False, False) and not morph(word(1), ":(?:3s|Oo|X)", False)
    -1>> ont                                                                                        # Confusion probable. Exemples : « on y va », « ils ont faim ».

TEST: Qui {{on}} {{tant}} de malheurs !
TEST: qui on blâme, ce soir ?


__[i]/conf(conf_xxx_on1)__
    {w_2}-(ont) @@$ <<- -1>> on       # Incohérence : “ont” est une forme conjuguée du verbe “avoir” (par exemple: “ils ont”). Pour le pronom personnel, écrivez :

TEST: peut-{{ont}} y arriver avec si peu de moyens ?


__[i]/conf(conf_xxx_on2)__
    ({w_2})( ont)  @@w,$
    <<- morph(\1, ":3s", False) and before("^ *$|, $") -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: peut{{ ont}} y arriver ?
TEST: les politiques de l’offre ont échoué.


# pain / pin
__[i]/conf(conf_pain_qqch)__
    (pins?) (?:d’épices?|perdus?|sans glutens?) @@0 <<- -1>> =\1.replace("pin", "pain")
    # Confusion. Le pin est un arbre résineux à aiguilles persistantes. Pour parler la pâte de farine et d’eau cuite au four, écrivez :
__[i]/conf(conf_manger_pain)__
    ((?:mang|dévor|aval|englout)\w+) +(?:les?|d(?:u|es)|un|[mts](?:on|es)|leurs?|[nv]o(?:s|tre)) +(pins?)  @@0,$
    <<- morph(\1, ">(?:manger|dévorer|avaler|engloutir) ") -2>> =\2.replace("pin", "pain")
    # Confusion probable. Le pin est un arbre résineux à aiguilles persistantes. Pour parler la pâte de farine et d’eau cuite au four, écrivez :
__[i]/conf(conf_pomme_de_pin)__
    pommes? de (pains?) @@$ <<- -1>> 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
__[i]/conf(conf_aller_de_pair)__
    ((?:all|v|ir)\w+) de (pair(?:es?|s)|perd?s?)  @@0,$
    <<- morph(\1, ">aller ", False) -2>> pair                                                       # Confusion. On écrit « aller de pair ».

TEST: Ils vont de {{paires}}.


# pâle / pale
__[i]/conf(conf_être_pâle)!6__
    ({etre}) +(pales?)  @@0,$
    <<- morph(\1, ":V0e", False) -2>> =\2.replace("pal", "pâl")
    # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale
__[i]/conf(conf_qqch_pâle)__
    (?:airs?|lu(?:mière|eur)s?|teinte?s?|co(?:loris|uleurs?)|peaux?|visages?|bleus?|rouges?|jaunes?|verts?|gris|oranges?|violets?|pourpres?) +(pales?) @@$
    <<- -1>> =\1.replace("pal", "pâl")
    # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale

TEST: Elle est très {{pale}} !
TEST: Sous une lumière {{pale}},


# parti / partie
__[i]/conf(conf_prendre_parti)__
    (pr\w+) +(parti(?:s|es?)) @@0,$ <<- morph(\1, ">prendre ", False) -2>> parti                    # Confusion. On écrit « prendre parti ».
__[i]/conf(conf_tirer_parti)__
    (tir\w+) +(parti(?:s|es?)) @@0,$ <<- morph(\1, ">tirer ", False) -2>> parti                     # Confusion. On écrit « tirer parti ».
__[i]/conf(conf_faire_partie)__
    (f[aieoî]\w+) +(parti(?:s|es|)) @@0,$ <<- morph(\1, ">faire ", False) -2>> partie               # Confusion. On écrit « faire partie ».
__[i]/conf(conf_juge_et_partie)__
    juges? et partis? <<- ->> juge et partie|juges et parties                                       # Confusion. On écrit « être juge et partie ».
__[i]/conf(conf_prendre_à_partie)__
    (pr\w+) +(?:{w_2} +|)([àa] partis?) @@0,$ <<- morph(\1, ">prendre ", False) -2>> à 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 Damien {{à parti}}.


# pâte / patte
__[i]/conf(conf_pâtes)__
    (p[aâ]t?tes?) +(alimentaires?|alsaciennes?|chinoises?|feuilletées?|italiennes?|thermiques?|au (?:basilic|beurre|saumon|pesto|poulet|thon)|[àa] (?:crêpes?|gaufres?|pizzas?|tartes?|modeler|tartiner)|d’am[ea]ndes?|de fruits?) @@0,$
    <<- re.search("(?i)^pattes?", \1) -1>> =\1.replace("att", "ât")                                 # Confusion. La patte est le membre d’un animal (ou d’une table…). La matière pâteuse s’écrit “pâte”.
    <<- \2.startswith("d’amende") -2>> d’amande                                                     # Confusion. L’amende est une peine. Pour le fruit de l’amandier, écrivez “amande”.
    <<- \2.startswith("a ") -2>> =\2.replace("a ", "à ")                                            # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.

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 pâte {{a pizza}} est plus épaisse que la pâte à crêpes.
TEST: Elle adore la pâte {{d’amende}}.


__[i]/conf(conf_coq_en_pâte)__
    (?:coqs?) en (pattes?) @@$ <<- -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”.

TEST: Il est comme un coq en {{pattes}} là.


# peu / peut / peux
__[i]/conf(conf_peu_de_qqch)__
    (peu[xt]) d(?:e |’)({w_2}) @@0,$
    <<- morph(\2, ":[NAQ]") -1>> peu                                        # Confusion probable : « \1 » est une conjugaison de “pouvoir”, utilisez “peu” pour dire “pas beaucoup”.

TEST: Et {{peut}} de gens peuvent en dire autant.
TEST: Il est guéri et peut de nouveau travailler.


# peut-être / peut être
__[i]/conf(conf_peut_être_adverbe1)__
    ({w1}) (peut être) @@0,$ <<- morphex(\1, ":V", ":(?:N|A|Q|G|MP)") -2>> peut-être      # Confusion probable. Pour dire “possiblement”, écrivez :
__[i]/conf(conf_peut_être_adverbe2)__
    ^ *(peut être) @@$ <<- -1>> peut-être                                                 # Confusion probable. Pour dire “possiblement”, écrivez :

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


# plain / pied
__[i]/conf(conf_de_plain_pied)__
    (?:de|au) (pleins?[- ]pieds?) @@3 <<- -1>> plain-pied                                 # Écrivez « plain-pied ». Plain (vieux) : qui est plat, uni.

TEST: C’est une maison de {{plein pied}}.


# pôle / pole
__[i]/conf(conf_pôle)__
    pole(?! position| dance) <<- ->> pôle                                                 # « pole », uniquement 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.


# diagnostic / diagnotique // pronostic / pronostique
__[i]/conf(conf_diagnostic_pronostique)__
    (?:diagnostique|pronostique)s?
    <<- ( \0.endswith("s") and before(r"(?i)\b(?:[mtscd]es|[nv]os|leurs|quels) $") )
        or ( \0.endswith("e") and before(r"(?i)\b(?:mon|ce|quel|un|du|[nv]otre) $") )
    ->> =\0.replace("que", "c")                                                           # Confusion. Le nom s’écrit avec un “c”.

TEST: Ce {{diagnostique}} est absurde.
TEST: C’est la valse des {{pronostiques}} contradictoires aujourd’hui.


# pu / pus
__[i]/conf(conf_pu)__
    ({avoir}) +(pu(?:es?|s)) @@0,$ <<- morph(\1, ":V0a", False) -2>> pu                   # Confusion. Pour le participe passé de pouvoir, écrivez :

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


# quand même / comme même
__[i]/conf(conf_)__
    comme même <<- morph(word(1), ":(?:Os|C)", False, True) ->> 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}}…


# quel que soit / quoi qu’il en soit
__[i]/conf(conf_quel_que_soit1)__
    quelques? soi(?:ent|t|s|)
    <<- ->> quel que soit|quelle que soit|quels que soient|quelles que soient             # Confusion.|https://fr.wiktionary.org/wiki/quel_que_soit
__[i]/conf(conf_quoi_qu_il_en_soit)__
    quoiqu il en soit <<- not morph(word(1), ":[AQ]", False) ->> quoi qu’il en soit       # Confusion.|https://fr.wiktionary.org/wiki/quoi_qu%E2%80%99il_en_soit

TEST: {{quelques soient}} les avantages d’un correcteur…
TEST: {{quoiqu’il en soit}}, nous ne nous laisserons pas faire, vous pouvez compter sur nous.


# quelque part
__[i]/conf(conf_quelque_part)__
    quel(?:(?:le|)s? que par[ts]?|ques? par[se]?s?) <<- ->> 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}}.


# quelquefois / quelques fois
# Note : quelquefois ne peut être vérifié ici, puisque le mot est supprimé par le préprocesseur.
#__[i]/conf(conf_)__
#    quelques? fois(?! au cours| par)
#    <<- not morph(word(-1), ":D", False, False)
#    ->> quelquefois
#    # Confusion probable : « quelquefois » est un adverbe qui signifie « parfois » ; ne pas confondre avec les quelques fois qu’il est advenu ou qu’il adviendra quelque chose.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4334


__[i]/conf(conf_quelquefois_quelques_fois)__
    qu(?: elles? que fois?|elles? que fois?|elque fois) <<- ->> 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  

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.


# quoique / quoi que
__[i]/conf(conf_de_quoi_que)__
    de (quoique) @@3 <<- -1>> 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
__[i]/conf(conf_quoi_qu_il_en_coûte)__
    (quoiqu il) en (?:co[uû]te) @@0 <<- isEnd() -1>> quoi qu’il                           # Confusion probable.

TEST: Elle y parviendra, {{quoiqu’il}} en coûte.


# raisonner / résonner
__[i]/conf(conf_raisonner)__
    (?:la|les?|[mts]e|[nv]ous) (résonn\w+)  @@$
    <<- morph(\1, ">résonner ", False) -1>> =\1.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}}.


# ris / riz
__[i]/conf(conf_ris_de_veau_agneau)__
    (riz?) (?:de veaux?|d’agneaux?) @@0 <<- -1>> ris                                      # Confusion.|http://fr.wiktionary.org/wiki/ris

TEST: Elles ont préparé un {{riz}} de veau.


# saint / sain / sein / seing
__[i]/conf(conf_saint)__
    (s[ae]in) ([A-ZÉÊÈ]\w+) @@0,$ <<- morph(\2, ":M1", False) and morph(word(-1), ":(?:R|[123][sp])", False, True) -1>> saint
    # Confusion : “sain” signifie “en bonne santé”, le sein est un organe thoracique féminin. Pour évoquer ce qui est “sanctifié”, écrivez :|https://fr.wiktionary.org/wiki/saint
__[i]/conf(conf_sein)__
    (?:en|dans|sur) [mts]on (saint?) @@$ <<- -1>> 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 :|https://fr.wiktionary.org/wiki/sein
__[i]/conf(conf_au_sein_de)__
    au (sain) d(?:es?|u) @@3 <<- -1>> 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 :|https://fr.wiktionary.org/wiki/sein
__[i]/conf(conf_blanc_seing)__
    blanc-(?:s[ae]int?)(s|) @@$ <<- ->> blanc-seing\1                                     # 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}}


# sale / salle
__[i]/conf(conf_salle_qqch)__
    (sales?) (?:d’(?:accouchement|arcade|attente|audience|eau|escalade|échographie|embarquement|exposition|hospitalisation|observation|opération|urgence)s?|d(?:es?|u) (?: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|infirmier|lecture|machine|malade|mammographie|marché|mariage|musculation|musique|ordinateur|presse|prière|prof(?:esseur|)|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|infirmier|jeu|repos|urgence)s?|à manger) @@0
    <<- -1>> =\1.replace("sale", "salle")
    # Confusion : “sale” signifie “malpropre”. Pour désigner une pièce, écrivez :
__[i]/conf(conf_être_sale)__
    ({etre}) +(salles?)  @@0,$
    <<- morph(\1, ":V0e", False) -2>> =\2.replace("salle", "sale")
    # Confusion. Une salle est une pièce. Pour la malpropreté, écrivez :

TEST: dans la {{sale}} des professeurs
TEST: une {{sale}} d’arcade
TEST: ils sont tellement {{salles}}
TEST: pour le service en salle


# sans / sens
__[i]/conf(conf_sens_dessus_dessous)__
    sans[ -]dessus[ -]dessous <<- ->> sens dessus dessous       # Confusion. Locution adverbiale : « sens dessus dessous ».|https://fr.wiktionary.org/wiki/sens_dessus_dessous

TEST: Tout est {{sans dessus dessous}}.


# sceptique / septique
__[i]/conf(conf_qqch_septique)__
    (?:fosse|installation|choc|chirurgie|maladie|plaie|blessure|embolie|arthrite|isolement|pneumo-entérite)s? (sceptiques?)  @@$
    <<- -1>> =\1.replace("scep","sep")                          # Confusion possible. Septique = corrompu, infecté. Sceptique = ayant des doutes.
__[i]/conf(conf_être_sceptique)__
    ({etre}|demeur\w+) +(septiques?)  @@0,$
    <<- morph(\1, ">(?:être|demeurer) ", False) -2>> =\2.replace("sep", "scep")
    # Confusion possible. Septique = corrompu, infecté. Sceptique = ayant des doutes.

TEST: cette fosse {{sceptique}} est pleine.
TEST: Je suis {{septique}} !


# s’ensuivre
__[i]/conf(conf_s_ensuivre)__
    s’en (sui\w+) @@$ <<- morph(\1, ">suivre ", False) ->> s’en\1                         # Verbe « s’ensuivre ».

TEST: {{S’en suivit}} une guerre de tous les instants.
TEST: {{S’en suivre}}.


# soi / soit
__[i]/conf(conf_soi_disant)__
    soi[tse]?[ -]disante?s? <<- not re.search("(?i)^soi-disant$", \0) ->> 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.


__[i]/conf(conf_prep_soi)__
    (?:chez|don de|sur|avec|pour) (soit) @@$ <<- not after(" soit ") -1>> soi                       # Confusion probable.
__[i]/conf(conf_en_soi)__
    (?<!’)en (soit)  @@3
    <<- morph(word(1), ":[GY]", True, True) and not before("(?i)quel(?:s|les?|) qu $|on $|il $") and not after(" soit ")
    -1>> soi                                                                                        # Confusion probable.
__[i]/conf(conf_quel_que_soit2)__
    quel(?:le|)s? que (soi(?:es?|)) @@$ <<- -1>> soit|soient                                        # Confusion probable. 
__[i]/conf(conf_soi_même1)__
    (soi[tes]s? mêmes?) @@$
    <<- morph(word(-1), ":[YQ]|>(?:avec|contre|par|pour|sur) ", False, True) -1>> 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.
__[i]/conf(conf_soi_même2)__
    soi[tes]s?-mêmes? <<- ->> 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


__[i]/conf(conf_soit1)__
    (soie?s?) ({w_2})  @@0,$
    <<- isStart() and morphex(\2, ":[OC]", ":R") -1>> soit                                          # Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction
__[i]/conf(conf_soit2)__
    (soie?s?) [jtcç]’ @@0
    <<- isStart() -1>> soit                                                                         # Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction

TEST: {{soi}} je vais au cinéma, {{soi}} je m’abstiens.
TEST: {{soie}} j’arrive avant tout le monde.


# sur / sûr
__[i]/conf(conf_sûr_que)__
    (sure?s?) que?  @@0
    <<- -1>> =\1.replace("sur", "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
__[i]/conf(conf_sûre_surs_de)__
    (sur(?:es?|s)) de?  @@0
    <<- -1>> =\1.replace("sur", "sûr")
    # Confusion probable : “sur” un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|http://fr.wiktionary.org/wiki/sur
__[i]/conf(conf_sûr_de)__
    (sur) d(?:e (?:m(?:oi|es?|on|a)|t(?:oi|es?|on|a)|vous|nous|l(?:ui|es?)|s(?:oi|es?|on|a)|ce(?:ci|la|s|tte|t|)|ça)|’(?:elles?|eux))  @@0
    <<- -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
__[i]/conf(conf_sûr_de_vinfi)__
    (sur) de (?:l(?:a |’|es? |ui |eur )|)({infi})  @@0,$
    <<- morph(\2, ":Y", False)
    -1>> =\1.replace("sur", "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
__[i]/conf(conf_en_lieu_sûr)__
    en lieu (sur)  @@8
    <<- -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

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.


# tâche / tache (de chocolat / rousseur / vin / sang / café / gras / graisse / huile / etc.)
__[i]/conf(conf_tache_de_qqch)__
    (tâches?) d(?:e +|’)({w_2})  @@0,$
    <<- morphex(\2, ":N", ":[GMY]|>(?:fonds?|grande (?:envergure|ampleur|importance)|envergure|ampleur|importance|départ|surveillance) ") and not before("accompl|dél[éè]gu")
    -1>> =\1.replace("â", "a")
    # Confusion probable. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.
__[i]/conf(conf_tache_adjectif)__
    (tâches?) +(?:indélébile|rouge|verte|noire|bleue|jaune|grise|blanche|brune|pourpre|chocolat|mauve|fushia|violette|rose|claire|sombre)s?  @@0
    <<- -1>> =\1.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: en tâche de fond
TEST: la tâche de la justice
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 surveillances, notamment au sein de la nouvelle brigade anti-insécurité.


# taule / tôle
__[i]/conf(conf_aller_en_taule)__
    ({aller}) +en (t[ôo]les?)  @@0,$
    <<- morph(\1, ">aller ", False) -2>> taule                            # Confusion. La tôle est une plaque de métal laminé. Pour la prison, écrivez :
__[i]/conf(conf_faire_de_la_taule)__
    (f[aiî]\w+) +de la (t[ôo]les?)  @@0,$
    <<- morph(\1, ">faire ", False) -2>> taule                            # Confusion. La tôle est une plaque de métal laminé. Pour la prison, écrivez :
__[i]/conf(conf_tôle_qqch)__
    (taules?) (?:(?:boulonné|cintré|émaillé|embouti|galvanisé|gaufré|nervuré|ondulé|perforé|soudé|translucide)e?s?|(?:d(?:e |’)|en )(?:acier|alu|aluminium|bardage|cuivre|étanchéité|fer|festonnage|inox|laiton|métal|trapèze|zinc|éverite|fibro-?ciment|plastique|polycarbonate|PVC)s?)  @@0
    <<- -1>> =\1.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)
__[i]/conf(conf_en_tant_que)__
    en (temps|tan) que? @@3 <<- -1>> tant                         # Confusion. Écrivez « en tant que ».|http://fr.wiktionary.org/wiki/en_tant_que
__[i]/conf(conf_il_être_tant_de)__
    il ({etre}) +(tant?) d(?:e |’)({infi}|ne|en|y)  @@3,w,$
    <<- morph(\1, ":V0e", False) and morph(\3, ":Y|>(?:ne|en|y) ", False)
    -2>> temps                                                              # Confusion.

TEST: en {{tan}} que meneuse intrépide, elle a toujours fait preuve d’une grande imagination.
TEST: il est bien évidemment {{tant}} d’en finir avec ça.


# teint / tain / thym
__[i]/conf(conf_sans_tain)__
    (?:glace|miroir|verre)s? sans (tains|teints?|thyms?) @@$ <<- -1>> tain                # Confusion.|http://fr.wiktionary.org/wiki/glace_sans_tain
__[i]/conf(conf_fond_de_teint)__
    fonds? de (tains?|teints|thyms?) @@$ <<- -1>> 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}}.


# tort / tord
__[i]/conf(conf_à_tort)__
    à (tor[de]?s?) @@2 <<- -1>> tort                                # Confusion : “tord” est une conjugaison du verbe tordre.
__[i]/conf(conf_avoir_tort)__
    ({avoir}|donn\w+) +(tor[ed]?s?) @@0,$
    <<- morph(\1, ">(?:avoir|donner) ", False) -2>> tort            # Confusion : “tord” est une conjugaison du verbe tordre.

TEST: elles seront à {{tord}} accusées.
TEST: ils ont {{tords}}…
TEST: ils ont {{tord}}.
TEST: ils n’ont pas {{tord}}.
TEST: je ne peux pas lui donner {{tord}}.


# venimeux / vénéneux
__[i]/conf(conf_qqch_venimeux)__
    (?:serpent|araignée|scorpion|vipère|cobra|crapaud|grenouille|dendrobate|poulpe|guêpe|abeille|méduse|morsure|piqûre|dard|dent|croc|crochet)s? +(vénéneu(?:x|ses?))  @@$
    <<- -1>> =\1.replace("énén", "enim")                                    # Confusion : “vénéneux” se dit des plantes, employez “venimeux”.
__[i]/conf(conf_qqch_vénéneux)__
    (?:(?:plante|champignon|lépiote|fruit|herbe|fleur|chair|moule|humus|substance)s?|végéta(?:l|ux)) +(venimeu(?:x|ses?))  @@$
    <<- -1>> =\1.replace("enim", "énén")                                    # Confusion : pas de venin ici.

TEST: ces araignées {{vénéneuses}}.
TEST: ce champignon {{venimeux}}.


# verre / vers / vert / ver
__[i]/conf(conf_ce_vers_quoi)__
    ce (ver(?:ts?|re|)) quoi  @@w
    <<- -1>> vers
    # Confusion. Dans la locution “ce vers quoi”, écrivez “vers” (qui signifie “en direction de”).
__[i]/conf(conf_ver)__
    (?:[lc]e|du|un) (ver(?:re|t)s?) +(?:qui +|)(?:est +|étai[ts] +|serai?[st]? +|f[uû][ts] +|)dans le fruit  @@3
    <<- -1>> ver
    # Confusion. Verre = matière. Vert = couleur. Vers = suite de mots rythmés. Vers = préposition (« en direction de »). L’animal s’écrit “ver”.
__[i]/conf(conf_ver_de_terre)__
    (ver(?:re|t)s?) de terre @@0
    <<- -1>> =\1.replace("re", "").replace("t", "")
    # Confusion. Verre = matière. Vert = couleur. Vers = suite de mots rythmés. Vers = préposition (« en direction de »). L’animal s’écrit “ver”.
__[i]/conf(conf_verre)__
    (vert?s?) d(?:e (?:bière|cidre|contact|champagne|chianti|dégustation|jus|lait|limonade|rosé|rhum|sécurité|thé|vin|whisky)s?|’(?:alcool|absinthe|eau|urine)) @@0
    <<- -1>> verre|verres
    # Confusion probable. Verre = matière. Vert = couleur. Vers = suite de mots rythmés. Vers = préposition (« en direction de »).

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: ce {{vert}} quoi nous allons, c’est une catastrophe à l’échelle planétaire.


# vieil / vieux
__[i]/conf(conf_vieil_euphonie)__
    (vieux) ([aeioué]\w+|homme)  @@0,$
    <<- morph(\2, ":[NAQ].*:[me]:s") -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


# nouveau / nouvel
# TODO



!!!! Mots composés                                                                                  

__[i]/mc(mc_mot_composé)__
    ({w2})-({w2})  @@0,$
    <<- not \1.isdigit() and not \2.isdigit()
        and not morph(\0, ":", False) and not morph(\2, ":G", False) 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", False)
        and not morph(\0, ":", False) and not spell(\1+\2)
    ->> _                                                                                           # Mot inconnu du dictionnaire.|http://www.dicollecte.org/dictionary.php?prj=fr&unknownword=on

TEST: __mc__ des {{portes-avions}}.



!!
!!
!!!! Casse: majuscules et minuscules                                                                
!!
!!

# Les jours
__[s]/maj(maj_jours_semaine)__
    (?:Lundi|Mardi|Mercredi|Jeudi|Vendredi|Samedi|Dimanche)
    <<- before(r"[\w,] +$") ->> =\0.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
__[s]/maj(maj_mois)__
    (?:Janvier|Février|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)
    <<- before(r"[\w,] +$") and not( ( \0=="Juillet" and before("(?i)monarchie +de +$") ) or ( \0=="Octobre" and before("(?i)révolution +d’$") ) )
    ->> =\0.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
__[s]/maj(maj_mois_mars)__
    (?:[eE]n|[0-3]?[0-9]) (Mars)  @@$
    <<- -1>> mars
    # Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

TEST: 15 {{Septembre}}                                                  ->> septembre
TEST: 23 {{Messidor}}                                                   ->> messidor
TEST: ils viendront en {{Mars}}.                                        ->> mars
TEST: le comité d’éthique qui statuera dans les meilleurs délais sur la situation de Véronique Avril


# Les États
__[s]/maj(maj_État_qqch)__
    (é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)  @@0
    <<- -1>> État                                       # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.
__[s]/maj(maj_États_qqch)__
    (états) (?:français|belge|suisse|canadien|palestinien|souverain|membre|américain|africain|européen|asiatique|voyou|démocratique|totalitaire|fédéra(?:l|ux)|fédéré|capitaliste|communiste|providence|nation)s?  @@0
    <<- -1>> États                                      # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.

__[s]/maj(maj_qqch_d_État)__
    (?:affaire|agent|administration|chancellerie|chefs|conseil|coup|diplôme|doctorat|emprunt|lycée|propriété|secret|homme|femme|police|religion|ministre|ministère|subvention|secrétaire|secrétariat|raison|ressortissant|université)s? d’(état)  @@$
    <<- -1>> État                                       # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.
__[s]/maj(maj_qqch_de_l_État)__
    (?:défense|s[ûu]reté|agent|budget|caisse|capitale|constitution|charge|chef|dirigeant|denier|finance|fonction|fonctionnement|frontière|institution|propriété|monopole|pouvoir|rouage|ressource|service|subvention|suprême)s? de l’(état)  @@$
    <<- not re.search("(?i)^fonctions? ", \0) or not before(r"(?i)\ben $")
    -1>> État                                           # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”.

__[s]/maj(maj_État_nation_providence)__
    (états?)-(?:[nN]ation|[pP]rovidence)s?  @@0
    <<- -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


# gentilés / ethnonymes
__[s]/maj(maj_gentilés)__
    ({w_2}) ((?:[aA]fghan|[aA]lbanais|[aA]lgérien|[aA]llemand|[aA]méricain|[aA]ndorran|[aA]ngo?lais|[aA]rabe|[aA]rgentin|[aA]rménien|[aA]ustralien|[aA]utrichien|[aA]siatique|[aA]zerbaïdjanais|[bB]ahamien|[bB]angladais|[bB]engladeshi|[bB]arbadien|[bB]asque|[bB]elge|[bB]élizien|[bB]éninois|[bB]reton|[bB]houtanais|[bB]iélorusse|[bB]irman|[bB]olivien|[bB]osnien|[bB]otswanais|[bB]résilien|[bB]ritannique|[bB]runéien|[bB]ulgare|[bB]urkinabé|[bB]urundais|[cC]ambodgien|[cC]amerounais|[cC]anadien|[cC]apverdien|[cC]entrafricain|[cC]hilien|[cC]hinois|[cC]hypriote|[cC]olombien|[cC]omorien|[cC]ongolais|nord-coréen|[cC]orse|[cC]ostaricien|[cC]roate|[cC]ubain|[dD]anois|[dD]jiboutien|[dD]ominicain|[éÉ]gyptien|[éÉ]mirati|[éÉ]quatorien|[éÉ]rythréen|[eE]stonien|[eE]spagnol|[éÉ]tats-?unien|[éÉ]tasunien|[éÉ]thiopien|[fF]idjien|[fF]inlandais|[fF]ormosan|[fF]rançais|[gG]abonais|[gG]ambien|[gG]éorgien|[gG]hanéen|[gG]rec|[gG]renadien|[gG]uadeloupéen|[gG]uatémaltèque|[gG]uinéen|[éÉ]quato-guinéen|[gG]uyanien|[hH]aïtien|[hH]ondurien|[hH]ollandais|[hH]ongrois|[iI]ndien|[iI]ndochinois|[iI]ndonésien|[iI]rakien|[iI]talien|[iI]ranien|[iI]rlandais|[iI]slandais|[iI]sraélien|[iI]voirien|[jJ]amaïcain|[jJ]aponais|[jJ]ordanien|[kK]azakh|[kK]ényan|[kK]osovar|[kK]oweïtien|[lL]aotien|[lL]apon|[lL]etton|[lL]ibanais|[lL]ibérien|[lL]ibyen|[lL]iechtensteinois|[lL]ituanien|[lL]uxembourgeois|[mM]acédonien|[mM]aghrébin|[mM]algache|[mM]alaisien|[mM]alawite|[mM]aldivien|[mM]alien|[mM]altais|[mM]aori|[mM]arocain|[mM]artien|[mM]auricien|[mM]auritanien|[mM]exicain|[mM]icronésien|[mM]oldave|[mM]onégasque|[mM]onténégrin|[mM]ongol|[mM]ozambicain|[nN]amibien|[nN]épalais|[nN]icaraguayen|[nN]igérien|[nN]igérian|[nN]éerlandais|[nN]orvégien|[nN]éo-zélandais|[oO]ugandais|[oO]uzbek|[pP]akistanais|[pP]alestinien|[pP]anaméen|[pP]araguayen|[pP]erse|[pP]éruvien|[pP]hilippin|[pP]olonais|[pP]olynésien|[pP]ortugais|[qQ]uébécois|[qQ]atari|[rR]oumain|[rR]usse|[rR]wandais|[s]aoudien|[s]candinave|[sS]alvadorien|[sS]énégalais|[sS]erbe|[sS]ingapourien|[sS]lovaque|[sS]lovène|[sS]omalien|[sS]oudanais|[sS]oviétique|[sS]rilankais|[sS]uédois|[sS]uisse|[sS]urinamais|[sS]yrien|[sS]ud-(?:africain|coréen|américain)|[tT]adjik|[tT]anzanien|[tT]chadien|[tT]chèque|[tT]haïlandais|[tT]ogolais|[tT]ahitien|[tT]unisien|[tT]urkmène|[tT]urc|[tT]aïwanais|[uU]krainien|[uU]ruguayen|[vV]énézuélien|[vV]ietnamien|[yY]éménite|[yY]ougoslave|[zZ]aïrois|[zZ]ambien|[zZ]imbabwéen)n?e?s?)
    @@0,$
    <<- \2.istitle() and morphex(\1, ":N", ":(?:A|V0e|D|R|B)") and not re.search("^([oO]céan Indien|[îÎiI]les Britanniques)", \0)
    -2>> =\2.lower()                                                                                # S’il s’agit d’un adjectif, ne mettez pas de majuscule.
    <<- \2.islower() and not \2.startswith("canadienne") and
    ( re.search("(?i)^(?:certaine?s?|cette|ce[ts]?|[dl]es|[nv]os|quelques|plusieurs|chaque|une|aux)$", \1) or
    ( re.search("(?i)^un$", \1) and not after("(?:approximatif|correct|courant|parfait|facile|aisé|impeccable|incompréhensible)") and not before(r"(?i)\bdans +")) )
    -2>> =\2.capitalize()                                                                           # S’il s’agit d’un gentilé, mettez une majuscule.

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: et des {{soudanaises}}.
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.


__[s]/maj(maj_gentilés2)__
    (?:une? |certaine?s? |cet? |[cdl]es |cette |l[ea] |quelques |plusieurs |chaque )((?:européen|parisien|lyonnais|marseillais|lillois|toulousain|nantais|strasbourgeois|montpelliérain|bordelais|bruxellois|montréalais|londonien|genévois|zurichois|bâlois|berlinois)n?e?s?)  @@$
    <<- -1>> =\1.capitalize()                                                                       # S’il s’agit d’un gentilé, mettez une majuscule.

TEST: des {{parisiens}} en vacances


# les langues
__[s]/maj(maj_langues)__
    ((?:parl|cours|leçon|appr|étud|tradu|enseign|professeur|enseignant|dictionnaire|méthode)\w*) (?:le |d[eu] |l’|d’|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|Wo?u|Yiddish|Xhosa|Xiang|Zoulou)  @@0,$
    <<- morph(\1, ">(?:parler|cours|leçon|apprendre|étudier|traduire|enseigner|professeur|enseignant|dictionnaire|méthode) ", False)
    -2>> =\2.lower()                                                                                # Si vous parlez de la langue, pas de majuscule.

__[s]/maj(maj_en_langue)__
    (?:[Ee]n )(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|Wo?u|Yiddish|Xhosa|Xiang|Zoulou)  @@3
    <<- -1>> =\1.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
__[s]/maj(maj_Moyen_Âge)__
    [Mm]oyen[- ][Aâa]ge <<- ->> Moyen Âge                                                  # Le « Moyen Âge ».

TEST: C’est le {{moyen age}}, chez ces ploucs.


# Église
__[s]/maj(maj_Église)__
    [lL]’(église) (?:adventiste|anglicane|copte|catholique|calviniste|épiscopalienne|jacobite|luth[eé]rienne|méthodiste|mormone|néo-?apostolique|orthodoxe|pentecôtiste|presbytérienne|protestante|réformée) @@2
    <<- -1>> Église
    # Lorsqu’on parle de l’institution, une majuscule est requise. Pour un bâtiment, pas de majuscule.
__[s]/maj(maj_homme_d_Église)__
    [hH]ommes? d’(église) @@$
    <<- -1>> Église
    # Lorsqu’on parle de l’institution, une majuscule est requise. Pour un bâtiment, pas de majuscule.
__[s]/maj(maj_qqch_de_l_Église)__
    (?:[cC]hef|[rR]ite|[sS]acrement)s? de l’(église) @@$
    <<- -1>> Église
    # Lorsqu’on parle de l’institution, une majuscule est requise. Pour un bâtiment, pas de majuscule.
__[s]/maj(maj_église_qqch)__
    (Église)s? +(?:baroques?|gothiques?|romanes?|Saint-[A-ZÉÊ]{w_2})  @@0
    <<- before(r"\w") -1>> é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
__[s]/maj(maj_qqch_du_Nord_Sud)__
    (?:Afrique|Amérique|Asie|Corée|Galles|Europe|Irlande|Soudan|Rhodésie|Territoire) du (nord|sud)  @@$
    <<- -1>> =\1.capitalize()                                                                       # Majuscule manquante.
__[s]/maj(maj_qqch_de_l_Ouest_Est)__
    (?:Afrique|(?:ex-|)Allemagne|Asie|Europe|Pays) de l’(ouest|est) @@$
    <<- -1>> =\1.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
__[s]/maj(maj_unités)__
    (\d+|une?|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|septante|octante|huitante|nonante|cents?|mille) ([A-Z]\w+)  @@0,$
    <<- re.search("^(?: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?|(?:Exa|P[ée]ta|Téra|Giga|Méga|Kilo|Hecto|Déc[ai]|Centi|Mi(?:lli|cro)|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?", \2)
    -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}}.
TEST: Elle en prendra vingt {{Grammes}}.




!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!! Conjugaisons                                                                                    
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!


!!
!!
!!!! Infinitif                                                                                      
!!
!!

__[i]/infi(infi_à_en)__
    à en ({w_2}) @@5
    <<- morphex(\1, ":V", ":Y") -1>> =suggVerbInfi(@)                                               # Le verbe devrait être à l’infinitif.

TEST: à en {{parlé}} sans cesse


__[i]/infi(infi_de)__
    de ({w_2}(?:é|ez))  @@3
    <<- morph(\1, ":V1") and not \1[0:1].isupper()
        and (\1.endswith("z") or not before(r"(?i)\b(?:quelqu(?:e chose|’une?)|(?:l(es?|a)|nous|vous|me|te|se)[ @]trait|personne|point +$|rien(?: +[a-zéèêâîûù]+|) +$)"))
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Il tentait de {{raisonné}} en homme libre
TEST: sa façon de {{nettoyez}} était inefficace.


__[i]/infi(infi_de_nous_vous_lui)__
    de +(?:[nv]ous|lui) ({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V1", ":M[12P]") -1>> =suggVerbInfi(@)                                         # Le verbe devrait être à l’infinitif.

TEST: de nous {{libérez}} de lui


__[i]/infi(infi_de_le_les)__
    de les? ({w_2}(?:ée?s?|ez|ai[st])) @@$
    <<- morph(\1, ":V1", False) -1>> =suggVerbInfi(@)                                               # Le verbe devrait être à l’infinitif.

TEST: de les {{changeait}}


__[i]/infi(infi_y)__
    (?<!d’)y +({w_2}ée?s?)  @@$
    <<- morphex(\1, ":V", ":[123][sp]") -1>> _                                                      # Le verbe ne devrait pas être un participe passé.

TEST: y {{mangée}} était un supplice


__[i]/infi(infi_pour)__
    pour ({w_2}(?:ée?s?|ez))  @@5
    <<- morphex(\1, ":V1", ":[NM]") and not morph(word(-1), ">(?:tenir|passer) ", False)
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: pour {{mangé}} à sa faim, il faudra chasser.
TEST: C’est pour {{attaqué}} la journée.


__[i]/infi(infi_pour_nous_vous_lui)__
    pour +(?:[nv]ous|lui) ({w_2}(?:ée?s?|ez))  @@$
    <<- morph(\1, ":V1", False) -1>> =suggVerbInfi(@)                                               # Le verbe devrait être à l’infinitif.

TEST: pour nous {{chassez}} de chez lui


__[i]/infi(infi_sans)__
    sans ({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V1", ":[NM]") -1>> =suggVerbInfi(@)                                           # Le verbe devrait être à l’infinitif.

TEST: sans {{dérogez}} aux règles en vigueur dans cet établissement


__[i]/infi(infi_nous_vous)__
    (?:nous|vous) ({w_2}ée?s?)  @@$
    <<- morph(\1, ":Q", False) and not morph(word(-1), "V0.*[12]p", False) -1>> _                   # Le verbe ne devrait pas être un participe passé.

TEST: Nous {{intéressé}} à la question ne suffit pas à faire de nous des experts.
TEST: nous {{ridiculisé}}
TEST: vous {{mangé}}


__[i]/infi(infi_devoir_savoir_pouvoir_interrogatif)__
    (d[eouû]\w+|s[auû]\w+|p[eouû]\w+|v[eo]u\w+)-(?:ils?|elles?|on|je|tu|nous|vous) +(?:pas +|)(?:[mts](?:e +|’)|lui +|[nv]ous +|)({w_2})  @@0,$
    <<- morph(\1, ">(?:devoir|savoir|pouvoir|vouloir) ", False) and morphex(\2, ":(?:Q|A|[123][sp])", ":[GYW]")
    -2>> =suggVerbInfi(@)                                                                           # Après « \1 » , le verbe devrait être à l’infinitif.

TEST: Peuvent-elles s’{{installaient}} ici ?
TEST: Peut-il {{chassé}} ces intrus ?
TEST: Ne veux-tu pas {{gardé}} ton boulot ?


__[i]/infi(infi_est_ce_que)__
    est-ce que +({w_2})  @@$
    <<- morphex(\1, ":(?:V1.*:Q|[13]s|2[sp])", ":[GYWM]") and not before(r"(?i)\bque? +$")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: est-ce que {{rapporté}} ces données nous aidera ?
TEST: est-ce que {{priait}} est la solution ?
TEST: Est-ce que Pierre Xazzz va bien ?
TEST: Qu’est-ce que rapporte réellement Dassault & Co au budget


__[i]/infi(infi_commencer_finir_par)__  ((?:commen[cç]|fin[iî])\w+) +par ({w_2}(?:ée?s?|ai[st]))  @@0,$
    <<- morph(\1, ">(?:commencer|finir) ", False) and morphex(\2, ":V", ":[NGM]") and not \2[0:1].isupper()
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: commence par {{mangé}} le poulet.
TEST: enfin la petite finit par {{pleuré}} à chaudes larmes.
TEST: sa tournée, elle la finit par Rodez.


__[i]/infi(infi_verbe_de)__
    ((?:cess|dé[cf]|sugg[éè]r|command|essa|tent|chois|perm[eiî]t|interd)\w*) +(?:pas |plus |point |guère |jamais |peu |rien |) *(?:de +|d’)({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">(?:cesser|décider|défendre|suggérer|commander|essayer|tenter|choisir|permettre|interdire) ", False) and analysex(\2, ":(?:Q|2p)", ":M")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: cessez d’{{anesthésié}} ces gens !


## INFINITIFS ERRONÉS

__[i]/infi(infi_adjectifs_masculins_singuliers)__
    ^ *(?:le|un|cet?|[mts]on|quel) (?!verbe)({w_2}) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:m:[si]", ":G") and morphex(\2, ":Y", ">aller |:(?:M|N.*:m:s)") and isNextVerb()
    -2>> =suggVerbPpas(\2, ":m:s")                                                  # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

__[i]/infi(infi_adjectifs_féminins_singuliers)__
    ^ *(?:la|une|cette|[mts]a|quelle) ({w_2}) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:f:[si]", ":G") and morphex(\2, ":Y", ">aller |:M") and isNextVerb()
    -2>> =suggVerbPpas(\2, ":f:s")                                                  # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

__[i]/infi(infi_adjectifs_singuliers)__
    ^ *(?:leur|[nv]otre) ({w_2}) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:[si]", ":G") and morphex(\2, ":Y", ">aller |:M") and isNextVerb()
    -2>> =suggVerbPpas(\2, ":s")                                                    # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

TEST: ce tableau {{voler}} coûte très cher.
TEST: la difficulté {{passer}} t’aidera par la suite
TEST: leur compte {{épurer}} servira encore.
TEST: Le vieux cocher avait mission


__[i]/infi(infi_adjectifs_pluriels)__
    ^ *(?:[lmtsc]es|[nv]os|leurs|quel(?:le|)s) ({w_1}[sxz]) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:[pi]", ":G") and morphex(\2, ":Y", ">aller |:M") and isNextVerb()
    -2>> =suggVerbPpas(\2, ":p")                                                    # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

TEST: les documents {{scanner}} ne sont pas lisibles.
TEST: tes doutes {{remâcher}} deviennent difficiles à vivre.



!!!! Participes présents                                                                             

__[i]/conj(conj_participe_présent)__  (?:ne|lui|me|te|se|nous|vous) ({w_2}ants)  @@$
    <<- morph(\1, ":A", False) -1>> =\1[:-1]                                                        # Un participe présent est invariable.|http://fr.wiktionary.org/wiki/participe_pr%C3%A9sent

TEST: nous {{épuisants}} à la tâche pour des clopinettes, nous défaillîmes.



!!!
!!!
!!! Processeur: simplification des substantifs                                                      
!!!
!!!

### @ : we remove @ we introduced after le/la/les in some cases
__<s>(p_arobase)__      @ <<- ~>> *

### Avant les verbes (ôter seulement les COI!)
__[i](p_ne_leur_lui)__  ne (leur|lui)(?! en) @@3 <<- ~1>> *

### Après les verbes
__[i](p_jamais2)__      jamais <<- ~>> *
#__[i](p_guère)__        guère <<- ~>> *
__[i](p_pas_point_rien_bien_ensemble1)__
    ({w1}) (pas|point|rien|bien|ensemble) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_pas_point_rien_bien_ensemble2)__
    \w+-(?:je|tu|ils?|elles?|on|[nv]ous) (pas|point|rien|bien|ensemble) @@$ <<- ~1>> *

# sembler le croire/penser/présumer/supposer/envisager/imaginer
__[i](p_que_semble_le_penser)__
    que +(sembl\w+) +(l(?:e (?:penser|croire|présumer|supposer)|’(?:envisager|imaginer))) @@w,$
    <<- morph(\1, ">sembler ", False) ~2>> *

### tous / tout / toute / toutes
__[i](p_tout_det_mas)__     (tout) (?:le|ce|[mts]on|leur) @@0 <<- ~1>> *
__[i](p_toute_det_fem)__    (toute) (?:la|cette|[mts](?:a|on)|leur) @@0 <<- ~1>> *
__[i](p_tous_det_plur)__    (tou(?:te|)s) (?:[csmlt]es|[vn]os|leurs) @@0 <<- ~1>> *

### Simplification des groupes nominaux

# désambiguïsation - pour contrer le faux positif qui veut accorder fois avec le participe passé de la proposition suivante
__[s](p_fois_que)__         (fois )que? @@0 <<- ~1>> fois=
__[i](p_que_l_on)__         que (l’)on  @@4 <<- ~1>> *


__[i](p_beaucoup_de_monde_temps)__  beaucoup (de (?:monde|temps)) @@9 <<- ~1>> _
__[i](p_en_plein_xxx)__             en pleine? ({w_2}) @@$ <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
__[i](p_en_tant_que_tel)__          en tant que tel(?:s|lles?|) <<- ~>> *

# de +
__[i](p_de_vinfi)__
    d(?:e |’)({infi}) @@$
    <<- morphex(\1, ":V[123]_i", ">(?:devenir|rester|demeurer) ") and isNextNotCOD() ~>> *
__[i](p_de_manière_façon_xxx_et_xxx)__
    de (?:manière|façon) +(?:non +|)({w_2}) +et +(?:non +|)({w_2})  @@w,$
    <<- morph(\1, ":A", False) and morphex(\2, ":A", ":[GM]") ~>> *
__[i](p_de_manière_façon)__
    de (?:manière|façon) +(?:non +|)({w_2})  @@$
    <<- morph(\1, ":A", False) ~>> *
__[i](p_de_nom_adj)__
    d(?:e +|’)({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":[NAQ].*:s", False) and morphex(\2, ":[NAQ].*:s", ":[GV]") and isEndOfNG() ~>> *

__[i](p_det_nom_adj_nom_adj)__
    (?:les? |la |l’|des |ce(?:s|tte|t|) |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques |aux? ) *({w2}) +({w2})  @@w,$
    <<- morphex(\1, ":[NAQ]", ":V0") and morphex(\2, ":[NAQ]", ":(?:G|[123][sp]|P)")
    ~2>> *

__[i](p_aucun_de_pronom)__      aucune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_aucun_des_xxx_ne)__     aucune? +(des +{w_2}) +ne? @@w <<- ~1>> *
__[i](p_chacun_de_pronom)__     chacune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_l_un_de_pronom)__       l’une? (de [nv]ous|des [nv]ôtres|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_la_plupart_des_xxx)__   la plupart (des {w_2}) @@11 <<- ~1>> *

# groupe déjà partiellement simplifié (selon les règles de la passe 3)
__[i](p_groupes_déjà_simplifiés)__
    (?:a(?:ux?|vec)|à|en)   +d(?:e +(?:la |l’|leurs? |ce(?:s|tte|t|) |[nv]o(?:s|tre) |[mts](?:a|on) |quelques? |certaine?s? )|es? |u ) *({w2})  @@$
    <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *

## y compris (pas terrible, mais cas difficile)
__[i](p_y_compris)__
    y compris <<- not before(r"(?i)\b(?:[jn]’|tu )$") ~>> *

## eux/nous/vous tous -- elles toutes
__[i](p_nous_vous_tous_toutes_qui)__    [nv]ous (tou(?:te|)s) qui @@5 <<- ~1>> *
__[i](p_eux_tous_qui)__                 eux (tous) qui @@4 <<- ~1>> *
__[i](p_elles_toutes_qui)__             elles (toutes) qui @@6 <<- ~1>> *

## groupe avec préposition
__[i](p_préposition_nom)__
    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)|aux?) +({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":[GY]") and isEndOfNG()
    ~>> *
__[i](p_préposition_déterminant_nom)__
    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)) +(?:les? |la |l’|de(?:s| la|) |ce[st]? |cette |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques ) *({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":G") and isEndOfNG()
    ~>> *
__[i](p_lors_de_du_nom)__
    lors d(?:’|e(?:s| la|) |u ) *({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":G") and isEndOfNG()
    ~>> *

## doute que
__[i](p_nul_doute_que)__
    nul doute qu  <<- isStart() ~>> *
__[i](p_douter_que)__
    (dout\w+)( ) *que?  @@0,*  <<- morph(\1, ">douter ", False) and before(r"(?i)\b(?:[mts]e|[nv]ous) +$") ~2>> ,

## de +
__[i](p_de_nom)__
    d(?:e +|’)(?!autres)({w_2}) @@$
    <<- morphex(\1, ":N", ":[GY]") and isEndOfNG() ~>> *
__[i](p_de_pronom_nom)__
    de (?:ce(?:t|tte|s|)|[mts](?:on|a|es)|[nv](?:otre|os)|leurs) +({w_2})  @@$
    <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
__[i](p_de_la_leur_nom)__
    de l(?:a|eur) +({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":Y") and isEndOfNG() ~>> *

__[s](p_virgule_virgule2)__     , +, <<- ~>> *
__[s](p_première_virgule2)__    ^ *, <<- ~>> *
__[s](p_dernière_virgule2)__    , *$ <<- ~>> *
__[s](p_tiret_tiret2)__         [—–-] +[—–-] <<- ~>> *
__[s](p_parenthèses_vides2)__   [(] +[)] <<- ~>> *
__[s](p_balise_vide2)__         [<] +[>] <<- ~>> *



TEST: tandis que d’autres perçoivent le bon goût de la soupe.
TEST: Je me doute bien que vous avez trouvé la réponse.
TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire.
TEST: Notre but n’était pas de devenir célèbres.
TEST: sans qu’on ait à le lui ordonner



!!!! OCR                                                                                            

# Participes passés
__[i]/ocr(ocr_être_participes_passés)__
    ({etre}) +({w_2}es?) @@0,$
    <<- morph(\1, ":V0e", False) >>>
    <<- \2.endswith("e") and morphex(\2, ":V1.*:Ip.*:[13]s", ":(?:[GM]|A)") and not before(r"(?i)\belle +(?:ne +|n’|)$")
    -2>> =suggVerbPpas(\2, ":m:s")                                                                  # Erreur de numérisation ?
    <<- __else__ and \2.endswith("s") and morphex(\2, ":V1.*:Ip.*:2s", ":(?:[GM]|A)") and not before(r"(?i)\belles +(?:ne +|n’|)$")
    -2>> =suggVerbPpas(\2, ":m:p")                                                                  # Erreur de numérisation ?

__[i]/ocr(ocr_avoir_participes_passés)__
    ({avoir}) +({w_2}es?) @@0,$
    <<- morph(\1, ":V0a", False) >>>
    <<- \2.endswith("e") and morphex(\2, ":V1.*:Ip.*:[13]s", ":[GM]|>envie ")
    -2>> =suggVerbPpas(\2, ":m:s")                                                                  # Erreur de numérisation ?
    <<- __else__ and \2.endswith("s") and morphex(\2, ":V1.*:Ip.*:2s", ":[GM]")
    -2>> =suggVerbPpas(\2, ":m:p")                                                                  # Erreur de numérisation ?

TEST: __ocr__ vous serez {{couche}} en terre.
TEST: __ocr__ nous serons {{presses}} de monter à bord de ce train-ci.
TEST: __ocr__ Elle était toujours persuadée que B. serait {{acquitte}}
TEST: __ocr__ je reconnais que j’ai pas {{traîne}}
TEST: __ocr__ elle est fauchée et a {{emprunte}} de l’argent
TEST: __ocr__ Alors il lui est {{remonte}} dessus
TEST: __ocr__ quel héros d’avoir {{affronte}} ces salopards de la police
TEST: __ocr__ il n’était pas le seul à être {{remonte}} contre eux.
TEST: __ocr__ par terre et je suis {{retourne}} sur la tombe.
TEST: __ocr__ Après on a {{creuse}} vers le haut.
TEST: __ocr__ il a {{affronte}} une bande de voleurs de bétail.
TEST: __ocr__ il était sublime.
TEST: __ocr__ elle avait envie de s’en sortir enfin.
TEST: __ocr__ la longueur de la circonférence étant égale à…
# TEST: __ocr__ vous êtes {{presses}} de monter à bord de ce train-ci.
# Fonctionne avec nous serons, mais pas nous sommes (bug de JavaScript?)



!!!! Confusions                                                                                     

## guerre / guère
__[i]/conf(conf_ne_pronom_pronom_verbe_guère)__
    ne (?:[mts]e|la|les?|[nv]ous|lui|leur) (?:la |les? |lui |leur |l’|)\w{w_2} (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: tout ceci ne me rapporte {{guerre}}


__[i]/conf(conf_ne_en_y_verbe_guère)__
    ne (?:[lmts]’(?:en |y |)|)\w{w_2} (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: je ne m’en soucie {{guerre}}


__[i]/conf(conf_n_en_y_verbe_guère)__
    n’(?:en |y |)\w{w_2} (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: Il n’y prête {{guerre}} d’attention.
TEST: Elle n’en accorde plus {{guerre}}.


__[i]/conf(conf_ne_guère)!6__
    ne (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: ne plus {{guerre}} s’en soucier


## s’en / c’en
__[i]/conf(conf_c_en_être)__
    (s’en) (?:n’|)(?:est|seras?|étai[ts]) +({w_2})  @@0,$
    <<- re.search("(?i)^(?:fini|terminé)s?", \2) and morph(word(-1), ":C", False, True)
    -1>> c’en
    # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de
    <<- re.search("(?i)^(?:assez|trop)$", \2) and (after("^ +d(?:e |’)") or isEnd())
    -1>> c’en
    # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de
    <<- morphex(\2, ":A", ":[GVW]") and morph(word(-1), ":C", False, True)
    -1>> 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: c’en est fini d’eux, ils sont comme morts
TEST: c’en est assez, ça suffit
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…


## soit / soie / soi
__[i]/conf(conf_aller_de_soi)__
    ({aller}) +de (soi[tes])  @@0,$
    <<- morph(\1, ">aller", False) and not after(" soit ") -2>> soi                                 # Confusion.|https://fr.wiktionary.org/wiki/aller_de_soi

TEST: cela ne va pas de {{soit}}.



!!!! Adverbes après verbe                                                                           

# fort
__[i]/sgpl(sgpl_verbe_fort)__
    ({w_2}) +(forts)  @@0,$
    <<- morphex(\1, ":V", ":[AN].*:[me]:[pi]|>(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre|appara[îi]tre) .*:(?:[123]p|P|Q)|>(?:affirmer|trouver|croire|désirer|estime|préférer|penser|imaginer|voir|vouloir|aimer|adorer|souhaiter) ")
        and not morph(word(1), ":A.*:[me]:[pi]", False)
    -2>> fort                                               # Confusion probable. S’il s’agit ici de l’adverbe “fort” (équivalent de “fortement”), écrivez-le au singulier.

TEST: ces emmerdeurs crient bien trop {{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.


# bien
__[i]/sgpl(sgpl_bien)__
    biens
    <<- morphex(word(-1), ":V", ":D.*:p|:A.*:p", False) ->> 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.



!!
!!
!!!! Infinitif                                                                                      
!!
!!

__[i]/infi(infi_d_en_y)__
    d’(?:en|y) +({w_2}(?:ée?s?|ai(?:en|)[st]?|ez))  @@$
    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.

TEST: arrête d’y {{consacré}} autant de temps.


__[i]/infi(infi_de_pronom)__
    de (?:[mtsn](?:e +|’(?:en +|y +|))|les? +)({w_2}(?:ée?s?|ai(?:en|)[st]?|ez))  @@$
    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.

TEST: Il s’agit de me {{donnait}} tout ça.
TEST: j’étais incapable de m’{{orientait}} dans la bonne direction.
TEST: ils étaient susceptibles de m’y {{trouvaient}}


#__[i]/infi(infi_de_la)__
#    de la +({w_2}(?:ai(?:en|)[st]?|ez))  @@$
#    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.
#
#TEST: elle était capable de la {{trouvait}} où qu’elle soit.


__[i]/infi(infi_de_pronom_le_les_la)__
    de [mtsn]e l(?:es?|a) +({w_2}(?:ée?s?|ai(?:en|)[st]?|ez))  @@$
    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.
    <<- ~>> *

TEST: de me le {{facturez}}


__[i]/infi(infi_faire_vouloir)__
    ((?:fai|f[iî]|fer|fon|v[oe]u)\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">(?:faire|vouloir) ", False) and not before(r"(?i)\b(?:en|[mtsld]es?|[nv]ous|un) +$") and morphex(\2, ":V", ":M")
        and not (re.search("(?i)^(?:fait|vouloir)$", \1) and \2.endswith("é"))
        and not (re.search("(?i)^(?:fait|vouloir)s$", \1) and \2.endswith("és"))
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Tu fais {{décoloré}} tes cheveux ?
TEST: je veux {{changé}}
TEST: je ne veux pas {{mangé}}
TEST: je sais {{mangé}}
TEST: je ne voulais pas {{marché}}
TEST: Elles ont voulu {{mangé}} de la viande.
TEST: elle fit peu {{mangé}} les enfants
TEST: fait pourtant avéré et corroboré par le même sondage.


__[i]/infi(infi_me_te_se_faire)__
    [mts]e (f(?:ai|[iî]|er|on)\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">faire ", False) and morphex(\2, ":V", ":M")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: me faire constamment {{laminé}} au jeu, ça finit par me fâcher.


__[i]/infi(infi_de_vouloir_faire)__
    de (?:vouloir|faire) +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V", ":M")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Je suis fatigué de vouloir {{essayé}} d’y remédier.


__[i]/infi(infi_savoir)__
    (s[auû]\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">savoir :V", False) and morph(\2, ":V", False) and not before(r"(?i)\b(?:[mts]e|[vn]ous|les?|la|un) +$")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Il faut savoir {{arrêté}} les frais.
TEST: un certain nombre de savoirs spécialisés

__[i]/infi(infi_il_faut)__
    il (?:ne |)fa(?:ut|udrait|udra|llut) +(?:lui (?:en|)|[mts](?:e |’(?:y |en |))|[nv]ous (?:en |y |)|en |y |)({w_2}(?:ée?s?|ez))  @@$
    <<- morph(\1, ":(?:Q|2p)", False)
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: il faut sans cesse {{persévéré}}


__[i]/infi(infi_il_faut_le_les_la)__
    il (?:ne |)fa(?:ut|udrait|udra|llut) +l(?:es? |a |’)({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":(?:Q|2p)", ":N")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Il faudrait l’{{essayé}}.


__[i]/infi(infi_lui)__
    lui ({w_2}ée?s?)  @@$
    <<- morph(\1, ":Q", False) -1>> =suggVerbInfi(@)                                                # Le verbe ne devrait pas être un participe passé.

TEST: lui {{mangée}} beaucoup.



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

__[i]/conj(conj_se_conf_être_avoir)__
    (s’)(?:en +|y+ |)({avoir})  @@0,$
    <<- morph(\2, ">avoir ", False) >>>
    <<- morph(\2, ":3p", False) -2>> sont|étaient|seront|seraient                                   # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”.
    <<- __else__ -2>> est|était|sera|serait                                                         # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”.

TEST: s’en {{ait}} trop


__[i]/conj(conj_je_me_conf_être_avoir)__
    je m’(?:en +|y+ |)({avoir})  @@$
    <<- morph(\1, ">avoir ", False) -1>> suis|étais|serai|serais                                    # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”.

__[i]/conj(conj_tu_te_conf_être_avoir)__
    tu t’(?:en +|y+ |)({avoir})  @@$
    <<- morph(\1, ">avoir ", False) and not morph(word(-1), ":V0", False, False)
    -1>> es|étais|seras|serais                                                                      # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”.

__[i]/conj(conj_nous_nous_conf_être_avoir)__
    (nous) nous (?:en +|y+ |)({avoir})  @@0,$
    <<- morph(\2, ">avoir ", False) and isStart() -2>> sommes|étions|serons|serions                 # Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”.
    <<- __also__ -1>> nous,                                                                         # S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer les personnes que vous désignez du sujet.

__[i]/conj(conj_vous_vous_conf_être_avoir)__
    (vous) vous (?:en +|y+ |)({avoir})  @@0,$
    <<- morph(\2, ">avoir ", False) and isStart() -2>> êtes|étiez|serez|seriez                      # Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”.
    <<- __also__ -1>> vous,                                                                         # S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer les personnes que vous désignez du sujet.

TEST: je m’y {{avais}} habitué.
TEST: tu t’{{avais}} donné du temps pour finir ton mémoire.
TEST: Ce qu’il a tu t’a donné la nausée.
TEST: {{nous}} nous {{avons}} donné le temps
TEST: {{vous}} vous {{avez}} perdu toute notion de décence.



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

__[i]/ppas(ppas_je_me_être_verbe)__
    je +(?:ne +|)m(?:e +|’(?:y +|))(?:s[uo]i[st]|étai[st]|fu(?:sses?|s|t)|serai[st]?) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:p", ":(?:G|Q.*:[si])") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not before(r"\b[qQ]ue? +$")) )
    -1>> =suggVerbPpas(\1, ":m:s")                                                                  # Si ce participe passé se rapporte bien à “je”, il devrait être au singulier.

TEST: je ne me suis jamais {{perdus}}
TEST: c’est de ce château que je me suis {{enfuis}}.
TEST: je me suis donné du temps.


__[i]/ppas(ppas_tu_te_être_verbe)__
    tu +(?:ne +|)t(?:e +|’(?:y +|))(?:est?|soi[st]|étai[st]|fu(?:sses?|s|t)|serai[st]?) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:p", ":(?:G|Q.*:[si])") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not before(r"\b[qQ]ue? +$")) )
    -1>> =suggVerbPpas(\1, ":m:s")                                                                  # Si ce participe passé se rapporte bien à “tu”, il devrait être au singulier.

TEST: tu t’es finalement {{retrouvés}} en mauvaise posture.
TEST: tu ne t’étais pas laissé le temps d’y réfléchir.



__[i]/ppas(ppas_il_se_être_verbe)__
    il +(?:ne +|)s(?:e +|’(?:y +|))(?:est?|soi[st]|étai[st]|fu(?:sses?|s|t)|serai?[st]?) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:(?:f|m:p)", ":(?:G|Q.*:m:[si])|>dire ") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not before(r"\b[qQ]ue? +$")) )
    -1>> =suggVerbPpas(\1, ":m:s")                                                                  # Si ce participe passé se rapporte bien à “il”, il devrait être au masculin singulier.

TEST: le dédale dans lequel il se serait {{perdue}}
TEST: il s’était perdu dans la forêt.


__[i]/ppas(ppas_elle_se_être_verbe)__
    elle +(?:ne +|)s(?:e +|’(?:y +|))(?:est?|soi[st]|étai[st]|fu(?:sses?|s|t)|serai?[st]?) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:(?:m|f:p)", ":(?:G|Q.*:f:[si])|>dire ") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not morph(word(-1), ":R|>que ", False, False)) )
    -1>> =suggVerbPpas(\1, ":f:s")                                                                  # Si ce participe passé se rapporte bien à “elle”, il devrait être au féminin singulier.

TEST: elle s’y était {{préparé}}.
TEST: elle s’était trouvé un mari.


__[i]/ppas(ppas_nous_nous_être_verbe)__
    nous +(?:ne +|)nous +(?:y +|)(?:sommes|étions|fûmes|fussions|seri?ons) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:s", ":(?:G|Q.*:[pi])|>dire ") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not morph(word(-1), ":R|>que ", False, False)) )
    -1>> =suggVerbPpas(\1, ":p")                                                                    # Si ce participe passé se rapporte bien à “nous”, il devrait être au pluriel.

TEST: Nous nous étions {{cru}} au paradis.


__[i]/ppas(ppas_ils_se_être_verbe)__
    ils +(?:ne +|)s(?:e +|’(?:y +|))(?:so(?:ie|)nt|étaient|fu(?:r|ss)ent|ser(?:aie|o)nt) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:(?:f|m:s)", ":(?:G|Q.*:m:[pi])|>dire ") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not before(r"\b[qQ]ue? +$")) )
    -1>> =suggVerbPpas(\1, ":m:p")                                                                  # Si ce participe passé se rapporte bien à “ils”, il devrait être au masculin pluriel.

TEST: ils s’y étaient {{abandonné}} avec ferveur


__[i]/ppas(ppas_elles_se_être_verbe)__
    elles +(?:ne +|)s(?:e +|’(?:y +|))(?:so(?:ie|)nt|étaient|fu(?:r|ss)ent|ser(?:aie|o)nt) +({w_3}) @@$
    <<- morphex(\1, ":Q.*:(?:m|f:s)", ":(?:G|Q.*:f:[pi])|>dire ") and ( morph(\1, ":V[123]_.__p_e_") or (isRealEnd() and not morph(word(-1), ":R|>que ", False, False)) )
    -1>> =suggVerbPpas(\1, ":f:p")                                                                  # Si ce participe passé se rapporte bien à “elles”, il devrait être au féminin pluriel.

TEST: elles ne s’y étaient pas {{donnée}}.
TEST: sans fin elles se sont succédé


__[i]/ppas(ppas_se_être)__
    [mts](?:e +|’(?:y +|en +|))({etre}) +({w_2})  @@w,$
    <<- morph(\1, ">être ", False) >>>
    <<- morphex(\2, ":(?:Y|[123][sp])", ":Q") and not re.search(r"(?i)^t’(?:es|étais)", \0)
    -2>> =suggVerbPpas(@)                                                                           # Incohérence. Après « s’être », le verbe doit être un participe passé.
    <<- __else__ and morph(\1, ":[123]s", False) and morph(\2, ":Q.*:p", False) and not before(r"(?i)\bque?[, ]|\bon (?:ne |)$")
        and not re.search(r"(?i)^t’(?:es|étais)", \0)
    -2>> =suggSing(@)                                                                               # Le participe passé devrait être au singulier.

TEST: s’être {{donner}} le mot.
TEST: je me suis {{donnés}} à fond
TEST: c’est de ce qui s’est {{passe}}.
TEST: Ça s’était toujours {{passe}} comme ça avec elle
TEST: elle s’est {{approche}} de la penderie
TEST: terrorisant l’animal qui s’était {{cabre}}.
TEST: ce qui s’est {{passe}}.
TEST: s’y était {{consacrer}} avec enthousiasme.
TEST: elles se sont dit : « Allons-y ».
TEST: On s’est rencontrées lorsqu’on travaillait là-bas.
TEST: des soins que je m’étais donnés.
TEST: Si t’es pas contente, t’achètes pas.



!!
!!
!!!! Participes passés: se +laisser +adjectif                                                       
!!
!!

__[i]/ppas(ppas_me_te_laisser_adj)__
    ([mt]e|l[ae]) +(laiss\w*) +({w_3})  @@0,w,$
    <<- morph(\2, ">laisser ", False) and  morphex(\3, ":[AQ].*:p", ":(?:[YG]|[AQ].*:[is])")
    -3>> =suggSing(@)                                                                               # Accord avec « \1 » : « \3 » devrait être au singulier.

TEST: Elle te laisse {{épuisés}} par la tâche.
TEST: Ils la laissèrent {{malades}}.
TEST: Ils la laissent prendre le train.
TEST: Elle te laisse finir le travail.
TEST: Je me laisse de quoi finir.
TEST: Il te laisse trois jours de délai.


__[i]/ppas(ppas_nous_les_laisser_adj)__
    (nous|les) +(laiss\w*) +({w_3})  @@0,w,$
    <<- morph(\2, ">laisser ", False) and morphex(\3, ":[AQ].*:s", ":(?:[YG]|[AQ].*:[ip])")
        and (\1.endswith("es") or ( \1.endswith("us") and not \2.endswith("ons") ))
    -3>> =suggPlur(@)                                                                               # Accord avec « \1 » : « \3 » devrait être au pluriel.

TEST: je les laisse {{indifférent}}.
TEST: elle nous laissera {{perdu}} dans nos délires.
TEST: je les laisse indifférents.
TEST: tu nous laisses indifférentes.
TEST: ils nous laisseront étourdis.
TEST: nous laisserons étourdi cet homme.


!!
!!
!!!! Participes passés: être, avoir été, sembler (+être via pp), devenir, rester, (re)devenir, paraître + participe passé / adj
!!
!!

__[i]/ppas(ppas_je_verbe)__
    j(?:e +|’(?:y +|en +|))(?:ne +|n’|)((?:s[oue]|étai|fus|dev|re(?:dev|st)|par)\w*|a(?:ie?|vais|urais?) +été|eus(?:se|) +été) +({w_2})  @@w,$
    <<- (morph(\1, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \1.endswith(" été")) and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
    -2>> =suggSing(@)                                                        # Accord avec le sujet « je » : « \2 » devrait être au singulier.

TEST: j’étais {{perdus}}                                                          ->> perdu
TEST: j’aurais été {{perdus}} sans toi                                            ->> perdu
TEST: je n’étais pas {{perdus}}                                                   ->> perdu
TEST: Je suis {{contents}}.                                                       ->> content
TEST: J’en ai été {{contents}}.                                                   ->> content
TEST: Je parais {{contents}}.                                                     ->> content
TEST: Je dirais que la vie est un peu moins {{cher}} en France.
TEST: Je semble {{contents}}.                                                     ->> content
TEST: je ne suis pas {{petits}}
TEST: je parais {{insignifiants}}
TEST: Je suis moi aussi complètement {{désespérés}}                               ->> désespéré
TEST: J’y semble être {{perdus}}.


__[i]/ppas(ppas_tu_verbe)__
    tu +(?:ne +|n’|)((?:es|étai|fus|se[rm]|soi|dev|re(?:dev|st)|par)\w*|a(?:s|ies|vais|urai?s) +été|eus(?:ses|) +été) +({w_2})  @@w,$
    <<- (morph(\1, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \1.endswith(" été")) and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
    -2>> =suggSing(@)                                                        # Accord avec le sujet « tu » : « \2 » devrait être au singulier.

TEST: tu n’es pas {{petites}}
TEST: tu es {{insignifiants}}
TEST: tu deviens vraiment très {{forts}} à ce jeu.


__[i]/ppas(ppas_il_verbe)__
    (il|ce|ce qui|celui +qui|ça +qui|lui +qui|celui-(?:ci|là) +(?:qui +|)|quiconque) +(?:ne +|n’|)((?:es|étai|f[uû]|se[mr]|soi|dev|re(?:dev|st)|par)\w*|a(?:it|vait|ura(?:it|)|) +été|e[uû]t +été) +({w_2})  @@0,w,$
    <<- (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and (morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or morphex(\3, ":[AQ].*:f", ":[GWYme]"))
    -3>> =suggMasSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.

TEST: Il semble être {{partis}} pour toujours.                                    ->> parti
TEST: Il est {{demander}} à chacun de participer.
TEST: Il est {{contents}}.                                                        ->> content
TEST: Il est {{laisser}} à lui-même
TEST: celui qui ne semble pas {{étonnés}}
TEST: c’est ça qui paraît {{stupides}}
TEST: celui-là semble {{perdus}} dans ses pensées.

__[i]/ppas(ppas_c_être)__
    c’(?:est|était|e[uû]t +été) +({w_2})  @@$
    <<- not (morph(\1, ">seule ", False) and after("^ +que? "))
        and ( morphex(\1, ":[NAQ].*:p", ":[GWYsi]") or ( morphex(\1, ":[AQ].*:f", ":[GWYme]") and not morph(word(1), ":N.*:f", False, False) ) )
    -1>> =suggMasSing(@)                                                     # Accord avec le sujet « c’ » : « \1 » devrait être au masculin singulier.

TEST: c’est {{condescendants}}.                                                   ->> condescendant
TEST: C’est {{finis}}.
TEST: C’est donc seules que les deux femmes sont amenées à comparaître


__[i]/ppas(ppas_ç_être)__
    ç’(?:a(?:it|vait|ura(?:it|)|) +été) +({w_2})  @@$
    <<- morphex(\1, ":[NAQ].*:p", ":[GWYsi]") or ( morphex(\1, ":[AQ].*:f", ":[GWYme]") and not morph(word(1), ":N.*:f", False, False) )
    -1>> =suggMasSing(@)                                                     # Accord avec le sujet « ç’ » : « \1 » devrait être au masculin singulier.

TEST: Ç’avait été {{horribles}}


__[i]/ppas(ppas_ça_verbe)__
    (ça|ce(?:la|ci)|celui-(?:ci|là)) +(?:ne +|n’|)((?:es|étai|f[uû]|se[mr]|soi|par|dev|re(?:dev|st))\w+|a(?:it|vait|ura(?:it|)|) +été|e[uû]t +été) +({w_2})  @@0,w,$
    <<- (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and ( morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or ( morphex(\3, ":[AQ].*:f", ":[GWYme]") and not morph(word(1), ":N.*:f", False, False) ) )
        and not morph(word(-1), ":(?:R|V...t)", False, False)
    -3>> =suggMasSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.

TEST: ça semble {{perdus}}
TEST: cela paraît {{incroyables}}
TEST: Je n’arrêtais pas de me répéter que tout cela était peut-être pure imagination
TEST: La femme qui faisait ça est partie.


__[i]/ppas(ppas_lequel_verbe)__
    (lequel) +(?:ne +|n’|)((?:es|étai|f[uû]|se[mr]|soi|par|dev|re(?:dev|st))\w+|a(?:it|vait|ura(?:it|)|) +été|e[uû]t +été) +({w_2})  @@0,w,$
    <<- (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and ( morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or ( morphex(\3, ":[AQ].*:f", ":[GWYme]") and not morph(word(1), ":N.*:f", False, False) ) )
        and not morph(word(-1), ":R", False, False)
    -3>> =suggMasSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.

TEST: elle avait accompagné cet homme, lequel était {{revenue}} de l’enfer.


__[i]/ppas(ppas_elle_verbe)__
    (elle|celle-(?:ci|là)|laquelle) +(?:ne +|n’|)((?:es|étai|f[uû]|se[rm]|soi|dev|re(?:dev|st)|par)\w*|a(?:it|vait|ura(?:it|)|) +été|e[uû]t +été) +({w_2})  @@0,w,$
    <<- (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and (morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or morphex(\3, ":[AQ].*:m", ":[GWYfe]"))
        and not morph(word(-1), ":R|>de ", False, False)
    -3>> =suggFemSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.

TEST: elle a été {{perdu}} sans toi                                               ->> perdue
TEST: Elle semble être totalement {{ruiné}}.                                      ->> ruinée
TEST: Elle est complètement {{fol}}.                                              ->> folle
TEST: elle n’est pas {{petits}}
TEST: Elle est de plus en plus {{belles}}.                                        ->> belle


__[i]/ppas(ppas_elle_qui_verbe)__
    (c?elle +qui) +(?:ne +|n’|)((?:es|étai|f[uû]|se[rm]|soi|dev|re(?:dev|st)|par)\w*|a(?:it|vait|ura(?:it|)|) +été|e[uû]t +été) +({w_2})  @@0,w,$
    <<- (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and (morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or morphex(\3, ":[AQ].*:m", ":[GWYfe]"))
    -3>> =suggFemSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.

TEST: celle qui paraît {{dingues}} de toi


__[i]/ppas(ppas_nous_verbe)__
    nous +(?:ne +|n’|)((?:sommes|étions|fûmes|fussions|seri?ons|soyons|sembl|dev|re(?:dev|st)|par)\w*|a(?:vi?ons|uri?ons|yions) +été|e(?:ûme|ussion)s +été) +({w_2})  @@w,$
    <<- not re.search("(?i)^légion$", \2) and not before(r"(?i)\b(?:nous|ne) +$")
        and ((morph(\1, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) and morph(\1, ":1p", False)) or \1.endswith(" été"))
        and morphex(\2, ":[NAQ].*:s", ":[GWYpi]")
    -2>> =suggPlur(@)                                                        # Accord avec le sujet « nous » : « \2 » devrait être au pluriel.

TEST: nous paraissons {{faible}}
TEST: Nous paraissons avoir été complètement {{prise}} de panique.                ->> prises


__[i]/ppas(ppas_ils_verbe)__
    (ils|c?eux +qui|ceux-ci|ceux-là|lesquels) +(?:ne +|n’|)((?:sont|étaient|fu[rs]|se[rm]|soient|dev|re(?:dev|st)|par)\w*|ont +été|a(?:ient|vaient|ur(?:ont|aient)) +été|eu(?:r|ss)ent +été) +({w_2})  @@0,w,$
    <<- not re.search("(?i)^légion$", \3) and (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and (morphex(\3, ":[NAQ].*:s", ":[GWYpi]") or morphex(\3, ":[AQ].*:f", ":[GWYme]")) and not before("(?i)ce que? +$")
        and (not re.search("^(?:ceux-(?:ci|là)|lesquels)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggMasPlur(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin pluriel.

TEST: ils sont {{parti}}.                                                         ->> partis
TEST: ils sont {{parties}}.                                                       ->> partis
TEST: ils restaient {{méfiantes}}                                                 ->> méfiants
TEST: Ils semblent avoir été {{attaqué}} par des soldats.                         ->> attaqués
TEST: Ils sont, semble-t-il, {{parti}} à la chasse.
TEST: Ils sont bel et bien {{mort}}.
TEST: Ils sont tout à fait {{désœuvré}}.
TEST: ils sont, qu’on le veuille ou non, déjà {{parti}}.
TEST: ils sont jour après jour plus {{perdu}}
TEST: ils sont très loin d’être {{idiot}}.


__[i]/ppas(ppas_elles_verbe)__
    (elles|c?elles +qui|celles-(?:ci|là)|lesquelles) +(?:ne +|n’|)((?:sont|étai|fu[rs]|se[rm]|soi|dev|re(?:dev|st)|par)\w*|ont +été|a(?:ient|vaient|ur(?:ont|aient)) +été|eu(?:r|ss)ent +été) +({w_2})  @@0,w,$
    <<- not re.search("(?i)^légion$", \3) and (morph(\2, ">(?:être|sembler|devenir|re(?:ster|devenir)|para[îi]tre) ", False) or \2.endswith(" été"))
        and (morphex(\3, ":[NAQ].*:s", ":[GWYpi]") or morphex(\3, ":[AQ].*:m", ":[GWYfe]"))
        and (not re.search("(?i)^(?:elles|celles-(?:ci|là)|lesquelles)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggFemPlur(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin pluriel.

TEST: elles n’ont tout de même pas été {{attaqué}}                                ->> attaquées
TEST: Elles sont {{affamé}}.                                                      ->> affamées
TEST: Celles-là sont {{folle}}.
TEST: celles qui redeviennent {{méchante}}


__[i]/ppas(ppas_avoir_été)__
    (({avoir}) +été) +({w_2})  @@0,0,$
    <<- morph(\2, ":V0a", False) >>>
    <<- morphex(\3, ":[123]s", ":[GNAQWY]") -3>> =suggVerbPpas(@)           # Après « avoir été », il faut un participe passé.
    <<- not before("[çcCÇ]’$|[cC]e n’$|[çÇ]a (?:n’|)$") and not before("(?i)^ *ne pas ") and not morph(word(-1), ":Y", False) >>>
    <<- morphex(\3, ":Y", ":A") -1>> _                                      # Tournure familière. Utilisez « être allé » plutôt que « avoir été ».
    <<- morphex(\3, ":V1..t.*:Y", ":A") -3>> =suggVerbPpas(@)               # Incohérence. Après « avoir été », il faut un participe passé (à moins que « avoir été » signifie ici « être allé »).
    
TEST: j’ai été {{instruis}} par elle
TEST: avoir été {{prit}} par surprise
TEST: Ils {{ont été}} {{réaliser}} à partir d’éléments naturels.
TEST: J’{{ai été}} camper dans les Alpes.
TEST: Tu {{as été}} prendre du bois.
TEST: J’{{ai été}} {{chercher}} du pain.
TEST: Mon grand-père aurait été fier.
TEST: Ç’eût été prendre des vessies pour des lanternes.
TEST: C’eût été foncer tête baissée dans la gueule du loup.
TEST: Leur passe-temps, ça a été faire n’importe quoi.
TEST: Ne pas ressortir le livre le plus remarqué de la collaboration aurait été faire acte de censure.
TEST: Partir aurait été assurer sa survie.


!!
!!
!!!! Participes passés: pouvoir/sembler/paraître/vouloir/devoir/croire/déclarer/penser/dire/affirmer + être/avoir été
!!
!!

__[i](p_risque_d_être)__
    risqu\w+ +(d’)être @@* <<- ~1>> *

__[i]/ppas(ppas_je_verbe_être)__
    j(?:e|’(?:y|en)) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2}) @@w,$
    <<- morph(\1, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
    -2>> =suggSing(@)                                                        # Accord avec le sujet « je » : « \2 » devrait être au singulier.

TEST: Je ne peux pas être {{méchants}}.
TEST: j’aurais vraiment été {{tentés}}
TEST: je ne pense pas être {{démasqués}}
TEST: Je veux être {{méconnaissables}}
TEST: je voudrais bien être dans ses souliers


__[i]/ppas(ppas_tu_verbe_être)__
    tu +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@w,$
    <<- morph(\1, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
    -2>> =suggSing(@)                                                        # Accord avec le sujet « tu » : « \2 » devrait être au singulier.

TEST: tu ne crois pas être {{meilleurs}}.
TEST: tu ne crois pas avoir été {{découvertes}}
TEST: tu vas être {{payées}}


__[i]/ppas(ppas_il_verbe_être)__
    (il|ce|ce qui|celui +qui|ça +qui|lui +qui|celui-(?:ci|là) +qui|quiconque) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or morphex(\3, ":[AQ].*:f", ":[GWYme]"))
    -3>> =suggMasSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.

TEST: Il peut être {{observée}}.
TEST: celui-là pensait être {{perdue}}
TEST: celui-là peut être {{perdue}}
TEST: il pense avoir été {{volés}}
TEST: lui qui ne pensait jamais être {{reconnus}}.


__[i]/ppas(ppas_ça_verbe_être)__
    (ça|ce(?:la|ci)|celui-(?:ci|là)|lequel) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[MWYsi]") or morphex(\3, ":[AQ].*:f", ":[GWYme]"))
        and not morph(word(-1), ":R", False, False)
    -3>> =suggMasSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.

TEST: ça ne semble pas avoir été {{conçus}} pour ça.
TEST: lequel allait être {{renvoyée}} de l’établissement.


__[i]/ppas(ppas_elle_verbe_être)__
    (elle|celle-(?:ci|là)|laquelle) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[GWYsi]") or morphex(\3, ":[AQ].*:m", ":[GWYfe]"))
        and not morph(word(-1), ":R", False, False)
    -3>> =suggFemSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.

TEST: elle ne croit pas être {{trompé}}
TEST: ici, elle ne risque pas d’être {{attaquées}}


__[i]/ppas(ppas_elle_qui_verbe_être)__
    (c?elle +qui) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2}) @@0,w,$
    <<- morph(\2, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[MWYsi]") or morphex(\3, ":[AQ].*:m", ":[GWYfe]"))
    -3>> =suggFemSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.

TEST: celle qui pense être {{découvert}}


__[i]/ppas(ppas_nous_verbe_être)__
    (?<![nN][oO][uU][sS] )nous +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@w,$
    <<- not re.search("(?i)^légion$", \2) and morph(\1, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and morph(\1, ":1p", False) and morphex(\2, ":[NAQ].*:s", ":[GWYpi]")
    -2>> =suggPlur(@)                                                        # Accord avec le sujet « nous » : « \2 » devrait être au pluriel.

TEST: nous pensons être {{désiré}}
TEST: nous ne devons pas être {{instruit}}


__[i]/ppas(ppas_ils_verbe_être)__
    (ils|c?eux +qui|ceux-(?:ci|là)|lesquels) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@0,w,$
    <<- not re.search("(?i)^légion$", \3) and morph(\2, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and (morphex(\3, ":[NAQ].*:s", ":[GWYpi]") or morphex(\3, ":[AQ].*:f", ":[GWYme]"))
        and (not re.search("^(?:ceux-(?:ci|là)|lesquels)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggMasPlur(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin pluriel.

TEST: ils croient être {{perdu}}


__[i]/ppas(ppas_elles_verbe_être)__
    (elles|c?elles +qui|celles-(?:ci|là)|lesquelles) +(?:ne +|n’|)((?:p[aeouûr]|s(?:embl|ouhait)|cr[ouû]|d[eouûéiî]|estim|i(?:magin|r)|v(?:[eo]u|a)|a(?:ffirm|im|dor|ll)|risqu)\w*) +(?:être|avoir été) +({w_2})  @@0,w,$
    <<- not re.search("(?i)^légion$", \3) and morph(\2, ">(?:sembler|para[îi]tre|pouvoir|penser|préférer|croire|d(?:evoir|éclarer|ésirer|étester|ire)|vouloir|affirmer|aimer|adorer|souhaiter|estimer|imaginer|risquer|aller) ", False)
        and (morphex(\3, ":[NAQ].*:s", ":[GWYpi]") or morphex(\3, ":[AQ].*:m", ":[GWYfe]"))
        and (not re.search("^(?:elles|celles-(?:ci|là)|lesquelles)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggFemPlur(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin pluriel.

TEST: elles veulent être {{différente}}
TEST: Elle peut être {{observées}}.
TEST: Elles ne peuvent pas être {{observée}}.
TEST: elles doivent être {{fâché}}
TEST: elles doivent avoir été {{attaqué}}
TEST: elles peuvent avoir été {{trompé}}
TEST: elles souhaitent être plus {{considérée}}



!!!! Participes passés: accord en nombre avec la conjugaison de « être »                            

## Contrôle de l’
__[i]/ppas(ppas_être_accord_singulier)__
    ({w_2}) +(?:qui +|)(?:ne +|n’|)(?:est|était|f[uû]t|sera(?:it|)|a(?:vait|ura|urait|it|) +été|e[uû]t +été) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:p", ":[GMWYsi]") and not morph(\1, ":G", False)
    -2>> =suggSing(@)                                                        # Accord avec « être » : « \2 » devrait être au singulier.

__[i]/ppas(ppas_être_accord_pluriel)__
    ({w_2}) +(?:qui +|)(?:ne +|n’|)(?:sont|étaient|fu(?:r|ss)ent|ser(?:ont|aient)|soient|ont +été|a(?:vaient|uront|uraient|ient) +été|eu(?:r|ss)ent +été) +({w_2})  @@0,$
    <<- not re.search("(?i)^légion$", \2) and morphex(\2, ":[NAQ].*:s", ":[GWYpi]") and not morph(\1, ":G", False)
    -2>> =suggPlur(@)                                                        # Accord avec « être » : « \2 » devrait être au pluriel.


!!!! Participes passés: accord en genre avec le substantif précédent                                

__[i]/ppas(ppas_sujet_être_accord_genre)__
    (?<![dD]’)(une? |les? |la |l’|ce(?:s|t|tte|) |[mts](?:on|a|es) |[nv]os |leurs? ) *({w_2}) +(?:qui +|)(?:ne +|n’|)(?:est|étai(?:en|)t|f[uû]t|sera(?:i(?:en|)t|)|soi(?:en|)t|s(?:er|)ont|fu(?:r|ss)ent) +({w_2})  @@0,w,$
    <<- not re.search("(?i)^légion$", \3)
        and ((morphex(\3, ":[AQ].*:f", ":[GWme]") and morphex(\2, ":m", ":[Gfe]")) or (morphex(\3, ":[AQ].*:m", ":[GWfe]") and morphex(\2, ":f", ":[Gme]")))
        and not ( morph(\3, ":p", False) and morph(\2, ":s", False) )
        and not morph(word(-1), ":(?:R|P|Q|Y|[123][sp])", False, False) and not before(r"\b(?:et|ou|de) +$")
    -3>> =switchGender(@)                                                   # Accord erroné : « \2 » et « \3 » ne sont pas accordés en genre.

TEST: la danse est {{fini}}…
TEST: Un orage est {{annoncée}}.
TEST: Une averse est {{annoncé}}.
TEST: Le chien ne sera pas {{oubliés}}
TEST: les femmes sont vraiment {{partis}}                                         ->> parties
TEST: les hommes ne sont pas tout à fait {{fâché}}                                ->> fâchés
TEST: les enfants ne sont pas {{content}}
TEST: les réunions sans cesse reportées sont {{annulés}}
TEST: l’avenir de la région était {{suspendue}}
TEST: il prétendait que les banques universelles « à la française » s’{{était}} très honorablement comportées


__[s]/ppas(ppas_nom_propre_être_accord_genre)__
    (?<![dD]’)([A-ZÉÈ]{w_2}) +(?:qui +|)(?:ne +|n’|)(?:est|étai(?:en|)t|f[uû]t|sera(?:i(?:en|)t|)|soi(?:en|)t|s(?:er|)ont|fu(?:r|ss)ent|a(?:vait|ura|urait|it|) +été|e[uû]t +été) +({w_2})  @@0,$
    <<- not re.search("(?i)^légion$", \2)
        and ((morphex(\1, ":M[1P].*:f", ":[GWme]") and morphex(\2, ":m", ":[GWfe]")) or (morphex(\1, ":M[1P].*:m", ":[GWfe]") and morphex(\2, ":f", ":[GWme]")))
        and not morph(word(-1), ":(?:R|P|Q|Y|[123][sp])", False, False) and not before(r"\b(?:et|ou|de) +$")
    -2>> =switchGender(@)                                                   # Accord erroné : « \1 » et « \2 » ne sont pas accordés en genre.

TEST: Antoine est {{mariée}}.
TEST: Antoine n’est pas {{mariés}}.
TEST: Antoine est peut-être {{fatiguée}}.
TEST: Éric n’est pas très {{fatiguée}}.
TEST: Martine est {{marié}}.
TEST: Martine n’est pas {{marié}}.
TEST: Martine est très {{intelligent}}.
TEST: Martine n’est pas très {{intelligent}}.
TEST: Pierre est {{dominée}} par son adversaire.



!!!! Accords avec l’adjectif précédant le pronom                                                    

__[i]/ppas(ppas_adj_accord_je_tu)__
    ^ *({w_2}s),? (je?|tu)  @@*,$
    <<- morphex(\1, ":A.*:p", ":(?:G|E|M1|W|s|i)")
    -1>> =suggSing(@)                                                       # Si cet adjectif se réfère au pronom « \2 », l’adjectif devrait être au singulier (et accordé en genre).

TEST: {{Découragés}}, je suis parti.


__[i]/ppas(ppas_adj_accord_il)__
    ^ *({w_2}[es]),? il  @@*
    <<- morphex(\1, ":A.*:[fp]", ":(?:G|E|M1|W|m:[si])")
    -1>> =suggMasSing(@)                                                    # Si cet adjectif se réfère au pronom « il », l’adjectif devrait être au masculin singulier.

TEST: — {{Déçue}}, il s’en est allé.


__[i]/ppas(ppas_adj_accord_elle)__
    ^ *({w_2}[éuitsx]),? elle  @@*
    <<- morphex(\1, ":A.*:[mp]", ":(?:G|E|M1|W|f:[si])|>(?:désoler|pire) ")
    -1>> =suggFemSing(@)                                                    # Si cet adjectif se réfère au pronom « elle », l’adjectif devrait être au féminin singulier.

TEST: — {{Déçu}}, elle s’en est allée.


__[i]/ppas(ppas_adj_accord_ils)__
    ^ *({w_2}[eiuéts]),? ils  @@*
    <<- morphex(\1, ":A.*:[fs]", ":(?:G|E|M1|W|m:[pi])|>(?:désoler|pire) ")
    -1>> =suggMasPlur(@)                                                    # Si cet adjectif se réfère au pronom « ils », l’adjectif devrait être au masculin pluriel.

TEST: Très vite, ils sont partis
TEST: Une fois terminé, ils sont revenus.
TEST: Vraiment {{soucieuse}}, ils sont.
TEST: Désolé, ils ne viendront pas.
TEST: Pire, ils piétinent parfois les droits humains.


__[i]/ppas(ppas_adj_accord_elles)__
    ^ *({w_2}[eiuétsx]),? elles  @@*
    <<- morphex(\1, ":A.*:[ms]", ":(?:G|E|M1|W|f:[pi])|>(?:désoler|pire) ")
    -1>> =suggFemPlur(@)                                                    # Si cet adjectif se réfère au pronom « elles », l’adjectif devrait être au féminin pluriel.

TEST: Absolument {{heureux}}, elles exultèrent de joie.



## se rendre compte
__[i]/ppas(ppas_être_rendu_compte)__
    ({etre})(?:-(?:ils?|elles?|on|je|tu|[ns]ous)|) +((rendue?s?) compte)  @@0,$,w
    <<- morph(\1, "V0e", False) and \3 != "rendu" -3>> rendu                # Accord erroné : dans l’expression « se rendre compte », « rendu » est invariable.
    <<- ~2>> _

TEST: Elles se sont {{rendues}} compte
TEST: La puissance publique s’en est-elle rendu compte ?



!!
!!
!!!! Inversion verbe/sujet                                                                          
!!
!!
__[i]/ppas(ppas_inversion_être_je)__
    (?:s[ou]is|étais|fus(?:sé|)|serais?)-je +({w_2})  @@$
    <<- morphex(\1, ":(?:[123][sp]|Y|[NAQ].*:p)", ":[GWsi]")
    -1>> =suggSing(@)                                                        # Accord avec le sujet « je » : « \1 » devrait être au singulier.
__[i]/ppas(ppas_inversion_être_tu)__
    (?:es|étais|fus(?:ses|)|serai?s)-tu +({w_2})  @@$
    <<- morphex(\1, ":(?:[123][sp]|Y|[NAQ].*:p)", ":[GWsi]")
    -1>> =suggSing(@)                                                        # Accord avec le sujet « tu » : « \1 » devrait être au singulier.
__[i]/ppas(ppas_inversion_être_il_ce)__
    (?:est|était|f[uû]t|sera(?:-t|it))-(il|ce) +({w_2})  @@*,$
    <<- morphex(\2, ":(?:[123][sp]|Y|[NAQ].*:[pf])", ":(?:G|W|[me]:[si])|question ") and not (\1 == "ce" and morph(\2, ":Y", False))
    -2>> =suggMasSing(@)                                                     # Accord avec le sujet « il » : « \2 » devrait être au masculin singulier.
__[i]/ppas(ppas_inversion_être_elle)__
    (?:est|était|f[uû]t|sera(?:-t|it))-elle +({w_2})  @@$
    <<- morphex(\1, ":(?:[123][sp]|Y|[NAQ].*:[pm])", ":(?:G|W|[fe]:[si])")
    -1>> =suggFemSing(@)                                                     # Accord avec le sujet « elle » : « \1 » devrait être au féminin singulier.
__[i]/ppas(ppas_inversion_être_nous)__
    (?:sommes|étions|fûmes|fussions|seri?ons)-nous +({w_2})  @@$
    <<- morphex(\1, ":(?:[123][sp]|Y|[NAQ].*:s)", ":[GWpi]|>dire ")
    -1>> =suggPlur(@)                                                        # Accord avec le sujet « nous » : « \1 » devrait être au pluriel.
__[i]/ppas(ppas_inversion_être_ils)__
    (?:sont|étaient|fu(?:r|ss)ent|ser(?:o|aie)nt)-ils +({w_2})  @@$
    <<- not re.search("(?i)^légion$", \1) and (morphex(\1, ":(?:[123][sp]|Y|[NAQ].*:s)", ":[GWpi]|>dire ") or morphex(\1, ":(?:[123][sp]|[AQ].*:f)", ":[GWme]|>dire "))
    -1>> =suggMasPlur(@)                                                     # Accord avec « ils » : « \1 » devrait être au masculin pluriel.
__[i]/ppas(ppas_inversion_être_elles)__
    (?:sont|étaient|fu(?:r|ss)ent|ser(?:o|aie)nt)-elles +({w_2})  @@$
    <<- not re.search("(?i)^légion$", \1) and (morphex(\1, ":(?:[123][sp]|Y|[NAQ].*:s)", ":[GWpi]|>dire ") or morphex(\1, ":(?:[123][sp]|[AQ].*:m)", ":[GWfe]|>dire "))
    -1>> =suggFemPlur(@)                                                     # Accord avec « elles » : « \1 » devrait être au féminin pluriel.

TEST: serais-je {{fâchés}} contre vous ?
TEST: Est-elle {{arriver}} ?
TEST: Sont-elles {{arriver}} ?
TEST: Est-il {{arriver}} ?
TEST: Sont-ils {{arriver}} ?
TEST: Est-elle déjà {{arriver}} ?
TEST: Sont-elles tout à fait {{arriver}} ?
TEST: Est-il déjà {{arriver}} ?
TEST: Es-tu {{arriver}} ?
TEST: Sont-ils déjà {{arriver}} ?
TEST: Es-tu déjà {{arriver}} ?
TEST: Sommes-nous {{arriver}} ?
TEST: Sommes-nous déjà {{arriver}} ?
TEST: Était-elle {{fatiguer}} ?
TEST: Ne sont-elles pas {{aveugle}}
TEST: N’est-il pas {{aveugles}}
TEST: Sont-ils vraiment {{aveugle}}
TEST: Ne sommes-nous pas {{aveugle}}
TEST: Que se sont-ils dit ?
TEST: Est-il question de ceci ou de cela ?
TEST: Est-ce former de futurs travailleurs ou bien des citoyens



## Accord et incohérences 
__[i]/ppas(ppas_sont)__
    sont ({w_2})  @@5
    <<- morphex(\1, ":[NAQ]", ":[QWGBMpi]") and not re.search("(?i)^(?:légion|nombre|cause)$", \1) and not before(r"(?i)\bce que?\b")
    -1>> =suggPlur(@)               # Incohérence : « \1 » est au singulier. Ou vous confondez « sont » et « son », ou l’accord en nombre est incorrect.
    <<- __else__ and morphex(\1, ":V", ":(?:N|A|Q|W|G|3p)") and not before(r"(?i)\bce que?\b")
    -1>> =suggVerbPpas(\1, ":m:p")  # Incohérence : « \1 » n’est pas un participe passé.

TEST: après avoir mis à jour sont {{profile}}.



!!
!!
!!!! Se croire/considérer/montrer/penser/révéler/savoir/sentir/voir/vouloir + participe passé/adj   
!!
!!

__[i]/ppas(ppas_je_me_verbe)__
    je +(?:ne +|)me +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@w,$
    <<- morph(\1, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False) and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
    -2>> =suggSing(@)                                                        # Accord avec le sujet « je » : « \2 » devrait être au singulier.

TEST: je me savais {{implacables}} avec eux


__[i]/ppas(ppas_tu_te_verbe)__
    tu +(?:ne +|)te +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@w,$
    <<- morph(\1, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False) and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
    -2>> =suggSing(@)                                                        # Accord avec le sujet « je » : « \2 » devrait être au singulier.

TEST: quand tu te montres {{infaillibles}}


__[i]/ppas(ppas_il_se_verbe)__
    (il|ce|ce qui|celui +qui|ça +qui|lui +qui|celui-(?:ci|là)|quiconque|lequel) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[GWsi]") or morphex(\3, ":[NAQ].*:f", ":[GWYme]"))
        and (not re.search("^(?:celui-(?:ci|là)|lequel)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggMasSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.

TEST: lequel se veut {{imbattables}} ?


__[i]/ppas(ppas_elle_se_verbe)__
    (elle|celle-(?:ci|là)|laquelle) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[GWsi]") or morphex(\3, ":[NAQ].*:m", ":[GWYfe]"))
        and not morph(word(-1), ":R", False, False)
    -3>> =suggFemSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.

TEST: Elle se sait plus {{fortes}} qu’eux tous.
TEST: elle se vit {{abandonné}}


__[i]/ppas(ppas_elle_qui_se_verbe)__
    (c?elle +qui) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False)
        and (morphex(\3, ":[NAQ].*:p", ":[GWsi]") or morphex(\3, ":[NAQ].*:m", ":[GWYfe]"))
    -3>> =suggFemSing(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.

TEST: à celle qui se révélera {{attentif}} à tous ces problèmes.


__[i]/ppas(ppas_nous_nous_verbe)__
    nous +(?:ne +|)nous +((?:s[eauû]|montr|pens|rév|v[oiîe])\w*ons) +({w_2})  @@w,$
    <<- morph(\1, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False) and morphex(\2, ":[NAQ].*:s", ":[GWpi]")
    -2>> =suggPlur(@)                                                        # Accord avec le sujet « nous » : « \2 » devrait être au pluriel.

TEST: nous nous pensions {{invincible}} jusqu’au jour où tout a basculé.


__[i]/ppas(ppas_ils_se_verbe)__
    (ils|c?eux +qui|ceux-ci|ceux-là|lesquels) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False)
        and (morphex(\3, ":[NAQ].*:s", ":[GWpi]") or morphex(\3, ":[NAQ].*:f", ":[GWYme]"))
        and (not re.search("^(?:ceux-(?:ci|là)|lesquels)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggMasPlur(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au masculin pluriel.

TEST: ils se montrent {{exigeantes}}


__[i]/ppas(ppas_elles_se_verbe)__
    (elles|c?elles +qui|celles-(?:ci|là)|lesquelles) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2})  @@0,w,$
    <<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir) ", False)
        and (morphex(\3, ":[NAQ].*:s", ":[GWpi]") or morphex(\3, ":[NAQ].*:m", ":[GWYfe]"))
        and (not re.search("^(?:elles|celles-(?:ci|là)|lesquelles)$", \1) or not morph(word(-1), ":R", False, False))
    -3>> =suggFemPlur(@)                                                     # Accord avec le sujet « \1 » : « \3 » devrait être au féminin pluriel.

TEST: elles se sentent {{perdu}}


__[i]/ppas(ppas_le_verbe_pensée)__
    le ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}[esx])  @@w,$
    <<- morph(\1, ">(?:trouver|considérer|croire|rendre|voilà) ", False) and morphex(\2, ":[AQ].*:(?:[me]:p|f)", ":(?:G|Y|[AQ].*:m:[is])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -2>> =suggMasSing(@)                                                     # Accord avec le COD “le” : « \2 » doit être au masculin singulier.
__[i]/ppas(ppas_la_verbe_pensée)__
    la ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}[uiéesx])  @@w,$
    <<- morph(\1, ">(?:trouver|considérer|croire|rendre|voilà) ", False) and morphex(\2, ":[AQ].*:(?:[fe]:p|m)", ":(?:G|Y|[AQ]:f:[is])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -2>> =suggFemSing(@)                                                     # Accord avec le COD “la” : « \2 » doit être au féminin singulier.
__[i]/ppas(ppas_les_verbe_pensée)__
    les ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2})  @@w,$
    <<- morph(\1, ">(?:trouver|considérer|croire|rendre|voilà) ", False) and morphex(\2, ":[AQ].*:s", ":(?:G|Y|[AQ].*:[ip])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -2>> =suggPlur(@)                                                        # Accord avec le COD “les” : « \2 » doit être au pluriel.
__[i]/ppas(ppas_me_te_verbe_pensée)__
    ([mt]e) ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}[sx])  @@0,w,$
    <<- morph(\2, ">(?:trouver|considérer|croire|rendre|voilà) ", False) and morphex(\3, ":[AQ].*:p", ":(?:G|Y|[AQ].*:[is])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -3>> =suggSing(@)                                                        # Accord avec le pronom “\1” : « \3 » doit être au singulier.
__[i]/ppas(ppas_se_verbe_pensée)__
    se ((?:trouv|consid[éè]r|cr[ouû]|rend)\w*) +({w_3})  @@w,$
    <<- morph(\1, ">(?:trouver|considérer|croire|rendre) .*:3s", False) and morphex(\2, ":[AQ].*:p", ":(?:G|Y|[AQ].*:[is])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -2>> =suggSing(@)                                                        # Accord avec le pronom “se” (le verbe étant au singulier) : « \2 » doit être au singulier.
    <<- __else__ and morph(\1, ">(?:trouver|considérer|croire|rendre) .*:3p", False) and morphex(\2, ":[AQ].*:s", ":(?:G|Y|[AQ].*:[ip])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -2>> =suggPlur(@)                                                        # Accord avec le pronom “se” (le verbe étant au pluriel) : « \2 » doit être au pluriel.
__[i]/ppas(ppas_nous_verbe_pensée)__
    nous ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2})  @@w,$
    <<- ( morphex(\1, ">(?:trouver|considérer|croire|rendre|voilà) ", ":1p")
        or (morph(\1, ">(?:trouver|considérer|croire) .*:1p", False) and before(r"\bn(?:ous|e) +$")) )
        and morphex(\2, ":[AQ].*:s", ":(?:G|Y|[AQ].*:[ip])")
        and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
    -2>> =suggPlur(@)                                                        # Accord avec le pronom “nous” : « \2 » doit être au pluriel.
#__[i]/ppas(ppas_vous_verbe)__
#    vous ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2})  @@w,$
#    <<- ( morphex(\1, ">(?:trouver|considérer|croire|rendre|voilà) ", ":2p")
#    or (morph(\1, ">(?:trouver|considérer|croire) .*:2p", False) and before(r"\b(?:vous|ne) +$")) )
#    and morphex(\2, ":[AQ].*:s", ":(?:G|[AQ].*:[ip])")
#    -2>> =suggPlur(@)                                                        # Accord avec le pronom “vous” : « \2 » doit être au pluriel.

TEST: ces hommes le rendent {{dingues}}
TEST: Il me considère {{stupides}}
TEST: Elle nous trouve {{stupide}}
TEST: Je les crois {{capable}} du pire
TEST: la voilà {{perdu}}
TEST: la voilà {{forcé}} à abandonner
TEST: nous nous crûmes {{perdu}}
TEST: Elle me rend {{folles}}.
TEST: l’homme se considère {{instruits}} alors qu’il n’est qu’un aveugle qui tâtonne.
TEST: Me voilà bien {{avancés}} !
TEST: avec eux, te voilà {{embarqués}} dans une drôle d’histoire…
TEST: un accident et nous voilà mal {{barré}}…
TEST: Le voilà {{perdue}} dans son délire.
TEST: un peu de maquillage et la voilà {{jolis}} comme un cœur.
TEST: les voilà pauvrement {{équipé}} pour un tel périple.
TEST: une chance pour elle alors qu’il n’a pas choisi
TEST: elle se révèle d’ailleurs être une alliée de taille
TEST: mais les considérer uniquement ainsi fait perdre la signification politique de leur geste.
TEST: nous considérer ainsi fait le lit de la haine…



!!
!!
!!!! Avoir + participes passés                                                                      
!!
!!

#__[i]/conj__  fait(s|e|es) ({w1}) <<- morph(\2, ":V") and not morph(\2, ":Y")
#   ->> fait \1                      # Le participe passé de faire reste au masculin singulier s’il est suivi par un verbe à l’infinitif.

__[i](p_les_avoir_fait_vinfi)__
    les ({avoir}) +(fait) +(?:[mts](?:e +|’)|)({infi}) @@w,w,$ <<- morph(\1, ">avoir ", False) and morph(\3, ":Y", False) ~2>> _

__[i]/ppas(ppas_pronom_avoir)__
    (?:j’|je |tu |ils? |elles? |on |et )(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2})  @@w,$
    <<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \2) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|)) ", False, True)
        and morph(\1, ":V0a", False) and not \2.isupper() and morphex(\2, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
    -2>> =suggMasSing(@)
    # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: ils leur avaient {{donnés}} du fil à retordre.
TEST: il a {{affronte}} une bande de voleurs de bétail
TEST: J’ai {{mettrai}} du sel.                                                    ->> mis
TEST: J’ai {{lut}} son journal.                                                   ->> lu
TEST: Ils avaient barre sur lui.
TEST: Si j’avais {{sut}}.


__[i]/ppas(ppas_nous_vous_avoir)__
    ([nv]ous) +(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2})  @@0,w,$
    <<- morph(\1, ":Os", False)
        and not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \3) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|)) ", False, True)
        and morph(\2, ":V0a", False) and not \3.isupper() and morphex(\3, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
    -3>> =suggMasSing(@)
    # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: Nous avons {{donne}} tout notre potentiel.
TEST: mais nous avons {{était}} surpris par cette annonce.
TEST: D’un côté, le modèle occidental, […], nous a libérés de […]


__[i]/ppas(ppas_det_nom_avoir)__
    (l(?:’|es? |a |eurs )|ce(?:s|tte|t|rtaine?s|) |des |quelques |[mts](?:es|on|a) |[nv]o(?:s|tre) ) *({w_2}) +(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2})  @@0,w,w,$
    <<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \4) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|)) ", False, True)
        and not morph(\2, ":G", False) and morph(\3, ":V0a", False) and not \4.isupper() and morphex(\4, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
        and not (\3 == "avions" and morph(\4, ":3[sp]", False))
    -4>> =suggMasSing(@)
    # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: Les femmes lui avait {{conseillées}} de se taire.
TEST: le mur avait {{était}} détruit
TEST: Lorsque les femmes ont {{apprit}} la nouvelle…
TEST: Certains les ont d’abord jugés trop lents.


__[i]/ppas(ppas_les_avoir)__
    les +({avoir}) +({w_1}(?:[éiut]e?|is|se))  @@w,$
    <<- morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t.*:Q.*:s", ":[GWpi]")
    -2>> =suggPlur(@)
    # Accord avec le COD “les” : Le participe passé « \2 » devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: je les avais {{trompé}} avec mon baratin.


__[i]/ppas(ppas_nous_avoir)__
    nous +({avoir}) +({w_1}(?:[éiut]e?|se)) @@w,$
    <<- isRealEnd() and morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t_.*:Q.*:s", ":[GWpi]") and morphex(word(-1), ":(?:M|Os|N)", ":R") and not before(r"\bque? +\w[\w-]+ +$")
    -2>> =suggPlur(@)
    # Accord avec le COD “nous” : Le participe passé « \2 » devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: Ces maisons nous avaient {{subjugué}}.
TEST: C’est mot pour mot un script qu’on nous a filé.


__[i]/ppas(ppas_l_avoir)__
    l’({avoir}) +({w_1}s)  @@2,$
    <<- morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t.*:Q.*:p", ":[GWsi]")
    -2>> =\2[:-1]
    # Accord avec le COD « l’ » : Le participe passé « \2 » devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: ils l’avaient {{retrouvés}}.


__[i]/ppas(ppas_m_t_avoir)__
    ([mt])’({avoir}) +({w_1}s)  @@0,w,$
    <<- morph(\2, ":V0a", False) and morphex(\3, ":V[0-3]..t_.*:Q.*:p", ":[GWsi]") and not before(r"\bque? ")
    -3>> =\3[:-1]
    # Accord avec « \1’ ». Le participe passé « \3 » devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: ces livres m’avaient {{ennuyés}} au-delà du dicible.


__[i]/ppas(ppas_qui_avoir)__
    qui +(?:n’|l(?:ui|eur) |ne l(?:ui|eur) |ne +|)({avoir}) +({w_2}[es])  @@w,$
    <<- morph(\1, ">avoir ", False) and morphex(\2, ":Q.*:(?:f|m:p)", ":m:[si]")
    -2>> =suggMasSing(@)
    # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: des hommes, des femmes, des enfants qui ne leur avaient {{faits}} que du bien.


__[i]/ppas(ppas_avoir_ppas_mas_sing)__
    avoir +({w_2})  @@$
    <<- not re.search("(?i)^(?:confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \1)
        and morphex(\1, ":Q.*:(?:f|m:p)", ":m:[si]") and before("(?i)(?:après +$|sans +$|pour +$|que? +$|quand +$|, +$|^ *$)")
    -1>> =suggMasSing(@)
    # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: Il a {{prit}} le train.
TEST: Les élèves lui ont {{données}}.
TEST: Les élèves lui ont {{donnés}}.
TEST: Les élèves lui ont {{donnée}}.
TEST: Nous lui avons {{donnée}} un cadeau.
TEST: Vous lui avez {{donnés}} un cadeau.
TEST: Ils leur ont {{données}} un cadeau.
TEST: ils avaient, en ce temps-là, déjà {{perdus}} leurs illusions
TEST: Nous l’avons {{mangés}}.
TEST: Nous l’avons {{mangées}}.
TEST: Ils ne me l’ont pas {{donnés}}
TEST: Les élèves m’ont {{écoutés}}.
TEST: Les élèves t’ont de temps en temps {{écoutées}}.
TEST: Les élèves ne m’ont pas {{écoutés}}.
TEST: Les élèves ne m’ont pas {{écoutées}}.
TEST: Nous ne t’avons pas {{écoutés}}.
TEST: Nous ne t’avons pas {{écoutées}}.
TEST: Avoir {{instruite}} notre mère
TEST: Après avoir {{baissés}} nos tarifs
TEST: Je viendrai, après avoir vraiment {{écoutée}} le prof.
TEST: Alexandre aujourd’hui nous a {{quitté}}
TEST: Mes joueurs, je les ai fait reposer
TEST: Mes joueurs, je les ai fait se reposer
TEST: Il nous avait dit que…
TEST: Elle avait {{pose}} son tricot                                              ->> posé
TEST: Vous l’avez {{trouvez}}.                                                    ->> trouvé
TEST: Il a {{donner}} sa vie pour elle.                                           ->> donné
TEST: Le maire a {{créée}} un risque.
TEST: nous avions quelque peu {{tempérés}} leurs ardeurs


## avoir avec participe passé
__[i]/ppas(ppas_m_t_l_avoir)__
    [lmt]’(?:en +|y +|)({avoir}) +({w_3}) @@2,$
    <<- morph(\1, ">avoir ", False) and morphex(\2, ":(?:Y|[123][sp])", ":[QGWMX]")
        and not re.search(r"(?i)^t’as +envie", \0)
    -2>> =suggVerbPpas(@, ":m:s")                                                                   # Confusion : employez un participe passé.

TEST: m’avoir {{terminer}}.
TEST: il m’a {{souffler}} la bonne réponse.
TEST: elle t’en a {{parle}}.
TEST: c’est vous qui m’avez {{convertit}}.
TEST: parce que t’as envie que je le fasse



!!
!!
!!!! COD précédant que                                                                                  
!!
!!

__[i]/ppas(ppas_det_plur_COD_que_avoir)__
    ([ldmtsc]es) +({w_2}) +que? +(?:j’|tu |ils? |[nv]ous |elles? |on ) *(?:ne +|n’|)({avoir}) +({w_2}[éiust]e?)(?! [mts]’)  @@0,w,w,$
    <<- morph(\3, ":V0a", False)
        and not ((re.search("^(?:décidé|essayé|tenté|oublié)$", \4) and after(" +d(?:e |’)")) or (re.search("^réussi$", \4) and after(" +à")))
        and morph(\2, ":[NAQ]", False) and morphex(\4, ":V[0-3]..t.*:Q.*:s", ":[GWpi]")
        and not morph(word(1), ":(?:Y|Oo|D)", False)
    -4>> =suggPlur(@, \2)
    # Si « \1 \2… » est bien le COD du participe passé « \4 », celui-ci devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: Les documents qu’ils ont {{acheté}}.
TEST: les flacons qu’ils ont réussi à acquérir
TEST: ça faisait des années que j’avais délaissé ce lieu
TEST: Les électeurs de Donald que l’on avait rencontrés jusque-là boivent l’eau d’une seule fontaine : Fox News et les sites et radios conservateurs.
TEST: des choses que j’aurais oublié d’aborder.


__[i]/ppas(ppas_det_mas_sing_COD_que_avoir)__
    (le |l’|cet? |[mts]on |un ) *({w_2}) +que? +(?:j’|tu |ils? |[nv]ous |elles? |on ) *(?:ne +|n’|)({avoir}) +({w_2}[es])  @@0,w,w,$
    <<- morph(\3, ":V0a", False)
        and morph(\2, ":[NAQ].*:m", False)
        and (morphex(\4, ":V[0-3]..t.*:Q.*:f", ":[GWme]") or morphex(\4, ":V[0-3]..t.*:Q.*:p", ":[GWsi]"))
    -4>> =suggMasSing(@)
    # Si « \1 \2… » est bien le COD du participe passé « \4 », celui-ci devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: Le document qu’ils ont de temps en temps {{achetés}}.
TEST: L’homme que j’ai {{aidée}}.
TEST: L’homme qu’ils ont beaucoup {{aidée}}.
TEST: L’homme que nous avons un peu {{aidée}}.
TEST: le flacon qu’ils ont réussi à acquérir


__[i]/ppas(ppas_det_fem_sing_COD_que_avoir)__
    (la |l’|cette |[mts]a |mon |une ) *({w_2}) +que? +(?:j’|tu |ils? |[nv]ous |elles? |on ) *(?:ne +|n’|)({avoir}) +({w_2}[éiust])(?! [mts]’)
    @@0,w,w,$
    <<- morph(\3, ":V0a", False)
        and not ((re.search("^(?:décidé|essayé|tenté)$", \4) and after(" +d(?:e |’)")) or (re.search("^réussi$", \4) and after(" +à")))
        and morph(\2, ":[NAQ].*:f", False)
        and (morphex(\4, ":V[0-3]..t.*:Q.*:m", ":[GWfe]") or morphex(\4, ":V[0-3]..t.*:Q.*:p", ":[GWsi]"))
        and not morph(word(1), ":(?:Y|Oo)|>que?", False)
    -4>> =suggFemSing(@)
    # Si « \1 \2… » est bien le COD du participe passé « \4 », celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: La femme que j’ai {{aidé}}.
TEST: La femme que j’ai beaucoup {{aidé}}.
TEST: La femme que j’ai un peu {{aidé}}.
TEST: la danse qu’ils ont réussi à faire


__[i]/ppas(ppas_ce_que_pronom_avoir)__
    ce +que? +(?:j’|tu |ils? |[nv]ous |elles? |on |ça |ce(?:la|ci) ) *(?:ne +|n’|)({avoir}) +({w_2}[es])  @@w,$
    <<- morph(\1, ":V0a", False)
        and (morphex(\2, ":V[0-3]..t.*:Q.*:f", ":[GWme]") or morphex(\2, ":V[0-3]..t.*:Q.*:p", ":[GWsi]"))
    -2>> =suggMasSing(@)
    # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais

TEST: ce que ça a {{donnée}}


__[i]/ppas(ppas_avoir_conf_infi)__
    ({avoir}) +({w_2}e[rz])  @@0,$
    <<- not re.search("^(?:A|avions)$", \1) and morph(\1, ":V0a", False) and morph(\2, ":V.+:(?:Y|2p)", False)
    -2>> =suggVerbPpas(@, ":m:s")                                                                   # Incohérence avec « \1 » : « \2 » n’est pas un participe passé.
    <<- __also__ and \1 == "a" and \2.endswith("r") and not before(r"(?i)\b(?:[mtn]’|il +|on +|elle +)$")
    -1>> à                                                                                          # Confusion probable : “a” est une conjugaison du verbe avoir. Pour la préposition, écrivez :

TEST: Avoir {{marcher}} toute la journée m’a épuisée.



!!!! du / dû                                                                                        

__[i]/ppas(ppas_avoir_dû_vinfi)__
    ({avoir}) +(due?s?) +(?:[mts]’|)({w_2})  @@0,w,$
    <<- morph(\1, ":V0a", False) and (morph(\3, ":Y") or re.search("^(?:[mtsn]e|[nv]ous|leur|lui)$", \3))
    -2>> dû                                                                                         # Participe passé de devoir : « dû ».

__[i]/ppas(ppas_avoir_pronom_du_vinfi)__
    ({avoir})-(?:t-|)(?:je|tu|ils?|elles?|nous|vous) +(due?s?) +(?:[mts]’|)({w_2})  @@0,w,$
    <<- morph(\1, ":V0a", False) and (morph(\3, ":Y") or re.search("^(?:[mtsn]e|[nv]ous|leur|lui)$", \3))
    -2>> dû                                                                                         # Participe passé de devoir : « dû ».

__[i]/ppas(ppas_dû_à_au)__
    (du) +(?:à|a|aux?) @@0 <<- -1>> dû                                                              # Confusion. Ce qui est dû.
__[i]/ppas(ppas_mon_votre_notre_dû)__
    (?:mon|notre|votre) (du) @@$ <<- -1>> dû                                                        # Confusion. Ce qui est dû.
__[i]/ppas(ppas_ton_son_dû)__
    [ts]on (du) @@4 <<- not morph(word(1), ":[NAQ].*:[me]", False) -1>> dû                          # Confusion. Ce qui est dû.

__[i]/ppas(ppas_qui_être_dû)__
    qui +(?:ne +|)(?:[mt](?:’|e +)|l(?:eur|ui) +|[nv]ous +)([eésf]\w+) (du)  @@w,$
    <<- morph(\1, ":V0e", False) -2>> dû                                                            # Confusion. Ce qui est dû.

TEST: A-t-il {{du}} se résoudre à céder ?
TEST: L’échec est {{du}} à une erreur de calcul
TEST: L’échec est {{du}} en partie à un manque de préparation.
TEST: Tu as reçu ton {{du}} pour ton travail.
TEST: J’ai {{du}} lui donner.
TEST: J’ai {{du}} leur prendre.
TEST: que ça vous plaise ou non, c’est notre {{du}}.
TEST: Il a {{du}} leur prendre.
TEST: Voici ce qui t’est {{du}}.
TEST: Voici ce qui me sera {{du}}.
TEST: Voici ce qui vous est {{du}}.
TEST: Il veut qu’on lui rende son {{du}}.
TEST: Aurait-il {{du}} {{prendre}} son repas plus tôt ?
TEST: Avez-vous {{signez}} le contrat ?
TEST: Ont-ils {{signer}} le contrat ?
TEST: Ai-je déjà {{signez}} le contrat ?
TEST: A-t-il déjà {{signer}} le contrat ?


!!
!!
!!!! Participes passés avec formes interrogatives                                                   
!!
!!

__[i]/ppas(ppas_avoir_pronom1)__
    (?<![ltm]’)({avoir})[- ](?:je|tu|ils?|elles?|t-(?:ils?|elles?|on)|on) +({w2})  @@0,$
    <<- morph(\1, ":V0a", False) and morphex(\2, ":(?:Y|2p|Q.*:[fp])", ":m:[si]") and \2 != "prise"
        and not morph(word(-1), ">(?:les|[nv]ous|en)|:[NAQ].*:[fp]", False) and not before(r"(?i)\b(?:quel(?:le|)s?|combien) ")
    -2>> =suggMasSing(@)
    # Avec « avoir », il faut un participe passé au masculin singulier.

__[i]/ppas(ppas_avoir_pronom2)__
    (?<![ltm]’)({avoir})-(?:[nv]ous) +({w2})  @@0,$
    <<- morph(\1, ":V0a", False) and morphex(\2, ":(?:Y|2p|Q.*:[fp])", ":m:[si]") and \2 != "prise"
        and not morph(word(-1), ">(?:les|[nv]ous|en)|:[NAQ].*:[fp]", False) and not before(r"(?i)\b(?:quel(?:le|)s?|combien) ")
    -2>> =suggMasSing(@)
    # Avec « avoir », il faut un participe passé au masculin singulier.

__[i]/ppas(ppas_l_m_t_avoir_pronom)__
    ([ltm]’)({avoir})[- ](?:je|tu|ils?|elles?|t-(?:ils?|elles?|on)|[nv]ous|on) +({w2}s)  @@0,2,$
    <<- morph(\2, ":V0a", False) and morphex(\3, ":(?:Y|2p|Q.*:p)", ":[si]") 
    -3>> =suggMasSing(@)
    # Accord avec le COD « \1 » : e participe passé « \2 » devrait être au singulier (et accordé en genre).

__[i]/ppas(ppas_les_avoir_pronom)__
    les +({avoir})-(?:je|tu|ils?|elles?|t-(?:ils?|elles?|on)|[nv]ous|on) +({w_1}(?:[éiut]e?|is|se))  @@w,$
    <<- morph(\1, ":V0a", False) and morphex(\2, ":V[123]..t.*:Q.*:s", ":[GWpi]")
    -2>> =suggPlur(@)
    # Accord avec le COD “les” : le participe passé « \2 » devrait être au pluriel (et accordé en genre).

TEST: Avais-je {{laissés}} ces notes sur la table ?
TEST: l’avait-il {{regardés}} longtemps ?
TEST: les avais-tu {{acheté}} là-bas ?
TEST: {{A}} vous lire, on ne sait plus que penser de toutes ces histoires
TEST: Combien de bêtes n’as-tu pas déjà massacrées
TEST: Combien de bêtes as-tu déjà massacrées
TEST: les ont-ils {{détecté}} ?
TEST: l’a-t-il {{finis}} ?
TEST: m’as-tu {{entendus}} ?


## 1pl
__[i]/conj(conj_nous_verbe)__
    ^ *nous +({w2})  @@$
    <<- morphex(\1, ":V", ":(?:G|Y|P|1p|3[sp])") and not after("^ +(?:je|tu|ils?|elles?|on|[vn]ous) ")
    -1>> =suggVerb(@, ":1p")
    # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.

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


## 2pl
__[i]/conj(conj_vous_verbe1)__
    ^ *vous +({w3})  @@$
    <<- morphex(\1, ":V", ":(?:G|Y|P|2p|3[sp])") and not after("^ +(?:je|ils?|elles?|on|[vn]ous) ")
    -1>> =suggVerb(@, ":2p")
    # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: Vous {{arrivais}} trop tard.


__[i]/conj(conj_vous_verbe2)__
    vous [nm](?:e +(?:les? |l’|la |[nv]ous |)|’)({w_3})  @@$
    <<- morphex(\1, ":V", ":2p") and isStart() -1>> =suggVerb(@, ":2p")         # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: vous ne l’{{avait}} pas vu.
TEST: je crois, vous m’{{avais}} trompé… 


## se + incohérence
__[i]/conj(conj_se_incohérence)__
    s(?:e +(?:les? +|la +|)|’(?:en +|y +|))({w_2}(?:e[zs]|ons|is|us))  @@$
    <<- morphex(\1, ":2s", ":3[sp]") -1>> =suggVerb(@, ":3s")                   # Incohérence. Avec le pronom “se”, le verbe ne peut être à la deuxième personne du pluriel.
    <<- __else__ and morphex(\1, ":1p", ":3[sp]") -1>> =suggVerb(@, ":3p")      # Incohérence. Avec le pronom “se”, le verbe ne peut être à la deuxième personne du pluriel.
    <<- __else__ and morphex(\1, ":2p", ":3[sp]") -1>> =suggVerbInfi(@)         # Incohérence. Avec le pronom “se”, le verbe ne peut être à la deuxième 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



!!!! Confusions ou/où                                                                               

__[i]/conf(conf_det_nom_où_pronom)__
    ^ *(?:l(?:es? +|a +|’)|[nv]o(?:s|tre) +|ce(?:t|tte|s|) +|[mts](?:es|on|a) +|des +)({w_2}) +(ou) +(?:je|tu|ils?|elles? +> +\w+|[nv]ous +> +\w+)  @@w,w
    <<- morphex(\1, ":[NAQ]", ":G")
    -2>> où                                                                         # Confusion probable. Pour évoquer un lieu ou un moment, écrivez :|http://fr.wiktionary.org/wiki/o%C3%B9

TEST: L’hôtel {{ou}} ils sont allés l’été dernier.




!!!
!!!
!!! Processeur avant impératif                                                                      
!!!
!!!

__<i>(p_n_importe_qui_quoi)__       n(’)importe quo?i @@1 <<- ~1>> `


__<i](p_premier_ne_pro_per_obj1)__
    ^( *ne l(?:es?|a) l(?:ui|eur)) ({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- ~1>> *
__<i](p_premier_ne_pro_per_obj2)__
    ^( *ne (?:[mt]’|l(?:ui|eur) )en) ({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- not morph(\1, ":X|>rien ", False) ~1>> *
__<i](p_premier_ne_pro_per_obj3)__
    ^( *ne (?:[mt]e|[nv]ous) (?:les?|la|en)) ({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- ~1>> *
__<i](p_premier_ne_pro_per_obj4)__
    ^( *ne +(?:l(?:es?|a|’(?:en|y))|[mt](?:e|’(?:en|y))|[nv]ous)) ({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- ~1>> *
__<i>(p_premier_ne_pro_per_obj5)__
    ^( *n’(?:en |y |))({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- not morph(\1, ":X|>rien ", False) ~1>> *
__<i>(p_premier_ne_pro_per_obj6)__
    ^( *ne l’)({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- ~1>> *
__<i>(p_premier_ne_pro_per_obj7)__
    ^( *ne) ({w_2})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P)", False) =>> select(\2,":(?:[123][sp]|P)")
    <<- not morph(\2, ":X|>rien ", False) ~1>> *

TEST: Ne rien céder.
TEST: Ne pas manger.
TEST: Ne manquer de rien.
TEST: Ne jamais miser sur ces tocards.
TEST: Ne m’en rien laisser.


!!
!!
!!!! Impératif !                                                                                    
!!
!!

# Confusions
__[i]/imp(imp_confusion_2e_pers_pluriel)__
    ({w_2}(?:er|ai[st]|ée?s?)) (moi|l(?:es?|a|eur|ui)|nous|vous)  @@0,$
    <<- morph(\1, ":V", False) and isStart() >>>
    <<- \2 == "moi" ->> =suggVerbTense(\1, ":E", ":2p") + "-moi"                                    # Confusion probable. Pour l’impératif, écrivez :
    <<- __else__ and \2.startswith("l") and morph(word(1), ":[OR]", ":N", True)
    ->> =suggVerbTense(\1, ":E", ":2p") + "-" + \2                                                  # Confusion probable. Pour l’impératif, écrivez :
    <<- __else__ and isEnd() ->> =suggVerbTense(\1, ":E", ":2p") + "-" + \2                         # Confusion probable. Pour l’impératif, écrivez :

TEST: {{Donner moi}} une chance                         ->> Donnez-moi
TEST: je vous en prie, {{prenais moi}} avec vous.       ->> prenez-moi
TEST: {{avançait moi}} de l’argent                      ->> avancez-moi
TEST: {{filé moi}} du fric, bon sang !                  ->> filez-moi
TEST: {{Données lui}} ça.                               ->> Donnez-lui
TEST: {{Enseignait nous}}.                              ->> Enseignez-nous


# verbes du 1er et du 3ᵉ groupe en -e
__[i]/imp(imp_vgroupe1)__
    ^ *(\w+es)(?![- ](?:je|tu|[nv]ous|ils?|elles?|t-ils?|t-elles?))  @@$
    <<- morphex(\1, ":V[13].*:Ip.*:2s", ":[GNAM]")
    -1>> =\1[:-1]                                                                   # S’il s’agit d’un impératif, pas de “s”.

TEST: {{Apportes}} ton fric à cet homme.
TEST: N’{{abandonnes}} pas si vite.
TEST: Ne {{demandes}} rien, tais-toi.
TEST: Castres est une belle ville.
TEST: Limoges aussi.


__<i>/imp(imp_allez1)__
    ^ *(allés?), @@* <<- -1>> allez                                         # S’il s’agit d’un impératif, écrivez :
__<i>/imp(imp_allez2)__
    ^ *(allés?) ({w_2}) @@*,$ <<- morph(\2, ":[MYOs]") -1>> allez           # S’il s’agit d’un impératif, écrivez :

TEST: {{Allés}}, on y va !
TEST: — {{Allé}} prendre une cuite.


# verbes du 2ᵉ et du 3ᵉ groupe en -t
__[i]/imp(imp_vgroupe2_vgroupe3_t)__
    ^ *(\w+t)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?))  @@$
    <<- morphex(\1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire)") and analyse(\1[:-1]+"s", ":E:2s", False)
        and not (re.search("(?i)^vient$", \1) and after("^ +(?:l[ea]|se |s’)"))
        and not (re.search("(?i)^dit$", \1) and after("^ +[A-ZÉÈÂÎ]"))
    -1>> =\1[:-1]+"s"                                                               # S’il s’agit d’un impératif, la terminaison est “is”, non “it”.

TEST: {{Finit}} ton assiette.
TEST: Ne {{pourrit}} pas l’ambiance.
TEST: Suffit de s’en servir.
TEST: Et ne doit pas être rejeté dans les limbes.
TEST: Vient s’ajouter à ce contexte la perception, partagée par beaucoup, du caractère fortement menaçant de l’environnement économique et géopolitique.


# verbes du 3ᵉ groupe en -d
__[i]/imp(imp_vgroupe3_d)__
    ^ *(\w+d)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?))  @@$
    <<- morphex(\1, ":V3.*:Ip.*:3s", ":[GNA]")
        and not (re.search("(?i)^répond$", \1) and after("^ +[A-ZÉÈÂÎ]"))
    -1>> \1s                                                                        # S’il s’agit d’un impératif, ajoutez un “s”.

TEST: {{Prend}} le chemin de droite.
TEST: N’{{attend}} pas qu’elle vienne.
TEST: — Pour ma part, répond P., je crois que tout va bien.


# aller
__[i]/imp(imp_va)__
    ^ *(vas)(?! (?:tu|ils?|elles?|t-ils?|t-elles?))  @@$
    <<- -1>> va                                                                     # S’il s’agit d’un impératif, pas de “s”.

TEST: {{Vas}} lui mettre une branlée.


# être
__[i]/imp(imp_sois)__
    ^ *(soit) +({w_2})  @@*,$
    <<- morph(\1, ":V") or (morphex(\2, ":A", ":G") and not after(r"\bsoit\b"))
    -1>> sois                                                                       # S’il s’agit d’un impératif, écrivez « sois ».

TEST: {{Soit}} cohérent avec toi-même.
TEST: Ne {{soit}} pas con.


# avoir
__[i]/imp(imp_aie)__
    ^[ >]*(ait?|aies)  @@$
    <<- -1>> aie                                                                    # S’il s’agit d’un impératif, écrivez « aie ».

TEST: {{Ait}} la foi !


# Contrôle
__[i]/imp(imp_verbe_lui_le_la_les_leur)__
    ({w2})-(l(?:ui|es?|a|eurs?))  @@0,$
    <<- not morph(\1, ":E|>chez", False) and spell(\1)
    -1>> =suggVerbImpe(\1)                                  # Ceci n’est pas une forme impérative.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
    <<- \2 == "leurs" -2>> leur                             # Le pronom personnel objet ne prend pas de “s”, “leurs” est un déterminants (exemple : leurs affaires).

__[i]/imp(imp_verbe_moi_toi_m_t_en)__
    ({w2})-[tm](?:oi|’en)  @@0
    <<- not morph(\1, ":E|>chez", False) and spell(\1)
    -1>> =suggVerbTense(\1, ":E", ":2s")                    # Ceci n’est pas une forme impérative.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29

TEST: {{prend}}-m’en trois, s’il te plaît.
TEST: {{Sert}}-toi d’eux autant que tu le peux, puis casse-toi.
TEST: — {{Abandonnes}}.
TEST: Ne {{donnes}} pas autant.
TEST: N’{{insistes}} pas.
TEST: Ne {{finit}} pas ce devoir.
TEST: {{Finit}} cette tarte.
TEST: Ne {{soit}} pas en retard !
TEST: Ne me {{prend}} pas pour un idiot
TEST: Ne l’{{attend}} pas
TEST: N’y {{vas}} pas
TEST: Ne m’y {{attend}} pas
TEST: Ne {{vient}} que lorsque je te le dirai.
TEST: Ne l’y {{contraint}} pas
TEST: {{Vient}}.
TEST: {{Sert}} le plat.
TEST: {{Attend}} la correction.
TEST: {{Vas}} au diable !
TEST: {{Écartes}} de moi cette coupe.
TEST: explique-{{leurs}} de quoi il est question.


!!
!!
!!!! Impératif: traits d’union manquants                                                            
!!
!!

__[i]/imp(imp_union_moi_toi)__
    (?<!’)({w_2}) ([mt]oi)(?! même)  @@0,$
    <<- morphex(\1, ":E", ":[GM]")
    ->> \1-\2
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Apportez moi}} ce dictionnaire


__[i]/imp(imp_union_nous_vous_lui_y)__
    (?<!’)({w_2}) ([nv]ous|lui|y)(?! en| y| est)  @@0,$
    <<- morphex(\1, ":E", ":[GM]") and morphex(word(1), ":", ":(?:Y|3[sp])", True) and morph(word(-1), ":Cc", False, True)
    ->> \1-\2
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Donne nous}} du café.


__[i]/imp(imp_union_les)__
    (?<!’)({w_2}) les(?! plus| moins| mieux| trop| très| en| y)  @@0
    <<- morphex(\1, ":E", ":[GM]") and morphex(word(1), ":", ":(?:N|A|Q|Y|B|3[sp])", True) and morph(word(-1), ":Cc", False, True)
    ->> \1-les
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{chante les}} avec conviction
TEST: Prenez les 5 ou 6 revues


__[i]/imp(imp_union_le_la_leur)__
    (?<!’)({w_2}) (l(?:e(?:ur|)|a))(?! plus| moins| mieux| peu| plupart| trop| très| une?)  @@0,$
    <<- morphex(\1, ":E", ":[GM]") and morphex(word(1), ":", ":(?:N|A|Q|Y|MP|H|T)", True) and morph(word(-1), ":Cc", False, True)
    ->> \1-\2
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Prends le}} avec toi.
TEST: {{Dites leur}} que nous sommes là.
TEST: un sujet si extrêmement politique et polémique lui a donné un accès
TEST: Les États d’ores et déjà très affaiblis le seraient encore plus
TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs)
TEST: Notez le peu de cas qui en est fait en général dans les médias
TEST: deux fois par an, souligne le Dr Assouline


__[i]/imp(imp_laisser_le_la_les_infi)__
    ((laiss\w+) l(?:es|a)) +({w_2})  @@0,0,$
    <<- morph(\2, ">laisser ", False) and morphex(\3, ":(?:Y|X|Oo)", ":[NAB]")
    -1>> =\1.replace(" ", "-")
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Laisse les}} entrer…
TEST: {{Laissez la}} venir…
TEST: Laisse les chiens tranquilles
TEST: Laissez la peste leur pourrir la vie encore quelque temps.


__<i]/imp(imp_apostrophe_m_t_en)__
    ([ -][mt])-en @@0
    <<- not (\0.endswith("t-en") and before(r"(?i)\bva$") and morph(word(1), ">guerre ", False, False)) ->> \1’en
    # « \1e » est ici abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: donne{{-m-en}} encore


__[i]/imp(imp_union_m_t_en_y)__
    ({w_2}) [mt]’(?:en|y)  @@0
    <<- morphex(\1, ":E", ":(?:G|M[12])") and morphex(word(1), ":", ":(?:Y|[123][sp])", True)
    ->> =\0.replace(" ", "-")
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{donne m’en}}, s’il te plaît.


__[i]/imp(imp_union_verbe_pronom_moi_toi_lui)__
    ({w_2})-(?:en|les|l[ae]) (?:[mt]oi|lui)  @@0
    <<- morph(\1, ":E", False)
    ->> =\0.replace(" ", "-")
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: les analyses, {{donne-les moi}}


__[i]/imp(imp_union_verbe_pronom_en_y_leur)__
    ({w_2})-(?:[mt]oi|[nv]ous|lui|leur|l[ae]|les) (?:en|y|leur)  @@0
    <<- morph(\1, ":E", False) and morphex(word(1), ":[RC]", ":[NAQ]", True)
    ->> =\0.replace(" ", "-")
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{prends-leur en}}


__[i]/imp(imp_union_verbe_pronom_nous_vous)__
    ({w_2})-l(?:es?|a) (?:[nv]ous)  @@0
    <<- morph(\1, ":E", False) and morphex(word(1), ":[RC]", ":Y", True)
    ->> =\0.replace(" ", "-")
    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{apporte-les nous}}


__[i]/imp(imp_union_aller_y)!5__
    (?:v(?:iens|enez|enons)|all(?:ons|ez)) y
    <<- not morph(word(1), ":Y", False, False) ->> =\0.replace(" ", "-")                            # Il manque un trait d’union.
__[i]/imp(imp_union_vas_y)!5__
    vas? y
    <<- isStart() and not morph(word(1), ":Y", False, False) ->> vas-y                              # Il manque un trait d’union.
__[i]/imp(imp_union_convenir_en)__
    conv(?:iens|enez|enons) en(?! partie) <<- ->> =\0.replace(" ", "-")                             # Il manque un trait d’union.

TEST: {{allons y}}, ça pue.
TEST: {{vas y}}, ce n’est pas dangereux
TEST: {{convenez en}}, c’est une belle affaire malgré son prix élevé



!!!
!!!
!!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.    
!!!
!!!

# Brainfuck (ici, prudence !)
__[i](p_pro_per_obj01)__
    (ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y)) +({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i](p_pro_per_obj02)__
    (ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y)))) +({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i](p_pro_per_obj03)__
    ([mts]e +l(?:a|es?)) +({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i](p_pro_per_obj04)__
    ([nmsl]’(?:en|y)) +({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i](p_pro_per_obj05)__
    (l(?:a|es?) +(?:lui|en)) +({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i](p_pro_per_obj06)__
    (lui +(?:la|les?|en|y)) +({w_1})  @@0,$
    <<- not morph(word(-1), ":R", False, True) ~1>> *
    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj07)__
    (leur +(?:en|y)) +({w_1})  @@0,$
    <<- not morph(word(-1), ":R", False, False) ~1>> *
    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj08)__
    (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) +({w_1})  @@*,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
__[i](p_pro_per_obj09)__
    (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
    <<- (\1 == "le" and not morph(\2, ":N.*:[me]:[si]"))
        or (\1 == "la" and not morph(\2, ":N.*:[fe]:[si]"))
        or (\1 == "les" and not morph(\2, ":N.*:.:[pi]")) ~1>> *
    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj10)__
    (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1})  @@*,$
    <<- not morph(word(-1), ":R", False, False) ~1>> *
    <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj11)__
    ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1})  @@*,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
__[i](p_pro_per_obj12)__
    (?<!’)(en) ({w_2}) @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)") ~1>> *
__[i](p_pro_per_obj13)__
    (?:tu|il|on) (en) +({w_1})  @@w,$
    <<- not morph(word(-1), ":[123]s", False, False) ~1>> *
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj14)__
    (?<!’)elle (en) +({w_1})  @@w,$
    <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> *
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj15)__
    (?<!’)elles (en) +({w_1})  @@w,$
    <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> *
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj16)__
    ils (en) +({w_1})  @@4,$
    <<- not morph(word(-1), ":3p", False, False) ~1>> *
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj17)__
    (?<!’)(y) ({w_2}) @@0,2
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) ~1>> *
    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj18)__
    (le) ({w_2}) @@0,3
    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> *
    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj19)__
    (la) ({w_2}) @@0,3
    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> *
    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj20)__
    (l’)({w_2}) @@0,2
    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> *
    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj21)__
    (leur) {1,3}({w_2}) @@0,5
    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> *
    <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[s](p_pro_per_obj22)__
    [lL]’(a) @@$
    <<- =>> select(\1, ":V")
    <<- ~>> "  a"
__[i](p_pro_per_obj23)__
    (nous) {1,3}({w_2}) @@0,5
    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|1p)") =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
__[i](p_pro_per_obj24)__
    (vous) {1,3}({w_2}) @@0,5
    <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|2p)") =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
__[i](p_pro_per_obj25)__
    (?:à|de) ([nv]ous|lui|les?|en) (?!qui)({w_2}) @@w,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i](p_pro_per_obj26)__
    (s’)({w4}) @@0,2
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
__[i](p_pro_per_obj27)__
    (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +)({w_2}) @@*,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- isStart() ~1>> *
__[i](p_pro_per_obj28)__
    (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
__[i](p_pro_per_obj29)__
    (t’(?:en|y)) {1,3}({w_2}) @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> *
__[i](p_pro_per_obj30)__
    (t’)({w_2}) @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> *
__[i>(p_pro_per_obj31)__
    (ne +[mtsl]’)({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i>(p_pro_per_obj32)__
    ([mts]e +l’)({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- ~1>> *
__[i>(p_pro_per_obj33)__
    [nm]’({w_1})  @@2
    <<- morph(\1, ":(?:[123][sp]|P|Y)", False) =>> select(\1, ":(?:[123][sp]|P|Y)")
    <<- ~>> "  \1"
__[i](p_pro_per_obj34)__
    ([nmts]e +)({w_1})  @@0,$
    <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
    <<- __also__ ~1>> *
# Fin du Brainfuck



!!
!!
!!!! Confusions                                                                                     
!!
!!

#### CONFUSION a / à
__[i]/conf(conf_pronom_verbe_à)__
    ^ *(?:je|tu|ils?|on|elles?) +({w_2}) +(a)  @@w,$
    <<- morph(\1, ":V", False) and \2 != "A"
    -2>> à                                                           # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition :
__[i]/conf(conf_j_verbe_à)__
    ^ *j’({w_2}) +(a)  @@w,$
    <<- morph(\1, ":V", False) and \2 != "A"
    -2>> à                                                           # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition :
__[i]/conf(conf_nous_vous_verbe_à)__
    ^ *[nv]ous +({w_2}) +(a)  @@w,$
    <<- morphex(\1, ":V", ":Y") and \2 != "A"
    -2>> à                                                           # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition :

TEST: Il vient {{a}} la maison.
TEST: tu ne donnes rien {{a}} ces hommes.
TEST: Nous les donnons {{a}} ces gens.
TEST: j’arrive {{a}} la gare



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


#### CONFUSION ÊTRE / AVOIR
__[i]/conf(conf_ait_confiance_été_faim_tort)__
    (?<!’)(est?) +(con(?:fiance|science)|envie|été|p(?:eine|eur)|faim|h(?:âte|onte)|recours|soif|tort)  @@0,$
    <<- not before(r"(?i)\b(?:ce que?|tout) ")
    -1>> ait|aie                                                      # Confusion probable dans l’expression « avoir \2 ». Vous utilisez ici le verbe « être ».

TEST: il est posssible qu’il {{est}} confiance en toi
TEST: La révolution est crainte.
TEST: Je n’en ai cure.
TEST: Notre communauté vous est redevable.
TEST: l’humour est affaire de culture


#### CONFUSION veillez/veuillez                                                                     

__[i]/conf(conf_veillez2)__
    (veuillez) +à +(ne|{infi})  @@0,$
    <<- isStart() and morph(\2, ":Y|>ne ", False) -1>> veillez          # Confusion probable : “veuillez” est une forme conjuguée du verbe “vouloir”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939

TEST: {{Veuillez}} à ne pas tomber dans ce piège.
TEST: Et {{veuillez}} surtout à ouvrir grand les yeux.
TEST: {{Veuillez}}, s’il vous plaît, à prendre vos médicaments.
TEST: Veuillez à nouveau faire attention à ce problème.
TEST: Veuillez excuser mon retard.
TEST: Veillez à bien fermer les fenêtres.


__[i]/conf(conf_veuillez)__
    (veillez) +(ne|{infi})  @@0,$
    <<- isStart() and morph(\2, ":Y|>ne ", False) -1>> veuillez
    # Confusion probable : “veiller” signifie “prendre garde” ou “être vigilant”. Pour inviter à faire quelque chose, écrivez “veuillez”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939

TEST: {{Veillez}} excuser mon retard.
TEST: {{Veillez}} me contacter.
TEST: {{Veillez}} me le faire savoir.
TEST: {{Veillez}} ne le dire à personne.
TEST: {{Veillez}} ne pas en parler à longueur de journée.
TEST: {{Veillez}} l’accompagner.
TEST: {{Veillez}} toujours l’accompagner.
TEST: Veillez à éviter de faire des fautes.
TEST: Veillez votre mari qui est malade.



!!
!!
!!!! Infinitif                                                                                      
!!
!!

__[i]/infi(infi_comment_où)__
    (?:comment|où) +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V", ":M") and not (\1.endswith("ez") and after(" +vous"))
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Comment {{pensé}} à ces choses sans perdre l’esprit.
TEST: comment {{abandonnez}}


__[i]/infi(infi_qqch_de)__
    (?:afin|en train|avant|façons?|intentions?|manières?) de +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":(?:Q|2p)", ":M")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Nous étions en train de {{trouvé}} une solution à ces soucis récurrents.
TEST: en train de {{demandées}}
TEST: en train de {{mangez}}


__[i]/infi(infi_verbe)__
    ((?:aim|all|v|ir|désir|esp[éè]r|p(?:[eou]|réf[éè]r))\w*) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morphex(\1, ">(?:aimer|aller|désirer|devoir|espérer|pouvoir|préférer|souhaiter|venir) ", ":[GN]") and morphex(\2, ":V", ":M")
    -2>> =suggVerbInfi(@)                                                                           # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.

TEST: elle préférait {{mangée}} seule.
TEST: Il venait, comme d’habitude, {{discuté}} avec son ami.
TEST: Ces types-là venaient {{mangé}} chez moi tous les dimanches.
TEST: ils viennent bien entendu {{attaqué}} le parlement
TEST: ils vont par voie de conséquence vraiment {{attaqué}} la banque
TEST: elles ont pu {{mangé}}
TEST: Cette affaire ne va rien {{arrangé}}.


__[i]/infi(infi_devoir)__
    (d[eouû]\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">devoir ", False) and morphex(\2, ":V", ":M") and not morph(word(-1), ":D", False)
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: il devait {{utilisé}} son temps à bon escient.
TEST: tu dois {{mangé}}


__[i]/infi(infi_divers)__
    (?:de quoi|à (?:faire|même de|quoi bon)|avec qui|avant (?:même |)de|marre de|en vue de|du mal à|intérêt à|impossible de|pourquoi|quand|faut-il) +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":(?:Q|2p)", ":M")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: faut-il {{pensé}} à ces choses-là encore et encore ?


__[i]/infi(infi_mieux_valoir)__
    mieux (?:ne |)(va\w+) +({w_2}(?:ée?s?|ez))  @@w,$
    <<- morph(\1, ">valoir ", False) and morphex(\2, ":(?:Q|2p)", ":[GM]")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: Mieux vaut {{consacré}} son temps à des occupations utiles.


__[i]/infi(infi_à)__
    à +({w_2}(?:ée?s?|ez|ai[st]?))  @@$
    <<- morphex(\1, ":V1", ":[NM]") and not \1.istitle() and not before(r"(?i)\b(?:les|en) +$")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: elle parvenait à y {{songez}} souvent
TEST: je vais à Rodez.


__[i]/infi(infi_avoir_beau)__
    ({avoir}) beau ({w_2}(?:ée?s?|ez|ai[ts]?))  @@0,$
    <<- morph(\1, ">avoir ", False) and morphex(\2, ":V1", ":N")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.|http://fr.wiktionary.org/wiki/avoir_beau

TEST: Ils ont beau {{consacré}} le plus clair de leur temps à ce projet, ça n’avance guère.


__[i]/infi(infi_par_pour_sans)__
    (?:p(?:a|ou)r|sans) +({w_2}(?:ée?s?|ai[st]?|ez))  @@$
    <<- morphex(\1, ":[Q123][sp]?", ":[YN]") -1>> =suggVerbInfi(@)                                     # Le verbe devrait être à l’infinitif.

TEST: pour s’y {{donnait}} le plus souvent.
TEST: Il faut être sans préjugés.



#### PAS D’INFINITIF

__[i]/ppas(ppas_être)__
    (?<![cC]’)({etre}) +({w_2}er)  @@0,$
    <<- morph(\1, ":V0e", False) and (morphex(\2, ":Y", ":[NAQ]") or \2 in aSHOULDBEVERB) and not re.search("(?i)^(?:soit|été)$", \1)
        and not morph(word(-1), ":Y|>ce", False, False) and not before("(?i)ce que? +$")
        and not morph(word(-1), ":Y", False, False) and not before_chk1(r"^ *>? *(\w[\w-]+)", ":Y")
    -2>> =suggVerbPpas(@)                                                   # Incohérence. Après « être », le verbe ne doit pas être à l’infinitif.

TEST: ils sont {{tromper}} par tous ces hypocrites.
TEST: Jeûner n’est pas seulement cesser de manger.
TEST: Ne pas aimer n’est pas oublier l’autre.


!!
!!
!!!! Conjugaison                                                                                    
!!
!!

## 1sg
__[i]/conj(conj_j)__
    j’({w_1})  @@2
    <<- morphex(\1, ":V", ":1s|>(?:en|y) ") >>>
    <<- \1 == "est" or \1 == "es" -1>> ai|aie|suis          # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
    <<- __else__ -1>> =suggVerb(@, ":1s")                   # Conjugaison erronée. Accord avec « je ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
__[i]/conj(conj_je)__
    (je) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:1s|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:1s", False, False)) >>>
    <<- \2 == "est" or \2 == "es" -2>> ai|aie|suis          # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
    <<- __else__ -2>> =suggVerb(@, ":1s")                   # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
__[i]/conj(conj_j_en_y)__
    (j’(?:y|en)) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:1s|G|1p)") >>>
    <<- \2 == "est" or \2 == "es" -2>> ai|aie|suis          # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
    <<- __else__ -2>> =suggVerb(@, ":1s")                   # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
__[i]/conj(conj_moi_qui)__
    (moi +qui) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:1s|G|1p|3p!)") >>>
    <<- \2 == "est" or \2 == "es" -2>> ai|aie|suis          # Conjugaison erronée. Confusion probable entre “être” et “avoir”. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.
    <<- __else__ -2>> =suggVerb(@, ":1s")                   # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 1ʳᵉ personne du singulier.

TEST: je l’{{est}} perdu de vue.                                ->> ai|aie|suis
TEST: je {{donnerait}} tout pour y parvenir.
TEST: Je le lui {{prend}}.
TEST: Je l’{{apprend}}.
TEST: Je les {{contre-attaques}}.
TEST: C’est moi qui {{donnes}} des maux de têtes !
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 le lui {{achèterait}} pas.
TEST: Je ne l’y {{aie}} pas vu.
TEST: Je ne t’{{attend}} pas.
TEST: J’{{arrivait}} en retard.


## 2sg
__[i]/conj(conj_tu)__
    (tu) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:G|[ISK].*:2s)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:2s", False, False))
    -2>> =suggVerb(@, ":2s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 2ᵉ personne du singulier.
__[i]/conj(conj_toi_qui)__
    (toi +qui) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:G|2p|3p!|[ISK].*:2s)")
    -2>> =suggVerb(@, ":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: toi qui n’y {{connait}} rien, ne nous ennuie pas avec tes théories.


## 3sg
__[i]/conj(conj_il)__
    (?<!t’)(il) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False))
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- __also__ and morph(\2, ":3p", False) -1>> ils        # Accord avec « \2 ».

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 n’y {{aurais}} plus rien à attendre de la religion et de la politique.


__[i]/conj(conj_on)__
    (on) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False))
    -2>> =suggVerb(@, ":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


__[i]/conj(conj_quiconque)__
    quiconque +({w_1})  @@$
    <<- morphex(\1, ":V", ":(?:3s|P|G|Q.*:m:[si])")
    -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « quiconque ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Quiconque {{pensez}} s’en sortir se trompait lourdement.
TEST: Il voulut punir quiconque s’y {{adonnaient}}.
TEST: quiconque issu de la gauche n’a aucune chance.


__[i]/conj(conj_ce)__
    (ce) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:N|A|3s|P|Q|G|V0e.*:3p)")
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

__[i]/conj(conj_celui_celle_qui)__
    (ce(?:lui|lle|) +qui) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|Q|G)")
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Ce qui, la plupart du temps, {{donnes}} des maux de tête.
TEST: Ce qui {{fâchent}} mes amis.
TEST: celui qui {{pensent}} mal de toute chose


__[i]/conj(conj_ça)__
    (ça|chacune?|l’une?|ce(?:ci|la|lui-(?:ci|là)|lle-(?:ci|là))|n`importe quo?i|quelqu(?:’une?|e chose)) +(?:qui +|)({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VR]|>de ", False, False)
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: chacun {{fais}} comme il peut
TEST: quelqu’un {{sauras}}
#TEST: quelqu’une se {{montrent}} désagréable  # Fuck you, JavaScript (wait for negative lookbehind assertions)
TEST: n’importe quoi {{peux}} réussir
TEST: n’importe qui {{peux}} y arriver.
TEST: quelque chose {{sens}} mauvais ici
TEST: l’un d’eux {{viendras}}
TEST: ce {{dois}} être ennuyeux
TEST: ce {{seras}} foutu
TEST: mais ça ne vous {{aideras}} en rien
TEST: Cela ne t’{{aideras}} pas.
TEST: Cela {{dis}}, on ne sait pas comment s’en sortir.
TEST: Y avait-il seulement quelqu’un pour vouloir soumettre ses recherches ?


__[i]/conj(conj_tout)__
    tout +({w_1})  @@$
    <<- morphex(\1, ":V", ":(?:3s|P|Q|Y|G|3p!)") and not morph(word(-1), ":[VRD]|>de", False, False)
        and not( morph(\1, ":(?:Y|N.*:m:[si])", False) and not re.search(" (?:qui|>) ", \0) )
    -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « tout ». Le verbe devrait être à la 3ᵉ personne du singulier.

__[i]/conj(conj_tout_qui)__
    tout +qui +({w_1})  @@$
    <<- morphex(\1, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VRD]|>de", False, False)
        and not( morph(\1, ":(?:Y|N.*:m:[si])", False) and not re.search(" (?:qui|>) ", \0) )
    -1>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « tout ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Tout {{reviens}} à ça.
TEST: Tout qui {{deviens}} fou.
TEST: Le tout nouveau président de la fondation qui héberge Wikipédia
TEST: tout discours de sortie nourrit immanquablement la sortie
TEST: Tout vous expliquer est difficile.
TEST: J’essaie de bien tout vous expliquer.


__[i]/conj(conj_lequel_laquelle)__
    (l(?:equel|aquelle)) +(?:qui +|)({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|Q|G|3p!)") and not morph(word(-1), ":[VR]|>de", False, False)
        and not( morph(\2, ":Y", False) and not re.search(" (?:qui|>) ", \0) )
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Lequel {{viendraient}} nous donner des leçons ?
TEST: Laquelle choisir ?
TEST: Lequel manger ?


__[i]/conj(conj_c_en)__
    (c’en) ({w_2})  @@0,$
    <<- not morph(\2, ":3s", False)
    -2>> =suggVerb(@, ":3s")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- morph(\2, ":[YP]", False)
    -1>> s’en                                               # Confusion : « c’en » est la forme élidée de « ça en ». Pour la forme pronominale « se », écrivez :

TEST: tu vois, c’en {{étais}} trop pour elles.
TEST: cet homme, perdu dans ses pensées, allait {{c’en}} {{faire}} du souci.
TEST: C’en était malsain.
TEST: C’en devenait trop.


__[i]/conj(conj_elle)__
    (?<![dD]’)(elle) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|G)") and not morph(word(-1), ":R|>(?:et|ou)", False, False)
        and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False))
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- __also__ and morph(\2, ":3p", False) -1>> elles      # Accord avec « \2 ».

TEST: Elle {{conquis}}.
TEST: Elle {{finis}}.
TEST: Elle {{pâlis}}.
TEST: {{Elles}} {{donne}} des leçons.
TEST: {{Elle}} ne nous {{croient}} jamais.
TEST: {{elle}} {{sont}} parties.
TEST: {{elle}} ne {{sont}}
TEST: {{elle}} {{sont}} partis.
TEST: elle {{demeures}}
TEST: elle {{mangeras}}
TEST: elle {{fus}} partie


__[i]/conj(conj_mieux_vaut)__
    mieux (va(?:ux|lais|udrais))  @@$
    <<- -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.


__[i]/conj(conj_personne_aucun_rien_nul)__
    (personne|aucun|rien|nul(?:le|)) +(?:qui +|)({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
        and not( \1.endswith("ien") and before("> +$") and morph(\2, ":Y", False) )
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Personne ne {{peux}} me le dire.
TEST: Rien ne {{sers}} de courir
TEST: Rien n’{{arrives}} sans raison
TEST: Rien, en ce qui le concernait, ne {{pouvais}} le ramener à la raison.
TEST: personne n’en {{parlent}}
TEST: aucun d’entre nous n’{{as}} donné
TEST: aucun ne {{vas}} là-bas
TEST: nul ne {{sais}} que faire
TEST: nulle n’{{iras}} là-bas
TEST: nulle femme ne {{saurais}} le faire
TEST: nul homme ne {{sauras}} s’y prendre


__[i]/conj(conj_un_une_des)__
    (?<!d’)(une? des {w_2}) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3s|P|G|Q)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True) and not morph(\2, ":[NA].*:[pi]", False)
    -2>> =suggVerb(@, ":3s")                                # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: un des ingénieurs {{vinrent}} nous dire quoi faire.
TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret
TEST: une des femmes de ce conseil ne {{céderaient}} jamais au chantage.
TEST: une des femmes présente ses résultats.
TEST: les défaillances d’une des branches ne sont pas forcément couvertes.


__[i]/conj(conj_un_une_des_qui)__
    (une? des {w_2}) +qui +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3[sp]|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: un des chats qui {{venez}} nous ennuyer tous les jours.
TEST: un des hommes qui vient.
TEST: une des dames qui se sentent mal à l’aise dans cet avion est venue nous trouver.
TEST: l’un des chants les plus diffusés pendant la Révolution culturelle


__[i]/conj(conj_infi)__
    ^ *({infi}) +({w_2})  @@*,$
    <<- morph(\1, ":Y", False) and morph(\2, ":V.[a-z_!?]+(?!.*:(?:3s|P|Q|Y|3p!))") 
    -2>> =suggVerb(@, ":3s")                                 # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: manger {{fais}} grossir.
TEST: boire immodérément {{nuis}} à la santé


__[i]/conj(conj_det_sing_nom)__
    (?<![dD]’)(une?|[mts](?:on|a)|ce(?:tte|t|)) +({w_2}) +({w_2})  @@0,w,$
    <<- not (re.search("(?i)^une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) ", \0) and morph(\3, ":3p", False))
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
        and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]?p", False)) and not before(r"(?i)\bni .* ni ") >>>
    <<- not checkAgreement(\2, \3)
    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- __else__ and isAmbiguousAndWrong(\2, \3, ":s", ":3s")
    -3>> =suggVerb(@, ":3s", suggSing)                  # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_sing_nom_confusion)__
    (?<![dD]’)(l(?:e(?:ur|) |a |’)) *({w_2}) +({w_2})  @@0,w,$
    <<- not (re.search("(?i)^la +moitié ", \0) and morph(\3, ":3p", False))
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
        and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]?p", False)) and not before(r"(?i)\bni .* ni ") >>>
    <<- not checkAgreement(\2, \3)
    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- __else__ and isVeryAmbiguousAndWrong(\2, \3, ":s", ":3s", isStart())
    -3>> =suggVerb(@, ":3s", suggSing)                  # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_sing_nom_qui)__
    (?<![dD]’)(l[ea] |une? |l’|[mts](?:on|a) |ce(?:tte|t|) |leur ) *({w_2}) +qui +({w_2})  @@0,w,$
    <<- not ( re.search("(?i)^(?:une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) |la +moitié) ", \0)
        and morph(\3, ":3p", False) )
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
        and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]p", False)) and not before(r"(?i)\bni .* ni ")
    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: La {{N.S.A.}} {{espionneras}} toujours tout le monde
TEST: La suspicion envers les élus {{accroissaient}}…                                               ->> accroissait
TEST: Le chien n’{{es}} pas mort.
TEST: Ce roman-là de Jean-Paul Sartre {{es}} passionnant.
TEST: Cette confusion qui {{donnent}} le tournis.
TEST: La Corée {{peux}} gagner.
TEST: La Corée ne {{pourras}} pas gagner.
TEST: une hausse de 2 % {{satisfais}} tout le monde                                                 ->> satisfait
TEST: L’homme y {{donnes}}
TEST: Le chien y {{viens}}                                                                          ->> vient
TEST: L’homme le {{deviens}}                                                                        ->> devient
TEST: La femme la {{prends}}                                                                        ->> prend
TEST: Le feu nous {{donnes}} chaud.
TEST: tout le monde {{prends}} ses aises                                                            ->> prend
TEST: J’aimerais aussi que mon problème {{sois}} réglé.                                             ->> soit
TEST: La proscription de nager {{pourraient}} nous porter préjudice à long terme                    ->> pourrait
TEST: mon chat {{sautes}}
TEST: cette fille {{bouffes}} comme mille
TEST: cette marchande {{marchandes}}
TEST: la marchande {{marchandes}}
TEST: la chatte {{finis}}
TEST: le chat {{finis}}
TEST: une crise {{violent}}
TEST: un cri {{violes}}
TEST: L’hypothétique nouveau président
TEST: une majorité de garçons voient mal comment faire
TEST: un tas de choses pouvaient aller de travers.
TEST: un paquet de gens futés n’y ont vu que du feu.
TEST: La moitié d’entre elles voient leurs loyers diminuer depuis le début de l’année
TEST: Une partie de ces propositions étaient naïves
TEST: tu n’acceptais jamais de danser avec quelqu’un si tu avais refusé à quelqu’un d’autre au début


## 1pl
__[i]/conj(conj_nous_pronom)__
    ^ *nous +({w1})  @@$
    <<- morphex(\1, ":V", ":(?:1p|3[sp])") and not after("^ +(?:je|tu|ils?|elles?|on|[vn]ous)")
    -1>> =suggVerb(@, ":1p")                                 # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.
__[i]/conj(conj_nous_qui)__
    ^ *nous +qui +({w1})  @@$
    <<- morphex(\1, ":V", ":[13]p") and not after("^ +(?:je|tu|il|elle|on|[vn]ous)")
    -1>> =suggVerb(@, ":1p")                                 # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.
__[i]/conj(conj_nous)__
    ^ *nous +(?:qui +|)(\w+ont)  @@$
    <<- morphex(\1, ":V", ":1p") and not after("^ +(?:ils|elles)")
    -1>> =suggVerb(@, ":1p")                                 # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel.

TEST: nous {{donné}} trop de considération
TEST: nous vous {{donnerez}} trop de considération
TEST: nous qui {{somme}} si savants
TEST: nous qui {{mourront}} pour toi.
TEST: nous prendre la tête, c’est son passe-temps favori.


## 2pl
__[i]/conj(conj_vous_pronom)__
    ^ *vous +({w1})  @@$
    <<- morphex(\1, ":V", ":(?:2p|3[sp])") and not after("^ +(?:je|ils?|elles?|on|[vn]ous)")
    -1>> =suggVerb(@, ":2p")                                 # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel.
__[i]/conj(conj_vous_qui)__
    ^ *vous +qui +({w1})  @@$
    <<- morphex(\1, ":V", ":2p") and not after("^ +(?:je|ils?|elles?|on|[vn]ous)")
    -1>> =suggVerb(@, ":2p")                                 # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel.

TEST: vous {{donné}} du bonheur
TEST: vous lui {{donner}} du temps
TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives
TEST: vous “étaler” sera notre plus grande joie.


## 3pl
__[i]/conj(conj_ils)__
    (ils) +({w_2})  @@0,$
    <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3p", False, False))
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
    <<- __also__ and morph(\2, ":3s", False) -1>> il        # Accord avec « \2 ».

TEST: {{Ils}} {{vienne}} souvent.
TEST: Ils ne m’{{attends}} pas.
TEST: {{Ils}} vous le {{donne}}.
TEST: {{Ils}} {{faut}} venir.


__[i]/conj(conj_ceux_celles_qui)__
    (ce(?:ux|lles) +qui) +({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3p|P|Q|G)")
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Ceux qui {{chante}} toute la journée…
TEST: Celles qui {{pense}}.


__[i]/conj(conj_ceux_là_celles_ci_lesquels)__
    (ce(?:ux-(?:ci|là)|lles-(?:ci|là))|lesquel(?:le|)s) +(?:qui +|)({w_1})  @@0,$
    <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]", False, False)
        and not (morph(\2, ":Y", False) and re.search(r"(?i)lesquel", \1) and not re.search(" qui |>", \0))
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: lesquels {{devienne}} des ennuyeux incomparables.
TEST: Mais parmi les millions de causes à défendre, lesquelles choisir ?


__[i]/conj(conj_elles)__
    (?<![dD]’)(elles) +({w_2})  @@0,$
    <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":R", False, False) and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3p", False, False))
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.
    <<- __also__ and morph(\2, ":3s", False) -1>> elle      # Accord avec « \2 ».

TEST: {{elles}} {{avance}} rapidement sur ce projet
TEST: {{Elles}} n’y {{comprenne}} rien
TEST: L’expérience sensible qu’il nous restera bientôt d’elles est à peu près


# on / ont
__[i]/conf(conf_ont1)__
    (?:ils|c?eux +qui|c?elles +qui) +(on)  @@$
    <<- -1>> ont                                            # Incohérence : « on » est un pronom personnel, « ont » est une conjugaison du verbe avoir.

TEST: ces gens-là ils {{on}} {{raison}} plus souvent que la plupart des gens.
TEST: Ils soutiennent ceux qui {{on}} {{tant}} de raison d’être en colère.


__[i]/conf(conf_ont2)!6__
    (?<![dD]’)(?:elles|ceux-(?:ci|là)|celles-(?:ci|là)) +(on)  @@$
    <<- not before(r"(?i)\b(?:à|avec|sur|chez|par|dans|parmi|contre|ni|de|pour|sous) +$")
    -1>> ont                                                # Incohérence : « on » est un pronom personnel, « ont » est une conjugaison du verbe avoir.

TEST: celles-là {{on}} {{vraiment}} un problème avec la religion.
TEST: j’ai, tu as, ils ont, elles {{on}}
TEST: Or parmi celles-ci on trouve typiquement d’un côté les structures


# L’accord par syllepse est obligatoire après /la plupart/, ainsi qu’après /nombre/ et /quantité/ employés sans déterminant. L’accord se fait avec le « pseudo-complément ».

__[i]/conj(conj_beaucoup_d_aucuns_la_plupart)__
    (beaucoup|d’aucuns|la plupart) +({w_2})  @@0,$
    <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]|>de ", False, False)
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.

__[i]/conj(conj_beaucoup_d_aucuns_la_plupart_qui)__
    (beaucoup|d’aucuns|la plupart) +qui +({w_2})  @@0,$
    <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]", False, False)
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: la plupart des hommes {{vienne}}
TEST: La plupart {{admet}}
TEST: beaucoup {{vienne}}
TEST: d’aucuns {{pense}} que c’est faux
TEST: beaucoup qui ne {{pense}} jamais à rien, mais qui ont quand même des avis sur tout.
TEST: beaucoup entre la peste et le choléra.


__[i]/conj(conj_certains_tous_plusieurs)__
    (?<!de )(certaine?s|tou(?:te|)s|plusieurs) +(?:qui +|)({w_2})  @@0,$
    <<- morphex(\2, ":V", ":(?:G|N|A|3p|P|Q)") and not morph(word(-1), ":[VR]", False, False)
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: certains {{prenne}} leur temps
TEST: Plusieurs qui {{pense}} que c’est une arnaque se sont quand même trompés.


__[i]/conj(conj_certains_certaines)__
    (certaine?) +({w_2})  @@0,$
    <<- isStart() >>>
    <<- morphex(\2, ":V.*:[123]p", ":[GWM]") -1>> \1s                                               # Accord de conjugaison avec “\2”. Mettez au pluriel “\1” si vous désignez plusieurs personnes.
    <<- \1.endswith("n") and morphex(\2, ":V.*:[123]s", ":(?:V0e.*:3s|N.*:[me]:[si])")
    -2>> =suggVerb(@, ":3p")                                                                        # Conjuguez “\2” à la troisième personne du pluriel, si “\1” est un pronom censé désigner plusieurs personnes.
    <<- __also__ -1>> \1s                                                                           # Mettez au pluriel “\1” si vous désignez plusieurs personnes.
    <<- __else__ and \1.endswith("e") and morphex(\2, ":V.*:[123]s", ":(?:V0e.*:3s|N.*:[fe]:[si])")
    -2>> =suggVerb(@, ":3p")                                                                        # Conjuguez “\2” à la troisième personne du pluriel, si “\1” est un pronom censé désigner plusieurs personnes.
    <<- __also__ -1>> \1s                                                                           # Mettez au pluriel “\1” si vous désignez plusieurs personnes.

TEST: {{certain}} deviennent idiots à cette seule pensée.
TEST: mais c’est exact, {{certaine}} perdent leur calme souvent dans les méandres de l’administration.
TEST: {{certain}} {{donne}} beaucoup.
TEST: certaine est la défaite.


__[i]/conj(conj_det_plur_nom)__
    ([cmts]es|[nv]os|leurs|quelques) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
        and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>>
    <<- not checkAgreement(\2, \3)
    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
    <<- __else__ and isAmbiguousAndWrong(\2, \3, ":p", ":3p")
    -3>> =suggVerb(@, ":3p", suggPlur)                      # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_plur_nom_qui)__
    ([cmts]es|[nv]os|leurs|quelques) +({w_2}) +qui +({w_2})  @@0,w,$
    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
        and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Ses « chiens » {{coure}} sur ma pelouse.
TEST: mes filles {{passe}} ce matin
TEST: vos filles {{passes}} ce matin
TEST: ces travaux qui {{demande}} tant d’efforts.
TEST: vos questions ne {{réclame}} aucune réflexion.
TEST: le lien entre les agences de renseignement et ces mêmes entreprises pouvait reposer sur des activités de surveillance à proprement parler.


__[i]/conj(conj_det_plur_nom_confusion)__
    (les|certaine?s|plusieurs) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
        and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>>
    <<- not checkAgreement(\2, \3)
    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
    <<- __else__ and (\1 == "les" or \1 == "Les") and isVeryAmbiguousAndWrong(\2, \3, ":p", ":3p", isStart())
    -3>> =suggVerb(@, ":3p", suggPlur)                      # Accord avec « les \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
    <<- __else__ and (\1 == "certains" or \1 == "Certains") and isVeryAmbiguousAndWrong(\2, \3, ":m:p", ":3p", isStart())
    -3>> =suggVerb(@, ":3p", suggMasPlur)                   # Accord avec « certains \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
    <<- __else__ and (\1 == "certaines" or \1 == "Certaines") and isVeryAmbiguousAndWrong(\2, \3, ":f:p", ":3p", isStart())
    -3>> =suggVerb(@, ":3p", suggFemPlur)                   # Accord avec « certaines \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_plur_nom_qui_confusion)__
    (les|certaine?s|plusieurs) +({w_2}) +qui +({w_2})  @@0,w,$
    <<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Q|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
        and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
    -3>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Les abstentions {{est}} présumée manifester un défaut d’opinion marquée
TEST: Les cours de culture générale nous {{apporte}} de l’ouverture d’esprit.
TEST: Les hommes ne le lui {{pardonnes}} pas.
TEST: Les infirmières à mi-temps ne {{travaille}} pas dans cette aile.
TEST: les données, en quantité plus que suffisante, {{indique}} que…
TEST: Les hommes comme celui-là {{mange}} comme deux.
TEST: les récompenses distribuées à parts égales {{était}}…
TEST: Les États-Unis d’Amérique se {{compose}} de 50 états.
TEST: Les enfants en {{manges}}.
TEST: Les ombres la {{donnes}}
TEST: Les grands hommes politiques
TEST: les charmantes petites mines de toutes les jeunes filles
TEST: Les pauvres petites dames sont folles
TEST: Les entrepreneurs ont {{cherchaient}} la reconnaissance sociale
TEST: l’écart entre les riches et les pauvres n’était pas si grand.
TEST: les grands {{danse}}
TEST: les filles {{passes}} ce matin
TEST: les marchands {{marche}}
TEST: les marchands {{plie}}
TEST: certaines demandes qui {{donne}} le tournis.
TEST: plusieurs pressions qui ne {{donne}} pas les résultats attendus.
TEST: les marchands {{paye}}
TEST: les marchands {{marchande}}
TEST: les marchandes {{paie}}
TEST: les marchandes {{marchande}}
TEST: les chattes {{finis}}
TEST: les chattes {{manges}}
TEST: les chattes {{danse}}
TEST: certains hommes {{marchandes}} sans cesse
TEST: certaines femmes {{danse}} beaucoup
TEST: Sauf que l’un comme l’autre avaient dû y renoncer.
TEST: L’un comme l’autre devaient y renoncer.


__[i]/conj(conj_des_nom1)__
    ^ *des +({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q|A.*:[pi])") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True) >>>
    <<- not morph(\2, ":[NA]", False) -2>> =suggVerb(@, ":3p")                          # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
    <<- __else__ and not checkAgreement(\1, \2) -2>> =suggVerb(@, ":3p", suggPlur)      # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
__[i]/conj(conj_des_nom_qui)__
    ^ *des +({w_2}) +qui +({w_2})  @@w,$
    <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G)")
    -2>> =suggVerb(@, ":3p")                                # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Des hommes {{arrive}}.
TEST: Des femmes ne {{demande}} rien.
TEST: des femmes qui {{conduise}} la marche du monde.


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

# singulier
__[i]/conj(conj_quel_quelle_que_3sg1)__
    quel(?:le|)s? que ([sf]\w+) +(?:l[ea]|ce(?:t|tte|)|[mts](?:a|on)|[nv]otre|leur)  @@w
    <<- morphex(\1, ":V0e", ":3s")
    -1>> =suggVerb(@, ":3s")                                                             # Conjugaison erronée. Mettez “être” à la 3ᵉ personne du singulier.

TEST: Quel que {{sois}} son passe-temps, il y consacre trop de temps.
TEST: Quels que {{soient}} le feu utilisé.


__[i]/conj(conj_quel_quelle_que_3sg2)__
    (quel(?:le|)s) que ([sf]\w+t) +(?:l[ea]|ce(?:t|tte|)|[mts](?:a|on)|[nv]otre|leur)  @@0,w
    <<- morphex(\2, ":V0e.*:3s", ":3p")
    -1>> =\1[:-1]                                                                        # Accord avec “\2”. Utilisez le singulier.

TEST: {{Quels}} que soit leur problème, ça n’en finit jamais.
TEST: {{Quelles}} que soit leur voiture, elle tombe constamment en panne.


# pluriel
__[i]/conj(conj_quels_quelles_que_3pl1)__
    quel(?:le|)s? que ([sf]\w+) +(?:[lscmt]es|[nv]os|leurs)  @@w
    <<- morphex(\1, ":V0e", ":3p")
    -1>> =suggVerb(@, ":3p")                                                             # Conjugaison erronée. Mettez “être” à la 3ᵉ personne du pluriel.

TEST: Quels que {{soit}} les salopards qui ont fait ça.
TEST: Quels que {{sois}} les chaussures que je mets, elles me font mal aux pieds.


__[i]/conj(conj_quels_quelles_que_3pl2)__
    (quel(?:le|)) que ([sf]\w+ent) +(?:[lscmt]es|[nv]os|leurs)  @@0,w
    <<- morphex(\2, ":V0e.*:3p", ":3s")
    -1>> \1s                                                                             # Accord avec “\2”. Utilisez le pluriel.

TEST: {{Quel}} que soient les avantages reçus, ce n’est pas assez.
TEST: {{Quelle}} que soient nos problèmes, on en parle toujours trop.



#### NOMS PROPRES

# 3sg
__[s]/conj(conj_nom_propre)__
    ([A-ZÉÈ][\w-]+) +({w_1})  @@0,$
    <<- not before(r"\b(?:et |ou |[dD][eu] |ni |[dD]e l’) *$") and morph(\1, ":M", False) and morphex(\2, ":[123][sp]", ":(?:G|3s|3p!|P|M|[AQ].*:[si])")
        and not morph(word(-1), ":[VRD]", False, False) and not before(r"([A-ZÉÈ][\w-]+), +([A-ZÉÈ][\w-]+), +$")
        and not (morph(\2, ":3p", False) and word(-1))
    -2>> =suggVerb(@, ":3s")
    # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: Marc {{arrives}} demain.
TEST: Paul ne {{viens}} pas demain.
TEST: Marc Aurèle {{étaient}} l’empereur des Romains. (Pas de trait d’union sur Marc Aurèle.)
TEST: Arthur D. parvient à…
TEST: Les fondateurs pionniers de l’Internet n’avaient pas prévu
TEST: les compteurs Geiger ne détectent pas le polonium
TEST: Des femmes de l’administration Obama y racontent qu’elles ont constaté qu’il leur arrivait régulièrement de ne pas être invitées


# 3pl
__[s]/conj(conj_nom_propre_et_nom_propre)__
    (?<!et |ou |[dD][eu] |ni )([A-ZÉÈ][\w-]+) et ([A-ZÉÈ][\w-]+) +({w_1})  @@0,w,$
    <<- morph(\1, ":M", False) and morph(\2, ":M", False)
        and morphex(\3, ":[123][sp]", ":(?:G|3p|P|Q.*:[pi])") and not morph(word(-1), ":R", False, False)
    -3>> =suggVerb(@, ":3p")
    # Conjugaison erronée. Accord avec « \1 et \2 ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: Samantha et Eva {{viennes}} demain.
TEST: Samantha et Eva leur {{décrive}} une leçon.



!!
!!
!!!! Inversion verbe sujet                                                                          
!!
!!

__[i]/conj(conj_que_où_comment_verbe_sujet_sing)__
    (?:que?|où|comment|combien|dont|quand|pourquoi|l[ea]s?quel(?:le|)s?) +({w1}) (l(?:e(?:ur | )|a |’)|[mts](?:on|a) |ce(?:t|tte|) |[nv]otre |du ) *(?!plupart|majorité)({w1})  @@w,w,$
    <<- morphex(\1, ":(?:[12]s|3p)", ":(?:3s|G|W|3p!)") and not after("^ +(?:et|ou) (?:l(?:es? |a |’|eurs? )|[mts](?:a|on|es) |ce(?:tte|ts|) |[nv]o(?:s|tre) |d(?:u|es) )")
    -1>> =suggVerb(@, ":3s")                                                        # Conjugaison erronée. Accord avec « \2 \3… ». Le verbe devrait être à la 3ᵉ personne du singulier.

TEST: les possibilités qu’{{offrent}} le chien
TEST: les possibilités que {{donnent}} le chien.
TEST: Où {{vas}} l’homme ?
TEST: l’histoire dont {{bénéficient}} notre langue.
TEST: de la même façon que survivent le swing ou le latin.
TEST: en proportion des efforts que requièrent son entretien et son exploitation
TEST: une crainte aussi que renforcent son éloignement et le protocole compliqué
TEST: à l’époque de Mansur que grandissent la place et le rôle de…
TEST: où vivent la majorité des immigrés et des enfants d’immigrés



__[i]/conj(conj_que_où_comment_verbe_sujet_pluriel)__
    (?:que?|où|comment|combien|dont|quand|pourquoi|l[ea]s?quel(?:le|)s?) +({w_3}) ([ldcmts]es|quelques|certaine?s|plusieurs|[nv]os|leurs) ({w1})  @@w,w,$
    <<- morphex(\1, ":[123]s", ":(?:3p|G|W)") -1>> =suggVerb(@, ":3p")              # Conjugaison erronée. Accord avec « \2 \3… ». Le verbe devrait être à la 3ᵉ personne du pluriel.

TEST: D’où {{vienne}} les hommes ?
TEST: Comment {{danse}} les femmes ?
TEST: les idioties qu’{{aime}} les hommes, j’en ai marre.
TEST: l’amour dont {{parle}} les femmes


__[i]/conj(conj_que_où_comment_verbe_sujet)__
    (?:que?|où|comment|combien|dont|quand|pourquoi|l[ea]s?quel(?:le|)s?) +({w_1}[es])(?! je| tu| vous) @@$
    <<- morphex(\1, ":[12][sp]", ":(?:G|W|3[sp]|Y|P|Q|N|M)") -1>> =suggVerb(@, ":3s")     # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne.

TEST: Qu’est-ce que tu crois que {{deviens}} réellement, immanquablement et subitement cet homme après une telle dérouillée ?
TEST: ces sciences, ces religions, ces philosophies ne sont que contes destinés à nous donner l’illusion de la connaissance.
TEST: Le ministre de l’Intérieur a estimé que Calais avait vécu “un degré de violence jamais connu”.


#__[i]/conj(conj_que_où_verbe_sujet_3sg)__
#    (?:que?|où|comment|combien|dont|quand|pourquoi|l[ea]s?quel(?:le|)s?) +({w_1})(?! [jJ]e| [tT]u| [nNvV]ous| [eE]t )  @@$
#    <<- morphex(\1, ":[12][sp]", ":(?:G|W|N|3[sp])") -1>> =suggVerb(@, ":3s")         # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne.

TEST: peu importe ce que tu crois du lieu où l’{{abandonnerais}} ce salopard…


__[i]/conj(conj_puisse)__
    (puisses?) ({w_2})  @@0,$
    <<- isStart() >>>
    <<- morph(\2, ":D.*:p", False) -1>> puissent                                    # Conjugaison erronée. Ce verbe devrait s’accorder au substantif qui le suit.
    <<- __else__ and \1.endswith("s") and \2 != "tu" and not before(r"(?i)\btu ")
    -1>> puisse                                                                     # Conjugaison erronée. Sujet “tu” introuvable.

TEST: {{puisse}} les hommes enfin comprendre leurs erreurs.                         ->> puissent
TEST: {{puisses}} notre ennemi trembler de peur devant notre courage.               ->> puisse



!!
!!
!!!! Formes interrogatives ?                                                                        
!!
!!

__[i]/inte(inte_union_xxxe_je)__
    (?<![jJ]’)({w_2}[éèe]) je  @@0
    <<- morphex(\1, ":V.*:1[sŝś]", ":[GNW]") and not before(r"(?i)\bje +$") and morphex(word(1), ":", ":(?:Oo|X|1s)", True)
    ->> =\1[:-1]+"é-je"                                                                             # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_xxx_je)__
    (?<![jJ]’)({w_2}[is]) je  @@0
    <<- morphex(\1, ":V.*:1s", ":[GNW]") and not before(r"(?i)\b(?:je|tu) +$") and morphex(word(1), ":", ":(?:Oo|X|1s)", True)
    ->> \1-je                                                                                       # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_tu)__
    ({w_1}s) tu  @@0
    <<- morphex(\1, ":V.*:2s", ":[GNW]") and not before(r"(?i)\b(?:je|tu) +$") and morphex(word(1), ":", ":2s", True)
    ->> \1-tu                                                                                       # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_il_on)__
    ({w_2}[td]) (?:il|on)  @@0
    <<- morphex(\1, ":V.*:3s", ":[GNW]") and not before(r"(?i)\b(?:ce|il|elle|on) +$") and morphex(word(1), ":", ":3s|>y ", True)
    ->> =\0.replace(" ", "-")                                                                       # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_elle)__
    (?<![cC]’)({w_2}[td]) elle  @@0
    <<- morphex(\1, ":V.*:3s", ":[GNW]") and not before(r"(?i)\b(?:ce|il|elle|on) +$") and morphex(word(1), ":", ":3s", True)
    ->> \1-elle                                                                                     # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_nous)__
    ({w_2}ons) nous  @@0
    <<- morphex(\1, ":V.*:1p", ":[GNW]") and not morph(word(-1), ":Os", False, False) and morphex(word(1), ":", ":(?:Y|1p)", True)
    ->> \1-nous                                                                                     # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_vous)__
    ({w_2}e[zs]) vous  @@0
    <<- morphex(\1, ":V.*:2p", ":[GNW]|>vouloir .*:E:2p") and not morph(word(-1), ":Os", False, False) and morphex(word(1), ":", ":(?:Y|2p)", True)
    ->> \1-vous                                                                                     # Forme interrogative ? Mettez un trait d’union.
__[i]/inte(inte_union_ils_elles)__
    (?<![cC]’)({w_1}nt) (?:ils|elles)  @@0
    <<- morphex(\1, ":V.*:3p", ":[GNW]") and not before(r"(?i)\b(?:ce|ils|elles) +$") and morphex(word(1), ":", ":3p", True)
    ->> =\0.replace(" ", "-")                                                                       # Forme interrogative ? Mettez un trait d’union.

TEST: {{mangé je}} {{ça}} avec dégoût ?
TEST: {{viendrais je}} à la fête ?
TEST: {{Seras tu}} là ?
TEST: {{prend on}} le temps d’y réfléchir ?
TEST: {{vient elle}} souvent ?
TEST: {{viennent elles}} souvent ?
TEST: {{retrouverons nous}} enfin la tranquilité ?
TEST: Mais {{soutiendrez vous}} cette proposition ?
TEST: {{Viendront ils}} demain ?
TEST: comment {{êtes vous}} arrivées là ?
TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça.
TEST: Veuillez vous instruire avant de contester ces mesures.
TEST: C’était elle qui avait pris le contrôle.


__[i]/inte(inte_je)__
    ({w1})-je  @@0
    <<- morphex(\1, ":V", ":1[sśŝ]") -1>> =suggVerb(@, ":1ś")                                       # Forme interrogative : « \1 » n’est pas un verbe à la 1ʳᵉ personne du singulier.
    <<- not morph(\1, ":V", False) -1>> =suggSimil(\1, ":1[sśŝ]", False)                            # Forme interrogative : « \1 » n’est pas un verbe à la 1ʳᵉ personne du singulier.

TEST: {{Vas}}-je                                            ->> Vais
TEST: {{Prit}}-je                                           ->> Pris
TEST: {{prix}}-je le temps d’y parvenir ? Oui.


__[i]/inte(inte_tu)__
    ({w1})-tu  @@0
    <<- morphex(\1, ":V", ":[ISK].*:2s") -1>> =suggVerb(@, ":2s")                                   # Forme interrogative. « \1 » n’est pas un verbe à la 2ᵉ personne du singulier.
    <<- not morph(\1, ":V", False) -1>> =suggSimil(\1, ":2s", False)                                # Forme interrogative : « \1 » n’est pas un verbe à la 2ᵉ personne du singulier.

TEST: {{Peut}}-tu                                           ->> Peux
TEST: {{peu}}-tu revenir chez moi ?


__[i]/inte(inte_il_elle_on)__
    ({w1})-(?:t-|)(il|elle|on)  @@0,$
    <<- morphex(\1, ":V", ":3s") -1>> =suggVerb(@, ":3s")                                           # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier.
    <<- \1 != "t" and (not \1.endswith("oilà") or \2 != "il") and morphex(\1, ":", ":V")
    -1>> =suggSimil(\1, ":3s", False)                                                               # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier.
    <<- not \2.endswith(("n", "N")) and morphex(\1, ":3p", ":3s") -2>> \2s                          # Forme interrogative : accordez “\2” avec le verbe à la 3ᵉ personne du pluriel.

TEST: {{Peux}}-il                                           ->> Peut
TEST: {{Attaques}}-t-on                                     ->> Attaque
TEST: {{Prends}}-elle                                       ->> Prend
TEST: {{Menthe}}-t-elle souvent ?
TEST: {{viennent}}-{{il}} demain ?
TEST: Le moteur choisi convient-il ?


__[s]/inte(inte_ce)__
    ({w_2})-([cs]e)  @@0,$
    <<- morphex(\1, ":V", ":(?:3s|V0e.*:3p)") -1>> =suggVerb(@, ":3s")      # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
    <<- morphex(\1, ":", ":V") -1>> =suggSimil(\1, ":3s", False)            # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
    <<- \2 == "se" -2>> ce                                                  # Forme interrogative. Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132

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: Était-ce des femmes de ce pays ?
TEST: Eh ! dit Athos, ne sont-ce pas des braconniers qu’on arrête là-bas ?


__[i]/inte(inte_nous)__
    ({w1})-nous  @@0
    <<- morphex(\1, ":V", ":(?:1p|E:2[sp])") -1>> =suggVerb(@, ":1p")                               # Forme interrogative ou impérative incorrecte.
    <<- morphex(\1, ":", ":V|>chez ") -1>> =suggSimil(\1, ":1p", False)                             # Forme interrogative ou impérative incorrecte.

TEST: {{Prendront}}-nous                                    ->> Prendrons
TEST: {{Attendront}}-nous le train                          ->> Attendrons


__[i]/inte(inte_vous)__
    ({w1})-vous  @@0
    <<- morphex(\1, ":V", ":2p") -1>> =suggVerb(@, ":2p")                                           # Forme interrogative ou impérative incorrecte.
    <<- not morph(\1, ":V|>chez ", False) -1>> =suggSimil(\1, ":2p", False)                         # Forme interrogative ou impérative incorrecte.

TEST: {{Attaquait}}-vous                                    ->> Attaquiez
TEST: Elle a de nombreux rendez-vous ce matin.
TEST: êtes-vous là ?


__[i]/inte(inte_ils_elles)__
    ({w1})-(?:ils|elles)  @@0
    <<- morphex(\1, ":V", ":3p") and spell(\1)
    -1>> =suggVerb(@, ":3p")                                                                        # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du pluriel.
    <<- \1 != "t" and not morph(\1, ":V", False) and spell(\1)
    -1>> =suggSimil(\1, ":3p", False)                                                               # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du pluriel.

TEST: {{attaquant}}-ils                                     ->> attaquent
TEST: {{prendrons}}-elles un verre avec moi ?



!!!! Verbe auxiliaire                                                                               

__[i]/conf(conf_avoir_sujet_participe_passé)__
    ({avoir})-(?:je|tu|ils?|elles?|on) +({ppas})  @@0,$
    <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _  # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.
__[i]/conf(conf_sujet_avoir_participe_passé)__
    (?:j’|je |tu |ils? |elles? |on ) *({avoir}) +({ppas})  @@*,$
    <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _  # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”.

TEST: {{Ait}}-il arrivé à ses fins ?
TEST: je n’{{avais}} pas parti avec eux.
TEST: Avais-je partie liée avec lui ?
TEST: il {{avait}} parti.



!!
!!
!!!! Modes verbaux                                                                                  
!!
!!

# conditionnel / futur

__[i]/vmode(vmode_j_aimerais_vinfi)__
    j(?:e +|’)(aimerai|préf[éè]rerai|apprécierai|voudrai|souhaiterai|désirerai|adorerai) +({w_1})  @@w,$
    <<- morphex(\2, ":[YX]|>(?:y|ne|que?) ", ":R") and isStart() -1>> \1s                           # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.

TEST: J’{{aimerai}} savoir ce dont il retourne.
TEST: dans tous les cas j’{{aimerai}} ne rien savoir
TEST: Je {{voudrai}} qu’il soit déjà là.
TEST: J’aimerai ces cours-là autant que les autres.
TEST: J’aimerai la danse et la musique, puisque vous l’exigez.
TEST: Je sais que j’aimerai ça, tout comme lui.


__[i]/vmode(vmode_j_aurais_aimé_que_avoir_être)__
    j’(aurai) +(?:aimé|souhaité|préféré|voulu|apprécié|désiré|adoré) +(que?|ne|{infi})  @@2,$
    <<- morph(\2, ":Y|>(?:ne|que?) ", False)
    -1>> aurais|eusse                               # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »

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


# Si suivi du conditionnel ou du subjonctif
__[i]/vmode(vmode_si_sujet1)__
    si +({w1}) +({w_2})  @@w,$
    <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":[SK]", ":(?:G|V0|I)") and isStart()
    -2>> _                                                                          # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.
__[i]/vmode(vmode_si_sujet2)__
    (?:si [jt]’|s’ils? +)({w_2})  @@$
    <<- morphex(\1, ":[SK]", ":(?:G|V0|I)") and isStart()
    -1>> _                                                                          # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.

TEST: Si Pierre {{avancerait}} sa voiture de quelques mètres, ça nous permettrait de passer.
TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros.


# Dès que + indicatif
__[i]/vmode(vmode_dès_que)__
    dès +que? +({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":S", ":[IG]")    -2>> =suggVerbMode(@, ":I", \1)     # Ce verbe ne devrait pas être au subjonctif.
#    <<- morph(\1, ":(?:Os|M)", False) and morph(\2, ":K", False)        -2>> =suggVerbMode(@, ":If", \1)    # Ce verbe ne devrait pas être au conditionnel.

#TEST: dès que je le {{verrais}}
TEST: dès qu’il le {{voie}}
TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion


# verbe que + subjonctif
__[i]/vmode(vmode_qqch_que_subjonctif1)__
    (afin|avant|pour|quoi|(?:perm|fa|v[oe]|ordonn|exig|désir|dout|suff|préf[éè]r)\w+) +que? +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ">(?:afin|avant|pour|quoi|permettre|falloir|vouloir|ordonner|exiger|désirer|douter|préférer|suffire) ", False)
        and morph(\2, ":(?:Os|M)", False) and morphex(\3, ":I", ":[GYS]")
        and not (morph(\1, ">douter ", False) and morph(\3, ":(?:If|K)", False))
    -3>> =suggVerbMode(@, ":S", \2)                                                 # Après « \1 que », ce verbe devrait être au subjonctif.

TEST: Il suffit qu’il {{court}} plus
TEST: Je veux qu’il {{finit}} son repas.
TEST: quoi qu’il en {{conclut}}
TEST: Je ne veux pas que tu {{es}} des ennuis
TEST: Avant que tu {{pars}}, je voudrais qu’on discute.
TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard.
TEST: Je ne doute pas qu’ils réussiront leur mission.
TEST: Je me doutais bien qu’Apple pourrait marcher
TEST: il ne fait aucun doute qu’Amazon le sait.
TEST: quoi que nous autres hommes ayons pu faire


# Bien que + subjonctif
__[i]/vmode(vmode_bien_que_subjonctif)__
    bien  ?que? ({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":V.*:I", ":(?:[GSK]|If)|>(?:hériter|recevoir|donner|offrir) ") and isStart()
        and not ( morph(\2, ":V0a", False) and morph(word(1), ">(?:hériter|recevoir|donner|offrir) ", False) )
        and not before0(r"(?i)\bsi ")
    -2>> =suggVerbMode(@, ":S", \1)                                                                 # Après « bien que », le verbe s’emploie au subjonctif.

TEST: Il ne le savait pas, bien qu’il en {{avait}} entendu parler.
TEST: Bien que je {{prends}} mon mal en patience.
TEST: C’est un joli bien. Bien qu’il a hérité de son oncle, notez bien.
TEST: Bien qu’il avait donné à ses enfants.
TEST: si bien que je me suis toujours demandée si cela ne m’avait pas un peu bousillé les yeux


# Malgré que + subjonctif
# «Malgré que» peut être utilisé délibérément pour un parler populaire qui ignore le subjonctif.
# --> pas de règle de contrôle sur ce point.

__[i]/vmode(vmode_qqch_que_subjonctif2)__
    (?:à condition|pour peu|il +peut) +que? +({w1}) +({w_2})  @@w,$
    <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":", ":[GYS]") -2>> =suggVerbMode(@, ":S", \1)    # Ce verbe devrait être au subjonctif.

TEST: à condition qu’il {{finit}} son boulot.
TEST: pour peu qu’il {{prend}} son devoir sérieux… 
TEST: il se peut que nous {{avons}} tort.


# indicatif nécessaire
__[i]/vmode(vmode_sujet_indicatif)__
    ^ *(je|j’(?:en|y)|tu|ils?|elles?|on|nous|vous) +({w_2})  @@*,$
    <<- morphex(\2, ":S", ":[GIK]") and not re.search("^e(?:usse|û[mt]es|ût)", \2) 
    -2>> =suggVerbMode(@, ":I", \1)                                                                 # Ce verbe ne devrait pas être au subjonctif.
__[i]/vmode(vmode_j_indicatif)__
    ^ *j’({w_2})  @@$
    <<- morphex(\1, ":S", ":[GIK]") and \1 != "eusse" -1>> =suggVerbMode(@, ":I", "je")             # Ce verbe ne devrait pas être au subjonctif.

TEST: Il {{ait}} parti.
TEST: Il en {{conclue}} qu’il a eu raison.
TEST: j’en {{aie}} marre
TEST: j’{{aie}} faim


# Après que + indicatif
__[i]/vmode(vmode_après_que_indicatif)__
    après que? ({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":(?:Os|M)", False) and (morphex(\2, ":V.*:S", ":[GI]") or morph(\2, ":V0e.*:S", False))
    -2>> =suggVerbMode(@, ":I", \1)
    # Après « après que », le verbe ne s’emploie pas au subjonctif mais à l’indicatif, si l’action s’est déroulée de façon certaine.

TEST: Après qu’il {{ait}} allé
TEST: Après que Paul {{ait}} mangé son repas.
TEST: Après qu’il {{soit}} parti, il plut.


# Quand/lorsque + indicatif
__[i]/vmode(vmode_quand_lorsque_indicatif)__
    (?:quand|lorsque?) ({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":(?:Os|M)", False) and (morphex(\2, ":V.*:S", ":[GI]") or morph(\2, ":V0e.*:S", False))
    -2>> =suggVerbMode(@, ":I", \1)
    # Après « quand » ou « lorsque », le verbe ne s’emploie pas au subjonctif mais à l’indicatif.

TEST: quand elle {{rencontrât}} son créateur
TEST: lorsqu’il y {{eût}} du grabuge, nous montâmes tous sur le pont.



!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!! TESTS: Faux positifs potentiels                                                                  
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!
!!

!!! À trier                                                                                         
TEST: L’homme sur le bateau de Patrick {{viens}} de temps en temps {{mangé}} chez moi.
TEST: Ces marchands {{passe}} leur temps à se quereller.
TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}.
TEST: Ils sont de manière si étonnante et si admirable {{arrivé}} à ce résultat…
TEST: Les tests grand public de Jean-Paul {{montre}} des résultats surprenants.
TEST: Ils ont à plusieurs reprises {{perdus}} leur sang-froid.
TEST: Ces attaques à main armée {{donne}} la chair de poule.
TEST: Réfléchir à tête reposée {{prends}} du temps.

TODO: Il faut au préalable avoir {{définit}} un protocole.
TODO: Il y a quatre cents {{mot}} dans la phrase.
TODO: Ma mémoire a aussi été {{effacé}}.
TODO: à condition qu’elle l’{{est}} jamais été
TODO: Vous la {{voulait}}

TODO: un délire systématisé de persécution basé sur des interprétations
TODO: Soudain, surgit l’un des ouvriers…
TODO: Ainsi périt l’inconstant.
TODO: puis repartit.
TODO: Les créatures de l’enfer que nous avions rencontrées…
TODO: Étaient-ils vraiment frère et sœur
TODO: Cela fait des années qu’elle n’a pas donné signe de vie.
TODO: Et si je te donne son nom, cela t’aiderait, Dworkin ?
TODO: cet être que personne n’a vu ni senti à part elle
TODO: Ce qu’ils sont influence leur regard sur moi.
TODO: Ils sont âgés de 4 et 1 ans.
TODO: Mille neuf cent quatre-vingt. (dépend du contexte)
TODO: Le CAPES de mathématiques.
TODO: La Mustang est une voiture.
TODO: Il faut se bien connaître soi-même.
TODO: C’est lui ou moi qui a gagné.
TODO: Des copains plus vieux que moi qui fumaient.
TODO: Des copains plus vieux que toi qui fumaient.
TODO: 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.
TODO: Les côtes sont dans leur ensemble extrêmement découpées.


!!! Indécidable                                                                                     
TEST: Du sable fin grippe les rouages (accord avec ce qui précède).
TEST: Du monde noir sortent les envahisseurs (accord avec ce qui suit).

!!! Autres tests                                                                                    
TEST: Ça a l’air de t’aller.
TEST: Et je m’en sors.
TEST: C’est à chacun d’entre nous de suivre le modèle d’Amos.
TEST: C’est toi qui voulais y aller.
TEST: je ne suis qu’une joueuse en robe de soirée.
TEST: Tu ne fais qu’aggraver les choses.
TEST: Que veut-il ? Vous parler du boulot.
TEST: La question, c’est qui est au courant.
TEST: Ce pourrait être la fin.
TEST: Tu t’en es tiré.
TEST: à l’annonce d’un nouvel impôt – très souvent prétexte à…
TEST: la voix mystérieuse de l’eau qui court et chuchote le long du bateau.
TEST: Nous agissons au jugé.
TEST: les fêtes battent leur plein.
TEST: Pourquoi tu me dis tout cela ?
TEST: La prochaine fois sera la bonne.
TEST: Ainsi soit-il.
TEST: Allez le lui dire.
TEST: Il y a un siècle, les nouveaux riches étaient décriés par ceux qui avaient hérité leur argent.
TEST: Les entrepreneurs ont cherché la reconnaissance sociale en se faisant passer pour des rentiers.
TEST: Aujourd’hui, la relation a été inversée : les rentiers et les héritiers se présentent comme entrepreneurs.
TEST: Ils prétendent avoir gagné leur revenu qui n’est que prélevé.
TEST: Ils s’en sont aperçu.
TEST: Elles s’en sont donné les moyens.
TEST: T’en fais pas pour ça.
TEST: T’es à ça de te faire virer.
TEST: On s’en fout de qui c’est.
TEST: que c’en était assez, en somme.
TEST: Ce à quoi nous avons assité, c’est un déluge de sornettes.
TEST: En Dordogne, la nouvelle réplique de la grotte reproduit fidèlement l’originale.
TEST: Les candidats se réclamant du général de Gaulle se multiplient.
TEST: On voit au passage le degré de connaissance qu’ont les journalistes de la campagne de Trump
TEST: une majorité de contestataires s’en sont pris à elle
TEST: Qu’a à cacher Patrick ?
TEST: Ils les ont fait courir.
TEST: Tu les as fait manger.
TEST: Les mille et une nuits.
TEST: Ceux à qui on refuse de donner une réponse.
TEST: ceux qui ont refusé de participer à cette mascarade.
TEST: Une lueur parfois çà et là vous parvient. (Brand, Henrik Ibsen)
TEST: réunion des dirigeants… qui avaient à cette occasion invité Bill Gates.
TEST: Je suis contente d’avoir connu ça.
TEST: comprendre ce que “être” signifie.
TEST: J’étais sublime.
TEST: J’étais prise de vertiges.
TEST: La date de dépôt limite des épreuves et des fichiers est fixée au 30 septembre.
TEST: qui s’étaient avancés jusqu’au Main
TEST: Pose ça là ou je fais un malheur !
TEST: Je me suis senti très mal.
TEST: La prise de son était difficile.
TEST: Ce changement de ton prit tout le monde par surprise.
TEST: Il renonça à faire et à le faire
TEST: et, les ayant reçus, elle pensa
TEST: l’herbe que la faux a couchée jaunit vite.
TEST: Il a juste besoin de comprendre pourquoi ce garçon en est arrivé là et pourquoi il s’en est pris à lui.
TEST: Elle prit une pose lascive.
TEST: Cela a trait avec l’histoire complexe d’une nation qui a été prise en étau
TEST: Enfin, les thèmes de la nouvelle réforme ont été longuement débattus.
TEST: Le moral des ménages au plus haut depuis 2007
TEST: Ce qu’ils nous ont fait
TEST: Comment vous expliquez ça ?
TEST: Comment vous expliquer ça ?


!!! Tests historiques                                                                               

## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.

## Version 0.5.11
TEST: Un moteur à cylindrée fixe

## Version 0.5.8
TEST: Dans la poussière et les plâtras,

## version 0.5.2
TEST: se produire sur scène le 29 mai prochain
TEST: ces avantages ne sont somme toute pas assez importants
TEST: les différents partis politiques
TEST: Certains ont encore du mal à y croire.
TEST: Élus, chefs d’entreprise, professionnels de l’éducation, représentants des institutions, nous avons besoin de vous.

## version 0.5.0
TEST: J’ai cours à présent.
TEST: Les mois d’après avaient été calmes.
TEST: Quelque temps après eut lieu la séance de réception
TEST: c’est-à-dire aux peuples dispersés suite à la guerre
TEST: la violence du coup porté
TEST: à vous qui avez faim,
TEST: Vous, qui avez faim,
TEST: Les chaudes effluves du soleil.
TEST: je reçois pour chaque botte quelques cents.
TEST: Ils vinrent un à un voter la mort.
TEST: Dans mon rêve, j’appelais ça…
TEST: J’étais dans une auberge.
TEST: les enfants de ces populations apprenaient à parler l’anglais et même à le lire.
TEST: Ils sont fous, c’est-à-dire déments
TEST: J’y viens.
TEST: J’en reviens.
TEST: d’une manière un petit peu abusive et très réductrice.
TEST: il est du devoir de la société civile d’analyser ces accords
TEST: au bas de laquelle est aménagé un imposant portail à arc brisé en pierre de taille.
TEST: Buenos Aires
TEST: Quel est l’impact de ces problèmes dans ce cas particulier
TEST: La partition « C: ».
TEST: sur les quelque trois cents naufragés
TEST: Ils eussent bien voulu pouvoir
TEST: un lot de dés qu’on peut se procurer
TEST: la sécurité au niveau de l’escalier empêche quiconque d’accéder à l’étage
TEST: elle en avait eus
TEST: Combien en as-tu eus ? (Note : les grammairiens ne s’accordent pas sur l’accord du participe passé précédé de “en”.)
TEST: Tu reviens quand à Paris ?
TEST: Tu restes jusqu’à quand à la maison ?
TEST: L’une des pires
TEST: une imprimante laser
TEST: c’est pure imagination
TEST: Bien entendu, elle a très peu de chances de le retrouver
TEST: il s’acquitte de sa part
TEST: Le cavalier, abusé par notre retraite, avait baissé sa garde
TEST: n’y en aurait-il pas plusieurs
TEST: je ne sais rien là-dessus, même pas qui s’en était occupé
TEST: ne surtout rien amener
TEST: Ce qu’ils sont influence leur regard sur moi
TEST: Une demande de leur part un minimum justifiée.
TEST: Au stator, comme le montre le profil ci-dessus, l’inducteur est tétrapolaire.
TEST: Cette hypothèse est tout à fait valable, comme le montre le graphe ci-dessous.
TEST: qu’il fut sans peine étouffé dans l’œuf
TEST: durant les tout premiers jours
TEST: un dîner aux chandelles prévu depuis longtemps
TEST: la beauté physique plus que la compétence
TEST: sans oser se l’avouer
TEST: il se l’imagine
TEST: l’encyclopédie naturelle puis la connaissance
TEST: Tout est affaire de dosage
TEST: il avait trouvé la piste d’une des deux bêtes
TEST: la basilique de la Lune débordant de lumière
TEST: Me voici.
TEST: Si je trouve.
TEST: Toi seul seras sauvé avec tout ce qui sera dans l’Arche
TEST: La portée d’une variable en JavaScript est comme l’outil
TEST: La portée d’une variable est comme l’outil
TEST: Il y a en un parmi nous autres
TEST: Il avait été juge pendant vingt ans.
TEST: Faisons-les tous périr.
TEST: épouser une fille de roi pour se faire une alliance
TEST: Éric et probablement Bénédict seraient partants.
TEST: Il doit toujours être dans les environs de son église.
TEST: c’est ce que vous en faites !
TEST: des travaux publics conçus suivant un plan
TEST: Bible : 1 Rois
TEST: Bible : 1 Corinthiens
TEST: Bible : 1 Thessaloniciens
TEST: Quelle est la chance d’y parvenir ?
TEST: Tout montre cependant que les constructions
TEST: jusqu’au ixe siècle
TEST: Quelles explications pouvez-vous donner à cela ?
TEST: jusqu’à Tarifa et Sidonia
TEST: Tout flambe à la fois.
TEST: Vivre dans la ouate.
TEST: Quel sens a cette affirmation pour nous ?
TEST: Avec quelle facilité
TEST: Une attraction au moins égale à
TEST: le fossé entre les uns et les autres n’était ni large ni profond.
TEST: Dès le ixe siècle
TEST: la formation d’une peau élastique qui se rétracte
TEST: notre père qui es aux cieux
TEST: Où que tu sois je te retrouverai
TEST: L’équitation de travail est une technique de monte traditionnelle…
TEST: Ils ont forme humaine
TEST: une altitude de 1000 m environ
TEST: le nombre d’or
TEST: nous ne nous étions jamais fait prendre
TEST: Elle comprend la couche se trouvant sur le plateau.
TEST: Je m’imagine que les quelque cinq cents personnes qui…
TEST: parmi les quelque 3 millions de personnes

## version 0.4.10
TEST: Ceux parvenus là
TEST: Des termes peu amènes.
TEST: Toute l’équipe d’audit peut consulter la fiche.
TEST: Beaucoup a été accompli
TEST: Ces données sont soit fournies par…, soit par…
TEST: Y a-t-il une question que tu aurais souhaité qu’on te pose ?
TEST: Lire, ce n’est pas épeler.
TEST: Ce n’est pas manger qui fait grossir.
TEST: Je sais ce qu’est aimer.
TEST: Je sais ce que n’est pas aimer.
TEST: Qu’ont fait les chercheurs ?
TEST: Ce travail est colossal, il ne doit jamais être tenu pour achevé.
TEST: la succession des événements telle qu’on se la rappelle

## version 0.4.9
TEST: Quelles que soient les femmes
TEST: Quels que soient les hommes
TEST: Quel que soit ce chien
TEST: Quelle que soit cette garce
TEST: Vous tous qui portez des charges.

## version 0.4.8
TEST: et que la toucher portait chance…
TEST: On y supplée par un tableau.
TEST: que le Verbe de Dieu peut seul conférer
TEST: Ça ne vaut pas le coup de rester enfermés.
TEST: Ce qui faisait de quelqu’un un homme.
TEST: Le secret, mon ami, est de savoir écouter.
TEST: Ces substances ont été, du moins amollies au point de conserver l’empreinte.
TEST: Cette irrationalité n’est pas si dramatique que semblent le penser les plus rationalistes.
TEST: 4 SIEMENS
TEST: Me Assis n’est pas ici.
TEST: Quelle merde … puante.
TEST: Pour savoir qui a tort, qui a raison.
TEST: Ce matin, j’ai ES et c’est tout.
TEST: Les étais posés au sol.
TEST: Mais ces petits étais ne suffisaient pas.
TEST: Celui qu’il brûle de détruire une bonne fois pour toutes.
TEST: Hélas, vous vous en doutez maintenant.
TEST: Il n’aurait de cesse de la renverser ou de la contourner.
TEST: Sourde à toute parole y compris de la part de ceux qu’elle privilégiait
TEST: Pareille solution ne pouvait hélas être réitérée.
TEST: Je crois que t’aimeras ça.
TEST: Je mangeais.
TEST: et encore ça j’ai un peu tendance
TEST: Le CE semble cependant prendre…
TEST: Je suis déçue de ne pas avoir les moyens de régler ça seule.
TEST: Dents de requin…
TEST: Les personnes qui sont avec lui voient.
TEST: Beaucoup de monde se rassemble.
TEST: Comment il l’a appris.
TEST: Comment voulez-vous qu’à vingt-deux heures trente un cadavre
TEST: Le porteur de la télécommande pas plus que la créatrice ne sont revenus nous donner des ordres.
TEST: j’espère que vous aurez le temps de tout lire
TEST: Nous avons partie gagnée.
TEST: de a à z
TEST: de A à Z
TEST: Le point S′ est sur la droite. (Il s’agit ici du caractère “prime”.)
TEST: le ou les élément(s).

## version 0.4.7
TEST: rien de dérangé
TEST: Au début on le traite de dérangé
TEST: il vient… puis repart
TEST: une photo noir et blanc
TEST: pour ce faire, il faut partir
TEST: une canadienne fourrée de poils de mouton
TEST: ils sont en bonne santé physique
TEST: elles sont en bonne santé mentale
TEST: dans tout ce putain d’univers
TEST: la leur n’est pas correcte
TEST: qui doivent leur être livrés.
TEST: en tout et pour tout ces trois-là
TEST: De temps en temps
TEST: De loin en loin
TEST: allez au 10 avenue Constantin
TEST: Ils avancent côte à côte
TEST: Un type a l’air de beaucoup apprécier.
TEST: Pour le soldat, dépouiller le paysan ou le colonel n’est pas voler.
TEST: sous forme de chaleur
TEST: avant sa dépose, il sera possible de faire les relevés nécessaires

## version 0.4.6
TEST: monarchie de Juillet
TEST: révolution d’Octobre
TEST: des cheveux blond platine
TEST: L’homme qui se tenait devant lui lui présenta une bouteille.
TEST: Était-ce cela d’avaler de l’huile ?
TEST: Il y avait quelque chose fiché dans la prise.
TEST: jusqu’à chez nous
TEST: de chez eux à chez moi
TEST: Les histoires de chacun apparaissent au fil des conversations.
TEST: et bien des hommes y ont succombé
TEST: La sortie était droit devant lui.
TEST: avec lesquels j’arrive à vaincre
TEST: L’erreur fut pour moi seul.
TEST: les valeurs limites ne peuvent pas être réglées dans une plage négative.
TEST: la pensée que j’ai décidé d’expliquer
TEST: les objets que j’ai essayé de faire
TEST: la phrase que j’ai essayé de lire

## version 0.4.5
TEST: après c’était la restauration…
TEST: l’une saisissant la main d’albâtre rigide
TEST: certaines saisissant la main d’albâtre rigide
TEST: si on descendait on inscrivait sur le carton
TEST: Erika est prise par surprise
TEST: les lettres que j’ai voulu envoyer
TEST: les lettres que j’ai voulu me donner
TEST: les lettres que j’ai voulu t’envoyer
TEST: si on l’empêchait il devenait
TEST: Sa petite amie et lui, tous deux ivres, se sont révélés incapables d’écrire.

## version 0.4.4.1
TEST: m’oblige à toujours vendre
TEST: m’oblige à souvent perdre

## version 0.4.4
TEST: il croyait qu’elle seule pouvait réussir
TEST: un coefficient (C) de révision donné par la formule.
TEST: Il eut ordre de s’emparer de tous les insurgés
TEST: Annie, qui, entre deux danses, buvait beaucoup
TEST: Il ne pouvait s’empêcher, entre deux jurons envers sa sœur
TEST: Il devenait nerveux au fur et à mesure qu’il cherchait
TEST: Il résista à l’envie qu’il avait de…
TEST: elles sont bleu saphir
TEST: elles sont gris anthracite
TEST: ses plumes noir de jais
TEST: La pierre utilisée était gris perle
TEST: Une odeur de grillé réveilla la jeune femme
TEST: Sous peine de voir l’allégeance de certains changer, il devait
TEST: Elle espéra vainement ne rien s’être cassé.
TEST: Les ayant vus entrer
TEST: sans parti pris
TEST: Fiona ou Deirdre parviendront à en apprendre plus
TEST: les flots noir d’encre
TEST: ses yeux châtaigne
TEST: Ils avaient tous deux entendu son cri.
TEST: Si Pierre et elle étaient déjà fiancés, ils devraient
TEST: Les gens dépourvus de pigmentation étaient
TEST: Je n’ai pas très envie de m’étendre sur le sujet
TEST: Elle reconnut la peste qui tentait elle ne savait trop quoi.
TEST: Un tentacule plus court que les autres l’agrippa.
TEST: Il avait de toutes ses forces tenté de la faire échapper au danger.
TEST: Il convient
TEST: Conf. Alchimie, op. cit.
TEST: et tout expliquer
TEST: L’or a besoin tout d’abord d’être préparé
TEST: ces ombres sont quant à elles habitées.
TEST: les sept figures

## version 0.4.3
TEST: 01 64 21 39

## version 0.4.2
TEST: Quelques kilomètres plus à l’ouest.
TEST: Nous n’avons plus cours.
TEST: Sa manière aigre-douce.
TEST: Une interprétation et une application conformes aux exigences du droit communautaire.
TEST: Ils font tous deux partie.
TEST: Tu travailles pas mal.
TEST: Je me savais pas assez malin.
TEST: J’étais quelqu’un d’intelligent et de cultivé.

## version 0.4.1
TEST: Elle se livre à des interprétations tantôt extensives, tantôt restrictives, de la loi.
TEST: Il faudrait encore déterminer le contenu du droit qu’une telle analyse lui confère.
TEST: Une telle analyse m’en confère.
TEST: Quant à présent…
TEST: pour la manger
TEST: sans les lire
TEST: excepté les manger
TEST: vendredi 13 juin 2014
TEST: mardi 13 juin 2014 avant J.-C.
TEST: mardi 13 juin 2014 av. J.-C.
TEST: Quelles garanties leur avez-vous offertes ?
TEST: pour les toucher
TEST: Le législateur, adoptant malgré tout les dispositions envisagées,
TEST: Entendue matériellement, la soustraction ne peut porter que sur un objet mobilier.

## version 0.4.0.1
TEST: 500 m en 2 h (option : lettres isolées).
TEST: ces créatures hybrides
TEST: sur la nécessité d’explorer
TEST: en les accompagnant avec des percussions

## version 0.4
TEST: La première équipe les prévint par radio.
TEST: L’une d’entre elle saute haut.
TEST: Le désir ardent du pouvoir.
TEST: Ni les Anciens ni les Modernes Philosophes n’ont jamais fait autre chose.
TEST: Les méchantes Philosophes n’ont jamais fait autre chose.
TEST: Les mises perdues d’avance.
TEST: Écouter n’est pas opiner.
TEST: Je n’ai jamais rien mangé de souillé ni d’impur.
TEST: Elles portent toutes des chapeaux.
TEST: Un fusil longue portée.
TEST: Certaines choses devraient changer.
TEST: C’est peine perdue.
TEST: Je le quitte énervée par son hypocrisie.
TEST: Les manger sera mon bon plaisir.
TEST: Mais elle les fait plus petites.
TEST: Vient le temps de partir.
TEST: C’est ce monsieur qui…
TEST: Antonio Banderas.
TEST: Les 4 juillet.
TEST: Elles se révèlent de feu une fois brisées les barrières.
TEST: Une assistance s’est assise par terre, certains restant debout.
TEST: Serrer la main de John et de Barbara qui furent étonnés qu’ils se mirent à pleurer.
TEST: L’échec est dû à une erreur de calcul.
TEST: L’armée est sur le point de partir.
TEST: Une partie est due à une erreur de calcul.
TEST: La frustre temporalité que connaissent la plupart de mes frères et sœurs.

## version 0.3.9
TEST: Mise à jour gratuite.
TEST: Les lettres que tu m’as envoyées.
TEST: Je n’ai cure de ce que les gens pensent.
TEST: Marie est mal à l’aise.
TEST: Il vit que le secours inespéré.
TEST: En tous sens.
TEST: Savez-vous ce qu’auraient pensé vos parents ?
TEST: Les pierres sont marron et grises.
TEST: 4.2.3 Écriture des nombres complexes.
TEST: Hilda est comme elle est…
TEST: La première fois que j’ai tenté l’expérience.
TEST: Glacier du Trient et glacier des Bossons.
TEST: Cf. rapport, cf. rapport.
TEST: Chap. douze, chap. douze.

## version 0.3.8.3
TEST: J’ai l’impression que tu as compris.
TEST: Sa spécificité se situera plutôt dans la façon qu’elle a d’approcher la matière.

## version 0.3.8.2
TEST: La pommade qu’elle a voulu me passer.
TEST: Des gens qui ont réservé leur place ne se présenteront pas au jour et à l’heure dits.
TEST: La procession reprit sa marche sans qu’il y eût rien de changé dans son cérémonial.

## version 0.3.8
TEST: Celui de textes dont nous ne percevons pas la beauté est douloureux…
TEST: Elle souriait, comme si le vent et elle se comprenaient fort bien.
TEST: Les étagères qui équipent ces chariots sont trop petites pour recevoir certains formats.
TEST: Les voyageurs qui attendaient la correspondance furent réunis à une table ronde.

## version 0.3.7
TEST: Ce sont Tesla et Westinghouse qui emportent le contrat du gouvernement américain.
TEST: Il fait presque nuit.
TEST: J’ai fait le boulot tout seul et après j’ai eu la paix pour écrire tout ça.
TEST: Le directeur et toute sa bande installés à la tribune d’honneur.
TEST: Le paysage dans toutes les directions est somptueux.
TEST: Les hommes accompagnant les tentes sont peu nombreux.
TEST: Bravo pour l’évadé, bravo aussi pour ceux qui l’escortaient.
TEST: On vit mieux son visage : autour de la bouche, quelque chose de crispé.
TEST: Les contours de toutes nos vertus sont tracés par l’adversité.
TEST: Trop couvrir la tête est mauvais.
TEST: Gravir cette montagne est dangereux.
TEST: L’agréable fièvre qui l’avait un moment habitée était tombée.
TEST: Nous sommes frère et sœur.
TEST: Il s’est interrompu et nous avons tous les deux regardé l’homme aux cheveux gris.
TEST: Les jeunes officiels formant l’institut allemand de Paris professaient.
TEST: De le faire disparaître dans des sacs-poubelle (dictionnaire 5.0.2).
TEST: Pierre, Auguste, Cyprien étaient affalés.
TEST: Ces lettres-là, Pierre et elle les lisaient ensemble.
TEST: Laisser courir, seul dans la nature, l’un de ses jeunes prisonniers nouvellement arrivé.
TEST: Le directeur et toute sa bande installés à la tribune d’honneur.
TEST: La réminiscence d’une position de privilégié semblable à.
TEST: Elle n’a guère affaire avec l’ascèse.
TEST: Elle a déclaré cela excellent.
TEST: Si faute il y a, ils ont le droit…
TEST: Elle signale la fin du vers ou de la strophe.
TEST: Alors, il chargea le marin tête baissée.
TEST: Certes, mais entre-temps, des gens de toutes les races sont venus chez nous.
TEST: Ni l’air ni l’eau ne sortent d’une amphore scellée.
TEST: Ni lui ni son mouvement n’avaient d’argent.
TEST: La rime et, en général, la règle acquièrent donc aussi cette fonction.
TEST: Ce furent les seules nouvelles de moi qui parvinrent.
TEST: Par petits groupes, qui ne ralliaient pas toujours le camp mais s’agrégeaient en bandes indépendantes.
TEST: Nous avons rencontré une terre plus grande que l’Europe et l’Afrique réunies.
TEST: Poétiser est innover, et on n’enseigne pas à innover.
TEST: En voyant celui-ci serrer soigneusement le paquet …
TEST: Les aérothermes ont une prise d’air neuf réglable.
TEST: Où sont Papa et Maman ?
TEST: Couper en tout petits morceaux.
TEST: Celle ayant le masque le plus long est sélectionnée.

## version 0.3.6.1
TEST: Il cherchait à m’écarter de la scène, quel qu’en soit le moyen.

## version 0.3.6
TEST: Une police supportant tous ces caractères n’existe pas.
TEST: Un lis blanc. (Dictionnaire 5.0).
TEST: De la seizième à la vingt-troisième année, à la vingt-cinquième (Dictionnaire 5.0).
TEST: Quoi qu’il en soit.
TEST: Ses longues boucles noires comme la nuit sautillaient de droit à gauche.
TEST: Une de ces cocottes plus arriviste que les autres me poursuivit un certain temps.
TEST: Mlle Agathe et M. Sénèque entrent dans la chambre.
TEST: C’est une petite brune, un soupçon replète.

## version 0.3.5
TEST: J’hésite un moment, pèse le pour et le contre de chaque option.
TEST: S’ils eussent été des diplomates, les négociateurs français se fussent moins étonnés…
TEST: Allongé sur le lit funèbre à pieds de lion ou de chacal.
TEST: Des collines entières sont couvertes d’anémones d’un rouge ou d’un blanc éclatants.
TEST: Ils complétaient cet ameublement d’une simplicité et d’une grâce champêtres.
TEST: Il était tout en noir, vêtu, comme tous les jours ou presque, d’une chemise et d’un pantalon noirs.
TEST: Il faisait l’objet d’une affection et d’une fierté particulières.
TEST: Lorsque je me suis tu, le grand type s’est mis à parler.
TEST: Par un de leurs sondages pratiqué sur un autre point de la montagne.
TEST: Les périodes diurne et nocturne.

## version 0.3.4
TEST: La pile électrique de Volta.
TEST: Vous allez y résister.
TEST: Les hommes qui attachaient leurs chevaux près des baraquements de la Marine avaient ramené leurs montures.
TEST: Vues de près, les huttes…
TEST: Vue depuis la jetée et la route du bord de mer, la mosquée…

## version 0.3.3
TEST: J’aurais bien envie de vous écrire.
TEST: Ce sont mille piliers bleus qui l’entourent désormais, comme une cage mystérieuse.
TEST: Pour cet exercice, on utilisera la convention récepteur du dipôle R…
TEST: Déjà la seizième année ne nous paraît pas tellement différente de l’enfance.
TEST: Marie, poussant le landau, fermait la marche à grands pas précipités.
TEST: Une vive couleur rose avait envahi ses joues tout à l’heure si pâles.
TEST: Il incarne bien le « Mac » écossais de son nom.
TEST: Les camionneurs d’Amérique centrale…
TEST: Étranger dans ma société, qui ce soir-là était peu nombreuse.
TEST: Tous les hommes étaient aux champs, sauf un qui nous parut peu disert.
TEST: L’énergie hydraulique, le solaire, l’éolien, la biomasse sont des énergies renouvelables.
TEST: L’amour, l’amitié, la vie sont là.
TEST: Ce soir-là se présentèrent deux Tadjiks.
TEST: Pour serrer la main de John et de Barbara qui furent si étonnés qu’ils se mirent à pleurer.
TEST: Le réverbère et le vélocipède et le télégraphe Morse n’auront plus de mystère.
TEST: Mlle Agathe et M. Sénèque entrèrent dans la chambre.

## version 0.3.2
TEST: Ce n’est maintenant un secret pour personne que nombre des textes de la Bible.

## version 0.3.1
TEST: Croire qu’il n’eût fallu que vous tromper pour obtenir plus d’indulgence ?
TEST: Oui, ma chère belle, Dieu qui ne voulait que vous éprouver.
TEST: Tout à coup, son air et son ton changèrent sensiblement.
TEST: Je vous en conjure, mon indulgente amie, écrivez-moi, vous-même, aussitôt que vous le pourrez.
TEST: Je vous prie de croire que tous mes soins vous seront acquis, aussitôt que vous le désirerez.
TEST: Mais à présent qu’elle est à Paris, qu’elle se porte bien, et surtout que vous la voyez quelquefois.
TEST: Ses parents, tout hérissés d’honneur.
TEST: Que pour le moment, je suis on ne peut pas moins disposée à vous accorder vos demandes.
TEST: Mais de si grands intérêts méritent bien, ce me semble, d’être avant tout discutés et éclaircis.

## version 0.3
TEST: Et comment l’ont-ils attrapée ?
TEST: les écailles du Poisson scintillaient comme des astres d’or.
TEST: Jane ni Michael ne le surent jamais au juste.
TEST: Les mains de Michael se refermaient sur le vide.
TEST: Mme Holmes et le docteur Simpson sortirent.

## version 0.2.8
TEST: Avez-vous honte ? N’avez-vous pas honte ?
TEST: Avez-vous un certificat de vaccination ?
TEST: Avez-vous des nouvelles ?
TEST: N’y aurait-il pas un moyen de lever la consigne ? (1)
TEST: N’y aurait-il pas une erreur ?
TEST: Par où aurait-elle passé.
TEST: Ils sont bien sûr ressortis indemnes de la tragédie.
TEST: Dans un anglais impeccable.
TEST: Le rendez-vous que nous nous sommes donné.
TEST: Le contact avec la structure (cloisons…) doit être évité.
TEST: Crier comme un perdu.
TEST: Je ne pouvais simplement pas laisser ça arriver.
TEST: La DG emploie 295 personnes dont 27 français.
TEST: Les as-tu enfermés ?
TEST: Il lui dit d’un ton radouci
TEST: 1/2 journée.
TEST: La viande de bœuf saumurée.
TEST: Une nouvelle approche des candidatures suivantes qui se veut « basée sur les preuves ».
TEST: Des interfaces homme/machine.
TEST: L’application de ces modèles illustre…
TEST: Une allée sablée.
TEST: Vinaigre le plus noblement distillé.
TEST: Un homme plus grand que les autres m’a offert…
TEST: Une de ces cocottes plus arriviste que les autres me poursuivit un certain temps.

## version 0.2.7
TEST: La vérité des faits énoncés…
TEST: Voir la déclaration sur l’honneur ci-jointe.
TEST: Avec Christine et moi qui tenions nos quarts…
TEST: Les observateurs de l’ONU normalement présents…
TEST: Il s’est rendu chez l’homme qui devait le payer, pour voir celui-ci s’enfuir par la fenêtre.
TEST: Tous les conducteurs d’une voie sont mis en série par leurs connexions aux lames du collecteur.
TEST: Les traîtres eaux de la Patagonie australe (dictionnaire 4.10).
TEST: Il part reconquérir le cœur de sa bien aimée.

## version 0.2.6
TEST: Il lança la pierre droit au but.
TEST: Et tout à coup je m’apparais (dictionnaire 4.10).
TEST: Des visages couleur caramel.

## version 0.2.5
TEST: Tu te crées, Il se crée.
TEST: Ils sont un brin surexcités.
TEST: Des voyages en car.
TEST: Des travailleurs à temps partiel.
TEST: Ces don Juan plus rapides que l’éclair.
TEST: Des bananes plantain.
TEST: Les faits exprimés ci-dessus.
TEST: Rien ne se perd, rien ne se crée.
TEST: Attendez, fit obligeamment René Char, je vais le calmer.
TEST: Ses productions, quelque imparfaites qu’elles puissent être.
TEST: La partie nord de la région. (Dictionnaire 4.9)
TEST: La partie ouest de la région. (Dictionnaire 4.9)
TEST: La partie sud de la région. (Dictionnaire 4.9)
TEST: La partie non-fumeur. (Dictionnaire 4.9)
TEST: L’empreinte carbone.
TEST: De beaux vitraux dont l’un fait allusion à une prophétie.
TEST: Écoutez-le !
TEST: Écoutez-moi. Oubliez-moi, épargnez-moi. Épargnez-moi.
TEST: Ânonnez-la.
TEST: Venez le plus tôt possible.
TEST: Toutes les grandeurs électriques d’un circuit sont à la même fréquence.
TEST: Deux côtés consécutifs d’un carré sont perpendiculaires.
TEST: Je le sais, fit simplement René.
TEST: Force nous est de constater…
TEST: L’un de ceux-là donne aux pauvres.
TEST: Ceux-ci retenus par …
TEST: Les vélos avec moteur électrique.
TEST: Elles sont de la première et de la deuxième générations.
TEST: Des protections antigel.

## version 0.2.4
TEST: Attendre longtemps exaspère la plupart des gens.
TEST: L’histoire commence il y a longtemps.
TEST: Celui-ci étant mort en 1861…
TEST: A priori, ces…
TEST: Il n’aurait rien tant voulu que de réaliser par son art une émotion aussi poignante…
TEST: À Vienne il vit Brahms.
TEST: Son aura brillait de tout son être.
TEST: Si tu t’es un jour penchée
TEST: Elles seraient un jour délaissées : Accord de genre erroné entre jour et délaissées
TEST: Dans les bars des marinas (dictionnaire 4.8).
TEST: Ils s’en donnent à cœur joie.
TEST: Il était encore à moitié endormi.
TEST: Les côtes sont dans leur ensemble découpées.
TEST: La plus grosse erreur de mes parents aura été de croire
TEST: Les licences « Créative Commons »…
TEST: Un aspect féodal tempéré par le luxe et le confort modernes.
TEST: Ils donnent une somme à un candidat ou une cause particuliers.

## version 0.2.3
TEST: Il parle de son « inquiétude passionnée » et de son ‘inspiration tragique ’ (mais son “inspiration”).
TEST: Le nez de Cléopâtre, s’il eût été plus court…
TEST: Vous avez l’air resplendissantes.
TEST: Il s’inquiète pour leur santé.
TEST: De quand à quand travailles-tu ?
TEST: Écrivent-ils une lettre ? (contournement du bug de Python)
TEST: Quelqu’un joue du piano.
TEST: Son manque d’expertise lui interdit toute promotion.
TEST: Je comptais le lire.
TEST: Tous sauf un acceptèrent son plan.
TEST: Ils sont légion.
TEST: Si vous fussiez venu hier, vous auriez pu le voir.
TEST: Des cheveux châtain clair.
TEST: Je ne peux pas la manger.
TEST: Le canal de Suez. (Dictionnaire 4.7)
TEST: Laissez cette boîte là où elle est.
TEST: Une chambre avec air conditionné.
TEST: Mais, échappa-t-elle… Échappa-t-elle ?
TEST: Un rendu 3D. (Dictionnaire 4.7)

## version 0.2
TEST: Les questions sont centralisées puis relayées…
TEST: Le désappointement du devoir contrarié.
TEST: Ne voilà-t-il pas ce qu’on appelle un signe des temps ? — (Guy de Maupassant, En rôdant, 1883)
TEST: Mes membres se sont déraidis.
TEST: Pour qu’ils soient de nouveau complets.
TEST: Pourquoi vous eussé-je questionné sans motif ? (Dictionnaire 4.5)
TEST: Un débarras (Dictionnaire 4.6)
TEST: Je l’ai tout à fait oublié.
TEST: La quasi-totalité.
TEST: À la diable (sauf si en début de phrase : bug de Python)
TEST: À la papa (sauf si en début de phrase : bug de Python)
TEST: Les polluants comme celui-ci viennent principalement de la combustion de l’essence.
TEST: Évite-nous le problème (contournement du bug Python)
TEST: Ces ressources, une fois brûlées, ne seront plus jamais disponibles à l’échelle des temps humains.
TEST: Une exposition plein sud du bâtiment.
TEST: À la longue qualifié…
TEST: Les enfants peuvent être à la fois jeunes et vieux.
TEST: Ses yeux bleu clair et protubérants…
TEST: J’attendais je ne sais quel miracle.
TEST: Elle seule aurait pu le constater puisqu’elle seule en avait le pouvoir.
TEST: Un bâtiment basse consommation.
TEST: Le gentil monsieur, qui est grand et beau, peut être un parfait imbécile !
TEST: L’armée est en ce moment victorieuse.
TEST: Une petite réserve, mise à l’abri, peut être décisive.
TEST: Ses père et mère.
TEST: Indiquez vos nom et prénom.

## version 0.1.2
TEST: Êtes-vous pour ou contre ceci ? (Bug de Python, semble-t-il)
TEST: Calculer l’allocation logement.
TEST: Petit souvenir pour René Machin.
TEST: Au demeurant, ces messieurs … (dictionnaire 4.4)
TEST: Se servant très habilement des menées royalistes (dictionnaire 4.4)
TEST: Ils sont autre chose que des sauvages incultes. (dictionnaire 4.4)
TEST: Les hors-la-loi. (dictionnaire 4.4)
TEST: Ils sont face à face. (dictionnaire 4.4)
TEST: Ils sont emplis d’orgueil. (dictionnaire 4.4)
TEST: Au levant, un jardin… (dictionnaire 4.4)
TEST: Ils se saisissent de lui avant de le frapper.
TEST: Ils n’utilisent pas du tout les pieds.
TEST: Ils ne le lui permettront pas.
TEST: Il sort de la salle située à l’extrémité sud.
TEST: Est terminé. Samedi prochain, nous recommencerons.
TEST: L’est est de ce côté.
TEST: C’est raisonner en chef… (ENFIN !!!).
TEST: Lancez-nous dans la bataille.
TEST: C’était il y a bien longtemps.
TEST: Le IIᵉ siècle.
TEST: C’est elle qui me l’a dit.
TEST: Quelqu’un peut me le dire ?
TEST: C’est elle qui …
TEST: Ce sont elles qui …
TEST: Le nord est de ce côté, le sud est de ce côté.
TEST: Les cours particuliers.
TEST: Elle portait plusieurs bagues à ses fins doigts.
TEST: Il passe en cour martiale.
TEST: Dans vingt et un jours.
TEST: Le mille marin est une mesure de longueur …
TEST: Il regagna sa chambre seul.
TEST: Il prenait ses repas seul.
TEST: « Venez vous asseoir, Pierre », dit Patrick.
TEST: C’eût été manquer de réalisme que de penser que…
TEST: Écrit dans un anglais facile.

## version 0.1
TEST: L’eau et le feu suffisent pour l’œuvre entière.
TEST: Imitez donc la ruse qu’employèrent les Grecs.
TEST: Je suis boulanger.
TEST: Je ne lui adresse plus la parole.
TEST: Il est plus accroché à elle qu’elle à lui.
TEST: Vous pouvez vous fier à ce dictionnaire.
TEST: Le grec et le latin sont des langues utiles.
TEST: L’Europe et le Japon instaurèrent.
TEST: Faudrait-il se demander.
TEST: Au maintien d’une industrie.
TEST: Il est à la fois grand et intelligent.
TEST: Une fois retrouvé, on le soumit à la question.
TEST: Au revoir mes amis. Au revoir !
TEST: Toutes choses égales par ailleurs.
TEST: Elles sont toutes blanches.
TEST: Le ou les cas que vous aurez à traiter.
TEST: Pierre nous a procuré un argument de poids.
TEST: Du 1ᵉʳ mars 2010 relative au respect des droits.
TEST: Le 2 mars 2010 relative au respect des droits.
TEST: Ce serait attaquer les droits de l’homme que de ne pas…
TEST: Ce serait ignorer.
TEST: Autour d’elle se sont réunis tous les désirs ignobles.

## version 0.0.12
TEST: Le déclin suite à la guerre…
TEST: Malgré qu’il en ait.
TEST: Les robots sentinelles.
TEST: Fermer les yeux arrête le phénomène.
TEST: En elle est contenu le feu.
TEST: Après les avoir peintes…
TEST: Je t’assure qu’à cette date j’aurai l’argent.
TEST: L’horloge indique 16:44.
TEST: http://www.site.fr
TEST: Il joue un rôle clé.
TEST: Au-delà d’une concentration seuil…
TEST: Les messages vidéo.
TEST: Que nous y allions ou pas dépend du temps.
TEST: Ce matin j’ai raté le train.
TEST: Le quatre juillet.
TEST: Elle a l’air malheureuse.
TEST: Selon le bulletin météo, il fera beau.
TEST: Les avions volèrent.

## version 0.0.11
TEST: Les grêles tilleuls de la place.
TEST: Je n’arrive pas à mettre la main dessus.
TEST: Passés de mains en mains, les poissons étaient jetés sur la table.
TEST: À qui mieux mieux…
TEST: Nul et non avenu.
TEST: Il est leste pour son âge.
TEST: Des maxima, des minima.
TEST: Vous ferez la visite de la maison jeudi à onze heures.

## version 0.0.10
TEST: Le 18 février, le 12 brumaire.
TEST: Elle prononça le nom de son auguste protectrice : l’impératrice.
TEST: Il était habitué à suivre ses propres pensées.
TEST: Recevez mes plus amicales pensées.
TEST: Il en était fier !
TEST: Rien n’indiquait si elle l’avait écouté, ou si elle ne songeait à rien.
TEST: Je me lève vers les sept heures du matin.
TEST: Les canons ne sortaient pas de leur sinistre immobilité.
TEST: Si Dieu l’avait voulu, je serais fils de roi.
TEST: Je soussigné X déclare que…
TEST: Ses propres convictions.
TEST: Autres CONTRÔLES
TEST: Quant à eux, je les épargne.
TEST: Oh çà ! Ah çà ! Çà et là…
TEST: À qui mieux mieux…
TEST: Il a l’avenir devant lui…
TEST: Le son du canon.
TEST: Il chante a cappella.
TEST: Les décrets ont force de loi.
TEST: Les enfants ont recours au suicide.
TEST: Ils ont hâte de vous voir.
TEST: Il lui a adressé des compliments.
TEST: Boîte aux lettres intérieure
TEST: Le cinéma tire à hue et à dia (dictionnaire 5.1)
TEST: Il a sauté à pieds joints.
TEST: Des yeux vert olive.
TEST: Nous convenons en particulier ce qui suit.
TEST: La bataille de Monte Cassino (dictionnaire 5.1).
TEST: Un trois-quarts de rugby.
TEST: Les trois-quarts de l’équipe de rugby.
TEST: Je me sens chez moi dans ton chez-toi.
TEST: Les ayants droit.
TEST: Il sera élu en 2010 maire de la ville.
TEST: Il nous a montré le chemin.
TEST: Il nous a donné du pain.
TEST: Napoléon est né en Corse.
TEST: L’Écosse peut être très chaude.
TEST: Il s’est exprimé dans un français approximatif.
TEST: J’ai mille cent timbres.
TEST: Soit idiot, soit débile.
TEST: Son adorable sœur aînée.
TEST: Ce putain de train.
TEST: Écouter est opiner.
TEST: Elle se rappelle de moi.
TEST: Il se rappelle de me parler.
TEST: Je me rappelle de moins en moins mon enfance.
TEST: La création de nouvelles infractions illustre une prise en charge du sujet par le politique.
TEST: Certains y voient la preuve qu’il a finalement été lâché par son soutien.
TEST: Te voilà paré.
TEST: une des neuf provinces.
TEST: une intoxication en cours peut être diagnostiquée
TEST: Les bonnes gens
TEST: Il est conseiller municipal.
TEST: C’est dans la soirée que ces poursuites avaient été entamées.
TEST: Pour faire savoir que cette arrestation a été décidée.
TEST: Il remit soigneusement le carreau en place…
TEST: La galerie s’ouvrit tout à coup sur une caverne…
TEST: Il tomba sur une autre patrouille et assassina le mage en premier…
TEST: La voix agaçante de la gamine était revenue la hanter…
TEST: Allons y jeter un œil.
TEST: On a tous des qualités.
TEST: Les femmes portent toutes des noms à consonance étrangère.
TEST: Une taille 38 imposée aux mannequins.
TEST: Ce putain de temps.
TEST: Il a fait la une des journaux.
TEST: Le numéro un des ventes de Noël.
TEST: Le patron du numéro deux allemand a démissionné.
TEST: Je soussigné Pierre Dupont déclare avoir pris connaissance des conditions de ce contrat.
TEST: J’ai mille cent timbres.
TEST: À qui mieux mieux, à qui mieux mieux
TEST: L’est est loin, la gare de l’est aussi.



!!! Tests repris de LanguageTool                                                                    
## NOTE : ces textes contiennent parfois des erreurs (corrigées quand repérées par le correcteur)

TEST: Au voisinage du zéro absolu de température.
TEST: La couronne périphérique alterne falaises abruptes et plages.
TEST: Henri VIII rencontre François Iᵉʳ.
TEST: à ce jour.
TEST: avoir un bel avenir
TEST: faire un dessin
TEST: par exemple
TEST: Une dune.
TEST: Une dune de sable blanc.
TEST: remède universel
TEST: Il regarde l’heure tout le temps.
TEST: dépenses excessives
TEST: tremblement de terre
TEST: On ne veut pas voir la même chose.
TEST: Je voudrais ajouter quelque chose de particulièrement important.
TEST: La gent féminine.
TEST: Il est prêt à tout.
TEST: L’étoile se trouve à peu près à 50 années-lumière.
TEST: Il s’intéresse de près à l’environnement.
TEST: Nous sommes près d’arriver.
TEST: Nous ne sommes pas près d’arriver.
TEST: J’ai obtenu un prêt de la banque.
TEST: vivre l’un près de l’autre.
TEST: Tu ne trouves pas ça bizarre.
TEST: Ça chauffe
TEST: Pourriez-vous répéter ça s’il vous plaît ?
TEST: Il mange ça froid.
TEST: Il a promis de garder ça secret.
TEST: Ça montre que tu n’as pas compris.
TEST: Ça c’est un couteau.
TEST: Ça n’a pas de sens.
TEST: Mais ça oui.
TEST: Sa voiture est en panne.
TEST: C’est sa préférée.
TEST: Il trouva de la nourriture çà et là.
TEST: Quant à ma commande, elle n’est pas arrivée.
TEST: De quand à quand tu travailles ?
TEST: Tu reviens quand à Paris ?
TEST: Tu restes jusqu’à quand à la maison ?
TEST: Le Notre Père est une prière chrétienne.
TEST: Si vous souhaitez en savoir davantage, veuillez me contacter.
TEST: Cette offre est accompagnée d’avantages.
TEST: Il part bientôt pour Venise.
TEST: Il peut être têtu.
TEST: Il partira peut-être demain.
TEST: Cela peut être vrai.
TEST: L’Écosse peut être très chaude.
TEST: L’alcool au volant peut être dangereux.
TEST: Une intoxication en cours peut être diagnostiquée.
TEST: Elle peut être ennuyeuse.
TEST: La lettre est à elle peut-être.
TEST: C’est elle peut-être.
TEST: Peut-être viendra-t-il ?
TEST: Est-ce que quelqu’un peut m’aider ?
TEST: Je veux m’éloigner autant que faire se peut d’ici.
TEST: On peut d’ailleurs le vérifier.
TEST: La pale de l’hélice est cassée.
TEST: Je joue au golf depuis un an.
TEST: Je joue souvent au golf le dimanche.
TEST: C’est un bon joueur de golf.
TEST: Le golfe Persique est presque une mer fermée.
TEST: Le golfe d’Aden est la baie située entre la corne de l’Afrique et la péninsule Arabique.
TEST: Le golfe du Lion est une partie de la mer Méditerranée.
TEST: Le repaire des pirates.
TEST: Ce ris de veau est succulent.
TEST: Ce ris d’agneau est succulent.
TEST: Le forcement d’un coffre.
TEST: Vous avez forcément raison.
TEST: Vous n’avez pas forcément raison.
TEST: S’exprimer sans forcément parler.
TEST: Un gâteau aux amandes.
TEST: Face aux amendes à payer
TEST: En amende honorable
TEST: J’ai été condamné à une forte amende.
TEST: J’ai été mis à l’amende.
TEST: Un enfant de chœur.
TEST: Le chœur philharmonique.
TEST: Il a confessé tous ses péchés.
TEST: Les péchés capitaux
TEST: Manger est mon péché mignon.
TEST: Péchés de jeunesse
TEST: C’est un des leurs.
TEST: Les dés les plus courants.
TEST: Dès à présent
TEST: J’ai acheté des dés à jouer.
TEST: Dès à présent
TEST: Plusieurs des caractéristiques.
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: 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: A priori, il devrait arriver à l’heure.
TEST: Je ne pouvais pas le croire a priori.
TEST: La grève généralisée a paralysé tout le pays.
TEST: Fumer a nui à sa santé.
TEST: Ce que tu dis a l’air correct.
TEST: Puis a jailli un jeune homme.
TEST: Il chante a cappella.
TEST: Il est pris à partie.
TEST: Le nettoyage à sec.
TEST: Il a quel âge ?
TEST: Prendre quelqu’un à partie.
TEST: Lorsqu’il y a proximité d’un restaurant universitaire.
TEST: Il a lui aussi décidé de partir.
TEST: Tout à fait !
TEST: Il est tombé tout à coup.
TEST: Je parlais tout à l’heure avec ma femme.
TEST: Il y en a qui dorment.
TEST: Fais-moi savoir s’il y a quoi que ce soit que je puisse faire.
TEST: Nous étions face à un danger.
TEST: Le coiffeur en face a mis la clé sous la porte.
TEST: Grâce à toi, j’ai gagné.
TEST: Elles sont prêtes à t’écouter.
TEST: Le prêt a été refusé.
TEST: Tout à coup, j’entendis une explosion.
TEST: Il est facile de décider a posteriori.
TEST: Il a été aux États-Unis.
TEST: Je suis tout à fait d’accord.
TEST: Un crayon à pointe fine.
TEST: Les familles à revenus modestes
TEST: Il n’a pas manqué l’occasion de prendre à partie son prédécesseur.
TEST: Une tapette à tapis.
TEST: Une maladie à issue fatale.
TEST: Où sont mes affaires ?
TEST: Manger ou être mangé, c’est la loi de la nature.
TEST: Ils ont été ou sont pour l’implantation de la centrale nucléaire.
TEST: J’en suis sûr.
TEST: Sûr et certain.
TEST: Nous nous sentions toujours sûrs de nous.
TEST: Tout repose sur de vagues accusations.
TEST: Il compte sur d’autres personnes.
TEST: Des relations bâties sur l’argent.
TEST: Il compte sur d’autres personnes.
TEST: Un moratoire a été établi sur de telles pratiques.
TEST: Il réussira à coup sûr son examen.
TEST: Ce programme se base sur la participation des femmes.
TEST: Tout ce que je sais.
TEST: Ce sont des histoires.
TEST: Ce sont de grands enfants.
TEST: Ils se sont tous inscrits.
TEST: Ils se sont aimés.
TEST: Ils se sont d’ailleurs doté d’un nouvel ordinateur.
TEST: Ce sera une fille.
TEST: Il se sera d’abord lavé.
TEST: Ce sera bien.
TEST: Ce phénomène se transforme en phénomène de société.
TEST: Ce peuple
TEST: Ce faisant, il se rapprochait.
TEST: Pour ce faire, vous disposez d’un délai d’une semaine.
TEST: C’est ma voiture.
TEST: C’est ma préférée.
TEST: Le problème c’est qu’apparemment elle n’a pas son mot de passe…
TEST: Les Chinoises sont celles qui se marient le plus avec les Sud-Coréens.
TEST: Le son dans l’informatique
TEST: Son indigne frère
TEST: Au son de la voix
TEST: Même son de cloche
TEST: Eh bien, soit !
TEST: Et bien sûr, il n’est pas venu.
TEST: Et bien qu’il commençât en retard, il termina en avance.
TEST: Et bien souvent, ça dégénère.
TEST: Eh bien, soit !
TEST: Je travaille tard.
TEST: Nous n’affirmons rien.
TEST: Je compte sur vous mercredi.
TEST: Nous non plus
TEST: Où vous rendez-vous habituellement ?
TEST: La zone géographique dans laquelle je vis
TEST: C’est une belle maison.
TEST: Cette école est réputée.
TEST: C’est dommage de partir si tôt.
TEST: Vouloir c’est pouvoir.
TEST: C’est non seulement pour lui, mais aussi pour elle.
TEST: C’est dimanche qu’il arrive.
TEST: Comme c’est romantique.
TEST: C’est la fin.
TEST: C’est suite à cette victoire qu’il fut élu.
TEST: C’est incognito qu’il reporta le prix.
TEST: C’est face à la montée en puissance.
TEST: Il est interrogé en tant que témoin.
TEST: Il faut se rappeler de temps en temps que rien n’est immortel.
TEST: On a fini.
TEST: Ceux qui ont envie de voir le film
TEST: Les décrets ont force de loi.
TEST: Les enfants ont recours au suicide.
TEST: Les méthodes qui ont cours.
TEST: Ils ont hâte de vous voir.
TEST: Ils comprennent qu’ils ont affaire à un épisode tragique.
TEST: Je suis sceptique.
TEST: Une fosse septique.
TEST: Je reste sceptique.
TEST: En termes de rémunération
TEST: L’azurage du linge se fait avec du bleu d’outremer.
TEST: Étiez-vous en train de travailler ?
TEST: Le voleur fit irruption pendant la nuit.
TEST: L’éruption du volcan fut violente.
TEST: Il y a une vacance dans notre équipe au travail.
TEST: J’ai repris ce fonds de commerce
TEST: Un fonds monétaire
TEST: Une affaire en cours.
TEST: Il fut traduit en cour martiale.
TEST: Donner libre cours à l’imagination
TEST: En fin de compte.
TEST: Elle aime les contes de fées.
TEST: Elle aime les contes d’horreur.
TEST: Elle aime les contes fantastiques.
TEST: Les contes et légendes de Bretagne.
TEST: Elle va au marché.
TEST: Son visage était décrépit.
TEST: Elle semblait décrépite par les années.
TEST: Il doit bien être quelque part.
TEST: Tu viendras quand même.
TEST: Tu viendras quand même ?
TEST: Comme même ses meilleurs amis n’étaient pas venus, il était triste.
TEST: Mon nom est Robert de Puis.
TEST: L’arrivée est imminente.
TEST: Des paléontologues éminents.
TEST: Une encre sur soie.
TEST: Un drap en soie.
TEST: Il n’est pas mauvais en soi.
TEST: Quoi qu’il en soit.
TEST: Un ver à soie.
TEST: Parlez à voix basse.
TEST: Cette décision ouvre la voie à des élections.
TEST: Il y avait une émotion dans sa voix.
TEST: Combien y a-t-il d’étoiles dans la Voie Lactée ?
TEST: Dans leurs voies respiratoires.
TEST: La voie piétonne est fermée.
TEST: Par voie de conséquence
TEST: Un animal en voie d’extinction.
TEST: Les pays en voie de développement
TEST: Il a ouvert la voie à la construction de l’Europe.
TEST: La tradition ascétique de l’Église.
TEST: Cancer dur côlon.
TEST: Ils ne sont pas si différents.
TEST: Tâche de ne pas faire trop de bruit.
TEST: Il a accompli la tâche facilement.
TEST: Rome importait de Gaule essentiellement du sel.
TEST: Darth Vader est un personnage de Star Wars.
TEST: Dark Vador est un personnage de Star Wars.
TEST: Darth Vader est un personnage de Star Wars.
TEST: Dark Vador est un personnage de Star Wars.
TEST: Mariah Carey
TEST: Tu es du Morbihan.
TEST: Il faut maintenir le statu quo.
TEST: Un réveillon avec foie gras et champagne.
TEST: Il est venu contre son gré.
TEST: Tu peux se déplacer à ton gré.
TEST: Une renommée qu’elle doit à la particularité de son grès.
TEST: Il viendra bon gré ou mal gré.
TEST: Errer au gré des vents.
TEST: Errer au gré du vent.
TEST: Il acceptera de gré ou de force.
TEST: Je vous sais gré d’être là.
TEST: Il faut prendre en gré les afflictions que Dieu nous envoie.
TEST: Un champignon vénéneux.
TEST: Un cobra très venimeux.
TEST: Un seau d’eau.
TEST: Ton seau est percé.
TEST: Le sceau du secret.
TEST: Elles sont contre cette idée.
TEST: Dans la ville de Contres.
TEST: Tu contres son coup de poing.
TEST: Quel est votre diagnostic ?
TEST: On le diagnostique tôt.
TEST: L’équipe m’a demandé mon pronostic pour le match de demain.
TEST: Le diagnostic prénatal.
TEST: On le diagnostique facilement.
TEST: Méthode pour le diagnostic.
TEST: Le pronostic du match.
TEST: Tu les diagnostiques facilement.
TEST: Il débouchera la bouteille.
TEST: Ils sont très avares.
TEST: L’avar est une langue caucasienne.
TEST: Ils sont avares de bonnes paroles.
TEST: Un avare amasse de l’argent non pas parce qu’il est prudent mais parce qu’il est avide.
TEST: L’avar est une langue caucasienne.
TEST: Le CO2 est un gaz à effet de serre.
TEST: Son arrivée m’a fait plaisir.
TEST: Leurs arrivées m’ont fait plaisir.
TEST: L’arrivée du tour de France.
TEST: J’ai fait un emprunt à la banque.
TEST: Mon empreinte carbone.
TEST: Les emprunts à la banque.
TEST: Tu auras affaire à moi.
TEST: J’ai des courses à faire à cinq heures.
TEST: Tu auras affaire à la police.
TEST: J’ai des courses à faire à la boutique.
TEST: Il a été construit à des fins militaires.
TEST: Il rôde sans but.
TEST: Les malfaiteurs rôdent autour de la maison.
TEST: Ils rôdent en quête de bagarre.
TEST: Il faut roder le moteur.
TEST: Tristan et Iseult tombèrent amoureux en buvant un philtre.
TEST: Il prépara un philtre d’amour.
TEST: Il prépara un philtre aphrodisiaque.
TEST: Ça sans dire !
TEST: Sa chemise à carreaux détonne avec son pantalon rayé.
TEST: Une maison de plain-pied.
TEST: Les grenouilles coassent.
TEST: Les grenouilles mâles coassent.
TEST: Les coassements inquiétants des crapauds.
TEST: Les corbeaux croassent.
TEST: Les croassements inquiétants des corbeaux.
TEST: J’étais à mille lieues d’imaginer que c’était lui.
TEST: As-tu lu 20 000 lieues sous les mers ?
TEST: Les lieus mordent à notre leurre.
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: Les lieux historiques.
TEST: J’étais quelques fois absent.
TEST: Les quelques fois où je l’ai croisé.
TEST: Les quelques fois que nous nous sommes rencontrés.
TEST: C’est quelquefois pénible de surveiller les enfants.
TEST: C’est quelquefois assez pénible de surveiller les enfants.
TEST: Noir comme jais.
TEST: Le cri du geai.
TEST: Il m’a donné un coup de poing.
TEST: Les poings serrés.
TEST: Il a été libéré sans contrepartie.
TEST: Il a été libéré sans contre-partie.
TEST: Quelles sont les contreparties ?
TEST: Il ne me reste que huit centimes.
TEST: Un procès à huis clos.
TEST: Elle est enceinte de trois mois.
TEST: Elle est enceinte de 3 mois.
TEST: Le mois de mai a été froid.
TEST: Le mois d’avril a été froid.
TEST: Quel âge as-tu ?
TEST: Une femme d’âge mûr.
TEST: Des acides aminés.
TEST: Un acide aminé.
TEST: Des dessins animés.
TEST: Un dessin animé.
TEST: Des jeunes filles.
TEST: Il n’est plus très jeune.
TEST: L’amanite tue-mouches est toxique.
TEST: Les communes de la Haute-Cornouaille.
TEST: Le Festival de Cornouaille est un festival annuel se déroulant dans la ville de Quimper.
TEST: Tourisme en Cornouaille bretonne.
TEST: Tourisme en Cornouailles britannique.
TEST: Quelqu’un leur a déjà dit.
TEST: Ceci dit.
TEST: Ceci dit.
TEST: Il s’est confié à la compagne du roi.
TEST: Une presqu’île
TEST: La réponse est presque exacte.
TEST: L’île est encore loin.
TEST: Il connait l’histoire de A à Z.
TEST: Il a appris ça en un jour.
TEST: Il semble que oui.
TEST: Le oui l’a emporté.
TEST: J’ai suivi la A40.
TEST: À la une de la presse.
TEST: Là où ça ne va plus.
TEST: Le IIᵉ siècle.
TEST: Dépose-le au courrier.
TEST: Dépose-la au courrier.
TEST: Je pense qu’il va bientôt arriver.
TEST: Dès le Iᵉʳ siècle
TEST: Les habitants de Ouagadougou.
TEST: S’il pleut, je reste ici.
TEST: Voilà ce qu’il a dit.
TEST: Vous voilà arrivé.
TEST: Et voilà ce qu’il a dit.
TEST: Elle voila son visage.
TEST: Il a soixante et un ans.
TEST: J’ai trois cent cinquante timbres.
TEST: Deux cent mille étoiles.
TEST: J’ai cinq cent soixante-et-un euros.
TEST: J’ai mille cent timbres.
TEST: J’ai trois cents timbres.
TEST: Deux cents milliards d’étoiles.
TEST: Nous avons parcouru 10 milles marins.
TEST: Convertir des milles aux kilomètres.
TEST: Carl Milles était un sculpteur suédois.
TEST: Un voyage de mille milles.
TEST: Il reste seulement dix milles jusqu’à l’arrivée.
TEST: Trois-mille euros.
TEST: J’ai 1 enfant.
TEST: Cela coûte 2,1 euros.
TEST: 1 fois.
TEST: J’ai quatre enfants.
TEST: Il est né le quatre janvier.
TEST: On estimait à seize mille les fusils de son armée.
TEST: Le patron du numéro deux allemand a démissionné.
TEST: Une Peugeot 208 fabriquée en France.
TEST: Ils ont tous les trois été tués par balle.
TEST: Les trois kanji.
TEST: L’intensité des rayons X ayant frappé la pellicule.
TEST: J’ai 4 enfants.
TEST: Il est né le 4 janvier.
TEST: Son adresse est 4 rue de la gare.
TEST: Cela coûte 1,25 euro.
TEST: Il sera élu en 2010 maire de la ville.
TEST: Le pays est découpé en 4 parties.
TEST: Une taille 38 imposée aux mannequins.
TEST: Il a battu le record avec un temps de 3 min 18 s.
TEST: L’année 800 fut considérée comme une renaissance de l’Empire romain d’Occident.
TEST: un canard
TEST: des oies dodues
TEST: au cours de l’année
TEST: Les taux d’intérêt domestiques.
TEST: Un atlas cher.
TEST: Un camion très lourd.
TEST: Vous êtes bon fils.
TEST: On voyait ses joues devenir rouges.
TEST: Des filles un peu pâles.
TEST: Même vainqueurs ils sont mécontents.
TEST: Une vache laitière
TEST: Les premier et deuxième trimestres.
TEST: Les montagnes ont l’air belles.
TEST: Les pâtes ne sont pas bonnes car trop cuites.
TEST: Il est parti aux États-Unis pour étudier.
TEST: Une faute.
TEST: Ils sont en général jeunes.
TEST: Les lois antitrust américaines.
TEST: Des roquettes sont même retombées.
TEST: Ils sont juste amis.
TEST: Parmi les mieux cotés.
TEST: Ils sont à la fois grands et minces.
TEST: En 1779 débute la première des neuf guerres.
TEST: Des erreurs même très graves.
TEST: J’ai au moins quelques dollars.
TEST: Certaines grenouilles peuvent même être mortelles.
TEST: un canard gras
TEST: des oies
TEST: Des poulets fermiers
TEST: Les hérétiques ayant reconnu la foi catholique.
TEST: Les voitures verte et rouge.
TEST: Des livres audio
TEST: L’institut de recherches britannique
TEST: Les camions très lourds.
TEST: Les atlas chers.
TEST: Fils naturel de Richard
TEST: Faites attention.
TEST: Les préoccupations des travailleurs face à la crise.
TEST: Plus de crédits bancaires grâce à des taux d’intérêts bas.
TEST: Je suis né le huit janvier.
TEST: Deux immeubles juste en face de toi.
TEST: Les communications Internet.
TEST: Un catalogue des animaux commode à consulter
TEST: J’aime jouer aux cartes.
TEST: Pauvres du monde
TEST: Quarante pour cent des femmes
TEST: Vos nom et prénom, s’il vous plaît.
TEST: Des fautes.
TEST: Les ayants droit.
TEST: Nous aurons les résultats dans 4 heures maximum.
TEST: Critique des cent jours du président.
TEST: Un dispositif moins ambitieux mais applicable.
TEST: Ces analyses bidon.
TEST: Ces don Juan.
TEST: En 1779 débute la première des neuf guerres.
TEST: Les véhicules.
TEST: Les ondes radio.
TEST: Des événements différents ayant lieu en même temps.
TEST: Une jolie femme.
TEST: Une très jolie femme.
TEST: Le français concurrence le latin.
TEST: Le rock a donné naissance à des groupes légendaires.
TEST: Une répartition des revenus judicieuse.
TEST: Ses premiers malaises.
TEST: Un geste circulaire.
TEST: Force tranquille de la nature
TEST: Une bouche un peu grande.
TEST: La mort subite
TEST: Confus face aux remarques obscures
TEST: Un bel homme.
TEST: Confus face aux remarques obscures
TEST: Elle est tout sauf courtoise.
TEST: Il a eu le poste grâce à son anglais.
TEST: La Guyane française.
TEST: Quelqu’un paye la facture.
TEST: Tes menaces ne me font pas du tout peur.
TEST: Elle est à nouveau amoureuse.
TEST: Le numéro un des ventes de Noël.
TEST: Ce putain de temps.
TEST: J’ai grand faim.
TEST: Il sait au moins lire.
TEST: Les neuf circonscriptions des Alpes-Maritimes.
TEST: Un souvenir du passé.
TEST: Tom surprit Marie.
TEST: Je ne peux pas le lire.
TEST: Je n’ai pas du tout peur des serpents.
TEST: Nous faisons tous partie de la même équipe.
TEST: La variété du catalan parlée en Andorre.
TEST: Un climat tropical.
TEST: Un climat très tropical.
TEST: Le papier continue d’être employé.
TEST: L’équipe de football anglaise
TEST: Les cours impériales
TEST: Les dossiers triés par ordre alphabétique.
TEST: Les soldats abasourdis par le chaos.
TEST: Une bouteille fut apportée.
TEST: L’homme présente une amie.
TEST: Une réduction des coûts comprise entre 10 et 20 euros.
#TEST: Une omelette au jambon relevée d’oseille.
TEST: Des bouteilles non vidées
TEST: La détention provisoire illimitée
TEST: Une maquette d’avion jolie
TEST: Elle a l’air jolie.
TEST: Les pâtes ne sont pas bonnes car trop cuites.
TEST: Une peine pas si lourde.
TEST: Une infime minorité.
TEST: L’Inde indépendante.
TEST: Voir la déclaration sur l’honneur ci-jointe.
TEST: Une mise à jour gratuite.
TEST: Une mise à niveau couteuse.
TEST: Elle est un petit peu chiante.
TEST: <!-- L’étoile à neutrons peut même être remplacée par un trou noir. -->
TEST: Une fleur.
TEST: Un très grand chien.
TEST: Une géologue intelligente.
TEST: Un très grand chien.
TEST: Elle est grasse, car elle mange beaucoup.
TEST: Il faudra que je vive seul.
TEST: Sa large et bonne figure.
TEST: La porte d’entrée.
TEST: Son amie l’abandonne.
TEST: Le Cameroun
TEST: Toutes nos félicitations.
TEST: La justice est une si belle chose.
TEST: Telle est la question.
TEST: La plus forte progression.
TEST: C’est une sale affaire.
TEST: Il est torse nu.
TEST: La plus grande fait dix centimètres.
TEST: Les équations différentielles non linéaires.
TEST: Une des multiples affaires.
TEST: C’est la fin.
TEST: Il a fait la une des journaux.
TEST: Le mustang est un cheval sauvage.
TEST: Le jaguar est un mammifère.
TEST: La Jaguar est une voiture.
TEST: L’histoire d’une enfant pas si sage.
TEST: La partie ouest de la ville.
TEST: L’une des sept unités de base.
TEST: une des neuf provinces.
TEST: Les bonnes gens.
TEST: J’habite 10 avenue Constantin Arnaud.
TEST: L’une des pires.
TEST: Une forêt tropicale.
TEST: Une forêt très grande.
TEST: Cette définition reste valable.
TEST: Le système de retraites français.
TEST: Les cours magistraux
TEST: Les lettres triées par ordre alphabétique.
TEST: Il aura capté sa confiance.
TEST: Il a une force exceptionnelle.
TEST: Un centre logistique dédié.
TEST: Une fois effectués les changements.
TEST: Le carton est à moitié plein.
TEST: Un indicateur d’inégalité utilisé par les Nations Unies.
TEST: Des documents ou informations tirés de la commission
TEST: Une large majorité.
TEST: Une étrange expérience.
TEST: Les cours étaient en réalité destinés à préparer les élèves.
TEST: Une fut soumise anonymement.
TEST: Son metteur en scène préféré.
TEST: Une mise à jour gratuite.
TEST: Les sols en permanence gelés.
TEST: Une centaine de personnes est venue.
TEST: Il faut beaucoup de sucre.
TEST: Le nombre de masse est un terme employé en chimie.
TEST: Ils sont au nombre de neuf.
TEST: Une centaine d’anarchistes est venue.
TEST: Il faut beaucoup d’eau.
TEST: Le nombre d’oxydation.
TEST: Des créatures marines.
TEST: Des yeux vert clair.
TEST: Des yeux vert olive.
TEST: Ses cheveux étaient noir de jais.
TEST: Des yeux vert clair.
TEST: Une jupe bleu foncé.
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.
TEST: Les femmes auxquelles tu parles
TEST: Un dans chaque bras.
TEST: La femme à laquelle tu parles
TEST: L’homme auquel tu parles
TEST: L’homme avec lequel tu parles
TEST: Les hommes avec lesquels tu parles
TEST: Les hommes auxquels tu parles
TEST: Les hommes avec lesquels tu parles
TEST: Les hommes auxquels tu parles
TEST: Ça te gêne si je fume ?
TEST: Mon chien
TEST: Ton histoire
TEST: Mon œuvre
TEST: Son ère
TEST: Son malaise
TEST: Pour ne plus travailler.
TEST: J’aimerais changer de travail.
TEST: Je l’ai tout à fait oublié.
TEST: Puis assigné à résidence.
TEST: Je me suis en fait amusé.
TEST: Il a refusé de manger avec nous.
TEST: Il a refusé d’arriver plus tôt.
TEST: Il a décidé de ne plus manger avec nous.
TEST: Pour débuter, il faut acheter une grammaire.
TEST: J’ai de la peine pour René.
TEST: Comment bien étudier
TEST: Il m’a sans cesse répété de me taire.
TEST: Il est sans doute arrivé.
TEST: Je veux te préparer
TEST: Luc est quant à lui condamné.
TEST: J’étudie des parties d’échecs afin de gagner.
TEST: Je luis en parle avant d’annuler le voyage.
TEST: Tu sors ce soir.
TEST: Je soussigné Pierre Dupont déclare avoir pris connaissance des conditions de ce contrat.
TEST: Il ou elle se trouve là.
TEST: Il dit la vérité.
TEST: Tu ne sors pas ce soir.
TEST: Je ne donne rien.
TEST: Je ne dis rien.
TEST: Il me causa un grand tord.
TEST: Tu ne la sors pas ce soir.
TEST: On ne la paie pas.
TEST: Je ne l’abandonne pas.
TEST: Il ne l’est que durant l’élection.
TEST: Je suis en retard parce que j’ai raté mon bus.
TEST: Le chef du restaurant.
TEST: Partir aux USA.
TEST: Les montagnes du Jura.
TEST: Mes démêlés avec X.
TEST: Le son a interféré avec l’image.
TEST: Une irradiation avec soit de la lumière ultraviolette, soit des protons.
TEST: Le glacier du Trient.
TEST: Le glacier des Bossons.
TEST: Ils ont des a priori sur nous.
TEST: Je vais au marché.
TEST: Au sortir de la guerre.
TEST: Un orage est annoncé.
TEST: Antoine est marié.
TEST: Ils sont même restés ici.
TEST: Celui-ci est resté.
TEST: Il est torse nu.
TEST: On est fatigués.
TEST: Antoine est peut-être fatigué.
TEST: Dominique est peut-être fatiguée.
TEST: Dominique est peut-être fatigué.
TEST: Ils sont très avares.
TEST: Un orage a été annoncé.
TEST: Les camions ont été inventés.
TEST: Antoine n’est pas marié.
TEST: Antoine n’est pas très fatigué.
TEST: Mon oncle n’est pas avare de son argent.
TEST: Une averse est annoncée.
TEST: Martine est mariée.
TEST: Gravir cette montagne est dangereux
TEST: Martine est très jolie.
TEST: L’Autriche est pendant tout le Moyen Âge une des nombreuses principautés.
TEST: Cette voiture était suffisamment bon marché.
TEST: Cette caméra est dernier cri.
TEST: La sortie est droit devant.
TEST: Une averse avait été annoncée.
TEST: Martine aurait été contente.
TEST: Martine aurait été très contente.
TEST: Les voitures ont été inventées.
TEST: Martine n’est pas mariée.
TEST: Martine n’est pas très jolie.
TEST: Un orage fut annoncé.
TEST: Elle sera contente.
TEST: Martine était ennuyeuse.
TEST: Lui et son équipage furent perdus en mer.
TEST: Tu étais jeune.
TEST: Celle-là est folle.
TEST: Il est casse-couilles.
TEST: On est fatigués.
TEST: Tu étais très jeune.
TEST: On était tellement fatigués.
TEST: Un orage avait été annoncé.
TEST: Tu avais été dénoncé.
TEST: Tu avais été immédiatement dénoncé.
TEST: J’avais été content.
TEST: Elle ne sera pas contente.
TEST: Martine n’était guère ennuyeuse.
TEST: Elle est casse-couilles.
TEST: Tu n’étais pas très jeune.
TEST: On n’est pas couchés.
TEST: Des orages sont annoncés.
TEST: Elles sont absentes.
TEST: Vous êtes certain.
TEST: Le vernis à ongles est inutile.
TEST: Courir les magasins est devenu une corvée.
TEST: Nous étions fatigués.
TEST: Ils sont même allés faire la guerre.
TEST: Celles-là sont folles.
TEST: Une des réponses est correcte.
TEST: Ils sont juste arrivés.
TEST: Nous étions trop fatigués.
TEST: Ils sont bien sûr ressortis indemnes.
TEST: Nous sommes quelque peu occupés.
TEST: Ces ordinateurs sont meilleur marché que ceux-là.
TEST: Ces ordinateurs sont dernier cri.
TEST: Des orages avaient été annoncés.
TEST: Ils avaient été dénoncés.
TEST: Nous aurions été dénoncés.
TEST: Vous auriez été dénoncés.
TEST: Vous auriez été dénoncé.
TEST: Elles avaient été immédiatement dénoncées.
TEST: Elles ne sont pas absentes.
TEST: Les mathématiques ne sont pas juste de la mémorisation de formules.
TEST: Nous n’étions pas trop fatigués.
TEST: Nous ne sommes pas trop fatigués.
TEST: Est-elle arrivée ?
TEST: Est-elle souriante ?
TEST: Est-elle aveugle ?
TEST: Sont-elles arrivées ?
TEST: Sont-elles souriantes ?
TEST: Sont-elles aveugles ?
TEST: Est-il arrivé ?
TEST: Est-il souriant ?
TEST: Est-il aveugle ?
TEST: Sont-ils arrivés ?
TEST: Sont-ils souriants ?
TEST: Sont-ils aveugles ?
TEST: Est-elle déjà arrivée ?
TEST: Est-elle déjà souriante ?
TEST: Est-elle encore aveugle ?
TEST: Sont-elles déjà arrivées ?
TEST: Sont-elles déjà souriantes ?
TEST: Ne sont-elles pas aveugles ?
TEST: Est-il déjà arrivé ?
TEST: Est-il déjà souriant ?
TEST: N’est-il pas aveugle ?
TEST: Sont-ils déjà arrivés ?
TEST: Sont-ils déjà souriants ?
TEST: Ne sont-ils pas aveugles ?
TEST: Es-tu arrivée ?
TEST: Es-tu arrivé ?
TEST: Es-tu aveugle ?
TEST: Es-tu déjà arrivée ?
TEST: Es-tu déjà arrivé ?
TEST: Es-tu presque aveugle ?
TEST: Sommes-nous arrivés ?
TEST: Sommes-nous arrivées ?
TEST: Étions-nous aveugles ?
TEST: Sommes-nous déjà arrivés ?
TEST: Sommes-nous déjà arrivées ?
TEST: Ne sommes-nous pas aveugles ?
TEST: Il nous a informés.
TEST: Il nous a informées.
TEST: Il vous a informé.
TEST: Il vous a informés.
TEST: Dominique les a renseignés.
TEST: Dominique les a renseignées.
TEST: Il nous a montré le chemin.
TEST: Il nous a donné du pain.
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.
TEST: Un orage peut être observé.
TEST: Il peut être observé.
TEST: La peine de mort devrait être abolie.
TEST: Toute objection de ce type doit être déférée au président.
TEST: Antoine peut être amusant.
TEST: Une corrélation peut être observée.
TEST: Martine peut être amusante.
TEST: Les composants électroniques peuvent être nettoyés.
TEST: Un orage peut être observé.
TEST: Elle peut être observée.
TEST: Martine peut être ennuyeuse.
TEST: Lui et son équipage sont perdus en mer.
TEST: Des orages peuvent être observés.
TEST: Elles peuvent être observées.
TEST: Vous pouvez être triste.
TEST: Il est arrivé
TEST: Il est parti tôt.
TEST: L’été est chaud.
TEST: L’objectif est de réussir
TEST: Partir, c’est mourir un peu.
TEST: Il faut être aveugle pour ne pas voir ça.
TEST: Il était officier.
TEST: Crois-tu que je sois aveugle ?
TEST: Les Allemandes sont toutes des délurées.
TEST: La fille là-bas est Marie.
TEST: Ce serait attaquer les droits de l’homme.
TEST: Il faut soit partir, soit attendre.
TEST: Il a signé le contrat
TEST: Il a reçu ta lettre
TEST: Il a dû manger.
TEST: Tu as beau pleurer.
TEST: L’unique prix que tu as à payer est de laisser ce monde derrière.
TEST: Avoir hâte d’être dehors.
TEST: J’ai toutes ces pommes à porter.
TEST: J’ai cela en tête.
TEST: Nous avons compris ce qui se passe.
TEST: J’ai mangé de la soupe.
TEST: L’exposition au bisphénol A entraine des malformations.
TEST: Les gros avions causent une forte pollution sonore.
TEST: J’ai bien mangé.
TEST: Je n’ai pas encore mangé.
TEST: Avez-vous signé le contrat ?
TEST: Avez-vous déjà signé le contrat ?
TEST: Ils avaient voulu cela.
TEST: Il est en train de jouer.
TEST: Je viendrai demain.
TEST: Je viendrai dans trois jours.
TEST: Je peux
TEST: J’arrive
TEST: Je ne travaille pas
TEST: J’en ai
TEST: Je t’attends
TEST: Je ne te veux pas.
TEST: Je te le répète.
TEST: Je le lui donne.
TEST: Je lui en veux.
TEST: Je ne t’attends pas.
TEST: Je n’y crois pas
TEST: Je t’en parle
TEST: Je ne vous en parle pas.
TEST: Je ne leur en veux pas.
TEST: Je ne le lui achète pas.
TEST: Je te l’avais donné.
TEST: Je ne m’en souviens pas.
TEST: Je ne l’y ai pas vu.
TEST: Tu travaillais
TEST: Si tu suis le sentier.
TEST: Tu ne travaillais pas.
TEST: Tu m’attendras
TEST: Tu ne me rappelles pas
TEST: Tu nous le prouves.
TEST: Tu lui en parles.
TEST: Tu ne m’attendras
TEST: Tu t’en souviens
TEST: Tu n’y vas pas
TEST: Tu ne me le prends pas.
TEST: Tu me l’as offert.
TEST: Tu ne m’en parles pas
TEST: Il travaille
TEST: Ce sont des histoires.
TEST: Celle adressée à mon ami
TEST: À elle reviennent toutes les maisons.
TEST: Des polluants comme celui-ci viennent de la combustion.
TEST: Je trouve cela passionnant.
TEST: Je pensais que vous trouveriez ça intéressant.
TEST: Pierre et elle étaient fiancés.
TEST: Ça fonctionne.
TEST: Et ça fonctionne.
TEST: Je ne trouve pas ça intéressant.
TEST: Il ne travaille pas
TEST: Ça ne fonctionne pas.
TEST: Ce ne sont pas des histoires.
TEST: Elle se demande.
TEST: Il a converti cela en médailles.
TEST: Dominique et elle les attendent.
TEST: Ça ne fonctionne pas.
TEST: Personne ne peut me le dire.
TEST: Il ne me veut pas.
TEST: Pour cela nous en parlons à notre mère.
TEST: Comme il n’avait plus de voiture, il prenait le bus.
TEST: Ça t’irait bien.
TEST: Ne laisse pas ça t’arrêter.
TEST: Cela ne t’aidera pas.
TEST: Elle m’en parle
TEST: Elle me l’avait donné.
TEST: Ça ne t’intéresse pas.
TEST: Ceci ne s’étant pas révélé suffisant, il recommença.
TEST: Elle ne s’en souvient pas.
TEST: Nous perdons
TEST: Nous nous sommes perdus.
TEST: Nous ne perdons pas.
TEST: Nous ne sommes pas perdus.
TEST: Nous vous attendons
TEST: Nous ne vous attendons pas.
TEST: Vous travaillez
TEST: Est-ce que ça vous dérange si je fume ?
TEST: Vous ne travaillez pas.
TEST: Vous nous attendez
TEST: Vous ne nous attendez pas.
TEST: Ils travaillent.
TEST: Ceux-ci fonctionnent.
TEST: Ceux enseignés dans cette école
TEST: À elles revient la maison.
TEST: L’une d’elles est inutile.
TEST: Ils ne travaillent pas.
TEST: Ceux-ci ne fonctionnent pas.
TEST: Ils vous étonneront par leur efficacité.
TEST: Ceux-ci ayant été approuvés.
TEST: Ils ne nous attendent pas
TEST: Ceux-ci l’aident.
TEST: Ceux-ci n’ayant pas été approuvés.
TEST: Ils ne m’attendent pas.
TEST: Ils me l’avaient donné.
TEST: Ils ne s’en souviennent pas.
TEST: Ne sois pas en retard !
TEST: Ne va plus là !
TEST: Ne sachant pas quoi faire
TEST: Ne me prends pas pour un idiot
TEST: Ne me présentant pas comme maire
TEST: N’apporte pas de cadeaux.
TEST: Ne l’attends pas
TEST: Ne l’ayant pas trouvé
TEST: N’y va pas
TEST: Ne m’y attends pas
TEST: Ne m’y étant pas rendu compte
TEST: Laisse-nous ici.
TEST: Veuillez nous réveiller à sept heures.
TEST: Dis-lui bonjour.
TEST: Veuillez lui dire d’attendre.
TEST: Veuillez vous en aller.
TEST: Veuillez nous y conduire.
TEST: Force nous est de constater…
TEST: Donne-m’en un peu.
TEST: Trouve-t’en toi-même !
TEST: Veuillez m’en montrer un autre.
TEST: Donne-la à ton frère.
TEST: Donne la pomme à ton frère.
TEST: Veuillez le noter.
TEST: Regarde la belle fille.
TEST: Regarde-la.
TEST: Regarde-la bien.
TEST: Allez le voir.
TEST: Lis le plus vite possible.
TEST: Montez le son.
TEST: Monte le son.
TEST: Coupez les autres légumes.
TEST: Coupez les 3 feuilles.
TEST: Coupez les trois feuilles.
TEST: Donne-le-moi plus tard.
TEST: Donne-en-lui.
TEST: Offre-leur-en.
TEST: Appuyez-vous-y.
TEST: Souvenez-vous-en.
TEST: Croyez-vous en Dieu ?
TEST: Envoie-les en vacances.
TEST: Offre-lui-en.
TEST: Prends-moi-en quand tu seras là.
TEST: Laisse-moi en dehors de cette affaire.
TEST: Envoie-la-nous.
TEST: Voulez-vous vous en aller ?
TEST: Nous convenons en particulier ce qui suit.
TEST: C’est moi qui dis ça.
TEST: C’est moi qui te dis ça.
TEST: C’est l’animal en moi qui le veut.
TEST: C’est moi qui suis allé là-bas.
TEST: C’est moi qui dis ça.
TEST: Et moi qui pensais qu’il m’aimait.
TEST: Il n’y avait qu’elle et moi qui savions.
TEST: C’est toi qui penses à ça.
TEST: C’est toi qui me prends
TEST: C’est l’animal en toi qui le veut.
TEST: Était-ce toi qui as laissé la porte ouverte ?
TEST: Celles qui travaillent ici
TEST: Les gens qui discutent là
TEST: C’est le seul de mes amis qui a du talent.
TEST: Un drapeau en lambeaux qui continue à flotter au vent.
TEST: J’ai un fils qui est en secondaire.
TEST: Le grand Tours qui disparaît.
TEST: Vous tous qui venez ici.
TEST: Celles qui me dérangent
TEST: Les gens qui nous dérangent
TEST: C’est vous qui vous trompez.
TEST: Celle qui travaille ici
TEST: La femme qui vient ici
TEST: Eux qui jouent ici
TEST: Quelques jeux vidéo qui ont marqué les années 80.
TEST: Six médecins et un infirmier qui travaillaient à l’hôpital.
TEST: Celle qui me dérange
TEST: Nous qui travaillons ici
TEST: C’est l’enfant en nous qui parle.
TEST: Des copains plus vieux que nous qui fumaient.
TEST: Nous qui vous aimons
TEST: Des copains plus vieux que nous qui me dérangeaient.
TEST: Vous qui travaillez ici
TEST: Y a-t-il quelqu’un parmi vous qui a un briquet ?
TEST: Des copains plus vieux que vous qui fumaient.
TEST: Vous qui me dérangez
TEST: Des copains plus vieux que vous qui me dérangeaient.
TEST: Nous avons mangé des huitres.
TEST: Elle est allée en Bretagne et elle a mangé des huitres.
TEST: Isabelle a mangé des huitres.
TEST: Nous l’avons mangé.
TEST: Nous l’avons mangée.
TEST: Nous les avons mangés.
TEST: Nous les avons mangées.
TEST: Il les a pris en train de voler.
TEST: Il les a prises en train de voler.
TEST: Nous lui avons donné un cadeau.
TEST: Nous n’avons pas mangé des huitres.
TEST: Isabelle n’a jamais mangé des huitres.
TEST: Nous ne t’avons pas écouté.
TEST: Nous ne t’avons pas écoutée.
TEST: Nous ne les avons pas écoutés.
TEST: Nous ne les avons pas écoutées.
TEST: Nous ne lui avons rien donné.
TEST: J’ai mangé des huitres.
TEST: Je suis allée en Bretagne et j’ai mangé des huitres.
TEST: Les élèves ont terminé leurs devoirs.
TEST: Les élèves t’ont écouté.
TEST: Les élèves t’ont écoutée.
TEST: Les élèves les ont écoutés.
TEST: Les élèves les ont écoutées.
TEST: Les élèves lui ont donné.
TEST: Les élèves n’ont pas terminé leurs devoirs.
TEST: Les élèves ne m’ont pas écouté.
TEST: Les élèves ne m’ont pas écoutée.
TEST: Les élèves ne les ont pas écoutés.
TEST: Les élèves ne les ont pas écoutées.
TEST: Les élèves ne lui ont pas écouté.
TEST: As-tu eu peur ?
TEST: Pourquoi as-tu eu peur ?
TEST: En aviez-vous mangés ?
TEST: Les documents qu’ils ont achetés.
TEST: Les parties de poker qu’il a jouées.
TEST: Le sac à main que j’ai acheté.
TEST: Une fois que vous avez goûté au plaisir des jeux d’argent.
TEST: Les lettres que j’ai voulu envoyer.
TEST: Les lettres que j’ai voulu t’envoyer.
TEST: Les images qu’elle a envoyées ont montré une structure inattendue.
TEST: Les récompenses qu’elle a eues.
TEST: Le document qu’ils ont acheté.
TEST: Tout cela pour dire qu’on a longtemps été confrontés à ce problème.
TEST: C’est dans la soirée que ces poursuites avaient été entamées.
TEST: La femme que j’ai aidée.
TEST: La femme que j’ai beaucoup aidée.
TEST: La femme que j’ai un peu aidée.
TEST: J’ai l’impression que tu as compris.
TEST: Une fois que tu as goûté au plaisir.
TEST: Une meilleure situation que quand il a pris ses fonctions.
TEST: L’expert estime que les climatosceptiques ont fait pression.
TEST: De la même nature que celles qui ont été saisies.
TEST: La lettre que j’ai voulu envoyer.
TEST: Certains y voient la preuve qu’il a finalement été lâché par son soutien.
TEST: Cette finale qu’il a dominée.
TEST: La pommade qu’il a voulu me passer.
TEST: La pommade qu’il a voulu m’apporter.
TEST: Ne dis à personne que nous avons fait cela.
TEST: L’homme que j’ai aidé.
TEST: L’homme que j’ai beaucoup aidé.
TEST: L’homme que j’ai un peu aidé.
TEST: Pour faire savoir que cette arrestation a été décidée.
TEST: Cet homme qui est venu.
TEST: Cette femme qui est jolie.
TEST: Cet homme qui est grand.
TEST: Ces femmes qui sont charmantes.
TEST: Puis-je rester ?
TEST: Que pouvais-je faire ?
TEST: Que manges-tu ?
TEST: Pourrait-il venir ?
TEST: Que mange-t-elle ?
TEST: Entre-t-il ?
TEST: Quand partirons-nous ?
TEST: Attrapez-nous ?
TEST: Attrape-nous ?
TEST: Que mangez-vous ?
TEST: Que pouvaient-ils faire ?
TEST: L’enfant lui dit merci.
TEST: L’enfant dit merci.
TEST: Le père et l’enfant lui disent merci.
TEST: Les parents de l’enfant lui disent merci.
TEST: Dominique peut venir.
TEST: Antonio Banderas est un acteur espagnol.
TEST: Mon enfant joue en bas.
TEST: Le contexte troublé.
TEST: Ma mère étant malade n’est pas venue.
TEST: Un bruit sifflant de vapeur.
TEST: Un souffle ardent
TEST: Au diable toutes ces histoires
TEST: Le verbe aimer est facile à conjuguer.
TEST: Comment se fait-il que le réveil ait sonné.
TEST: Les boissons et la nourriture étaient servis à volonté.
TEST: Quel âge ont vos enfants ?
TEST: Ni la Terre, ni son orbite ne sont parfaitement circulaires.
TEST: Un petit sourire.
TEST: Un seul être vous manque.
TEST: La Corée peut gagner.
TEST: Mon enfant ne peut pas aller à l’école.
TEST: Ce matin nous avons froid.
TEST: Cette chaise en bois est lourde.
TEST: La Corée ne peut pas gagner.
TEST: Mon enfant l’étudie.
TEST: Le passé n’éclairant pas l’avenir.
TEST: Comment se fait-il que le réveil n’ait pas sonné.
TEST: les employés et la direction n’aboutirent à aucun résultat.
TEST: Ce fut l’entreprise de marketing de la décennie.
TEST: Mon enfant ne l’étudie.
TEST: Mon enfant ne m’en veut pas.
TEST: Les enfants jouent en bas.
TEST: Les régions situées au sud sont chaudes.
TEST: Ces rues désertes
TEST: Nos bagages étant enregistrés
TEST: Tout Paris est à la fête.
TEST: L’eau des lacs et des rivières est douce.
TEST: Lequel des élèves est sorti ?
TEST: Les quartiers conquis par l’armée.
TEST: Des petites bites.
TEST: Des petites zones favorables à la biodiversité.
TEST: Du tronc poussent les branches.
TEST: Quels changements attendre de la réalité augmentée ?
TEST: Les enfants en mangent.
TEST: Mon fils ne passera pas.
TEST: Les États-Unis se composent de 50 états.
TEST: Les camions n’arrivent pas.
TEST: Les cuillères en bois commencent à moisir.
TEST: Ces choses nous les partageons.
TEST: Mon fils n’arrive pas à faire les additions.
TEST: Les enfants ne l’attendent pas.
TEST: Mes enfants ne m’en veulent pas.
TEST: La plupart des femmes rêvent d’un mariage en grande noce.
TEST: La plupart des femmes ne rêvent pas d’un mariage en grande noce.
TEST: La plupart des autres chaînes.
TEST: La plupart des grandes entreprises.
TEST: La plupart des spécialistes s’entendent sur ce point.
TEST: La plupart des spécialistes ne s’entendent sur ce point.
TEST: La plupart du monde parle anglais.
TEST: La plupart du monde ne parle pas anglais.
TEST: La plupart du monde s’aventure ici.
TEST: La plupart du monde ne s’aventure pas ici.
TEST: Les guerres sont chères.
TEST: L’avion volait à basse altitude.
TEST: Quel que soit le problème
TEST: Quelle que soit la difficulté
TEST: Quelles que soient vos raisons
TEST: Quelle que puisse être sa raison
TEST: Quelles que puissent être vos raisons
TEST: Il est trois heures et demie.
TEST: L’entretien dure environ une demi-heure.
TEST: La plupart du temps
TEST: Il n’a nulle part où aller.
TEST: J’ai trop de travail.
TEST: Est-ce que tu viens ?
TEST: Est-ce qu’ils viennent ?
TEST: C’est ce que je dis.
TEST: Il est ce que j’appelle un champion.
TEST: Discuter est ce qu’elle fait le mieux.
TEST: Il vient, n’est-ce pas ?
TEST: Puis-je déposer mes affaires ?
TEST: Sans doute je ne vais pas.
TEST: Si d’aventure on en a.
TEST: Tant que je vivrai je n’oublierai pas.
TEST: Puis j’ai acheté cela.
TEST: Puis je vais t’aider.
TEST: Quel genre de musique j’écoute
TEST: Que manges-tu ?
TEST: Que prend-il ?
TEST: Notre point de départ on pouvait le voir d’ici.
TEST: Ce prédateur réintroduit il y a 30 ans.
TEST: L’auditoire était on ne peut plus ravi.
TEST: Que prend-elle ?
TEST: C’est elle qui vient.
TEST: Anne menait elle aussi sa petite existence.
TEST: Que mange-t-il ?
TEST: Où va-t-il ?
TEST: Quel âge a-t-elle ?
TEST: Comme cela elle n’a pas à cuisiner.
TEST: Les jours de fête on ne travaille pas.
TEST: L’histoire commence il y a longtemps.
TEST: La chanteuse a elle aussi annulé son concert.
TEST: À Vienne il acheta du chocolat.
TEST: Que mangeons-nous ?
TEST: Allons nous asseoir ici.
TEST: Que mangez-vous ?
TEST: Veuillez vous rendre à l’accueil.
TEST: Sachez vous éloigner.
TEST: Vous pouvez vous asseoir.
TEST: Que mangent-ils ?
TEST: Ce sont elles qui parlent.
TEST: Vont-elles participer ?
TEST: Les femmes vont elles aussi participer.
TEST: Va-t’en !
TEST: C’est un va-t-en-guerre.
TEST: Donne-m’en un peu.
TEST: Que faut-il faire ?
TEST: Quand arrivera-t-il ?
TEST: Quand arrive-t-il ?
TEST: Vous convainc-t-il par ses arguments ?
TEST: Ne voilà-t-il pas ce qu’on appelle un signe des temps ?
TEST: Quand arriveras-tu ?
TEST: Quand arriveras-tu ?
TEST: Il a écrit l’article à la une aujourd’hui.
TEST: Les pays de la CE.
TEST: La quarante-quatrième.
TEST: Il faisait froid cet hiver-là.
TEST: Veux-tu aller là ?
TEST: Tout est là.
TEST: Ils ne s’en tinrent pas là.
TEST: Il sera là l’année prochaine.
TEST: Voici mon amie.
TEST: C’est sa onzième fille.
TEST: Mon vieil ami.
TEST: Ils sont comme de vieux ours.
TEST: Il marche tous les matins.
TEST: Corrige avant tout les erreurs.
TEST: Tous les cours d’eau.
TEST: Il ignore tout des oiseaux.
TEST: Ce qui fait en tout deux personnes.
TEST: Ils n’utilisent pas du tout les pieds.
TEST: Merci à tous ceux qui sont venus.
TEST: Je remercie avant tout ceux qui sont venus.
TEST: Toutes ces erreurs qu’il fait
TEST: Toute la saison
TEST: Ils aiment tous la géographie.
TEST: Il sera connu de tous un jour.
TEST: C’est pour nous tous une mauvaise nouvelle.
TEST: Je souhaite à tous une bonne année.
TEST: Ils n’apprécient pas tous la nourriture.
TEST: Ils sont tous au travail.
TEST: Toutes les années
TEST: Elle donne à tous des bouteilles.
TEST: Mes amis n’apprécient pas tous la musique.
TEST: On a tous des qualités.
TEST: Je peux tous les lire.
TEST: Ils ont tous une moto.
TEST: C’est pour nous tous une mauvaise nouvelle.
TEST: Toute la saison
TEST: Après tout ma douleur n’est pas si forte.
TEST: Je n’aime pas du tout la télévision.
TEST: Tout le Canada.
TEST: Ce qui fait en tout deux personnes.
TEST: Tout cet équipement
TEST: Toutes les cours de récréation
TEST: Les femmes portent toutes des noms à consonance étrangère.
TEST: Elles font toutes du business avec eux.
TEST: En tout cas, je vous donnerai des nouvelles.
TEST: Et si tu avais gagné
TEST: Si tu mourais
TEST: Si j’avais gagné
TEST: S’ils avaient gagné
TEST: Je veux que tu sois prudent.
TEST: Je souhaitais que tu fusses présent.
TEST: Je souhaite qu’il apprenne le français.
TEST: Je ne permets pas que tu sois imprudent.
TEST: Je n’exige pas que vous soyez ponctuels.
TEST: C’est le seul ami qui me comprenne.
TEST: À condition que tu réussisses.
TEST: À condition que tu me prennes.
TEST: Pourvu que tu réussisses
TEST: Il est arrivé après que je fus parti.
TEST: Je vous appelle pour que vous me donniez des renseignements.
TEST: Bien que tu aies passé l’examen
TEST: Je sais bien que tu reviendras.
TEST: Je travaille de façon que nous puissions vivre.
TEST: Je travaille de façon qu’il puisse vivre.
TEST: En admettant qu’il soit allé
TEST: Demander jusqu’à ce qu’il réponde.
TEST: Demander jusqu’à ce qu’il me réponde.
TEST: J’irai si tant est que je puisse.
TEST: J’irai si tant est que je le puisse.
TEST: Quoique je dise.
TEST: Quoique je te dise.
TEST: Elle est certaine que vous êtes un espion.
TEST: Je n’ai pas compris.
TEST: Tu n’as pas compris.
TEST: Ne t’inquiète pas.
TEST: On n’a pas compris.
TEST: Il y a pas mal de choses à faire.
TEST: Il a pas moins de 10 voitures.
TEST: On ne part pas encore.
TEST: On ne vous a pas compris.
TEST: Il n’y a pas d’eau.
TEST: Il en profita.
TEST: C’est tout à fait correct.
TEST: Elles sont quasiment à portée de main.
TEST: Les filles sont de sortie.
TEST: Le voisin d’à côté est pénible.
TEST: Le gouvernement a depuis ordonné aux soldats de quitter le pays.
TEST: Le canal de Suez.
TEST: La pile de Volta.
TEST: Ils sont par contre restés à la maison.
TEST: Le cinéma tire à hue et à dia.
TEST: L’autour attrapa une souris.
TEST: Voici venu le temps des vacances.
TEST: Le participe passé a tout de suite été vu.
TEST: Il est né à Cabana.
TEST: Il n’y a personne pour m’aider.
TEST: Plusieurs de ces langues vont disparaitre.
TEST: J’ai quelques ennuis.
TEST: Passé les premières années à l’école, il s’assagit.
TEST: Les années sont passées vite.
TEST: Le serveur a été mis à jour.
TEST: Le serveur a été mis en place.
TEST: Les températures sont plus froides que prévu.
TEST: La facture est plus élevée que prévu.
TEST: Elles y arrivent elles-mêmes.
TEST: Vous y arriverez vous-mêmes.
TEST: Monsieur, vous y arriverez vous-même.
TEST: L’accident a fait au moins trois morts.
TEST: Je reçois des mises à jour régulièrement.
TEST: C’est très important.
TEST: J’ai très faim.
TEST: Il est très à l’aise.
TEST: Je suis très en retard.
TEST: Très, très loin.
TEST: Tu aimes beaucoup ? Très !
TEST: Je me sentirais très seul si tu venais à disparaître.
TEST: le vieux quartier Très Cloîttres à Grenoble.
TEST: Il fait faire très attention.
TEST: Il les a fait fuir.
TEST: Vous l’avez fait souffrir.
TEST: Il ne les a pas fait fuir.
TEST: Vous l’avez encore fait souffrir.
TEST: Les voitures dernier cri.
TEST: Ses derniers cris.
TEST: Des points de vue.
TEST: crier comme un putois
TEST: faire un plongeon
TEST: à midi
TEST: tuyau d’arrosage
TEST: fabrique de chaloupes
TEST: sauce froide
TEST: fabricant de chaloupes
TEST: sauver par le gong
TEST: stade de hockey
TEST: bois dur
TEST: flottage de bois
TEST: flotteur de bois
TEST: grenouille-taureau
TEST: saumon d’eau douce
TEST: où l’on peut faire du kayak
TEST: sandwich long
TEST: chute de neige abondante
TEST: ruban à mesurer
TEST: pot-au-feu
TEST: billet à gratter
TEST: marcher sur les pieds
TEST: marcher sur
TEST: défilé de mode
TEST: à part ça
TEST: en tout et pour tout
TEST: tablette de chocolat
TEST: machine à coudre
TEST: maison jumelée
TEST: intéressé par
TEST: poser une question
TEST: donner des cours
TEST: au dos
TEST: construction de logements
TEST: quartier résidentiel
TEST: motard criminel
TEST: pom-pom girl
TEST: aide sociale
TEST: permis de construire
TEST: quelques jours
TEST: avis d’imposition
TEST: clause dérogative
TEST: faire semblant
TEST: au-dessous de zéro
TEST: ramasser de l’argent
TEST: pouvoir gagner
TEST: conter fleurette
TEST: boîte postale
TEST: de part en part
TEST: l’aider
TEST: les aider
TEST: avoir besoin
TEST: ce dont j’ai besoin
TEST: beau-parleur
TEST: ce matin
TEST: bleu marine
TEST: de prime abord
TEST: vidange moteur
TEST: ce soir
TEST: poseur de briques
TEST: tour de bureaux
TEST: condition féminine
TEST: benne à ordures
TEST: sac-poubelle
TEST: taxe d’ordures ménagères
TEST: quelque part
TEST: lutte contre
TEST: successeur de
TEST: harelde du Nord
TEST: lagopède blanc
TEST: gélinotte huppée
TEST: semi-remorque
TEST: nid de moustique
TEST: chaque jour
TEST: perche soleil
TEST: pelle à poussière
TEST: à portée de la main
TEST: Une loquette d’Amérique
TEST: lampe à huile
TEST: peinture fraîche
TEST: bois tendre
TEST: flaque d’eau
TEST: apporter des changements
TEST: collecte de données
TEST: collecte des ordures ménagères
TEST: jaseur d’Amérique
TEST: taux de succès scolaire
TEST: bonnet de bain
TEST: à carreaux
TEST: dégât des eaux
TEST: omble des fontaines
TEST: ruban adhésif
TEST: omble chevalier
TEST: truite de mer
TEST: être bon tireur
TEST: bébé phoque
TEST: chambre d’hôte
TEST: réserve de faune
TEST: pas de porte
TEST: sumac vénéneux
TEST: taille-crayon
TEST: laisse de mer
TEST: se fier à
TEST: se vendre au prix de détail
TEST: prêter attention à
TEST: pommes de terre en purée
TEST: tas de neige
TEST: bonnet de laine
TEST: perche noire
TEST: carré-éponge
TEST: avoir le sens de l’humour
TEST: bâtir des châteaux en Espagne
TEST: faire un bras de fer
TEST: bras de fer
TEST: faire un geste
TEST: battre fort
TEST: paille de fer
TEST: corde à sauter
TEST: taille-crayon
TEST: tailler un crayon
TEST: Le steward de Charlevoix a son charme.
TEST: Une répression tous azimuts
TEST: De tout temps
TEST: À tout prix
TEST: De toute façon
TEST: de l’après-midi
TEST: stylo plume
TEST: maïs soufflé
TEST: rôti de bœuf
TEST: groupe de discussion
TEST: prise de courant
TEST: il faut dire que
TEST: l’échapper belle
TEST: s’opposer à
TEST: sans objet
TEST: grande caravane
TEST: en stock
TEST: du jeu
TEST: livraison par exprès
TEST: payable à la livraison
TEST: registre des procès-verbaux
TEST: attentat à la pudeur
TEST: il faut dire que
TEST: il faut dire que
TEST: manomètre à air
TEST: filet d’aiglefin
TEST: prendre le parti de
TEST: déclinez votre identité
TEST: proposer des correctifs
TEST: ouvrir la voie
TEST: directeur de banque
TEST: familier à
TEST: de la première à la dernière page
TEST: incendie circonscrit
TEST: date d’échéance
TEST: lait concentré
TEST: entrée de service
TEST: conduire une machine
TEST: publier un communiqué
TEST: délivrer un reçu
TEST: occasion d’affaires
TEST: crayon graphite
TEST: appuyer une décision
TEST: défrayer [quelqu’un] de ses dépenses
TEST: suivre un cours
TEST: J’ai pris des passagers en cours de route.
TEST: J’ai pris part à ce cours d’informatique.
TEST: avoir la situation en mains
TEST: abolir des postes
TEST: premier conférencier
TEST: quart de jour
TEST: chiffre prudent
TEST: jusqu’à présent
TEST: image de marque
TEST: entreprise citoyenne
TEST: comité mixte
TEST: consultations externes
TEST: quart de nuit
TEST: quart de soir
TEST: collecte de sang
TEST: compressions budgétaires
TEST: au petit matin
TEST: suppressions de postes
TEST: chef cuisinier
TEST: chef de direction
TEST: secrétaire de direction
TEST: vice-président et directeur exécutif
TEST: coupon de réduction
TEST: faute d’inattention
TEST: parler avec un accent
TEST: proposer une candidature
TEST: proposition comme candidat
TEST: câble de démarrage
TEST: Il commença à discuter avec moi.
TEST: d’ici [x] minutes
TEST: avec lequel je joue
TEST: affecter à une tâche
TEST: énergie nouvelle
TEST: entrée interdite
TEST: traiter un problème
TEST: Il lui a adressé des compliments.
TEST: Il est tiré d’affaire.
TEST: Il est sorti d’affaire.
TEST: traiter un sujet
TEST: se heurter à un obstacle
TEST: contrefaire une signature
TEST: année scolaire
TEST: salaire de base
TEST: à l’avance
TEST: Passer du temps.
TEST: mes sans préjudice de
TEST: s’introduire dans un marché
TEST: être fourbu
TEST: toucher un chèque
TEST: s’adapter à la situation
TEST: club de forme
TEST: ballon sonde
TEST: sous aucun prétexte
TEST: inspecteur d’assurances
TEST: séance de formation
TEST: de séance
TEST: répondre à des besoins
TEST: Je veux la rencontrer et au besoin, lui parler.
TEST: répondre à des exigences
TEST: boîte à gants
TEST: coffre bancaire
TEST: enceinte acoustique
TEST: droits des personnes
TEST: dans la mesure où
TEST: en ce qui me concerne
TEST: ayant autorité
TEST: responsable de la communication
TEST: traiter une commande
TEST: exécuter une ordonnance
TEST: avoir un souvenir tout frais
TEST: exécuter une ordonnance
TEST: pourvoir un poste
TEST: mal juger son coup
TEST: prétendre que
TEST: chargeuse-pelleteuse
TEST: numéro gratuit
TEST: revêtement de sol
TEST: femme active
TEST: vidange moteur
TEST: voiture gratuite
TEST: billet de faveur
TEST: rémunération du capital
TEST: assurance contre l’incendie
TEST: porte-fenêtre
TEST: c’est le moins qu’on puisse dire
TEST: monde des affaires
TEST: simple détention
TEST: piste de vitesse
TEST: leçon particulière
TEST: porter ses fruits
TEST: cuir verni
TEST: jardinerie [raison sociale]
TEST: poste de vigie
TEST: concentré de tomate
TEST: palais des foires
TEST: centre de découverte
TEST: renseignement exclusif
TEST: ensemble de jardin
TEST: meuble de jardin
TEST: piquet de grève
TEST: file d’attente
TEST: agression à domicile
TEST: salle à manger
TEST: au minimum
TEST: Les femmes participent activement à ce processus.
TEST: être en droit de
TEST: blessure bénigne
TEST: agglomération de Montréal
TEST: agglomération de Québec
TEST: exclusivité de
TEST: Une interview exclusive donnée à la presse.
TEST: cuillère à soupe
TEST: cuillère à café
TEST: baguette de pain
TEST: pain complet
TEST: panne de courant
TEST: insister pour que
TEST: atteindre le seuil de rentabilité
TEST: invoquer le règlement
TEST: arts plastiques
TEST: voulant que
TEST: c’est la raison pour laquelle
TEST: se sentir visé
TEST: sûreté supplémentaire
TEST: comptoir à salades
TEST: combat décisif
TEST: pourvoir à un poste
TEST: dîner officiel
TEST: assiette de viandes froides
TEST: jeu de construction
TEST: petit boulot
TEST: mettre à profit
TEST: libre-service de demi-gros
TEST: additionnal premium
TEST: Ils hésitent face aux montants de la dette.
TEST: prime temporaire
TEST: mettre en état d’arrestation.
TEST: en service.
TEST: sous-entrepreneur.
TEST: champion en titre.
TEST: cas de force majeure.
TEST: acte de naissance.
TEST: affronter la tempête.
TEST: interjeter appel.
TEST: se rendre aux urnes.
TEST: être diffusé.
TEST: organiser un référendum.
TEST: en service.
TEST: outrage ou tribunal
TEST: clauses d’un contrat
TEST: circulation dense
TEST: abus de confiance.
TEST: avis de sinistre
TEST: pour autant que je sache
TEST: chaîne de montage
TEST: chaîne d’assemblage
TEST: carnet de banque
TEST: client habituel
TEST: prix réduit
TEST: prix d’entrée
TEST: prix courant
TEST: descente aux enfers
TEST: la cambrure du pied
TEST: budget d’exploitation
TEST: en retard.
TEST: faire une promenade
TEST: nuire à un résultat.
TEST: entrer en vigueur
TEST: prendre de force
TEST: déclencher une discussion
TEST: prendre part aux discussions
TEST: créer une entreprise
TEST: Il est parti de cette entreprise.
TEST: faire courir une rumeur
TEST: être touché par un témoignage
TEST: toute l’année
TEST: toute la journée
TEST: à longueur de semaine.
TEST: immeuble résidentiel
TEST: conférences téléphoniques
TEST: registered mail.
TEST: braderie.
TEST: soldes après incendie.
TEST: pour seulement
TEST: collectes de fonds
TEST: pendant la saison
TEST: siège-social
TEST: Ça s’annonce mal.
TEST: trous de mémoire
TEST: indemnité de congé payé
TEST: compte en banque
TEST: facture d’électricité
TEST: facture de téléphone
TEST: billet gratuit
TEST: être nerveux
TEST: chaîne stéréo
TEST: pince étau
TEST: déposer une plainte
TEST: faire un appel téléphonique
TEST: voter une loi
TEST: faire un appel
TEST: avoir hâte de
TEST: laisser découvrir la vérité
TEST: pulvériser un record
TEST: pour comble d’insulte
TEST: aime que
TEST: Ils m’apprécient en tant que collègue.
TEST: être au sommet de ma forme
TEST: être persuadé que
TEST: avoir besoin de
TEST: être au bout du rouleau
TEST: faire des affaires
TEST: être chargé
TEST: Ils sont pris en charge.
TEST: être dans le pétrin
TEST: être dans la même situation
TEST: laisser fuir de l’information
TEST: situation imprévue
TEST: pour information
TEST: pain de savon
TEST: inciter les gens à voter
TEST: l’emporter sur
TEST: applaudir chaleureusement
TEST: broyer du noir
TEST: tenir la gauche
TEST: tenir la droite
TEST: avoir à l’œil
TEST: En deux mots
TEST: nappe de pétrole
TEST: jouer un rôle de second plan
TEST: mettre l’accent sur
TEST: Un récipient rempli entièrement.
TEST: Le moteur fonctionne à 100 % de sa capacité.
TEST: Il a la capacité de le faire.
TEST: On les juge à leur capacité de résoudre les problèmes.
TEST: mettre la main à la pâte
TEST: tenter sa chance
TEST: détails techniques
TEST: avoir de sens
TEST: parcs récréatifs
TEST: hors d’usage
TEST: accord global
TEST: lit grand format
TEST: lit très grand format
TEST: bureau de vote
TEST: hors champ
TEST: tuyau d’échappement
TEST: sans objet
TEST: Le Nil est un fleuve d’Afrique.
TEST: soins infirmiers
TEST: parc de stationnement
TEST: en direct
TEST: monte-charge
TEST: prêt-à-monter
TEST: esprit d’entreprise
TEST: témoin informatique
TEST: stratégie de marque
TEST: bon marché
TEST: homme de main
TEST: séance d’informations
TEST: Le monospace.
TEST: les coulisses
TEST: Les dépassés.
TEST: les media de masse
TEST: les fauteuils de repos
TEST: les hayons
TEST: les privilégiés
TEST: haute technologie
TEST: à plein régime
TEST: rouleau impérial
TEST: chaudrée de palourdes
TEST: nuque longue
TEST: pièce à conviction
TEST: d’office
TEST: chambre d’hôte
TEST: fenêtre arquée
TEST: fichier de sauvegarde
TEST: grand écart
TEST: tant pis !
TEST: par tête
TEST: prise de courant
TEST: allocation journalière
TEST: coup de départ
TEST: maison sur deux niveaux
TEST: obligation spéculative
TEST: Steve Jobs, le pionnier de l’ordinateur conçu comme une prison cool, mise au point pour supprimer leur liberté aux idiots, est mort.
TEST: manque de crédibilité
TEST: film de route
TEST: à touches
TEST: prix de couvert
TEST: café express
TEST: rencontre arrangée
TEST: cabaret clandestin
TEST: mes jalousies
TEST: cornichon mariné
TEST: en tout cas
TEST: abri voiture
TEST: sans escale
TEST: chaîner stéréo
TEST: complexe multisalle
TEST: argent comptant
TEST: papier-cache adhésif
TEST: juste-à-temps
TEST: c’est bien dommage
TEST: vol nolisé
TEST: jeu de guerre
TEST: surf des neiges
TEST: très sec
TEST: planche à roulette
TEST: commerce interentreprises
TEST: régler la note
TEST: poste à poste
TEST: golf miniature
TEST: capitaux flottants
TEST: retour en vogue
TEST: concepteur de jeux
TEST: société de participation
TEST: manche à balai
TEST: entreprise conjointe
TEST: gaffe de tournage
TEST: piratage téléphonique
TEST: Le cinéma à domicile est un phénomène nouveau.
TEST: Les livres électroniques sont difficiles à lire.
TEST: Il fait une séance de rencontres éclair.
TEST: Il fait un logiciel gratuit.
TEST: Il fait un logiciel publicitaire.
TEST: Il fait du référencement abusif.
TEST: Il fait du hameçonnage.
TEST: Il fait du pollupostage.
TEST: plutôt mourir
TEST: logiciel malveillant
TEST: logiciel harcelant
TEST: commerce électronique
TEST: bailleur de fonds
TEST: dernière commande
TEST: en attente.
TEST: assurance inconditionnelle.
TEST: acier inoxydable.
TEST: fermeture à glissière.
TEST: briseur de grève.
TEST: grand format.
TEST: en mer
TEST: Usain Bolt est un athlète jamaïcain.
TEST: spectacle fastueux.
TEST: Il parle de rythme.
TEST: Il parle des soldes d’après Noël.
TEST: liste de contrôle
TEST: p. ex.
TEST: vente forcée
TEST: voitures de location
TEST: location de voitures
TEST: en souffrance.
TEST: combinaison isolante.
TEST: tourniquet d’arrosage.
TEST: simple député
TEST: sac à restes
TEST: tondeuse à cheveux.
TEST: bilan de santé
TEST: retour en arrière
TEST: emballage de six
TEST: Le capitaine Haddock est l’ami de Tintin.
TEST: dans ce cas, il est certain
TEST: et ce,
TEST: Par-ci par-là.
TEST: eh,
TEST: eh bien,
TEST: Je l’ai vu ici même hier.
TEST: Des impressions recto verso.
TEST: La bouteille est aux deux tiers pleine.
TEST: Un trois-quarts de rugby.
TEST: Les trois-quarts de l’équipe de rugby.
TEST: La bouteille est aux trois quarts pleine.
TEST: Un trois-quarts de rugby.
TEST: S’il te plaît, dessine-moi un mouton.
TEST: Il y a un va-et-vient dans cette maison.
TEST: Les états-majors ont décidé.
TEST: Avez-vous le tout-à-l’égout ?
TEST: C’est un va-nu-pieds.
TEST: Elle est la vice-présidente.
TEST: J’habite au rez-de-chaussée.
TEST: Je m’appelle Jean-Marc.
TEST: Je m’appelle Pierre-Yves.
TEST: Je m’appelle Charles-Édouard.
TEST: Je m’appelle Marie-Laure.
TEST: Je m’appelle Anne-Sophie.
TEST: Mon grand-père a 100 ans.
TEST: J’ai ouï-dire qu’il ne viendra pas.
TEST: C’est un chef-d’œuvre.
TEST: Il habite en Franche-Comté.
TEST: Il habite à Clermont-Ferrand.
TEST: Le massif du Mont-Blanc.
TEST: Le mont Blanc est le point culminant des Alpes.
TEST: Un trait d’union.
TEST: J’ai la quasi-certitude qu’il ne viendra pas.
TEST: Je suis quasi certain qu’il ne viendra pas.
TEST: Une fin de non-recevoir.
TEST: Non merci.
TEST: Je me demande s’il avait ou non conscience que son arme était chargée.
TEST: etc.
TEST: Un écrivain du XIXᵉ siècle
TEST: La 2ᵉ à droite
TEST: Les 2ᵉˢ.
TEST: Les 2ᵈᵉˢ.
TEST: Le 2ᵈ.
TEST: Je me sens chez moi dans ton chez-toi.
TEST: Mon ex-femme habite près de chez moi.
TEST: La procédure est semi-automatique.
TEST: Je pense qu’il ment.
TEST: Je m’étais perdu.
TEST: La lettre l est mal écrite.
TEST: La variable x est constante.
TEST: Moody’s a abaissé la note de la dette du Japon.
TEST: Le vainqueur du 100 m aurait triché.
TEST: Ces deux interactions, respectivement 10-15 m et 10-18 m expliquent les difficultés expérimentales rencontrées.
TEST: Il n’arrive jamais à l’heure.
TEST: L’histoire.
TEST: Un livre d’histoire et géographie.
TEST: La vitamine D ou la vitamine C.
TEST: Ils ont beaucoup d’enfants.
TEST: Un chef-d’œuvre
TEST: Va-t’en d’ici.
TEST: Ils ont beaucoup d’enfants.
TEST: Pressez la touche “c” pour continuer.
TEST: J’ai reçu des fleurs pour la Saint-Valentin.
TEST: J’ai un chien, un chat, un lapin, etc.
TEST: parce que
TEST: redoubler une année
TEST: Je me rappelle ce moment.
TEST: J’ai reçu le rappel de la facture.
TEST: Je me rappelle de quelle manière il a dit cela.
TEST: Il faut lui rappeler de refaire tout cela.
TEST: Il faut lui rappeler de me téléphoner.
TEST: Tu te rappelles de moi ?
TEST: Elle me rappelle de me rendre à la banque.
TEST: Cela me rappelle de loin mon enfance.
TEST: Je me rappelle de moins en mois mon enfance.
TEST: Je me rappelle de temps en temps mon enfance.
TEST: Je vais te rappeler de suite.
TEST: Rappelé de Paris auprès de son père.
TEST: Je me rappelle Anne.
TEST: Je me souviens d’Anne.
TEST: Il faut lui rappeler d’envoyer la lettre.
TEST: Tu te rappelles d’eux ?
TEST: Il rappelle d’ailleurs que ce lieu peut être légendaire.
TEST: Je ne me rappelle pas ce moment.
TEST: Je me rappelle de quelle manière il a dit cela.
TEST: Je dois me rappelle de tout ranger.
TEST: Ils se rappellent bien de moi.
TEST: Je me rappelle bien Anne.
TEST: Je me rappelle toujours d’allumer la lumière.
TEST: Ils se rappellent bien d’elle.
TEST: T’es-tu décidé ou non ?
TEST: T’es-tu décidé ou non ?
TEST: Il va chez le coiffeur tous les mois.
TEST: Il est arrivé à pied.
TEST: Il a sauté à pieds joints.
TEST: Il a pied dans ce bassin.
TEST: Je n’ai pas pied dans ce bassin.
TEST: L’entreprise l’a mis à pied.
TEST: Le projet que j’ai mis sur pied est en bonne voie.
TEST: Il s’est habillé de pied en cap comme un militaire.
TEST: Je l’attends de pied ferme.
TEST: Il travaille d’arrache-pied sur ce projet.
TEST: Le chiffre d’affaires de l’entreprise.
TEST: La défaite s’ensuivit.
TEST: la damer
TEST: loin de là
TEST: favoriser une candidature
TEST: aussi mauvais
TEST: savoir gré
TEST: Le contrat est négocié de gré à gré.
TEST: accaparer quelque chose
TEST: assieds-toi.
TEST: asseyez-vous.
TEST: n’être pas sans savoir.
TEST: Je ne suis pas sans savoir
TEST: J’ai de la fièvre ?
TEST: J’ai la fièvre ?
TEST: As-tu la fièvre ?
TEST: As-tu de la fièvre ?
TEST: L’échappée belle d’un coureur cycliste.
TEST: à motocyclette.
TEST: asseoir.
TEST: ne me contredisez pas.
TEST: effectif scolaire.
TEST: effectif étudiant.
TEST: moins mauvais.
TEST: à Lac-Beauport.
TEST: bran de scie.
TEST: à Cap-de-la-Madeleine.
TEST: lire dans le journal.
TEST: rue passante.
TEST: artère passante.
TEST: avenue passante.
TEST: boulevard passant.
TEST: L’ère glaciaire.
TEST: tâcher que
TEST: À l’aimable attention de
TEST: Un cadeau à l’intention de ma femme.
TEST: c’est de lui que je parle
TEST: Les métaux précieux et l’or en particulier restent des investissements sûrs.
TEST: par acquit de conscience.
TEST: faire partie de
TEST: tirer parti
TEST: prendre parti
TEST: J’ai pris une partie de l’argent.
TEST: Le site a été en partie traduit.
TEST: Il s’est transformé en parti politique.
TEST: Il arrive en général assez tard.
TEST: faire affaire avec
TEST: tenir pour acquis
TEST: Il est en pleine campagne électorale.
TEST: Tant pis si je perds.
TEST: Les choses vont de mal en pis.
TEST: Finalement, il a gagné.
TEST: Au final de cette sonate.
TEST: Il a pulvérisé le record.
TEST: Ils ont fait exploser le pont.
TEST: papillon adhésif
TEST: mouchoir de papier
TEST: Mars était le dieu de la guerre.
TEST: Février est le mois le plus froid.
TEST: La monarchie de Juillet.
TEST: Cette année, juin a été chaud.
TEST: Juin est le sixième mois.
TEST: Je suis né le 30 mars 1960.
TEST: La planète Mars est rouge.
TEST: Dans la mythologie romaine, Mars est le dieu de la guerre.
TEST: Je viendrai lundi.
TEST: Lundi est le premier jour de la semaine.
TEST: Je parle anglais, mais je ne suis pas Anglais.
TEST: Il est surpris d’apprendre que le Japonais est incapable de le comprendre.
TEST: Les Bretons parlent aux Français.
TEST: Napoléon est né en Corse.
TEST: Je travaille en anglais avec des Anglais.
TEST: Je travaille en anglais avec des Anglaises.
TEST: Même les Français ont un français qui est loin d’être parfait.
TEST: Écrit dans un anglais facile
TEST: Le numéro un français a gagné à Roland-Garros aujourd’hui.
TEST: Il s’est exprimé dans un français approximatif.
TEST: Une leçon de français.
TEST: J’ai appris un peu de français ici et là.
TEST: Une invasion de troupes soviétiques.
TEST: Le clocher de l’église
TEST: En fonction de l’état quantique de l’électron.
TEST: Oui…
TEST: Vous vous parlez.
TEST: Il est capable de te faire faire des choses surprenantes.
TEST: En en demandant deux
TEST: C’est donnant donnant
TEST: L’est est de ce côté.
TEST: Les poules du couvent couvent.
TEST: Un film un peu olé olé.
TEST: Je suis allé à Bora Bora.
TEST: Les chiens aboient à qui mieux mieux.
TEST: De l’orge perlé.
TEST: De l’orge mondé.
TEST: Il vous faut un laissez-passer.
TEST: Le courant est d’un demi-nœud.
TEST: Un signal de 3,5 Hz.
TEST: L’appareil a consommé 5 kW·h.
TEST: L’appareil a consommé 5 kWh.
TEST: Une température de 3 kelvins.
TEST: Un courant de 10 ampères.
TEST: Un courant de dix ampères.
TEST: Il a remporté la médaille Fields.
TEST: Jeudi 28 août 2014.
TEST: Dimanche 14 septembre 2014.
TEST: Le dimanche 19 juil 2015.
TEST: Le dimanche 19 juillet 2015.
TEST: Jeudi 28/08/2014.
TEST: Jeudi 2014/08/28.
TEST: Jeudi 28-08-2014.
TEST: Il est né le 31 octobre.
TEST: Il est né le 30 septembre.
TEST: Il est né le 31/10/1969.
TEST: Il est né le 31-8-69.
TEST: Il est né le 31-aout-1969.
TEST: Il est né le 28 février.
TEST: Il est né le 28-02-1969.
TEST: Le 29 février 2000.
TEST: Le 29/février/2000.
TEST: Le 29/02/2000.
TEST: Le 29/2/2000.
TEST: Le 29 février 2004.
TEST: Le 29 février 2008.
TEST: Le 29 février 2012.
TEST: Le 29 février 2016.
TEST: Le 29 février 2020.
TEST: Le 29-février-2004


!!! Le Horla, de Guy de Maupassant                                                                  
# Nouvelle intégrale (228 lignes)
# Certains points diffèrent du texte original tiré de Wikisource :
# — les paragraphes sont souvent scindés pour des raisons pratiques.
# — les virgules avant les points de suspension ont été supprimées
# — moyen âge -> Moyen Âge
TEST: Le Horla — Guy de Maupassant
TODO: 8 mai. — Quelle journée admirable ! J’ai passé toute la matinée {{étendu}} sur l’herbe, devant ma maison, sous l’énorme platane qui la couvre, l’abrite et l’ombrage tout entière.
TEST: J’aime ce pays, et j’aime y vivre parce que j’y ai mes racines, ces profondes et délicates racines, qui attachent un homme à la terre où sont nés et morts ses aïeux, qui l’attachent à ce qu’on pense et à ce qu’on mange, aux usages comme aux nourritures, aux locutions locales, aux intonations des paysans, aux odeurs du sol, des villages et de l’air lui-même.
TEST: J’aime ma maison où j’ai grandi.
TEST: De mes fenêtres, je vois la Seine qui coule, le long de mon jardin, derrière la route, presque chez moi, la grande et large Seine, qui va de Rouen au Havre, couverte de bateaux qui passent.
TEST: À gauche, là-bas, Rouen, la vaste ville aux toits bleus, sous le peuple pointu des clochers gothiques.
TEST: Ils sont innombrables, frêles ou larges, dominés par la flèche de fonte de la cathédrale, et pleins de cloches qui sonnent dans l’air bleu des belles matinées, jetant jusqu’à moi leur doux et lointain bourdonnement de fer, leur chant d’airain que la brise m’apporte, tantôt plus fort et tantôt plus affaibli, suivant qu’elle s’éveille ou s’assoupit.
TEST: Comme il faisait bon ce matin !
TEST: Vers onze heures, un long convoi de navires, traînés par un remorqueur, gros comme une mouche, et qui râlait de peine en vomissant une fumée épaisse, défila devant ma grille.
TEST: Après deux goëlettes anglaises, dont le pavillon rouge ondoyait sur le ciel, venait un superbe trois-mats brésilien, tout blanc, admirablement propre et luisant.
TEST: Je le saluai, je ne sais pourquoi, tant ce navire me fit plaisir à voir.
TEST: 12 mai. — J’ai un peu de fièvre depuis quelques jours ; je me sens souffrant, ou plutôt je me sens triste.
TEST: D’où viennent ces influences mystérieuses qui changent en découragement notre bonheur et notre confiance en détresse.
TEST: On dirait que l’air, l’air invisible est plein d’inconnaissables Puissances, dont nous subissons les voisinages mystérieux.
TEST: Je m’éveille plein de gaîté, avec des envies de chanter dans la gorge. — Pourquoi ? — Je descends le long de l’eau ; et soudain, après une courte promenade, je rentre désolé, comme si quelque malheur m’attendait chez moi. — Pourquoi ? — Est-ce un frisson de froid qui, frôlant ma peau, a ébranlé mes nerfs et assombri mon âme ?
TEST: Est-ce la forme des nuages, ou la couleur du jour, la couleur des choses, si variable, qui, passant par mes yeux, a troublé ma pensée ? Sait-on ?
TEST: Tout ce qui nous entoure, tout ce que nous voyons sans le regarder, tout ce que nous frôlons sans le connaître, tout ce que nous touchons sans le palper, tout ce que nous rencontrons sans le distinguer, a sur nous, sur nos organes et, par eux, sur nos idées, sur notre cœur lui-même, des effets rapides, surprenants et inexplicables ?
TEST: Comme il est profond, ce mystère de l’Invisible !
TEST: Nous ne le pouvons sonder avec nos sens misérables, avec nos yeux qui ne savent apercevoir ni le trop petit, ni le trop grand, ni le trop près, ni le trop loin, ni les habitants d’une étoile, ni les habitants d’une goutte d’eau… avec nos oreilles qui nous trompent, car elles nous transmettent les vibrations de l’air en notes sonores.
TEST: Elles sont des fées qui font ce miracle de changer en bruit ce mouvement et par cette métamorphose donnent naissance à la musique, qui rend chantante l’agitation muette de la nature… avec notre odorat, plus faible que celui du chien… avec notre goût, qui peut à peine discerner l’âge d’un vin !
TEST: Ah ! si nous avions d’autres organes qui accompliraient en notre faveur d’autres miracles, que de choses nous pourrions découvrir encore autour de nous !
TEST: 16 mai. — Je suis malade, décidément ! Je me portais si bien le mois dernier !
TEST: J’ai la fièvre, une fièvre atroce, ou plutôt un énervement fiévreux, qui rend mon âme aussi souffrante que mon corps.
TEST: J’ai sans cesse cette sensation affreuse d’un danger menaçant, cette appréhension d’un malheur qui vient ou de la mort qui approche, ce pressentiment qui est sans doute l’atteinte d’un mal encore inconnu, germant dans le sang et dans la chair.
TEST: 18 mai. — Je viens d’aller consulter mon médecin, car je ne pouvais plus dormir. Il m’a trouvé le pouls rapide, l’œil dilaté, les nerfs vibrants, mais sans aucun symptôme alarmant.
TEST: Je dois me soumettre aux douches et boire du bromure de potassium.
TEST: 25 mai. — Aucun changement ! Mon état, vraiment, est bizarre. À mesure qu’approche le soir, une inquiétude incompréhensible m’envahit, comme si la nuit cachait pour moi une menace terrible.
TEST: Je dîne vite, puis j’essaie de lire ; mais je ne comprends pas les mots ; je distingue à peine les lettres.
TEST: Je marche alors dans mon salon de long en large, sous l’oppression d’une crainte confuse et irrésistible, la crainte du sommeil et la crainte du lit.
TEST: Vers dix heures, je monte dans ma chambre. À peine entré, je donne deux tours de clef, et je pousse les verrous ; j’ai peur… de quoi ?…
TEST: Je ne redoutais rien jusqu’ici… j’ouvre mes armoires, je regarde sous mon lit ; j’écoute… j’écoute… quoi ?…
TEST: Est-ce étrange qu’un simple malaise, un trouble de la circulation peut-être, l’irritation d’un filet nerveux, un peu de congestion, une toute petite perturbation dans le fonctionnement si imparfait et si délicat de notre machine vivante, puisse faire un mélancolique du plus joyeux des hommes, et un poltron du plus brave ?
TEST: Puis, je me couche, et j’attends le sommeil comme on attendrait le bourreau.
TEST: Je l’attends avec l’épouvante de sa venue ; et mon cœur bat, et mes jambes frémissent ; et tout mon corps tressaille dans la chaleur des draps, jusqu’au moment où je tombe tout à coup dans le repos, comme on tomberait pour s’y noyer, dans un gouffre d’eau stagnante.
TEST: Je ne le sens pas venir, comme autrefois, ce sommeil perfide, caché près de moi, qui me guette, qui va me saisir par la tête, me fermer les yeux, m’anéantir.
TEST: Je dors — longtemps — deux ou trois heures — puis un rêve — non — un cauchemar m’étreint.
TEST: Je sens bien que je suis couché et que je dors… je le sens et je le sais… et je sens aussi que quelqu’un s’approche de moi, me regarde, me palpe, monte sur mon lit, s’agenouille sur ma poitrine, me prend le cou entre ses mains et serre… serre… de toute sa force pour m’étrangler.
TEST: Moi, je me débats, lié par cette impuissance atroce, qui nous paralyse dans les songes ; je veux crier, — je ne peux pas ; — je veux remuer, — je ne peux pas ; — j’essaye, avec des efforts affreux, en haletant, de me tourner, de rejeter cet être qui m’écrase et qui m’étouffe, — je ne peux pas !
TEST: Et soudain, je m’éveille, affolé, couvert de sueur. J’allume une bougie. Je suis seul.
TEST: Après cette crise, qui se renouvelle toutes les nuits, je dors enfin, avec calme, jusqu’à l’aurore.
TEST: 2 juin. — Mon état s’est encore aggravé. Qu’ai-je donc ? Le bromure n’y fait rien ; les douches n’y font rien.
TEST: Tantôt, pour fatiguer mon corps, si las pourtant, j’allai faire un tour dans la forêt de Roumare.
TEST: Je crus d’abord que l’air frais, léger et doux, plein d’odeur d’herbes et de feuilles, me versait aux veines un sang nouveau, au cœur une énergie nouvelle.
TEST: Je pris une grande avenue de chasse, puis je tournai vers La Bouille, par une allée étroite, entre deux armées d’arbres démesurément hauts qui mettaient un toit vert, épais, presque noir, entre le ciel et moi.
TEST: Un frisson me saisit soudain, non pas un frisson de froid, mais un étrange frisson d’angoisse.
TEST: Je hâtai le pas, inquiet d’être seul dans ce bois, apeuré sans raison, stupidement, par la profonde solitude. Tout à coup, il me sembla que j’étais suivi, qu’on marchait sur mes talons, tout près, à me toucher.
TEST: Je me retournai brusquement. J’étais seul.
TEST: Je ne vis derrière moi que la droite et large allée, vide, haute, redoutablement vide ; et de l’autre côté elle s’étendait aussi à perte de vue, toute pareille, effrayante.
TEST: Je fermai les yeux. Pourquoi ? Et je me mis à tourner sur un talon, très vite, comme une toupie. Je faillis tomber ; je rouvris les yeux ; les arbres dansaient ; la terre flottait ; je dus m’asseoir.
TEST: Puis, ah ! je ne savais plus par où j’étais venu ! Bizarre idée ! Bizarre ! Bizarre idée ! Je ne savais plus du tout.
TEST: Je partis par le côté qui se trouvait à ma droite, et je revins dans l’avenue qui m’avait amené au milieu de la forêt.
TEST: 3 juin. — La nuit a été horrible. Je vais m’absenter pendant quelques semaines. Un petit voyage, sans doute, me remettra.
TEST: 2 juillet. — Je rentre. Je suis guéri. J’ai fait d’ailleurs une excursion charmante. J’ai visité le mont Saint-Michel que je ne connaissais pas.
TEST: Quelle vision, quand on arrive, comme moi, à Avranches, vers la fin du jour ! La ville est sur une colline ; et on me conduisit dans le jardin public, au bout de la cité. Je poussai un cri d’étonnement.
TEST: Une baie démesurée s’étendait devant moi, à perte de vue, entre deux côtes écartées se perdant au loin dans les brumes ; et au milieu de cette immense baie jaune, sous un ciel d’or et de clarté, s’élevait sombre et pointu un mont étrange, au milieu des sables. Le soleil venait de disparaître, et sur l’horizon encore flamboyant se dessinait le profil de ce fantastique rocher qui porte sur son sommet un fantastique monument.
TEST: Dès l’aurore, j’allai vers lui. La mer était basse, comme la veille au soir, et je regardais se dresser devant moi, à mesure que j’approchais d’elle, la surprenante abbaye.
TEST: Après plusieurs heures de marche, j’atteignis l’énorme bloc de pierres qui porte la petite cité dominée par la grande église. Ayant gravi la rue étroite et rapide, j’entrai dans la plus admirable demeure gothique construite pour Dieu sur la terre, vaste comme une ville, pleine de salles basses écrasées sous des voûtes et de hautes galeries que soutiennent de frêles colonnes.
TEST: J’entrai dans ce gigantesque bijou de granit, aussi léger qu’une dentelle, couvert de tours, de sveltes clochetons, où montent des escaliers tordus, et qui lancent dans le ciel bleu des jours, dans le ciel noir des nuits, leurs têtes bizarres hérissées de chimères, de diables, de bêtes fantastiques, de fleurs monstrueuses, et reliés l’un à l’autre par de fines arches ouvragées.
TEST: Quand je fus sur le sommet, je dis au moine qui m’accompagnait : « Mon père, comme vous devez être bien ici ! »
TEST: Il répondit : « Il y a beaucoup de vent, Monsieur » ; et nous nous mîmes à causer en regardant monter la mer, qui courait sur le sable et le couvrait d’une cuirasse d’acier.
TEST: Et le moine me conta des histoires, toutes les vieilles histoires de ce lieu, des légendes, toujours des légendes.
TEST: Une d’elles me frappa beaucoup. Les gens du pays, ceux du mont, prétendent qu’on entend parler la nuit dans les sables, puis qu’on entend bêler deux chèvres, l’une avec une voix forte, l’autre avec une voix faible. Les incrédules affirment que ce sont les cris des oiseaux de mer, qui ressemblent tantôt à des bêlements, et tantôt à des plaintes humaines ; mais les pêcheurs attardés jurent avoir rencontré rôdant sur les dunes, entre deux marées, autour de la petite ville jetée ainsi loin du monde, un vieux berger, dont on ne voit jamais la tête couverte de son manteau, et qui conduit, en marchant devant eux, un bouc à figure d’homme et une chèvre à figure de femme, tous deux avec de longs cheveux blancs et parlant sans cesse, se querellant dans une langue inconnue, puis cessant soudain de crier pour bêler de toute leur force.
TEST: Je dis au moine : « Y croyez-vous ? »
TEST: Il murmura : « Je ne sais pas. »
TEST: Je repris : « S’il existait sur la terre d’autres êtres que nous, comment ne les connaîtrions-nous point depuis longtemps : comment ne les auriez-vous pas vus, vous ? comment ne les aurais-je pas vus, moi ? »
TEST: Il répondit : « Est-ce que nous voyons la cent-millième partie de ce qui existe ? Tenez, voici le vent, qui est la plus grande force de la nature, qui renverse les hommes, abat les édifices, déracine les arbres, soulève la mer en montagnes d’eau, détruit les falaises, et jette aux brisants les grands navires, le vent qui tue, qui siffle, qui gémit, qui mugit, — l’avez-vous vu, et pouvez-vous le voir ? Il existe, pourtant. »
TEST: Je me tus devant ce simple raisonnement. Cet homme était un sage ou peut-être un sot. Je ne l’aurais pu affirmer au juste ; mais je me tus. Ce qu’il disait là, je l’avais pensé souvent.
TEST: 3 juillet. — J’ai mal dormi ; certes, il y a ici une influence fiévreuse, car mon cocher souffre du même mal que moi. En rentrant hier, j’avais remarqué sa pâleur singulière. Je lui demandai :
TEST: — Qu’est-ce que vous avez, Jean ?
TEST: — J’ai que je ne peux plus me reposer, Monsieur, ce sont mes nuits qui mangent mes jours. Depuis le départ de Monsieur, cela me tient comme un sort.
TEST: Les autres domestiques vont bien cependant, mais j’ai grand peur d’être repris, moi.
TEST: 4 juillet. — Décidément, je suis repris. Mes cauchemars anciens reviennent.
TEST: Cette nuit, j’ai senti quelqu’un accroupi sur moi, et qui, sa bouche sur la mienne, buvait ma vie entre mes lèvres. Oui, il la puisait dans ma gorge, comme aurait fait une sangsue.
TEST: Puis il s’est levé, repu, et moi je me suis réveillé, tellement meurtri, brisé, anéanti, que je ne pouvais plus remuer. Si cela continue encore quelques jours, je repartirai certainement.
TEST: 5 juillet. — Ai-je perdu la raison ? Ce qui s’est passé, ce que j’ai vu la nuit dernière est tellement étrange, que ma tête s’égare quand j’y songe !
TEST: Comme je le fais maintenant chaque soir j’avais fermé ma porte à clef ; puis, ayant soif, je bus un demi-verre d’eau, et je remarquai par hasard que ma carafe était pleine jusqu’au bouchon de cristal.
TEST: Je me couchai ensuite et je tombai dans un de mes sommeils épouvantables, dont je fus tiré au bout de deux heures environ par une secousse plus affreuse encore.
TEST: Figurez-vous un homme qui dort, qu’on assassine, et qui se réveille avec un couteau dans le poumon, et qui râle, couvert de sang, et qui ne peut plus respirer, et qui va mourir, et qui ne comprend pas — voilà.
TEST: Ayant enfin reconquis ma raison, j’eus soif de nouveau ; j’allumai une bougie et j’allai vers la table où était posée ma carafe. Je la soulevai en la penchant sur mon verre ; rien ne coula. — Elle était vide ! Elle était vide complètement !
TEST: D’abord, je n’y compris rien ; puis, tout à coup, je ressentis une émotion si terrible, que je dus m’asseoir, ou plutôt, que je tombai sur une chaise ! puis, je me redressai d’un saut pour regarder autour de moi ! puis je me rassis, éperdu d’étonnement et de peur, devant le cristal transparent !
TEST: Je le contemplais avec des yeux fixes, cherchant à deviner. Mes mains tremblaient ! On avait donc bu cette eau ? Qui ? Moi ? moi, sans doute ? Ce ne pouvait être que moi ?
TEST: Alors, j’étais somnambule, je vivais, sans le savoir, de cette double vie mystérieuse qui fait douter s’il y a deux êtres en nous, ou si un être étranger, inconnaissable et invisible, anime, par moments, quand notre âme est engourdie, notre corps captif qui obéit à cet autre, comme à nous-mêmes, plus qu’à nous-mêmes.
TEST: Ah ! qui comprendra mon angoisse abominable ?
TEST: Qui comprendra l’émotion d’un homme, sain d’esprit, bien éveillé, plein de raison et qui regarde épouvanté, à travers le verre d’une carafe, un peu d’eau disparue pendant qu’il a dormi !
TEST: Et je restai là jusqu’au jour, sans oser regagner mon lit.
TEST: 6 juillet. — Je deviens fou. On a encore bu toute ma carafe cette nuit ; — ou plutôt, je l’ai bue !
TEST: Mais, est-ce moi ? Est-ce moi ? Qui serait-ce ? Qui ? Oh ! mon Dieu ! Je deviens fou ? Qui me sauvera ?
TEST: 10 juillet. — Je viens de faire des épreuves surprenantes.
TEST: Décidément, je suis fou ! Et pourtant !
TEST: Le 6 juillet, avant de me coucher, j’ai placé sur ma table du vin, du lait, de l’eau, du pain et des fraises.
TEST: On a bu — j’ai bu — toute l’eau, et un peu de lait. On n’a touché ni au vin, ni au pain, ni aux fraises.
TEST: Le 7 juillet, j’ai renouvelé la même épreuve, qui a donné le même résultat.
TEST: Le 8 juillet, j’ai supprimé l’eau et le lait. On n’a touché à rien.
TEST: Le 9 juillet enfin, j’ai remis sur ma table l’eau et le lait seulement, en ayant soin d’envelopper les carafes en des linges de mousseline blanche et de ficeler les bouchons.
TEST: Puis, j’ai frotté mes lèvres, ma barbe, mes mains avec de la mine de plomb, et je me suis couché.
TEST: L’invincible sommeil m’a saisi, suivi bientôt de l’atroce réveil. Je n’avais point remué ; mes draps eux-mêmes ne portaient pas de taches.
TEST: Je m’élançai vers ma table. Les linges enfermant les bouteilles étaient demeurés immaculés.
TEST: Je déliai les cordons, en palpitant de crainte. On avait bu toute l’eau ! on avait bu tout le lait ! Ah ! mon Dieu !…
TEST: Je vais partir tout à l’heure pour Paris.
TEST: 12 juillet. — Paris. J’avais donc perdu la tête les jours derniers !
TEST: J’ai dû être le jouet de mon imagination énervée, à moins que je ne sois vraiment somnambule, ou que j’aie subi une de ces influences constatées, mais inexplicables jusqu’ici, qu’on appelle suggestions.
TEST: En tout cas, mon affolement touchait à la démence, et vingt-quatre heures de Paris ont suffi pour me remettre d’aplomb.
TEST: Hier, après des courses et des visites, qui m’ont fait passer dans l’âme de l’air nouveau et vivifiant, j’ai fini ma soirée au Théâtre-Français.
TEST: On y jouait une pièce d’Alexandre Dumas fils ; et cet esprit alerte et puissant a achevé de me guérir. Certes, la solitude est dangereuse pour les intelligences qui travaillent.
TEST: Il nous faut, autour de nous, des hommes qui pensent et qui parlent. Quand nous sommes seuls longtemps, nous peuplons le vide de fantômes.
TEST: Je suis rentré à l’hôtel très gai, par les boulevards. Au coudoiement de la foule, je songeais, non sans ironie, à mes terreurs, à mes suppositions de l’autre semaine, car j’ai cru, oui, j’ai cru qu’un être invisible habitait sous mon toit.
TEST: Comme notre tête est faible et s’effare, et s’égare vite, dès qu’un petit fait incompréhensible nous frappe !
TEST: Au lieu de conclure par ces simples mots : « Je ne comprends pas parce que la cause m’échappe », nous imaginons aussitôt des mystères effrayants et des puissances surnaturelles.
TEST: 14 juillet. — Fête de la République. Je me suis promené par les rues. Les pétards et les drapeaux m’amusaient comme un enfant.
TEST: C’est pourtant fort bête d’être joyeux, à date fixe, par décret du gouvernement. Le peuple est un troupeau imbécile, tantôt stupidement patient et tantôt férocement révolté.
TEST: On lui dit : « Amuse-toi. » Il s’amuse. On lui dit : « Va te battre avec le voisin. » Il va se battre. On lui dit : « Vote pour l’Empereur. » Il vote pour l’Empereur.
TEST: Puis, on lui dit : « Vote pour la République. » Et il vote pour la République.
TEST: Ceux qui le dirigent sont aussi sots ; mais au lieu d’obéir à des hommes, ils obéissent à des principes, lesquels ne peuvent être que niais, stériles et faux, par cela même qu’ils sont des principes, c’est-à-dire des idées réputées certaines et immuables, en ce monde où l’on n’est sûr de rien, puisque la lumière est une illusion, puisque le bruit est une illusion.
TEST: 16 juillet. — J’ai vu hier des choses qui m’ont beaucoup troublé.
TEST: Je dînais chez ma cousine, Mme Sablé, dont le mari commande le 76ᵉ chasseurs à Limoges.
TEST: Je me trouvais chez elle avec deux jeunes femmes, dont l’une a épousé un médecin, le docteur Parent, qui s’occupe beaucoup des maladies nerveuses et des manifestations extraordinaires auxquelles donnent lieu en ce moment les expériences sur l’hypnotisme et la suggestion.
TEST: Il nous raconta longtemps les résultats prodigieux obtenus par des savants anglais et par les médecins de l’école de Nancy.
TEST: Les faits qu’il avança me parurent tellement bizarres, que je me déclarai tout à fait incrédule.
TEST: « Nous sommes, affirmait-il, sur le point de découvrir un des plus importants secrets de la nature, je veux dire, un de ses plus importants secrets sur cette terre ; car elle en a certes d’autrement importants, là-bas, dans les étoiles.
TEST: Depuis que l’homme pense, depuis qu’il sait dire et écrire sa pensée, il se sent frôlé par un mystère impénétrable pour ses sens grossiers et imparfaits, et il tâche de suppléer, par l’effort de son intelligence, à l’impuissance de ses organes.
TEST: Quand cette intelligence demeurait encore à l’état rudimentaire, cette hantise des phénomènes invisibles a pris des formes banalement effrayantes.
TEST: De là sont nées les croyances populaires au surnaturel, les légendes des esprits rôdeurs, des fées, des gnomes, des revenants, je dirai même la légende de Dieu, car nos conceptions de l’ouvrier-créateur, de quelque religion qu’elles nous viennent, sont bien les inventions les plus médiocres, les plus stupides, les plus inacceptables sorties du cerveau apeuré des créatures.
TEST: Rien de plus vrai que cette parole de Voltaire : « Dieu a fait l’homme à son image, mais l’homme le lui a bien rendu. »
TEST: « Mais, depuis un peu plus d’un siècle, on semble pressentir quelque chose de nouveau.
TEST: Mesmer et quelques autres nous ont mis sur une voie inattendue, et nous sommes arrivés vraiment, depuis quatre ou cinq ans surtout, à des résultats surprenants. »
TEST: Ma cousine, très incrédule aussi, souriait. Le docteur Parent lui dit : — Voulez-vous que j’essaie de vous endormir, Madame ?
TEST: — Oui, je veux bien.
TEST: Elle s’assit dans un fauteuil et il commença à la regarder fixement en la fascinant.
TEST: Moi, je me sentis soudain un peu troublé, le cœur battant, la gorge serrée. Je voyais les yeux de Mme Sablé s’alourdir, sa bouche se crisper, sa poitrine haleter.
TEST: Au bout de dix minutes, elle dormait.
TEST: — Mettez-vous derrière elle, dit le médecin.
TEST: Et je m’assis derrière elle. Il lui plaça entre les mains une carte de visite en lui disant : « Ceci est un miroir ; que voyez-vous dedans ? »
TEST: Elle répondit :
TEST: — Je vois mon cousin.
TEST: — Que fait-il ?
TEST: — Il se tord la moustache.
TEST: — Et maintenant ?
TEST: — Il tire de sa poche une photographie.
TEST: — Quelle est cette photographie ?
TEST: — La sienne.
TEST: C’était vrai ! Et cette photographie venait de m’être livrée, le soir même, à l’hôtel.
TEST: — Comment est-il sur ce portrait ?
TEST: — Il se tient debout avec son chapeau à la main.
TEST: Donc elle voyait dans cette carte, dans ce carton blanc, comme elle eût vu dans une glace.
TEST: Les jeunes femmes, épouvantées, disaient : « Assez ! Assez ! Assez ! »
TEST: Mais le docteur ordonna : « Vous vous lèverez demain à huit heures ; puis vous irez trouver à son hôtel votre cousin, et vous le supplierez de vous prêter cinq mille francs que votre mari vous demande et qu’il vous réclamera à son prochain voyage. »
TEST: Puis il la réveilla.
TEST: En rentrant à l’hôtel, je songeais à cette curieuse séance et des doutes m’assaillirent, non point sur l’absolue, sur l’insoupçonnable bonne foi de ma cousine, que je connaissais comme une sœur, depuis l’enfance, mais sur une supercherie possible du docteur.
TEST: Ne dissimulait-il pas dans sa main une glace qu’il montrait à la jeune femme endormie, en même temps que sa carte de visite ? Les prestidigitateurs de profession font des choses autrement singulières.
TEST: Je rentrai donc et je me couchai.
TEST: Or, ce matin, vers huit heures et demie, je fus réveillé par mon valet de chambre, qui me dit :
TEST: — C’est Mme Sablé qui demande à parler à Monsieur tout de suite.
TEST: Je m’habillai à la hâte et je la reçus.
TEST: Elle s’assit fort troublée, les yeux baissés, et, sans lever son voile, elle me dit :
TEST: — Mon cher cousin, j’ai un gros service à vous demander.
TEST: — Lequel, ma cousine ?
TEST: — Cela me gêne beaucoup de vous le dire, et pourtant, il le faut. J’ai besoin, absolument besoin, de cinq mille francs.
TEST: — Allons donc, vous ?
TEST: — Oui, moi, ou plutôt mon mari, qui me charge de les trouver.
TEST: J’étais tellement stupéfait, que je balbutiais mes réponses.
TODO: Je me demandais si vraiment elle ne s’était pas moquée de moi avec le docteur Parent, si ce n’était pas là une simple farce {{préparée d’avance}} et fort bien jouée.
TEST: Mais, en la regardant avec attention, tous mes doutes se dissipèrent. Elle tremblait d’angoisse, tant cette démarche lui était douloureuse, et je compris qu’elle avait la gorge pleine de sanglots.
TEST: Je la savais fort riche et je repris :
TEST: — Comment ! votre mari n’a pas cinq mille francs à sa disposition ! Voyons, réfléchissez. Êtes-vous sûre qu’il vous a chargée de me les demander ?
TEST: Elle hésita quelques secondes comme si elle eût fait un grand effort pour chercher dans son souvenir, puis elle répondit :
TEST: — Oui…, oui… j’en suis sûre.
TEST: — Il vous a écrit ?
TEST: Elle hésita encore, réfléchissant. Je devinai le travail torturant de sa pensée. Elle ne savait pas. Elle savait seulement qu’elle devait m’emprunter cinq mille francs pour son mari. Donc elle osa mentir.
TEST: — Oui, il m’a écrit.
TEST: — Quand donc ? Vous ne m’avez parlé de rien, hier.
TEST: — J’ai reçu sa lettre ce matin.
TEST: — Pouvez-vous me la montrer ?
TEST: — Non… non… non… elle contenait des choses intimes… trop personnelles… je l’ai… je l’ai brûlée.
TEST: — Alors, c’est que votre mari fait des dettes.
TEST: Elle hésita encore, puis murmura :
TEST: — Je ne sais pas.
TEST: Je déclarai brusquement :
TEST: — C’est que je ne puis disposer de cinq mille francs en ce moment, ma chère cousine.
TEST: Elle poussa une sorte de cri de souffrance.
TEST: — Oh ! oh ! je vous en prie, je vous en prie, trouvez-les…
TEST: Elle s’exaltait, joignait les mains comme si elle m’eût prié ! J’entendais sa voix changer de ton ; elle pleurait et bégayait, harcelée, dominée par l’ordre irrésistible qu’elle avait reçu.
TEST: — Oh ! oh ! je vous en supplie… si vous saviez comme je souffre… il me les faut aujourd’hui.
TEST: J’eus pitié d’elle.
TEST: — Vous les aurez tantôt, je vous le jure.
TEST: Elle s’écria :
TEST: — Oh ! merci ! merci ! Que vous êtes bon.
TEST: Je repris : — Vous rappelez-vous ce qui s’est passé hier soir chez vous ?
TEST: — Oui.
TEST: — Vous rappelez-vous que le docteur Parent vous a endormie ?
TEST: — Oui.
TEST: — Eh ! bien, il vous a ordonné de venir m’emprunter ce matin cinq mille francs, et vous obéissez en ce moment à cette suggestion.
TEST: Elle réfléchit quelques secondes et répondit :
TEST: — Puisque c’est mon mari qui les demande.
TEST: Pendant une heure, j’essayai de la convaincre, mais je n’y pus parvenir.
TEST: Quand elle fut partie, je courus chez le docteur. Il allait sortir ; et il m’écouta en souriant. Puis il dit :
TEST: — Croyez-vous maintenant ?
TEST: — Oui, il le faut bien.
TEST: — Allons chez votre parente.
TEST: Elle sommeillait déjà sur une chaise longue, accablée de fatigue.
TEST: Le médecin lui prit le pouls, la regarda quelque temps, une main levée vers ses yeux qu’elle ferma peu à peu sous l’effort insoutenable de cette puissance magnétique.
TEST: Quand elle fut endormie :
TEST: — Votre mari n’a plus besoin de cinq mille francs ! Vous allez donc oublier que vous avez prié votre cousin de vous les prêter, et, s’il vous parle de cela, vous ne comprendrez pas.
TEST: Puis il la réveilla. Je tirai de ma poche un portefeuille :
TEST: — Voici, ma chère cousine, ce que vous m’avez demandé ce matin.
TEST: Elle fut tellement surprise que je n’osai pas insister. J’essayai cependant de ranimer sa mémoire, mais elle nia avec force, crut que je me moquais d’elle, et faillit, à la fin, se fâcher.
TEST: Voilà ! je viens de rentrer ; et je n’ai pu déjeuner, tant cette expérience m’a bouleversé.
TEST: 19 juillet. — Beaucoup de personnes à qui j’ai raconté cette aventure se sont moquées de moi. Je ne sais plus que penser. Le sage dit : Peut-être ?
TEST: 21 juillet. — J’{{ai été}} dîner à Bougival, puis j’ai passé la soirée au bal des canotiers. Décidément, tout dépend des lieux et des milieux.
TEST: Croire au surnaturel dans l’île de la Grenouillère, serait le comble de la folie… mais au sommet du mont Saint-Michel ?… mais dans les Indes ?
TEST: Nous subissons effroyablement l’influence de ce qui nous entoure. Je rentrerai chez moi la semaine prochaine.
TEST: 30 juillet. — Je suis revenu dans ma maison depuis hier. Tout va bien.
TEST: 2 août. — Rien de nouveau ; il fait un temps superbe. Je passe mes journées à regarder couler la Seine.
TEST: 4 août. — Querelles parmi mes domestiques. Ils prétendent qu’on casse les verres, la nuit, dans les armoires.
TEST: Le valet de chambre accuse la cuisinière, qui accuse la lingère, qui accuse les deux autres. Quel est le coupable ? Bien fin qui le dirait !
TEST: 6 août. — Cette fois, je ne suis pas fou. J’ai vu… j’ai vu… j’ai vu !… Je ne puis plus douter… j’ai vu !… J’ai encore froid jusque dans les ongles… j’ai encore peur jusque dans les moelles… j’ai vu !…
TEST: Je me promenais à deux heures, en plein soleil, dans mon parterre de rosiers… dans l’allée des rosiers d’automne qui commencent à fleurir.
TEST: Comme je m’arrêtais à regarder un géant des batailles, qui portait trois fleurs magnifiques, je vis, je vis distinctement, tout près de moi, la tige d’une de ces roses se plier, comme si une main invisible l’eût tordue, puis se casser comme si cette main l’eût cueillie !
TEST: Puis la fleur s’éleva, suivant la courbe qu’aurait décrite un bras en la portant vers une bouche, et elle resta suspendue dans l’air transparent, toute seule, immobile, effrayante tache rouge à trois pas de mes yeux.
TEST: Éperdu, je me jetai sur elle pour la saisir !
TEST: Je ne trouvai rien ; elle avait disparu. Alors je fus pris d’une colère furieuse contre moi-même ; car il n’est pas permis à un homme raisonnable et sérieux d’avoir de pareilles hallucinations.
TEST: Mais était-ce bien une hallucination ? Je me retournai pour chercher la tige, et je la retrouvai immédiatement sur l’arbuste, fraîchement brisée, entre les deux autres roses demeurées à la branche.
TEST: Alors, je rentrai chez moi l’âme bouleversée ; car je suis certain, maintenant, certain comme de l’alternance des jours et des nuits, qu’il existe près de moi un être invisible, qui se nourrit de lait et d’eau, qui peut toucher aux choses, les prendre et les changer de place, doué par conséquent d’une nature matérielle, bien qu’imperceptible pour nos sens, et qui habite comme moi, sous mon toit…
TEST: 7 août. — J’ai dormi tranquille. Il a bu l’eau de ma carafe, mais n’a point troublé mon sommeil.
TEST: Je me demande si je suis fou.
TEST: En me promenant, tantôt au grand soleil, le long de la rivière, des doutes me sont venus sur ma raison, non point des doutes vagues comme j’en avais jusqu’ici, mais des doutes précis, absolus.
TEST: J’ai vu des fous ; j’en ai connu qui restaient intelligents, lucides, clairvoyants même sur toutes les choses de la vie, sauf sur un point.
TEST: Ils parlaient de tout avec clarté, avec souplesse, avec profondeur, et soudain leur pensée touchant l’écueil de leur folie, s’y déchirait en pièces, s’éparpillait et sombrait dans cet océan effrayant et furieux, plein de vagues bondissantes, de brouillards, de bourrasques, qu’on nomme « la démence ».
TEST: Certes, je me croirais fou, absolument fou, si je n’étais conscient, si je ne connaissais parfaitement mon état, si je ne le sondais en l’analysant avec une complète lucidité.
TEST: Je ne serais donc, en somme, qu’un halluciné raisonnant. Un trouble inconnu se serait produit dans mon cerveau, un de ces troubles qu’essayent de noter et de préciser aujourd’hui les physiologistes ; et ce trouble aurait déterminé dans mon esprit, dans l’ordre et la logique de mes idées, une crevasse profonde.
TEST: Des phénomènes semblables ont lieu dans le rêve qui nous promène à travers les fantasmagories les plus invraisemblables, sans que nous en soyons surpris, parce que l’appareil vérificateur, parce que le sens du contrôle est endormi ; tandis que la faculté imaginative veille et travaille.
TEST: Ne se peut-il pas qu’une des imperceptibles touches du clavier cérébral se trouve paralysée chez moi ?
TEST: Des hommes, à la suite d’accidents, perdent la mémoire des noms propres ou des verbes ou des chiffres, ou seulement des dates.
TEST: Les localisations de toutes les parcelles de la pensée sont aujourd’hui prouvées.
TEST: Or, quoi d’étonnant à ce que ma faculté de contrôler l’irréalité de certaines hallucinations, se trouve engourdie chez moi en ce moment !
TEST: Je songeais à tout cela en suivant le bord de l’eau. Le soleil couvrait de clarté la rivière, faisait la terre délicieuse, emplissait mon regard d’amour pour la vie, pour les hirondelles, dont l’agilité est une joie de mes yeux, pour les herbes de la rive dont le frémissement est un bonheur de mes oreilles.
TEST: Peu à peu, cependant un malaise inexplicable me pénétrait. Une force, me semblait-il, une force occulte m’engourdissait, m’arrêtait, m’empêchait d’aller plus loin, me rappelait en arrière.
TEST: J’éprouvais ce besoin douloureux de rentrer qui vous oppresse, quand on a laissé au logis un malade aimé, et que le pressentiment vous saisit d’une aggravation de son mal.
TEST: Donc, je revins malgré moi, sûr que j’allais trouver, dans ma maison, une mauvaise nouvelle, une lettre ou une dépêche.
TEST: Il n’y avait rien ; et je demeurai plus surpris et plus inquiet que si j’avais eu de nouveau quelque vision fantastique.
TEST: 8 août. — J’ai passé hier une affreuse soirée.
TEST: Il ne se manifeste plus, mais je le sens près de moi, m’épiant, me regardant, me pénétrant, me dominant et plus redoutable, en se cachant ainsi, que s’il signalait par des phénomènes surnaturels sa présence invisible et constante.
TEST: J’ai dormi, pourtant.
TEST: 9 août. — Rien, mais j’ai peur.
TEST: 10 août. — Rien ; qu’arrivera-t-il demain ?
TEST: 11 août. — Toujours rien ; je ne puis plus rester chez moi avec cette crainte et cette pensée entrées en mon âme ; je vais partir.
TEST: 12 août, 10 heures du soir. — Tout le jour j’ai voulu m’en aller ; je n’ai pas pu.
TEST: J’ai voulu accomplir cet acte de liberté si facile, si simple, — sortir — monter dans ma voiture pour gagner Rouen — je n’ai pas pu. Pourquoi ?
TEST: 13 août. — Quand on est atteint par certaines maladies, tous les ressorts de l’être physique semblent brisés, toutes les énergies anéanties, tous les muscles relâchés, les os devenus mous comme la chair et la chair liquide comme de l’eau.
TEST: J’éprouve cela dans mon être moral d’une façon étrange et désolante.
TEST: Je n’ai plus aucune force, aucun courage, aucune domination sur moi, aucun pouvoir même de mettre en mouvement ma volonté.
TEST: Je ne peux plus vouloir ; mais quelqu’un veut pour moi ; et j’obéis.
TEST: 14 août. — Je suis perdu ! Quelqu’un possède mon âme et la gouverne ! quelqu’un ordonne tous mes actes, tous mes mouvements, toutes mes pensées.
TEST: Je ne suis plus rien en moi, rien qu’un spectateur esclave et terrifié de toutes les choses que j’accomplis.
TEST: Je désire sortir. Je ne peux pas. Il ne veut pas ; et je reste, éperdu, tremblant, dans le fauteuil où il me tient assis.
TEST: Je désire seulement me lever, me soulever, afin de me croire encore maître de moi.
TEST: Je ne peux pas ! Je suis rivé à mon siège ; et mon siège adhère au sol, de telle sorte qu’aucune force ne nous soulèverait.
TEST: Puis, tout d’un coup, il faut, il faut, il faut que j’aille au fond de mon jardin cueillir des fraises et les manger. Et j’y vais. Je cueille des fraises et je les mange !
TEST: Oh ! mon Dieu ! Mon Dieu ! Mon Dieu ! Est-il un Dieu ? S’il en est un, délivrez-moi, sauvez-moi ! secourez-moi ! Pardon ! Pitié ! Grâce ! Sauvez-moi ! Oh ! quelle souffrance ! quelle torture ! quelle horreur !
TEST: 15 août. — Certes, voilà comment était possédée et dominée ma pauvre cousine, quand elle est venue m’emprunter cinq mille francs.
TEST: Elle subissait un vouloir étranger entré en elle, comme une autre âme, comme une autre âme parasite et dominatrice. Est-ce que le monde va finir ?
TEST: Mais celui qui me gouverne, quel est-il, cet invisible ? cet inconnaissable, ce rôdeur d’une race surnaturelle ?
TEST: Donc les Invisibles existent ! Alors, comment depuis l’origine du monde ne se sont-ils pas encore manifestés d’une façon précise comme ils le font pour moi ?
TEST: Je n’ai jamais rien lu qui ressemble à ce qui s’est passé dans ma demeure. Oh ! si je pouvais la quitter, si je pouvais m’en aller, fuir et ne pas revenir. Je serais sauvé, mais je ne peux pas.
TEST: 16 août. — J’ai pu m’échapper aujourd’hui pendant deux heures, comme un prisonnier qui trouve ouverte, par hasard, la porte de son cachot. J’ai senti que j’étais libre tout à coup et qu’il était loin.
TEST: J’ai ordonné d’atteler bien vite et j’ai gagné Rouen. Oh ! quelle joie de pouvoir dire à un homme qui obéit : « Allez à Rouen ! »
TEST: Je me suis fait arrêter devant la bibliothèque et j’ai prié qu’on me prêtât le grand traité du docteur Hermann Herestauss sur les habitants inconnus du monde antique et moderne.
TEST: Puis, au moment de remonter dans mon coupé, j’ai voulu dire : « À la gare ! » et j’ai crié, — je n’ai pas dit, j’ai crié — d’une voix si forte que les passants se sont retournés : « À la maison », et je suis tombé, affolé d’angoisse, sur le coussin de ma voiture. Il m’avait retrouvé et repris.
TEST: 17 août. — Ah ! Quelle nuit ! quelle nuit ! Et pourtant il me semble que je devrais me réjouir. Jusqu’à une heure du matin, j’ai lu !
TEST: Hermann Herestauss, docteur en philosophie et en théogonie, a écrit l’histoire et les manifestations de tous les êtres invisibles rôdant autour de l’homme ou rêvés par lui.
TEST: Il décrit leurs origines, leur domaine, leur puissance. Mais aucun d’eux ne ressemble à celui qui me hante.
TEST: On dirait que l’homme, depuis qu’il pense, a pressenti et redouté un être nouveau, plus fort que lui, son successeur en ce monde, et que, le sentant proche et ne pouvant prévoir la nature de ce maître, il a créé, dans sa terreur, tout le peuple fantastique des êtres occultes, fantômes vagues nés de la peur.
TEST: Donc, ayant lu jusqu’à une heure du matin, j’ai été m’asseoir ensuite auprès de ma fenêtre ouverte pour rafraîchir mon front et ma pensée au vent calme de l’obscurité.
TEST: Il faisait bon, il faisait tiède ! Comme j’aurais aimé cette nuit-là autrefois !
TEST: Pas de lune. Les étoiles avaient au fond du ciel noir des scintillements frémissants. Qui habite ces mondes ? Quelles formes, quels vivants, quels animaux, quelles plantes sont là-bas ?
TEST: Ceux qui pensent dans ces univers lointains, que savent-ils plus que nous ? Que peuvent-ils plus que nous ? Que voient-ils que nous ne connaissons point ?
TEST: Un d’eux, un jour ou l’autre, traversant l’espace, n’apparaîtra-t-il pas sur notre terre pour la conquérir, comme les Normands jadis traversaient la mer pour asservir des peuples plus faibles ?
TEST: Nous sommes si infirmes, si désarmés, si ignorants, si petits, nous autres, sur ce grain de boue qui tourne délayé dans une goutte d’eau.
TEST: Je m’assoupis en rêvant ainsi au vent frais du soir.
TEST: Or, ayant dormi environ quarante minutes, je rouvris les yeux sans faire un mouvement, réveillé par je ne sais quelle émotion confuse et bizarre.
TEST: Je ne vis rien d’abord, puis, tout à coup, il me sembla qu’une page du livre resté ouvert sur ma table venait de tourner toute seule. Aucun souffle d’air n’était entré par ma fenêtre.
TEST: Je fus surpris et j’attendis. Au bout de quatre minutes environ, je vis, je vis, oui, je vis de mes yeux une autre page se soulever et se rabattre sur la précédente, comme si un doigt l’eût feuilletée.
TEST: Mon fauteuil était vide, semblait vide ; mais je compris qu’il était là, lui, assis à ma place, et qu’il lisait.
TEST: D’un bond furieux, d’un bond de bête révoltée, qui va éventrer son dompteur, je traversai ma chambre pour le saisir, pour l’étreindre, pour le tuer !…
TEST: Mais mon siège, avant que je l’eusse atteint, se renversa comme si on eût fui devant moi… ma table oscilla, ma lampe tomba et s’éteignit, et ma fenêtre se ferma comme si un malfaiteur surpris se fût élancé dans la nuit, en prenant à pleines mains les battants.
TEST: Donc, il s’était sauvé ; il avait eu peur, peur de moi, lui !
TEST: Alors… alors… demain… ou après… ou un jour quelconque… je pourrai donc le tenir sous mes poings, et l’écraser contre le sol !
TEST: Est-ce que les chiens, quelquefois, ne mordent point et n’étranglent pas leurs maîtres ?
TEST: 18 août. — J’ai songé toute la journée. Oh ! oui, je vais lui obéir, suivre ses impulsions, accomplir toutes ses volontés, me faire humble, soumis, lâche. Il est le plus fort. Mais une heure viendra…
TEST: 19 août. — Je sais… je sais… je sais tout !
TEST: Je viens de lire ceci dans la Revue du Monde scientifique : « Une nouvelle assez curieuse nous arrive de Rio de Janeiro. Une folie, une épidémie de folie, comparable aux démences contagieuses qui atteignirent les peuples d’Europe au Moyen Âge, sévit en ce moment dans la province de San-Paulo.
TEST: Les habitants éperdus quittent leurs maisons, désertent leurs villages, abandonnent leurs cultures, se disant poursuivis, possédés, gouvernés comme un bétail humain par des êtres invisibles bien que tangibles, des sortes de vampires qui se nourrissent de leur vie, pendant leur sommeil, et qui boivent en outre de l’eau et du lait sans paraître toucher à aucun autre aliment.
TODO: « M. le professeur Don Pedro Henriquez, accompagné de plusieurs savants médecins, est parti pour la province de San-Paulo, afin d’étudier sur place les origines et les manifestations de cette surprenante folie, et de proposer à l’Empereur les mesures qui lui paraîtront le plus {{propres}} à rappeler à la raison ces populations en délire. »
TEST: Ah ! Ah ! je me rappelle, je me rappelle le beau trois-mâts brésilien qui passa sous mes fenêtres en remontant la Seine, le 8 mai dernier !
TEST: Je le trouvai si joli, si blanc, si gai ! L’Être était dessus, venant de là-bas, où sa race est née ! Et il m’a vu ! Il a vu ma demeure blanche aussi ; et il a sauté du navire sur la rive. Oh ! mon Dieu !
TEST: À présent, je sais, je devine. Le règne de l’homme est fini.
TEST: Il est venu, Celui que redoutaient les premières terreurs des peuples naïfs, Celui qu’exorcisaient les prêtres inquiets, que les sorciers évoquaient par les nuits sombres, sans le voir apparaître encore, à qui les pressentiments des maîtres passagers du monde prêtèrent toutes les formes monstrueuses ou gracieuses des gnomes, des esprits, des génies, des fées, des farfadets.
TEST: Après les grossières conceptions de l’épouvante primitive, des hommes plus perspicaces l’ont pressenti plus clairement.
TEST: Mesmer l’avait deviné, et les médecins, depuis dix ans déjà, ont découvert, d’une façon précise, la nature de sa puissance avant qu’il l’eût exercée lui-même.
TEST: Ils ont joué avec cette arme du Seigneur nouveau, la domination d’un mystérieux vouloir sur l’âme humaine devenue esclave. Ils ont appelé cela magnétisme, hypnotisme, suggestion… que sais-je ?
TEST: Je les ai vus s’amuser comme des enfants imprudents avec cette horrible puissance !
TEST: Malheur à nous ! Malheur à l’homme ! Il est venu, le… le… comment se nomme-t-il… le… il me semble qu’il me crie son nom, et je ne l’entends pas… le… oui… il le crie…
TEST: J’écoute… je ne peux pas… répète… le… Horla… J’ai entendu… le Horla… c’est lui… le Horla… il est venu !…
TEST: Ah ! le vautour a mangé la colombe, le loup a mangé le mouton ; le lion a dévoré le buffle aux cornes aiguës ; l’homme a tué le lion avec la flèche, avec le glaive, avec la poudre ; mais le Horla va faire de l’homme ce que nous avons fait du cheval et du bœuf : sa chose, son serviteur et sa nourriture, par la seule puissance de sa volonté. Malheur à nous !
TEST: Pourtant, l’animal, quelquefois, se révolte et tue celui qui l’a dompté… moi aussi je veux… je pourrai… mais il faut le connaître, le toucher, le voir !
TEST: Les savants disent que l’œil de la bête, différent du nôtre, ne distingue point comme le nôtre… Et mon œil à moi ne peut distinguer le nouveau venu qui m’opprime.
TEST: Pourquoi ? Oh ! je me rappelle à présent les paroles du moine du mont Saint-Michel : « Est-ce que nous voyons la cent-millième partie de ce qui existe ? Tenez, voici le vent qui est la plus grande force de la nature, qui renverse les hommes, abat les édifices, déracine les arbres, soulève la mer en montagnes d’eau, détruit les falaises et jette aux brisants les grands navires, le vent qui tue, qui siffle, qui gémit, qui mugit, l’avez-vous vu et pouvez-vous le voir : il existe pourtant ! »
TEST: Et je songeais encore : mon œil est si faible, si imparfait, qu’il ne distingue même point les corps durs, s’ils sont transparents comme le verre !…
TEST: Qu’une glace sans tain barre mon chemin, il me jette dessus comme l’oiseau entré dans une chambre se casse la tête aux vitres. Mille choses en outre le trompent et l’égarent ?
TEST: Quoi d’étonnant, alors, à ce qu’il ne sache point apercevoir un corps nouveau que la lumière traverse.
TEST: Un être nouveau ! pourquoi pas ? Il devait venir assurément ! pourquoi serions-nous les derniers ! Nous ne le distinguons point, ainsi que tous les autres créés avant nous ?
TEST: C’est que sa nature est plus parfaite, son corps plus fin et plus fini que le nôtre, que le nôtre si faible, si maladroitement conçu, encombré d’organes toujours fatigués, toujours forcés comme des ressorts trop complexes, que le nôtre, qui vit comme une plante et comme une bête, en se nourrissant péniblement d’air, d’herbe et de viande, machine animale en proie aux maladies, aux déformations, aux putréfactions, poussive, mal réglée, naïve et bizarre, ingénieusement mal faite, œuvre grossière et délicate, ébauche d’être qui pourrait devenir intelligent et superbe.
TEST: Nous sommes quelques-uns, si peu sur ce monde, depuis l’huître jusqu’à l’homme. Pourquoi pas un de plus, une fois accomplie la période qui sépare les apparitions successives de toutes les espèces diverses ?
TEST: Pourquoi pas un de plus ? Pourquoi pas aussi d’autres arbres aux fleurs immenses, éclatantes et parfumant des régions entières ?
TEST: Pourquoi pas d’autres éléments que le feu, l’air, la terre et l’eau ? — Ils sont quatre, rien que quatre, ces pères nourriciers des êtres !
TEST: Quelle pitié ! Pourquoi ne sont-ils pas quarante, quatre cents, quatre mille !
TEST: Comme tout est pauvre, mesquin, misérable ! avarement donné, sèchement inventé, lourdement fait ! Ah ! l’éléphant, l’hippopotame, que de grâce ! Le chameau, que d’élégance !
TEST: Mais direz-vous, le papillon ! une fleur qui vole ! J’en rêve un qui serait grand comme cent univers, avec des ailes dont je ne puis même exprimer la forme, la beauté, la couleur et le mouvement. Mais je le vois… il va d’étoile en étoile, les rafraîchissant et les embaumant au souffle harmonieux et léger de sa course !… Et les peuples de là-haut le regardent passer, extasiés et ravis !…
TEST: Qu’ai-je donc ? C’est lui, lui, le Horla, qui me hante, qui me fait penser ces folies ! Il est en moi, il devient mon âme ; je le tuerai !
TEST: 19 août. — Je le tuerai. Je l’ai vu ! je me suis assis hier soir, à ma table ; et je fis semblant d’écrire avec une grande attention. Je savais bien qu’il viendrait rôder autour de moi, tout près, si près que je pourrais peut-être le toucher, le saisir ?
TEST: Et alors !… alors, j’aurais la force des désespérés ; j’aurais mes mains, mes genoux, ma poitrine, mon front, mes dents pour l’étrangler, l’écraser, le mordre, le déchirer.
TEST: Et je le guettais avec tous mes organes surexcités.
TEST: J’avais allumé mes deux lampes et les huit bougies de ma cheminée, comme si j’eusse pu, dans cette clarté, le découvrir.
TEST: En face de moi, mon lit, un vieux lit de chêne à colonnes ; à droite, ma cheminée ; à gauche, ma porte fermée avec soin, après l’avoir laissée longtemps ouverte, afin de l’attirer ; derrière moi, une très haute armoire à glace, qui me servait chaque jour pour me raser, pour m’habiller, et où j’avais coutume de me regarder, de la tête aux pieds, chaque fois que je passais devant.
TEST: Donc, je faisais semblant d’écrire, pour le tromper, car il m’épiait lui aussi ; et soudain, je sentis, je fus certain qu’il lisait par-dessus mon épaule, qu’il était là, frôlant mon oreille.
TEST: Je me dressai, les mains tendues, en me tournant si vite que je faillis tomber.
TEST: Eh ! bien ?… on y voyait comme en plein jour, et je ne me vis pas dans ma glace !… Elle était vide, claire, profonde, pleine de lumière ! Mon image n’était pas dedans… et j’étais en face, moi !
TEST: Je voyais le grand verre limpide du haut en bas. Et je regardais cela avec des yeux affolés ; et je n’osais plus avancer, je n’osais plus faire un mouvement, sentant bien pourtant qu’il était là, mais qu’il m’échapperait encore, lui dont le corps imperceptible avait dévoré mon reflet.
TEST: Comme j’eus peur ! Puis voilà que tout à coup je commençai à m’apercevoir dans une brume, au fond du miroir, dans une brume comme à travers une nappe d’eau ; et il me semblait que cette eau glissait de gauche à droite, lentement, rendant plus précise mon image, de seconde en seconde. C’était comme la fin d’une éclipse.
TEST: Ce qui me cachait ne paraissait point posséder de contours nettement arrêtés, mais une sorte de transparence opaque, s’éclaircissant peu à peu.
TEST: Je pus enfin me distinguer complètement, ainsi que je le fais chaque jour en me regardant.
TEST: Je l’avais vu ! L’épouvante m’en est restée, qui me fait encore frissonner.
TEST: 20 août. — Le tuer, comment ? puisque je ne peux l’atteindre ? Le poison ? mais il me verrait le mêler à l’eau ; et nos poisons, d’ailleurs, auraient-ils un effet sur son corps imperceptible ?
TEST: Non… non… sans aucun doute… Alors ?… alors ?…
TEST: 21 août. — J’ai fait venir un serrurier de Rouen, et lui ai commandé pour ma chambre des persiennes de fer, comme en ont, à Paris, certains hôtels particuliers, au rez-de-chaussée, par crainte des voleurs.
TEST: Il me fera, en outre, une porte pareille. Je me suis donné pour un poltron, mais je m’en moque !…
TEST: 10 septembre. — Rouen, hôtel continental. C’est fait… c’est fait… mais est-il mort ? J’ai l’âme bouleversée de ce que j’ai vu.
TEST: Hier donc, le serrurier ayant posé ma persienne et ma porte de fer, j’ai laissé tout ouvert jusqu’à minuit, bien qu’il commençât à faire froid.
TEST: Tout à coup, j’ai senti qu’il était là, et une joie, une joie folle m’a saisi.
TEST: Je me suis levé lentement, et j’ai marché à droite, à gauche, longtemps pour qu’il ne devinât rien ; puis j’ai ôté mes bottines et mis mes savates avec négligence ; puis j’ai fermé ma persienne de fer, et revenant à pas tranquilles vers la porte, j’ai fermé la porte aussi à double tour.
TEST: Retournant alors vers la fenêtre, je la fixai par un cadenas, dont je mis la clef dans ma poche.
TEST: Tout à coup, je compris qu’il s’agitait autour de moi, qu’il avait peur à son tour, qu’il m’ordonnait de lui ouvrir.
TEST: Je faillis céder ; je ne cédai pas, mais m’adossant à la porte, je l’entre-bâillai, tout juste assez pour passer, moi, à reculons ; et comme je suis très grand ma tête touchait au linteau.
TEST: J’étais sûr qu’il n’avait pu s’échapper et je l’enfermai, tout seul, tout seul ! Quelle joie ! Je le tenais !
TEST: Alors, je descendis, en courant ; je pris dans mon salon, sous ma chambre, mes deux lampes et je renversai toute l’huile sur le tapis, sur les meubles, partout ; puis j’y mis le feu, et je me sauvai, après avoir bien refermé, à double tour, la grande porte d’entrée.
TEST: Et j’allai me cacher au fond de mon jardin, dans un massif de lauriers. Comme ce fut long ! comme ce fut long !
TODO: Tout était noir, muet, immobile ; pas un souffle d’air, pas une étoile, des montagnes de nuages qu’on ne voyait point, mais qui pesaient sur mon âme si {{lourds}}, si lourds.
TEST: Je regardais ma maison, et j’attendais. Comme ce fut long !
TEST: Je croyais déjà que le feu s’était éteint tout seul, ou qu’il l’avait éteint, Lui, quand une des fenêtres d’en bas creva sous la poussée de l’incendie, et une flamme, une grande flamme rouge et jaune, longue, molle, caressante, monta le long du mur blanc et le baisa jusqu’au toit.
TEST: Une lueur courut dans les arbres, dans les branches, dans les feuilles, et un frisson, un frisson de peur aussi !
TEST: Les oiseaux se réveillaient ; un chien se mit à hurler ; il me sembla que le jour se levait !
TEST: Deux autres fenêtres éclatèrent aussitôt, et je vis que tout le bas de ma demeure n’était plus qu’un effrayant brasier.
TEST: Mais un cri, un cri horrible, suraigu, déchirant, un cri de femme passa dans la nuit, et deux mansardes s’ouvrirent !
TEST: J’avais oublié mes domestiques ! Je vis leurs faces affolées, et leurs bras qui s’agitaient !…
TEST: Alors, éperdu d’horreur, je me mis à courir vers le village en hurlant : « Au secours ! au secours ! au feu ! au feu ! » Je rencontrai des gens qui s’en venaient déjà et je retournai avec eux, pour voir !
TEST: La maison, maintenant, n’était plus qu’un bûcher horrible et magnifique, un bûcher monstrueux, éclairant toute la terre, un bûcher où brûlaient des hommes, et où il brûlait aussi, Lui, Lui, mon prisonnier, l’Être nouveau, le nouveau maître, le Horla !
TEST: Soudain le toit tout entier s’engloutit entre les murs, et un volcan de flammes jaillit jusqu’au ciel.
TEST: Par toutes les fenêtres ouvertes sur la fournaise, je voyais la cuve de feu, et je pensais qu’il était là, dans ce four, mort…
TEST: — Mort ? Peut-être ?… Son corps ? son corps que le jour traversait n’était-il pas indestructible par les moyens qui tuent les nôtres ?
TEST: S’il n’était pas mort ?… seul peut-être le temps a prise sur l’Être Invisible et Redoutable.
TEST: Pourquoi ce corps transparent, ce corps inconnaissable, ce corps d’Esprit, s’il devait craindre, lui aussi, les maux, les blessures, les infirmités, la destruction prématurée ?
TEST: La destruction prématurée ? toute l’épouvante humaine vient d’elle !
TEST: Après l’homme le Horla. — Après celui qui peut mourir tous les jours, à toutes les heures, à toutes les minutes, par tous les accidents, est venu celui qui ne doit mourir qu’à son jour, à son heure, à sa minute, parce qu’il a touché la limite de son existence !
TEST: Non… non… sans aucun doute, sans aucun doute… il n’est pas mort… Alors… alors… il va donc falloir que je me tue, moi !…
# FIN DU HORLA


!!! Double assassinat dans la rue morgue, d’Edgar Poe                                               
# Texte tiré de Wikisource
# Les paragraphes ont été découpés pour réduire la longueur des tests.
TEST: DOUBLE ASSASSINAT DANS LA RUE MORGUE — Edgar Poe
TEST: Quelle chanson chantaient les sirènes ? quel nom Achille avait-il pris, quand il se cachait parmi les femmes ? – Questions embarrassantes, il est vrai, mais qui ne sont pas situées au-delà de toute conjecture.
TEST: Sir Thomas Browne.
TODO: Les facultés de l’esprit qu’on définit par le terme {{analytiques}} sont en elles-mêmes fort peu susceptibles d’analyse.
TEST: Nous ne les apprécions que par leurs résultats. Ce que nous en savons, entre autres choses, c’est qu’elles sont pour celui qui les possède à un degré extraordinaire une source de jouissances des plus vives.
TEST: De même que l’homme fort se réjouit dans son aptitude physique, se complaît dans les exercices qui provoquent les muscles à l’action, de même l’analyse prend sa gloire dans cette activité spirituelle dont la fonction est de débrouiller.
TEST: Il tire du plaisir même des plus triviales occasions qui mettent ses talents en jeu.
TEST: Il raffole des énigmes, des rébus, des hiéroglyphes ; il déploie dans chacune des solutions une puissance de perspicacité qui, dans l’opinion vulgaire, prend un caractère surnaturel.
TEST: Les résultats, habilement déduits par l’âme même et l’essence de sa méthode, ont réellement tout l’air d’une intuition.
TEST: Cette faculté de résolution tire peut-être une grande force de l’étude des mathématiques, et particulièrement de la très-haute branche de cette science, qui, fort improprement et simplement en raison de ses opérations rétrogrades, a été nommée l’analyse, comme si elle était l’analyse par excellence.
TEST: Car, en somme, tout calcul n’est pas en soi une analyse. Un joueur d’échecs, par exemple, fait fort bien l’un sans l’autre.
TEST: Il suit de là que le jeu d’échecs, dans ses effets sur la nature spirituelle, est fort mal apprécié.
TEST: Je ne veux pas écrire ici un traité de l’analyse, mais simplement mettre en tête d’un récit passablement singulier, quelques observations jetées tout à fait à l’abandon et qui lui serviront de préface.
TEST: Je prends donc cette occasion de proclamer que la haute puissance de la réflexion est bien plus activement et plus profitablement exploitée par le modeste jeu de dames que par toute la laborieuse futilité des échecs.
TEST: Dans ce dernier jeu, où les pièces sont douées de mouvements divers et bizarres, et représentent des valeurs diverses et variées, la complexité est prise – erreur fort commune – pour de la profondeur.
TEST: L’attention y est puissamment mise en jeu. Si elle se relâche d’un instant, on commet une erreur, d’où il résulte une perte ou une défaite.
TEST: Comme les mouvements possibles sont, non-seulement variés, mais inégaux en puissance, les chances de pareilles erreurs sont très-multipliées ; et dans neuf cas sur dix, c’est le joueur le plus attentif qui gagne et non pas le plus habile.
TEST: Dans les dames, au contraire, où le mouvement est simple dans son espèce et ne subit que peu de variations, les probabilités d’inadvertance sont beaucoup moindres, et l’attention n’étant pas absolument et entièrement accaparée, tous les avantages remportés par chacun des joueurs ne peuvent être remportés que par une perspicacité supérieure.
TEST: Pour laisser là ces abstractions, supposons un jeu de dames où la totalité des pièces soit réduite à quatre dames, et où naturellement il n’y ait pas lieu de s’attendre à des étourderies.
TEST: Il est évident qu’ici la victoire ne peut être décidée, – les deux parties étant absolument égales, – que par une tactique habile, résultat de quelque puissant effort de l’intellect.
TEST: Privé des ressources ordinaires, l’analyste entre dans l’esprit de son adversaire, s’identifie avec lui, et souvent découvre d’un seul coup d’œil l’unique moyen – un moyen quelquefois absurdement simple – de l’attirer dans une faute ou de le précipiter dans un faux calcul.
TEST: On a longtemps cité le whist pour son action sur la faculté du calcul ; et on a connu des hommes d’une haute intelligence qui semblaient y prendre un plaisir incompréhensible et dédaigner les échecs comme un jeu frivole.
TEST: En effet, il n’y a aucun jeu analogue qui fasse plus travailler la faculté de l’analyse.
TEST: Le meilleur joueur d’échecs de la chrétienté ne peut guère être autre chose que le meilleur joueur d’échecs ; mais la force au whist implique la puissance de réussir dans toutes les spéculations bien autrement importantes où l’esprit lutte avec l’esprit.
TEST: Quand je dis la force, j’entends cette perfection dans le jeu qui comprend l’intelligence de tous les cas dont on peut légitimement faire son profit.
TEST: Ils sont non-seulement divers, mais complexes, et se dérobent souvent dans des profondeurs de la pensée absolument inaccessibles à une intelligence ordinaire.
TEST: Observer attentivement, c’est se rappeler distinctement ; et, à ce point de vue, le joueur d’échecs capable d’une attention très-intense jouera fort bien au whist, puisque les règles de Hoyle, basées elles-mêmes sur le simple mécanisme du jeu, sont facilement et généralement intelligibles.
TEST: Aussi, avoir une mémoire fidèle et procéder d’après le livre sont des points qui constituent pour le vulgaire le summum du bien jouer.
TEST: Mais c’est dans les cas situés au-delà de la règle que le talent de l’analyste se manifeste ; il fait en silence une foule d’observations et de déductions.
TEST: Ses partenaires en font peut-être autant ; et la différence d’étendue dans les renseignements ainsi acquis ne gît pas tant dans la validité de la déduction que dans la qualité de l’observation.
TEST: L’important, le principal est de savoir ce qu’il faut observer.
TEST: Notre joueur ne se confine pas dans son jeu, et, bien que ce jeu soit l’objet actuel de son attention, il ne rejette pas pour cela les déductions qui naissent d’objets étrangers au jeu.
TEST: Il examine la physionomie de son partenaire, il la compare soigneusement avec celle de chacun de ses adversaires.
TEST: Il considère la manière dont chaque partenaire distribue ses cartes ; il compte souvent, grâce aux regards que laissent échapper les joueurs satisfaits, les atouts et les honneurs, un à un.
TEST: Il note chaque mouvement de la physionomie, à mesure que le jeu marche, et recueille un capital de pensées dans les expressions variées de certitude, de surprise, de triomphe ou de mauvaise humeur.
TEST: À la manière de ramasser une levée, il devine si la même personne en peut faire une autre dans la suite.
TEST: Il reconnaît ce qui est joué par feinte à l’air dont c’est jeté sur la table.
TEST: Une parole accidentelle, involontaire, une carte qui tombe, ou qu’on retourne par hasard, qu’on ramasse avec anxiété ou avec insouciance ; le compte des levées et l’ordre dans lequel elles sont rangées ; l’embarras, l’hésitation, la vivacité, la trépidation, – tout est pour lui symptôme, diagnostic, tout rend compte à cette perception, – intuitive en apparence, – du véritable état des choses.
TEST: Quand les deux ou trois premiers tours ont été faits, il possède à fond le jeu qui est dans chaque main, et peut dès lors jouer ses cartes en parfaite connaissance de cause, comme si tous les autres joueurs avaient retourné les leurs.
TEST: La faculté d’analyse ne doit pas être confondue avec la simple ingéniosité ; car, pendant que l’analyste est nécessairement ingénieux, il arrive souvent que l’homme ingénieux est absolument incapable d’analyse.
TEST: La faculté de combinaison, ou constructivité, par laquelle se manifeste généralement cette ingéniosité, et à laquelle les phrénologues – ils ont tort, selon moi, – assignent un organe à part, – en supposant qu’elle soit une faculté primordiale, a paru dans des êtres dont l’intelligence était limitrophe de l’idiotie, assez souvent pour attirer l’attention générale des écrivains psychologistes.
TEST: Entre l’ingéniosité et l’aptitude analytique, il y a une différence beaucoup plus grande qu’entre l’imaginative et l’imagination, mais d’un caractère rigoureusement analogue.
TEST: En somme, on verra que l’homme ingénieux est toujours plein d’imaginative, et que l’homme vraiment imaginatif n’est jamais autre chose qu’un analyste.
TEST: Le récit qui suit sera pour le lecteur un commentaire lumineux des propositions que je viens d’avancer.
TODO: Je demeurais à Paris, – pendant le printemps et une partie de l’été de 18{{..}}, – et j’y fis la connaissance d’un certain C. Auguste Dupin.
TEST: Ce jeune gentleman appartenait à une excellente famille, une famille illustre même ; mais, par une série d’événements malencontreux, il se trouva réduit à une telle pauvreté, que l’énergie de son caractère y succomba, et qu’il cessa de se pousser dans le monde et de s’occuper du rétablissement de sa fortune.
TEST: Grâce à la courtoisie de ses créanciers, il resta en possession d’un petit reliquat de son patrimoine ; et, sur la rente qu’il en tirait, il trouva moyen, par une économie rigoureuse, de subvenir aux nécessités de la vie, sans s’inquiéter autrement des superfluités.
TEST: Les livres étaient véritablement son seul luxe, et à Paris on se les procure facilement.
TEST: Notre première connaissance se fit dans un obscur cabinet de lecture de la rue Montmartre, par ce fait fortuit que nous étions tous deux à la recherche d’un même livre, fort remarquable et fort rare ; cette coïncidence nous rapprocha. Nous nous vîmes toujours de plus en plus.
TEST: Je fus profondément intéressé par sa petite histoire de famille, qu’il me raconta minutieusement avec cette candeur et cet abandon, – ce sans-façon du moi, – qui est le propre de tout Français quand il parle de ses propres affaires.
TEST: Je fus aussi fort étonné de la prodigieuse étendue de ses lectures, et par-dessus tout je me sentis l’âme prise par l’étrange chaleur et la vitale fraîcheur de son imagination.
TEST: Cherchant dans Paris certains objets qui faisaient mon unique étude, je vis que la société d’un pareil homme serait pour moi un trésor inappréciable, et dès lors je me livrai franchement à lui.
TEST: Nous décidâmes enfin que nous vivrions ensemble tout le temps de mon séjour dans cette ville ; et, comme mes affaires étaient un peu moins embarrassées que les siennes, je me chargeai de louer et de meubler, dans un style approprié à la mélancolie fantasque de nos deux caractères, une maisonnette antique et bizarre que des superstitions dont nous ne daignâmes pas nous enquérir avaient fait déserter, – tombant presque en ruine, et située dans une partie reculée et solitaire du faubourg Saint-Germain.
TEST: Si la routine de notre vie dans ce lieu avait été connue du monde, nous eussions passé pour deux fous, – peut-être pour des fous d’un genre inoffensif. Notre réclusion était complète ; nous ne recevions aucune visite.
TEST: Le lieu de notre retraite était resté un secret – soigneusement gardé – pour mes anciens camarades ; il y avait plusieurs années que Dupin avait cessé de voir du monde et de se répandre dans Paris. Nous ne vivions qu’entre nous.
TEST: Mon ami avait une bizarrerie d’humeur, – car comment définir cela ? – c’était d’aimer la nuit pour l’amour de la nuit ; la nuit était sa passion ; et je tombai moi-même tranquillement dans cette bizarrerie, comme dans toutes les autres qui lui étaient propres, me laissant aller au courant de toutes ses étranges originalités avec un parfait abandon.
TEST: La noire divinité ne pouvait pas toujours demeurer avec nous ; mais nous en faisions la contrefaçon.
TEST: Au premier point du jour, nous fermions tous les lourds volets de notre masure, nous allumions une couple de bougies fortement parfumées, qui ne jetaient que des rayons très-faibles et très-pâles.
TEST: Au sein de cette débile clarté, nous livrions chacun notre âme à ses rêves, nous lisions, nous écrivions, ou nous causions, jusqu’à ce que la pendule nous avertît du retour de la véritable obscurité.
TEST: Alors, nous nous échappions à travers les rues, bras dessus bras dessous, continuant la conversation du jour, rôdant au hasard jusqu’à une heure très-avancée, et cherchant à travers les lumières désordonnées et les ténèbres de la populeuse cité ces innombrables excitations spirituelles que l’étude paisible ne peut pas donner.
TEST: Dans ces circonstances, je ne pouvais m’empêcher de remarquer et d’admirer, – quoique la riche idéalité dont il était doué eût dû m’y préparer, – une aptitude analytique particulière chez Dupin.
TEST: Il semblait prendre un délice âcre à l’exercer, – peut-être même à l’étaler, – et avouait sans façon tout le plaisir qu’il en tirait.
TEST: Il me disait à moi, avec un petit rire tout épanoui, que bien des hommes avaient pour lui une fenêtre ouverte à l’endroit de leur cœur, et d’habitude il accompagnait une pareille assertion de preuves immédiates et des plus surprenantes, tirées d’une connaissance profonde de ma propre personne.
TEST: Dans ces moments-là, ses manières étaient glaciales et distraites ; ses yeux regardaient dans le vide, et sa voix, – une riche voix de ténor, habituellement, – montait jusqu’à la voix de tête ; c’eût été de la pétulance, sans l’absolue délibération de son parler et la parfaite certitude de son accentuation.
TEST: Je l’observais dans ses allures, et je rêvais souvent à la vieille philosophie de l’âme double, – je m’amusais à l’idée d’un Dupin double, – un Dupin créateur et un Dupin analyste.
TEST: Qu’on ne s’imagine pas, d’après ce que je viens de dire, que je vais dévoiler un grand mystère ou écrire un roman.
TEST: Ce que j’ai remarqué dans ce singulier Français était simplement le résultat d’une intelligence surexcitée, – malade peut-être.
TEST: Mais un exemple donnera une meilleure idée de la nature de ses observations à l’époque dont il s’agit.
TEST: Une nuit, nous flânions dans une longue rue sale, avoisinant le Palais-Royal.
TEST: Nous étions plongés chacun dans nos propres pensées, en apparence du moins, et, depuis près d’un quart d’heure, nous n’avions pas soufflé une syllabe. Tout à coup Dupin lâcha ces paroles :
TEST: — C’est un bien petit garçon, en vérité ; et il serait mieux à sa place au théâtre des Variétés.
TEST: — Cela ne fait pas l’ombre d’un doute, répliquai-je sans y penser et sans remarquer d’abord, tant j’étais absorbé, la singulière façon dont l’interrupteur adaptait sa parole à ma propre rêverie.
TEST: Une minute après, je revins à moi, et mon étonnement fut profond.
TEST: — Dupin, dis-je très-gravement, voilà qui passe mon intelligence. Je vous avoue, sans ambages, que j’en suis stupéfié et que j’en peux à peine croire mes sens.
TEST: Comment a-t-il pu se faire que vous ayez deviné que je pensais à… ?
TEST: Mais je m’arrêtai pour m’assurer indubitablement qu’il avait réellement deviné à qui je pensais.
TEST: — À Chantilly ? dit-il ; pourquoi vous interrompre ? Vous faisiez en vous-même la remarque que sa petite taille le rendait impropre à la tragédie.
TEST: C’était précisément ce qui faisait le sujet de mes réflexions.
TEST: Chantilly était un ex-savetier de la rue Saint-Denis qui avait la rage du théâtre, et avait abordé le rôle de Xerxès dans la tragédie de Crébillon ; ses prétentions étaient dérisoires : on en faisait des gorges chaudes.
TEST: — Dites-moi, pour l’amour de Dieu ! la méthode – si méthode il y a – à l’aide de laquelle vous avez pu pénétrer mon âme, dans le cas actuel !
TEST: En réalité, j’étais encore plus étonné que je n’aurais voulu le confesser.
TEST: — C’est le fruitier, répliqua mon ami, qui vous a amené à cette conclusion que le raccommodeur de semelles n’était pas de taille à jouer Xerxès et tous les rôles de ce genre.
TEST: — Le fruitier ! vous m’étonnez ! je ne connais de fruitier d’aucune espèce.
TEST: — L’homme qui s’est jeté contre vous, quand nous sommes entrés dans la rue, il y a peut-être un quart d’heure.
TEST: Je me rappelai alors qu’en effet un fruitier, portant sur sa tête un grand panier de pommes, m’avait presque jeté par terre par maladresse, comme nous passions de la rue C… dans l’artère principale où nous étions alors.
TEST: Mais quel rapport cela avait-il avec Chantilly ? Il m’était impossible de m’en rendre compte.
TEST: Il n’y avait pas un atome de charlatanerie dans mon ami Dupin.
TEST: — Je vais vous expliquer cela, dit-il, et, pour que vous puissiez comprendre tout très-clairement, nous allons d’abord reprendre la série de vos réflexions, depuis le moment dont je vous parle jusqu’à la rencontre du fruitier en question.
TEST: Les anneaux principaux de la chaîne se suivent ainsi : Chantilly, Orion, le docteur Nichols, Épicure, la stéréotomie, les pavés, le fruitier.
TEST: Il est peu de personnes qui ne se soient amusées, à un moment quelconque de leur vie, à remonter le cours de leurs idées et à rechercher par quels chemins leur esprit était arrivé à de certaines conclusions.
TEST: Souvent cette occupation est pleine d’intérêt, et celui qui l’essaye pour la première fois est étonné de l’incohérence et de la distance, immense en apparence, entre le point de départ et le point d’arrivée.
TEST: Qu’on juge donc de mon étonnement quand j’entendis mon Français parler comme il avait fait, et que je fus contraint de reconnaître qu’il avait dit la pure vérité.
TEST: Il continua :
TEST: — Nous causions de chevaux – si ma mémoire ne me trompe pas – juste avant de quitter la rue C… Ce fut notre dernier thème de conversation.
TEST: Comme nous passions dans cette rue-ci, un fruitier, avec un gros panier sur la tête, passa précipitamment devant nous, vous jeta sur un tas de pavés amoncelés dans un endroit où la voie est en réparation.
TEST: Vous avez mis le pied sur une des pierres branlantes ; vous avez glissé, vous vous êtes légèrement foulé la cheville ; vous avez paru vexé, grognon ; vous avez marmotté quelques paroles ; vous vous êtes retourné pour regarder le tas, puis vous avez continué votre chemin en silence.
TEST: Je n’étais pas absolument attentif à tout ce que vous faisiez ; mais, pour moi, l’observation est devenue, de vieille date, une espèce de nécessité.
TEST: » Vos yeux sont restés attachés sur le sol, – surveillant avec une espèce d’irritation les trous et les ornières du pavé (de façon que je voyais bien que vous pensiez toujours aux pierres), jusqu’à ce que nous eussions atteint le petit passage qu’on nomme le passage Lamartine[1], où l’on vient de faire l’essai du pavé de bois, un système de blocs unis et solidement assemblés.
TEST: Ici votre physionomie s’est éclaircie, j’ai vu vos lèvres remuer, et j’ai deviné, à n’en pas douter, que vous vous murmuriez le mot stéréotomie, un terme appliqué fort prétentieusement à ce genre de pavage.
TEST: Je savais que vous ne pouviez pas dire stéréotomie sans être induit à penser aux atomes, et de là aux théories d’Épicure ; et, comme dans la discussion que nous eûmes, il n’y a pas longtemps, à ce sujet, je vous avais fait remarquer que les vagues conjectures de l’illustre Grec avaient été confirmées singulièrement, sans que personne y prît garde, par les dernières théories sur les nébuleuses et les récentes découvertes cosmogoniques, je sentis que vous ne pourriez pas empêcher vos yeux de se tourner vers la grande nébuleuse d’Orion ; je m’y attendais certainement.
TEST: Vous n’y avez pas manqué, et je fus alors certain d’avoir strictement emboîté le pas de votre rêverie.
TEST: Or, dans cette amère boutade sur Chantilly, qui a paru hier dans le Musée, l’écrivain satirique, en faisant des allusions désobligeantes au changement de nom du savetier quand il a chaussé le cothurne, citait un vers latin dont nous avons souvent causé. Je veux parler du vers :
TEST: Perdidit antiquum littera prima sonum.
TEST: Je vous avais dit qu’il avait trait à Orion, qui s’écrivait primitivement Urion ; et, à cause d’une certaine acrimonie mêlée à cette discussion, j’étais sûr que vous ne l’aviez pas oubliée.
TEST: Il était clair, dès lors, que vous ne pouviez pas manquer d’associer les deux idées d’Orion et de Chantilly. Cette association d’idées, je la vis au style du sourire qui traversa vos lèvres.
TEST: Vous pensiez à l’immolation du pauvre savetier. Jusque-là, vous aviez marché courbé en deux, mais alors je vous vis vous redresser de toute votre hauteur.
TEST: J’étais bien sûr que vous pensiez à la pauvre petite taille de Chantilly.
TEST: C’est dans ce moment que j’interrompis vos réflexions pour vous faire remarquer que c’était un pauvre petit avorton que ce Chantilly, et qu’il serait bien mieux à sa place au théâtre des Variétés.
TEST: Peu de temps après cet entretien, nous parcourions l’édition du soir de la Gazette des tribunaux, quand les paragraphes suivants attirèrent notre attention :
TODO: « Double assassinat des plus singuliers. – Ce matin, vers trois heures, les habitants du quartier Saint-Roch furent réveillés par une suite de cris effrayants, qui semblaient venir du quatrième étage d’une maison de la rue Morgue, que l’on savait {{occupée}} en totalité par une dame l’Espanaye et sa fille, mademoiselle Camille l’Espanaye.
TEST: Après quelques retards causés par des efforts infructueux pour se faire ouvrir à l’amiable, la grande porte fut forcée avec une pince, et huit ou dix voisins entrèrent, accompagnés de deux gendarmes.
TEST: » Cependant, les cris avaient cessé ; mais, au moment où tout ce monde arrivait pêle-mêle au premier étage, on distingua deux fortes voix, peut-être plus, qui semblaient se disputer violemment et venir de la partie supérieure de la maison.
TEST: Quand on arriva au second palier, ces bruits avaient également cessé, et tout était parfaitement tranquille.
TEST: Les voisins se répandirent de chambre en chambre.
TEST: Arrivés à une vaste pièce située sur le derrière, au quatrième étage, et dont on força la porte qui était fermée, avec la clef en dedans, ils se trouvèrent en face d’un spectacle qui frappa tous les assistants d’une terreur non moins grande que leur étonnement.
TEST: » La chambre était dans le plus étrange désordre ; les meubles brisés et éparpillés dans tous les sens.
TEST: Il n’y avait qu’un lit, les matelas en avaient été arrachés et jetés au milieu du parquet.
TEST: Sur une chaise, on trouva un rasoir mouillé de sang ; dans l’âtre, trois longues et fortes boucles de cheveux gris, qui semblaient avoir été violemment arrachées avec leurs racines.
TEST: Sur le parquet gisaient quatre napoléons, une boucle d’oreille ornée d’une topaze, trois grandes cuillers d’argent, trois plus petites en métal d’Alger, et deux sacs contenant environ quatre mille francs en or.
TEST: Dans un coin, les tiroirs d’une commode étaient ouverts et avaient sans doute été mis au pillage, bien qu’on y ait trouvé plusieurs articles intacts.
TEST: Un petit coffret de fer fut trouvé sous la literie (non pas sous le bois de lit) ; il était ouvert, avec la clef dans la serrure.
TEST: Il ne contenait que quelques vieilles lettres et d’autres papiers sans importance.
TEST: » On ne trouva aucune trace de madame l’Espanaye ; mais on remarqua une quantité extraordinaire de suie dans le foyer ; on fit une recherche dans la cheminée, et – chose horrible à dire ! – on en tira le corps de la demoiselle, la tête en bas, qui avait été introduit de force et poussé par l’étroite ouverture jusqu’à une distance assez considérable.
TEST: Le corps était tout chaud. En l’examinant, on découvrit de nombreuses excoriations, occasionnées sans doute par la violence avec laquelle il y avait été fourré et qu’il avait fallu employer pour le dégager.
TEST: La figure portait quelques fortes égratignures, et la gorge était stigmatisée par des meurtrissures noires et de profondes traces d’ongles, comme si la mort avait eu lieu par strangulation.
TEST: » Après un examen minutieux de chaque partie de la maison, qui n’amena aucune découverte nouvelle, les voisins s’introduisirent dans une petite cour pavée, située sur le derrière du bâtiment.
TEST: Là gisait le cadavre de la vieille dame, avec la gorge si parfaitement coupée, que, quand on essaya de le relever, la tête se détacha du tronc.
TEST: Le corps, aussi bien que la tête, était terriblement mutilé, et celui-ci à ce point qu’il gardait à peine une apparence humaine.
TEST: » Toute cette affaire resta un horrible mystère, et jusqu’à présent on n’a pas encore découvert, que nous sachions, le moindre fil conducteur. »
TEST: Le numéro suivant portait ces détails additionnels :
TEST: « Le drame de la rue Morgue. – Bon nombre d’individus ont été interrogés relativement à ce terrible et extraordinaire événement, mais rien n’a transpiré qui puisse jeter quelque jour sur l’affaire.
TEST: Nous donnons ci-dessous les dépositions obtenues :
TEST: » Pauline Dubourg, blanchisseuse, dépose qu’elle a connu les deux victimes pendant trois ans, et qu’elle a blanchi pour elles pendant tout ce temps.
TEST: La vieille dame et sa fille semblaient en bonne intelligence, – très-affectueuses l’une envers l’autre. C’étaient de bonnes payes.
TEST: Elle ne peut rien dire relativement à leur genre de vie et à leurs moyens d’existence.
TEST: Elle croit que madame l’Espanaye disait la bonne aventure pour vivre. Cette dame passait pour avoir de l’argent de côté.
TEST: Elle n’a jamais rencontré personne dans la maison, quand elle venait rapporter ou prendre le linge.
TEST: Elle est sûre que ces dames n’avaient aucun domestique à leur service. Il lui a semblé qu’il n’y avait de meubles dans aucune partie de la maison, excepté au quatrième étage.
TEST: » Pierre Moreau, marchand de tabac, dépose qu’il fournissait habituellement madame l’Espanaye, et lui vendait de petites quantités de tabac, quelquefois en poudre.
TEST: Il est né dans le quartier et y a toujours demeuré.
TEST: La défunte et sa fille occupaient depuis plus de six ans la maison où l’on a trouvé leurs cadavres.
TEST: Primitivement elle était habitée par un bijoutier, qui sous-louait les appartements supérieurs à différentes personnes.
TEST: La maison appartenait à madame l’Espanaye. Elle s’était montrée très-mécontente de son locataire, qui endommageait les lieux ; elle était venue habiter sa propre maison, refusant d’en louer une seule partie.
TEST: La bonne dame était en enfance. Le témoin a vu la fille cinq ou six fois dans l’intervalle de ces six années.
TEST: Elles menaient toutes deux une vie excessivement retirée ; elles passaient pour avoir de quoi. Il a entendu dire chez les voisins que madame l’Espanaye disait la bonne aventure ; il ne le croit pas.
TEST: Il n’a jamais vu personne franchir la porte, excepté la vieille dame et sa fille, un commissionnaire une ou deux fois, et un médecin huit ou dix.
TEST: » Plusieurs autres personnes du voisinage déposent dans le même sens.
TEST: On ne cite personne comme ayant fréquenté la maison. On ne sait pas si la dame et sa fille avaient des parents vivants. Les volets des fenêtres de face s’ouvraient rarement.
TEST: Ceux de derrière étaient toujours fermés, excepté aux fenêtres de la grande arrière-pièce du quatrième étage. La maison était une assez bonne maison, pas trop vieille.
TEST: » Isidore Muset, gendarme, dépose qu’il a été mis en réquisition, vers trois heures du matin, et qu’il a trouvé à la grande porte vingt ou trente personnes qui s’efforçaient de pénétrer dans la maison.
TEST: Il l’a forcée avec une baïonnette et non pas avec une pince.
TEST: Il n’a pas eu grand’peine à l’ouvrir, parce qu’elle était à deux battants et n’était verrouillée ni par en haut, ni par en bas.
TEST: Les cris ont continué jusqu’à ce que la porte fût enfoncée, puis ils ont soudainement cessé.
TEST: On eût dit les cris d’une ou de plusieurs personnes en proie aux plus vives douleurs ; des cris très-hauts, très-prolongés, – non pas des cris brefs, ni précipités.
TEST: Le témoin a grimpé l’escalier.
TEST: En arrivant au premier palier, il a entendu deux voix qui se discutaient très-haut et très-aigrement ; – l’une, une voix rude, l’autre beaucoup plus aiguë, une voix très-singulière.
TEST: Il a distingué quelques mots de la première, c’était celle d’un Français. Il est certain que ce n’est pas une voix de femme.
TODO: Il a pu distinguer les mots {{sacré}} et diable. La voix aiguë était celle d’un étranger. Il ne sait pas précisément si c’était une voix d’homme ou de femme.
TEST: Il n’a pu deviner ce qu’elle disait, mais il présume qu’elle parlait espagnol.
TEST: Ce témoin rend compte de l’état de la chambre et des cadavres dans les mêmes termes que nous l’avons fait hier.
TEST: » Henri Duval, un voisin, et orfèvre de son état, dépose qu’il faisait partie du groupe de ceux qui sont entrés les premiers dans la maison. Confirme généralement le témoignage de Muset.
TEST: Aussitôt qu’ils se sont introduits dans la maison, ils ont refermé la porte pour barrer le passage à la foule qui s’amassait considérablement, malgré l’heure plus que matinale.
TEST: La voix aiguë, à en croire le témoin, était une voix d’Italien. À coup sûr, ce n’était pas une voix française.
TEST: Il ne sait pas au juste si c’était une voix de femme ; cependant, cela pourrait bien être.
TEST: Le témoin n’est pas familiarisé avec la langue italienne ; il n’a pu distinguer les paroles, mais il est convaincu d’après l’intonation que l’individu qui parlait était un Italien.
TEST: Le témoin a connu madame l’Espanaye et sa fille.
TEST: Il a fréquemment causé avec elles. Il est certain que la voix aiguë n’était celle d’aucune des victimes.
TEST: » Odenheimer, restaurateur. Ce témoin s’est offert de lui-même. Il ne parle pas français, et on l’a interrogé par le canal d’un interprète.
TEST: Il est né à Amsterdam. Il passait devant la maison au moment des cris. Ils ont duré quelques minutes, dix minutes peut-être. C’étaient des cris prolongés, très-hauts, très-effrayants, – des cris navrants.
TEST: Odenheimer est un de ceux qui ont pénétré dans la maison. Il confirme le témoignage précédent, à l’exception d’un seul point.
TEST: Il est sûr que la voix aiguë était celle d’un homme, – d’un Français. Il n’a pu distinguer les mots articulés.
TEST: On parlait haut et vite, – d’un ton inégal, – et qui exprimait la crainte aussi bien que la colère.
TEST: La voix était âpre, plutôt âpre qu’aiguë. Il ne peut appeler cela précisément une voix aiguë. La grosse voix dit à plusieurs reprises : Sacré, – diable, – et une fois : Mon Dieu !
TEST: » Jules Mignaud, banquier, de la maison Mignaud et fils, rue Deloraine. Il est l’aîné des Mignaud. Madame l’Espanaye avait quelque fortune.
TEST: Il lui avait ouvert un compte dans sa maison, huit ans auparavant, au printemps.
TEST: Elle a souvent déposé chez lui de petites sommes d’argent. Il ne lui a rien délivré jusqu’au troisième jour avant sa mort, où elle est venue lui demander en personne une somme de quatre mille francs. Cette somme lui a été payée en or, et un commis a été chargé de la lui porter chez elle.
TEST: » Adolphe Lebon, commis chez Mignaud et fils, dépose que, le jour en question, vers midi, il a accompagné madame l’Espanaye à son logis, avec les quatre mille francs, en deux sacs.
TEST: Quand la porte s’ouvrit, mademoiselle l’Espanaye parut, et lui prit des mains l’un des deux sacs, pendant que la vieille dame le déchargeait de l’autre.
TEST: Il les salua et partit. Il n’a vu personne dans la rue en ce moment. C’est une rue borgne, très-solitaire.
TEST: » William Bird, tailleur, dépose qu’il est un de ceux qui se sont introduits dans la maison. Il est Anglais. Il a vécu deux ans à Paris. Il est un des premiers qui ont monté l’escalier.
TEST: Il a entendu les voix qui se disputaient. La voix rude était celle d’un Français. Il a pu distinguer quelques mots, mais il ne se les rappelle pas. Il a entendu distinctement sacré et mon Dieu.
TEST: C’était en ce moment un bruit comme de plusieurs personnes qui se battent, – le tapage d’une lutte et d’objets qu’on brise. La voix aiguë était très-forte, plus forte que la voix rude.
TEST: Il est sûr que ce n’était pas une voix d’Anglais. Elle lui sembla une voix d’Allemand ; peut-être bien une voix de femme. Le témoin ne sait pas l’allemand.
TEST: » Quatre des témoins ci-dessus mentionnés ont été assignés de nouveau, et ont déposé que la porte de la chambre où fut trouvé le corps de mademoiselle l’Espanaye était fermée en dedans quand ils y arrivèrent.
TEST: Tout était parfaitement silencieux ; ni gémissements, ni bruits d’aucune espèce. Après avoir forcé la porte, ils ne virent personne.
TEST: » Les fenêtres, dans la chambre de derrière et dans celle de face, étaient fermées et solidement assujetties en dedans. Une porte de communication était fermée, mais pas à clef.
TEST: La porte qui conduit de la chambre du devant au corridor était fermée à clef, et la clef en dedans ; une petite pièce sur le devant de la maison, au quatrième étage, à l’entrée du corridor, ouverte, et la porte entre-bâillée ; cette pièce, encombrée de vieux bois de lit, de malles, etc.
TEST: On a soigneusement dérangé et visité tous ces objets.
TEST: Il n’y a pas un pouce d’une partie quelconque de la maison qui n’ait été soigneusement visité. On a fait pénétrer des ramoneurs dans les cheminées. La maison est à quatre étages avec des mansardes.
TEST: Une trappe qui donne sur le toit était condamnée et solidement fermée avec des clous ; elle ne semblait pas avoir été ouverte depuis des années.
TEST: Les témoins varient sur la durée du temps écoulé entre le moment où l’on a entendu les voix qui se disputaient et celui où l’on a forcé la porte de la chambre.
TEST: Quelques-uns l’évaluent trop court, deux ou trois minutes, – d’autres, cinq minutes. La porte ne fut ouverte qu’à grand’peine.
TEST: » Alfonso Garcio, entrepreneur des pompes funèbres, dépose qu’il demeure rue Morgue.
TEST: Il est né en Espagne. Il est un de ceux qui ont pénétré dans la maison. Il n’a pas monté l’escalier. Il a les nerfs très-délicats, et redoute les conséquences d’une violente agitation nerveuse.
TEST: Il a entendu les voix qui se disputaient. La grosse voix était celle d’un Français.
TEST: Il n’a pu distinguer ce qu’elle disait. La voix aiguë était celle d’un Anglais, il en est bien sûr. Le témoin ne sait pas l’anglais, mais il juge d’après l’intonation.
TEST: » Alberto Montani, confiseur, dépose qu’il fut des premiers qui montèrent l’escalier. Il a entendu les voix en question.
TEST: La voix rauque était celle d’un Français. Il a distingué quelques mots. L’individu qui parlait semblait faire des remontrances.
TEST: Il n’a pas pu deviner ce que disait la voix aiguë. Elle parlait vite et par saccades. Il l’a prise pour la voix d’un Russe.
TEST: Il confirme en général les témoignages précédents. Il est Italien ; il avoue qu’il n’a jamais causé avec un Russe.
TEST: » Quelques témoins, rappelés, certifient que les cheminées dans toutes les chambres, au quatrième étage, sont trop étroites pour livrer passage à un être humain.
TEST: Quand ils ont parlé de ramonage, ils voulaient parler de ces brosses en forme de cylindres dont on se sert pour nettoyer les cheminées.
TEST: On a fait passer ces brosses du haut au bas dans tous les tuyaux de la maison. Il n’y a sur le derrière aucun passage qui ait pu favoriser la fuite d’un assassin, pendant que les témoins montaient l’escalier.
TEST: Le corps de mademoiselle l’Espanaye était si solidement engagé dans la cheminée, qu’il a fallu, pour le retirer, que quatre ou cinq des témoins réunissent leurs forces.
TEST: » Paul Dumas, médecin, dépose qu’il a été appelé au point du jour pour examiner les cadavres. Ils gisaient tous les deux sur le fond de sangle du lit dans la chambre où avait été trouvée mademoiselle l’Espanaye.
TEST: Le corps de la jeune dame était fortement meurtri et excorié. Ces particularités s’expliquent suffisamment par le fait de son introduction dans la cheminée.
TEST: La gorge était singulièrement écorchée. Il y avait, juste au-dessous du menton, plusieurs égratignures profondes, avec une rangée de taches livides, résultant évidemment de la pression des doigts.
TEST: La face était affreusement décolorée, et les globes des yeux sortaient de la tête. La langue était coupée à moitié.
TEST: Une large meurtrissure se manifestait au creux de l’estomac, produite, selon toute apparence, par la pression d’un genou.
TEST: Dans l’opinion de M. Dumas, mademoiselle l’Espanaye avait été étranglée par un ou par plusieurs individus inconnus.
TEST: » Le corps de la mère était horriblement mutilé. Tous les os de la jambe et du bras gauche plus ou moins fracassés ; le tibia gauche brisé en esquilles, ainsi que les côtes du même côté.
TEST: Tout le corps affreusement meurtri et décoloré.
TEST: Il était impossible de dire comment de pareils coups avaient été portés.
TEST: Une lourde massue de bois ou une large pince de fer, une arme grosse, pesante et contondante aurait pu produire de pareils résultats, et encore, maniée par les mains d’un homme excessivement robuste.
TEST: Avec n’importe quelle arme, aucune femme n’aurait pu frapper de tels coups. La tête de la défunte, quand le témoin la vit, était entièrement séparée du tronc, et, comme le reste, singulièrement broyée.
TEST: La gorge évidemment avait été tranchée avec un instrument très-affilé, très-probablement un rasoir.
TEST: » Alexandre Étienne, chirurgien, a été appelé en même temps que M. Dumas pour visiter les cadavres ; il confirme le témoignage et l’opinion de M. Dumas.
TEST: » Quoique plusieurs autres personnes aient été interrogées, on n’a pu obtenir aucun autre renseignement d’une valeur quelconque.
TEST: Jamais assassinat si mystérieux, si embrouillé, n’a été commis à Paris, si toutefois il y a eu assassinat.
TEST: » La police est absolument déroutée, – cas fort usité dans les affaires de cette nature. Il est vraiment impossible de retrouver le fil de cette affaire. »
TEST: L’édition du soir constatait qu’il régnait une agitation permanente dans le quartier Saint-Roch ; que les lieux avaient été l’objet d’un second examen, que les témoins avaient été interrogés de nouveau, mais tout cela sans résultat.
TEST: Cependant, un post-scriptum annonçait qu’Adolphe Lebon, le commis de la maison de banque, avait été arrêté et incarcéré, bien que rien dans les faits déjà connus ne parût suffisant pour l’incriminer.
TEST: Dupin semblait s’intéresser singulièrement à la marche de cette affaire, autant, du moins, que j’en pouvais juger par ses manières, car il ne faisait aucun commentaire.
TEST: Ce fut seulement après que le journal eut annoncé l’emprisonnement de Lebon qu’il me demanda quelle opinion j’avais relativement à ce double meurtre.
TEST: Je ne pus que lui confesser que j’étais comme tout Paris, et que je le considérais comme un mystère insoluble. Je ne voyais aucun moyen d’attraper la trace du meurtrier.
TEST: — Nous ne devons pas juger des moyens possibles, dit Dupin, par une instruction embryonnaire.
TEST: La police parisienne, si vantée pour sa pénétration, est très-rusée, rien de plus. Elle procède sans méthode, elle n’a pas d’autre méthode que celle du moment.
TEST: On fait ici un grand étalage de mesures, mais il arrive souvent qu’elles sont si intempestives et si mal appropriées au but, qu’elles font penser à M. Jourdain, qui demandait sa robe de chambre – pour mieux entendre la musique.
TEST: Les résultats obtenus sont quelquefois surprenants, mais ils sont, pour la plus grande partie, simplement dus à la diligence et à l’activité. Dans le cas où ces facultés sont insuffisantes, les plans ratent.
TEST: Vidocq, par exemple, était bon pour deviner ; c’était un homme de patience ; mais sa pensée n’étant pas suffisamment éduquée, il faisait continuellement fausse route, par l’ardeur même de ses investigations.
TEST: Il diminuait la force de sa vision en regardant l’objet de trop près.
TEST: Il pouvait peut-être voir un ou deux points avec une netteté singulière, mais, par le fait même de son procédé, il perdait l’aspect de l’affaire prise dans son ensemble.
TEST: Cela peut s’appeler le moyen d’être trop profond.
TEST: La vérité n’est pas toujours dans un puits. En somme, quant à ce qui regarde les notions qui nous intéressent de plus près, je crois qu’elle est invariablement à la surface.
TEST: Nous la cherchons dans la profondeur de la vallée : c’est au sommet des montagnes que nous la découvrirons.
TEST: » On trouve dans la contemplation des corps célestes des exemples et des échantillons excellents de ce genre d’erreur.
TEST: Jetez sur une étoile un rapide coup d’œil, regardez-la obliquement, en tournant vers elle la partie latérale de la rétine (beaucoup plus sensible à une lumière faible que la partie centrale), et vous verrez l’étoile distinctement ; vous aurez l’appréciation la plus juste de son éclat, éclat qui s’obscurcit à proportion que vous dirigez votre point de vue en plein sur elle.
TEST: » Dans le dernier cas, il tombe sur l’œil un plus grand nombre de rayons ; mais, dans le premier, il y a une réceptibilité plus complète, une susceptibilité beaucoup plus vive.
TEST: Une profondeur outrée affaiblit la pensée et la rend perplexe ; et il est possible de faire disparaître Vénus elle-même du firmament par une attention trop soutenue, trop concentrée, trop directe.
TEST: » Quant à cet assassinat, faisons nous-mêmes un examen avant de nous former une opinion.
TEST: Une enquête nous procurera de l’amusement (je trouvai cette expression bizarre, appliquée au cas en question, mais je ne dis mot) ; et, en outre, Lebon m’a rendu un service pour lequel je ne veux pas me montrer ingrat.
TEST: Nous irons sur les lieux, nous les examinerons de nos propres yeux. Je connais G…, le préfet de police, et nous obtiendrons sans peine l’autorisation nécessaire.
TEST: L’autorisation fut accordée, et nous allâmes tout droit à la rue Morgue. C’est un de ces misérables passages qui relient la rue Richelieu à la rue Saint-Roch.
TEST: C’était dans l’après-midi, et il était déjà tard quand nous y arrivâmes, car ce quartier est situé à une grande distance de celui que nous habitions.
TEST: Nous trouvâmes bien vite la maison, car il y avait une multitude de gens qui contemplaient de l’autre côté de la rue les volets fermés, avec une curiosité badaude.
TEST: C’était une maison comme toutes les maisons de Paris, avec une porte cochère, et sur l’un des côtés une niche vitrée avec un carreau mobile, représentant la loge du concierge.
TEST: Avant d’entrer, nous remontâmes la rue, nous tournâmes dans une allée, et nous passâmes ainsi sur les derrières de la maison.
TEST: Dupin, pendant ce temps, examinait tous les alentours, aussi bien que la maison, avec une attention minutieuse dont je ne pouvais pas deviner l’objet.
TEST: Nous revînmes sur nos pas vers la façade de la maison ; nous sonnâmes, nous montrâmes notre pouvoir, et les agents nous permirent d’entrer.
TEST: Nous montâmes jusqu’à la chambre où on avait trouvé le corps de mademoiselle l’Espanaye, et où gisaient encore les deux cadavres.
TEST: Le désordre de la chambre avait été respecté, comme cela se pratique en pareil cas. Je ne vis rien de plus que ce qu’avait constaté la Gazette des tribunaux.
TEST: Dupin analysait minutieusement toutes choses, sans en excepter les corps des victimes.
TEST: Nous passâmes ensuite dans les autres chambres, et nous descendîmes dans les cours, toujours accompagnés par un gendarme. Cet examen dura fort longtemps, et il était nuit quand nous quittâmes la maison.
TEST: En retournant chez nous, mon camarade s’arrêta quelques minutes dans les bureaux d’un journal quotidien.
TEST: J’ai dit que mon ami avait toute sorte de bizarreries, et que je les ménageais (car ce mot n’a pas d’équivalent en anglais).
TEST: Il entrait maintenant dans sa fantaisie de se refuser à toute conversation relativement à l’assassinat, jusqu’au lendemain à midi.
TEST: Ce fut alors qu’il me demanda brusquement si j’avais remarqué quelque chose de particulier sur le théâtre du crime.
TEST: Il y eut dans sa manière de prononcer le mot particulier un accent qui me donna le frisson sans que je susse pourquoi.
TEST: — Non, rien de particulier, dis-je, rien autre, du moins, que ce que nous avons lu tous deux dans le journal.
TEST: — La Gazette, reprit-il, n’a pas, je le crains, pénétré l’horreur insolite de l’affaire. Mais laissons là les opinions niaises de ce papier.
TEST: Il me semble que le mystère est considéré comme insoluble, par la raison même qui devrait le faire regarder comme facile à résoudre, – je veux parler du caractère excessif sous lequel il apparaît.
TEST: Les gens de police sont confondus par l’absence apparente de motifs légitimant, non le meurtre en lui-même, mais l’atrocité du meurtre.
TEST: Ils sont embarrassés aussi par l’impossibilité apparente de concilier les voix qui se disputaient avec ce fait qu’on n’a trouvé en haut de l’escalier d’autre personne que mademoiselle l’Espanaye, assassinée, et qu’il n’y avait aucun moyen de sortir sans être vu des gens qui montaient l’escalier.
TEST: L’étrange désordre de la chambre, – le corps fourré, la tête en bas, dans la cheminée, – l’effrayante mutilation du corps de la vieille dame, – ces considérations, jointes à celles que j’ai mentionnées et à d’autres dont je n’ai pas besoin de parler, ont suffi pour paralyser l’action des agents du ministère et pour dérouter complètement leur perspicacité si vantée.
TEST: Ils ont commis la très-grosse et très-commune faute de confondre l’extraordinaire avec l’abstrus.
TEST: Mais c’est justement en suivant ces déviations du cours ordinaire de la nature que la raison trouvera son chemin, si la chose est possible, et marchera vers la vérité.
TEST: Dans les investigations du genre de celle qui nous occupe, il ne faut pas tant se demander comment les choses se sont passées, qu’étudier en quoi elles se distinguent de tout ce qui est arrivé jusqu’à présent.
TEST: Bref, la facilité avec laquelle j’arriverai, – ou je suis déjà arrivé, – à la solution du mystère, est en raison directe de son insolubilité apparente aux yeux de la police.
TEST: Je fixai mon homme avec un étonnement muet.
TEST: — J’attends maintenant, continua-t-il en jetant un regard sur la porte de notre chambre, j’attends un individu qui, bien qu’il ne soit peut-être pas l’auteur de cette boucherie, doit se trouver en partie impliqué dans sa perpétration.
TEST: Il est probable qu’il est innocent de la partie atroce du crime. J’espère ne pas me tromper dans cette hypothèse ; car c’est sur cette hypothèse que je fonde l’espérance de déchiffrer l’énigme entière.
TEST: J’attends l’homme ici, – dans cette chambre, – d’une minute à l’autre.
TEST: Il est vrai qu’il peut fort bien ne pas venir, mais il y a quelques probabilités pour qu’il vienne. S’il vient, il sera nécessaire de le garder.
TEST: Voici des pistolets, et nous savons tous deux à quoi ils servent quand l’occasion l’exige.
TEST: Je pris les pistolets, sans trop savoir ce que je faisais, pouvant à peine en croire mes oreilles, – pendant que Dupin continuait, à peu près comme dans un monologue.
TEST: J’ai déjà parlé de ses manières distraites dans ces moments-là.
TEST: Son discours s’adressait à moi ; mais sa voix, quoique montée à un diapason fort ordinaire, avait cette intonation que l’on prend d’habitude en parlant à quelqu’un placé à une grande distance.
TEST: Ses yeux, d’une expression vague, ne regardaient que le mur.
TEST: — Les voix qui se disputaient, disait-il, les voix entendues par les gens qui montaient l’escalier n’étaient pas celles de ces malheureuses femmes, – cela est plus que prouvé par l’évidence.
TEST: Cela nous débarrasse pleinement de la question de savoir si la vieille dame aurait assassiné sa fille et se serait ensuite suicidée.
TEST: » Je ne parle de ce cas que par amour de la méthode ; car la force de madame l’Espanaye eût été absolument insuffisante pour introduire le corps de sa fille dans la cheminée, de la façon où on l’a découvert ; et la nature des blessures trouvées sur sa propre personne exclut entièrement l’idée de suicide.
TEST: Le meurtre a donc été commis par des tiers, et les voix de ces tiers sont celles qu’on a entendues se quereller.
TEST: » Permettez-moi maintenant d’appeler votre attention, – non pas sur les dépositions relatives à ces voix, – mais sur ce qu’il y a de particulier dans ces dépositions.
TEST: Y avez-vous remarqué quelque chose de particulier ?
TEST: — Je remarquai que, pendant que tous les témoins s’accordaient à considérer la grosse voix comme étant celle d’un Français, il y avait un grand désaccord relativement à la voix aiguë, ou, comme l’avait définie un seul individu, à la voix âpre.
TEST: — Cela constitue l’évidence, dit Dupin, mais non la particularité de l’évidence. Vous n’avez rien observé de distinctif ; – cependant il y avait quelque chose à observer.
TEST: Les témoins, remarquez-le bien, sont d’accord sur la grosse voix ; là-dessus, il y a unanimité.
TEST: Mais relativement à la voix aiguë, il y a une particularité, – elle ne consiste pas dans leur désaccord, – mais en ceci que, quand un Italien, un Anglais, un Espagnol, un Hollandais, essayent de la décrire, chacun en parle comme d’une voix d’étranger, chacun est sûr que ce n’était pas la voix d’un de ses compatriotes.
TEST: » Chacun la compare, non pas à la voix d’un individu dont la langue lui serait familière, mais justement au contraire.
TEST: Le Français présume que c’était une voix d’Espagnol, et il aurait pu distinguer quelques mots s’il était familiarisé avec l’espagnol.
TEST: Le Hollandais affirme que c’était la voix d’un Français ; mais il est établi que le témoin, ne sachant pas le français, a été interrogé par le canal d’un interprète.
TEST: L’Anglais pense que c’était la voix d’un Allemand, et il n’entend pas l’allemand.
TEST: L’Espagnol est positivement sûr que c’était la voix d’un Anglais, mais il en juge uniquement par l’intonation, car il n’a aucune connaissance de l’anglais.
TEST: L’Italien croit à une voix de Russe, mais il n’a jamais causé avec une personne native de Russie.
TEST: Un autre Français, cependant, diffère du premier, et il est certain que c’était une voix d’Italien ; mais, n’ayant pas la connaissance de cette langue, il fait comme l’Espagnol, il tire sa certitude de l’intonation.
TEST: Or, cette voix était donc bien insolite et bien étrange, qu’on ne pût obtenir à son égard que de pareils témoignages ?
TEST: Une voix dans les intonations de laquelle des citoyens des cinq grandes parties de l’Europe n’ont rien pu reconnaître qui leur fût familier !
TEST: Vous me direz que c’était peut-être la voix d’un Asiatique ou d’un Africain.
TEST: Les Africains et les Asiatiques n’abondent pas à Paris ; mais, sans nier la possibilité du cas, j’appellerai simplement votre attention sur trois points.
TEST: » Un témoin dépeint la voix ainsi : plutôt âpre qu’aiguë. Deux autres en parlent comme d’une voix brève et saccadée. Ces témoins n’ont distingué aucune parole, – aucun son ressemblant à des paroles.
TEST: » Je ne sais pas, continua Dupin, quelle impression j’ai pu faire sur votre entendement ; mais je n’hésite pas à affirmer qu’on peut tirer des déductions légitimes de cette partie même des dépositions, – la partie relative aux deux voix, – la grosse voix et la voix aiguë – très-suffisantes en elles-mêmes pour créer un soupçon qui indiquerait la route dans toute investigation ultérieure du mystère.
TEST: » J’ai dit : déductions légitimes, mais cette expression ne rend pas complètement ma pensée.
TEST: Je voulais faire entendre que ces déductions sont les seules convenables, et que ce soupçon en surgit inévitablement comme le seul résultat possible.
TEST: Cependant, de quelle nature est ce soupçon, je ne vous le dirai pas immédiatement.
TEST: Je désire simplement vous démontrer que ce soupçon était plus que suffisant pour donner un caractère décidé, une tendance positive à l’enquête que je voulais faire dans la chambre.
TEST: » Maintenant, transportons-nous en imagination dans cette chambre. Quel sera le premier objet de notre recherche ? Les moyens d’évasion employés par les meurtriers.
TEST: Nous pouvons affirmer, – n’est-ce pas, – que nous ne croyons ni l’un ni l’autre aux événements surnaturels ?
TEST: Mesdames l’Espanaye n’ont pas été assassinées par les esprits. Les auteurs du meurtre étaient des êtres matériels, et ils ont fui matériellement.
TEST: » Or, comment ? Heureusement, il n’y a qu’une manière de raisonner sur ce point, et cette manière nous conduira à une conclusion positive.
TEST: Examinons donc un à un les moyens possibles d’évasion.
TEST: Il est clair que les assassins étaient dans la chambre où l’on a trouvé mademoiselle l’Espanaye, ou au moins dans la chambre adjacente quand la foule a monté l’escalier.
TEST: Ce n’est donc que dans ces deux chambres que nous avons à chercher des issues.
TEST: La police a levé les parquets, ouvert les plafonds, sondé la maçonnerie des murs. Aucune issue secrète n’a pu échapper à sa perspicacité.
TEST: Mais je ne me suis pas fié à ses yeux, et j’ai examiné avec les miens ; il n’y a réellement pas d’issue secrète.
TEST: Les deux portes qui conduisent des chambres dans le corridor étaient solidement fermées et les clefs en dedans. Voyons les cheminées.
TEST: Celles-ci, qui sont d’une largeur ordinaire jusqu’à une distance de huit ou dix pieds au-dessus du foyer, ne livreraient pas au-delà un passage suffisant à un gros chat.
TEST: » L’impossibilité de la fuite, du moins par les voies ci-dessus indiquées, étant donc absolument établie, nous en sommes réduits aux fenêtres.
TEST: Personne n’a pu fuir par celles de la chambre du devant sans être vu par la foule du dehors. Il a donc fallu que les meurtriers s’échappassent par celles de la chambre de derrière.
TEST: » Maintenant, amenés, comme nous le sommes, à cette conclusion par des déductions aussi irréfragables, nous n’avons pas le droit, en tant que raisonneurs, de la rejeter en raison de son apparente impossibilité.
TEST: Il ne nous reste donc qu’à démontrer que cette impossibilité apparente n’existe pas en réalité.
TEST: » Il y a deux fenêtres dans la chambre. L’une des deux n’est pas obstruée par l’ameublement, et est restée entièrement visible.
TEST: La partie inférieure de l’autre est cachée par le chevet du lit, qui est fort massif et qui est poussé tout contre.
TEST: On a constaté que la première était solidement assujettie en dedans. Elle a résisté aux efforts les plus violents de ceux qui ont essayé de la lever.
TEST: On avait percé dans son châssis, à gauche, un grand trou avec une vrille, et on y trouva un gros clou enfoncé presque jusqu’à la tête.
TEST: En examinant l’autre fenêtre, on y a trouvé fiché un clou semblable ; et un vigoureux effort pour lever le châssis n’a pas eu plus de succès que de l’autre côté.
TEST: La police était dès lors pleinement convaincue qu’aucune fuite n’avait pu s’effectuer par ce chemin. Il fut donc considéré comme superflu de retirer les clous et d’ouvrir les fenêtres.
TEST: » Mon examen fut un peu plus minutieux, et cela par la raison que je vous ai donnée tout à l’heure. C’était le cas, je le savais, où il fallait démontrer que l’impossibilité n’était qu’apparente.
TEST: » Je continuai à raisonner ainsi, – à posteriori. – Les meurtriers s’étaient évadés par l’une de ces fenêtres.
TEST: Cela étant, ils ne pouvaient pas avoir réassujetti les châssis en dedans, comme on les a trouvés ; considération qui, par son évidence, a borné les recherches de la police dans ce sens-là.
TEST: Cependant, ces châssis étaient bien fermés.
TEST: Il faut donc qu’ils puissent se fermer d’eux-mêmes. Il n’y avait pas moyen d’échapper à cette conclusion.
TEST: J’allai droit à la fenêtre non bouchée, je retirai le clou avec quelque difficulté, et j’essayai de lever le châssis.
TEST: Il a résisté à tous mes efforts, comme je m’y attendais.
TEST: Il y avait donc, j’en étais sûr maintenant, un ressort caché ; et ce fait, corroborant mon idée, me convainquit au moins de la justesse de mes prémisses, quelque mystérieuses que m’apparussent toujours les circonstances relatives aux clous.
TEST: Un examen minutieux me fit bientôt découvrir le ressort secret. Je le poussai, et, satisfait de ma découverte, je m’abstins de lever le châssis.
TEST: » Je remis alors le clou en place et l’examinai attentivement. Une personne passant par la fenêtre pouvait l’avoir refermée, et le ressort aurait fait son office ; mais le clou n’aurait pas été replacé.
TEST: Cette conclusion était nette et rétrécissait encore le champ de mes investigations. Il fallait que les assassins se fussent enfuis par l’autre fenêtre.
TEST: En supposant donc que les ressorts des deux croisées fussent semblables, comme il était probable, il fallait cependant trouver une différence dans les clous, ou au moins dans la manière dont ils avaient été fixés.
TEST: Je montai sur le fond de sangle du lit, et je regardai minutieusement l’autre fenêtre par-dessus le chevet du lit.
TEST: Je passai ma main derrière, je découvris aisément le ressort, et je le fis jouer ; – il était, comme je l’avais deviné, identique au premier.
TEST: Alors, j’examinai le clou. Il était aussi gros que l’autre, et fixé de la même manière, enfoncé presque jusqu’à la tête.
TEST: » Vous direz que j’étais embarrassé ; mais, si vous avez une pareille pensée, c’est que vous vous êtes mépris sur la nature de mes inductions.
TEST: Pour me servir d’un terme de jeu, je n’avais pas commis une seule faute ; je n’avais pas perdu la piste un seul instant ; il n’y avait pas une lacune d’un anneau à la chaîne.
TEST: J’avais suivi le secret jusque dans sa dernière phase, et cette phase, c’était le clou.
TEST: Il ressemblait, dis-je, sous tous les rapports, à son voisin de l’autre fenêtre ; mais ce fait, quelque concluant qu’il fût en apparence, devenait absolument nul, en face de cette considération dominante, à savoir que là, à ce clou, finissait le fil conducteur.
TEST: Il faut, me dis-je, qu’il y ait dans ce clou quelque chose de défectueux.
TEST: Je le touchai, et la tête, avec un petit morceau de la tige, un quart de pouce environ, me resta dans les doigts.
TEST: Le reste de la tige était dans le trou, où elle s’était cassée.
TEST: Cette fracture était fort ancienne, car les bords étaient incrustés de rouille, et elle avait été opérée par un coup de marteau, qui avait enfoncé en partie la tête du clou dans le fond du châssis.
TEST: Je rajustai soigneusement la tête avec le morceau qui la continuait, et le tout figura un clou intact ; la fissure était inappréciable.
TEST: Je pressai le ressort, je levai doucement la croisée de quelques pouces ; la tête du clou vint avec elle, sans bouger de son trou.
TEST: Je refermai la croisée, et le clou offrit de nouveau le semblant d’un clou complet.
TEST: » Jusqu’ici l’énigme était débrouillée. L’assassin avait fui par la fenêtre qui touchait au lit.
TEST: Qu’elle fût retombée d’elle-même après la fuite ou qu’elle eût été fermée par une main humaine, elle était retenue par le ressort, et la police avait attribué cette résistance au clou ; aussi toute enquête ultérieure avait été jugée superflue.
TEST: » La question, maintenant, était celle du mode de descente. Sur ce point, j’avais satisfait mon esprit dans notre promenade autour du bâtiment.
TEST: À cinq pieds et demi environ de la fenêtre en question court une chaîne de paratonnerre. De cette chaîne, il eût été impossible à n’importe qui d’atteindre la fenêtre, à plus forte raison, d’entrer.
TEST: » Toutefois, j’ai remarqué que les volets du quatrième étage étaient du genre particulier que les menuisiers parisiens appellent ferrades, genre de volets fort peu usité aujourd’hui, mais qu’on rencontre fréquemment dans de vieilles maisons de Lyon et de Bordeaux.
TEST: Ils sont faits comme une porte ordinaire (porte simple, et non pas à double battant), à l’exception que la partie inférieure est façonnée à jour et treillissée, ce qui donne aux mains une excellente prise.
TEST: » Dans le cas en question, ces volets sont larges de trois bons pieds et demi.
TEST: Quand nous les avons examinés du derrière de la maison, ils étaient tous les deux ouverts à moitié, c’est-à-dire qu’ils faisaient angle droit avec le mur.
TEST: Il est présumable que la police a examiné comme moi les derrières du bâtiment ; mais, en regardant ces ferrades dans le sens de leur largeur (comme elle les a vues inévitablement), elle n’a sans doute pas pris garde à cette largeur même, ou du moins elle n’y a pas attaché l’importance nécessaire.
TEST: En somme, les agents, quand il a été démontré pour eux que la fuite n’avait pu s’effectuer de ce côté, ne leur ont appliqué qu’un examen succinct.
TEST: » Toutefois, il était évident pour moi que le volet appartenant à la fenêtre située au chevet du lit, si on le supposait rabattu contre le mur, se trouverait à deux pieds de la chaîne du paratonnerre.
TEST: Il était clair aussi que, par l’effort d’une énergie et d’un courage insolites, on pouvait, à l’aide de la chaîne, avoir opéré une invasion par la fenêtre.
TEST: Arrivé à cette distance de deux pieds et demi (je suppose maintenant le volet complètement ouvert), un voleur aurait pu trouver dans le treillage une prise solide.
TEST: Il aurait pu dès lors, en lâchant la chaîne, en assurant bien ses pieds contre le mur et en s’élançant vivement, tomber dans la chambre, et attirer violemment le volet avec lui de manière à le fermer, – en supposant, toutefois, la fenêtre ouverte en ce moment-là.
TEST: » Remarquez bien, je vous prie, que j’ai parlé d’une énergie très-peu commune, nécessaire pour réussir dans une entreprise aussi difficile, aussi hasardeuse.
TEST: Mon but est de vous prouver d’abord que la chose a pu se faire, – en second lieu et principalement, d’attirer votre attention sur le caractère très-extraordinaire, presque surnaturel, de l’agilité nécessaire pour l’accomplir.
TEST: » Vous direz sans doute, en vous servant de la langue judiciaire, que, pour donner ma preuve à fortiori, je devrais plutôt sous-évaluer l’énergie nécessaire dans ce cas que réclamer son exacte estimation.
TEST: C’est peut-être la pratique des tribunaux, mais cela ne rentre pas dans les us de la raison. Mon objet final, c’est la vérité.
TEST: Mon but actuel, c’est de vous induire à rapprocher cette énergie tout à fait insolite de cette voix si particulière, de cette voix aiguë (ou âpre), de cette voix saccadée, dont la nationalité n’a pu être constatée par l’accord de deux témoins, et dans laquelle personne n’a saisi de mots articulés, de syllabisation.
TEST: À ces mots, une conception vague et embryonnaire de la pensée de Dupin passa dans mon esprit.
TEST: Il me semblait être sur la limite de la compréhension sans pouvoir comprendre ; comme les gens qui sont quelquefois sur le bord du souvenir, et qui cependant ne parviennent pas à se rappeler.
TEST: Mon ami continua son argumentation :
TEST: — Vous voyez, dit-il, que j’ai transporté la question du mode de sortie au mode d’entrée.
TEST: Il était dans mon plan de démontrer qu’elles se sont effectuées de la même manière et sur le même point. Retournons maintenant dans l’intérieur de la chambre. Examinons toutes les particularités.
TEST: Les tiroirs de la commode, dit-on, ont été mis au pillage, et cependant on y a trouvé plusieurs articles de toilette intacts.
TEST: Cette conclusion est absurde ; c’est une simple conjecture, – une conjecture passablement niaise, et rien de plus.
TEST: Comment pouvons-nous savoir que les articles trouvés dans les tiroirs ne représentent pas tout ce que les tiroirs contenaient ?
TEST: Madame l’Espanaye et sa fille menaient une vie excessivement retirée, ne voyaient pas le monde, sortaient rarement, avaient donc peu d’occasions de changer de toilette.
TEST: Ceux qu’on a trouvés étaient au moins d’aussi bonne qualité qu’aucun de ceux que possédaient vraisemblablement ces dames.
TEST: Et, si un voleur en avait pris quelques-uns, pourquoi n’aurait-il pas pris les meilleurs, – pourquoi ne les aurait-il pas tous pris ?
TEST: Bref, pourquoi aurait-il abandonné les quatre mille francs en or pour s’empêtrer d’un paquet de linge ?
TEST: L’or a été abandonné. La presque totalité de la somme désignée par le banquier Mignaud a été trouvée sur le parquet, dans les sacs.
TEST: Je tiens donc à écarter de votre pensée l’idée saugrenue d’un intérêt, idée engendrée dans le cerveau de la police par les dépositions qui parlent d’argent délivré à la porte même de la maison.
TEST: Des coïncidences dix fois plus remarquables que celle-ci (la livraison de l’argent et le meurtre commis trois jours après sur le propriétaire) se présentent dans chaque heure de notre vie sans attirer notre attention, même une minute.
TEST: En général, les coïncidences sont de grosses pierres d’achoppement dans la route de ces pauvres penseurs mal éduqués qui ne savent pas le premier mot de la théorie des probabilités, théorie à laquelle le savoir humain doit ses plus glorieuses conquêtes et ses plus belles découvertes.
TEST: Dans le cas présent, si l’or avait disparu, le fait qu’il avait été délivré trois jours auparavant créerait quelque chose de plus qu’une coïncidence.
TEST: Cela corroborerait l’idée d’intérêt.
TEST: Mais, dans les circonstances réelles où nous sommes placés, si nous supposons que l’or a été le mobile de l’attaque, il nous faut supposer ce criminel assez indécis et assez idiot pour oublier à la fois son or et le mobile qui l’a fait agir.
TEST: » Mettez donc bien dans votre esprit les points sur lesquels j’ai attiré votre attention, – cette voix particulière, cette agilité sans pareille, et cette absence frappante d’intérêt dans un meurtre aussi singulièrement atroce que celui-ci. – Maintenant, examinons la boucherie en elle-même.
TEST: Voilà une femme étranglée par la force des mains, et introduite dans une cheminée, la tête en bas. Des assassins ordinaires n’emploient pas de pareils procédés pour tuer.
TEST: Encore moins cachent-ils ainsi les cadavres de leurs victimes. Dans cette façon de fourrer le corps dans la cheminée, vous admettrez qu’il y a quelque chose d’excessif et de bizarre, – quelque chose d’absolument inconciliable avec tout ce que nous connaissons en général des actions humaines, même en supposant que les auteurs fussent les plus pervertis des hommes.
TEST: Songez aussi quelle force prodigieuse il a fallu pour pousser ce corps dans une pareille ouverture, et l’y pousser si puissamment, que les efforts réunis de plusieurs personnes furent à peine suffisants pour l’en retirer.
TEST: » Portons maintenant notre attention sur d’autres indices de cette vigueur merveilleuse. Dans le foyer, on a trouvé des mèches de cheveux, – des mèches très-épaisses de cheveux gris.
TEST: Ils ont été arrachés avec leurs racines. Vous savez quelle puissante force il faut pour arracher seulement de la tête vingt ou trente cheveux à la fois. Vous avez vu les mèches en question aussi bien que moi.
TEST: À leurs racines grumelées – affreux spectacle ! – adhéraient des fragments de cuir chevelu, – preuve certaine de la prodigieuse puissance qu’il a fallu déployer pour déraciner peut-être cinq cent mille cheveux d’un seul coup.
TEST: » Non-seulement le cou de la vieille dame était coupé, mais la tête absolument séparée du corps ; l’instrument était un simple rasoir.
TEST: Je vous prie de remarquer cette férocité bestiale.
TEST: Je ne parle pas des meurtrissures du corps de madame l’Espanaye ; M. Dumas et son honorable confrère, M. Étienne, ont affirmé qu’elles avaient été produites par un instrument contondant ; et en cela ces messieurs furent tout à fait dans le vrai.
TEST: L’instrument contondant a été évidemment le pavé de la cour sur laquelle la victime est tombée de la fenêtre qui donne sur le lit.
TEST: Cette idée, quelque simple qu’elle apparaisse maintenant, a échappé à la police par la même raison qui l’a empêchée de remarquer la largeur des volets ; parce que, grâce à la circonstance des clous, sa perception était hermétiquement bouchée à l’idée que les fenêtres eussent jamais pu être ouvertes.
TEST: » Si maintenant, – subsidiairement, – vous avez convenablement réfléchi au désordre bizarre de la chambre, nous sommes allés assez avant pour combiner les idées d’une agilité merveilleuse, d’une férocité bestiale, d’une boucherie sans motif, d’une grotesquerie dans l’horrible absolument étrangère à l’humanité, et d’une