Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -33514,21 +33514,23 @@ !! __ppas_det_sing_COD_que_avoir__ >avoir dû ?[me|m’|te|t’|lui|nous|vous|leur]¿ $:Y <<- !2>> + + >avoir [commencé|demandé|décidé|essayé|exigé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru] [de|d’] + >avoir [commencé|recommencé|réussi|pensé|échoué] à + <<- !2>> ppas [un|le|ce|cet|tout] *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.*:[fp]¬:(?:G|W|É|[me]:[si]) [un|le|ce|cet|tout] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[fp]¬:(?:G|W|É|[me]:[si]) <<- /ppas/ morph(\2, ":[NA].*:[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 [une|la|cette|ma|ta|sa] *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.*:[mp]¬:(?:G|W|É|[fe]:[si]) [une|la|cette|ma|ta|sa] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si]) <<- /ppas/ morph(\2, ":[NA].*:[fe]", ">(?:fois|impression)/") and not morph(>1, ":(?:Y|Ov|D|M|LV|ÉV)|>qu[e’]/") - and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru|") and value(>1, "|de|d’|")) - or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>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 [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É] @@ -33595,27 +33597,21 @@ __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|M|LV|ÉV)") - and not ((value(\-1, "|commencé|demandé|décidé|essayé|exigé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru|") and value(>1, "|de|d’|")) - or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) - and morph(\2, ":[NA].*:[pi]") >>> + <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|M|LV|ÉV)") and morph(\2, ":[NA].*:[pi]") >>> <<- /ppas/ morph(\2, ":[NA].*:m", ":[fe]") and morph(\-1, ":Q.*:[fs]", ":[me]:[pi]") --1>> =suggVerbPpas(\-1, ":m:p") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin pluriel.|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.*:[ms]", ":[fe]:[pi]") --1>> =suggVerbPpas(\-1, ":f:p") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin pluriel.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:[pi]") and morph(\-1, ":Q.*:s", ":[pi]") --1>> =suggVerbPpas(\-1, ":p") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au pluriel.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais [certains|maints] *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.*:[fs]¬:[GWÉ] [certains|maints] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[fs]¬:[GWÉ] - <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|M|LV|ÉV)") - and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru|") and value(>1, "|de|d’|")) - or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) - and morph(\2, ":[NA].*:[me]:[pi]") --1>> =suggVerbPpas(\-1, ":m:p") + <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|M|LV|ÉV)") and morph(\2, ":[NA].*:[me]:[pi]") --1>> =suggVerbPpas(\-1, ":m:p") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin pluriel.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais [certaines|maintes] *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.*:[ms]¬:[GWÉ] [certaines|maintes] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[ms]¬:[GWÉ] <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|M|LV|ÉV)") @@ -33701,12 +33697,10 @@ __ppas_celle_que_pronom_avoir__ celle [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|ça|cela|ceci] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si]) celle [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[m’|t’|nous|vous]¿ >avoir @:V[0-3]..t.*:Q.*:[mp]¬:(?:G|W|É|[fe]:[si]) <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)") - and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru|") and value(>1, "|de|d’|")) - or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) --1>> =suggVerbPpas(\-1, ":f:s") && Accord avec le COD “celle”. Le participe passé devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: celle que nous avons {{oublié}} ->> oubliée TEST: celle que les services ont {{remplacé}} ->> remplacée @@ -33715,12 +33709,10 @@ __ppas_ceux_que_pronom_avoir__ ceux [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|ça|cela|ceci] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[fs]¬:(?:G|W|É|[me]:[pi]) ceux [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[m’|t’|nous|vous]¿ >avoir @:V[0-3]..t.*:Q.*:[fs]¬:(?:G|W|É|[me]:[pi]) <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)") - and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru|") and value(>1, "|de|d’|")) - or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) --1>> =suggVerbPpas(\-1, ":m:p") && Accord avec le COD “ceux”. Le participe passé devrait être au masculin pluriel.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: ceux que vous avez {{attaqué}} ->> attaqués TEST: ceux que les grands ont {{mangé}} ->> mangés @@ -33730,12 +33722,10 @@ __ppas_celles_que_pronom_avoir__ celles [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|ça|cela|ceci] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q.*:[ms]¬:(?:G|W|É|[fe]:[pi]) celles [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[m’|t’|nous|vous]¿ >avoir @:V[0-3]..t.*:Q.*:[ms]¬:(?:G|W|É|[fe]:[pi]) <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)") - and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|résolu|supplié|tenté|cru|") and value(>1, "|de|d’|")) - or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) --1>> =suggVerbPpas(\-1, ":f:p") && Accord avec le COD “celles”. Le participe passé devrait être au féminin pluriel.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: celles que nous avons {{détourné}} ->> détournées TEST: celles que le chien a {{mangé}} ->> mangées Index: gc_lang/fr/tests/test_wiktionary_citations.txt ================================================================== --- gc_lang/fr/tests/test_wiktionary_citations.txt +++ gc_lang/fr/tests/test_wiktionary_citations.txt @@ -1,6 +1,6 @@ -# AVERTISSEMENT: +# AVERTISSEMENT : # Ces citations ont été récupérées sur Wiktionnaire par un script. Certaines d’entre elles contiennent des erreurs grammaticales et orthographiques. Et ont été corrigées dans ce fichier, mais pas sur Wiktionnaire. Si vous récupérez à nouveau les citations sur Wiktionnaire, ces erreurs reviendront, à moins qu’elles n’aient été corrigées sur Wiktionnaire par les contributeurs de ce dictionnaire en ligne. Nous réservâmes aux nouveaux venus un accueil qui fut cordial et empressé, mais le temps n’était pas aux effusions et d’un commun avis, il fallait agir vite. Partout elle avait trouvé bon accueil, prompt assentiment, mais elle se propose d’aller plus outre. Notre hôte, absent au moment de notre arrivée, ne tarde pas à paraître et me fait l’accueil auquel je m’attendais de sa part. Index: make.py ================================================================== --- make.py +++ make.py @@ -357,11 +357,11 @@ def extraTest (sLang): "test grammar checker with files in " if os.path.isdir(f"gc_lang/{sLang}/tests"): - print(">>>>>>>>>> EXTRA TESTS: parsing texts in \n") + print(f">>>>>>>>>> EXTRA TESTS: parsing texts in \n") grammalecte = importlib.import_module("grammalecte") oGrammarChecker = grammalecte.GrammarChecker(sLang) for sf in os.listdir(f"gc_lang/{sLang}/tests"): if sf.startswith("test_") and sf.endswith(".txt"): spf = f"gc_lang/{sLang}/tests/" + sf