Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2384,10 +2384,13 @@ <<- ->> =\1.replace("é", "e").replace("É", "E") # Erreur de numérisation ? [lai|lei] <<- ->> lui|les # Erreur de numérisation ? + los + <<- ->> les # Erreur de numérisation ? + lu <<- not morph(<1, ":(?:V0|N.*:m:[si])") ->> tu|le|la # Erreur de numérisation ? TEST: __ocr__ il s’agit de {{lés}} observer. TEST: __ocr__ {{lai}} gros sont mal vus. @@ -7015,13 +7018,14 @@ TEST: Méfiez-vous de cette {{soit-disant}} sorcière. TEST: Méfiez-vous de cette {{soi disant}} sorcière. __conf_soi_soit_soie__ - [chez|sur|avec|pour] (soit) - don de (soit) - <<- /conf/ not after(" soit ") -1>> soi # Confusion probable. + [chez|sur|avec|pour] soit + don de soit + estime de soit + <<- /conf/ not after(" soit ") --1>> soi # Confusion probable. en soit <<- /conf/ morph(>1, ":[GY]|") and not value(<1, "|il|on|elle|n’|m’|t’|s’|") and not before("(?i)quel(?:s|les?|) qu[’ ]$") and not after(" soit ") -2>> soi # Confusion probable. @@ -13489,12 +13493,10 @@ <<- ~2:0>> * y compris <<- not value(<1, "|j’|n’|tu|il|on|") ~>> * - [me|te|se|nous|vous] >douter [que|qu’] - <<- /3>> no_subj @@@@ @@@@ @@@@ @@ -14938,11 +14940,11 @@ TEST: le flacon qu’ils ont réussi à acquérir __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)|>que") and not value(>1, "|m’|t’|s’|l’|") + <<- /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) # 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é}}. @@ -15048,19 +15050,23 @@ !! # Confusions __imp_confusion_2e_pers_pluriel__ [|,] *WORD moi - <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:3s)") + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:[123]s)") -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-moi" # Confusion probable. Pour l’impératif, écrivez : [|,] *WORD [les|la|leur] *WORD - <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:3s)") and morph(\4, ":[OR]", ":[NA]") + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:[123]s)") and morph(\4, ":[ORC]", ":[NA]") + -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-" + \3 # Confusion probable. Pour l’impératif, écrivez : + + [|,] *WORD [lui|nous|vous] *WORD + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:[123]s)") and morph(\4, ":[ORCD]", ":Y") -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-" + \3 # Confusion probable. Pour l’impératif, écrivez : [|,] *WORD [les|la|lui|nous|vous|leur] [|,] - <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:3s)") + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:[123]s)") -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-" + \3 # Confusion probable. Pour l’impératif, écrivez : TEST: {{Donner moi}} une chance ->> Donnez-moi TEST: je vous en prie, {{prenais moi}} avec vous. ->> prenez-moi TEST: {{avançait moi}} de l’argent ->> avancez-moi @@ -15221,28 +15227,37 @@ !! __imp_union_moi__ *WORD moi <<- /imp/ space_after(\1, 1, 1) - and morph(\1, ":E", ":[GM]") and not value(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|") + and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and not value(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|") ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{Apportez moi}} ce dictionnaire TEST: Viens moi je m’ennuie. __imp_union_toi__ *WORD toi <<- /imp/ space_after(\1, 1, 1) - and morph(\1, ":E:2s", ":[GM]") and not value(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|") + and morph(\1, ":E:2s", ":[GM]|>(?:venir|aller|partir)") and not value(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|") ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{Donne toi}} du temps. -__imp_union_nous_vous_lui_y__ - *WORD [nous|vous|lui|y] +__imp_union_nous_vous_lui__ + *WORD [nous|vous|lui] + <<- /imp/ space_after(\1, 1, 1) + and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":|", ":(?:Y|3[sp]|Oo)|>(?:en|y)") and morph(<1, ":Cc||>,") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{Donne nous}} du café. + + +__imp_union_y__ + *WORD y <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]") and morph(>1, ":|", ":(?:Y|3[sp]|Oo)|>(?:en|y)") and morph(<1, ":Cc||>,") ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{Donne nous}} du café. @@ -15249,11 +15264,11 @@ __imp_union_les__ *WORD les <<- /imp/ space_after(\1, 1, 1) - and morph(\1, ":E", ":[GM]") and morph(>1, ":||>,", ":(?:N|A|Y|B|3[sp]|>(?:pour|plus|moins|mieux|peu|trop|très|en|y))") and morph(<1, ":Cc||>,") + and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":||>,", ":(?:N|A|Y|B|3[sp]|>(?:pour|plus|moins|mieux|peu|trop|très|en|y))") and morph(<1, ":Cc||>,") ->> \1-les # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{chante les}} avec conviction TEST: Veut les en convaincre. TEST: Invite les plus intelligents… @@ -15263,11 +15278,11 @@ __imp_union_le_la_leur__ *WORD [le|la|leur|en] <<- /imp/ space_after(\1, 1, 1) - and morph(\1, ":E", ":[GM]") and morph(>1, ":||>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc||>,") + and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":||>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc||>,") ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{Prends le}} avec toi. TEST: {{Dites leur}} que nous sommes là. TEST: {{restons en}} là. @@ -15590,14 +15605,22 @@ [|,] @:Y <<- /2>> suj_vinfi __se_douter__ - [me|te|se] >douter [que|qu’] - nous nous >douter [que|qu’] - vous vous >douter [que|qu’] - <<- /-1>> no_subj + [me|te|se] >douter + nous nous >douter + vous vous >douter + <<- /-1>> upron + + +__se_vouloir__ + [me|te|se] >vouloir + nous nous >vouloir + vous vous >vouloir + <<- /-1>> upron + @@@@ @@@@ @@@@ @@ -15678,14 +15701,22 @@ !!!! Infinitif !! !! !! __infi_devoir_pouvoir_vouloir__ - [>devoir|>pouvoir|>vouloir] ~..(?:ée?s?|ez)$ + >devoir ~..(?:ée?s?|ez)$ + <<- /infi/ morph(\2, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) + -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. + + >pouvoir ~..(?:ée?s?|ez)$ <<- /infi/ not value(\1, "|puis|") and morph(\2, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. + >vouloir ~..(?:ée?s?|ez)$ + <<- /infi/ not tag(\1, "upron") and morph(\2, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) + -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. + TEST: il devait {{utilisé}} son temps à bon escient. TEST: tu dois {{mangé}} TEST: on va devoir {{mangé}} tout ça. TEST: Le devoir transcendé par l’amour de son pays. TEST: un devoir corrigé par plusieurs professeurs. @@ -16514,11 +16545,11 @@ [>permettre|>falloir|>vouloir|>ordonner|>exiger|>désirer|>préférer|>suffire] [que|qu’] @:(?:Os|M) @:I¬:[GYS] [afin|avant|pour|quoi|sans] [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -4>> =suggVerbMode(\4, ":S", \3) # Après “\1 que”, ce verbe devrait être au subjonctif. >douter [que|qu’] @:(?:Os|M) @:I¬:(?:[GYSK]|If) - <<- /vmode/ not tag(\2, "no_subj") and morph(\1, ":V", ":N") + <<- /vmode/ not tag(\1, "upron") and morph(\1, ":V", ":N") -4>> =suggVerbMode(\4, ":S", \3) # Après “\1 que”, ce verbe devrait être au subjonctif. il est possible [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5) # Après “\1 \2 \3”, ce verbe devrait être au subjonctif.