Grammalecte  Check-in [e0058975f2]

Overview
Comment:[fr] faux positif
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: e0058975f2aee415156efaec076a1a84f20f560eaa21d4c44b21eab54adf65d8
User & Date: olr on 2021-06-29 22:38:18
Other Links: manifest | tags
Context
2021-07-03
12:30
[fr] faux positifs et ajustements Leaf check-in: 2e4c89f876 user: olr tags: fr, trunk
2021-06-29
22:38
[fr] faux positif check-in: e0058975f2 user: olr tags: fr, trunk
22:11
[fr] ajustements check-in: f605510c31 user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [20e90c6b53] to [5c896bf41e].

2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
.....
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149

18150
18151
18152
18153
18154
18155
18156
.....
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
.....
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
.....
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
.....
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
.....
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
!!

__inte_verbes_composés_interrogatifs__
    ~\w-[jJ]e$
        <<- /inte/ morphVC(\1, ":V", ":1[sśŝ]") ->> =suggVerb(\1, ":1ś", True)                      && Forme interrogative. Désaccord avec “je”. Le verbe n’est pas à la 1ʳᵉ personne du singulier.
        <<- /inte/ __else__ and not morphVC(\1, ":V") ->> =suggSimil(\1, ":1[sśŝ]", False, True)    && Forme interrogative. Désaccord avec “je”. Le verbe n’est pas à la 1ʳᵉ personne du singulier.
        <<- />> -je|_VCint_
        <<- value(<1, "|me|m’|") />> _upron_

    aie-je
        <<- /vmode/ ->> ai-je                                                                       && Forme interrogative. N’employez pas le subjonctif présent.

    ~\w-[tT]u$
        <<- /inte/ morphVC(\1, ":V", ":[ISK].*:2s") ->> =suggVerb(\1, ":2s", True)                  && Forme interrogative. Désaccord avec “tu”. Le verbe n’est pas à la 2ᵉ personne du singulier.
        <<- /inte/ __else__ and not morphVC(\1, ":V") ->> =suggSimil(\1, ":2s", False, True)        && Forme interrogative. Désaccord avec “tu”. Le verbe n’est pas à la 2ᵉ personne du singulier.
        <<- />> -tu|_VCint_
        <<- value(<1, "|te|t’|") />> _upron_

    ~\w-[iI]l$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", True) + "|" + \1+"s"                    && Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)                       && Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>(?:t|voilà)/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -il|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[eE]lle$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", True) + "|" + \1+"s"          && Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)             && Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -elle|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[iI]el$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", True) + "|" + \1+"s"          && Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)             && Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -iel|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[oO]n$
        <<- /inte/ morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)                          && Forme interrogative. Désaccord avec “on”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “on”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -on|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[cCs]e$
        <<- /inte/ morphVC(\1, ":V", ":(?:3s|V0e.*:3p)")
        ->> =suggVerb(\1, ":3s", True)                      && Forme interrogative. Désaccord avec “ce”. Le verbe n’est pas à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- /inte/ __else__ and morphVC(\1, ":", ":V")
        ->> =suggSimil(\1, ":3s", False, True)              && Forme interrogative. Désaccord avec “ce”. Le verbe n’est pas à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- /conf/ \1.endswith("se") ->> =\1[:-2]+"ce"      && Forme interrogative. Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- />> -ce|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[iI]ls$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", True)                          && Forme interrogative. Désaccord avec “ils”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   && Forme interrogative. Désaccord avec “ils”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -ils|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[eE]lles$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", True)                          && Forme interrogative. Désaccord avec “elles”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   && Forme interrogative. Désaccord avec “elles”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -elles|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

    ~\w-[iI]els$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", True)                          && Forme interrogative. Désaccord avec “iels”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   && Forme interrogative. Désaccord avec “iels”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -iels|_VCint_
        <<- value(<1, "|se|s’|") />> _upron_

TEST: {{Vas-je}}                                                                        ->> Vais-je
TEST: mais {{aie-je}} seulement le choix ?                                              ->> ai-je
TEST: {{bluff-je}}                                                                      ->> bluffe-je
TEST: {{Prit-je}}                                                                       ->> Pris-je
TEST: {{prix-je}} le temps d’y parvenir ? Oui.                                          ->> pris-je|prie-je
TEST: {{Peut-tu}}                                                                       ->> Peux-tu
................................................................................
TEST: aux tout débuts, il y eut bien des erreurs
TEST: comment les inégalités sociales impactent la santé des tout petits


