Grammalecte  Check-in [c472cecfe0]

Overview
Comment:[fr] nr: nul/nulle +nom/adj, +faux positif
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: c472cecfe05bca564b549fb9ddf39cf7e09fbc4a1d82e816ed8e18596d7a94e8
User & Date: olr on 2019-03-06 17:14:17
Other Links: manifest | tags
Context
2019-03-06
19:13
[fr] màj: incohérences entre mots grammaticaux check-in: b160af8c72 user: olr tags: fr, trunk
17:14
[fr] nr: nul/nulle +nom/adj, +faux positif check-in: c472cecfe0 user: olr tags: fr, trunk
16:07
[fr] conj: nul/nulle, aucun/aucune check-in: 18622c1149 user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [776a2cb278] to [d019703ac8].

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
.....
11899
11900
11901
11902
11903
11904
11905


11906
11907
11908
11909
11910
11911
11912
11913





















11914
11915
11916
11917
11918
11919
11920
.....
11945
11946
11947
11948
11949
11950
11951

11952
11953
11954
11955
11956
11957
11958
    l’ [un|une]  *WORD
        <<- not value(\3, "|plus|") =>> select(\3, ":[123][sp]")

    [des|chaque|quelque|quelques|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs|aucun|aucune]  *WORD
        <<- =>> exclude(\2, ":V")

    [un|une]  *WORD
        <<- not value(<1, "|l’|") and not value(\2, "|a|fut|fût|") =>> exclude(\2, ":V")

    [une|le|la|les|des|chaque|quelque|quelques|cet|cette|ces|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs] personne
        <<- =>> select(\-1, ":N")

    de  [la|l’]  @:¬:Y
        <<- =>> exclude(\3, ":V")

................................................................................
__gn_aucun_1m__
    aucun  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> aucune                              # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: aucun {{accords}} n’y changera rien.



__gn_aucune_1m__
    aucune  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> aucun                               # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: aucune {{passions}} n’est digne qu’on meurt pour elle.























__gn_un_1m__
    un  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":(?:e|m|G|W|V0|3s|Y)") -1>> une                    # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.
................................................................................
TEST: un {{fromages}}.                                        ->> fromage
TEST: Un {{ballons}}                                          ->> ballon
TEST: Une {{cinglées}}                                        ->> cinglée
TEST: {{une}} des {{chats}}
TEST: {{une}} kyste                                           ->> un
TEST: {{une}} des {{joueurs}}
TEST: mille et une merveilles



## un / une
__gn_un_2m__
    un  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)







|







 







>
>








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>







1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
.....
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
.....
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
    l’ [un|une]  *WORD
        <<- not value(\3, "|plus|") =>> select(\3, ":[123][sp]")

    [des|chaque|quelque|quelques|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs|aucun|aucune]  *WORD
        <<- =>> exclude(\2, ":V")

    [un|une]  *WORD
        <<- not value(<1, "|l’|") and not value(\2, "|a|fut|fût|") and not morph(\2, ":P") =>> exclude(\2, ":V")

    [une|le|la|les|des|chaque|quelque|quelques|cet|cette|ces|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs] personne
        <<- =>> select(\-1, ":N")

    de  [la|l’]  @:¬:Y
        <<- =>> exclude(\3, ":V")

................................................................................
__gn_aucun_1m__
    aucun  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> aucune                              # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: aucun {{accords}} n’y changera rien.
TEST: {{aucun}} femme ne réagirait si bêtement


__gn_aucune_1m__
    aucune  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> aucun                               # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: aucune {{passions}} n’est digne qu’on meurt pour elle.
TEST: {{aucune}} homme ne comprendrait ça


__gn_nul_1m__
    nul  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> nulle                               # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: nul {{accords}} n’y changera rien.
TEST: {{nul}} femme ne réagirait si bêtement


__gn_nulle_1m__
    nulle  *WORD
        <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> nul                                 # Accord de genre erroné : « \2 » est masculin.
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant féminin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.

TEST: nulle {{passions}} n’est digne qu’on meurt pour elle.
TEST: {{nulle}} homme ne comprendrait ça


__gn_un_1m__
    un  *WORD
        <<- /gn/ morph(\2, ":[NA].*:f", ":(?:e|m|G|W|V0|3s|Y)") -1>> une                    # Accord de genre erroné : « \2 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    # Accord de genre erroné : « \1 » est un déterminant masculin.
        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    # Accord de nombre erroné : « \2 » devrait être au singulier.
................................................................................
TEST: un {{fromages}}.                                        ->> fromage
TEST: Un {{ballons}}                                          ->> ballon
TEST: Une {{cinglées}}                                        ->> cinglée
TEST: {{une}} des {{chats}}
TEST: {{une}} kyste                                           ->> un
TEST: {{une}} des {{joueurs}}
TEST: mille et une merveilles
TEST: Quatorze heures découpées en quatre parties, une sortant en salles chaque semaine


## un / une
__gn_un_2m__
    un  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|d’|") and not \3.startswith("seul") >>>
        <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3)