Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -6011,10 +6011,14 @@ __conf_déterminant_fem_sing_verbe__ [ma|ta|cette|ladite] @:(?:Y|[123][sp])¬:[NA] <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True) # Incohérence avec « \1 » : « \2 » est un verbe. + quelle @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir)/ + <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") and hasSimil(\2, ":[NA]:[fe]:[si]") + -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True) # Incohérence avec « \1 » : « \2 » est un verbe. + sa @:(?:Y|[123][sp])¬:(?:N.*:[fe]|A|W) <<- /conf/ not \1.isupper() and \2.islower() >>> <<- /conf/ morph(\2, "V.....[pqx]") -1>> ça|se # Confusion : « \2 » est un verbe. Exemples : sa jambe, ça vient. (Une faute de frappe peut-être ?) <<- /conf/ __else__ -1>> ça # Confusion : « \2 » est un verbe. Exemples : sa jambe, ça vient. <<- /conf/ hasSimil(\2) -2>> =suggSimil(\2, ":[NA]:[fe]:[si]", True) # Incohérence avec « \1 » : « \2 » est un verbe. @@ -6027,17 +6031,24 @@ TEST: il me tendit {{sa}} {{pèche}}. TEST: {{sa}} prend du temps. ->> ça|se TEST: {{çà}} va ->> ça TEST: {{sa}} va ->> ça TEST: {{sa}} a tout changé ->> ça +TEST: {{quelle}} {{camera}} ce serait ? +TEST: quelle serait la solution ? +TEST: quelle pourrait être la solution à ce problème ? __conf_déterminant_mas_sing_verbe__ [du|cet|ledit|dudit] @:(?:Y|[123][sp])¬:[NAQ] <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True) # Incohérence avec “\1” : “\2” est un verbe. + quel @:V[123].*:(?:Y|[123][sp])¬:[NAQ]|>(?:pouvoir|vouloir|aller|devoir)/ + <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") + -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True) # Incohérence avec “\1” : “\2” est un verbe. + au @:(?:Y|[123][sp])¬:[NAQ] <<- /conf/ \2.islower() and not value(\2, "|sortir|") -2>> =suggSimil(\2, ":[NA]:[me]:[si]", True) # Incohérence avec “\1” : “\2” est un verbe. ce @:V.*:(?:Y|[123][sp])¬:[NAQ]:.:[si] @@ -6061,18 +6072,28 @@ TEST: quelqu’un arrive. TEST: cet {{plaît}} est infectée. TEST: {{ce}} {{rappelle}} n’en finit pas. TEST: mon {{rackette}} n’a pas porté les fruits espérés. TEST: ton {{recèle}} avait été dévoilé +TEST: quel {{impacte}} cela aura-t-il ? TEST: Belle qui tient mon vit captif entre tes doigts. +TEST: Quel serait l’homme capable d’une telle horreur ? __conf_déterminant_plur_verbe__ [des|ces|mes|tes|ses|aux|nos|vos] @:V.*:(?:Y|[123][sp])¬:[NA] <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA]:.:[pi]", True) # Incohérence avec « \1 » : « \2 » est un verbe. + quels @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir|être)/ + <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") + -2>> =suggSimil(\2, ":[NA]:[me]:[pi]", True) # Incohérence avec « \1 » : « \2 » est un verbe. + + quelles @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir|être)/ + <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") and hasSimil(\2, ":[NA]:[fe]:[pi]") + -2>> =suggSimil(\2, ":[NA]:[fe]:[pi]", True) # Incohérence avec « \1 » : « \2 » est un verbe. + quelques @:V.*:(?:Y|[123][sp])¬:[NA] <<- /conf/ \2.islower() and not value(\2, "|soient|soit|sois|puisse|puisses|puissent|") -2>> =suggSimil(\2, ":[NA]:.:[pi]", True) # Incohérence avec « \1 » : « \2 » est un verbe. [auxdits|lesdits|desdits] @:V.*:(?:Y|[123][sp])¬:[NA] @@ -6085,10 +6106,14 @@ TEST: la crainte des {{attentas}} fait feu de tout bois. TEST: Quelques {{axions}} de la sorte suffisent à nous discréditer. TEST: elle se rendit auxdits {{jardinais}} TEST: auxdites {{scelles}}, il ne prêta pas attention. +TEST: quels {{afflues}} attendre ? +TEST: {{quelles}} {{arrêtes}} +TEST: quels seraient nos avantages ? +TEST: quelles vont être nos chances ? __conf_de_vconj__ [de|d’] @:V.*:[123][sp]¬:[GNA] <<- /conf/ not \2.istitle() and not value(\2, "|jure|") -2>> =suggSimil(\2, ":[NA]", True) # Incohérence avec “\1” : “\2” est une forme verbale conjuguée. @@ -9606,11 +9631,11 @@ <<- /conf/ \2.islower() and not (morph(\2, ">(?:pouvoir|devoir|aller)/") and (morph(>1, ":V0e") or morph(>2, ":V0e"))) and not (morph(\2, ":V0a") and value(>1, "|été|")) -1>> qu’elle # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”. TEST: {{Quelle}} y vienne, on verra ce qu’elle vaut. TEST: {{Quelle}} a du répondant, cette gamine ! -TEST: {{Quelle}} partit prendre son repas à la cantine, je n’en avais cure. +TEST: {{Quelle}} allât prendre son repas à la cantine, je n’en avais cure. TEST: Il se plaint {{quelle}} ne nous dit rien. TEST: {{Quelle}} l’apprenne un jour, on n’y peut rien. TEST: Je crois {{quelle}} n’en sait pas assez pour nous nuire. @@ -13121,10 +13146,11 @@ >canon à eau >caisse à >outil >carton d’ emballage >cellule [de|d’] détention provisoire >centre d’ éducation [populaire|surveillée] + >centre [de|d’] rétention ?[préventive|administrative]¿ >chair à [pâté|>canon] >chair [de|d’] poule >chambre à [coucher|gaz] >chambre [de|d’] [agriculture|hôte|hôtel|hôtes|commerce|compensation|décompression|dégrisement] [>chariot|>charriot] à [bagages|roulettes] @@ -13550,11 +13576,11 @@ Amérique du [Nord|Sud] Amérique centrale <<- ~2:0>> * @:M[12] *WORD - <<- \2.istitle() or re.search("^[MDCLXVI]+$", \2) ~2:0>> * + <<- \2.istitle() and space_after(\1, 1, 1) or re.search("^[MDCLXVI]+$", \2) ~2:0>> * @:M[12] [Ier|Iᵉʳ] <<- \2.istitle() ~2:0>> * @:M[12] [Le|La|von|van|Mac|Mc|De|Du|D’] *WORD @@ -14627,10 +14653,11 @@ TEST: au moins neuf personnes disparues dans le pays et 140 blessés TEST: C’en est arrivé là. TEST: Madame, des comme vous, j’en vois quatre par jour. TEST: Un quotidien facilité peut changer, à long terme, la donne dans la satisfaction des professionnels du privé et du public. TEST: elles sont dans l’incapacité de rendre compte de l’intensité et de la profondeur des traumatismes provoqués +TEST: Cela nous évoque la fable de Jean de la Fontaine « Les animaux malades de la peste » @@@@ @@@@ @@@@ @@ -21666,18 +21693,18 @@ les >avoir fait ?[me|m’|te|t’|se|s’|nous|vous|leur]¿ $:Y <<- !3>> __ppas_pronom_avoir__ - [je|j’|tu|il|elle|on|ils|elles|iel|iels|et|qui|ça|cela|ceci|celui-ci|celui-là|celle-ci|celle-là|ceeux-ci|ceux-là|celles-ci|celles-là] ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD + [je|j’|tu|il|elle|on|ils|elles|iel|iels|et|qui|ça|cela|ceci|celui-ci|celui-là|celle-ci|celle-là|ceux-ci|ceux-là|celles-ci|celles-là] ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD <<- /ppas/ not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") and value(<1, "||,|comme|comment|et|lorsque|lorsqu’|mais|où|ou|quand|qui|pourquoi|puisque|puisqu’|quoique|quoiqu’|si|s’|sinon|") and \-1.islower() and morph(\-1, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])") --1>> =suggVerbPpas(\-1, ":m:s") # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais - [je|j’|tu|il|elle|on|ils|elles|iel|iels|et|qui|ça|cela|ceci|celui-ci|celui-là|celle-ci|celle-là|ceeux-ci|ceux-là|celles-ci|celles-là] ?[ne|n’]¿ en >avoir *WORD + [je|j’|tu|il|elle|on|ils|elles|iel|iels|et|qui|ça|cela|ceci|celui-ci|celui-là|celle-ci|celle-là|ceux-ci|ceux-là|celles-ci|celles-là] ?[ne|n’]¿ en >avoir *WORD <<- /ppas/ not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") and value(<1, "||,|comme|comment|et|lorsque|lorsqu’|mais|où|ou|quand|qui|pourquoi|puisque|puisqu’|quoique|quoiqu’|si|s’|sinon|") and \-1.islower() and morph(\-1, ":(?:[123][sp])", ":[GWQ]") --1>> =suggVerbPpas(\-1, ":m:s") # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais