Grammalecte  Check-in [90178af717]

Overview
Comment:[fr] faux positifs et ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 90178af717d3e576b3a8d378753631516abad91d90c3a40d799a7da5af389b8e
User & Date: olr on 2020-05-19 20:11:32
Other Links: manifest | tags
Context
2020-05-20
20:45
[fr] ajustements check-in: c4e5226bbe user: olr tags: fr, trunk
2020-05-19
20:11
[fr] faux positifs et ajustements check-in: 90178af717 user: olr tags: fr, trunk
07:44
[fr] ajustements check-in: 57c51c90df user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [7ee6970920] to [5865201ca2].

  1937   1937       environ  [$:B|*NUM]
  1938   1938           <<- not value(<1, "|l’|un|cet|quel|") =>> exclude(\1, ":N")
  1939   1939   
  1940   1940       grave
  1941   1941           <<- morph(<1, ":D") =>> (\1, ":W")
  1942   1942   
  1943   1943   
  1944         -__da_prépositions__
         1944  +__da_mots_grammaticaaux__
         1945  +    autour [de|du|d’|des]
         1946  +        <<- not morph(<1, ":D.*:[me]") =>> exclude(\1, ":N")
         1947  +
  1945   1948       dans
  1946   1949           <<- not morph(<1, ":D.*:p|>[a-z]+ième/") =>> select(\1, ":R")
  1947   1950   
  1948         -    passé  [<end>|,|$:R]
  1949         -        <<- =>> exclude(\1, ":G")
  1950         -
  1951         -    y compris
  1952         -        <<- not value(<1, "|n’|j’|tu|t’|m’|s’|") ~>> ␣
  1953         -        <<- __also__ =>> define(\1, ":G:R")
  1954         -
  1955         -
  1956         -__da_puis__
  1957         -    puis
  1958         -        <<- not value(<1, "|je|ne|n’|le|la|l’|les|lui|nous|vous|leur|") =>> =exclude(\1, ":V")
  1959         -
  1960         -
  1961         -__da_SA__
  1962         -    SA
  1963         -        <<- morph(<1, ":D") =>> exclude(\1, ":D")
  1964         -
  1965         -
  1966         -__da_mots_grammaticaaux__
  1967   1951       [le|ce|cet|mon|ton|son|quel|quelque|notre|votre|un|leur|ledit|dudit|des|les|quelques|quel|quelle|quels|quelles]  [son|ton]
  1968   1952           <<- =>> exclude(\2, ":D")
  1969   1953   
  1970   1954       [la|ma|ta|sa|les|des|nos|vos|leur|leurs|quel|quelle|quels|quelles] personne
  1971   1955           <<- =>> select(\2, ":N")
  1972   1956   
  1973   1957       [le|la|l’|les|du|ces|des|mes|tes|ses|nos|vos|leurs|quelques|quels|quelles] même
  1974   1958           <<- =>> select(\2, ":A")
  1975   1959   
  1976   1960       [le|l’|mon|notre|votre|leur|mes|tes|ses|nos|vos|leurs|quel|quels|quelle|quelles] point
  1977   1961           <<- =>> select(\2, ":N")
  1978   1962   
         1963  +    puis
         1964  +        <<- not value(<1, "|je|ne|n’|le|la|l’|les|lui|nous|vous|leur|") =>> =exclude(\1, ":V")
         1965  +
         1966  +    SA
         1967  +        <<- morph(<1, ":D") =>> exclude(\1, ":D")
         1968  +
         1969  +    passé  [<end>|,|$:R]
         1970  +        <<- =>> exclude(\1, ":G")
         1971  +
         1972  +    vu  [<end>|,|$:R]
         1973  +        <<- =>> exclude(\1, ":G")
         1974  +
         1975  +    y compris
         1976  +        <<- not value(<1, "|n’|j’|tu|t’|m’|s’|") ~>> ␣
         1977  +        <<- __also__ =>> define(\1, ":G:R")
         1978  +
  1979   1979   
  1980   1980   __da_autre_chose_quelque_chose__
  1981   1981       quelque chose
  1982   1982           <<- =>> define(\2, ":N:m:s")
  1983   1983   
  1984   1984       autre chose
  1985   1985           <<- not morph(<1, ">entre/|:D") ~>> ␣
................................................................................
  1986   1986           <<- =>> define(\1, ":G")
  1987   1987   
  1988   1988   
  1989   1989   __da_groupe_nominal__
  1990   1990       aucun  @:[NA].*:[me]
  1991   1991           <<- =>> exclude(\2, ":V")
  1992   1992   
         1993  +    avions
         1994  +        <<- not tag_before(\1, "_1p_") and not value(<1, "|n’|") and not value(>1, "|nous|") =>> select(\-1, ":N")
         1995  +
         1996  +    l’ avions
         1997  +        <<- morph(<1, ":Y") =>> select(\-1, ":N")
         1998  +
  1993   1999       bac + ~^\d\d?$
  1994   2000           <<- ~>> ␣
  1995   2001           <<- =>> define(\1, ":N:e:i")
  1996   2002   
  1997   2003       [de|d’]  @:¬:[YD]
  1998   2004           <<- =>> exclude(\2, ":(?:[123][sp]|P)")
  1999   2005   
................................................................................
 11506  11512   # ensemble
 11507  11513   __sgpl_ensemble__
 11508  11514       [toutes|tous] ensembles
 11509  11515           <<- /sgpl/ -2>> ensemble                                    && Ici, “ensemble” est vraisemblablement un adverbe, donc invariable.|https://fr.wiktionary.org/wiki/ensemble
 11510  11516   
 11511  11517   TEST: Allons-y toutes {{ensembles}}                             ->> ensemble
 11512  11518   
        11519  +
        11520  +# en particulier
        11521  +__sgpl_en_particulier__
        11522  +    en particuliers
        11523  +        <<- /conf/ not morph(<1, ">agir/") ->> en particulier       && Locution “en particulier” toujours au singulier.|https://fr.wiktionary.org/wiki/en_particulier
        11524  +
        11525  +TEST: en général et {{en particuliers}}
        11526  +TEST: agir en particulier averti.
        11527  +
 11513  11528   
 11514  11529   # en rangs serrés
 11515  11530   __sgpl_en_rangs_serrés__
 11516  11531       en rang serré
 11517  11532           <<- /sgpl/ ->> en rangs serrés|en ordre serré               && Au pluriel, car il y a plusieurs rangs. Vous pouvez aussi utiliser l’expression “en ordre serré”.
 11518  11533   
 11519  11534   TEST: ils défilèrent {{en rang serré}}
................................................................................
 13200  13215       plus d’ une fois
 13201  13216       plus d’ une fois par [seconde|minute|heure|jour|semaine|mois|trimestre|semestre|an|année|décennie|siècle|millénaire]
 13202  13217       pour la [première|seconde|dernière|~ième$] fois
 13203  13218       pour la [première|seconde|dernière|~ième$] fois [de|d’] [ma|ta|sa|notre|votre|leur] ?misérable¿ vie ?[misérable|insignifiante|palpitante]¿
 13204  13219       pour la [première|seconde|dernière|~ième$] fois [de|d’] [mon|ton|son|notre|votre|leur] ?[misérable|insignifiante|palpitante]¿ existence ?[misérable|insignifiante|palpitante]¿
 13205  13220       pour la [seconde|dernière|~ième$] fois [de|d’] suite
 13206  13221       pour [trois|3] fois rien
 13207         -    pour une fois
        13222  +    pour [cette|une] fois
 13208  13223       quelquefois
 13209  13224       quelques fois
 13210  13225       sans y [réfléchir|songer|penser] à [deux|2] fois
 13211  13226       souventes fois
 13212  13227       toutefois
 13213  13228       tant de fois
 13214  13229           <<- ~>> *
