5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
|
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
|
+
|
and morph(word(-1), ":[VRBX]|>comme ", True, True)
-2>> =switchGender(@, True) # Accord de genre erroné avec « \1 ».
<<- __also__ and hasFemForm(\1) -1>> =switchGender(@) # Accord de genre erroné avec « \2 ».
<<- morph(\1, ":[NAQ].*:[pi]", False) and morph(\2, ":[NAQ].*:s")
and not apposition(\1, \2) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
and (morphex(\2, ":N", ":[AQ]") or morph(word(-1), ":[VRBX]|>comme ", True, True))
-2>> =suggPlur(@) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
<<- checkAgreement(\1, \2) =>> =exclude(\2, ":V")
TEST: faire table rase des passions {{inutile}} ->> inutiles
TEST: à bonne distance des {{chiens}} {{méchante}}
TEST: des hommes {{attaquée}}
TEST: des femmes {{agressé}}
TEST: des hommes très mal {{renseigné}} ->> renseignés
TEST: des dépenses non {{nécessaire}} ->> nécessaires
|
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
|
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
|
-
-
+
+
+
+
+
+
|
TEST: nulle n’{{iras}} là-bas
TEST: nulle femme ne {{saurais}} le faire
TEST: nul homme ne {{sauras}} s’y prendre
__[i]/conj(conj_un_une_des)__
(une? des {w_2}) +({w_1}) @@0,$
<<- morphex(\2, ":V", ":(?:3s|P|G|Q)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
-2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
<<- morphex(\2, ":V", ":(?:3s|P|G|Q)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True) and not morph(\2, ":[NA].*:[pi]", False)
-2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
TEST: un des ingénieurs {{vinrent}} nous dire quoi faire.
TEST: une des femmes présente ses résultats.
__[i]/conj(conj_un_une_des_pronom)__
(une? des {w_2}) +(?:qui +>? *|> +)({w_1}) @@0,$
<<- morphex(\2, ":V", ":(?:3s|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True)
-2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier.
TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret
|
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
|
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
|
-
+
-
+
+
+
-
+
-
-
+
+
|
TEST: certains {{prenne}} leur temps
TEST: Plusieurs qui {{pense}} que c’est une arnaque se sont quand même trompés.
__[i]/conj(conj_det_plur_nom)__
([cmts]es|[nv]os|leurs|quelques) +({w_2}) +({w_2}) @@0,w,$
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Q|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>>
<<- not checkAgreement(\2, \3)
-3>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
<<- __else__ and isAmbiguousAndWrong(\2, \3, ":p", ":3p")
-3>> =suggVerb(@, ":3p", suggPlur) # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_plur_nom_qui)__
([cmts]es|[nv]os|leurs|quelques) +({w_2}) +qui +({w_2}) @@0,w,$
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Q|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
-3>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
__[i]/conj(conj_det_plur_nom_pronom)__
([cmts]es|[nv]os|leurs|quelques) +({w_2}) +(?:qui +|)> +({w_2}) @@0,w,$
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G)") and morphex(word(-1), ":C", ":[YP]", True)
and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") )
-3>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 \2… ». 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.
TEST: vos questions ne {{réclame}} aucune réflexion.
TEST: le lien entre les agences de renseignement et ces mêmes entreprises pouvait reposer sur des activités de surveillance à proprement parler.
__[i]/conj(conj_det_plur_nom_confusion)__
(les|certaine?s|plusieurs) +({w_2}) +({w_2}) @@0,w,$
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Q|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
and not( morph(\3, ":3s", False) and before(r"(?i)\b(?:l[ea] |l’|une? |ce(?:tte|t|) |[mts](?:on|a) |[nv]otre ).+ entre .+ et ") ) >>>
<<- not checkAgreement(\2, \3)
-3>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
<<- __else__ and (\1 == "les" or \1 == "Les") and isVeryAmbiguousAndWrong(\1, \2, ":p", ":3p", isStart())
-3>> =suggVerb(@, ":3p", suggPlur) # Accord avec « les \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
<<- __else__ and (\1 == "les" or \1 == "Les") and isVeryAmbiguousAndWrong(\2, \3, ":p", ":3p", isStart())
-3>> =suggVerb(@, ":3p", suggPlur) # Accord avec « les \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
<<- __else__ and (\1 == "certains" or \1 == "Certains") and isVeryAmbiguousAndWrong(\2, \3, ":m:p", ":3p", isStart())
-3>> =suggVerb(@, ":3p", suggMasPlur) # Accord avec « certains \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
<<- __else__ and (\1 == "certaines" or \1 == "Certaines") and isVeryAmbiguousAndWrong(\2, \3, ":f:p", ":3p", isStart())
-3>> =suggVerb(@, ":3p", suggFemPlur) # Accord avec « certaines \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_plur_nom_qui_confusion)__
(les|certaine?s|plusieurs) +({w_2}) +qui +({w_2}) @@0,w,$
<<- morph(\2, ":[NAQ].*:[pi]", False) and morphex(\3, ":V", ":(?:[13]p|P|Q|Y|G|A.*:e:[pi])") and morphex(word(-1), ":C", ":[YP]", True)
|
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
|
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
|
+
+
-
-
+
+
+
+
+
+
+
+
|
TEST: Les pauvres petites dames sont folles
TEST: Les entrepreneurs ont {{cherchaient}} la reconnaissance sociale
TEST: l’écart entre les riches et les pauvres n’était pas si grand.
TEST: les grands {{danse}}
TEST: les filles {{passes}} ce matin
TEST: les marchands {{marche}}
TEST: les marchands {{plie}}
TEST: certaines demandes qui {{donne}} le tournis.
TEST: plusieurs pressions qui ne {{donne}} pas les résultats attendus.
TEST: les marchands {{paye}}
TEST: les marchands {{marchande}}
TEST: les marchandes {{paie}}
TEST: les marchandes {{marchande}}
TEST: les chattes {{finis}}
TEST: les chattes {{manges}}
TEST: les chattes {{danse}}
TEST: certains hommes {{marchandes}} sans cesse
TEST: certaines femmes {{danse}} beaucoup
__[i]/conj(conj_des_nom)__
^ *des +({w_2}) +(?:> +|)({w_2}) @@w,$
__[i]/conj(conj_des_nom1)__
^ *des +({w_2}) +({w_2}) @@w,$
<<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q|A.*:[pi])") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True) >>>
<<- not morph(\2, ":[NA]", False) -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
<<- __else__ and not checkAgreement(\1, \2) -2>> =suggVerb(@, ":3p", suggPlur) # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
__[i]/conj(conj_des_nom2)__
^ *des +({w_2}) +> +({w_2}) @@w,$
<<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q)") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True)
-2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
__[i]/conj(conj_des_nom_qui)__
^ *des +({w_2}) +qui +(?:> +|)({w_2}) @@w,$
<<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G)")
-2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel.
TEST: Des hommes {{arrive}}.
TEST: Des femmes ne {{demande}} rien.
TEST: des femmes qui {{conduise}} la marche du monde.
## Quel(le) que soit / quel(le)s que soient
# singulier
__[i]/conj(conj_quel_quelle_que_3sg1)__
|