Grammalecte  Diff

Differences From Artifact [fabee8142f]:

To Artifact [3a774d76c3]:


10232
10233
10234
10235
10236
10237
10238
10239

10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251






10252
10253
10254














10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281













10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10232
10233
10234
10235
10236
10237
10238

10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258


10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285

10286
10287
10288
10289
10290


10291
10292
10293
10294

10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321




































10322
10323
10324
10325
10326
10327
10328







-
+












+
+
+
+
+
+

-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+













-





-
-




-

+
+
+
+
+
+
+
+
+
+
+
+
+













-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-








__[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)
    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.
    <<- isAmbiguousAndWrong(\2, \3, ":p", ":3p")
    <<- __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)
    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: 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}) +(?: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) and not checkAgreement(\2, \3)
    (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)
    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 == "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)
    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_confusion)__
    (les|certaine?s|plusieurs) +({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: 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.
TEST: les données, en quantité plus que suffisante, {{indique}} que…
TEST: Ses « chiens » {{coure}} sur ma pelouse.
TEST: Les hommes comme celui-là {{mange}} comme deux.
TEST: les récompenses distribuées à parts égales {{était}}…
TEST: Les États-Unis d’Amérique se {{compose}} de 50 états.
TEST: Les enfants en {{manges}}.
TEST: Les ombres la {{donnes}}
TEST: mes filles {{passe}} ce matin
TEST: vos filles {{passes}} ce matin
TEST: Les grands hommes politiques
TEST: les charmantes petites mines de toutes les jeunes filles
TEST: Les pauvres petites dames sont folles
TEST: Les entrepreneurs ont {{cherchaient}} la reconnaissance sociale
TEST: le lien entre les agences de renseignement et ces mêmes entreprises pouvait reposer sur des activités de surveillance à proprement parler.
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: 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,$
    <<- 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 qui {{conduise}} la marche du monde.


# confusions noms/adjectifs/verbes (voir règles DPP)
__[i]/conj(conj_les_nom_ambiguïté)__
    les +({w_2})~ *({w_2})  @@w,$
    <<- morphex(word(-1), ":C", ":[YP]", True) and isVeryAmbiguousAndWrong(\1, \2, ":p", ":3p", isStart())
    -2>> =suggVerb(@, ":3p", suggPlur)                      # Accord avec « les \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.

TEST: les grands {{danse}}
TEST: les filles {{passes}} ce matin
TEST: les marchands {{marche}}
TEST: les marchands {{plie}}
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}}


__[i]/conj(conj_certains_nom_ambiguïté)__
    certains +({w_2})~ *({w_2})  @@w,$
    <<- morphex(word(-1), ":C", ":[YP]", True) and isVeryAmbiguousAndWrong(\1, \2, ":m:p", ":3p", isStart())
    -2>> =suggVerb(@, ":3p", suggMasPlur)                   # Accord avec « certains \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.

TEST: certains hommes {{marchandes}} sans cesse


__[i]/conj(conj_certaines_nom_ambiguïté)__
    certaines +({w_2})~ *({w_2})  @@w,$
    <<- morphex(word(-1), ":C", ":[YP]", True) and isVeryAmbiguousAndWrong(\1, \2, ":f:p", ":3p", isStart())
    -2>> =suggVerb(@, ":3p", suggFemPlur)                   # Accord avec « certaines \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.

TEST: certaines femmes {{danse}} beaucoup



## Quel(le) que soit / quel(le)s que soient

# singulier
__[i]/conj(conj_quel_quelle_que_3sg1)__
    quel(?:le|)s? que ([sf]\w+) +(?:l[ea]|ce(?:t|tte|)|[mts](?:a|on)|[nv]otre|leur)  @@w