................................................................................
 13698  13713       dans le cas contraire
 13699  13714       dans [ce|ces] [cas-là|cas-ci]
 13700  13715       dans ce cas [précis|particulier]
 13701  13716       dans ces cas [précis|particuliers]
 13702  13717       dans l’ [idéal|immédiat]
 13703  13718       dans la mesure du possible
 13704  13719       dans la dernière ligne droite
        13720  +    dans le feu de l’ action
 13705  13721       dans leur globalité
 13706  13722       dans leur grande majorité
 13707  13723       dans tout [cela|ça|ceci]
 13708  13724       dans un cas comme dans l’autre
 13709  13725       dans une [certaine|large|moindre] mesure
 13710  13726       dans une mauvaise passe
 13711  13727       d’ abord
................................................................................
 14272  14288       sous haute [surveillance|tension]
 14273  14289       stricto sensu
 14274  14290       sur [mon|ton|son|notre|votre|leur] [trente-et-un|31]
 14275  14291       sur [mon|ton|son|notre|votre|leur] trente et un
 14276  14292       sur ce ,
 14277  14293       sur ce plan-là
 14278  14294       sur la défensive
 14279         -    sur le fil du rasoir
 14280  14295       sur la forme comme sur le fond
 14281  14296       sur la même longueur d’ onde
        14297  +    sur la sellette
        14298  +    sur le fil du rasoir
 14282  14299       sur le plan [local|cantonal|départemental|régional|national|européen|américain|africaine|asiatique|continental|international|planétaire|galactique|universel]
 14283  14300       sur le pied [de|d’] guerre
 14284  14301       sur le qui-vive
 14285  14302       surtout
 14286  14303       s’ il [te|vous] [plaît|plait]
 14287  14304       tant bien que mal
 14288  14305       tant s’ en faut
................................................................................
 15138  15155       >force d’ assaut
 15139  15156       >force [de|d’] caractère
 15140  15157       >fosse à [merde|>ordure|purin]
 15141  15158       >fosse aux lions
 15142  15159       >fou à lier
 15143  15160       [>fourgon|>fourgonnette] [de|d’] location
 15144  15161       >frayeur [de|d’] tous les diables
        15162  +    >frein à >tambour
 15145  15163       >frousse [de|d’] tous les diables
 15146  15164       >fuite en avant
 15147  15165       >fusil à [plomb|pompe]
 15148  15166       >garde à vue
 15149  15167       >garde du corps
 15150  15168       gaz à >effet [de|d’] serre
 15151  15169       >genou à terre
................................................................................
 15339  15357       >sac [de|d’] [couchage|sport|voyage]
 15340  15358       >salaire à vie
 15341  15359       >salle à manger
 15342  15360       >salle [de|d’] [attente|>bain|bal|conférence|lecture|séjour|vente]
 15343  15361       >salon [de|d’] coiffure
 15344  15362       sas [de|d’] [confinement|décompression|décontamination|désinfection|livraison|protection|secours|sécurité]
 15345  15363       >sclérose en plaques
 15346         -    [secret+s] défense
 15347  15364       >seconde d’ arc
 15348  15365       >sel [de|d’] [aluminium|ammonium|mer]
 15349  15366       >serpent à sonnette
 15350  15367       >service d’ ordre
 15351  15368       >seuil [de|d’] tolérance
 15352  15369       >seuil [de|d’] tolérance à la douleur
 15353  15370       >silo à [>grains|blé]
................................................................................
 15435  15452       >con comme la lune
 15436  15453       >con comme un balai
 15437  15454       >con comme une valise sans >poignée
 15438  15455       >corvéable à merci
 15439  15456       >court sur pattes
 15440  15457       [cousu+ses] [main]
 15441  15458       [cousu+ses] [de|d’] fil blanc
 15442         -    [daté+ses] du [1er|1ᵉʳ|1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12|13|14|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31] {mois} ?[prochain|passé|dernier|~^[0-9]{2,5}$]¿
        15459  +    [daté+ses] du [1er|1ᵉʳ|1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12|13|14|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31] {mois} ?[prochain|passé|dernier|précédent|~^[0-9]{2,5}$]¿
 15443  15460       >digne [de|d’] [confiance|foi]
 15444  15461       >digne [de|d’] ce nom
 15445  15462       >droit comme un i
 15446  15463       >fort en gueule
 15447  15464       >fou [de|d’] rage ?[contenue|retenue]¿
 15448  15465       >élu à la majarité absolue
 15449  15466       >haut comme [trois|3] pommes
................................................................................
 15459  15476       >noir comme une nuit sans lune
 15460  15477       >pure comme [le|du] cristal
 15461  15478       >rapide à la comprenette
 15462  15479       [réglé+ses] comme du papier à musique
 15463  15480       [remis+es] à plat
 15464  15481       >sain [de|d’] [corps|esprit]
 15465  15482       >sain [de|d’] [corps|esprit] et [de|d’] [corps|esprit]
        15483  +    [secret+s] défense
 15466  15484       >sourd comme un pot
 15467  15485       >sujet à interprétation
 15468  15486       >sujet à interprétations diverses
 15469  15487       >têtu comme une [bourrique|mule]
 15470  15488       >têtu comme un [âne|bourriquot|mulet]
 15471  15489       [tiré+ses] à [quatre|4] épingles
 15472  15490           <<- ~2:0>> *
................................................................................
 16023  16041       à [mes|tes|ses|nos|vos|leurs] [regards|yeux]  [<end>|,|)]
 16024  16042           <<- ~1:-2>> *
 16025  16043   
 16026  16044       à la dernière [minute|seconde]  @¬:A.*:[fe]:[si]
 16027  16045       à la dernière [minute|seconde]  [<end>|,|)]
 16028  16046           <<- ~1:-2>> *
 16029  16047   
 16030         -    à la longue     @:¬:N.*:[fe]:[si]
 16031         -    à la longue     [<end>|,|)]
 16032         -    à la dérive     @:¬:A.*:[fe]:[si]
 16033         -    à la dérive     [<end>|,|)]
 16034         -    à l’ époque     @:¬:A.*:[fe]:[si]
 16035         -    à l’ époque     [<end>|,|)]
 16036         -    à l’ identique  @:¬:N.*:[si]
 16037         -    à l’ identique  [<end>|,|)]
        16048  +    à la longue         @:¬:N.*:[fe]:[si]
        16049  +    à la longue         [<end>|,|)]
        16050  +    à la [dérive|mode]  @:¬:A.*:[fe]:[si]
        16051  +    à la [dérive|mode]  [<end>|,|)]
        16052  +    à l’ époque         @:¬:A.*:[fe]:[si]
        16053  +    à l’ époque         [<end>|,|)]
        16054  +    à l’ identique      @:¬:N.*:[si]
        16055  +    à l’ identique      [<end>|,|)]
 16038  16056           <<- ~1:-2>> *
 16039  16057   
 16040  16058       à répétition  @¬:A.*:[fe]:[si]
 16041  16059       à répétition  [<end>|,|)]
 16042  16060           <<- ~1:2>> *
 16043  16061   
 16044  16062       au bout d’ un moment  @:¬:A.*:[me]:[si]
