Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -5980,10 +5980,13 @@ état major états majors <<- /tu/ ->> \1-\2 && Il manque un trait d’union. + >fac [similé+ses] + <<- /tu/ ->> fac-similé|fac-similés && Il manque un trait d’union. + face [a|à] face <<- /tu/ morph(<1, ":D") ->> face-à-face && Si vous employez cette locution comme un nom, mettez des traits d’union.|https://fr.wiktionary.org/wiki/face-%C3%A0-face [fier+s] [à|a] bras <<- /tu/ ->> \1-à-bras && Il manque les traits d’union.|https://fr.wiktionary.org/wiki/fier-%C3%A0-bras @@ -6138,10 +6141,11 @@ TEST: encore un {{couvre feu}} ->> couvre-feu|couvre-feux TEST: encore un {{cul de sac}} ->> cul-de-sac TEST: Le {{moto club}} était sur le point de faire faillite. ->> motoclub|moto-club|club moto TEST: J’ai beaucoup de {{déjà vu}}. ->> déjà-vu TEST: L’{{état major}} n’a pas encore tranché la question. ->> état-major +TEST: des {{facs similés}} ->> fac-similé|fac-similés TEST: Le {{face à face}} entre les forces de l’ordre et les manifestants ->> face-à-face TEST: ces {{fiers à bras}} vont encore se prendre une raclée mémorable ->> fiers-à-bras TEST: {{gagne pain}} de merde ->> gagne-pain TEST: perfusé par des {{goutte à goutte}} ->> goutte-à-goutte TEST: ces {{gratte ciel}} ->> gratte-ciel @@ -18765,10 +18769,12 @@ >certificat [de|d’] [conformité|virginité] >certificat [de|d’] bonne conduite >certificat d’ études ?[primaires|secondaires|supérieures|spécialisées|musicales|théâtrales|bibliques|théologiques]¿ >certificat [de|d’] scolarité ?[maternelle|primaire|secondaire]¿ [>chaîne|>chaine] [de|d’] restauration rapide + [>chaîne|>chaine] d’ [>information|>info] + [>chaîne|>chaine] d’ [>information|>info] en continu >chair à [pâté|>canon] >chair [de|d’] poule >chalet d’ alpage >chambre à [coucher|gaz] >chambre [de|d’] [agriculture|hôte|hôtel|hôtes|commerce|compensation|décompression|dégrisement] @@ -18868,17 +18874,18 @@ >danseur [de|d’] cabaret >date butoir >date d’ expiration >débat sans fin >déclaration sur l’ honneur + >défaut [de|d’] paiement >degré d’ arc >délai [de|d’] [attente|carence|connexion|prescription|préavis|rétraction|rigueur] >demande d’ asile >demandeur d’ [asile|emploi] >dépôt [de|d’] bilan - >défaut [de|d’] paiement >descente aux [enfers|flambeaux] + >détournement de fonds ?[publics|privés]¿ >dindon [de|d’] la farce dieu tout-puissant [>dîner|>diner] aux chandelles [>dîner|>diner] [de|d’] gala >discipline [de|d’] [acier|fer] @@ -21060,10 +21067,11 @@ TEST: Les études révèlent un risque d’écrêtement du trafic ferroviaire dès 2025, lorsque la demande est la plus critique, c’est-à-dire le vendredi soir à l’heure de pointe. TEST: Beaucoup de conciles émaneront des normes pour que soient nommés des curés idoines, qui soient vraiment au service de la paroisse, qui se distinguent par leur science et qui soient de vrais pasteurs au sein de la communauté de fidèles. TEST: Les ailes de cet avion viennent de Grande-Bretagne. TEST: La liberté passait sur le monde, l’internationale était sa voix criant par-dessus les frontières les revendications des déshérités. TEST: La danse est d’ailleurs en ce sens salvatrice. +TEST: La gauche a fait main basse sur la plupart des villes vaudoises, les Verts bondissent aux législatifs. @@@@ @@@@ @@ -24058,15 +24066,19 @@ >faire la pluie et le beau [tant|>tan] [>avoir|>prendre||,|(] du bon [tant|>tan] [>avoir|>prendre||,|(] la notion du [tant|>tan] c’ >être [le|l’] bon ?vieux¿ [tant|>tan] - >prendre du [tant|>tan] + >prendre du ?bon¿ [tant|>tan] + >prendre [mon|ton|son|notre|votre|leur] >tan au bon vieux [tant|>tan] combien [de|d’] [>tan|tant] <<- /conf/ --1>> temps && Confusion probable. Pour parler d’une période, écrivez “temps”.|https://fr.wiktionary.org/wiki/temps + >prendre [mon|ton|son|notre|votre|leur] tant + <<- /conf/ not morph(>1, ":[AW]") --1>> temps && Confusion probable. Pour parler d’une période, écrivez “temps”.|https://fr.wiktionary.org/wiki/temps + les [tant|>tan] >changer les [tant|>tan] >avoir [changé+ses] <<- /conf/ -2>> temps && Confusion probable. Pour parler d’une période, écrivez “temps”.|https://fr.wiktionary.org/wiki/temps >avoir temps [de|d’] @:N¬:V @@ -24076,10 +24088,11 @@ TEST: c’était le bon {{tan}} ->> temps TEST: elle sait prendre du bon {{tant}} ->> temps TEST: les {{tans}} changent ->> temps TEST: les {{tant}} ont changé ->> temps TEST: elle avait {{temps}} de temps ->> tant +TEST: surtout, prends ton {{tant}} ->> temps TEST: il est temps de partir TEST: elle a tant de jouets # tort / tord / tore / torr / tors @@ -24372,15 +24385,21 @@ TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou. ->> collier TEST: elle prendra l’{{avions}} dès que possible ->> avion __gn_l_2m_virg__ - l’ *WORD , @:A¬:[GP] + l’ *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + + l’ *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5) - --1>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: L’homme, {{blessés}} par deux fois ->> blessé +TEST: l’émotion, {{grand}} l’été, petite l’hiver ->> grande +TEST: L’homme, {{blessés}} dans son orgueil ->> blessé __gn_l_3m__ l’ *WORD *WORD *WORD <<- /gn/ morph(\1, ":D") and morph(<1, "|:V", "*") and \4.islower() >>> @@ -24511,15 +24530,24 @@ TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception. TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot. __gn_le_2m_virg__ - le *WORD , @:A¬:[GP] - <<- /gn/ morph(\3, ":[NA].*:[me]:[si]", ":3[sp]") and not agreement(\3, \5) - --1>> =suggMasSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + le *WORD , @:A¬:(?:[GP]|A.*:[me]:[si]) [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[me]:[si]", ":3[sp]") + -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: Le tyran, {{blessée}} par deux fois ->> blessé + le *WORD , @:A¬:(?:[GP]|A.*:[me]:[si]) *WORD + <<- /gn/ morph(\3, ":[NA].*:[me]:[si]", ":3[sp]") + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + +TEST: le tyran, {{remerciée}}… ->> remercié +TEST: Le tyran, {{blessée}} dans son orgueil ->> blessé +TEST: le Sénégal, nation d’Afrique +TEST: le Luxembourg, paradis fiscal +TEST: Le Brésil, grande nation d’Amérique du Sud __gn_le_3m__ le *WORD *WORD *WORD <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D") @@ -24633,15 +24661,22 @@ TEST: Il faut donc examiner ensemble les panneaux et la paroi latéraux. TEST: Il faut donc examiner ensemble les panneaux et la paroi latérale. __gn_la_2m_virg__ - la *WORD , @:A¬:[GP] - <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]", ":3[sp]") and not agreement(\3, \5) - --1>> =suggFemSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + la *WORD , @:A¬:(?:[GP]|A.*:[fe]:[si]) [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]", ":3[sp]") + -5>> =suggFemSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: La femme, {{blessées}} par deux fois ->> blessée + la *WORD , @:A¬:(?:[GP]|A.*:[fe]:[si]) *WORD + <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]", ":3[sp]") + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggFemSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + +TEST: la petite, réellement {{oublié}} ->> oubliée +TEST: La femme, {{blessées}} dans son orgueil ->> blessée +TEST: La France, petit état TEST: la petite, prenant le parti de son frère, __gn_la_3m__ la *WORD *WORD *WORD @@ -24725,15 +24760,21 @@ TEST: Que ferons-nous de {{leur}} gros {{grains}} ->> leurs|||grain TEST: 3 milliards d’euros que depuis 2012 l’État leur a volés __gn_leur_2m_virg__ - leur *WORD , @:A¬:[GP] + leur *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + + leur *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[si]", ":3[sp]") and not agreement(\3, \5) - --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: Leur maître, {{blessés}} par deux fois ->> blessé +TEST: leur passion, souvent {{assouvi}} ->> assouvie +TEST: Leur maître, {{blessés}} dans son orgueil ->> blessé __gn_leur_3m__ leur *WORD *WORD *WORD <<- /gn/ morph(\1, ":D") and morph(<1, "|:V", "*") and \4.islower() >>> @@ -24928,15 +24969,21 @@ TEST: trois d’{{un}} quelconque {{élégance}} ->> une||| TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}. ->> bancal __gn_un_2m_virg__ - un *WORD , @:A¬:[GP] - <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5) - --1>> =suggMasSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + un *WORD , @:A¬:(?:[GP]|A.*:[me]:[si]) [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") + -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: un homme, {{blessés}} par deux fois ->> blessé + un *WORD , @:A¬:(?:[GP]|A.*:[me]:[si]) *WORD + <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + +TEST: un gros, toujours {{fâchée}} ->> fâché +TEST: un homme, {{blessés}} par son frère ->> blessé __gn_une_2m__ une *WORD *WORD <<- /gn/ not value(<1, "|et|ou|d’|") and not morph(\3, ">seul/") >>> @@ -24964,15 +25011,21 @@ TEST: d’{{une}} titanesque {{opportunisme}} ->> un||| TEST: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes. __gn_une_2m_virg__ - une *WORD , @:A¬:[GP] - <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5) - --1>> =suggFemSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + une *WORD , @:A¬:(?:[GP]|A.*:[fe]:[si]) [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") + -5>> =suggFemSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: une femme, {{blessés}} par deux fois ->> blessée + une *WORD , @:A¬:(?:[GP]|A.*:[fe]:[si]) *WORD + <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggFemSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + +TEST: une écolo, souvent {{inquiété}} ->> inquiétée +TEST: une femme, {{blessés}} dans son orgueil ->> blessée __gn_du_1m__ du @>(?:[bcçdfgjklmnpqrstvwxzBCÇDFGJKLMNPQRSTVWXZ]|[hH].*;é) <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> de la && Accord de genre erroné : « \2 » est féminin. @@ -25084,15 +25137,21 @@ TEST: au petit {{publique}} ->> public TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}. ->> délirant __gn_det_mas_sing_2m_virg__ - [ce|cet|quel|au|ledit|dudit|audit|aucun|nul] *WORD , @:A¬:[GP] + [ce|cet|quel|au|ledit|dudit|audit|aucun|nul] *WORD , @:A¬:(?:[GP]|A.*:[me]:[si]) [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5) + -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + + [ce|cet|quel|au|ledit|dudit|audit|aucun|nul] *WORD , @:A¬:(?:[GP]|A.*:[me]:[si]) *WORD <<- /gn/ morph(\3, ":[NA].*:[me]:[si]") and not agreement(\3, \5) - --1>> =suggMasSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: ce con, {{blessée}} par deux fois ->> blessé +TEST: ledit crétin, encore une fois {{harcelés}} ->> harcelé +TEST: ce con, {{blessée}} dans son orgueil ->> blessé __gn_det_mas_sing_3m__ [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD *WORD *WORD <<- /gn/ morph(<1, "|:V", "*") and morph(\2, ":[NA].*:[me]:[si]") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:[pf]", "*") and \4.islower() @@ -25161,16 +25220,24 @@ TEST: elle s’étonnait de ton opposition {{grandissantes}} ->> grandissante TEST: le ton monte. __gn_mon_ton_son_2m_virg__ - [mon|ton|son] *WORD , @:A¬:[GP] + [mon|ton|son] *WORD , @:A¬:[GP] [|,|)|*WORDELD] <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5) >>> - <<- /gn/ morph(\3, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:[me]:[si]") --1>> =suggMasSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. - <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæh]") --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + <<- /gn/ morph(\3, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:[me]:[si]") -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæh]") -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: mon mari, {{blessée}} par deux fois ->> blessé + [mon|ton|son] *WORD , @:A¬:[GP] *WORD + <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5) and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) >>> + <<- /gn/ morph(\3, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:[me]:[si]") -5>> =suggMasSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + <<- /gn/ morph(\3, ">[aâeéèêiîoôuûyœæh]") -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + +TEST: mon mari, {{blessée}} ->> blessé +TEST: ton âme, {{ébranlé}} ->> ébranlée +TEST: son homme, {{stupéfaite}} ->> stupéfait +TEST: mon mari, {{blessée}} dans son orgueil ->> blessé TEST: ton âme, {{ébranlé}} par ces révélations ->> ébranlée TEST: son homme, {{stupéfaite}} par ces révélations ->> stupéfait __gn_det_mon_ton_son_3m__ @@ -25266,15 +25333,21 @@ TEST: de ma grande {{ami}} ->> amie TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance. __gn_det_fem_sing_2m_virg__ - [ma|ta|sa|cette|quelle|ladite|aucune|nulle] *WORD , @:A¬:[GP] + [ma|ta|sa|cette|quelle|ladite|aucune|nulle] *WORD , @:A¬:(?:[GP]|A.*:[fe]:[si]) [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5) + -5>> =suggFemSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + + [ma|ta|sa|cette|quelle|ladite|aucune|nulle] *WORD , @:A¬:(?:[GP]|A.*:[fe]:[si]) *WORD <<- /gn/ morph(\3, ":[NA].*:[fe]:[si]") and not agreement(\3, \5) - --1>> =suggFemSing(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggFemSing(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: cette femme, {{blessées}} par deux fois ->> blessée +TEST: cette femme, {{blessé}} ->> blessée +TEST: cette femme, {{blessées}} dans son orgueil ->> blessée __gn_det_fem_sing_3m__ [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD *WORD *WORD <<- /gn/ morph(<1, "|:V", "*") and morph(\2, ":[NA].*:[fe]:[si]") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:[pm]", "*") and \4.islower() @@ -25343,16 +25416,21 @@ TEST: de notre petit {{amis}} ->> ami TEST: Quelque chose tombé dans le puits a souillé l’eau. __gn_det_epi_sing_2m_virg__ - [chaque|quelque|notre|votre] *WORD , @:A¬:[GP] + [chaque|quelque|notre|votre] *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + + [chaque|quelque|notre|votre] *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[si]") and not agreement(\3, \5) - --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: votre femme, {{blessés}} par deux fois ->> blessée -TEST: chaque homme, {{blessées}} par deux fois ->> blessé +TEST: votre femme, {{blessés}} ->> blessée +TEST: chaque homme, {{blessées}} dans son orgueil ->> blessé __gn_det_epi_sing_3m__ [chaque|quelque|notre|votre] *WORD *WORD *WORD <<- /gn/ morph(<1, "|:V", "*") and \4.islower() >>> @@ -25472,17 +25550,22 @@ __gn_les_2m_virg__ calendriers , [grégorien|julien|hégirien] et [grégorien|julien|hégirien] <<- !3>> gn - les *WORD , @:A¬:[GP] + les *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[pi]", ":3[sp]") and not agreement(\3, \5) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + + les *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[pi]", ":3[sp]") and not agreement(\3, \5) - and not ( value(>1, "|et|") and ( (morph(\-1, "#G") and morph(>2, "#G")) or (morph(\-1, ";C") and morph(>2, ";C")) ) ) - --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( value(\-1, "|et|") and ( (morph(\-2, "#G") and morph(>1, "#G")) or (morph(\-2, ";C") and morph(>1, ";C")) ) ) + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: les femmes, {{blessé}} par deux fois ->> blessées -TEST: les hommes, {{blessée}} par deux fois ->> blessés +TEST: les femmes, {{blessé}} ->> blessées +TEST: les hommes, {{blessée}} dans leur orgueil ->> blessés TEST: les femmes, demeurant rue de la paix TEST: les deux camps, italien et allemand, étaient à portée d’arc TEST: les deux soleils, noir et blanc, constituaient un symbole marquant @@ -25637,16 +25720,21 @@ TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion. TEST: le bruit de nos pas étouffé par l’épais tapis. __gn_det_epi_plur_2m_virg__ - [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *WORD , @:A¬:[GP] + [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + + [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5) - --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: nos femmes, {{blessé}} par deux fois ->> blessées -TEST: vos hommes, {{blessée}} par deux fois ->> blessés +TEST: nos femmes, {{blessé}} ->> blessées +TEST: vos hommes, {{blessée}} dans leur orgueil ->> blessés TEST: ces personnes, méprisant le danger, furent blessées __gn_det_mas_plur_2m__ [certains|maints|quels|lesdits|desdits|auxdits] *WORD *WORD @@ -25671,15 +25759,21 @@ TEST: de quels grands {{fou}} s’agit-il ? ->> fous TEST: chez certains la revue Limite provoque des crises d’hystérie. __gn_det_mas_plur_2m_virg__ - [certains|maints|quels|lesdits|desdits|auxdits] *WORD , @:A¬:[GP] + [certains|maints|quels|lesdits|desdits|auxdits] *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[me]:[pi]") and not agreement(\3, \5) + -5>> =suggMasPlur(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + + [certains|maints|quels|lesdits|desdits|auxdits] *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[me]:[pi]") and not agreement(\3, \5) - --1>> =suggMasPlur(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggMasPlur(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: maints hommes, {{blessée}} par deux fois ->> blessés +TEST: maints hommes, {{blessé}} ->> blessés +TEST: maints hommes, {{blessée}} dans leur orgueil ->> blessés __gn_det_fem_plur_2m__ [certaines|maintes|quelles|lesdites|desdites|auxdites] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>> @@ -25702,15 +25796,21 @@ TEST: quelles étonnantes {{petits}} ->> petites TEST: ici ou auxdites lointaines {{contrée}} ->> contrées __gn_det_fem_plur_2m_virg__ - [certaines|maintes|quelles|lesdites|desdites|auxdites] *WORD , @:A¬:[GP] + [certaines|maintes|quelles|lesdites|desdites|auxdites] *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[fe]:[pi]") and not agreement(\3, \5) + -5>> =suggFemPlur(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. + + [certaines|maintes|quelles|lesdites|desdites|auxdites] *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[fe]:[pi]") and not agreement(\3, \5) - --1>> =suggFemPlur(\-1) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggFemPlur(\5) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: certaines femmes, {{blessé}} par deux fois ->> blessées +TEST: certaines femmes, {{blessés}} ->> blessées +TEST: certaines femmes, {{blessé}} dans leur orgueil ->> blessées __gn_nombre_plur_2m__ @:B:.:p *WORD *WORD <<- /gn/ not morph(<1, ">(?:et|ou)/|:R") and not morph(\3, ">(?:seul|minimum|maximum)/") >>> @@ -25735,11 +25835,11 @@ @:B:.:p *WORD , @:A¬:[GP] <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5) --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. TEST: deux femmes, {{blessé}} par deux fois ->> blessées -TEST: trois hommes, {{blessée}} par deux fois ->> blessés +TEST: trois hommes, {{blessée}} dans leur orgueil ->> blessés __gn_des_2m__ des *WORD *WORD <<- /gn/ (morph(<1, ":(?:[VRBXÉ]|Cs)|>comme/||>[(,]", "*") or morph(\3, ":N", ":[AQ]")) and not morph(\3, ">(?:seul|minimum|maximum)/") >>> @@ -25762,16 +25862,21 @@ TEST: Les couleurs rouge, jaune et verte ne doivent pas être utilisées TEST: des passeports américain, canadien, néerlandais, allemand et britannique. __gn_des_2m_virg__ - des *WORD , @:A¬:[GP] + des *WORD , @:A¬:[GP] [|,|)|*WORDELD] + <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + + des *WORD , @:A¬:[GP] *WORD <<- /gn/ morph(\3, ":[NA].*:[pi]") and not agreement(\3, \5) - --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. + and not ( morph(\-1, ":N") and agreement(\-2, \-1) ) + -5>> =suggAgree(\5, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. -TEST: des femmes, {{blessé}} par deux fois ->> blessées -TEST: des hommes, {{blessée}} par deux fois ->> blessés +TEST: des femmes, {{blessé}} ->> blessées +TEST: des hommes, {{blessée}} dans leur orgueil ->> blessés __gn_plusieurs_1m__ plusieurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))