Grammalecte  Diff

Differences From Artifact [8e95b7202f]:

To Artifact [9664aedc44]:


2202
2203
2204
2205
2206
2207
2208
2209

2210
2211
2212
2213
2214
2215
2216
2202
2203
2204
2205
2206
2207
2208

2209
2210
2211
2212
2213
2214
2215
2216







-
+







    ne  [le|la|l’|les]  [lui|leur|en|y]      (@:¬:[OX])
    ne  [lui|leur]      en                   (@:¬:[OX])
        <<- =>> select(\1, ":V")

    [n’|m’|t’|s’]  ?[en|y]¿  (@:¬:[OX])
        <<- =>> select(\1, ":V")

    [me|te|se]  ?[le|la|l’|les]¿  (*WORD)
    [me|te|se]  ?[le|la|l’|les]¿  (@:¬:[OX])
        <<- =>> select(\1, ":V")

    [je|j’|il|ils|on]  ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿  (@:¬:[OX])
    [je|j’|il|ils|on]  [nous|vous]     [le|la|l’|les|en|y]       (@:¬:[OX])
    [je|j’|il|ils|on]  [le|la|l’|les]  [lui|leur|en|y]           (@:¬:[OX])
    [je|j’|il|ils|on]  [lui|leur]      en                        (@:¬:[OX])
        <<- =>> select(\1, ":[123][sp]")
2366
2367
2368
2369
2370
2371
2372


2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391

2392
2393
2394
2395
2396

2397
2398
2399
2400
2401

2402
2403
2404
2405
2406

2407
2408
2409
2410
2411

2412
2413
2414
2415
2416

2417
2418
2419
2420
2421

2422
2423
2424
2425
2426

2427
2428
2429
2430
2431
2432
2433
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392

2393
2394
2395
2396
2397

2398
2399
2400
2401
2402

2403
2404
2405
2406
2407

2408
2409
2410
2411
2412

2413
2414
2415
2416
2417

2418
2419
2420
2421
2422

2423
2424
2425
2426
2427

2428
2429
2430
2431
2432
2433
2434
2435







+
+


















-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+







        <<- />> -vous|VCint

TEST: {{Prendront-nous}}                                    ->> Prendrons-nous
TEST: {{Attendront-nous}} le train                          ->> Attendrons-nous
TEST: {{Attaquait-vous}}                                    ->> Attaquiez-vous
TEST: Elle a de nombreux rendez-vous ce matin.
TEST: êtes-vous là ?
TEST: C’est notre chez-nous.
TEST: Dans votre chez-vous, faites comme bon vous semble.


__inte_rendez_vous__
    ne [le|la|les] [lui|leur]   (rendez-vous)
    ne me [le|la|les]           (rendez-vous)
    ne [lui|leur] en            (rendez-vous)
    ne [le|la|les|lui|leur]     (rendez-vous)
    [me|ne|nous|vous|lui]       (rendez-vous)
        <<- =>> define(\1, [":VCi1:2p"])
        <<- %1>>