................................................................................
 16199  16217       pour cette raison [<end>|,|)]
 16200  16218           <<- ~1:3>> *
 16201  16219   
 16202  16220       pour de bon  @:¬:[NA].*:m:s
 16203  16221       pour de bon  [<end>|,|)]
 16204  16222           <<- ~1:3>> *
 16205  16223   
 16206         -    pour partie  @:¬:A.*:f:s
 16207         -    pour partie  [<end>|,|)]
        16224  +    pour la majeure partie  @:¬:A.*:[fe]:[si]
        16225  +    pour la majeure partie  [<end>|,|)]
        16226  +    pour partie             @:¬:A.*:[fe]:[si]
        16227  +    pour partie             [<end>|,|)]
 16208  16228           <<- ~1:2>> *
 16209  16229   
 16210  16230       pour un temps  @:¬:[NA].*:[me]:[si]
 16211  16231       pour un temps  [<end>|,|)]
 16212  16232           <<- ~1:3>> *
 16213  16233   
 16214  16234       >preuve à l’ appui
 16215  16235           <<- not morph(<1, ":D") ~>> *
 16216  16236   
 16217  16237       sans détour  @:¬:[NA].*:[me]:[si]
 16218  16238       sans détour  [<end>|,|)]
 16219  16239           <<- ~1:2>> *
 16220  16240   
 16221         -    sans [réserve|surprise]  @:¬:[NA].*:[fe]:[si]
 16222         -    sans [réserve|surprise]  [<end>|,|)]
        16241  +    sans grande surprise    @:¬:[NA].*:[fe]:[si]
        16242  +    sans grande surprise    [<end>|,|)]
        16243  +    sans [réserve|surprise] @:¬:[NA].*:[fe]:[si]
        16244  +    sans [réserve|surprise] [<end>|,|)]
 16223  16245           <<- ~1:2>> *
 16224  16246   
 16225  16247       semblait-il
 16226  16248       semble-t-il
 16227  16249           <<- not value(<1, "|ça|cela|ceci|me|m’|te|t’|lui|nous|vous|leur|ne|n’|") ~>> *
 16228  16250   
 16229  16251       soit dit entre nous
................................................................................
 16366  16388       >attendre [de|d’] pied ferme
 16367  16389       >battre à plate couture
 16368  16390       >battre en [brèche|retraite]
 16369  16391       >boire comme un trou
 16370  16392       [>brûler|>bruler] à vif
 16371  16393       >charger à blanc
 16372  16394       >chauffer à blanc
        16395  +    >classer sans suite
 16373  16396       >compter à rebours
 16374  16397       >condamner à mort
 16375  16398       >couler à ?grands¿ flots
 16376  16399       >cour d’ assises
 16377  16400       >demander [assistance|audience|conseil|pardon]
 16378  16401       >dire [adieu|merde]
 16379  16402       [>donner|>redonner] [naissance|sens|suite|vie]
................................................................................
 16692  16715   TEST: on ne peut convoquer un citoyen sur la base des textes constitutionnels, devenus dans ce cas incriminants.
 16693  16716   TEST: ce sont des gens bien
 16694  16717   TEST: beaucoup d’entre nous se souviennent de ce fameux jour
 16695  16718   TEST: Hormis les enseignements fondamentaux transmis à la petite école, la suite n’est qu’une infinie perte de temps où l’on bourre l’esprit des élèves de connaissances parfaitement inutiles, dont la plupart d’entre nous ne gardent aucun souvenir sitôt les portes du lycée franchies.
 16696  16719   TEST: il ne désirait ne plus le faire…
 16697  16720   TEST: Ma chambre est trois fois plus grande que la tienne.
 16698  16721   TEST: Il est trois ans plus jeune que moi.
 16699         -
        16722  +TEST: On peut sans doute laisser sans grand problème toutes les baskets à la mode être produites à l’autre bout du monde
 16700  16723   
 16701  16724   
 16702  16725   @@@@
 16703  16726   @@@@
 16704  16727   @@@@
 16705  16728   @@@@
 16706  16729   @@@@END_GRAPH                                                                                      _
................................................................................
 18083  18106           <<- /conf/ -2>> gent                        && Confusion. « Gente » est un adjectif vieilli. Utiliser « gent » pour désigner un groupe de personnes.
 18084  18107   
 18085  18108   TEST: la {{gente}} masculine est grossière et l’a toujours été.
 18086  18109   
 18087  18110   
 18088  18111   # golf / golfe
 18089  18112   __conf_golf_golfe2__
 18090         -    >jouer au golfe
        18113  +    >jouer      au golfe
        18114  +    >pratiquer  le golfe
 18091  18115           <<- /conf/ -3>> golf                        && Confusion. Un golfe est une zone maritime qui avance dans les terres. Pour le sport, écrivez “golf”.
 18092  18116   
 18093  18117   TEST: il joue au {{golfe}} tous les jours.
 18094  18118   TEST: Jouer au golf.
 18095  18119   
 18096  18120   
 18097  18121   # goutte / goûte
 18098  18122   __conf_goûte_goutte__
 18099  18123       [goûte|goûtes|goute|goutes] [de|d’] [alcool|acide|amour|bière|eau|folie|huile|javel|lait|liquide|mercure|miel|peinture|pluie|rhum|rosée|salive|sang|semence|sperme|sueur|urine|vin|vinaigre|whisky]
 18100         -        <<- /conf/ -1>> =\1.replace("û", "u").replace("t", "tt")
        18124  +        <<- /conf/ -1>> =\1.replace("û", "u").replace("t", "tt").replace("Û", "U").replace("T", "TT")
 18101  18125           && Confusion : “goûter” signifie utiliser le sens du goût. Pour une petite quantité de liquide, écrivez “goutte”.|https://fr.wiktionary.org/wiki/goutte
 18102  18126   
 18103  18127       >passer entre les [goûte+s|goute+s]
 18104  18128           <<- /conf/ --1>> gouttes                    && Confusion. Une particule de fluide s’écrit “goutte”.|https://fr.wiktionary.org/wiki/goutte
 18105  18129   
 18106  18130       [à|a] [grosse+s] [goute+s|goûte+s]
 18107  18131           <<- /conf/ ->> à grosses gouttes            && Confusion. Locution adverbiale “à grosses gouttes”.
