Grammalecte  Check-in [85740bf242]

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: 85740bf2424b8f1d84974665d9ca3d4d0eaff12b70ba38a660faac68dbd2bbb0
User & Date: olr on 2018-07-09 11:48:36
Other Links: branch diff | manifest | tags
Context
2018-07-09
13:48
[fr] micro-corrections check-in: 2c4096dba5 user: olr tags: fr, rg
11:48
[fr] conversion: regex rules -> graph rules check-in: 85740bf242 user: olr tags: fr, rg
08:41
[fr] memo des mots grammaticaux du français check-in: 8a7c710b75 user: olr tags: fr, rg
Changes

Modified gc_lang/fr/rules.grx from [fa42361fbe] to [abb7e42906].

928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
TEST: {{C’ }}est rageant.                                                 ->> C’
TEST: {{Lorsqu’ }}il vient, on s’ennuie.
TEST: {{l’'}}électricien est parti
TEST: Je pense {{qu ` }}elle ne viendra pas.


## Apostrophes manquantes
__[i>/typo(typo_apostrophe_manquante)__
    "(lorsqu|puisqu|presqu|quoiqu|jusqu|qu|aujourd|entr) "  @@0  <<- ->> \1’                        # Il manque vraisemblablement une apostrophe.
# Solution prudente :
__[i>/typo(typo_apostrophe_manquante_prudence1)__
    ne ([mtsl] )([aeéiouhyîèêôû][\w-]*)  @@3,$  <<- -1>> =\1[:-1]+"’"                               # Il manque une apostrophe.
__[i>/typo(typo_apostrophe_manquante_prudence2)__
    (?:je|tu|ils?|nous|vous|on|ça|elles?) ([nmtsl] )([aeéiouhyîèêôû][\w-]*)  @@*,$
    <<- not option("mapos") and morph(\2, ":V", False) -1>> =\1[:-1]+"’"                            # Il manque probablement une apostrophe.
# Solution audacieuse :
__[s>/typo(typo_apostrophe_manquante_audace1)__
    ([ldsncjmtç] )[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ]  @@0
    <<- option("mapos") and not before("(?i)(?:lettre|caractère|glyphe|dimension|variable|fonction|point) *$")
    -1>> =\1[:-1]+"’"                                                                               # Il manque peut-être une apostrophe.
# Note : pour les majuscules, la règle se situe lors de la passe suivante.

TEST: __mapos__ {{n }}arrive pas à sa cheville
TEST: le coup {{qu }}avait donné                                                ->> qu’







|


|

|



|







928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
TEST: {{C’ }}est rageant.                                                 ->> C’
TEST: {{Lorsqu’ }}il vient, on s’ennuie.
TEST: {{l’'}}électricien est parti
TEST: Je pense {{qu ` }}elle ne viendra pas.


## Apostrophes manquantes
__[i>/typo(typo_apostrophe_manquante)!6__
    "(lorsqu|puisqu|presqu|quoiqu|jusqu|qu|aujourd|entr) "  @@0  <<- ->> \1’                        # Il manque vraisemblablement une apostrophe.
# Solution prudente :
__[i>/typo(typo_apostrophe_manquante_prudence1)!6__
    ne ([mtsl] )([aeéiouhyîèêôû][\w-]*)  @@3,$  <<- -1>> =\1[:-1]+"’"                               # Il manque une apostrophe.
__[i>/typo(typo_apostrophe_manquante_prudence2)!6__
    (?:je|tu|ils?|nous|vous|on|ça|elles?) ([nmtsl] )([aeéiouhyîèêôû][\w-]*)  @@*,$
    <<- not option("mapos") and morph(\2, ":V", False) -1>> =\1[:-1]+"’"                            # Il manque probablement une apostrophe.
# Solution audacieuse :
__[s>/typo(typo_apostrophe_manquante_audace1)!6__
    ([ldsncjmtç] )[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ]  @@0
    <<- option("mapos") and not before("(?i)(?:lettre|caractère|glyphe|dimension|variable|fonction|point) *$")
    -1>> =\1[:-1]+"’"                                                                               # Il manque peut-être une apostrophe.
# Note : pour les majuscules, la règle se situe lors de la passe suivante.

TEST: __mapos__ {{n }}arrive pas à sa cheville
TEST: le coup {{qu }}avait donné                                                ->> qu’
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
    -1>> =suggSimil(\1, ":[NA]", True)                                                              # Incohérence : « \1 » est une forme verbale conjuguée.

TEST: d’une {{habille}} femme
TEST: plus d’un ont été traumatisés
TEST: plus d’une sont parties aussi vite qu’elles étaient venues


__[i]/conf(conf_il_on_pas_verbe)__
    (?<!t’)(?:il|on) (?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)|>ou/") and morphex(word(-1), ":", ":3s", True)
    -1>> =suggSimil(\1, ":(?:3s|Oo)", False)                                                        # Incohérence : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: il {{et}} parti.


__[i]/conf(conf_ils_pas_verbe)__
    (?<!t’)ils (?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)|>ou/") and morphex(word(-1), ":", ":3p", True)
    -1>> =suggSimil(\1, ":(?:3p|Oo)", False)                                                        # Incohérence avec « ils » : « \1 » 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}}


__[i]/conf(conf_je_pas_verbe)__
    je (?!soussigné)(?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)") and morphex(word(-1), ":", ":1s", True)
    -1>> =suggSimil(\1, ":(?:1s|Oo)", False)                                                        # Incohérence avec « je » : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je {{travail}}.


__[i]/conf(conf_tu_pas_verbe)__
    tu (?:l’|l(?:es?|a|eur|ui) +|[nv]ous +|)({w_2}) @@$
    <<- morphex(\1, ":", ":(?:[123][sp]|O[onw]|X)") and morphex(word(-1), ":", ":(?:2s|V0e|R)", True)
    -1>> =suggSimil(\1, ":(?:2s|Oo)", False)                                                        # Incohérence avec « tu » : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: tu {{croix}} que tu sais quelque chose, mais tu ne sais rien.
TEST: Elles sont à tu et à toi.

TEST: elles seules peuvent s’en sortir.
TEST: elle seule peut y arriver
TEST: elle seules les femmes la font craquer




@@@@
@@@@
@@@@







<
<
<
<

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







3292
3293
3294
3295
3296
3297
3298




3299































3300
3301
3302
3303
3304
3305
3306
    -1>> =suggSimil(\1, ":[NA]", True)                                                              # Incohérence : « \1 » est une forme verbale conjuguée.

TEST: d’une {{habille}} femme
TEST: plus d’un ont été traumatisés
TEST: plus d’une sont parties aussi vite qu’elles étaient venues










































@@@@
@@@@
@@@@
3372
3373
3374
3375
3376
3377
3378
















































3379
3380
3381
3382
3383
3384
3385

!!
!!
!!!! Confusions générales                                                                         !!
!!
!!


















































__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é.








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







3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398

!!
!!
!!!! Confusions générales                                                                         !!
!!
!!


__conf_je_non_verbe__
    je  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not value(\2, "|soussigné|soussignée|") and not morph(<1, ":1s")
        -2>> =suggSimil(\2, ":(?:1s|Oo)", False)                                                    # Incohérence avec « je » : « \2 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    je  [le|la|l’|les|leur|lui|nous|vous]  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not morph(<1, ":1s") -3>> =suggSimil(\3, ":(?:1s|Oo)", False)                    # Incohérence avec « je » : « \3 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: Je {{travail}}.
TEST: Je soussigné, M. X., déclare que…


__conf_tu_non_verbe__
    tu  ?[le|la|l’|les|leur|lui|nous|vous]¿  (@:¬:(?:[123][sp]|O[onw]|X))
        <<- /conf/ not morph(<1, ":(?:2s|V0|R)") -1>> =suggSimil(\1, ":(?:2s|Oo)", False)           # Incohérence avec « tu » : « \1 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: tu {{croix}} que tu sais quelque chose, mais tu ne sais rien.
TEST: tu la {{croix}} idiote ?
TEST: Elles sont à tu et à toi.


__conf_ils_non_verbe__
    [il|on]  @:¬:(?:[123][sp]|O[onw]|X)|>ou/
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|")
        -2>> =suggSimil(\2, ":(?:3s|Oo)", False)                                                    # Incohérence avec « \1 » : « \2 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    [il|on]  [le|la|l’|les|leur|lui|nous|vous]  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|")
        -3>> =suggSimil(\3, ":(?:3s|Oo)", False)                                                    # Incohérence avec « \1 » : « \3 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

TEST: il {{et}} parti.
TEST: il nous {{et}} indispensable.


__conf_ils_non_verbe__
    ils  @:¬:(?:[123][sp]|O[onw]|X)|>ou/
        <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|")
        -2>> =suggSimil(\2, ":(?:3p|Oo)", False)                                                    # Incohérence avec « ils » : « \2 » devrait être un verbe, un pronom objet, un adverbe de négation, etc.

    ils  [le|la|l’|les|leur|lui|nous|vous]  @:¬:(?:[123][sp]|O[onw]|X)
        <<- /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é.

3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
TEST: avec quel zèle ils remplissent leurs devoirs de citoyens (de plus en plus deviennent enseignant·e·s, infirmier·e·s ou s’engagent dans l’armée, etc.).
TEST: il faut de plus en plus aider ces gens.


#### Participes présents
__conf_participes_présents__
    [ne|n’|me|m’|te|t’|se|s’]  ~\want$
        <<- morph(\2, ":", ":P") -2>> _                                                             # Incohérence : « \2 » n’est pas un participe présent.

    [nous|vous|lui]  ~\want$
        <<- morph(\2, ":[NAQ]", ":[PG]") -2>> _                                                     # Incohérence : « \2 » n’est pas un participe présent.

TEST: ne {{convaincant}} que les convaincus.
TEST: une tension lui {{provocant}} un ulcère
TEST: comme des nuages ou des coteaux se reflétant dans l’eau (ligature fl)


__conf_presque_trop_vconj__







|


|







3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
TEST: avec quel zèle ils remplissent leurs devoirs de citoyens (de plus en plus deviennent enseignant·e·s, infirmier·e·s ou s’engagent dans l’armée, etc.).
TEST: il faut de plus en plus aider ces gens.


#### Participes présents
__conf_participes_présents__
    [ne|n’|me|m’|te|t’|se|s’]  ~\want$
        <<- /conf/ morph(\2, ":", ":P") -2>> _                                                      # Incohérence : « \2 » n’est pas un participe présent.

    [nous|vous|lui]  ~\want$
        <<- /conf/ morph(\2, ":[NAQ]", ":[PG]") -2>> _                                              # Incohérence : « \2 » n’est pas un participe présent.

TEST: ne {{convaincant}} que les convaincus.
TEST: une tension lui {{provocant}} un ulcère
TEST: comme des nuages ou des coteaux se reflétant dans l’eau (ligature fl)


__conf_presque_trop_vconj__
8019
8020
8021
8022
8023
8024
8025



8026
8027
8028
8029
8030
8031
8032
TEST: Ma thèse en 180 secondes.
TEST: un champ de canne à sucre
TEST: La batterie se recharge automatiquement grâce au moteur essence.
TEST: c’est un moteur diésel.
TEST: cette descente aux enfers interminable.
TEST: c’est une vache à lait
TEST: Ses talons aiguille étaient à la denière mode.






#
# //////////////////////////////////////// RÈGLES DE CONTRÔLE ////////////////////////////////////////
#








>
>
>







8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
TEST: Ma thèse en 180 secondes.
TEST: un champ de canne à sucre
TEST: La batterie se recharge automatiquement grâce au moteur essence.
TEST: c’est un moteur diésel.
TEST: cette descente aux enfers interminable.
TEST: c’est une vache à lait
TEST: Ses talons aiguille étaient à la denière mode.
TEST: elles seules peuvent s’en sortir.
TEST: elle seule peut y arriver
TEST: elle seules les femmes la font craquer



#
# //////////////////////////////////////// RÈGLES DE CONTRÔLE ////////////////////////////////////////
#