Grammalecte  Check-in [9735a3cfc0]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[fr] faux positifs et ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256:9735a3cfc0f88f731e38ea6f71305f9276577e45af5e53b9c50e3d460e9db900
User & Date: olr 2018-12-08 13:07:39
Context
2018-12-08
18:16
[fr] faux positif check-in: dbc6151faa user: olr tags: fr, trunk
13:48
[fx] remove extended dictionary check-in: 79556f572a user: olr tags: comdic, fx
13:07
[fr] faux positifs et ajustements check-in: 9735a3cfc0 user: olr tags: fr, trunk
2018-12-07
16:57
[fr] faux positifs et ajustements check-in: fecd099a55 user: olr tags: fr, trunk
Changes

Changes to gc_lang/fr/rules.grx.

1
2
3
4
5
6
7
8
9
10
11
12
....
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
....
9215
9216
9217
9218
9219
9220
9221

9222
9223
9224
9225
9226
9227
9228
9229
9230
....
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
.....
10024
10025
10026
10027
10028
10029
10030



10031
10032
10033
10034
10035
10036
10037
.....
10266
10267
10268
10269
10270
10271
10272






10273
10274
10275
10276
10277
10278
10279
.....
11185
11186
11187
11188
11189
11190
11191

11192
11193
11194
11195
11196
11197
11198
.....
11813
11814
11815
11816
11817
11818
11819

11820
11821
11822
11823
11824
11825
11826
.....
14940
14941
14942
14943
14944
14945
14946

14947
14948
14949
14950
14951
14952
14953
.....
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
.....
18646
18647
18648
18649
18650
18651
18652

18653
18654
18655
18656
18657
18658
18659
#
#   RÈGLES DE GRAMMAIRE FRANÇAISE POUR GRAMMALECTE
#   par Olivier R.
#
#   Copyright © 2011-2017.
#
#   This file is part of Grammalecte.
#
#   Grammalecte is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
................................................................................
    avant toute chose
    avant toutes choses
    avant d’ aller plus loin
    avant J.-C.
    avant Jésus-Christ
    avant d’ en arriver là
    avant de faire quoi que ce soit
    avant de faire quoi que ce soit [de|d’] ?@:W¿ [stupide|crétin|con|idiot]
    avant qu’ il ne soit trop tard
    avant un bon bout de temps
    avec [brio|joie|légèreté|insistance|peine]
    avec autre chose
    avec le plus grand soin
    avec pertes et fracas
    avec un peu de chance
................................................................................
    [crois-le|croyons-le|croyez-le] ou [non|pas]
    cul par-dessus tête
    dans [ce|ces] [cas-là|cas-ci]
    dans ce cas [précis|particulier]
    dans ces cas [précis|particuliers]
    dans l’ [idéal|immédiat]
    dans la mesure du possible

    dans les années ~^\d{2,5}$
    dans les [jours|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires] à venir
    dans peu de temps
    dans tout [cela|ça|ceci]
    dans très peu de temps
    dans un cas comme dans l’autre
    dans une [certaine|large|moindre] mesure
    début {mois} ~^\d{2,5}$
    au début {mois} ~^\d{2,5}$