__gn_tous_nom__
    [<start>|,|(]   tous  @:[NA].*:[fs]¬:(?:W|P|V0|G|M|[me]:[ip]|3p)
    de              tous  @:[NA].*:[fs]¬:(?:W|P|V0|G|M|Y|[me]:[ip]|3[sp])
        <<- /gn/ -3>> =suggMasPlur(\3, True)                                                        && Accord avec “tous” : “\3” devrait être au masculin pluriel.

    tous  @:[NA].*:[fs]¬:(?:W|V0|G|M|Y|P|3[sp]|[me]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggMasPlur(\2, True)                                        && Accord avec “tous” : “\2” devrait être au masculin pluriel.

TEST: tous {{fou}} à lier                                                               ->> fous
TEST: De tous {{âge}} !                                                                 ->> âges
TEST: par tous {{homme}} capable de comprendre                                          ->> hommes|ohms|heaumes
TEST: l’existence d’un enseignement supérieur public, peu onéreux et ouvert à tous est d’une importance cruciale.
TEST: la survie de tous est plus importante que les profits de quelques-uns
TEST: tous ayant souffert du supplice de séjourner derrière les barreaux



__gn_toute_nom__
    [<start>|,|(]   toute  @:[NA].*:[mp]¬:(?:W|P|G|V0|M|[fe]:[is])
    de              toute  @:[NA].*:[mp]¬:(?:W|P|G|V0|M|Y|[fe]:[is])
        <<- /gn/ -3>> =suggFemSing(\3, True)                                                        && Accord avec “toute” : “\3” devrait être au féminin singulier.
        <<- /gn/ morph(\3, ":[NA].*:[fe]:p") -2>> toutes                                            && Accord avec “\3”.
................................................................................
    ([elle|celle|celle-ci|celle-là|aucune|chacune]) qui ?[ne|n’]¿ ?[en|y]¿         (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:(?:N.*:p|[AQ])¬:(?:[GWY]|[fe]:[si])
    ([elle|celle|celle-ci|celle-là|aucune|chacune]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_VEP_)                                                @:(?:N.*:p|[AQ])¬:(?:[GWY]|[fe]:[si])
    ([elle|celle|celle-ci|celle-là|aucune|chacune]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:(?:N.*:p|[AQ])¬:(?:[GWY]|[fe]:[si])
        <<- /ppas/ morph(\2, ":(?:[123]s|P)") and not tag(<1, "_ceque_")
        --1>> =suggFemSing(\-1)                                                                     && Accord avec le sujet “\1 qui” : “\-1” devrait être au féminin singulier.

    /-elle  @:[NAQ].*:[pm]¬:(?:G|W|[fe]:[si])
        <<- /ppas/ morphVC(\1, ":V.e.*:[123]s") and not value(<1, "|se|s’|")
        -2>> =suggFemSing(\2)                                                                       && Accord avec le sujet “elle” : “\2” devrait être au féminin singulier.

    /-elle  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:[123]s")
        -2>> =suggVerbPpas(\2, ":f:s")                                                              && Accord avec le sujet “elle” : “\2” devrait être au féminin singulier.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:[123]s") and not morph(\-1, ":Y")
        -2>> =suggVerbPpas(\2, ":f:s")                                                              && Accord avec le sujet “elle” : “\2” devrait être au féminin singulier.
................................................................................
    nous ?[ne|n’]¿ ?[en|y]¿         (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:[NAQ].*:s¬:[GWYpi]
    nous ?[ne|n’]¿ nous ?[en|y]¿    (/_VEP_)                                                @:[NAQ].*:s¬:[GWYpi]
    nous ?[ne|n’]¿ nous ?[en|y]¿    (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:[NAQ].*:s¬:[GWYpi]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") and not morph(<1, ":[RV]|>(?:ne|nous)/") and morph(\1, ":(?:1p|P)") and not tag(<1, "_ceque_")
        --1>> =suggPlur(\-1)                                                                        && Accord avec le sujet “nous” : “\-1” devrait être au pluriel.

    /-nous  @:[NAQ].*:s¬:[GWpi]|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:1p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not value(<1, "|nous|")
        -2>> =suggPlur(\2)                                                                          && Accord avec le sujet “nous” : “\2” devrait être au pluriel.

    /-nous  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:1p")
        -2>> =suggVerbPpas(\2, ":p")                                                                && Accord avec le sujet “nous” : “\2” devrait être au pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:1p") and not morph(\-1, ":Y")
................................................................................
    ils ?[ne|n’]¿ ?[en|y]¿          /_LVED_ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_     @:(?:N.*:s|[AQ])¬:(?:[GWY]|[me]:[pi])
    ils ?[ne|n’]¿ [se|s’] ?[en|y]¿  /_VEP_                                                  @:(?:N.*:s|[AQ])¬:(?:[GWY]|[me]:[pi])
    ils ?[ne|n’]¿ [se|s’] ?[en|y]¿  /_LVEPD_ ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_         @:(?:N.*:s|[AQ])¬:(?:[GWY]|[me]:[pi])
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(<1, "_ceque_")
        --1>> =suggMasPlur(\-1)                                                                     && Accord avec le sujet “\1” : “\-1” devrait être au masculin pluriel.

    /-ils  @:[NAQ].*:[sf]¬:(?:G|W|[me]:[pi])|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:3p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not value(<1, "|se|s’|")
        -2>> =suggMasPlur(\2)                                                                       && Accord avec le sujet “ils” : “\2” devrait être au masculin pluriel.

    /-ils  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:3p")
        -2>> =suggVerbPpas(\2, ":m:p")                                                              && Accord avec le sujet “ils” : “\2” devrait être au masculin pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:3p") and not morph(\-1, ":Y")
................................................................................
    ([elles|celles|celles-ci|celles-là|certaines|quelques-unes|maintes]) qui ?[ne|n’]¿ ?[en|y]¿         (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:(?:N.*:s|[AQ])¬:(?:[GWY]|[fe]:[pi])
    ([elles|celles|celles-ci|celles-là|certaines|quelques-unes|maintes]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_VEP_)                                                @:(?:N.*:s|[AQ])¬:(?:[GWY]|[fe]:[pi])
    ([elles|celles|celles-ci|celles-là|certaines|quelques-unes|maintes]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:(?:N.*:s|[AQ])¬:(?:[GWY]|[fe]:[pi])
        <<- /ppas/ morph(\2, ":(?:3p|P)") and not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(<1, "_ceque_")
        --1>> =suggFemPlur(\-1)                                                                     && Accord avec le sujet “\1 qui” : “\-1” devrait être au féminin pluriel.

    /-elles  @:[NAQ].*:[sm]¬:(?:G|W|[fe]:[pi])|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:3p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not value(<1, "|se|s’|")
        -2>> =suggFemPlur(\2)                                                                       && Accord avec le sujet “elles” : “\2” devrait être au féminin pluriel.

    /-elles  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:3p") and not value(<1, "|se|s’|")
        -2>> =suggFemPlur(\2)                                                                       && Accord avec le sujet “elles” : “\2” devrait être au féminin pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:3p") and not morph(\-1, ":Y")
................................................................................
    ([iels|plusieurs]) ?[ne|n’]¿ ?[en|y]¿           (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:[NAQ].*:s¬:[GWYpi]
    ([iels|plusieurs]) ?[ne|n’]¿ [se|s’] ?[en|y]¿   (/_VEP_)                                                @:[NAQ].*:s¬:[GWYpi]
    ([iels|plusieurs]) ?[ne|n’]¿ [se|s’] ?[en|y]¿   (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:[NAQ].*:s¬:[GWYpi]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") and not morph(<1, ":[RV]") and morph(\2, ":(?:3p|P)") and not tag(<1, "_ceque_")
        --1>> =suggPlur(\-1)                                                                        && Accord avec le sujet “\1” : “\-1” devrait être au pluriel.

    /-iels  @:[NAQ].*:s¬:[GWpi]|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:3p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not value(<1, "|se|s’|")
        -2>> =suggPlur(\2)                                                                          && Accord avec le sujet “iels” : “\2” devrait être au pluriel.

    /-iels  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:3p") and not value(<1, "|se|s’|")
        -2>> =suggVerbPpas(\2, ":p")                                                                && Accord avec le sujet “iels” : “\2” devrait être au pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:3p") and not morph(\-1, ":Y")







|








|






|






|






|





|








|





|





|





|







 







|










>







 







|







 







|







 







|







 







|







 







|







2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
.....
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
.....
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
.....
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
.....
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
.....
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
.....
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
!!

__inte_verbes_composés_interrogatifs__
    ~\w-[jJ]e$
        <<- /inte/ morphVC(\1, ":V", ":1[sśŝ]") ->> =suggVerb(\1, ":1ś", True)                      && Forme interrogative. Désaccord avec “je”. Le verbe n’est pas à la 1ʳᵉ personne du singulier.
        <<- /inte/ __else__ and not morphVC(\1, ":V") ->> =suggSimil(\1, ":1[sśŝ]", False, True)    && Forme interrogative. Désaccord avec “je”. Le verbe n’est pas à la 1ʳᵉ personne du singulier.
        <<- />> -je|_VCint_
        <<- value(<1, "|me|m’|") or value(<2, "|me|m’|") />> _upron_

    aie-je
        <<- /vmode/ ->> ai-je                                                                       && Forme interrogative. N’employez pas le subjonctif présent.

    ~\w-[tT]u$
        <<- /inte/ morphVC(\1, ":V", ":[ISK].*:2s") ->> =suggVerb(\1, ":2s", True)                  && Forme interrogative. Désaccord avec “tu”. Le verbe n’est pas à la 2ᵉ personne du singulier.
        <<- /inte/ __else__ and not morphVC(\1, ":V") ->> =suggSimil(\1, ":2s", False, True)        && Forme interrogative. Désaccord avec “tu”. Le verbe n’est pas à la 2ᵉ personne du singulier.
        <<- />> -tu|_VCint_
        <<- value(<1, "|te|t’|") or value(<2, "|te|t’|") />> _upron_

    ~\w-[iI]l$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", True) + "|" + \1+"s"                    && Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)                       && Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>(?:t|voilà)/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “il”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -il|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[eE]lle$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", True) + "|" + \1+"s"          && Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)             && Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “elle”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -elle|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[iI]el$
        <<- /inte/ morphVC(\1, ":3p", ":3s") ->> =suggVerb(\1, ":3s", True) + "|" + \1+"s"          && Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)             && Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “iel”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -iel|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[oO]n$
        <<- /inte/ morphVC(\1, ":V", ":3s") ->> =suggVerb(\1, ":3s", True)                          && Forme interrogative. Désaccord avec “on”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3s", False, True)   && Forme interrogative. Désaccord avec “on”. Le verbe n’est pas à la 3ᵉ personne du singulier.
        <<- />> -on|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[cCs]e$
        <<- /inte/ morphVC(\1, ":V", ":(?:3s|V0e.*:3p)")
        ->> =suggVerb(\1, ":3s", True)                      && Forme interrogative. Désaccord avec “ce”. Le verbe n’est pas à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- /inte/ __else__ and morphVC(\1, ":", ":V")
        ->> =suggSimil(\1, ":3s", False, True)              && Forme interrogative. Désaccord avec “ce”. Le verbe n’est pas à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- /conf/ \1.endswith("se") ->> =\1[:-2]+"ce"      && Forme interrogative. Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132
        <<- />> -ce|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[iI]ls$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", True)                          && Forme interrogative. Désaccord avec “ils”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   && Forme interrogative. Désaccord avec “ils”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -ils|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[eE]lles$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", True)                          && Forme interrogative. Désaccord avec “elles”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   && Forme interrogative. Désaccord avec “elles”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -elles|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

    ~\w-[iI]els$
        <<- /inte/ morphVC(\1, ":V", ":3p") ->> =suggVerb(\1, ":3p", True)                          && Forme interrogative. Désaccord avec “iels”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- /inte/ __else__ and morphVC(\1, ":", ":V|>t/") ->> =suggSimil(\1, ":3p", False, True)   && Forme interrogative. Désaccord avec “iels”. Le verbe n’est pas à la 3ᵉ personne du pluriel.
        <<- />> -iels|_VCint_
        <<- value(<1, "|se|s’|") or value(<2, "|se|s’|") />> _upron_

TEST: {{Vas-je}}                                                                        ->> Vais-je
TEST: mais {{aie-je}} seulement le choix ?                                              ->> ai-je
TEST: {{bluff-je}}                                                                      ->> bluffe-je
TEST: {{Prit-je}}                                                                       ->> Pris-je
TEST: {{prix-je}} le temps d’y parvenir ? Oui.                                          ->> pris-je|prie-je
TEST: {{Peut-tu}}                                                                       ->> Peux-tu
................................................................................
TEST: aux tout débuts, il y eut bien des erreurs
TEST: comment les inégalités sociales impactent la santé des tout petits


__gn_tous_nom__
    [<start>|,|(]   tous  @:[NA].*:[fs]¬:(?:W|P|V0|G|M|[me]:[ip]|3p)
    de              tous  @:[NA].*:[fs]¬:(?:W|P|V0|G|M|Y|[me]:[ip]|3[sp])
        <<- /gn/ not value(\-1, "|ensemble|") -3>> =suggMasPlur(\3, True)                           && Accord avec “tous” : “\3” devrait être au masculin pluriel.

    tous  @:[NA].*:[fs]¬:(?:W|V0|G|M|Y|P|3[sp]|[me]:[ip])
        <<- /gn/ morph(<1, ":R") -2>> =suggMasPlur(\2, True)                                        && Accord avec “tous” : “\2” devrait être au masculin pluriel.

TEST: tous {{fou}} à lier                                                               ->> fous
TEST: De tous {{âge}} !                                                                 ->> âges
TEST: par tous {{homme}} capable de comprendre                                          ->> hommes|ohms|heaumes
TEST: l’existence d’un enseignement supérieur public, peu onéreux et ouvert à tous est d’une importance cruciale.
TEST: la survie de tous est plus importante que les profits de quelques-uns
TEST: tous ayant souffert du supplice de séjourner derrière les barreaux
TEST: Tous ensemble


__gn_toute_nom__
    [<start>|,|(]   toute  @:[NA].*:[mp]¬:(?:W|P|G|V0|M|[fe]:[is])
    de              toute  @:[NA].*:[mp]¬:(?:W|P|G|V0|M|Y|[fe]:[is])
        <<- /gn/ -3>> =suggFemSing(\3, True)                                                        && Accord avec “toute” : “\3” devrait être au féminin singulier.
        <<- /gn/ morph(\3, ":[NA].*:[fe]:p") -2>> toutes                                            && Accord avec “\3”.
................................................................................
    ([elle|celle|celle-ci|celle-là|aucune|chacune]) qui ?[ne|n’]¿ ?[en|y]¿         (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:(?:N.*:p|[AQ])¬:(?:[GWY]|[fe]:[si])
    ([elle|celle|celle-ci|celle-là|aucune|chacune]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_VEP_)                                                @:(?:N.*:p|[AQ])¬:(?:[GWY]|[fe]:[si])
    ([elle|celle|celle-ci|celle-là|aucune|chacune]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:(?:N.*:p|[AQ])¬:(?:[GWY]|[fe]:[si])
        <<- /ppas/ morph(\2, ":(?:[123]s|P)") and not tag(<1, "_ceque_")
        --1>> =suggFemSing(\-1)                                                                     && Accord avec le sujet “\1 qui” : “\-1” devrait être au féminin singulier.

    /-elle  @:[NAQ].*:[pm]¬:(?:G|W|[fe]:[si])
        <<- /ppas/ morphVC(\1, ":V.e.*:[123]s") and not tag(\1, "_upron_")
        -2>> =suggFemSing(\2)                                                                       && Accord avec le sujet “elle” : “\2” devrait être au féminin singulier.

    /-elle  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:[123]s")
        -2>> =suggVerbPpas(\2, ":f:s")                                                              && Accord avec le sujet “elle” : “\2” devrait être au féminin singulier.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:[123]s") and not morph(\-1, ":Y")
        -2>> =suggVerbPpas(\2, ":f:s")                                                              && Accord avec le sujet “elle” : “\2” devrait être au féminin singulier.
................................................................................
    nous ?[ne|n’]¿ ?[en|y]¿         (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:[NAQ].*:s¬:[GWYpi]
    nous ?[ne|n’]¿ nous ?[en|y]¿    (/_VEP_)                                                @:[NAQ].*:s¬:[GWYpi]
    nous ?[ne|n’]¿ nous ?[en|y]¿    (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:[NAQ].*:s¬:[GWYpi]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") and not morph(<1, ":[RV]|>(?:ne|nous)/") and morph(\1, ":(?:1p|P)") and not tag(<1, "_ceque_")
        --1>> =suggPlur(\-1)                                                                        && Accord avec le sujet “nous” : “\-1” devrait être au pluriel.

    /-nous  @:[NAQ].*:s¬:[GWpi]|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:1p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(\1, "_upron_")
        -2>> =suggPlur(\2)                                                                          && Accord avec le sujet “nous” : “\2” devrait être au pluriel.

    /-nous  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:1p")
        -2>> =suggVerbPpas(\2, ":p")                                                                && Accord avec le sujet “nous” : “\2” devrait être au pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:1p") and not morph(\-1, ":Y")
................................................................................
    ils ?[ne|n’]¿ ?[en|y]¿          /_LVED_ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_     @:(?:N.*:s|[AQ])¬:(?:[GWY]|[me]:[pi])
    ils ?[ne|n’]¿ [se|s’] ?[en|y]¿  /_VEP_                                                  @:(?:N.*:s|[AQ])¬:(?:[GWY]|[me]:[pi])
    ils ?[ne|n’]¿ [se|s’] ?[en|y]¿  /_LVEPD_ ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_         @:(?:N.*:s|[AQ])¬:(?:[GWY]|[me]:[pi])
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(<1, "_ceque_")
        --1>> =suggMasPlur(\-1)                                                                     && Accord avec le sujet “\1” : “\-1” devrait être au masculin pluriel.

    /-ils  @:[NAQ].*:[sf]¬:(?:G|W|[me]:[pi])|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:3p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(\1, "_upron_")
        -2>> =suggMasPlur(\2)                                                                       && Accord avec le sujet “ils” : “\2” devrait être au masculin pluriel.

    /-ils  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:3p")
        -2>> =suggVerbPpas(\2, ":m:p")                                                              && Accord avec le sujet “ils” : “\2” devrait être au masculin pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:3p") and not morph(\-1, ":Y")
................................................................................
    ([elles|celles|celles-ci|celles-là|certaines|quelques-unes|maintes]) qui ?[ne|n’]¿ ?[en|y]¿         (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:(?:N.*:s|[AQ])¬:(?:[GWY]|[fe]:[pi])
    ([elles|celles|celles-ci|celles-là|certaines|quelques-unes|maintes]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_VEP_)                                                @:(?:N.*:s|[AQ])¬:(?:[GWY]|[fe]:[pi])
    ([elles|celles|celles-ci|celles-là|certaines|quelques-unes|maintes]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:(?:N.*:s|[AQ])¬:(?:[GWY]|[fe]:[pi])
        <<- /ppas/ morph(\2, ":(?:3p|P)") and not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(<1, "_ceque_")
        --1>> =suggFemPlur(\-1)                                                                     && Accord avec le sujet “\1 qui” : “\-1” devrait être au féminin pluriel.

    /-elles  @:[NAQ].*:[sm]¬:(?:G|W|[fe]:[pi])|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:3p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(\1, "_upron_")
        -2>> =suggFemPlur(\2)                                                                       && Accord avec le sujet “elles” : “\2” devrait être au féminin pluriel.

    /-elles  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:3p") and not value(<1, "|se|s’|")
        -2>> =suggFemPlur(\2)                                                                       && Accord avec le sujet “elles” : “\2” devrait être au féminin pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:3p") and not morph(\-1, ":Y")
................................................................................
    ([iels|plusieurs]) ?[ne|n’]¿ ?[en|y]¿           (/_LVED_) ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ ?/_LVE_¿ /_LVEF_   @:[NAQ].*:s¬:[GWYpi]
    ([iels|plusieurs]) ?[ne|n’]¿ [se|s’] ?[en|y]¿   (/_VEP_)                                                @:[NAQ].*:s¬:[GWYpi]
    ([iels|plusieurs]) ?[ne|n’]¿ [se|s’] ?[en|y]¿   (/_LVEPD_) ?/_LVEP_¿ ?/_LVEP_¿ ?/_LVEP_¿ /_LVEPF_       @:[NAQ].*:s¬:[GWYpi]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") and not morph(<1, ":[RV]") and morph(\2, ":(?:3p|P)") and not tag(<1, "_ceque_")
        --1>> =suggPlur(\-1)                                                                        && Accord avec le sujet “\1” : “\-1” devrait être au pluriel.

    /-iels  @:[NAQ].*:s¬:[GWpi]|>dire/
        <<- /ppas/ morphVC(\1, ":V.e.*:3p") and not value(\-1, "|légion|pléthore|néant|réalité|") and not tag(\1, "_upron_")
        -2>> =suggPlur(\2)                                                                          && Accord avec le sujet “iels” : “\2” devrait être au pluriel.

    /-iels  @:(?:[123][sp]|Y)¬:[GWNAQ]
        <<- /ppas/ not value(\-1, "|légion|pléthore|néant|réalité|") >>>
        <<- /ppas/ morphVC(\1, ">(?:être|devenir|redevenir)/.*:3p") and not value(<1, "|se|s’|")
        -2>> =suggVerbPpas(\2, ":p")                                                                && Accord avec le sujet “iels” : “\2” devrait être au pluriel.
        <<- /ppas/ morphVC(\1, ">(?:sembler|rester|demeurer|para[îi]tre)/.*:3p") and not morph(\-1, ":Y")