Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2237,10 +2237,17 @@ standing >ovation star [system+s] quantitative easing <<- ~>> ␣ + jusqu’ [au-boutiste+s|au-boutisme+s] + <<- ~>> ␣ + + notre père + <<- morph(<1, ":D.*:[mp]") ~>> ␣ + <<- __also__ =>> define(\1, [":N:m:i"]) + presqu’ [>ile|>île] <<- ~>> ␣ <<- =>> change_meta(\1, "WORD") *NUM : *NUM @@ -2255,10 +2262,23 @@ <<- space_after(\1, 0, 0) and space_after(\2, 0, 0) and morph(\1, ":N") and morph(\-1, ":N") ~>> ␣ <<- =>> define(\1, [":N:e:i"]) __fusions_noms_propres__ + d’ Alembert + d’ Estaing + de Gaulle + de Broglie + des Cars + du Bellay + du Guesclin + La Bruyère + La Fayette + La Fontaine + <<- ~>> ␣ + <<- =>> define(\1, [":M2:e:i"]) + cac 40 <<- ~>> ␣ France [2|3|4|5|0|O] <<- ~>> ␣ @@ -2277,24 +2297,20 @@ Me ~^[A-ZÀÂÉÈÊÎÔ]. <<- =>> define(\1, [":T"]) <<- ~1>> * - notre père - <<- morph(<1, ":D.*:[mp]") ~>> ␣ - <<- __also__ =>> define(\1, [":N:m:i"]) - - [la|cette] ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Administration|Area|Army|Assocation|Avenue|Chamber|Church|City|Community|Court|Company|Corporation|Cup|Enterprise|Foundation|Fraternity|Gallery|Highway|House|League|Library|Mansion|Nation|Navy|Organization|Reserve|Road|River|Sea|Society|Station|Sorority|Tavern|Tower|University|Valley] + [la|cette] ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Administration|Area|Army|Assocation|Avenue|Chamber|Church|City|Community|Court|Company|Corporation|Cup|Enterprise|Foundation|Fraternity|Gallery|Highway|House|Initiative|League|Library|Mansion|Nation|Navy|Organization|Reserve|Road|River|Sea|Society|Station|Sorority|Tavern|Tower|University|Valley] <<- ~2:0>> ␣ <<- =>> define(\2, [":MP:f:s"]) - [le|au|du|ce] ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Act|Building|Bureau|Casino|Castle|Championship|Club|College|Comity|Consortium|Cottage|Covent|Day|Desert|Forum|Hall|Garden|Hospital|Hostel|Institute|Magazine|Manor|Monastery|Mount|Museum|News|Newspaper|Ocean|Office|Opera|Park|Party|Palace|Post|Restaurant|State|Theatre|Tournament] + [le|au|du|ce] ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Act|Building|Bureau|Casino|Castle|Center|Championship|Club|College|Comity|Consortium|Cottage|Covent|Day|Desert|Forum|Hall|Garden|Hospital|Hostel|Institute|Magazine|Manor|Monastery|Mount|Museum|News|Newspaper|Ocean|Office|Opera|Park|Party|Palace|Post|Restaurant|State|Theatre|Tournament] <<- ~2:0>> ␣ <<- =>> define(\2, [":MP:m:s"]) - the ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Administration|Area|Assocation|Chamber|Church|Community|Company|Corporation|Cup|Enterprise|Foundation|Gallery|House|League|Library|Navy|Reserve|Society|Station|University] - the ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Act|Championship|College|Consortium|Day|Hall|Hospital|Institute|Magazine|Museum|News|Opera|Park|Palace|Post|Restaurant|Theatre|Tournament] + the ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Administration|Area|Army|Assocation|Avenue|Chamber|Church|City|Community|Court|Company|Corporation|Cup|Enterprise|Foundation|Fraternity|Gallery|Highway|House|Initiative|League|Library|Mansion|Nation|Navy|Organization|Reserve|Road|River|Sea|Society|Station|Sorority|Tavern|Tower|University|Valley] + the ~^[A-ZÀÂÉÈÊÎÔ]. ?~^[A-ZÀÂÉÈÊÎÔ].¿ ?~^[A-ZÀÂÉÈÊÎÔ].¿ [Act|Building|Bureau|Casino|Castle|Center|Championship|Club|College|Comity|Consortium|Cottage|Covent|Day|Desert|Forum|Hall|Garden|Hospital|Hostel|Institute|Magazine|Manor|Monastery|Mount|Museum|News|Newspaper|Ocean|Office|Opera|Park|Party|Palace|Post|Restaurant|State|Theatre|Tournament] <<- ~2:0>> ␣ <<- =>> define(\2, [":MP:e:s"]) ~^[A-ZÀÂÉÈÊÎÔ]. Airways <<- ~>> ␣ @@ -8348,11 +8364,12 @@ en cour [de|d’] [cassation|justice] en cour d’ >assise <<- !1:2>> en cour - <<- /conf/ ->> en cours && Confusion probable. Une cour… Un cours… Adjectif : court(e). + <<- /conf/ not value(>1, "|suprême|fédérale|") + ->> en cours && Confusion probable. Une cour… Un cours… Adjectif : court(e). [|,|en|un|le|ce|mon|notre|votre|leur|des|les|mes|tes|ses|ces|nos|vos|leurs|quelques|plusieurs|certains] [court+s] [de|d’] || [allemand|anglais|arabe|arabe|bengali|bhodjpouri|cantonais|coréen|égyptien|espagnol|français|grec|gujarati|haoussa|hébreu|hindi|indonésien|italien|italien|latin|japonais|javanais|mandarin|marathi|minnan|ourdou|pendjabi|persan|portugais|russe|sanskrit|sanscrit|swahili|tamoul|thaï|turc|tégoulou|vietnamien|wu] [|,|en|un|le|ce|mon|notre|votre|leur|des|les|mes|tes|ses|ces|nos|vos|leurs|quelques|plusieurs|certains] [court+s] [de|d’] || [>administration|>agriculture|>agronomie|>art|>biologie|>chant|>commerce|>culture|>cristallographie|>conduite|>cuisine|>danse|>dessin|>ébénisterie|>écriture|>épistémologie|>droit|>éducation|>électronique|>électrotechnique|>élocution|>éthique|>géographie|>gestion|>histoire|>karaté|>kung-fu|>informatique|>langue|>lettre|>littérature|>orientation|>morale|maintien|>mathématique|>math|>mécanique|>médecine|>menuiserie|>musique|>odontologie|>pâtisserie|>peinture|>philosophie|>philo|>physique|>programmation|>psychologie|>science|>sport|>théâtre|>théologie] @@ -15119,10 +15136,11 @@ >homme à tout faire >horaire à rallonge >hôtel [de|d’] ville >hôtesse d’ accueil >infirmier [de|d’] garde + >ingénieur du son >inspection [de|d’] routine >instinct [de|d’] survie >interface [utilisateur+s] >intermittent du spectacle >invité d’ honneur @@ -24967,11 +24985,11 @@ TEST: les avaient-ils {{détectez}} ? !! !! -!!!! Accords avec l’adjectif précédant le pronom !! +!!!! Participes passés: Accords avec l’adjectif précédant le pronom !! !! !! __ppas_adj_accord_je_tu__ *WORD ?,¿ [je|j’|tu|iel] @@ -25983,204 +26001,263 @@ !!! __purge_préverbes1__ [ne|n’|me|m’|te|se|s’|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- ~1>> * + <<- /-1>> _ngn_ t’ @:(?:[123][sp]|P|Y)¬:(?:X|2s)|>(?:rien|ie?ls?|elles?|on)/ <<- ~1>> * + <<- /-1>> _ngn_ le @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[me]:[si]|G|M) la @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[fe]:[si]|G|M) l’ @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[si]|G|M) les @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[pi]|G|M) leur @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[si]|G|M) <<- \2.islower() ~1>> * + <<- /-1>> _ngn_ en @:(?:[123][sp]|P|Y)¬:[NA] <<- \2.islower() and not (value(\2, "|attendant|admettant|") and value(>1, "|que|qu’|")) ~1>> * + <<- /-1>> _ngn_ nous @:(?:[123][sp]|P|Y)¬:1p <<- \2.islower() and not (morph(<1, ":1p") and not value(<1, "|sachons|veuillons|allons|venons|partons|") and value(<2, "||,|")) ~1>> * + <<- /-1>> _ngn_ vous @:(?:[123][sp]|P|Y)¬:2p <<- \2.islower() and not (morph(<1, ":2p") and not value(<1, "|sachez|veuillez|allez|venez|partez|") and value(<2, "||,|")) ~1>> * + <<- /-1>> _ngn_ lui @:(?:[123][sp]|P|Y)¬:3s <<- not morph(<1, ":R") ~1>> * + <<- /-1>> _ngn_ [je|j’|il|on] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ [je|j’|il|on] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ [je|j’|il|on] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ [je|j’|il|on] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ [je|j’|il|on] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ tu le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:[123]s|V0)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ tu la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:[123]s|V0)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ tu [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:[123]s|V0)") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ tu les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:[123]s|V0)") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ tu en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:[123]s|V0)") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ [lui|celui-là|celui-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ [lui|celui-là|celui-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ [lui|celui-là|celui-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ [lui|celui-là|celui-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ [lui|celui-là|celui-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ [elle|iel|celle-là|celle-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ [elle|iel|celle-là|celle-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ [elle|iel|celle-là|celle-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ [elle|iel|celle-là|celle-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ [elle|iel|celle-là|celle-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ nous le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ nous la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ nous [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ nous les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ nous en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ vous le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ vous la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ vous [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ vous les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ vous en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ ils le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ ils la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ ils [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ ils les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ ils en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ [eux|ceux-là|ceux-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ [eux|ceux-là|ceux-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ [eux|ceux-là|ceux-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ [eux|ceux-là|ceux-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ [eux|ceux-là|ceux-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ [elles|iels|celles-là|celles-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * + <<- /-1>> _ngn_ [elles|iels|celles-là|celles-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * + <<- /-1>> _ngn_ [elles|iels|celles-là|celles-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[si]") ~2>> * + <<- /-1>> _ngn_ [elles|iels|celles-là|celles-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[pi]") ~2>> * + <<- /-1>> _ngn_ [elles|iels|celles-là|celles-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":[NA]") ~2>> * + <<- /-1>> _ngn_ [je|j’|il|on|ils] [nous|vous|lui] @:(?:[123][sp]|P|Y) <<- ~2>> * + <<- /-1>> _ngn_ tu [nous|vous|lui] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":V0") ~2>> * + <<- /-1>> _ngn_ [lui|celui-là|celui-ci] [nous|vous|lui] @:(?:[123][sp]|P|Y) [elle|celle-là|celle-ci|iel] [nous|vous|lui] @:(?:[123][sp]|P|Y) [nous|vous] [nous|vous|lui] @:(?:[123][sp]|P|Y) [eux|ceux-là|ceux-ci] [nous|vous|lui] @:(?:[123][sp]|P|Y) [elles|celles-là|celles-ci|iels] [nous|vous|lui] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":R") ~2>> * + <<- /-1>> _ngn_ __purge_préverbes2__ nous [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:(?:X|1p) vous [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:(?:X|2p) [me|m’|te|se|s’] [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P|Y)¬:X leur en @:(?:[123][sp]|P|Y)¬:X <<- ~1:2>> * + <<- /-1>> _ngn_ lui en @:(?:[123][sp]|P|Y)¬:X <<- not morph(<1, ":(?:R|3s)") ~1:2>> * + <<- /-1>> _ngn_ t’ [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X <<- not morph(\3, ":2s") or value(<1, "|je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|") ~1:2>> * <<- ~2>> * + <<- /-1>> _ngn_ __purge_préverbes_négation__ [ne|n’] [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:(?:[123][sp]|P|Y)¬:X [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X [ne|n’] [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P|Y)¬:X [ne|n’] [lui|leur] en @:(?:[123][sp]|P|Y)¬:X <<- ~1:-2>> * + <<- /-1>> _ngn_ __purge_proposition_subordonnée__ [que|qu’] je ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @V[123].*:1s @:[123][sp] [que|qu’] je ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @V[123].*:1s @:[123][sp] @@ -26237,10 +26314,11 @@ [que|qu’] $:M et $:M ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:V0.*:3p @:Q¬:G @:[123][sp] [que|qu’] $:M et $:M ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:V0.*:3p @:Q¬:G @:[123][sp] [que|qu’] $:M et $:M ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:V0.*:3p @:Q¬:G @:[123][sp] [que|qu’] $:M et $:M ?[ne|n’]¿ [lui|leur|y] en @:V0.*:3p @:Q¬:G @:[123][sp] <<- morph(<1, ":N", ":V") ~1:-2>> * + <<- /-1>> _ngn_ __purge_substantifs_comme_lui_elle__ les *WORD comme [moi|toi|nous|vous|lui|elle|eux|elles|celui-là|celui-ci|celle-là|celle-ci|ceux-là|ceux-ci|celles-là|celles-ci] un *WORD comme [moi|toi|nous|vous|lui|celui-là|celui-ci|ceux-là|ceux-ci] @@ -26958,11 +27036,12 @@ [le|la|l’|leur] *WORD @:V¬:(?:3s|P|Y|3p!|G|M) <<- /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") ) and not checkAgreement(\2, \3) and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "||,|") ) >>> - <<- /conj/ morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. [le|la|l’|leur] *WORD qui @:V¬:(?:3s|P|3p!|G|M) <<- /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é|") @@ -27003,25 +27082,27 @@ __conj_det_sing_nom__ [un|ce|cet|mon|ton|son|notre|votre] *WORD @:V¬:(?:3s|P|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C||>,", ":[YP]") and morph(\2, ":[NA].*:[me]:[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") ) and not checkAgreement(\2, \3) >>> - <<- /conj/ morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. [une|cette|mon|ton|son|ma|ta|sa|notre|votre] *WORD @:V¬:(?:3s|P|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C||>,", ":[YP]") and morph(\2, ":[NA].*:[fe]:[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") ) and not checkAgreement(\2, \3) >>> - <<- /conj/ morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. [un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre] *WORD qui @:V¬:(?:3s|P|3p!|G|M) <<- /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. + -4>> =suggVerb(\4, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. TEST: Tu devrais le savoir, ce roman-là de Jean-Paul Sartre {{es}} passionnant. TEST: Cette confusion qui {{donnent}} le tournis. TEST: tu sais, une hausse de 2 % {{satisfais}} tout le monde ->> satisfait TEST: tu sais, une petite {{donnes}} satisfaction @@ -27316,17 +27397,18 @@ __conj_det_plur_nom__ [ces|mes|tes|ses|nos|vos|leurs|quelques|maints] @:[NA].*:[pi]¬:V0 @:V¬:(?:3p|P|Y|G|M|A.*:[pi]) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>> - <<- /conj/ morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3p", suggPlur) && Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3p", suggPlur) && Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. [ces|mes|tes|ses|nos|vos|leurs|quelques|maints] @:[NA].*:[pi]¬:V0 qui @:V¬:(?:3p|P|Y|G|M|A.*:e:[pi]) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) - -4>> =suggVerb(\4, ":3p") && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + -4>> =suggVerb(\4, ":3p") && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel. TEST: Ses « chiens » {{coure}} sur ma pelouse. TEST: mes filles {{passe}} ce matin TEST: vos filles {{passes}} ce matin TEST: ces travaux qui {{demande}} tant d’efforts. @@ -27344,17 +27426,18 @@ les @:[NA].*:[pi]¬:V0 @:V¬:(?:3p|P|Y|G|M) <<- /conj/ morph(<1, ":Cs||>,") and not ( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) and not checkAgreement(\2, \3) and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "||,|") ) >>> - <<- /conj/ morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3p", suggPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3p", suggPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. les @:[NA].*:[pi] qui @:V¬:(?:3p|P|Y|G|M) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) - -4>> =suggVerb(\4, ":3p") && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + -4>> =suggVerb(\4, ":3p") && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel. TEST: Les abstentions {{est}} présumée manifester un défaut d’opinion marquée TEST: Les cours de culture générale nous {{apporte}} de l’ouverture d’esprit. TEST: Les hommes ne le lui {{pardonnes}} pas. TEST: Les infirmières à mi-temps ne {{travaille}} pas dans cette aile. @@ -27395,33 +27478,36 @@ certains @:[NA].*:[pi] @:V¬:(?:3p|P|Y|G|M) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) and not checkAgreement(\2, \3) and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "||,|") ) >>> - <<- /conj/ morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3p", suggMasPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3p", suggMasPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. certaines @:[NA].*:[pi] @:V¬:(?:3p|P|Y|G|M) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) and not checkAgreement(\2, \3) and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "||,|") ) >>> - <<- /conj/ morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3p", suggFemPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3p", suggFemPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. plusieurs @:[NA].*:[pi] @:V¬:(?:3p|P|Y|G|M) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\3, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) and not checkAgreement(\2, \3) and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "||,|") ) >>> - <<- /conj/ morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3p", suggPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. - <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:s") or (morph(\3, ":N.*:s") and morph(\2, ":A")) + -3>> =suggVerb(\3, ":3p", suggPlur) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. + <<- /conj/ __else__ -3>> =suggVerb(\3, ":3p") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du pluriel. [certains|certaines|plusieurs] @:[NA].*:[pi] qui @:V¬:(?:3p|P|Y|G|M) <<- /conj/ morph(<1, ":Cs||>,") and not( morph(\4, ":3s") and before("(?i)\\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) - -4>> =suggVerb(\4, ":3p") && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel. + -4>> =suggVerb(\4, ":3p") && Conjugaison erronée. Accord avec “\1 \2 \3…”. Le verbe devrait être à la 3ᵉ personne du pluriel. TEST: les chattes {{danse}} TEST: certains hommes {{marchande}} sans cesse TEST: tu sais, certains filtres {{donnes}} de mauvais résultats TEST: certaines femmes {{danse}} beaucoup