Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2384,10 +2384,18 @@ en *WORD <<- value(<1, "|j’|n’|m’|t’|s’|l’|c’|") or morph(\2, ":(?:[123][sp]|P|Y)", "*") =>> select(\1, ":Ov") <<- __else__ and not morph(<1, ":O[sv]") and morph(\2, ":", ":[ISKYPE]") =>> select(\1, ":R") + en la @:[NA].*:[fe]:si + en le @:[NA].*:[me]:si + en [l’|leur] @:[NA].*:si + en [un|une|de|d’|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre] + en [les|des|ces|mes|tes|ses|nos|vos|leurs] + en [plusieurs|quelques|certains|certaines|maints|maintes] + <<- =>> select(\1, ":R") + y *WORD <<- value(<1, "|j’|n’|m’|t’|s’|l’|c’|") or morph(\2, ":(?:[123][sp]|P|Y)") =>> select(\1, ":Ov") __da_nous_vous__ @@ -2503,10 +2511,13 @@ nous ?[ne|n’]¿ ?[le|l’|en|nous|vous|lui|leur|y]¿ sommes nous ?[ne|n’]¿ [nous|vous] [le|l’|en|y] sommes nous ?[ne|n’]¿ [lui|leur] en sommes <<- not morph(<1, ":R") =>> select(\-1, ":V0") + + [de|d’|par|pour|sans|contre] [elle|lui|nous|vous|eux|elles|celui-ci|celui-là|celle-ci|celle-là|ceux-ci|ceux-là|celles-ci|celles-là] + <<- =>> select(\-1, ":Oo") __da_été__ >avoir ?@:[WX]¿ été <<- =>> select(\1, ":V0") and select(\-1, ":Q") @@ -2629,10 +2640,14 @@ __da_face__ face [à|au|aux] <<- not morph(<1, ":(?:D|A.*:[fe]:[si])") =>> exclude(\1, ":N") +__da_grâce__ + grâce [à|au|aux] + <<- not morph(<1, ":(?:D|A.*:[fe]:[si])") =>> exclude(\1, ":N") + __da_mais__ mais <<- not value(<1, "|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|") =>> exclude(\1, ":N") n’ en >pouvoir mais @@ -19553,11 +19568,14 @@ <<- =>> select(\-1, ":V") qui ?[lui|nous|vous|leur]¿ $:V0 $:Q <<- =>> select(\-2, ":V") and select(\-1, ":Q") - qui [ne|n’] $:V + qui ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ $:V + qui ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:V + qui ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:V + qui ?[ne|n’]¿ [lui|leur|y] en $:V <<- =>> exclude(\-1, ":E") [|,|(] nous ?[ne|n’]¿ $:1p <<- =>> select(\2, ":Os") and select(\-1, ":[ISK].*:1p")