................................................................................
 18898  18922   TEST: dans la {{sale}} des professeurs
 18899  18923   TEST: une {{sale}} d’arcade
 18900  18924   TEST: ils sont tellement {{salles}}
 18901  18925   TEST: pour le service en salle
 18902  18926   
 18903  18927   
 18904  18928   # sans / sens
 18905         -__conf_sens_dessus_dessous__
 18906         -    sans dessus dessous
        18929  +__conf_sang_sans_sens__
        18930  +    [sans|san] dessus dessous
 18907  18931       sans-dessus-dessous
 18908  18932           <<- /conf/ ->> sens dessus dessous                          && Confusion. Locution adverbiale : « sens dessus dessous ».|https://fr.wiktionary.org/wiki/tache
 18909  18933   
        18934  +    [sans|san] [bleu|royal|mêlé]
        18935  +    [sans|san] humain
        18936  +    [sans|san] de la victime
        18937  +    [sans|san] des victimes
        18938  +    [sans|san] >avoir >couler
        18939  +    [sans|san] >couler
        18940  +    [sans|san] qui >couler
        18941  +    [sans|san] qui >avoir >couler
        18942  +        <<- /conf/ morph(<1, ":D.*:[me]") -1>> sang                 && Confusion probable. Pour évoquer le fluide sanguin, écrivez “sang”.|https://fr.wiktionary.org/wiki/sang
        18943  +
        18944  +    [couvert+ses|recouvert+ses] [de|d’] [sans|san|sens]
        18945  +    >avoir [ça|cela|ceci] dans le [sans|san|sens]
        18946  +    >buveur [de|d’] [sans|san|sens]
        18947  +    >flot [de|d’] [sans|san|sens]
        18948  +    la voix du [sans|san|sens]
        18949  +    >pisser [le|du] [sans|sens]
        18950  +    c >être [mon|ton|son|notre|votre|leur|leurs] [sans|san]
        18951  +        <<- /conf/ --1>> sang                                       && Confusion probable. Pour évoquer le fluide sanguin, écrivez “sang”.|https://fr.wiktionary.org/wiki/sang
        18952  +
 18910  18953   TEST: Tout est {{sans dessus dessous}}.
        18954  +TEST: le {{sans}} a coulé.
        18955  +TEST: le {{san}} qui coulera encore sera sur vos mains
        18956  +TEST: elle a ça dans le {{sans}}
        18957  +TEST: elle pissait le {{sans}}
        18958  +TEST: ce témoignage va dans le sens de la victime.
 18911  18959   
 18912  18960   
 18913  18961   # aller sans dire
 18914  18962   __conf_aller_sans_dire__
 18915  18963       [il|ça|cela|ceci] >aller s’ en dire
 18916  18964           <<- /conf/ -3:4>> sans                                      && Confusion. Locution “aller sans dire”.|https://fr.wiktionary.org/wiki/cela_va_sans_dire#fr
 18917  18965   
................................................................................
 19218  19266           -4>> =suggSing(\4)                                                                          && Accord de nombre erroné avec “\3” : “\4” devrait être au singulier.
 19219  19267   
 19220  19268   TEST: L’{{amande}} {{amer}}
 19221  19269   TEST: l’{{amicale}} {{animal}}
 19222  19270   TEST: l’amour {{immortels}}
 19223  19271   TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
 19224  19272   TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.
        19273  +TEST: elle prendra l’{{avions}} dès que possible
 19225  19274   
 19226  19275   
 19227  19276   __gn_le_1m__
 19228  19277       ,  le  *WORD
 19229  19278           <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3)           && Accord de genre erroné : « \3 » est féminin.
 19230  19279           <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            && Accord de genre erroné : « \2 » est un déterminant masculin.
 19231  19280           <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3)               && Accord de nombre erroné : « \3 » devrait être au singulier.
................................................................................
 19260  19309   TEST: {{Le}} personne répond.
 19261  19310   TEST: {{le}} {{quotients}}
 19262  19311   TEST: Comme avec l’Hyperloop, le bus chinois conçu pour passer au-dessus des voitures
 19263  19312   
 19264  19313   
 19265  19314   __gn_le_2m__
 19266  19315       le  *WORD  *WORD
 19267         -        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|") and not \3.startswith("seul") >>>
        19316  +        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|") and not morph(\3, ">seul/") >>>
 19268  19317           <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
 19269  19318           -3>> =suggMasSing(\3, True)                                                                 && Accord de genre erroné : « \1 \2 » est masculin, « \3 » est féminin.
 19270  19319           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
 19271  19320           -3>> =suggMasSing(\3)                                                                       && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19272  19321   
 19273  19322       [et|ou]  le  *WORD  *WORD
 19274         -        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]") and not \4.startswith("seul") >>>
        19323  +        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]") and not morph(\4, ">seul/") >>>
 19275  19324           <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
 19276  19325           -4>> =suggMasSing(\4, True)                                                                 && Accord de genre erroné : « \2 \3 » est masculin, « \4 » est féminin.
 19277  19326           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\4, \4)
 19278  19327           -4>> =suggMasSing(\4)                                                                       && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19279  19328   
 19280  19329   TEST: le test très {{cons}} qu’on a passé hier.
 19281  19330   TEST: c’était le chien {{perdue}} des voisins.
................................................................................
 19322  19371   TEST: à la Richard Nixon Foundation
 19323  19372   TEST: à ne plus se laisser faire la fois d’après
 19324  19373   TEST: il pense à la fois où nous avons eu cet accident idiot.
 19325  19374   
 19326  19375   
 19327  19376   __gn_la_2m__
 19328  19377       la  *WORD  *WORD
 19329         -        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19378  +        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19330  19379           <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
 19331  19380           -3>> =suggFemSing(\3, True)                                                         && Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin.
 19332  19381           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
 19333  19382           -3>> =suggFemSing(\3)                                                               && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19334  19383   
 19335  19384       [et|ou|de|d’]  la  *WORD  *WORD
 19336         -        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19385  +        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19337  19386           <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
 19338  19387           -4>> =suggFemSing(\4, True)                                                         && Accord de genre erroné : « \2 \3 » est féminin, « \4 » est masculin.
 19339  19388           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
 19340  19389           -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19341  19390   
 19342  19391   TEST: La plus grande {{cinglé}}.
 19343  19392   TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
................................................................................
 19363  19412   TEST: J’en ai assez de {{leur}} {{délires}}
 19364  19413   TEST: {{Leur}} {{perceptions}} des choses m’exaspère.
 19365  19414   TEST: dans {{leur}} {{usines}}
 19366  19415   
 19367  19416   
 19368  19417   __gn_leur_2m__
 19369  19418       leur  *WORD  *WORD
 19370         -        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19419  +        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19371  19420           <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
 19372  19421               and not apposition(\2, \3)
 19373  19422           -3>> =switchGender(\3, False)                                                       && Accord de genre erroné entre « \2 » et « \3 ».
 19374  19423           <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, False)                  && Accord de genre erroné avec « \3 ».
 19375  19424           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
 19376  19425           -3>> =suggSing(\3)                                                                  && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19377  19426           <<- /gn/ __also__ and morph(\2, ":[NA].*:i") -1>> leurs                             && Accord de nombre erroné avec « \2 \3 ».
 19378  19427   
 19379  19428       [et|ou|de|d’]  leur  *WORD  *WORD
 19380         -        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19429  +        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19381  19430           <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*")))
 19382  19431               and not apposition(\3, \4)
 19383  19432           -4>> =switchGender(\4, False)                                                       && Accord de genre erroné entre « \3 » et « \4 ».
 19384  19433           <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, False)                  && Accord de genre erroné avec « \4 ».
 19385  19434           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
 19386  19435           -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19387  19436           <<- /gn/ __also__ and morph(\3, ":[NA].*:i") -2>> leurs                             && Accord de nombre erroné avec « \3 \4 ».
................................................................................
 19519  19568   TEST: mille et une merveilles
 19520  19569   TEST: Quatorze heures découpées en quatre parties, une sortant en salles chaque semaine
 19521  19570   
 19522  19571   
 19523  19572   ## un / une
 19524  19573   __gn_un_2m__
 19525  19574       un  *WORD  *WORD
 19526         -        <<- /gn/ not value(<1, "|et|ou|d’|") and not \3.startswith("seul") >>>
        19575  +        <<- /gn/ not value(<1, "|et|ou|d’|") and not morph(\3, ">seul/") >>>
 19527  19576           <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
 19528  19577           -3>> =suggMasSing(\3, True)                                                                 && Accord de genre erroné : « \1 \2 » est masculin, « \3 » est féminin.
 19529  19578           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", "*") and not apposition(\2, \3)
 19530  19579           -3>> =suggMasSing(\3)                                                                       && Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
 19531  19580   
 19532  19581       [et|ou|d’]  un  *WORD  *WORD
 19533         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19582  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19534  19583           <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
 19535  19584           -4>> =suggMasSing(\4, True)                                                                 && Accord de genre erroné : « \2 \3 » est masculin, « \4 » est féminin.
 19536  19585           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", "*") and not apposition(\3, \4)
 19537  19586           -4>> =suggMasSing(\4)                                                                       && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19538  19587   
 19539  19588   TEST: un exercice pas très {{utiles}}.                        ->> utile
 19540  19589   TEST: un homme {{grands}}                                     ->> grand
