Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -3944,19 +3944,22 @@ <<- /tu/ -2:3>> beaux-arts # Il manque un trait d’union. bouche à [bouche|>oreille] <<- /tu/ morph(<1, ":D") ->> \1-\2-\3 # Il manque les traits d’union. + >centre >ville + <<- /tu/ ->> centre-ville|centres-villes # Il manque un trait d’union. + + [chassé+ses] [croisé+ses] + <<- /tu/ ->> chassé-croisé|chassés-croisés # Il manque un trait d’union. + >chef lieu <<- /tu/ ->> \1-\2 # Il manque un trait d’union. >chef d’ œuvre <<- /tu/ ->> \1-\2\3 # Il manque un trait d’union. - >centre >ville - <<- /tu/ ->> centre-ville|centres-villes # Il manque un trait d’union. - [auto|moto] >club <<- /tu/ ->> \1\2|\1-\2|\2 \1 # Mettez un trait d’union, fusionnez ou inversez les termes. <<- ~>> ␣ déjà vu @@ -4077,10 +4080,11 @@ TEST: je déteste le {{basket ball}} TEST: sur le {{bas côté}} TEST: les {{beaux arts}} TEST: {{le}} {{bouche à oreille}} TEST: {{chef lieu}} de ce canton +TEST: un {{chassé croisé}} TEST: ne vois-tu pas que c’est un {{chef d’œuvre}} ? TEST: ils sont allés au {{centre ville}}. TEST: Le {{moto club}} était sur le point de faire faillite. TEST: J’ai beaucoup de {{déjà vu}}. TEST: L’{{état major}} n’a pas encore tranché la question. @@ -12805,10 +12809,32 @@ >avoir pour [lui|nous|vous|longtemps] ?@:W¿ @:Q >être pour [lui|nous|vous|longtemps] ?@:W¿ @:[QA] <<- ~2:-2>> * + +__purge_adverbes_de_négation__ + jamais + <<- ~>> * + + guère + <<- ~>> * + + [point|plus|bien|ensemble] + pas ?[moins|plus]¿ + <<- morph(<1, ":V") ~>> * + + rien + <<- morph(<1, ":V") and not value(>1, "|qui|de|d’|") ~>> * + + /VCint [pas|point|bien|ensemble] + /VCint pas ?[moins|plus]¿ + <<- ~2>> * + + /VCint rien + <<- not value(>1, "|qui|de|d’|") ~2>> * + __purge_avant_adjectifs_adverbes__ le @:[NAQ].*:[me]¬:G le plus @:A.*:[me] <<- ~3:4>> * @@ -12899,113 +12925,147 @@ <<- ~1>> * __purge_locutions_potentielles__ à ce [jour|moment] @¬:A.*:[me]:[si] + à ce [jour|moment] [|,] <<- ~1:3>> * à [mon|ton|son|notre|votre|leur] sens @¬:A.*:[me]:[si] + à [mon|ton|son|notre|votre|leur] sens [|,] <<- ~1:3>> * à [mes|tes|ses|nos|vos|leurs] yeux @¬:A.*:[me]:[pi] + à [mes|tes|ses|nos|vos|leurs] yeux [|,] <<- ~1:3>> * à la dernière [minute|seconde] @¬:A.*:[fe]:[si] + à la dernière [minute|seconde] [|,] <<- ~1:4>> * à la longue @¬:N.*:[fe]:[si] + à la longue [|,] à la dérive @¬:A.*:[fe]:[si] + à la dérive [|,] à l’ époque @¬:A.*:[fe]:[si] + à l’ époque [|,] <<- ~1:3>> * à répétition @¬:A.*:[fe]:[si] + à répétition [|,] <<- ~1:2>> * au [départ|quotidien] @:¬:A.*:[me]:[si] + au [départ|quotidien] [|,] <<- ~1:2>> * au pire @:A¬:N.*:[me]:[si] + au pire [|,] <<- ~1:2>> * [|,] ben voyons <<- ~2:3>> * chaque [année|semaine|journée|décennie] @¬:(?:A.*:[fe]:[si]|Oo|[123][sp]) + chaque [année|semaine|journée|décennie] [|,] <<- ~1:2>> * chaque [an|jour|mois] @¬:(?:A.*:[me]:[si]|Oo|[123][sp]) + chaque [an|jour|mois] [|,] <<- ~1:2>> * d’ [avance|évidence] @¬:A.*:[fe]:[si] + d’ [avance|évidence] [|,] <<- ~1:2>> * dans l’ ensemble @¬:A.*:[me]:[si] + dans l’ ensemble [|,] <<- ~1:3>> * dans tous les cas @:A¬:A.*:[me]:[pi] <<- ~1:4>> * de ce fait @¬:A.*:[me]:[si] + de ce fait [|,] <<- ~1:3>> * de ce seul fait @¬:A.*:[me]:[si] + de ce seul fait [|,] <<- ~1:4>> * des fois @¬:A.*:[fe]:[pi] + des fois [|,] <<- ~1:2>> * dès le départ @¬:A.*:[me]:[si] + dès le départ [|,] <<- ~1:3>> * dès les premiers [jours|mois|ans|siècles|trimestres|semestres] @¬:A.*:[me]:[pi] + dès les premiers [jours|mois|ans|siècles|trimestres|semestres] [|,] <<- ~1:4>> * dès les premières [années|semaines|minutes|secondes|heures|décennies] @¬:A.*:[fe]:[pi] + dès les premières [années|semaines|minutes|secondes|heures|décennies] [|,] <<- ~1:4>> * en [certaines|quelques|plusieurs] occasions @¬:A.*:[fe]:[pi] + en [certaines|quelques|plusieurs] occasions [|,] <<- ~1:3>> * en de multiples occasions @¬:A.*:[fe]:[pi] + en de multiples occasions [|,] <<- ~1:4>> * en un sens @¬:A.*:[me]:[si] + en un sens [|,] <<- ~1:3>> * entre autres choses @¬:A.*:[fe]:[pi] + entre autres choses [|,] <<- ~1:3>> * [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies] @¬:A.*:[fe]:[pi] + [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies] [|,] <<- ~1:2>> * de [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies] @¬:A.*:[fe]:[pi] + de [quelques|plusieurs] [secondes|minutes|heures|journées|semaines|années|décennies] [|,] <<- ~1:3>> * de nombreuses [secondes|minutes|heures|journées|semaines|années|décennies] @¬:A.*:[fe]:[pi] + de nombreuses [secondes|minutes|heures|journées|semaines|années|décennies] [|,] <<- ~1:3>> * [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles] @¬:A.*:[me]:[pi] + [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles] [|,] <<- ~1:2>> * de [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles] @¬:A.*:[me]:[pi] + de [quelques|plusieurs] [instants|moments|jours|mois|ans|siècles] [|,] <<- ~1:3>> * de nombreux [instants|moments|jours|mois|ans|siècles] @¬:A.*:[me]:[pi] + de nombreux [instants|moments|jours|mois|ans|siècles] [|,] <<- ~1:3>> * [de|d’] [façon|manière] ?non¿ @:A.*:[fe]:[si] et ?non¿ @:A.*:[fe]:[si]¬:[GM] [de|d’] [façon|manière] ?non¿ @:A.*:[fe]:[si] <<- ~>> * pour partie @:¬:A.*:f:s + pour partie [|,] <<- ~1:2>> * ?à¿ un [instant|moment] @¬:A.*:[me]:[si] + ?à¿ un [instant|moment] [|,] un seul [instant|moment] @¬:A.*:[me]:[si] + un seul [instant|moment] [|,] <<- not morph(<1, ":R|>d’/") ~1:-2>> * - un jour @¬:A.*:[me]:[si] + un jour @:¬:A.*:[me]:[si] + un jour [|,] <<- not morph(<1, ":R|>d’/") ~1:2>> * semblait-il semble-t-il <<- not value(<1, "|ça|cela|ceci|me|te|lui|nous|vous|leur|") ~>> * @@ -13187,42 +13247,42 @@ >tourner a l’ aigre >venir a bout [>venir|>revenir] a point <<- /conf/ -2>> à # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. - >faire ?[guère|jamais|pas]¿ plaisirs + >faire plaisirs <<- /sgpl/ --1>> plaisir # Faire plaisir : dans cette locution, “plaisir” doit être au singulier. <<- ~-1>> * >laisser pour [comte+s|>conte] <<- /conf/ --1>> compte # Confusion. Locution “laisser pour compte”.|https://fr.wiktionary.org/wiki/laisser_pour_compte - [>mourir|>paraître|>paraitre|>rester|>sembler] ?[guère|jamais|pas]¿ >jeûne + [>mourir|>paraître|>paraitre|>rester|>sembler] >jeûne <<- /conf/ -2>> jeune # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune - >partir ?[guère|jamais|pas]¿ en >couille + >partir en >couille <<- /conf/ -3>> quenouille|vrille # Confusion. La locution “partir en couille” est un barbarisme. Locution authentique : “partir/tomber en quenouille”. Peut-être voulez-vous dire “partir en vrille” ?|https://fr.wiktionary.org/wiki/partir_en_quenouille >rendre ?bon¿ [comte|comtes|>conte|comptes] <<- /conf/ --1>> compte # Confusion. Locution “rendre compte”.|https://fr.wiktionary.org/wiki/rendre_compte >suivre ?[ça|cela|ceci]¿ de [>prêt|>pré] <<- /conf/ --1>> près # Confusion : écrivez “près” pour dire “proche de quelque chose”.|https://fr.wiktionary.org/wiki/pr%C3%A8s - >tenir ?[guère|jamais|pas]¿ [comte|comtes|>conte|comptes] + >tenir [comte|comtes|>conte|comptes] <<- /conf/ --1>> compte # Confusion. Locution “tenir compte”.|https://fr.wiktionary.org/wiki/tenir_compte - >tourner ?[guère|jamais|pas]¿ [coure|courre|cour|cours] + >tourner [coure|courre|cour|cours] <<- /conf/ --1>> court # Confusion. Locution “tourner court”.|https://fr.wiktionary.org/wiki/tourner_court - [s’|m’|t’] en >laisser ?[guère|jamais|pas]¿ [compter|compté+ses|>comté] - nous nous en >laisser ?[guère|jamais|pas]¿ [compter|compté+ses|>comté] - vous vous en >laisser ?[guère|jamais|pas]¿ [compter|compté+ses|>comté] + [s’|m’|t’] en >laisser [compter|compté+ses|>comté] + nous nous en >laisser [compter|compté+ses|>comté] + vous vous en >laisser [compter|compté+ses|>comté] ne pas [nous|vous] en laisser [compter|compté+ses|>comté] <<- /conf/ --1>> conter # Confusion. Locution “s’en laisser conter”, c’est-à-dire se laisser raconter des histoires.|https://fr.wiktionary.org/wiki/ne_pas_s%E2%80%99en_laisser_conter - >compter ?[guère|jamais|pas]¿ fleurette + >compter fleurette <<- /conf/ -1>> =\1.replace("omp", "on").replace("OMP", "ON") # Confusion. Locution “conter fleurette”.|https://fr.wiktionary.org/wiki/conter_fleurette TEST: ce contrat arrive {{a}} échéance. TEST: il faut tenir {{contes}} des faits au lieu de nos impressions. TEST: prendre {{a}} la légère ce test serait une erreur. @@ -15666,16 +15726,20 @@ >avoir l’ [aire|ère] [de|d’] <<- /conf/ -3>> air # Confusion probable. La locution “avoir l’air de” signifie “sembler”, “paraître”…|https://fr.wiktionary.org/wiki/avoir_l%E2%80%99air [>air|>ère] [de|d’] [atterrissage|autoroute|repos] - <<- /conf/ -1>> aire|aires # Confusion. Une ère est une époque. L’air est un gaz, une apparence ou une musique. Pour évoquer une surface, écrivez “aire”. + <<- /conf/ -1>> aire|aires # Confusion. Une ère est une époque. L’air est un gaz, une apparence ou une musique. Pour évoquer une surface, écrivez “aire”.|https://fr.wiktionary.org/wiki/aire + + >baptême de l’ [ère|aire] + <<- /conf/ --1>> air # Confusion. Une ère est une époque. L’aire est une surface. Pour parler de l’atmosphère, écrivez “air”.|https://fr.wiktionary.org/wiki/air TEST: L’{{aire}} du pétrole n’est pas encore terminée. TEST: Ce sera un jour dans l’{{ère}} du temps TEST: il a l’{{aire}} d’un plouc. TEST: on s’arrêtera sur l’{{air}} d’autoroute +TEST: baptême de l’{{aire}} # auspice / hospice __conf_auspices_hospices__ sous [les|de|des|ces] ?*WORD¿ (hospices) @@ -16401,13 +16465,13 @@ TEST: Ton ère va bientôt prendre {{faim}}. # faite / faîte / fait __conf_faites_faîte_fait__ - vous [ne|me|leur|lui|nous|vous] (>faîte) - vous (>faîte) - <<- /conf/ -1>> faites # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose. + vous [ne|me|leur|lui|nous|vous] >faîte + vous >faîte + <<- /conf/ --1>> faites # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose. faîtes vous <<- /conf/ not morph(<1, ":D.*:[me]:[sp]") ->> faites-vous # Confusion. Le faîte (≠ faire) est le point culminant de quelque chose. [>avoir|>être] >faîte @@ -17482,11 +17546,11 @@ TEST: ils ont intérêt à {{obligés}} ces gens TEST: Tous ceux qui ont du mal à {{obligé}} ces gens __infi_verbe_de_verbe__ - [>cesser|>décider|>défendre|>suggérer|>commander|>essayer|>tenter|>choisir|>permettre|>interdire] ?[pas|plus|point|guère|jamais]¿ [de|d’] *WORD + [>cesser|>décider|>défendre|>suggérer|>commander|>essayer|>tenter|>choisir|>permettre|>interdire] [de|d’] *WORD <<- /infi/ not morph(\1, ":N") and analyse(\-1, ":V1.*:Q", ":(?:M|Oo)") or analyse(\-1, ":[123][sp]", ":[MNG]") --1>> =suggVerbInfi(\-1) # Après “\1 de”, le verbe devrait être à l’infinitif. TEST: cessez d’{{anesthésié}} ces gens ! TEST: Le menu Format contient de nombreuses commandes de mise en forme. @@ -17602,23 +17666,23 @@ TEST: Sommes-nous désespérés à ce point ? TEST: Vous d’habitude si réservée. __infi_devoir_pouvoir_savoir_vouloir__ - >devoir ?[pas|plus|point|guère|jamais]¿ ~..(?:ée?s?|ez)$ + >devoir ~..(?:ée?s?|ez)$ <<- /infi/ morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not (value(\1, "|devant|") and morph(\-1, ":N")) --1>> =suggVerbInfi(\-1) # S’il s’agit d’une action que le sujet doit accomplir, le verbe devrait être à l’infinitif. - >pouvoir ?[pas|plus|point|guère|jamais]¿ ~..(?:ée?s?|ez)$ + >pouvoir ~..(?:ée?s?|ez)$ <<- /infi/ not value(\1, "|puis|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) # S’il s’agit d’une action que le sujet peut accomplir, le verbe devrait être à l’infinitif. - >savoir ?[pas|plus|point|guère|jamais]¿ ~..(?:ée?s?|ez)$ + >savoir ~..(?:ée?s?|ez)$ <<- /infi/ not value(<1, "|me|m’|te|t’|se|s’|le|la|l’|les|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) # S’il s’agit d’une action que le sujet sait accomplir, le verbe devrait être à l’infinitif. - >vouloir ?[pas|plus|point|guère|jamais]¿ ~..(?:ée?s?|ez)$ + >vouloir ~..(?:ée?s?|ez)$ <<- /infi/ not value(<1, "|me|m’|te|t’|se|s’|le|la|l’|les|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) # S’il s’agit d’une action que le sujet veut accomplir, le verbe devrait être à l’infinitif. de [devoir|pouvoir|savoir|vouloir] ~(?:ée?s?|ez|ai[ts]?)$ <<- /infi/ morph(\-1, ":V", ":M") @@ -17638,21 +17702,21 @@ TEST: je le savais désiré par de nombreuses personnes. TEST: il les savait commandités par ses ennemis. __infi_devoir_pouvoir_savoir_vouloir_interrogatif__ - /VCint ?[pas|jamais]¿ ?[en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ *WORD + /VCint ?[en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ *WORD <<- /infi/ morphVC(\1, ">(?:devoir|savoir|pouvoir|vouloir)/") and morph(\-1, ":(?:Q|A|[123][sp])", ":[GYW]") --1>> =suggVerbInfi(\-1) # Après “\1”, le verbe devrait être à l’infinitif. - /VCint ?[pas|jamais]¿ [le|la|l’|les] *WORD + /VCint [le|la|l’|les] *WORD <<- /infi/ morphVC(\1, ">(?:devoir|savoir|pouvoir|vouloir)/") and morph(\-1, ":(?:Q|A|[123][sp])", ":[GYWN]") --1>> =suggVerbInfi(\-1) # Après “\1”, le verbe devrait être à l’infinitif. - /VCint ?[pas|jamais]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] *WORD - /VCint ?[pas|jamais]¿ [le|la|l’|les] [lui|leur|en|y] *WORD - /VCint ?[pas|jamais]¿ [lui|leur] en *WORD + /VCint [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] *WORD + /VCint [le|la|l’|les] [lui|leur|en|y] *WORD + /VCint [lui|leur] en *WORD <<- /infi/ morphVC(\1, ">(?:devoir|savoir|pouvoir|vouloir)/") and morph(\-1, ":(?:Q|A|[123][sp])", ":[GYW]") --1>> =suggVerbInfi(\-1) # Après “\1”, le verbe devrait être à l’infinitif. TEST: Peuvent-elles s’{{installaient}} ici ? TEST: Peut-il {{chassé}} ces intrus ? @@ -17666,11 +17730,11 @@ TEST: Elles ont voulu {{mangé}} de la viande. TEST: en voulant {{changé}} __infi_commencer_finir_par__ - [>commencer|>finir] ?[pas|plus|point|guère|jamais]¿ par *WORD + [>commencer|>finir] par *WORD <<- /infi/ morph(\3, ":V", ":[NGMY]") and not \3[0:1].isupper() -3>> =suggVerbInfi(\3) # Le verbe devrait être à l’infinitif. TEST: commence par {{mangé}} le poulet. TEST: enfin la petite finit par {{pleuré}} à chaudes larmes. @@ -17792,28 +17856,27 @@ TEST: Laisse-la {{abandonnée}} ses études, si c’est ce qu’elle veut. TEST: Cette perplexité à exister qui sans cesse vous tourmente et vous laisse désemparé __infi_suffire_de__ - [suffit|suffisait|suffira|suffirait] ?[pas|plus|point|guère|jamais]¿ [de|d’] @:V¬:[YMNWG] - >avoir suffi ?[pas|plus|point|guère|jamais]¿ [de|d’] @:V¬:[YMNWG] - [suffit-il|suffisait-il|suffira-t-il|suffirait-il] ?[pas|plus|point|guère|jamais]¿ [de|d’] @:V¬:[YMNWG] + [suffit|suffisait|suffira|suffirait] [de|d’] @:V¬:[YMNWG] + >avoir suffi [de|d’] @:V¬:[YMNWG] + [suffit-il|suffisait-il|suffira-t-il|suffirait-il] [de|d’] @:V¬:[YMNWG] <<- /infi/ --1>> =suggVerbInfi(\-1) # Après “suffire”, le verbe doit être à l’infinitif. TEST: il suffit de {{pensé}} à ça pour déprimer. TEST: il suffit de {{mangé}} sain pour aller mieux. TEST: il ne suffit pas de pensées positives pour calmer son anxiété. TEST: il suffit de cela. - __infi_mieux_valoir__ - mieux ?[ne|n’]¿ >valoir ?[pas|plus|point|guère|jamais]¿ ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ - mieux ?[ne|n’]¿ >valoir ?[pas|plus|point|guère|jamais]¿ ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ - mieux ?[ne|n’]¿ >valoir ?[pas|plus|point|guère|jamais]¿ ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ - mieux ?[ne|n’]¿ >valoir ?[pas|plus|point|guère|jamais]¿ ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ - mieux ?[ne|n’]¿ >valoir ?[pas|plus|point|guère|jamais]¿ ?[ne|n’]¿ [lui|leur|y] en ~..(?:ée?s?|ez|ai[ts]?)$ + mieux ?[ne|n’]¿ >valoir ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ + mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ + mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ + mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ + mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ée?s?|ez|ai[ts]?)$ <<- /infi/ analyse(\-1, ":V1.*:(?:Q|[123][sp])", ":[GM]") --1>> =suggVerbInfi(\-1) # Après “mieux vaut…”, le verbe devrait être à l’infinitif. TEST: Mieux vaut {{consacré}} son temps à des occupations utiles. TEST: Mieux ne vaut pas {{arrivé}} en retard. @@ -17934,25 +17997,10 @@ ### Mots grammaticaux autour des verbes __purge_syntagme_verbal__ ne [lui|leur] <<- not value(>1, "|en|") ~2>> * - jamais - <<- ~>> * - - guère - <<- ~>> * - - [pas|point|bien|ensemble] - <<- morph(<1, ":V") ~>> * - - rien - <<- morph(<1, ":V") and not value(>1, "|qui|") ~>> * - - /VCint [pas|point|rien|bien|ensemble] - <<- ~2>> * - que >sembler [le|l’] [penser|croire|présumer|supposer|envisager|imaginer|supposer] <<- ~3:4>> * que l’ on <<- ~2>> *