__inte_verbes_composés_impératifs__
    ~\w-l(?:es?|a)-(?:[mt]oi|nous|leur)$
    ~\w-(?:[nv]ous|lui|leur)-en$
    ~\w-[mt]’en$
    ~\w-[mt]’y$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V") ->> =suggSimil(\1, ":E", False, True)          # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -COD-COI|VCimp

    ~\w-le$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V") ->> =suggSimil(\1, ":E", False, True)          # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -le|-COD|VCimp

    ~\w-les$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V") ->> =suggSimil(\1, ":E", False, True)          # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -les|-COD|VCimp

    ~\w-la$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V") ->> =suggSimil(\1, ":E", False, True)          # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -la|-COD|VCimp

    ~\w\w\w\w-moi$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)   # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)  # Ceci n’est pas une forme verbale impérative.
        <<- />> -moi|-COI|VCimp

    ~\w\w\w\w-toi$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)   # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)  # Ceci n’est pas une forme verbale impérative.
        <<- />> -toi|-COI|VCimp

    ~\w\w\w\w-lui$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V") ->> =suggSimil(\1, ":E", False, True)          # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V|>chez/") ->> =suggSimil(\1, ":E", False, True)  # Ceci n’est pas une forme verbale impérative.
        <<- />> -lui|-COI|VCimp

    ~\w\w\w\w-leur$
        <<- /imp/ morphVC(\1, ":V", ":E") ->> =suggVerbImpe(\1, True)                               # Ceci n’est pas une forme impérative correcte.|http://fr.wikipedia.org/wiki/Imp%C3%A9ratif_%28grammaire%29
        <<- /imp/ __else__ and morphVC(\1, ":" ":V") ->> =suggSimil(\1, ":E", False, True)          # Ceci n’est pas une forme verbale impérative.
        <<- /imp/ __else__ and morphVC(\1, ":", ":V") ->> =suggSimil(\1, ":E", False, True)         # Ceci n’est pas une forme verbale impérative.
        <<- />> -leur|-COI|VCimp

    ~\w-leurs$
        <<- /imp/ ->> =\1[:-1]                              # Le pronom personnel objet ne prend pas de “s” ; “leurs” est un déterminant (exemple : leurs affaires).
        <<- />> -leur|-COI|VCimp

TEST: {{prend-m’en}} trois, s’il te plaît.
2697
2698
2699
2700
2701
2702
2703
2704

2705
2706
2707
2708
2709
2710
2711
2699
2700
2701
2702
2703
2704
2705

2706
2707
2708
2709
2710
2711
2712
2713







-
+







!!
!!
!!!! Traits d’union manquants (formes interrogatives)                                             !!
!!
!!

__inte_union_je__
    ~.[éèe]$  je
    ~..[éèe]$  je
        <<- /inte/ space_after(\1, 1, 1) and morph(\1, ":V.*:1[sŝś]", ":[GNW]") and not value(<1, "|je|j’|il|elle|") and morph(>1, ":|<end>|,", ":(?:Oo|X|1s)")
        ->> =\1[:-1]+"é-je"                                                                         # Forme interrogative ? Mettez un trait d’union.

    ~.[is]$  je
        <<- /inte/ space_after(\1, 1, 1) and morph(\1, ":V.*:1s", ":[GNW]") and not value(<1, "|je|j’|tu|") and morph(>1, ":|<end>|,", ":(?:Oo|X|1s)")
        ->> \1-je                                                                                   # Forme interrogative ? Mettez un trait d’union.

2726
2727
2728
2729
2730
2731
2732
2733

2734
2735
2736
2737
2738
2739
2740
2728
2729
2730
2731
2732
2733
2734

2735
2736
2737
2738
2739
2740
2741
2742







-
+








__inte_union_nous__
    ~ons$  nous
        <<- /inte/ space_after(\1, 1, 1) and morph(\1, ":V.*:1p", ":[GNW]") and not morph(<1, ":Os") and morph(>1, ":|<end>|,", ":(?:Y|Oo|X|1p)|>aussi/")
        ->> \1-nous                                                                                 # Forme interrogative ? Mettez un trait d’union.

__inte_union_vous__
    ~e[zs]$  vous
    ~..e[zs]$  vous
        <<- /inte/ space_after(\1, 1, 1) and morph(\1, ":V.*:2p", ":[GNW]|>vouloir/.*:E:2p") and not morph(<1, ":Os") and morph(>1, ":|<end>|,", ":(?:Y|Oo|X|2p)|>aussi/")
        ->> \1-vous                                                                                 # Forme interrogative ? Mettez un trait d’union.

__inte_union_ils__
    ~nt$  ils
        <<- /inte/ space_after(\1, 1, 1) and morph(\1, ":V.*:3p", ":[GNW]") and not value(<1, "|ce|ils|elles|") and morph(>1, ":|<end>|,", ":(?:Oo|X|3p)")
        ->> \1-\2                                                                                   # Forme interrogative ? Mettez un trait d’union.
