Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2058,11 +2058,11 @@ __fusions_noms_communs__ au revoir <<- ~>> ␣ <<- =>> define(\1, [":N:m:i"]) - n’ importe [qui|quoi] + n’ importe [qui|quoi|quel|quelle|quels|quelles] <<- ~1:2>> ␣ __fusions_noms_propres__ cac 40 @@ -7822,38 +7822,38 @@ !!!! Infinitif !! !! !! __infi_ne_pas_jamais_etc__ - ne ?presque¿ [pas|rien|guère|point] ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] non plus [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus]¿ non plus [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ [pas|rien|guère|point] non plus [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ jamais ?[rien|plus]¿ non plus [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ - ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[ow])|>que/ + ne ?presque¿ [pas|rien|guère|point] ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿ @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus [m’|t’|s’|nous|vous|les|lui|leur|l’] [en|y] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] non plus [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus]¿ non plus [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus [me|te|nous|vous] [le|la|les] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] [trop|beaucoup] [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ [pas|rien|guère|point] non plus [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus|trop|beaucoup]¿ [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ jamais ?[rien|plus]¿ non plus [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ + ne ?presque¿ plus ?[jamais|rien|guère]¿ non plus [le|la|les] [lui|leur] @:[VNA]¬:(?:Y|W|X|O[own])|>que/ <<- /infi/ --1>> =suggVerbInfi(\-1) # Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif. n’ [en|y] ?presque¿ [pas|rien|guère|point] @:[VNA]¬:(?:Y|W|X|O) n’ [en|y] ?presque¿ [pas|rien|guère|point] [trop|beaucoup] @:[VNA]¬:(?:Y|W|X|O) n’ [en|y] ?presque¿ [pas|rien|guère|point] non plus @:[VNA]¬:(?:Y|W|X|O) @@ -7901,10 +7901,11 @@ TEST: ne plus {{mangez}} fait maigrir TEST: ne plus {{mangées}} fait maigrir TEST: ne pas {{allé}} TEST: ne jamais plus me les {{montrés}} TEST: Ne jamais {{mangez}} de viande ! +TEST: ne jamais rien révéler des activités de la maison TEST: J’espère ne pas te déranger TEST: Ne pas te le donner, ce serait une insulte. TEST: ne jamais vraiment évoquer le sujet TEST: déterminés à ne pas se laisser récupérer TEST: de ne pas en élire du tout @@ -9514,10 +9515,12 @@ <<- ~1:3>> * pas tant que ça @¬:(?:3s|X|Oo) <<- ~1:4>> * + un temps @:A¬:A.*:[me]:[si] + <<- ~1:2>> * # END OF NG # #@:[VR]¬[NAP] #, @¬:[NA] @@ -10313,10 +10316,11 @@ TEST: Ses talons aiguille étaient à la denière mode. TEST: elles seules peuvent s’en sortir. TEST: elle seule peut y arriver TEST: elle seules les femmes la font craquer TEST: À certains égards, la décence ordinaire apparaît donc comme un pendant à la banalité du mal théorisée par Hannah Arendt. +TEST: cette région un temps florissante grâce aux mines de charbon @@@@ @@@@ @@ -13253,10 +13257,11 @@ TEST: sa façon de {{nettoyez}} était inefficace. TEST: elle a délibérément omis de les {{inclurent}}. TEST: elle s’engage de ne les lui donner qu’en dernier recours. TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera. TEST: de leur plus grand fils, ils attendent beaucoup. +TEST: de n’importe quelle manière __infi_y_verbe!3__ y ~ée?s?$ <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _ # Le verbe ne devrait pas être un participe passé. @@ -15501,10 +15506,11 @@ !!! !!! !!! Processeur: purge des préverbes !! !!! !!! + __purge_préverbes1__ [ne|n’|me|m’|te|se|s’|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- ~1>> * @@ -15719,10 +15725,16 @@ nous nous >vouloir vous vous >vouloir <<- /-1>> upron +__enumérations__ + [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] *WORD + || , [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] *WORD + || [,|et|ou] [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] *WORD + <<- morph(\2, ":[NAM]") and morph(\5, ":[NAM]") and morph(\8, ":[NAM]") />> enum + @@@@ @@@@ @@@@ @@@@ @@ -15963,15 +15975,15 @@ TEST: il suffit de {{mangé}} sain pour aller mieux. TEST: il ne suffit pas de pensées positives pour calmer son anxiété. __infi_verbes__ - [>aimer|>aller|>désirer|>espérer|>préférer|>souhaiter] ~..(?:ée?s?|ez)$ + [>aimer|>désirer|>espérer|>préférer|>souhaiter] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M") -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. - >venir ~..(?:ée?s?|ez)$ + [>aller|>venir] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M|>(?:armer|déguiser)/") -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. TEST: elle préférait {{mangée}} seule. TEST: Il venait, comme d’habitude, {{discuté}} avec son ami. @@ -15980,10 +15992,12 @@ TEST: ils vont par voie de conséquence vraiment {{attaqué}} la banque TEST: elles ont pu {{mangé}} TEST: Cette affaire ne va rien {{arrangé}}. TEST: Elles étaient venues armées. TEST: Il vint déguisé en mousquetaire. +TEST: D’ailleurs j’irai armé. +TEST: J’irai armé de mon épée. __infi_mieux_valoir__ mieux >valoir ~..(?:ée?s?|ez)$ <<- /infi/ morph(\3, ":(?:Q|2p)", ":[GM]") @@ -16251,20 +16265,20 @@ TEST: Manger salé, c’est mauvais pour la santé. __conj_det_sing_nom__ [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] *WORD @:V¬:(?:3s|P|Q|Y|3p!|G) - <<- /conj/ morph(<1, ":C||>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") + <<- /conj/ not tag(\2, "enum") and morph(<1, ":C||>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") or tag_before(\1, "ni") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) >>> <<- /conj/ not checkAgreement(\2, \3) -3>> =suggVerb(\3, ":3s") # Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. <<- /conj/ __else__ and isVeryAmbiguousAndWrong(\2, \3, ":s", ":3s", value(\1, "||,|")) -3>> =suggVerb(\3, ":3s", suggSing) # Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. [le|la|l’|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] *WORD qui @:V¬:(?:3s|P|3p!|G) - <<- /conj/ morph(<1, ":C||>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") + <<- /conj/ not tag(\2, "enum") and morph(<1, ":C||>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") or tag_before(\1, "ni") or value(<1, "|et|ou|")) and morph(\4, ":3p") ) -4>> =suggVerb(\4, ":3s") # Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. TEST: La {{N.S.A.}} {{espionneras}} toujours tout le monde @@ -16297,10 +16311,14 @@ TEST: un paquet de gens futés n’y ont vu que du feu. TEST: La moitié d’entre elles voient leurs loyers diminuer depuis le début de l’année TEST: Une partie de ces propositions étaient naïves TEST: tu n’acceptais jamais de danser avec quelqu’un si tu avais refusé à quelqu’un d’autre au début TEST: le loquet d’une des petites portes. +TEST: L’électricité, l’hydrogène, l’air comprimé n’existent pas… +TEST: la Syrie, l’Irak, la Mésopotamie tombaient. +TEST: des ruisselets, des arbres, une tonnelle qui rappelaient le temps. +TEST: son assurance, sa grâce, son sex-appeal nous permettent de passer sans encombre liquides et rasoirs. __conj_un_une_des__ [un|une] des *WORD @:V¬:(?:3s|P|G|Q|[NA].*:[pi]) <<- /conj/ morph(<1, ":C||>,", ":(?:Y|P|Q|[123][sp]|R)") @@ -16438,10 +16456,11 @@ TEST: beaucoup entre la peste et le choléra. TEST: Beaucoup avait été accompli TEST: Beaucoup sera fait pour ces gens. TEST: Beaucoup parviennent à ce résultat. TEST: Beaucoup leur donneront du fil à retordre. +TEST: beaucoup d’argent arrive dans nos caisses __conj_certains_tous_plusieurs__ [certains|certaines|tous|toutes|plusieurs] @:V¬:(?:G|N|A|3p|P|Q) [certains|certaines|tous|toutes|plusieurs] qui @:V¬:(?:G|3p|P)