Overview
| Comment: | [fr] gn2m: accords moins restrictifs | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | fr | 
| Files: | files | file ages | folders | 
| SHA3-256: | 
cd269f1cab105bd3049cab42eb1a603b | 
| User & Date: | olr on 2018-04-15 20:05:30 | 
| Other Links: | manifest | tags | 
Context
| 
   2018-04-16 
 | ||
| 07:34 | [tb] for Thunderbird 56 and less check-in: e716c8480d user: olr tags: trunk, tb | |
| 07:19 | merge trunk check-in: 25319eafb0 user: olr tags: tbnext | |
| 
   2018-04-15 
 | ||
| 20:05 | [fr] gn2m: accords moins restrictifs check-in: cd269f1cab user: olr tags: trunk, fr | |
| 19:30 | [lo][bug] lexicon editor: fix label files check-in: d38b521252 user: olr tags: trunk, lo | |
Changes
Modified gc_lang/fr/rules.grx from [405768efbc] to [11e5b7efa4].
| ︙ | ︙ | |||
6571 6572 6573 6574 6575 6576 6577  | 
## un / une
__[i]/gn(gn_2m_un)__
    (?<!et |ou | d’)un +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
 | |  | 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585  | 
## un / une
__[i]/gn(gn_2m_un)__
    (?<!et |ou | d’)un +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- morphex(\1, ":[NAQ].*:[si]", ":G") and morph(\2, ":[NAQ].*:p") and not \2.startswith("seul")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|d’) *$")
    -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_un_après_et_ou_de)__
    (?:et +|ou +|d’)un +({w_2}) +({w_2})  @@w,$
 | 
| ︙ | ︙ | |||
6600 6601 6602 6603 6604 6605 6606  | 
TEST: je me souviens d’un homme {{arrogants}}
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.
__[i]/gn(gn_2m_une)__
    (?<!et |ou | d’)une +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
 | |  | 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614  | 
TEST: je me souviens d’un homme {{arrogants}}
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.
__[i]/gn(gn_2m_une)__
    (?<!et |ou | d’)une +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:m")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
    <<- \1 != "fois" and morph(\1, ":[NAQ].*:[si]", False) and morph(\2, ":[NAQ].*:p") and not \2.startswith("seul")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|d’) *$")
    -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_une_après_et_ou_de)__
    (?:et +|ou +|d’)une +({w_2}) +({w_2})  @@w,$
 | 
| ︙ | ︙ | |||
6631 6632 6633 6634 6635 6636 6637  | 
## articles divers
__[i]/gn(gn_2m_le)__
    (?<!et |ou )(le) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- not \3.startswith("seul")
 | |  | 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645  | 
## articles divers
__[i]/gn(gn_2m_le)__
    (?<!et |ou )(le) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- not \3.startswith("seul")
        and morphex(\2, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:f")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin.
    <<- not \3.startswith("seul") 
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
__[i]/gn(gn_2m_le_après_et_ou_de)__
 | 
| ︙ | ︙ | |||
6658 6659 6660 6661 6662 6663 6664  | 
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
__[i]/gn(gn_2m_det_mas_sing)__
    (?<!et |ou |de )(?:cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
 | |  | 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672  | 
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
__[i]/gn(gn_2m_det_mas_sing)__
    (?<!et |ou |de )(?:cet?|quel|au|ledit) +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- not \2.startswith("seul") 
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_det_mas_sing_après_et_ou_de)__
 | 
| ︙ | ︙ | |||
6710 6711 6712 6713 6714 6715 6716  | 
TEST: comment osez-vous médire de mon héritage {{glorieuse}}
__[i]/gn(gn_2m_la)__
    (?<!et |ou |de )(la) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
 | |  | 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724  | 
TEST: comment osez-vous médire de mon héritage {{glorieuse}}
__[i]/gn(gn_2m_la)__
    (?<!et |ou |de )(la) +({w_2}) +({w_2})  @@0,w,$
    <<- morph(\1, ":D", False) >>>
    <<- \2 != "fois" and not \3.startswith("seul")
        and morphex(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:m")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin.
    <<- not \3.startswith("seul") 
        and morphex(\2, ":[NAQ].*:[si]", ":G") and morphex(\3, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\2, \3) and not before(r"\b(?:et|ou|de) +$")
    -3>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier.
__[i]/gn(gn_2m_la_après_et_ou_de)__
 | 
| ︙ | ︙ | |||
6736 6737 6738 6739 6740 6741 6742  | 
TEST: La plus grande {{cinglé}}.
TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
__[i]/gn(gn_2m_det_fem_sing)__
    (?<!et |ou |de )(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
 | | |  | 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753  | 
TEST: La plus grande {{cinglé}}.
TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
__[i]/gn(gn_2m_det_fem_sing)__
    (?<!et |ou |de )(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:m")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemSing(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[si]", ":G") and morphex(\2, ":[NAQ].*:p", ":[GWsi]")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemSing(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier.
__[i]/gn(gn_2m_det_fem_sing_après_et_ou_de)__
    (?:et|ou|de) +(?:[mts]a|cette|quelle|ladite) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\2, ":[NAQ].*:m")
 | 
| ︙ | ︙ | |||
6822 6823 6824 6825 6826 6827 6828  | 
TEST: chaque élément {{terrestres}}
TEST: ils viennent de chaque coin {{ignorée}} du pays.
__[i]/gn(gn_2m_det_mas_plur)__
    (?<!et |ou |de )(?:certains|quels|lesdits) +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
 | |  | 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836  | 
TEST: chaque élément {{terrestres}}
TEST: ils viennent de chaque coin {{ignorée}} du pays.
__[i]/gn(gn_2m_det_mas_plur)__
    (?<!et |ou |de )(?:certains|quels|lesdits) +({w_2}) +({w_2})  @@w,$
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[me]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:f")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggMasPlur(@, True)                                                                      # Accord de genre erroné : « \1 » est masculin, « \2 » est féminin.
    <<- not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[pi]", ":G") 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 not before(r"(?i)\bune de ")
    -2>> =suggMasPlur(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
 | 
| ︙ | ︙ | |||
6852 6853 6854 6855 6856 6857 6858  | 
TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit.
TEST: chez certains la revue Limite provoque des crises d’hystérie.
__[i]/gn(gn_2m_det_fem_plur)__
    (?<!et |ou |de )(?:certaines|quelles|lesdites) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
 | |  | 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866  | 
TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit.
TEST: chez certains la revue Limite provoque des crises d’hystérie.
__[i]/gn(gn_2m_det_fem_plur)__
    (?<!et |ou |de )(?:certaines|quelles|lesdites) +({w_2}) +({w_2})  @@w,$
    <<- \1 != "fois" and not \2.startswith("seul")
        and morphex(\1, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\2, ":[NAQ].*:m")
        and not apposition(\1, \2) and not before(r"\b(?:et|ou|de) +$")
    -2>> =suggFemPlur(@, True)                                                                      # Accord de genre erroné : « \1 » est féminin, « \2 » est masculin.
    <<- not \2.startswith("seul")
        and 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 not before(r"(?i)\bune de ")
    -2>> =suggFemPlur(@)                                                                            # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
 | 
| ︙ | ︙ |