2750
2751
2752
2753
2754
2755
2756


2757
2758
2759
2760
2761
2762
2763
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767







+
+







TEST: {{prend on}} le temps d’y réfléchir ?
TEST: {{vient elle}} souvent ?
TEST: {{viennent elles}} souvent ?
TEST: {{retrouverons nous}} enfin la tranquilité ?
TEST: Mais {{soutiendrez vous}} cette proposition ?
TEST: {{Viendront ils}} demain ?
TEST: comment {{êtes vous}} arrivées là ?
TEST: {{ai je}} enfin trouvé la réponse à mes questions ?
TEST: et toi, {{as tu}} découvert le secret de l’immortalité ?
TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça.
TEST: Veuillez vous instruire avant de contester ces mesures.
TEST: C’était elle qui avait pris le contrôle.



!!
6596
6597
6598
6599
6600
6601
6602

6603

6604
6605
6606
6607
6608
6609
6610
6611
6612

6613
6614
6615
6616
6617
6618
6619
6600
6601
6602
6603
6604
6605
6606
6607

6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625







+
-
+









+







TEST: Penser par {{soit même}}…
TEST: S’aimer {{soit-même}}, c’est le début d’une grande histoire d’amour. (Oscar Wilde)
TEST: Je regrette que l’on en soit encore à des considérations que je croyais dépassées
TEST: Quoi qu’il en soit


__conf_soit_soi_soie__
    [<start>|,]  sois  @:(?:Os|C)¬:R
    [<start>|,]  [soi|sois|>soie]  @:[OC]¬:R
    [<start>|,]  [soi|>soie]  @:[OC]¬:R
    [<start>|,]  [soi|sois|>soie]  [j’|t’|c’|ç’]
        <<- /conf/ -2>> soit                                    # Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction

    [quel|quels|quelle|quelles] que [soi|>soie|sois]
        <<- /conf/ -3>> soit|soient                             # Confusion probable.

TEST: {{soi}} je vais au cinéma, {{soi}} je m’abstiens.
TEST: {{soie}} t’arrives avant tout le monde.
TEST: Quels que {{soi}} les problèmes, on peut les surmonter.
TEST: Sois le plus efficace possible.


# son / sont
__conf_son_sont__
    [ne|me|te|se] son
        <<- /conf/ -2>> sont    # Confusion : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”.

14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602




14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621







14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642









14643
14644
14645
14646
14647
14648
14649
14598
14599
14600
14601
14602
14603
14604




14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623




14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647




14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663







-
-
-
-
+
+
+
+















-
-
-
-
+
+
+
+
+
+
+

















-
-
-
-
+
+
+
+
+
+
+
+
+







TEST: {{Allés}}, on y va !
TEST: — {{Allé}} prendre une cuite.
TEST: Allées et venues
TEST: Allées pavées et bordées de fleurs innombrables.
TEST: Allées qu’on nettoyait tous les jours.


    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t|se|s|nous|vous|lui|leur|y]¿  vas
    <start>  [ne|n’]  [me|m’|te|t|se|s|nous|vous]  [le|la|l’|les|en|y]          vas
    <start>  [ne|n’]  [le|la|l’|les]                 [lui|leur|en|y]              vas
    <start>  [ne|n’]  [lui|leur]                     en                           vas
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  vas
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          vas
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              vas
    <start>  [ne|n’]  [lui|leur]               en                           vas
    <start>  vas
        <<- /imp/ not value(>1, "|tu|") --1>> va                                   # S’il s’agit d’un impératif, pas de “s”.

TEST: {{Vas}} lui mettre une branlée.
TEST: {{Vas}} au diable !
TEST: N’y {{vas}} pas

# <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿
# <start>  [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]
# <start>  [ne|n’]  [le|la|l’|les]                 [lui|leur|en|y]
# <start>  [ne|n’]  [lui|leur]                     en


