Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -3201,16 +3201,21 @@ TEST: il n’avait contracté qu’un {{pseudo mariage}}. TEST: elle connaissait de {{cet}} pseudo-prêtresse uniquement de nom. __tu_mots_composés_verbe_nom__ - [attrape|garde|porte|brise|cache|casse|chauffe|contre|coupe|cure|croque|entre|essuie|lance|lave|lève|marque|pare|passe|perce|pèse|porte|poste|pousse|presse|protège|ramasse|serre|taille|tire|tourne|traîne|traine|vide] *WORD - <<- /tu/ not (morph(\1, ":G") and morph(\2, ":[GYB]")) and morph(<1, ":(?:D|V0e)|") and analyse_with_next(\1, "-", ":N") + [contre|entre] *WORD + <<- /tu/ not morph(\2, ":[GYB]") and morph(<1, ":(?:D|V0e)|") and analyse_with_next(\1, "-", ":N") + ->> \1-\2 # Il manque probablement un trait d’union. + + [arrière|attrape|garde|porte|brise|cache|casse|chauffe|coupe|cure|croque|essuie|lance|lave|lève|marque|pare|passe|perce|pèse|porte|poste|pousse|presse|protège|ramasse|serre|taille|tire|tourne|traîne|traine|vide] *WORD + <<- /tu/ morph(<1, ":(?:D|V0e)|") and analyse_with_next(\1, "-", ":N") ->> \1-\2 # Il manque probablement un trait d’union. TEST: ce sont des {{lève tard}}. TEST: un {{brise glace}} +TEST: l’{{arrière pensée}} TEST: entre deux chaises… __tu_substantifs__ [à|a] tout [va|vas] @@ -5351,10 +5356,11 @@ -1>> à # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0 TEST: scrupuleux {{a}} n’en toucher qu’une part infime. TEST: Ne pas hésiter {{a}} {{demander}} des conseils. TEST: Sébastien {{a}} {{demander}} des conseils. +TEST: {{A}} vous lire, on ne sait plus que penser de toutes ces histoires __conf_à_a__ [|,] a moins [que|qu’] <<- /conf/ -2>> à # Confusion probable : « à moins que » pour dire « sauf si ». @@ -5628,10 +5634,12 @@ a qui mieux mieux a qui que ce soit a quelque distance a quelques exceptions près a ras >bord + a ras de terre + a ras [du|le] sol a rude épreuve a tel point a temps [plein|partiel|complet] a tête reposée a [tire-d’aile|tire-d’ailes] @@ -6323,10 +6331,22 @@ TEST: il en faut {{d’avantages}}. TEST: tout ce qu’il apporte d’avantages pécuniaires. TEST: un certain nombre d’avantages sociaux. TEST: ils ont tant d’avantages. + +# de temps à autre +__conf_de_temps_à_autre__ + [de|d’] [>tan|tant] [à|a] >autre + [de|d’] [>tan|tant|temps] a >autre + [de|d’] [>tan|tant|temps] [à|a] autres + <<- /conf/ ->> de temps à autre # Confusion. Locution “de temps à autre”.|https://fr.wiktionary.org/wiki/de_temps_%C3%A0_autre + +TEST: Il continuait son travail, mâchonnant de temps à autre une grosse chique qui tour à tour lui gonflait chaque joue. +TEST: Il venait {{de temps à autres}}. +TEST: {{de tan à autre}}, c’était correct de venir par ici. + # dés / dès / des __conf_dès_des_dés__ dés [que|qu’|un|une|le|la|l’|les|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|ce|cet|cette|ces|lors|après|maintenant|toujours|midi|minuit|aujourd’hui|hier|demain|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche|Pâques|Noël] <<- /conf/ not value(<1, "|un|une|de|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|") @@ -7402,19 +7422,26 @@ <<- /conf/ \3.islower() -1>> près # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose. si [>prêt|>pré] du but <<- /conf/ -2>> près # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose. + >raser de ?très¿ [>prêt|>pré] + <<- /conf/ --1>> près # Confusion probable. Raser de près. + à la virgule [>prêt|>pré] <<- /conf/ -4>> près # Confusion probable. Locution “à la virgule près”. + à quelques exceptions [>prêt|>pré] + <<- /conf/ -4>> près # Confusion probable. Locution “à quelques exceptions près”. + TEST: depuis {{prêt}} de 15 ans TEST: ils se sont approchés très {{prêts}}. TEST: Je suis si {{prêt}} d’y arriver. TEST: Elle est si {{prêt}} de la trouver. TEST: Il est {{près}} à les aider TEST: Elle va regarder ça de plus {{prêt}}. +TEST: Il était rasé de {{prés}} TEST: Il a obtenu un prêt de Patrick TEST: Il a obtenu un prêt de Le Drian # puits / puis @@ -7755,10 +7782,17 @@ TEST: elle sans vergogne TEST: elle sans la condamner TEST: elles sans un sou en poche TEST: elles sans grandes convictions + +__conf_sensé_censé__ + très >censée + <<- /conf/ -2>> =\2.replace("sens", "cens").replace("Cens", "Sens").replace("CENS", "SENS") # Confusion probable. Ce qui est “sensé” (de “bon sens”) et ce que chacun est “censé” accomplir. + +TEST: Des personnes très {{censées}} qui perdent parfois la tête. + # sans coup férir __conf_sans_coup_férir__ [>sang|sens|sent|>cent] [>cou|>coût|>cout|>coup|coud|couds] férir [sans|>sang|sens|sent|>cent] [>cou|>coût|>cout|coud|couds] férir @@ -9079,11 +9113,13 @@ à qui que ce soit à quelque distance à quelques [exceptions|nuances] près à quelques-uns d’ entre [nous|vous|eux] à quelques-unes d’ entre [nous|vous|elles] + à ras de terre à ras [bord|bords] + à ras [le|du] sol à rude épreuve à s’ y méprendre à somme nulle à tel point à temps [plein|partiel|complet] @@ -9950,11 +9986,11 @@ un peu moins bien un peu partout un peu plus [tôt|tard] que prévu un tant soit peu une à une - une [autre|nouvelle] fois + une [autre|nouvelle|première|seconde|troisième|quatrième|cinquième|sixième|septième|huitième|neuvième|dixième|onzième|douzième|treizième|quatorzième|quinzième|seizième|dix-septième|dix-huitième|dix-huitième|dix-neuvième|vingtième] fois une bonne fois pour toutes une dernière fois une fois de plus une fois n’ est pas coutume une fois pour toutes @@ -10597,11 +10633,11 @@ vieille école <<- morph(<1, ":(?:N|A|Q|W|V0e)", ":D") ~>> * __purge_couleurs__ - [beige|blanc|bleu|brun|châtain|cyan|gris|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet] [brillant|clair|fluo|foncé|irisé|mat|pâle|pastel|sombre|tendre|vif] + [beige|blanc|bleu|brun|châtain|cyan|gris|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet] [brillant|clair|fluo|foncé|irisé|mat|pâle|pastel|sombre|tendre|terne|vif] <<- morph(<1, ":[NAQ]") ~>> * bleu [ciel|indigo|marine|roi|saphir|turquoise] blond platine gris [acier|anthracite|perle|souris] @@ -12621,11 +12657,11 @@ TEST: Des créatures marines. TEST: Un cageot des premières cerises. __sgpl_couleurs_composées__ - [>beige|>châtain|>cyan|>écarlate|>jaune|>magenta|>marron|>mauve|>orange|>pourpre|>rouge|>vermeille] [>brillante|>claire|>fluo|>mat|>pâle|>pastel|>sombre|>tendre|>vive] + [>beige|>châtain|>cyan|>écarlate|>jaune|>magenta|>marron|>mauve|>orange|>pourpre|>rouge|>vermeille] [>brillante|>claire|>fluo|>mat|>pâle|>pastel|>sombre|>tendre|>terne|>vive] [>beige|>châtain|>cyan|>écarlate|>jaune|>magenta|>marron|>mauve|>orange|>pourpre|>rouge|>vermeille] [foncé|foncés|foncée|foncées|irisé|irisés|irisée|irisées] <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":[pf]")) ->> =suggSing(\1) + " " + suggSing(\2) # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais @@ -12634,11 +12670,11 @@ >rouge [>brique|>carmine|>cerise|>écarlate|rubis|>sang|>tomate|>vermillon] <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":p")) ->> =suggSing(\1) + " " + suggSing(\2) # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais - [>blanche|>bleue|>brune|>grise|>noire|>verte|>violette] [>brillante|>claire|>fluo|>mat|>pâle|>pastel|>sombre|>tendre|>vive] + [>blanche|>bleue|>brune|>grise|>noire|>verte|>violette] [>brillante|>claire|>fluo|>mat|>pâle|>pastel|>sombre|>tendre|>terne|>vive] [>blanche|>bleue|>brune|>grise|>noire|>verte|>violette] [foncé|foncés|foncée|foncées|irisé|irisés|irisée|irisées] <<- /sgpl/ morph(<1, ":N", ":D") and (not morph(\1, ":[me]:[si]") or morph(\2, ":[pf]")) ->> =suggMasSing(\1) + " " + suggSing(\2) # Les couleurs composées de plusieurs termes sont invariables.|https://fr.wikipedia.org/wiki/Accord_des_adjectifs_et_des_noms_de_couleur_en_fran%C3%A7ais @@ -13705,19 +13741,19 @@ >être >sensée ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:Y >être >sensée ?[ne|n’]¿ [lui|leur] en @:Y >être >sensée @:Y >être >sensée ne [pas|plus|jamais|rien|guère|point] <<- /conf/ not value(<1, "|l’|un|les|des|ces|") - -2>> =\2.replace("sens", "cens") # Confusion : “sensé” se dit de quelqu’un de “bon sens”. Pour ce qui est attendu, écrivez “censé”. + -2>> =\2.replace("sens", "cens").replace("Cens", "Sens").replace("CENS", "SENS") # Confusion : “sensé” se dit de quelqu’un de “bon sens”. Pour ce qui est attendu, écrivez “censé”. TEST: Ils sont {{sensés}} y parvenir. TEST: Elles étaient {{sensés}} m’y conduire TEST: il est {{sensé}} prendre l’avion demain TEST: Un être sensé ne ferait jamais ça. >censée - <<- /conf/ -1>> =\1.replace("cen", "sen").replace("Cen", "Sen").replace("CEN", "SEN") # Confusion probable. Ce qui est “sensé” (de “bon sens”) et ce que chacun est “censé” accomplir. + <<- /conf/ -1>> =\1.replace("sens", "cens").replace("Cens", "Sens").replace("CENS", "SENS") # Confusion probable. Ce qui est “sensé” (de “bon sens”) et ce que chacun est “censé” accomplir. TEST: Ce sont pourtant des gens si {{censés}} # chœur / cœur @@ -17219,39 +17255,45 @@ !!!! Participes passés avec “avoir” (formes interrogatives) !! __ppas_avoir_pronom__ *WORD /VCint *WORD - <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:[fp])", ":m:[si]") and not value(\3, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") + <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:[fp]|3[sp])", ":m:[si]") and not value(\3, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") and not morph(\1, ">(?:les|[nv]ous|en)/|:[NA].*:[fp]") and not before("(?i)\\b(?:quel(?:le|)s?|combien) ") -3>> =suggVerbPpas(\3, ":m:s") # Avec “avoir”, il faut un participe passé (au masculin singulier, sauf éventuellement si un COD précède). ?n’¿ (/VCint) *WORD - <<- /ppas/ morphVC(\1, ":V0a") and morph(\-1, ":(?:Y|2p|Q.*:[fp])", ":m:[si]") and not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") + <<- /ppas/ morphVC(\1, ":V0a") and morph(\-1, ":(?:Y|2p|Q.*:[fp]|3[sp])", ":m:[si]") and not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") --1>> =suggVerbPpas(\-1, ":m:s") # Avec “avoir”, il faut un participe passé (au masculin singulier, sauf éventuellement si un COD précède). + +TEST: Avais-je {{laissés}} ces notes sur la table ? ->> laissé +TEST: Aurait-elle {{suffit}} ->> suffi +TEST: N’avais-tu pas crainte de tout perdre ? +TEST: Combien de bêtes n’as-tu pas déjà massacrées +TEST: Combien de bêtes as-tu déjà massacrées + __ppas_l_m_t_avoir_pronom__ [l’|m’|t’] /VCint *WORD - <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:p)", ":[GWsi]") + <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:p|3[sp])", ":[GWsi]") -3>> =suggVerbPpas(\3, ":m:s") # Accord avec le COD “\1” : le participe passé “\3” devrait être au singulier (et accordé en genre). + +TEST: l’avait-il {{regardés}} longtemps ? ->> regardé +TEST: l’a-t-il {{finis}} ? ->> fini +TEST: m’as-tu {{entendus}} ? ->> entendu + __ppas_les_avoir_pronom__ les /VCint *WORD - <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:s)", ":[GWpi]") + <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:s|3[sp])", ":[GWpi]") -3>> =suggVerbPpas(\3, ":p") # Accord avec le COD “les” : le participe passé “\3” devrait être au pluriel (et accordé en genre). -TEST: Avais-je {{laissés}} ces notes sur la table ? -TEST: l’avait-il {{regardés}} longtemps ? TEST: les avais-tu {{acheté}} là-bas ? -TEST: {{A}} vous lire, on ne sait plus que penser de toutes ces histoires TEST: les ont-ils {{détecté}} ? TEST: les avaient-ils {{détectez}} ? -TEST: l’a-t-il {{finis}} ? -TEST: m’as-tu {{entendus}} ? -TEST: N’avais-tu pas crainte de tout perdre ? -TEST: Combien de bêtes n’as-tu pas déjà massacrées -TEST: Combien de bêtes as-tu déjà massacrées + + !! !! !!!! Participes passés génériques !! @@ -17915,11 +17957,13 @@ TEST: Entreront-ils en {{contacte}} avec eux ? ->> contact __conf_vc_int_imp_verbe__ [/VCint|/VCimp] @:[123][sp]¬:[GNAQW] - <<- /conf/ not value(\1, "|rendez-vous|entre-nous|entre-vous|entre-elles|") -2>> _ # Incohérence probable : “\1” est une forme verbale conjuguée. + <<- /conf/ not value(\1, "|rendez-vous|entre-nous|entre-vous|entre-elles|") >>> + <<- /conf/ morphVC(\1, ":V0") -2>> =suggVerbPpas(\2) # Incohérence probable : “\2” est une forme verbale conjuguée. + <<- __else__ -2>> _ # Incohérence probable : “\2” est une forme verbale conjuguée. TEST: Annonce-le {{dépare}}. TEST: prends-la {{tète}}.