Grammalecte  Check-in [cd269f1cab]

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: cd269f1cab105bd3049cab42eb1a603b68687f674131608992ff7f63e247e7a0
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
6578

6579
6580
6581
6582
6583
6584
6585
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|f)") and morph(\2, ":[NAQ].*:f")
        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
6607

6608
6609
6610
6611
6612
6613
6614
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|m)") and morph(\2, ":[NAQ].*:m")
        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
6638

6639
6640
6641
6642
6643
6644
6645
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|f)") and morph(\3, ":[NAQ].*:f")
        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
6665

6666
6667
6668
6669
6670
6671
6672
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|f)") and morph(\2, ":[NAQ].*:f")
        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
6717

6718
6719
6720
6721
6722
6723
6724
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|m)") and morph(\3, ":[NAQ].*:m")
        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
6743

6744
6745
6746

6747
6748
6749
6750
6751
6752
6753
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|m)") and morph(\2, ":[NAQ].*:m")
        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") 
    <<- 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
6829

6830
6831
6832
6833
6834
6835
6836
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|f)") and morph(\2, ":[NAQ].*:f")
        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
6859

6860
6861
6862
6863
6864
6865
6866
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|m)") and morph(\2, ":[NAQ].*:m")
        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.