Grammalecte  Diff

Differences From Artifact [4e489889e4]:

To Artifact [bd3d16ea9e]:


10039
10040
10041
10042
10043
10044
10045
10046

10047
10048
10049
10050
10051
10052
10053
10054
10055

10056
10057
10058
10059
10060
10061
10062
10039
10040
10041
10042
10043
10044
10045

10046
10047
10048
10049
10050
10051
10052
10053
10054

10055
10056
10057
10058
10059
10060
10061
10062







-
+








-
+







__[i]/conj(conj_det_sing_nom)__
    (?<![dD]’)(une?|[mts](?:on|a)|ce(?:tte|t|)) +({w_2}) +({w_2})  @@0,w,$
    <<- not (re.search("(?i)^une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) ", \0) and morph(\3, ":3p", False))
    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
    and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]?p", False)) and not before(r"(?i)\bni .* ni ") >>>
    <<- not checkAgreement(\2, \3)
    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- isAmbiguousAndWrong(\2, \3, ":s", ":3s")
    <<- __else__ and isAmbiguousAndWrong(\2, \3, ":s", ":3s")
    -3>> =suggVerb(@, ":3s", suggSing)                  # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_sing_nom_confusion)__
    (?<![dD]’)(l(?:e(?:ur|) |a |’)) *({w_2}) +({w_2})  @@0,w,$
    <<- not (re.search("(?i)^la +moitié ", \0) and morph(\3, ":3p", False))
    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
    and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]?p", False)) and not before(r"(?i)\bni .* ni ") >>>
    <<- not checkAgreement(\2, \3)
    -3>> =suggVerb(@, ":3s")                            # Conjugaison erronée. Accord avec « \1 \2… ». Le verbe devrait être à la 3ᵉ personne du singulier.
    <<- isVeryAmbiguousAndWrong(\2, \3, ":s", ":3s", isStart())
    <<- __else__ and isVeryAmbiguousAndWrong(\2, \3, ":s", ":3s", isStart())
    -3>> =suggVerb(@, ":3s", suggSing)                  # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
__[i]/conj(conj_det_sing_nom_qui)__
    (?<![dD]’)(l[ea] |une? |l’|[mts](?:on|a) |ce(?:tte|t|) |leur ) *({w_2}) +qui +({w_2})  @@0,w,$
    <<- not ( re.search("(?i)^(?:une? +(?:dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet) |la +moitié) ", \0)
    and morph(\3, ":3p", False) )
    and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":V", ":(?:3s|P|Q|Y|3p!|G)") and morphex(word(-1), ":C", ":(?:Y|P)", True)
    and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":[123]p", False)) and not before(r"(?i)\bni .* ni ")