Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -8631,13 +8631,19 @@ <<- /conf/ \2 == "a" -2>> à && Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. en cuire [de|d’] [âne|auroch|bison|bœuf|buffle|cerf|cheval|chèvre|chevreuil|crocodile|daim|génisse|hippopotame|kangourou|porc|sanglier|serpent|taureau|vache|veau|zébu|zèbre] <<- /conf/ -2>> cuir && Confusion. La peau animale s’écrit “cuir”.|https://fr.wiktionary.org/wiki/cuir + [>bonnet|>botte|>bracelet|>canapé|>ceinture|>chaussure|>chemise|>fauteuil|>gaine|>gant|>manteau|>pantalon|>robe|dessous|>sac|>vareuse|>veste] en cuire + >bracelet [de|d’] montre en cuire + >sac [à|a] >main en cuire + <<- /conf/ --1>> cuir && Confusion. La peau animale s’écrit “cuir”.|https://fr.wiktionary.org/wiki/cuir + TEST: ce sont des durs à {{cuir}} TEST: Quelle dure {{a}} {{cuir}}, celle-là. TEST: revêtement en {{cuire}} de vache +TEST: un bonnet en {{cuire}} # dans / d’en __conf_dans_dan_d_en__ d’ en [le|la|l’|les|de|d’|des|du|un|une|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs|ce|cet|cette|ces|chacun|plusieurs|quelques|certains|certaines] @@ -11689,11 +11695,11 @@ sur la [bonne|mauvaise] voix en ?[si|très|trop]¿ [bonne|mauvaise] [voix|vois|voit] <<- /conf/ --1>> voie && Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|https://fr.wiktionary.org/wiki/voie - [>marcher|>courir] ?@:[WX]¿ sur [la|cette|une|quelle] voix + [>avancer|>cheminer|>marcher|>courir] ?@:[WX]¿ sur [la|cette|une|quelle] voix [>emprunter|>indiquer|>montrer|>parcourir] ?@:[WX]¿ [la|cette|une|quelle] voix <<- /conf/ --1>> voie && Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|https://fr.wiktionary.org/wiki/voie >ouvrir ?@:[WX]¿ la voix [à|au|aux|] <<- /conf/ --2>> voie && Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|https://fr.wiktionary.org/wiki/voie @@ -13758,10 +13764,12 @@ __purge_locutions__ à *NUM % à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] de distance à [autrui|bâbord|brûle-pourpoint|califourchon|chacun|cheval|cloche-pied|confesse|contrecœur|contre-cœur|contre-pied|contre-sens|contretemps|>demi-mot|demi-voix|dessein|foison|grand-peine|genoux|gogo|jamais|jeun|loisir|merveille|moitié|nouveau|outrance|peine|perpète|perpette|perpétuité|présent|raison|rallonge|rebrousse-poil|reculons|regret|renverse|risque|sec|tâtons|tire-d’aile|tire-larigot|tort|tribord|tout-va|vif] à [mi-chemin|mi-côte|mi-jambe+s|mi-mandat|mi-mot+s|mi-parcours|mi-temps|mi-voix] + à [*NUM|$:B] [mètres|kilomètres] en [amont|aval] + à [*NUM|$:B] [mètres|kilomètres] plus loin à air comprimé à angle droit à armes égales à aucun prix à autre chose @@ -14057,10 +14065,11 @@ avec un peu [de|d’] chance avec un ?[léger|petit]¿ temps d’ avance avec un temps d’ avance ?$:W¿ [considérable|énorme|gigantesque|important|phénoménal] avec un ?[léger|petit]¿ temps [de|d’] retard avec un temps [de|d’] retard ?$:W¿ [considérable|énorme|gigantesque|important|phénoménal] + ayant pignon sur rue beaucoup [plus|moins] bel et bien bien assez tôt bien souvent bientôt @@ -14183,10 +14192,11 @@ [de|d’] ce fait ?[incontestable|irréfutable|même]¿ [de|d’] ce seul fait [de|d’] ce point [de|d’] vue [de|d’] cette sorte [de|d’] cet acabit + [de|d’] chaque côté [de|d’] côté [de|d’] courte vue [de|d’] deux choses l’ une [de|d’] droite à gauche [de|d’] droite comme [de|d’] gauche @@ -14384,10 +14394,11 @@ en quantité suffisante en quantité plus que suffisante en quelque sorte en queue [de|d’] peloton en rangs [dispersés|serrés] + en rangs d’ oignons ?serrés¿ en rase campagne en rase-mottes en règle générale en roue libre en second lieu @@ -14844,11 +14855,11 @@ d’ un bout à l’ autre [de|du|d’|des] dans l’ [attente|éventualité] [de|du|d’|des] dans la ligne de mire [de|du|d’|des] des [quatre|4] coins [de|du|d’|des] en [arrière|attente|amont|aval|bas|cas|cours|dehors|dépit|direction|faveur|guise|haut|marge] [de|du|d’|des] - en [possession|présence|provenance|quête|raison|sus|tête|termes|travers|vertu] [de|du|d’|des] + en [possession|présence|provenance|quête|raison|surplomb|sus|tête|termes|travers|vertu] [de|du|d’|des] en dépit de la proximité [de|du|d’|des] en forme [de|d’] en flagrant délit [de|d’] en hommage [à|au|aux] en l’ [absence|attente|honneur] [de|du|d’|des] @@ -15345,10 +15356,11 @@ >agence [de|d’] >voyage >agent [de|d’] [liaison|police] >agité du bocal >aide [de|d’] camp >aire d’ atterrissage + >aire [de|d’] >jeu >animal [de|d’] compagnie >appartement à louer >appât du gain ?[facile|rapide]¿ >appel au secours >appel à l’ aide ?humanitaire¿ @@ -15434,10 +15446,11 @@ >chauffeur [de|d’] bus >chef [de|d’] [cabinet|file] >chef d’ [état-major|entreprise] >chef d’ orchestre ?[moderne|symphonique]¿ >chemin [de|d’] [croix|fer|traverse] + >chemise à jabot >chemise [de|d’] nuit >chemise sans >manche >chèque en blanc >chèque sans provision >cheval [de|d’] [bataille|Troie] @@ -15704,11 +15717,12 @@ >ombre au tableau >onde [de|d’] choc >ordre du jour orge [perlé|mondé|carré] >nuit [de|d’] noces - >pacte de non-agression + >pacte [de|d’] non-agression + >pain au levain ?liquide¿ >pain [de|d’] mie >panier à linge >papier à [>lettre|musique] >parc à thème >parc d’ attractions @@ -15731,10 +15745,11 @@ >pince à linge [>piqûre|>piqure] [de|d’] rappel >pistolet à [eau|plomb] >placard à [>balai|chaussures] >plafond de verre + >plainte avec constitution de partie civile >plan [A|B|C|cul] >plan [de|d’] relance >planche [de|d’] salut >planche à repasser >plein aux as @@ -15745,11 +15760,11 @@ >pomme [de|d’] [discorde|terre|reinette|pin|Adam|api|amour|ambre|eau|or] >pompe à [chaleur|essence|fric|>incendie] >port [de|d’] plaisance >porte [de|d’] [entrée|service|garage|sortie] >porte d’ entrée - >pot [de|d’] [chambre|colle|départ] + >pot [de|d’] [chambre|colle|départ|échappement] >poudre aux yeux pour l’ amour du ciel >pouvoir d’ achat >président en exercice >presse à >scandale @@ -15768,10 +15783,11 @@ >rapport [de|d’] force >rat [de|d’] bibliothèque >rayon [de|d’] soleil >réaction en [chaîne|chaine] >région Grand Est + >règle [de|d’] base >règlement [de|d’] comptes >relation à distance >remède [de|d’] cheval >requête en nullité >requête en non [conciliation|inscription|lieu] @@ -15983,18 +15999,19 @@ __purge_syntagmes_nominaux_matière__ *WORD en acier ?[galvanisé|inoxydable|trempé]¿ *WORD en chêne ?massif¿ + *WORD en bois ?vernis¿ *WORD en [alu|aluminium|bois|contreplaqué|coton|cuir|cuivre|émail|étain|fer|fibrociment|fibro-ciment|inox|laiton|lin|métal|nacre|osier|plastique|plâtre|plomb|polycarbonate|polymère|verre|zinc] - || ?[rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿ + || ?[clair|foncé|rouge|vert|brun|marron|jaune|orange|bleu|gris|rose|noir|blanc]¿ <<- morph(\1, ":N", ":G") and not morph(>1, ":A.*:[me]:[si]") ~2:0>> * *WORD en pierre *WORD en pierre de taille *WORD en soie - *WORD en terre ?cuite¿ + *WORD en terre ?[battue|cuite]¿ <<- morph(\1, ":N", ":G") and not morph(>1, ":A.*:[fe]:[si]") ~2:0>> * TEST: deux câbles en acier situés de part et d’autre du chariot @@ -17016,10 +17033,11 @@ >tenir à [carreau|cœur] >tenir ?[ça|cela|ceci]¿ à distance ?respectable¿ >tenir [compte|compagnie|parole] >tenir au courant >tenir en haute estime + >tenir en retrait >tirer [avantage|profit] >tirer à blanc >tomber à [pic|point] >tourner à l’ aigre >tourner court @@ -18146,14 +18164,22 @@ TEST: elle tremblait de tout son {{cor}} # côté / coté __conf_côté_coté__ - [à|au|aux|>autre|bon|bons|mauvais|le|les|de|d’|ce|ces|du|mon|ton|son|mes|tes|ses|notre|votre|chaque|un|leur|leurs|quel|quels|quelques|plusieurs] [coté|cotés|cotée|cotées] - <<- /conf/ -2>> côté|côtés && Confusion : “coté” est le participe passé du verbe “coter”. + [au|autre|bon|le|ce|du|mon|ton|son|notre|votre|chaque|un|leur|quel|quelle] [coté|cotés|cotée|cotées] + <<- /conf/ --1>> côté && Confusion : “coté” est le participe passé du verbe “coter”.|https://fr.wiktionary.org/wiki/c%C3%B4t%C3%A9 -TEST: Je reste à ses {{cotés}}. + [aux|autres|bons|les|ces|son|mes|tes|ses|nos|vos|leurs|quels|quelles|quelques|plusieurs] [coté|cotés|cotée|cotées] + <<- /conf/ --1>> côtés && Confusion : “coté” est le participe passé du verbe “coter”.|https://fr.wiktionary.org/wiki/c%C3%B4t%C3%A9 + + [à|mauvais|de] [coté|cotés|cotée|cotées] + <<- /conf/ --1>> côté|côtés && Confusion : “coté” est le participe passé du verbe “coter”.|https://fr.wiktionary.org/wiki/c%C3%B4t%C3%A9 + +TEST: à son {{coté}} ->> côté +TEST: Je reste à ses {{cotés}}. ->> côtés +TEST: de mauvais {{cotés}} ->> côté|côtés # cote / côte / cotte __conf_côte_cote_cotte__ [>cote|>cotte] [de|d’] [>bœuf|>porc|>veau|Bretagne|>agneau|>albâtre|>Armor|>azur|>ivoire|>or|>opale|>émeraude] @@ -23581,38 +23607,78 @@ [avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] @:[NA]¬:[GY] ?,¿ [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] [avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] @:[NA]¬:[GY] @:[VR]¬:[NAP] [avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] @:[NAM]¬:[GY] , @¬:[NA] <<- ~1:2>> * - [ce|ton|son] *WORD *WORD - <<- morph(\2, ":[NA]", ":(?:[123]p|P|X|G|V0)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P|M)") >>> + [un|ce|cet|au|ledit] *WORD *WORD + <<- morph(\2, ":[NA].*[me]:[si]", ":(?:P|X|G|Y|V0)") and morph(\3, ":[NA].*[me]:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + <<- __else__ ~3>> * + + mon *WORD *WORD + <<- morph(\2, ":[NA].*:[si]", ":(?:P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + <<- __else__ ~3>> * + + [ton|son] *WORD *WORD + <<- morph(\2, ":[NA].*:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + <<- __else__ ~3>> * + + [cette|ma|ta|sa|ladite] *WORD *WORD + <<- morph(\2, ":[NA].*:[fe]:[si]", ":G") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + <<- __else__ ~3>> * + + [notre|votre] *WORD *WORD + <<- not value(<1, "|la|le|du|") and morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + <<- __else__ ~3>> * + + chaque *WORD *WORD + <<- morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>> <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * <<- __else__ ~3>> * - [le|la|les|leur|certains|certaines] *WORD *WORD - <<- morph(\2, ":[NA]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P|M)") >>> + le *WORD *WORD + <<- morph(\2, ":[NA].*[me]:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*[me]:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> * + <<- __else__ ~3>> * + + la *WORD *WORD + <<- morph(\2, ":[NA].*[fe]:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*[fe]:[si]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> * + <<- __else__ ~3>> * + + les *WORD *WORD + <<- morph(\2, ":[NA].*[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>> <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> * <<- __else__ ~3>> * l’ *WORD *WORD - <<- morph(\2, ":[NA]", ":(?:[123][sp]|P|X|G|Y|V0)|>air/") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\2, ":[NA].*:[si]", ":(?:[123][sp]|P|X|G|Y|V0)|>air/") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>> <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * <<- __else__ ~3>> * leur *WORD *WORD - <<- not value(<1, "|le|la|du|au|") and morph(\2, ":[NA]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P|M)") >>> + <<- not value(<1, "|le|la|du|au|") and morph(\2, ":[NA].*:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>> <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> * <<- __else__ ~3>> * leurs *WORD *WORD - <<- not value(<1, "|des|les|aux|") and morph(\2, ":[NA]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P|M)") >>> + <<- not value(<1, "|des|les|aux|") and morph(\2, ":[NA].*:[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + <<- __else__ ~3>> * + + [des|ces|mes|tes|ses|nos|vos|aux|quelques|lesdits|lesdites] *WORD *WORD + <<- morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>> <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * <<- __else__ ~3>> * - [des|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|au|aux] *WORD *WORD - <<- morph(\2, ":[NA]") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P|M)") >>> - <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> * + [certains|certaines|plusieurs] *WORD *WORD + <<- morph(\2, ":[NA].*:[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>> + <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> * <<- __else__ ~3>> * [de|d’] @:[NA].*:s¬:[YG] [de|d’] @:[NA].*:s¬:[YG] ?,¿ [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|est] [de|d’] @:[NA].*:s¬:[YG] @:[VR]¬:[NAP]