................................................................................
    hors d’ état de nuire
    hors du commun
    ici
    ici [comme|ou] ailleurs
    ici et [là|maintenant]
    ici même
    ici-bas
    il y a ?très¿ longtemps
    il y a ?très¿ peu de temps
    il y a quelques [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    il y a moins de [*NUM|@:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    il y a [*NUM|@:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    il y a quelque temps
    il n’y a pas ?si¿ longtemps
    illico ?presto¿
    jadis
    j’ en passe et des [meilleurs|meilleures]
    jour pour jour
    jusqu’ [alors|ici|aujourd’hui|Noël|Pâques]
    jusqu’ au bout des ongles
    jusqu’ au nouvel an
................................................................................

    en flagrant délit [de|d’]
        <<- ~2:3>> *

    en matière [de|d’]
        <<- ~2>> *




    en proie à
        <<- ~1:2>> *

    eu égard [à|au|aux]
        <<- ~1:2>> *

    et  /  ou
................................................................................
        <<- ~>> *

    haut et fort
        <<- not morph(<1, ":D") ~>> *

    hélas
        <<- not morph(<1, ":(?:X|Oo)") and not tag_before(\1, "2s") ~>> *







    mais
        <<- not morph(<1, ":(?:D.*:p|N)") ~>> *

    nécessité fait loi
        <<- not morph(<1, ":D.*:f:[si]") ~>> *

................................................................................
TEST: Une dizaine de militants, pour partie issus du collectif XYZ, se sont réunis
TEST: Rien ne va dans cette fête qu’est Noël.
TEST: Nous foncions vers notre perte à vitesse grand V, pied au plancher, sans intention de ralentir une seule seconde.
TEST: faire un embrago sur les armes suite à la dérive totalitaire du régime.
TEST: En colère, les ambulanciers une nouvelle fois mobilisés contre une réforme qui met en péril leur activité
TEST: Au-delà des réponses qu’a tenté d’apporter cette semaine le président, le mouvement des “gilets jaunes” marque un tournant dans la vie politique et sociale de la France.
TEST: S’y inventent de nouvelles solidarités, s’y expérimentent des joies politiques dont on avait perdu le goût et la découverte qu’on peut désobéir ensemble.




@@@@
@@@@
@@@@
@@@@
................................................................................
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, True)                           # Accord de genre erroné avec « \4 ».
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -4>> =suggPlur(\4)                                                                          # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: les pitres {{imbécile}}
TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites.
TEST: et les femmes {{retrouvés}} seront emmenées à l’hôpital.



__gn_leurs_1m__
    leurs  *WORD
        <<- /gn/ (morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")))
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
................................................................................
TEST: elle s’engage de ne les lui donner qu’en dernier recours.
TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: de leur plus grand fils, ils attendent beaucoup.
TEST: de n’importe quelle manière
TEST: un libéralisme trop « individualiste » s’est transformé en de supposées demandes de droits spécifiques
TEST: soit 40 % de plus comparé au quinquennat précédent
TEST: On passe de sophistiqué à classique.



__infi_y_verbe!3__
    y ~ée?s?$
        <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _                                 # Le verbe ne devrait pas être un participe passé.

TEST: y {{mangée}} était un supplice
................................................................................


__conj_personne_aucun_rien__
    [personne|aucun]  ?qui¿  @:V¬:(?:3s|P|G)
        <<- /conf/ morph(<1, ":C|<start>|>,", ":(?:P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    rien  @:V¬:(?:3s|P|G)
        <<- /conf/ morph(<1, ":C|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
            and not(morph(\2, ":Y") and value(<1, "|ne|"))
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    rien  qui  @:V¬:(?:3s|P|G)
        <<- /conf/ morph(<1, ":C|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
................................................................................
TEST: Personne ne {{peux}} me le dire.
TEST: Rien ne {{sers}} de courir
TEST: Rien n’{{arrives}} sans raison
TEST: Rien, en ce qui le concernait, ne {{pouvais}} le ramener à la raison.
TEST: personne n’en {{parlent}}
TEST: aucun d’entre nous n’{{as}} donné
TEST: aucun ne {{vas}} là-bas



__conj_nul_nulle__
    [nul|nulle]  ?qui¿  @:V¬:(?:3s|P|G|N.*:[si])
        <<- /conj/ morph(<1, ":C", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.





|







 







|







 







>

|







 







|
|
|
|
|
|
|







 







>
>
>







 







>
>
>
>
>
>







 







>







 







>







 







>







 







|







 







>







1
2
3
4
5
6
7
8
9
10
11
12
....
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
....
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
....
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
.....
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
.....
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
.....
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
.....
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
.....
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
.....
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
.....
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
#
#   RÈGLES DE GRAMMAIRE FRANÇAISE POUR GRAMMALECTE
#   par Olivier R.
#
#   Copyright © 2011-2018.
#
#   This file is part of Grammalecte.
#
#   Grammalecte is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
................................................................................
    avant toute chose
    avant toutes choses
    avant d’ aller plus loin
    avant J.-C.
    avant Jésus-Christ
    avant d’ en arriver là
    avant de faire quoi que ce soit
    avant de faire quoi que ce soit [de|d’] ?@:W¿ [absurde|stupide|crétin|con|idiot|inconsidéré]
    avant qu’ il ne soit trop tard
    avant un bon bout de temps
    avec [brio|joie|légèreté|insistance|peine]
    avec autre chose
    avec le plus grand soin
    avec pertes et fracas
    avec un peu de chance
................................................................................
    [crois-le|croyons-le|croyez-le] ou [non|pas]
    cul par-dessus tête
    dans [ce|ces] [cas-là|cas-ci]
    dans ce cas [précis|particulier]
    dans ces cas [précis|particuliers]
    dans l’ [idéal|immédiat]
    dans la mesure du possible
    dans leur globalité
    dans les années ~^\d{2,5}$
    dans les [secondes|minutes|heures|jours|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires] à venir
    dans peu de temps
    dans tout [cela|ça|ceci]
    dans très peu de temps
    dans un cas comme dans l’autre
    dans une [certaine|large|moindre] mesure
    début {mois} ~^\d{2,5}$
    au début {mois} ~^\d{2,5}$
................................................................................
    hors d’ état de nuire
    hors du commun
    ici
    ici [comme|ou] ailleurs
    ici et [là|maintenant]
    ici même
    ici-bas
    ?d’¿ il y a ?très¿ longtemps
    ?d’¿ il y a ?très¿ peu de temps
    ?d’¿ il y a quelques [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    ?d’¿ il y a moins de [*NUM|@:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    ?d’¿ il y a [*NUM|@:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires]
    ?d’¿ il y a quelque temps
    ?d’¿ il n’y a pas ?si¿ longtemps
    illico ?presto¿
    jadis
    j’ en passe et des [meilleurs|meilleures]
    jour pour jour
    jusqu’ [alors|ici|aujourd’hui|Noël|Pâques]
    jusqu’ au bout des ongles
    jusqu’ au nouvel an
................................................................................

    en flagrant délit [de|d’]
        <<- ~2:3>> *

    en matière [de|d’]
        <<- ~2>> *

    en phase avec
        <<- ~1:2>> *

    en proie à
        <<- ~1:2>> *

    eu égard [à|au|aux]
        <<- ~1:2>> *

    et  /  ou
................................................................................
        <<- ~>> *

    haut et fort
        <<- not morph(<1, ":D") ~>> *

    hélas
        <<- not morph(<1, ":(?:X|Oo)") and not tag_before(\1, "2s") ~>> *

    le [plus|moins] @:W possible
        <<- ~>> *

    les [moins|plus] @:A.*:[pi] possible
        <<- ~-1>> *

    mais
        <<- not morph(<1, ":(?:D.*:p|N)") ~>> *

    nécessité fait loi
        <<- not morph(<1, ":D.*:f:[si]") ~>> *

................................................................................
TEST: Une dizaine de militants, pour partie issus du collectif XYZ, se sont réunis
TEST: Rien ne va dans cette fête qu’est Noël.
TEST: Nous foncions vers notre perte à vitesse grand V, pied au plancher, sans intention de ralentir une seule seconde.
TEST: faire un embrago sur les armes suite à la dérive totalitaire du régime.
TEST: En colère, les ambulanciers une nouvelle fois mobilisés contre une réforme qui met en péril leur activité
TEST: Au-delà des réponses qu’a tenté d’apporter cette semaine le président, le mouvement des “gilets jaunes” marque un tournant dans la vie politique et sociale de la France.
TEST: S’y inventent de nouvelles solidarités, s’y expérimentent des joies politiques dont on avait perdu le goût et la découverte qu’on peut désobéir ensemble.
TEST: Les femmes, quant à elles, ont aussi tendance à sous-estimer le harcèlement dont elles sont dans leur globalité victimes



@@@@
@@@@
@@@@
@@@@
................................................................................
        <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, True)                           # Accord de genre erroné avec « \4 ».
        <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -4>> =suggPlur(\4)                                                                          # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: les pitres {{imbécile}}
TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites.
TEST: et les femmes {{retrouvés}} seront emmenées à l’hôpital.
TEST: les moins éloignées possible


__gn_leurs_1m__
    leurs  *WORD
        <<- /gn/ (morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")))
            or \2 in aREGULARPLURAL
        -2>> =suggPlur(\2)                                                                  # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel.
................................................................................
TEST: elle s’engage de ne les lui donner qu’en dernier recours.
TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: de leur plus grand fils, ils attendent beaucoup.
TEST: de n’importe quelle manière
TEST: un libéralisme trop « individualiste » s’est transformé en de supposées demandes de droits spécifiques
TEST: soit 40 % de plus comparé au quinquennat précédent
TEST: On passe de sophistiqué à classique.
TEST: Les « événements » d’il y a cinquante ans n’ont sans doute « rien à voir » avec le mouvement des « gilets jaunes »


__infi_y_verbe!3__
    y ~ée?s?$
        <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _                                 # Le verbe ne devrait pas être un participe passé.

TEST: y {{mangée}} était un supplice
................................................................................


__conj_personne_aucun_rien__
    [personne|aucun]  ?qui¿  @:V¬:(?:3s|P|G)
        <<- /conf/ morph(<1, ":C|<start>|>,", ":(?:P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    rien  @:V¬:(?:3s|P|Y|G)
        <<- /conf/ morph(<1, ":C|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
            and not(morph(\2, ":Y") and value(<1, "|ne|"))
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.

    rien  qui  @:V¬:(?:3s|P|G)
        <<- /conf/ morph(<1, ":C|<start>|>,", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
................................................................................
TEST: Personne ne {{peux}} me le dire.
TEST: Rien ne {{sers}} de courir
TEST: Rien n’{{arrives}} sans raison
TEST: Rien, en ce qui le concernait, ne {{pouvais}} le ramener à la raison.
TEST: personne n’en {{parlent}}
TEST: aucun d’entre nous n’{{as}} donné
TEST: aucun ne {{vas}} là-bas
TEST: il ne faut rien faire ou rien dire contre les manifestants


__conj_nul_nulle__
    [nul|nulle]  ?qui¿  @:V¬:(?:3s|P|G|N.*:[si])
        <<- /conj/ morph(<1, ":C", ":(?:Y|P|Q|[123][sp]|R)")
        --1>> =suggVerb(\-1, ":3s")                                     # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.