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 ////////////////////////////////////////
#
|