# verbes du 1er et du 3ᵉ groupe en -e
__imp_verbe_groupe1__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t|se|s|nous|vous|lui|leur|y]¿  ~\w\w+es$
    <start>  [ne|n’]  [me|m’|te|t|se|s|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+es$
    <start>  [ne|n’]  [le|la|l’|les]                 [lui|leur|en|y]              ~\w\w+es$
    <start>  [ne|n’]  [lui|leur]                     en                           ~\w\w+es$
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+es$
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+es$
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              ~\w\w+es$
    <start>  [ne|n’]  [lui|leur]               en                           ~\w\w+es$
        <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":G") and not value(>1, "|tu|")
        --1>> =\-1[:-1]                                                             # S’il s’agit d’un impératif, pas de “s”.

    <start>  ~\w\w+es$
        <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":[GNAM]") and not value(>1, "|tu|")
        --1>> =\-1[:-1]                                                             # S’il s’agit d’un impératif, pas de “s”.

TEST: {{Apportes}} ton fric à cet homme.
TEST: N’{{abandonnes}} pas si vite.
TEST: Ne {{demandes}} rien, tais-toi.
TEST: — {{Abandonnes}}.
TEST: {{Écartes}} de moi cette coupe.
TEST: Ne {{donnes}} pas autant.
TEST: N’{{insistes}} pas.
TEST: Castres est une belle ville.
TEST: Limoges aussi.


