Grammalecte  Check-in [060199513b]

Overview
Comment:[fr] conversion: regex rules -> graph rules
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | fr | rg
Files: files | file ages | folders
SHA3-256: 060199513b41b9c18c5f97827bb0f71a11b0a7a1aca6b82ca1dad0953310c10e
User & Date: olr on 2018-07-09 18:11:18
Other Links: branch diff | manifest | tags
Context
2018-07-09
18:14
[build] add startswith/endswith functions check-in: 786d886c3b user: olr tags: build, rg
18:11
[fr] conversion: regex rules -> graph rules check-in: 060199513b user: olr tags: fr, rg
17:52
[fr] test: affiche les différences des suggestions erronées check-in: 6929379b61 user: olr tags: fr, rg
Changes

Modified gc_lang/fr/rules.grx from [ba5c74db4c] to [dca44ed592].

3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
    ([mts]a) +({w_2})  @@0,$
    <<- morphex(\2, ">[aâeéèêiîoôuûyœæ].+:[NAQ].*:f", ":[eGW]") -1>> =\1.replace("a", "on")         # Même si « \2 » est féminin, on utilise « mon/ton/son » pour faire la liaison.|http://fr.wikipedia.org/wiki/Euphonie

TEST: {{ta}} aimée                                            ->> ton
TEST: {{ma}} obligée                                          ->> mon
TEST: Ce couple va donner à la France sa très importante collection qui rejoindra le musée d’Orsay


!!
!!
!!!! Confusions                                                                                   !!
!!
!!

__[s>/conf(conf_ne_n)__     [nN]e n’                        <<- ->> ne m’|n’                        # Incohérence. Double négation.
__[s>/conf(conf_pronoms1)__ [mtMT]e ([nmst](?:’|e )) @@$    <<- ->> \1                              # Incohérence.
__[s>/conf(conf_pronoms2)__ [sS]e ([mst](?:’|e )) @@$       <<- ->> \1                              # Incohérence.
__[s>/conf(conf_de_d)__     [dD][eu] d’(?![A-ZÉÂÔÈ])        <<- ->> d’                              # Incohérence.

TEST: Il {{ne n’}}arrive jamais à l’heure.
TEST: Ça {{me te }}prend la tête, toutes ces complications vaines.
TEST: il {{se m’}}est difficile d’y parvenir.
TEST: Ça t’arrive {{de d’}}arriver à l’heure ?
TEST: Les écrits de d’Alembert.



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: graphe1                                                                                 _







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







3110
3111
3112
3113
3114
3115
3116


















3117
3118
3119
3120
3121
3122
3123
    ([mts]a) +({w_2})  @@0,$
    <<- morphex(\2, ">[aâeéèêiîoôuûyœæ].+:[NAQ].*:f", ":[eGW]") -1>> =\1.replace("a", "on")         # Même si « \2 » est féminin, on utilise « mon/ton/son » pour faire la liaison.|http://fr.wikipedia.org/wiki/Euphonie

TEST: {{ta}} aimée                                            ->> ton
TEST: {{ma}} obligée                                          ->> mon
TEST: Ce couple va donner à la France sa très importante collection qui rejoindra le musée d’Orsay





















@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: graphe1                                                                                 _
3340
3341
3342
3343
3344
3345
3346




















3347
3348
3349
3350
3351
3352
3353
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3p|Oo)", False)                                                    # Incohérence avec “ils” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: ils {{son}} du même bois.
TEST: Ils {{étai}} partie au {{restaurent}}
TEST: ils leur {{étai}} indifférent






















__conf_chez_vconj__
    chez  @:(?:[123][sp]|P)¬:[GNAQM]
        <<- /conf/ not \2.istitle() -2>> _                                                          # Incohérence avec “chez” : “\2” est une forme verbale conjuguée.

TEST: Tout ce qu’on fera chez {{sera}} enregistré.








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







3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3p|Oo)", False)                                                    # Incohérence avec “ils” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: ils {{son}} du même bois.
TEST: Ils {{étai}} partie au {{restaurent}}
TEST: ils leur {{étai}} indifférent


__conf_préverbes__
    ne n’
        <<- /conf/ not \1.isupper() ->> ne m’|n’                        # Incohérence. Double négation.

    [me|te] [ne|n’|me|m’|te|t’|se|s’]
        <<- /conf/ not \1.isupper() ->> \1                              # Incohérence.

    se [me|m’|te|t’|se|s’]
        <<- /conf/ not \1.isupper() ->> \1                              # Incohérence.

    [de|du] d’ *WORD
        <<- /conf/ not \1.isupper() and \3.islower() -1:2>> d’          # Incohérence.

TEST: Il {{ne n’}}arrive jamais à l’heure.
TEST: Ça {{me te}} prend la tête, toutes ces complications vaines.
TEST: il {{se m’}}est difficile d’y parvenir.
TEST: Ça t’arrive {{de d’}}arriver à l’heure ?
TEST: Les écrits de d’Alembert.


__conf_chez_vconj__
    chez  @:(?:[123][sp]|P)¬:[GNAQM]
        <<- /conf/ not \2.istitle() -2>> _                                                          # Incohérence avec “chez” : “\2” est une forme verbale conjuguée.

TEST: Tout ce qu’on fera chez {{sera}} enregistré.

3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
TEST: comme des nuages ou des coteaux se reflétant dans l’eau (ligature fl)


__conf_en_participes_présents__
    en   [ne|me|m’|te|t’|t’]  @:[123][sp]¬:[PY]
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerb(\3, ":P")                                        # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ value(\2, "|m’|t’|s’|") -1:2>> "\2en "                                           # Incohérence : vouliez-vous écrire « \2’en » ?
        <<- /conf/ __else__ -1:2>> =\1[0:1] + "’en"                                                 # Incohérence : vouliez-vous écrire « \2’en » ?

    en   se  @:[123][sp]¬:[PY]
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerb(\3, ":P")                                        # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ not morph(\3, ":[NA]") -1:2>> "s’en "                                            # Incohérence : vouliez-vous écrire « \2’en » ?

    en   n’  @:[123][sp]¬:[PY]
        <<- /conf/ not value(\3, "|importe|") >>>







|







3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
TEST: comme des nuages ou des coteaux se reflétant dans l’eau (ligature fl)


__conf_en_participes_présents__
    en   [ne|me|m’|te|t’|t’]  @:[123][sp]¬:[PY]
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerb(\3, ":P")                                        # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ value(\2, "|m’|t’|s’|") -1:2>> "\2en "                                           # Incohérence : vouliez-vous écrire « \2’en » ?
        <<- /conf/ __else__ -1:2>> =\2[0:1] + "’en"                                                 # Incohérence : vouliez-vous écrire « \2’en » ?

    en   se  @:[123][sp]¬:[PY]
        <<- /conf/ morph(\3, ":3p") -3>> =suggVerb(\3, ":P")                                        # Incohérence : « en \1 \2 »… Vouliez-vous écrire le verbe au participe présent ?
        <<- /conf/ not morph(\3, ":[NA]") -1:2>> "s’en "                                            # Incohérence : vouliez-vous écrire « \2’en » ?

    en   n’  @:[123][sp]¬:[PY]
        <<- /conf/ not value(\3, "|importe|") >>>