Grammalecte  Check-in [0070400a96]

Overview
Comment:[fr] gn2m: mauvais positionnement de l’erreur
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 0070400a96f6687832cef588365373e2640ced67c7caa7c067055a2a5f7483aa
User & Date: olr on 2018-04-21 18:06:23
Other Links: manifest | tags
Context
2018-04-22
15:00
[fr] màj: accentuation des majuscules check-in: 85da41f799 user: olr tags: trunk, fr
2018-04-21
18:06
[fr] gn2m: mauvais positionnement de l’erreur check-in: 0070400a96 user: olr tags: trunk, fr
07:40
[lo] dictionary options: update label about spelling suggestions check-in: 58bcefb7a6 user: olr tags: trunk, lo
Changes

Modified gc_lang/fr/rules.grx from [25c3e9ff1a] to [6fd4c8895b].

6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
__[i]/gn(gn_2m_les)__
    (?<!et |ou )(les) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
    <<- \2 != "fois" and not \3.startswith("seul")
        and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
        and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not before(r"(?i)\bune? de ")
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.
__[i]/gn(gn_2m_les_après_et_ou_de)__
    (?:et|ou) +(les) +({w_2}) +({w_2})  @@w,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -1>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
    <<- \2 != "fois" and not \3.startswith("seul")
        and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
        and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not ( before(r"(?i)\bune? de ") or (\0.startswith("de") and before(r"(?i)\bune? +$")) )
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.

TEST: les pitres {{imbécile}}







|













|







6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
__[i]/gn(gn_2m_les)__
    (?<!et |ou )(les) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -2>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
    <<- \2 != "fois" and not \3.startswith("seul")
        and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
        and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not before(r"(?i)\bune? de ")
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.
__[i]/gn(gn_2m_les_après_et_ou_de)__
    (?:et|ou) +(les) +({w_2}) +({w_2})  @@w,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and ((morphex(\2, ":[NAQ].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NAQ].*:f")) or (morphex(\2, ":[NAQ].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NAQ].*:m")))
        and not apposition(\2, \3)
        and not morph(word(-1), ":[NAQ]|>(?:et|ou) ", False, False)
    -3>> =switchGender(@, True)                                                                     # Accord de genre erroné entre « \2 » et « \3 ».
    <<- __also__ and hasFemForm(\2) -2>> =switchGender(@, True)                                     # Accord de genre erroné avec « \3 ».
    <<- \2 != "fois" and not \3.startswith("seul")
        and morph(\2, ":[NAQ].*:[pi]", False) and morph(\3, ":[NAQ].*:s")
        and not apposition(\2, \3) and not (after_chk1(r"^ +et +(\w[\w-]+)", ":A") or after_chk1(r"^ *, +(\w[\w-]+)", ":A.*:[si]"))
        and not ( before(r"(?i)\bune? de ") or (\0.startswith("de") and before(r"(?i)\bune? +$")) )
    -3>> =suggPlur(@)                                                                               # Accord de nombre erroné avec « \2 » : « \3 » devrait être au pluriel.

TEST: les pitres {{imbécile}}