Grammalecte  Check-in [1c2b72cb21]

Overview
Comment:[fr] faux positifs
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 1c2b72cb21980419cac02bcd79e3c40cc32da79303a388f01ad82eed0472bd16
User & Date: olr on 2018-11-25 20:03:20
Other Links: manifest | tags
Context
2018-11-25
20:04
[core] value function: CAPITAL words also tested as lowercase words check-in: 0afadf325d user: olr tags: trunk, core
20:03
[fr] faux positifs check-in: 1c2b72cb21 user: olr tags: trunk, fr
14:26
[fr] phonet_simil: clore/chlore check-in: 3443bd9b9b user: olr tags: trunk, fr
Changes

Modified gc_lang/fr/rules.grx from [1721cc0f05] to [c72af3045b].

2124
2125
2126
2127
2128
2129
2130
2131

2132
2133
2134
2135
2136
2137
2138
2124
2125
2126
2127
2128
2129
2130

2131
2132
2133
2134
2135
2136
2137
2138







-
+







    au  [bas|bras|côté|milieu|sein|sommet|faîte] [duquel|desquels|desquelles]
    au  [bas|bras|côté|milieu|sein|sommet|faîte] de laquelle
    aux [côtés] [duquel|desquels|desquelles]
    aux [côtés] de laquelle
        <<- %3>>

    au sortir [de|des|du|d’]
        <<- ~2>> *
        <<- ~2>> _

    en tout et pour tout
        <<- %-1>>

    jusqu’ à
        <<- %2>>

3161
3162
3163
3164
3165
3166
3167
3168

3169
3170
3171
3172






3173
3174
3175
3176
3177
3178
3179
3161
3162
3163
3164
3165
3166
3167

3168
3169
3170


3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183







-
+


-
-
+
+
+
+
+
+








TEST: {{ferro électrique}}                              ->> ferro-électrique
TEST: {{rétro ingénierie}}.                             ->> rétro-ingénierie


__tu_préfixe_divers__
    [anti|auto|arrière|avant|demi|extra|intra|multi|post]  *WORD
        <<- /tu/ analyse_with_next(\1, "-", ":") and (morph(<1, ":D|<start>") or value(<1, "|l’|d’|"))
        <<- /tu/ (morph(<1, ":D|<start>") or value(<1, "|l’|d’|")) and analyse_with_next(\1, "-", ":")
        ->> \1-\2                                                                                   # Il manque probablement un trait d’union.

    [non|sans|sous]  *WORD
        <<- /tu/ analyse_with_next(\1, "-", ":") and morph(<1, ":D")
    [non|sans]  *WORD
        <<- /tu/ morph(<1, ":D") and analyse_with_next(\1, "-", ":")
        ->> \1-\2                                                                                   # Il manque probablement un trait d’union.

    sous  *WORD
        <<- /tu/ not(\2 == "forme" and value(>1, "|de|d’|")) and morph(<1, ":D") and analyse_with_next(\1, "-", ":")
        ->> \1-\2                                                                                   # Il manque probablement un trait d’union.

TEST: il a pris une balle dans l’{{arrière train}}.
TEST: Ce {{sans gêne}} mérite une bonne leçon
TEST: Sans gêne, il avança parmi nous.


11696
11697
11698
11699
11700
11701
11702

11703
11704
11705
11706
11707
11708
11709
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714







+







            and not (\1.startswith("de") and value(<1, "|un|une|"))
        -4>> =suggPlur(\4)                                                                          # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel.

TEST: ces {{beaux}} {{institutions}}
TEST: de vos défauts {{terrible}}, je connais presque tout.
TEST: Les éléments caractéristiques liés à ses valeurs historique et architecturale
TEST: Une des pierres veinée de rouge…
TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie.


__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":[VRBX]|:Cs|>comme/|<start>", "*") or morph(\3, ":N", ":[AQ]")) and not \3.startswith("seul") >>>
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                # Accord de genre erroné avec « \2 ».
14955
14956
14957
14958
14959
14960
14961
14962

14963
14964
14965
14966





14967
14968

14969
14970
14971
14972
14973
14974
14975
14960
14961
14962
14963
14964
14965
14966

14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977

14978
14979
14980
14981
14982
14983
14984
14985







-
+




+
+
+
+
+

-
+








    [à|avec|chez|contre|dans|envers|par|pour|selon|sous|sur] [un|une|le|la|l’|les|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|quelques|certains|certaines]  @:[NAM]¬:G  <end>
    [à|avec|chez|contre|dans|envers|par|pour|selon|sous|sur] [un|une|le|la|l’|les|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|quelques|certains|certaines]  @:[NAM]¬:G  ?,¿  [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [à|avec|chez|contre|dans|envers|par|pour|selon|sous|sur] [un|une|le|la|l’|les|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|quelques|certains|certaines]  @:[NAM]¬:G  @:[VR]¬:[NAP]
    [à|avec|chez|contre|dans|envers|par|pour|selon|sous|sur] [un|une|le|la|l’|les|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|quelques|certains|certaines]  @:[NAM]¬:G  , @¬:[NA]
        <<- ~1:3>> *

    [le|la|les|leur|ce|ton|son|certains|certaines] *WORD *WORD
    [ce|ton|son] *WORD *WORD
        <<- morph(\2, ":[NA]", ":(?:[123]p|P|X|G)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
        <<- __else__ ~3>> *

    [le|la|les|leur|certains|certaines] *WORD *WORD
        <<- morph(\2, ":[NA]", ":(?:[123]p|P|X|G|Y)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
        <<- __else__ ~3>> *

    l’ *WORD *WORD
        <<- \2 != "air" and morph(\2, ":[NA]", ":(?:[123]p|P|X|G)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\2, ":[NA]", ":(?:[123][sp]|P|X|G|Y)|>air") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
        <<- __else__ ~3>> *

    [des|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs|au|aux] *WORD *WORD
        <<- morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
        <<- __else__ ~3>> *
19245
19246
19247
19248
19249
19250
19251



19252
19253
19254
19255
19256
19257
19258
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271







+
+
+







TEST: Comment vous expliquez ça ?
TEST: Comment vous expliquer ça ?
TEST: le général n’en aura cure
TEST: n’en avoir cure et faire comme si de rien n’était.
TEST: Comme d’habitude, ils ont tout fait à l’arrache.
TEST: tout un système pour justifier que “nous” avons toujours raison et que nous ne pouvons jamais avoir tort.
TEST: Daignez le lui permettre.
TEST: Renvoyer quelqu’un sans l’avoir examiné peut être un grand danger.
TEST: En 1944, au sortir des deux guerres ayant ravagé l’Europe, le CNR (conseil national de la résistance) avait bien mesuré les tenants et les aboutissants, c’est-à-dire les causes et les conséquences du ravage des inégalités et du jusqu’au boutisme de l’auto-défense d’une caste pour préserver ses acquis.



!!! Tests historiques                                                                             !!

## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.