# verbes du 2ᵉ et du 3ᵉ groupe en -t
__imp_verbe_groupe2_groupe3_t__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t|se|s|nous|vous|lui|leur|y]¿  ~\w\w+t$
    <start>  [ne|n’]  [me|m’|te|t|se|s|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+t$
    <start>  [ne|n’]  [le|la|l’|les]                 [lui|leur|en|y]              ~\w\w+t$
    <start>  [ne|n’]  [lui|leur]                     en                           ~\w\w+t$
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+t$
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+t$
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              ~\w\w+t$
    <start>  [ne|n’]  [lui|leur]               en                           ~\w\w+t$
        <<- /imp/ not value(>1, "|il|elle|on|ils|elles|")
            and not (value(\-1, "|vient|dit|surgit|survient|") and (morph(>1, ":(?:[MD]|Oo)|>[A-Z]/") or value(>1, "|l’|d’|m’|t’|s’|")))
            and morph(\-1, ":V[23].*:Ip.*:3s", ":G|>(?:devoir|suffire)/") and analyseWord(\-1[:-1]+"s", ":E:2s", False)
        --1>> =\-1[:-1]+"s"                                                         # S’il s’agit d’un impératif, la terminaison est “is”, non “it”.

    <start>  ~\w\w+t$
        <<- /imp/ not value(>1, "|il|elle|on|ils|elles|")
            and not (value(\-1, "|vient|dit|surgit|survient|") and (morph(>1, ":(?:[MD]|Oo)|>[A-Z]/") or value(>1, "|l’|d’|m’|t’|s’|")))
            and morph(\-1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire)/") and analyseWord(\-1[:-1]+"s", ":E:2s", False)
        --1>> =\-1[:-1]+"s"                                                         # S’il s’agit d’un impératif, la terminaison est “is”, non “it”.

TEST: {{Finit}} ton assiette.                                           ->> Finis
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670









14671
14672
14673
14674
14675
14676
14677
14674
14675
14676
14677
14678
14679
14680




14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696







-
-
-
-
+
+
+
+
+
+
+
+
+







TEST: Et ne doit pas être rejeté dans les limbes.
TEST: Vient s’ajouter à ce contexte la perception, partagée par beaucoup, du caractère fortement menaçant de l’environnement économique et géopolitique.
TEST: À son bord vient d’embarquer un nouvel équipage


# verbes du 3ᵉ groupe en -d
__imp_verbe_groupe3_d__
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t|se|s|nous|vous|lui|leur|y]¿  ~\w\w+d$
    <start>  [ne|n’]  [me|m’|te|t|se|s|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+d$
    <start>  [ne|n’]  [le|la|l’|les]                 [lui|leur|en|y]              ~\w\w+d$
    <start>  [ne|n’]  [lui|leur]                     en                           ~\w\w+d$
    <start>  [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ~\w\w+d$
    <start>  [ne|n’]  [me|m’|te|t’|nous|vous]  [le|la|l’|les|en|y]          ~\w\w+d$
    <start>  [ne|n’]  [le|la|l’|les]           [lui|leur|en|y]              ~\w\w+d$
    <start>  [ne|n’]  [lui|leur]               en                           ~\w\w+d$
        <<- /imp/ not value(>1, "|il|elle|on|")
            and not ( value(\-1, "|répond|") and (morph(>1, ":[MD]|>[A-Z]/") or value(>1, "|l’|d’|")) )
            and morph(\-1, ":V3.*:Ip.*:3s", ":G")
        --1>> \-1s                                                                  # S’il s’agit d’un impératif, ajoutez un “s”.

    <start>  ~\w\w+d$
        <<- /imp/ not value(>1, "|il|elle|on|")
            and not ( value(\-1, "|répond|") and (morph(>1, ":[MD]|>[A-Z]/") or value(>1, "|l’|d’|")) )
            and morph(\-1, ":V3.*:Ip.*:3s", ":[GNA]")
        --1>> \-1s                                                                  # S’il s’agit d’un impératif, ajoutez un “s”.

TEST: {{Prend}} le chemin de droite.
14689
14690
14691
14692
14693
14694
14695
14696

14697
14698
14699
14700
14701
14702
14703
14704
14705
14706

14707
14708
14709
14710
14711
14712
14713
14714
14715

14716
14717
14718
14719
14720
14721
14722
14723
14724

14725
14726
14727
14728
14729
14730


14731
14732
14733
14734
14735
14736

14737
14738
14739
14740
14741
14742
14743
14744
14745
14746




14747
14748
14749
14750
14751
14752
14753
14708
14709
14710
14711
14712
14713
14714

14715
14716
14717
14718
14719
14720
14721
14722
14723
14724

14725
14726
14727
14728
14729
14730
14731
14732
14733

14734
14735
14736
14737
14738
14739
14740
14741
14742

14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756

14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778







-
+









-
+








-
+








-
+






+
+





-
+










+
+
+
+







!!!! Impératif : traits d’union manquants                                                         !!
!!
!!

__imp_union_moi__
    *WORD  moi
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, "V[123]...n:E", ":[GM]") and not morph(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|")
            and morph(\1, ":E", ":[GM]") and not value(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Apportez moi}} ce dictionnaire
TEST: Viens moi je m’ennuie.


__imp_union_toi__
    *WORD  toi
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, "V[123]...n:E:2s", ":[GM]") and not morph(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|")
            and morph(\1, ":E:2s", ":[GM]") and not value(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Donne toi}} du temps.


__imp_union_nous_vous_lui_y__
    *WORD  [nous|vous|lui|y]
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, "V[123]...n:E", ":[GM]") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>(?:en|y)") and morph(<1, ":Cc|<start>|>,")
            and morph(\1, ":E", ":[GM]") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>(?:en|y)") and morph(<1, ":Cc|<start>|>,")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Donne nous}} du café.


__imp_union_les__
    *WORD  les
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, "V[123]...n:E", ":[GM]") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp]|>(?:pour|plus|moins|mieux|peu|trop|très|en|y))") and morph(<1, ":Cc|<start>|>,")
            and morph(\1, ":E", ":[GM]") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp]|>(?:pour|plus|moins|mieux|peu|trop|très|en|y))") and morph(<1, ":Cc|<start>|>,")
        ->> \1-les                                      # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{chante les}} avec conviction
TEST: Veut les en convaincre.
TEST: Invite les plus intelligents…
TEST: Prenez les 5 ou 6 revues les plus connues.
TEST: Allez les chercher.
TEST: Soyez les plus gentils qu’on puisse imaginer.


