Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -13767,21 +13767,22 @@ [son|ton] *WORD et *WORD <<- /conf/ morph(\3, ":N.*:[is]", ":[GA]") and morph(\5, ":[QA]", ":M") and \5.islower() -4>> est # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”. *WORD et *WORD - <<- /conf/ morph(\2, ":M", ":G") and morph(\4, ":[QA]", ":M") and \4.islower() + <<- /conf/ morph(\2, ":M", ":[GA]") and morph(\4, ":[QA]", ":M") and \4.islower() -3>> est # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”. TEST: ce chien {{et}} malade. TEST: ton chat {{et}} cinglé. TEST: Pauline {{et}} fatiguée. TEST: ton implacable et amère ! TEST: son cristallin et aigu TEST: Les pays ibériques et scandinaves ont signé le traité. TEST: Les gouvernements espagnol et mexicain ont signé le traité. -TEST: Béatrice Dalle et Claude +TEST: Béatrice Dalle et Claude. +TEST: Martial et inflexible. __conf_où_est__ où et l’ <<- /conf/ -2>> est # Confusion probable : “et” est une conjonction de coordination. Pour le verbe être à la 3ᵉ personne du singulier, écrivez “est”. @@ -16690,19 +16691,19 @@ TEST: Nous ne t’avons pas {{écoutées}}. __ppas_qui_avoir__ qui ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:Q.*:(?:f|m:p)¬:m:[si] - <<- /ppas/ --1>> =suggMasSing(\-1) # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais + <<- /ppas/ --1>> =suggVerbPpas(\-1, ":m:s") # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: des hommes, des femmes, des enfants qui ne leur avaient {{faits}} que du bien. __ppas_avoir_ppas_mas_sing__ [|,|après|pour|pourquoi|quand|que|qu’|sans] avoir @:Q.*:[fp]¬:m:[si] <<- /ppas/ not value(\3, "|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") - -3>> =suggMasSing(\3) # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais + -3>> =suggVerbPpas(\3, ":m:s") # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: Avoir {{instruite}} notre mère TEST: Après avoir {{baissés}} nos tarifs TEST: Je viendrai, après avoir vraiment {{écoutée}} le prof. @@ -16747,11 +16748,11 @@ TEST: des choses que j’aurais oublié d’aborder. __ppas_det_mas_sing_COD_que_avoir__ [un|le|l’|ce|cet|mon|ton|son] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|[me]:[si]) - <<- /ppas/ morph(\2, ":[NA].*:m") --1>> =suggMasSing(\-1) + <<- /ppas/ morph(\2, ":[NA].*:m") --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 TEST: Le document qu’ils ont de temps en temps {{achetés}}. TEST: L’homme que j’ai {{aidée}}. TEST: L’homme qu’ils ont beaucoup {{aidée}}. @@ -16761,11 +16762,11 @@ __ppas_det_fem_sing_COD_que_avoir__ [une|la|l’|cette|ma|ta|sa|mon|ton|son] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|[fe]:[si]) <<- /ppas/ morph(\2, ":[NA].*:f") and not morph(>1, ":(?:Y|Oo|D)|>qu[e’]/") and not value(>1, "|m’|t’|s’|l’|") and not ((value(\-1, "|décidé|essayé|tenté|oublié|imaginé|supplié|") and value(>1, "|de|d’|")) or (value(\-1, "|réussi|pensé|") and value(>1, "|à|"))) - --1>> =suggFemSing(\-1) + --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 TEST: La femme que j’ai {{aidé}}. TEST: La femme que j’ai beaucoup {{aidé}}. TEST: La femme que j’ai un peu {{aidé}}. @@ -16772,11 +16773,11 @@ TEST: la danse qu’ils ont réussi à faire __ppas_ce_que_pronom_avoir__ ce [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ça|cela|ceci] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|[me]:[si]) - <<- /ppas/ --1>> =suggMasSing(\-1) + <<- /ppas/ --1>> =suggVerbPpas(\-1, ":m:s") # Accord avec le COD “ce”. Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: ce que ça a {{donnée}} TEST: ce qu’il leur a {{données}} @@ -16810,27 +16811,27 @@ !!!! 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 \3 != "prise" - and not morph(\1, ">(?:les|[nv]ous|en)|:[NA].*:[fp]") and not before("(?i)\\b(?:quel(?:le|)s?|combien) ") - -3>> =suggMasSing(\3) # Avec “avoir”, il faut un participe passé au masculin singulier, sauf si un COD précède. + <<- /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|") + 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 \-1 != "prise" - --1>> =suggMasSing(\-1) # Avec “avoir”, il faut un participe passé au masculin singulier, sauf si un COD précède. + <<- /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|") + --1>> =suggVerbPpas(\-1, ":m:s") # Avec “avoir”, il faut un participe passé (au masculin singulier, sauf éventuellement si un COD précède). __ppas_l_m_t_avoir_pronom__ [l’|m’|t’] /VCint *WORD <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:p)", ":[GWsi]") - -3>> =suggMasSing(\3) # Accord avec le COD “\1” : le participe passé “\3” devrait être au singulier (et accordé en genre). + -3>> =suggVerbPpas(\3, ":m:s") # Accord avec le COD “\1” : le participe passé “\3” devrait être au singulier (et accordé en genre). __ppas_les_avoir_pronom__ les /VCint *WORD <<- /ppas/ morphVC(\2, ":V0a") and morph(\3, ":(?:Y|2p|Q.*:s)", ":[GWpi]") - -3>> =suggPlur(\3) # Accord avec le COD “les” : le participe passé “\3” devrait être au pluriel (et accordé en genre). + -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