................................................................................
 19542  19591   TEST: que sais-tu d’un homme {{grande}} comme un arbre
 19543  19592   TEST: je me souviens d’un homme {{arrogants}}
 19544  19593   TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.
 19545  19594   
 19546  19595   
 19547  19596   __gn_une_2m__
 19548  19597       une  *WORD  *WORD
 19549         -        <<- /gn/ not value(<1, "|et|ou|d’|") and not \3.startswith("seul") >>>
        19598  +        <<- /gn/ not value(<1, "|et|ou|d’|") and not morph(\3, ">seul/") >>>
 19550  19599           <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
 19551  19600           -3>> =suggFemSing(\3, True)                                                                 && Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin.
 19552  19601           <<- /gn/ \2 != "fois" and morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", "*") and not apposition(\2, \3)
 19553  19602           -3>> =suggFemSing(\3)                                                                       && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19554  19603   
 19555  19604       [et|ou|d’]  une  *WORD  *WORD
 19556         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19605  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19557  19606           <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
 19558  19607           -4>> =suggFemSing(\4, True)                                                                 && Accord de genre erroné : « \2 \3 » est féminin, « \4 » est masculin.
 19559  19608           <<- /gn/ \3 != "fois" and morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", "*") and not apposition(\3, \4)
 19560  19609           -4>> =suggFemSing(\4)                                                                       && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19561  19610   
 19562  19611   TEST: Une femme {{laconiques}}.                               ->> laconique
 19563  19612   TEST: Une grande {{homme}}.
................................................................................
 19633  19682   TEST: téléphone {{au}} {{boulangère}}
 19634  19683   TEST: au chien, au chat, au poulet
 19635  19684   TEST: à partir de pièces détachées, au départ entièrement venues de l’étranger puis en partie fabriquées sur place
 19636  19685   
 19637  19686   
 19638  19687   __gn_det_mas_sing_2m__
 19639  19688       [ce|cet|quel|au|ledit|dudit|audit|aucun|nul]  *WORD  *WORD
 19640         -        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19689  +        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19641  19690           <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
 19642  19691           -3>> =suggMasSing(\3, True)                                                         && Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
 19643  19692           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
 19644  19693           -3>> =suggMasSing(\3)                                                               && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19645  19694   
 19646  19695       [et|ou|de|d’]  [ce|cet|quel|au|ledit|dudit|audit|aucun|nul]  *WORD  *WORD
 19647         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19696  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19648  19697           <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
 19649  19698           -4>> =suggMasSing(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
 19650  19699           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
 19651  19700           -4>> =suggMasSing(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19652  19701   
 19653  19702   TEST: cet outil {{terribles}} qu’il a dans les mains
 19654  19703   TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle.
................................................................................
 19666  19715   TEST: mon {{excellentes}} mémoire
 19667  19716   TEST: {{ton}} {{belle}} mémoire
 19668  19717   TEST: {{mon}} {{chienne}}
 19669  19718   
 19670  19719   
 19671  19720   __gn_mon_ton_son_2m__
 19672  19721       [mon|ton|son]  *WORD  *WORD
 19673         -        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19722  +        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19674  19723           <<- /gn/ morph(\2, ":[NA].*:m", ":(?:B|G|e|V0|f)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
 19675  19724           -3>> =suggMasSing(\3, True)                                                         && Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
 19676  19725           <<- /gn/ morph(\2, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
 19677  19726           -3>> =suggFemSing(\3, True)                                                         && Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
 19678  19727           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
 19679  19728           -3>> =suggMasSing(\3)                                                               && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19680  19729   
 19681  19730       [et|ou|de|d’]  [mon|ton|son]  *WORD  *WORD
 19682         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19731  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19683  19732           <<- /gn/ morph(\3, ":[NA].*:m", ":(?:B|G|e|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
 19684  19733           -4>> =suggMasSing(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
 19685  19734           <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
 19686  19735           -4>> =suggFemSing(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
 19687  19736           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
 19688  19737           -4>> =suggMasSing(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19689  19738   
................................................................................
 19707  19756   TEST: {{ma}} amour                                            ->> mon
 19708  19757   TEST: ma {{carlingues}}
 19709  19758   TEST: Après cet épisode, la SA a joué un rôle marginal dans l’histoire du Troisième Reich
 19710  19759   
 19711  19760   
 19712  19761   __gn_det_fem_sing_2m__
 19713  19762       [ma|ta|sa|cette|quelle|ladite]  *WORD  *WORD
 19714         -        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19763  +        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19715  19764           <<- /gn/ morph(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:m", "*") and not apposition(\2, \3)
 19716  19765           -3>> =suggFemSing(\3, True)                                                         && Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin.
 19717  19766           <<- /gn/ morph(\2, ":[NAQ].*:[si]", ":G") and morph(\3, ":[NAQ].*:p", ":[GWsi]") and not apposition(\2, \3)
 19718  19767           -3>> =suggFemSing(\3)                                                               && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19719  19768   
 19720  19769       [et|ou|de|d’]  [ma|ta|sa|cette|quelle|ladite]  *WORD  *WORD
 19721         -        <<- /gn/ not morph(<1, ":[NAQ]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19770  +        <<- /gn/ not morph(<1, ":[NAQ]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19722  19771           <<- /gn/ morph(\3, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NAQ].*:m", "*") and not apposition(\3, \4)
 19723  19772           -4>> =suggFemSing(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
 19724  19773           <<- /gn/ morph(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4)
 19725  19774           -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19726  19775   
 19727  19776   TEST: quelle belle {{étourdi}}, cette gamine
 19728  19777   TEST: j’en ai assez de cette ville {{stressées}} en permanence.
................................................................................
 19744  19793           -1>> quelques                                                                       && Il manque un “s” à « quelque » ou « \2 » doit être au singulier.
 19745  19794   
 19746  19795   TEST: {{Quelque}} amis
 19747  19796   
 19748  19797   
 19749  19798   __gn_det_epi_sing_2m__
 19750  19799       [chaque|quelque|notre|votre]  *WORD  *WORD
 19751         -        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19800  +        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19752  19801           <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
 19753  19802               and not apposition(\2, \3)
 19754  19803           -3>> =switchGender(\3, False)                                                       && Accord de genre erroné entre « \2 » et « \3 ».
 19755  19804           <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, False)                  && Accord de genre erroné avec « \3 ».
 19756  19805           <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3)
 19757  19806           -3>> =suggSing(\3)                                                                  && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier.
 19758  19807   
 19759  19808       [et|ou|de|d’]  [chaque|quelque|notre|votre]  *WORD  *WORD
 19760         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19809  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19761  19810           <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*")))
 19762  19811               and not apposition(\3, \4)
 19763  19812           -4>> =switchGender(\4, False)                                                       && Accord de genre erroné entre « \3 » et « \4 ».
 19764  19813           <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, False)                  && Accord de genre erroné avec « \4 ».
 19765  19814           <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4)
 19766  19815           -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
 19767  19816   
................................................................................
 19810  19859   TEST: les {{abricot}}                                         ->> abricots
 19811  19860   TEST: tels que les décrit Macron
 19812  19861   TEST: J’en ramasse quelques-unes, puis les glisse dans l’une de mes poches, ça me fera un souvenir.
 19813  19862   
 19814  19863   
 19815  19864   __gn_les_2m__
 19816  19865       les  *WORD  *WORD
 19817         -        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        19866  +        <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 19818  19867           <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
 19819  19868               and not apposition(\2, \3)
 19820  19869           -3>> =switchGender(\3, True)                                                                && Accord de genre erroné entre « \2 » et « \3 ».
 19821  19870           <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           && Accord de genre erroné avec « \3 ».
 19822  19871           <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 19823  19872           -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
 19824  19873   
 19825  19874       [et|ou]  les  *WORD  *WORD
 19826         -        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]") and not \3.startswith("seul") >>>
        19875  +        <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]") and not morph(\3, ">seul/") >>>
 19827  19876           <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*")))
 19828  19877               and not apposition(\3, \4)
 19829  19878           -4>> =switchGender(\4, True)                                                                && Accord de genre erroné entre « \3 » et « \4 ».
 19830  19879           <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, True)                           && Accord de genre erroné avec « \4 ».
 19831  19880           <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 19832  19881           -4>> =suggPlur(\4)                                                                          && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
 19833  19882   
................................................................................
 19882  19931   TEST: aux {{personne}}
 19883  19932   TEST: j’entends ces {{même}} âneries tous les jours
 19884  19933   TEST: clafoutis aux {{abricot}}
 19885  19934   
 19886  19935   
 19887  19936   __gn_det_epi_plur_2m__
 19888  19937       [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult]  *WORD  *WORD
 19889         -        <<- /gn/ not value(<1, "|et|ou|de|d’|au|aux|") and not \3.startswith("seul") >>>
        19938  +        <<- /gn/ not value(<1, "|et|ou|de|d’|au|aux|") and not morph(\3, ">seul/") >>>
 19890  19939           <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
 19891  19940               and not apposition(\2, \3)
 19892  19941           -3>> =switchGender(\3, True)                                                                && Accord de genre erroné entre « \2 » et « \3 ».
 19893  19942           <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True)                           && Accord de genre erroné avec « \3 ».
 19894  19943           <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 19895  19944           -3>> =suggPlur(\3)                                                                          && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
 19896  19945   
 19897  19946       [et|ou|de|d’]  [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult]  *WORD  *WORD
 19898         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        19947  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 19899  19948           <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*")))
 19900  19949               and not apposition(\3, \4)
 19901  19950           -4>> =switchGender(\4, True)                                                                && Accord de genre erroné entre « \3 » et « \4 ».
 19902  19951           <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, True)                           && Accord de genre erroné avec « \4 ».
 19903  19952           <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 19904         -            and not (\1.startswith("de") and value(<1, "|un|une|"))
        19953  +            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
 19905  19954           -4>> =suggPlur(\4)                                                                          && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
 19906  19955   
 19907  19956   TEST: ces {{beaux}} {{institutions}}
 19908  19957   TEST: nos petites {{fille}}
 19909  19958   TEST: de plusieurs {{grands}} {{avocates}}
 19910  19959   TEST: de vos défauts {{terrible}}, je connais presque tout.
 19911  19960   TEST: Les éléments caractéristiques liés à ses valeurs historique et architecturale
................................................................................
 19975  20024   
 19976  20025   
 19977  20026   __gn_det_plur_3m__
 19978  20027       [ces|mes|tes|ses|nos|vos|quels|quelles|aux]             *WORD  *WORD  *WORD
 19979  20028       [plusieurs|quelques|certains|certaines|moult]           *WORD  *WORD  *WORD
 19980  20029       [lesdits|lesdites|desdits|desdites|auxdits|auxdites]    *WORD  *WORD  *WORD
 19981  20030           <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
 19982         -            and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not \4.startswith("seul")
        20031  +            and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not morph(\4, ">seul/")
 19983  20032           -4>> =suggPlur(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.
 19984  20033   
 19985  20034       leurs  *WORD  *WORD  *WORD
 19986  20035           <<- /gn/ morph(\2, ":[NA].*:[pi]", "[123][sp]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)")
 19987         -            and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not \4.startswith("seul")
        20036  +            and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not morph(\4, ">seul/")
 19988  20037           -4>> =suggPlur(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel.
 19989  20038   
 19990  20039   TEST: ces petites sottes {{déjantée}}
 19991  20040   TEST: Leurs grands plans {{dépassé}} par les évènements
 19992  20041   TEST: Prendre goût aux heures passées seul à marcher
 19993  20042   
 19994  20043   
................................................................................
 20198  20247   
 20199  20248   TEST: {{Quels}} que soient ces idiotes                        ->> Quelles
 20200  20249   TEST: {{Quels}} qu’en soient les raisons                      ->> Quelles
 20201  20250   
 20202  20251   
 20203  20252   __gn_det_mas_plur_2m__
 20204  20253       [certains|quels|lesdits|desdits|auxdits]  *WORD  *WORD
 20205         -        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        20254  +        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 20206  20255           <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)
 20207  20256           -3>> =suggMasPlur(\3, True)                                                         && Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
 20208  20257           <<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 20209  20258           -3>> =suggMasPlur(\3)                                                               && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
 20210  20259   
 20211  20260       [et|ou|de|d’]  [certains|quels|lesdits|desdits|auxdits]  *WORD  *WORD
 20212         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \3.startswith("seul") >>>
        20261  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\3, ">seul/") >>>
 20213  20262           <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4)
 20214  20263           -4>> =suggMasPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est masculin, « \4 » est féminin.
 20215  20264           <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 20216         -            and not (\1.startswith("de") and value(<1, "|un|une|"))
        20265  +            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
 20217  20266           -4>> =suggMasPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
 20218  20267   
 20219  20268   TEST: certains claviers {{dégueulasse}}
 20220  20269   TEST: certains hommes {{petite}}
 20221  20270   TEST: auxdits hommes {{connu}}
 20222  20271   TEST: quels hommes {{grandes}}
 20223  20272   TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit.
 20224  20273   TEST: de quels grands {{fou}} s’agit-il ?
 20225  20274   TEST: chez certains la revue Limite provoque des crises d’hystérie.
 20226  20275   
 20227  20276   
 20228  20277   __gn_det_fem_plur_2m__
 20229  20278       [certaines|quelles|lesdites|desdites|auxdites]  *WORD  *WORD
 20230         -        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>>
        20279  +        <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>>
 20231  20280           <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3)
 20232  20281           -3>> =suggFemPlur(\3, True)                                                         && Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
 20233  20282           <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 20234  20283           -3>> =suggFemPlur(\3)                                                               && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
 20235  20284   
 20236  20285       [et|ou|de|d’]  [certaines|quelles|lesdites|desdites|auxdites]  *WORD  *WORD
 20237         -        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>>
        20286  +        <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>>
 20238  20287           <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4)
 20239  20288           -4>> =suggFemPlur(\4, True)                                                         && Accord de genre erroné : « \3 » est féminin, « \4 » est masculin.
 20240  20289           <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
 20241         -            and not (\1.startswith("de") and value(<1, "|un|une|"))
        20290  +            and not (value(\1, "|de|d’|") and value(<1, "|un|une|"))
 20242  20291           -4>> =suggFemPlur(\4)                                                               && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.
 20243  20292   
 20244  20293   TEST: certaines idioties {{stupide}}
 20245  20294   TEST: quelles grandes {{idiots}}
 20246  20295   TEST: je ne sais guère de quelles âneries {{proférés}} on parle.
 20247  20296   TEST: quelles étonnantes {{petits}}
 20248  20297   TEST: ici ou auxdites lointaines {{contrée}}