__imp_union_le_la_leur__
    *WORD  [le|la|leur]
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, ":V[123]...n:E", ":[GM]") and morph(<1, ":|<end>|>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc|<start>|>,")
            and morph(\1, ":E", ":[GM]") and morph(>1, ":|<end>|>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc|<start>|>,")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Prends le}} avec toi.
TEST: {{Dites leur}} que nous sommes là.
TEST: un sujet si extrêmement politique et polémique lui a donné un accès
TEST: Les États d’ores et déjà très affaiblis le seraient encore plus
TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs)
TEST: Notez le peu de cas qui en est fait en général dans les médias
TEST: deux fois par an, souligne le Dr Assouline
TEST: Pesons le pour et le contre.
TEST: Va la demander au concierge.
TEST: Allons le questionner encore une fois.
TEST: Sois le pire des salopards.



__imp_laisser_le_la_les_infi__
    >laisser  [le|la|les]  *WORD
        <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E") and morph(\3, ":(?:Y|X|Oo)", ":[NAB]")
        -1:2>> \1-\2                                    # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

14761
14762
14763
14764
14765
14766
14767
14768

14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780

14781
14782
14783
14784
14785
14786
14787
14786
14787
14788
14789
14790
14791
14792

14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804

14805
14806
14807
14808
14809
14810
14811
14812







-
+











-
+







__imp_apostrophe_m_en__
    ~\w-m-en$
        <<- /imp/ ->> =\1[:-3]+"’en"                    # Dans cette forme verbale composée, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

    m-en
        <<- /imp/ ->> m’en                              # Ici, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: donne{{-m-en}} encore
TEST: {{donne-m-en}} encore


__imp_apostrophe_t_en__
    ~\w-t-en$
        <<- /imp/ not value(>1, "|guerre|")
        ->> =\1[:-3]+"’en"                              # Dans cette forme verbale composée, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

    t-en
        <<- /imp/ not (value(<1, "|va|") and value(>1, "|guerre|"))
        ->> t’en                                        # Ici, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union.

TEST: accorde{{-t-en}} plus.
TEST: {{accorde-t-en}} plus.


__imp_union_m_t_en_y__
    *WORD  [m’|t’]  [en|y]
        <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[MG]") and morph(>1, ":|<end>|>,", ":(?:Y|[123][sp])")
        ->> \1-\2\3                                     # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830










14831
14832
14833
14834
14835
14836
14837
14841
14842
14843
14844
14845
14846
14847








14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864







-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+







        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{prends-leur en}}
TEST: {{Donnez-nous en}}.
TEST: Alors, {{parais y}} grande et lumineuse.


#__[i]/imp(imp_union_aller_y)!5__
#    (?:v(?:iens|enez|enons)|all(?:ons|ez)) y
#    <<- not morph(word(1), ":Y", False, False) ->> =\0.replace(" ", "-")                            # Il manque un trait d’union.
#__[i]/imp(imp_union_vas_y)!5__
#    vas? y
#    <<- isStart() and not morph(word(1), ":Y", False, False) ->> vas-y                              # Il manque un trait d’union.
#__[i]/imp(imp_union_convenir_en)__
#    conv(?:iens|enez|enons) en(?! partie) <<- ->> =\0.replace(" ", "-")                             # Il manque un trait d’union.
__imp_union_aller_y!5__
    [viens|venez|venons|allons|allez] y
        <<- /imp/ space_after(\1, 1, 1) and not morph(>1, ":Y") ->> \1-\2           # Il manque un trait d’union.

    [va|vas] [y|z-y|z’y]
        <<- /imp/ space_after(\1, 1, 1) and not morph(>1, ":Y") ->> vas-y           # Il manque un trait d’union.

__imp_union_convenir_en__
    [conviens|convenez|convenons] en
        <<- /imp/ space_after(\1, 1, 1) and not value(>1, "|partie|") ->> \1-\2     # Il manque un trait d’union.

TEST: {{allons y}}
TEST: {{vas y}}
TEST: c’est une belle affaire malgré son prix élevé, {{convenez en}}…
TEST: {{Viens y}}.
TEST: Viens y faire un test.