Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2189,10 +2189,11 @@ <<- =>> exclude(\1, ":O") certaines @:[NA].*:[fe]:[pi]¬:(?:G|3[sp]) <<- =>> exclude(\1, ":O") + ## contre contre [moi|toi|soi|lui|elle|iel|nous|vous|eux|elles|iels] <<- =>> select(\1, ":R") [la|les|des|une|cette|ma|ta|sa|notre|votre|leur+s] >lutte ?[menée+s|lancée+s]¿ contre [>accusation|>action|>assaut|>attentat|>croisade|>guerre|>jihad|>offensive|>sortilège] ?[mené+ses|lancé+ses]¿ contre @@ -2200,10 +2201,11 @@ <<- =>> select(\-1, ":R") contre <<- not morph(<1, ":[DA].*:[me]:[si]") =>> exclude(\1, ":N") + ## dans <<- not morph(<1, ":D.*:p|>[a-zé-]+ième/") =>> select(\1, ":R") [de|d’] [me|m’|te|t’|se|s’|en|y|nous|vous|moi|toi|soi|lui|elle|iel|eux|elles|iels] [de|d’] @:[MYBD] @@ -2214,10 +2216,11 @@ <<- not \2[0:1].isupper() =>> select(\1, ":D") [devant|derrière] $:D <<- morph(<1, ":V||>,", ":G") =>> select(\1, ":R") + ## entre entre *WORD et *WORD <<- (morph(\2, ":[NA]") and morph(\4, ":[NA]")) or (morph(\2, ":Y") and morph(\4, ":Y")) or (morph(\2, ":M") and morph(\4, ":M")) =>> define(\1, ":R") @@ -2226,10 +2229,11 @@ entre [moi|toi|soi|lui|elle|iel|nous|vous|eux|elles|iels] et [moi|toi|soi|lui|elle|iel|nous|vous|eux|elles|iels] entre autres <<- =>> define(\1, ":R") + ## face [à|au|aux] <<- not morph(<1, ":(?:D|A.*:[fe]:[si])") =>> exclude(\1, ":N") mais <<- not value(<1, "|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|") =>> exclude(\1, ":N") @@ -2245,14 +2249,10 @@ <<- __else__ and morph(\2, ":N", "*") =>> select(\1, ":D") [son|ton] , <<- =>> select(\1, ":N") - [une|le|la|les|des|chaque|quelque|quelques|cet|cette|ces|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leur|leurs|quel|quelle|quels|quelles] personne - [une|la|cette|ma|ta|sa|votre|votre|leur|quel|quelle|quelque] tierce personne - <<- =>> select(\-1, ":N") - pas mal <<- =>> select(\2, ":W") mal @:[AQ] <<- morph(<1, ":[NV]", ":D.*:[me]:[si]") =>> select(\1, ":W") @@ -2261,28 +2261,52 @@ <<- morph(<1, "|>,|:[ISKYP]", "*") =>> select(\1, ":W") [le|la|l’|les|du|chaque|ces|des|mes|tes|ses|nos|vos|leurs|quelques|quels|quelles] même <<- =>> select(\2, ":A") + ## outre en outre <<- not value(<1, "|il|on|elle|iel|n’|l’|") =>> select(\1, ":R") and select(\2, ":N") [une|cette|quelle|mon|notre|votre] outre <<- =>> select(\2, ":N") outre $:D <<- morph(<1, ":V", ":[GA]") =>> select(\1, ":R") + ## point [le|l’|un|mon|notre|votre|leur|chaque|mes|tes|ses|nos|vos|leurs|quel|quels|quelle|quelles] point <<- =>> select(\2, ":N") + [ne|n’] $:V point + <<- =>> exclude(\-1, ":N") + + ## nos @¬:B <<- =>> select(\1, ":D") parmi *WORD <<- =>> select(\1, ":R") + pas + <<- morph(<1, ":[VWX]") =>> exclude(\1, ":N") + + passé [|,|$:R] + <<- =>> exclude(\1, ":G") + + ## personne + personne [ne|n’] + <<- not morph(<1, ":[DA].*:[fe]:[si]") =>> select(\1, ":O") + + n’ $:V personne + <<- =>> exclude(\-1, ":N") + + [une|le|la|les|des|chaque|quelque|quelques|cet|cette|ces|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leur|leurs|quel|quelle|quels|quelles] personne + [une|la|cette|ma|ta|sa|votre|votre|leur|quel|quelle|quelque] tierce personne + <<- =>> select(\-1, ":N") + + ## plus / moins [plus|moins] <<- value(<1, "|le|la|l’|les|leur|") =>> select(\1, ":[NW]") <<- __else__ and morph(<1, ":V") =>> select(\1, ":W") plus ou moins @@ -2295,25 +2319,17 @@ <<- not value(<1, "|je|ne|n’|") =>> select(\1, ":W") [un|une|des|le|la|l’|les|mon|ton|son|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs] [plus|moins] @:[AW]¬:G <<- =>> select(\2, ":W") + ## + pourvu + <<- not value(>1, "|que|qu’|") =>> exclude(\1, ":G") + puis <<- not value(<1, "|je|ne|n’|le|l’|leur|") =>> exclude(\1, ":V") - pas - <<- morph(<1, ":[VWX]") =>> exclude(\1, ":N") - - passé [|,|$:R] - <<- =>> exclude(\1, ":G") - - personne [ne|n’] - <<- not morph(<1, ":[DA].*:[fe]:[si]") =>> select(\1, ":O") - - pourvu - <<- not value(>1, "|que|qu’|") =>> exclude(\1, ":G") - SA <<- morph(<1, ":D") =>> exclude(\1, ":D") selon @:(?:[DBM]|Oo) <<- =>> select(\1, ":R") @@ -19377,10 +19393,13 @@ <<- =>> select(\-1, ":V") qui ?[lui|nous|vous|leur]¿ $:V0 $:Q <<- =>> select(\-2, ":V") and select(\-1, ":Q") + qui [ne|n’] $:V + <<- =>> exclude(\-1, ":E") + [|,|(] nous ?[ne|n’]¿ $:1p <<- =>> select(\2, ":Os") and select(\-1, ":[ISK].*:1p") [|,|(] vous ?[ne|n’]¿ $:2p <<- =>> select(\2, ":Os") and select(\-1, ":[ISK].*:2p")