................................................................................
 22724  22773   
 22725  22774       [certains|certaines|plusieurs|quelques-uns|quelques-unes] d’ entre nous
 22726  22775           <<- /1>> _d_entre_nous_
 22727  22776   
 22728  22777       [certains|certaines|plusieurs|quelques-uns|quelques-unes] d’ entre vous
 22729  22778           <<- /1>> _d_entre_vous_
 22730  22779   
 22731         -
 22732  22780       [aucun|aucune] des *WORD [ne|n’]
 22733  22781           <<- ~2:3>> *
 22734  22782   
 22735  22783       [aucun|aucune] des *WORD *WORD [ne|n’]
 22736  22784           <<- ~2:4>> *
 22737  22785   
 22738  22786       beaucoup [de|d’] *WORD <end>
 22739  22787       beaucoup [de|d’] *WORD ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
 22740  22788       beaucoup [de|d’] *WORD @:[VR]¬:[NAP]
 22741  22789       beaucoup [de|d’] *WORD , @¬:[NA]
 22742         -        <<- morph(\3, ":[NA].*:p", ":(?:[NA].*:[si]|G)") /1>> bcp_plur
 22743         -        <<- morph(\3, ":[NA].*:s", ":(?:[NA].*:[pi]|G)") /1>> bcp_sing
        22790  +        <<- morph(\3, ":[NA].*:p", ":(?:[NA].*:[si]|G)") /1>> _bcp_plur_
        22791  +        <<- __else__ and morph(\3, ":[NA].*:s", ":(?:[NA].*:[pi]|G)") /1>> _bcp_sing_
 22744  22792           <<- ~2:3>> *
 22745  22793   
 22746  22794       la plupart des *WORD <end>
 22747  22795       la plupart des *WORD ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
 22748  22796       la plupart des *WORD @:[VR]¬:[NAP]
 22749  22797       la plupart des *WORD , @¬:[NA]
 22750  22798           <<- ~3:4>> *
................................................................................
 24102  24150       [<start>|,|$:Cs]  [l’|mon|ton|son|notre|votre|leur] (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_à_verbeétat_)   à  ?[ne|n’]¿ ?[en|y]¿       /_LVEF_verbe_à_verbeétat_   *WORD
 24103  24151       [<start>|,|$:Cs]  [l’|mon|ton|son|notre|votre|leur] (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_de_verbeétat_)  [de|d’] ?[ne|n’]¿ ?[en|y]¿  /_LVEF_verbe_de_verbeétat_  *WORD
 24104  24152           <<- /ppas/ not value(\-1, "|légion|néant|réalité|") and
 24105  24153               ((morph(\1, ":[NA].*:f", ":[GWme]") and morph(\-1, ":A.*:m", ":[GWMfe]")) or (morph(\1, ":[NA].*:m", ":[GWfe]") and morph(\-1, ":A.*:f", ":[GWme]")))
 24106  24154               and (morph(\2, ":[123]s") or (not tag(\1, "_enum_") and morph(\2, ":P")))
 24107  24155           --1>> =switchGender(\-1)                                                                    && Accord erroné : “\1” et “\-1” ne sont pas accordés en genre.
 24108  24156   
 24109         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre])                   *WORD
 24110         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (>avoir) [été|semblé|paru]                                                                     *WORD
 24111         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler])  [devenus|redevenus|restés|demeurés|devenues|redevenues|restées|demeurées]  *WORD
 24112         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_verbeétat_)     ?[en|y]¿                    /_LVEF_verbe_verbeétat_              *WORD
 24113         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_être_ppas_)     ?[en|y]¿  être              /_LVEF_verbe_être_ppas_              *WORD
 24114         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_avoir_ppas_)    ?[en|y]¿  avoir             /_LVEF_verbe_avoir_ppas_             *WORD
 24115         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_à_verbeétat_)   à  ?[ne|n’]¿ ?[en|y]¿       /_LVEF_verbe_à_verbeétat_            *WORD
 24116         -    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_de_verbeétat_)  [de|d’] ?[ne|n’]¿ ?[en|y]¿  /_LVEF_verbe_de_verbeétat_           *WORD
        24157  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre])                   *WORD
        24158  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (>avoir) [été|semblé|paru]                                                                     *WORD
        24159  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler])  [devenus|redevenus|restés|demeurés|devenues|redevenues|restées|demeurées]  *WORD
        24160  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_verbeétat_)     ?[en|y]¿                    /_LVEF_verbe_verbeétat_              *WORD
        24161  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_être_ppas_)     ?[en|y]¿  être              /_LVEF_verbe_être_ppas_              *WORD
        24162  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_avoir_ppas_)    ?[en|y]¿  avoir             /_LVEF_verbe_avoir_ppas_             *WORD
        24163  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_à_verbeétat_)   à  ?[ne|n’]¿ ?[en|y]¿       /_LVEF_verbe_à_verbeétat_            *WORD
        24164  +    [<start>|,|$:Cs]  [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_de_verbeétat_)  [de|d’] ?[ne|n’]¿ ?[en|y]¿  /_LVEF_verbe_de_verbeétat_           *WORD
 24117  24165           <<- /ppas/ not value(\-1, "|légion|néant|réalité|") and
 24118  24166               ((morph(\1, ":[NA].*:f", ":[GWme]") and morph(\-1, ":A.*:m", ":[GWMfe]")) or (morph(\1, ":[NA].*:m", ":[GWfe]") and morph(\-1, ":A.*:f", ":[GWme]"))) and morph(\2, ":(?:[123]p|P)")
 24119  24167           --1>> =switchGender(\-1)                                                                    && Accord erroné : “\1” et “\-1” ne sont pas accordés en genre.
 24120  24168   
 24121         -    *WORD  [que|qu’]  [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  ?[ne|n’]¿  ?[en|y]¿
        24169  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre])                   *WORD
        24170  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (>avoir) [été|semblé|paru]                                                                     *WORD
        24171  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler])  [devenus|redevenus|restés|demeurés]                                        *WORD
        24172  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_verbeétat_)     ?[en|y]¿                    /_LVEF_verbe_verbeétat_              *WORD
        24173  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_être_ppas_)     ?[en|y]¿  être              /_LVEF_verbe_être_ppas_              *WORD
        24174  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_avoir_ppas_)    ?[en|y]¿  avoir             /_LVEF_verbe_avoir_ppas_             *WORD
        24175  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_à_verbeétat_)   à  ?[ne|n’]¿ ?[en|y]¿       /_LVEF_verbe_à_verbeétat_            *WORD
        24176  +    [<start>|,|$:Cs]  certains  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_de_verbeétat_)  [de|d’] ?[ne|n’]¿ ?[en|y]¿  /_LVEF_verbe_de_verbeétat_           *WORD
        24177  +        <<- /ppas/ not value(\-1, "|légion|néant|réalité|") and morph(\1, ":[NA].*:[me]:[pi]", ":[GWfe]") and morph(\-1, ":A.*:f", ":[GWme]") and morph(\2, ":(?:[123]p|P)")
        24178  +        --1>> =switchGender(\-1)                                                                    && Accord erroné : “\1” et “\-1” ne sont pas accordés en genre.
        24179  +
        24180  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre])                   *WORD
        24181  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (>avoir) [été|semblé|paru]                                                                     *WORD
        24182  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler])  [devenues|redevenues|restées|demeurées]                                    *WORD
        24183  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_verbeétat_)     ?[en|y]¿                    /_LVEF_verbe_verbeétat_              *WORD
        24184  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_être_ppas_)     ?[en|y]¿  être              /_LVEF_verbe_être_ppas_              *WORD
        24185  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_avoir_ppas_)    ?[en|y]¿  avoir             /_LVEF_verbe_avoir_ppas_             *WORD
        24186  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_à_verbeétat_)   à  ?[ne|n’]¿ ?[en|y]¿       /_LVEF_verbe_à_verbeétat_            *WORD
        24187  +    [<start>|,|$:Cs]  certaines  (*WORD)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  (/_LVED_verbe_de_verbeétat_)  [de|d’] ?[ne|n’]¿ ?[en|y]¿  /_LVEF_verbe_de_verbeétat_           *WORD
        24188  +        <<- /ppas/ not value(\-1, "|légion|néant|réalité|") and morph(\1, ":[NA].*:[fe]:[pi]", ":[GWme]") and morph(\-1, ":A.*:m", ":[GWfe]") and morph(\2, ":(?:[123]p|P)")
        24189  +        --1>> =switchGender(\-1)                                                                    && Accord erroné : “\1” et “\-1” ne sont pas accordés en genre.
        24190  +
        24191  +    *WORD  [que|qu’]  [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  *WORD  ?[ne|n’]¿  ?[en|y]¿
 24122  24192           || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir])
 24123  24193           || [être|devenir|redevenir|rester|paraître|paraitre|sembler]                                *WORD
 24124         -    *WORD  [que|qu’]  [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  ?[ne|n’]¿  ?[en|y]¿
        24194  +    *WORD  [que|qu’]  [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  *WORD  ?[ne|n’]¿  ?[en|y]¿
 24125  24195           || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir])
 24126  24196           || être [devenu+e|redevenu+e|resté+e|demeuré+e]                                             *WORD
 24127         -    *WORD  [que|qu’]  [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs]  *WORD  ?[ne|n’]¿  ?[en|y]¿
        24197  +    *WORD  [que|qu’]  [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|$:B]  *WORD  ?[ne|n’]¿  ?[en|y]¿
 24128  24198           || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir])
 24129  24199           || avoir [été|semblé|paru]                                                                  *WORD
 24130  24200           <<- /ppas/ checkAgreement(\1, \-1) !-1>>
 24131  24201   
 24132  24202   TEST: Un orage est {{annoncée}}.
 24133  24203   TEST: ce chat ne sera pas {{euthanasiée}}
 24134  24204   TEST: Le chien qui n’y sera pas {{traitée}}
