Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2857,10 +2857,13 @@ __da_a__ [ça|ceci|cela] a <<- =>> select(\2, ":V") + a [,|et] [b|c|ç|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z] + <<- =>> select(\1, ":N") + __da_autour__ autour [de|du|d’|des] <<- not morph(<1, ":D.*:[me]") =>> select(\1, "", ":N") __da_avant__ @@ -4871,12 +4874,11 @@ @@@@ @@@@ @@@@ @@@@ -!!!! Doublons (casse identique) !! - +##!!!! Doublons (casse identique) !! # SLOWER THAN REGEX RULE #__doublon__ # *WORD *WORD # <<- \1 == \2 @@ -6635,11 +6637,11 @@ !!!! A / À: accentuation la préposition en début de phrase !! __typo_À_début_phrase!7__ A @:[GNAY]¬:(?:Q|3s) - <<- /typo/ not value(\3, "|t’|priori|posteriori|postériori|contrario|capella|fortiori|giorno|") + <<- /typo/ not value(\3, "|t’|priori|posteriori|postériori|contrario|capella|fortiori|giorno|a|") -2>> À && S’il s’agit de la préposition « à », il faut accentuer la majuscule. A bientôt [|,|)] <<- /typo/ -2>> À && S’il s’agit de la préposition « à », il faut accentuer la majuscule. @@ -18044,14 +18046,14 @@ <<- not morph(>1, ":E") ~>> * # Déterminant + nombre __p_dét_plur_nombre_nom__ - [les|des|mes|tes|ses|nos|vos|leurs] ~^\d+$ @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) + [les|ces|des|mes|tes|ses|nos|vos|leurs] [*NUM|$:B] @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) <<- ~2>> * - [les|des|mes|tes|ses|nos|vos|leurs] ~^\d+$ ou ~^\d+$ @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) + [les|ces|des|mes|tes|ses|nos|vos|leurs] [*NUM|$:B] ou [*NUM|$:B] @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) <<- ~2:4>> * [les|des] >numéro [un|*NUM|$:B] et [*NUM|$:B] <<- ~3:0>> * @@ -20488,10 +20490,16 @@ <<- not value(\1, "|avoir|avoirs|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") >être $:Q <<- not value(\1, "|être|êtres|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") + +__da_dit__ + , dit /_Maj_ + , dit $:D + <<- =>> =select(\2, "", ":A") + __purge_rien__ rien $:Q [d’|de] <<- /2>> _rien_ @@ -25140,17 +25148,22 @@ TEST: Il faut donc examiner ensemble les panneaux et les parois latérales. TEST: l’homme les a volés __gn_les_2m_virg__ + calendriers , [grégorien|julien|hégirien] et [grégorien|julien|hégirien] + <<- !3>> gn + les *WORD , @:A¬:[GP] <<- /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")) --1>> =suggAgree(\-1, \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, demeurant rue de la paix +TEST: les deux camps, italien et allemand, étaient à portée d’arc __gn_leurs_1m__ leurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) @@ -26864,11 +26877,11 @@ __gn_groupe_de__ [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] || [>dizaine|>douzaine||>vingtaine|>trentaine|>quarantaine|>cinquantaine|>soixantaine|>centaine|>millier|>million|>milliard|>multitude|>horde] [de|d’] *WORD - <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>(?:fraude|large|long|profondeur|hauteur)/") + <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>(?:bénéfice|fraude|large|long|profondeur|hauteur|perte)/") -4>> =suggPlur(\4) && Avec « \1 \2 \3… », mettre au pluriel “\4” s’il y en a bien plusieurs. [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] >groupe [d’|de] [écoutes|paroles] <<- /gn/ -4>> =suggSing(\4) && Mettez au singulier. @@ -26881,10 +26894,11 @@ TEST: ils constituent un groupe de {{passionné}}. ->> passionnés TEST: Ce collectif d’{{artiste}} est très inventif. ->> artistes TEST: les 80 milliards de fraude fiscale TEST: un groupe de prière TEST: elle fait environ un mètre de large sur des dizaines de long +TEST: six milliards de perte __gn_cage_d_escalier__ >cage d’ escaliers <<- /gn/ -3>> escalier && Usuellement, pas de “s” à escalier. @@ -27050,11 +27064,11 @@ __gn_intérieur_extérieur__ [l’|d’|mon|ton|son|leur|notre|votre|cet|en] [intérieure|extérieure] <<- /gn/ -2>> =\2[:-1] && Ceci est un adjectif féminin. Pas de “e” pour le nom masculin. [d’|ces|des|les|mes|tes|ses|leurs|nos|vos|en] [intérieures|extérieures] - <<- /gn/ -2>> =\2[:-2]+"s" && Ceci est un adjectif féminin. Pas de “e” pour le nom masculin. + <<- /gn/ space(\1, 1, 3) -2>> =\2[:-2]+"s" && Ceci est un adjectif féminin. Pas de “e” pour le nom masculin. TEST: que pensez-vous de notre {{intérieure}} ? ->> intérieur TEST: à l’{{intérieure}} rien de notable. ->> intérieur TEST: un homme de l’{{intérieure}}. ->> intérieur TEST: des {{intérieures}} remarquables. ->> intérieurs @@ -31777,10 +31791,11 @@ --1>> =suggVerbPpas(\-1, ":f:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais [l’|mon|ton|son|notre|votre|leur] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] [l’|mon|ton|son|notre|votre|leur] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] + <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|ÉV)|>qu[e’]/") >>> <<- /ppas/ morph(\2, ":[NA].*:m", ":[fe]|>impression/") and morph(\-1, ":Q.*:[fp]", ":[me]:[si]") --1>> =suggVerbPpas(\-1, ":m:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:f", ":[me]") and morph(\-1, ":Q.*:[mp]", ":[fe]:[si]") --1>> =suggVerbPpas(\-1, ":f:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:[si]") and morph(\-1, ":Q.*:p", ":[si]") --1>> =suggSing(\-1) @@ -31832,10 +31847,12 @@ TEST: le flacon qu’ils ont réussi à acquérir TEST: la danse qu’ils ont réussi à faire TEST: La dernière fois qu’elle a brûlé, c’était pendant la Commune. TEST: en ayant l’impression qu’il a beaucoup réussi TEST: rassuré par l’enquête qu’il avait dû mener, il consentit à me faire confiance +TEST: l’hypothèse que ces deux familles aient partagé un ancêtre commun + __ppas_det_plur_COD_que_avoir__ [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)")