................................................................................
 24140  24210   TEST: cette carte qui n’y sera jamais {{retrouvé}} à temps
 24141  24211   TEST: Ma mémoire qui a aussi été {{effacé}}.
 24142  24212   TEST: Sa femme qui ne paraît pas avoir été {{choqué}}
 24143  24213   TEST: l’avenir de la région paraissait {{suspendue}} à ce financement
 24144  24214   TEST: l’idiot qui n’y affirmait pas être devenu {{géniale}} mais seulement moins ignorant
 24145  24215   TEST: Mon ami qui pensait être {{suivie}}
 24146  24216   TEST: l’écolier qui ne croyait pas avoir été {{brillante}}
 24147         -TEST: les femmes sont vraiment {{partis}}                                         ->> parties
 24148         -TEST: les hommes n’en sont pas tout à fait {{fâchées}}                            ->> fâchés
        24217  +TEST: les femmes sont vraiment {{partis}}                                                   ->> parties
        24218  +TEST: les hommes n’en sont pas tout à fait {{fâchées}}                                      ->> fâchés
 24149  24219   TEST: plusieurs invités qui n’en sont pas {{contentes}}
 24150  24220   TEST: les réunions sans cesse reportées qui sont {{annulés}}
 24151  24221   TEST: les hommes croyant être {{instruites}}
        24222  +TEST: deux estimations ont été {{reçus}}                                                    ->> reçues
        24223  +TEST: certains hommes croient avoir été {{dupées}}                                          ->> dupés
        24224  +TEST: certains hommes qui pensent être plus {{instruites}} qu’ils ne sont réellement        ->> instruits
        24225  +TEST: puisque certains hommes n’en pensent pas moins être {{trompées}}                      ->> trompés
        24226  +TEST: certains hommes qui n’en pensent pas devenir {{folles}} pour autant                   ->> fous
        24227  +TEST: certaines femmes pensent avoir été {{trompés}}                                        ->> trompées
        24228  +TEST: certaines femmes ne croient pas être {{appauvris}}                                    ->> appauvries
        24229  +TEST: certaines femmes qui y pensent être {{escroqués}}                                     ->> escroquées
        24230  +TEST: certaines femmes qui n’en risquent pas moins d’être {{découverts}}                    ->> découvertes
 24152  24231   TEST: Les tortures que ce journaliste pense être “normales”.
 24153  24232   TEST: La première était René, le parfumeur, qui s’approcha de Catherine
 24154  24233   TEST: les abrutis sont légion
 24155  24234   
 24156  24235   
 24157  24236   __ppas_nom_propre_être_accord_genre__
 24158  24237       [<start>|,|$:Cs]  ($:M)  ?qui¿  ?[ne|n’]¿  ?[en|y]¿  ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre])          *WORD
................................................................................
 27537  27616   TEST: Mais parmi les millions de causes à défendre, lesquelles choisir ?
 27538  27617   TEST: les failles par lesquelles entrait l’eau étaient impossibles à boucher.
 27539  27618   
 27540  27619   
 27541  27620   __conj_beaucoup__
 27542  27621       beaucoup    @:V¬:(?:P|Q|G|Y)
 27543  27622           <<- /conj/ not morph(<1, ":[VR]") >>>
 27544         -        <<- /conj/ tag(\1, "bcp_plur") and not morph(\2, ":3p")
        27623  +        <<- /conj/ tag(\1, "_bcp_plur_") and not morph(\2, ":3p")
 27545  27624           -2>> =suggVerb(\2, ":3p")                                   && Conjugaison erronée. Accord avec “\1”. Le substantif suivant étant au pluriel, le verbe devrait être à la 3ᵉ personne du pluriel.
 27546         -        <<- /conj/ __else__ and tag(\1, "bcp_sing") and not morph(\2, ":3s")
        27625  +        <<- /conj/ __else__ and tag(\1, "_bcp_sing_") and not morph(\2, ":3s")
 27547  27626           -2>> =suggVerb(\2, ":3s")                                   && Conjugaison erronée. Accord avec “\1”. Le substantif suivant étant au singulier, le verbe devrait être à la 3ᵉ personne du singulier.
 27548         -        <<- /conj/ __else__ and \2 != "a" and not tag(\1, "bcp_sing") and not morph(\2, ":3p") and not (space_after(\1, 1, 2) and morph(\2, ":V0"))
        27627  +        <<- /conj/ __else__ and \2 != "a" and not tag(\1, "_bcp_sing_") and not morph(\2, ":3p") and not (space_after(\1, 1, 2) and morph(\2, ":V0"))
 27549  27628           -2>> =suggVerb(\2, ":3p")                                   && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
 27550  27629   
 27551  27630       beaucoup    qui  @:V¬:(?:3p|P|G)
 27552  27631           <<- /conj/ -3>> =suggVerb(\3, ":3p")                        && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
 27553  27632   
 27554  27633   TEST: beaucoup {{vienne}}
 27555  27634   TEST: Beaucoup d’hommes y {{était}}.