Grammalecte  Check-in [c3952ad574]

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: c3952ad574af94fe4a2535bb7d18c82cfe83c989fa81b6771306e61b06da64a8
User & Date: olr on 2018-06-25 15:46:53
Other Links: branch diff | manifest | tags
Context
2018-06-25
18:04
[fr] conversion: regex rules -> graph rules check-in: 38260da22e user: olr tags: fr, rg
15:46
[fr] conversion: regex rules -> graph rules check-in: c3952ad574 user: olr tags: fr, rg
14:25
[fr] màj du sac de nœuds des préverbes check-in: bbd4228b52 user: olr tags: fr, rg
Changes

Modified gc_lang/fr/French_language.txt from [ad04b1d3f2] to [cb36c68363].

35
36
37
38
39
40
41


42
43
44
45
46
47
48
49
50
51
52
53
35
36
37
38
39
40
41
42
43
44
45

46

47
48
49
50
51
52
53







+
+


-

-







    RÉSUMÉ & SIMPLIFICATION
        ?[ne|n’]¿   [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]
        ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]
        ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]
        ?[ne|n’]¿   [lui|leur]                      en

    ADVERBE DE NÉGATION (après)
        guère
        jamais
        pas
        plus
        jamais
        point
        guère
        que / qu’
        rien

    PRONOMS À L’IMPÉRATIF
        APRÈS
            -moi
            -toi

Modified gc_lang/fr/rules.grx from [5114d3e35e] to [018b3a41b2].

4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438

































4439
4440
4441
4442
4443
4444
4445

4446
4447
4448
4449

4450

4451
4452

4453
4454
4455
4456
4457
4458
4459
4460
4461







4462
4463

4464
4465

4466
4467
4468
4469
4470




4471
4472
4473
4474



4475
4476
4477



4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490







4491
4492

4493
4494
4495


4496
4497


4498
4499
4500


4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539

4540
4541
4542
4543

4544
4545
4546
4547
4548
4549

4550
4551

4552
4553
4554

4555
4556

4557
4558
4559
4560
4561
4562
4563
4564
4565

4566
4567
4568
4569
4570
4571
4572
4423
4424
4425
4426
4427
4428
4429









4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468

4469
4470
4471
4472
4473
4474

4475


4476
4477
4478
4479
4480





4481
4482
4483
4484
4485
4486
4487
4488

4489


4490
4491




4492
4493
4494
4495




4496
4497
4498



4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509





4510
4511
4512
4513
4514
4515
4516


4517
4518


4519
4520


4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545













4546
4547
4548
4549
4550
4551
4552

4553




4554
4555
4556




4557


4558
4559
4560

4561


4562
4563
4564
4565
4566
4567
4568
4569
4570

4571
4572
4573
4574
4575
4576
4577
4578







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






-
+




+
-
+
-
-
+




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

-
+
-
-
+

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








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

-
-
+
+
-
-
+
+



+
+


















-
-
-
-
-
-
-
-
-
-
-
-
-







-
+
-
-
-
-
+


-
-
-
-
+
-
-
+


-
+
-
-
+








-
+







TEST: Je suis {{sure}} qu’il ne va pas tarder à venir
TEST: {{sures}} d’elles-mêmes, elles ne s’en laissent pas conter.
TEST: {{sur}} de toi et de moi, que peut-il nous arriver, sinon le meilleur.
TEST: Il est tellement {{sur}} de la trouver.
TEST: ils sont en lieu {{sur}} et introuvables.


# tant / temps (1re partie)
__[i]/conf(conf_en_temps_de)__
    en (tant?) de?  @@3
    <<- not after("^[ ’](?:lieux|endroits|places|mondes|villes|pays|régions|cités)") -1>> temps     # Confusion. Écrivez « en temps de » si vous évoquez une période de temps.
__[i]/conf(conf_de_temps_en_temps)__    de tant? en tant?                   <<- ->> de temps en temps   # Confusion. Écrivez « de temps en temps ».
__[i]/conf(conf_un_temps_soit_peu)__    un (temps|tan) soi[tes]? peu  @@3   <<- -1>> tant           # Confusion. Écrivez « un tant soit peu ».
__[i]/conf(conf_tant_de)__              a(?:près|vec) (temps|tan) de?  @@w  <<- -1>> tant           # Confusion.|http://fr.wiktionary.org/wiki/tant
__[i]/conf(conf_à_temps_partiel)__      [àa] (tant?) (?:partiel|plein)s? @@2 <<- -1>> temps         # Confusion.
__[i]/conf(conf_en_même_temps)__        en mêmes? (tant?)  @@$              <<- -1>> temps          # Confusion.

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

__conf_tant_temps_tan_1__
    en [tant] [de|d’] [guerre|paix|crise|doute|pluie]
        <<- /conf/ -2>> temps                               # Confusion. Écrivez « en temps de » si vous évoquez une période de temps.

    de [tant|tan|tans] en [tant|tan|tans]
        <<- /conf/ ->> de temps en temps                    # Confusion. Écrivez « de temps en temps ».

    un [temps|tan|tans] [soi|sois|soie|soies|soit] peu
        <<- /conf/ -2>> tant                                # Confusion. Écrivez « un tant soit peu ».

    un [temps|tan|tans|tant] [soi|sois|soie|soies] peu
        <<- /conf/ -3>> soit                                # Confusion. Écrivez « un tant soit peu ».

    [après|avec] [temps|tan|tans] [de|d’]
        <<- /conf/ -2>> tant                                # Confusion. Écrivez “tant” pour évoquer une quantité de quelque chose.|http://fr.wiktionary.org/wiki/tant

    [à|a] [tan|tans|tant] [partiel|partiels|plein|pleins]
        <<- /conf/ -2>> temps                               # Confusion. Pour ce qui est temporel, écrivez “temps”.

    en [même|mêmes] [tant|tan|tans]
        <<- /conf/ ->> en même temps                        # Confusion. Pour ce qui est temporel, écrivez “temps”.


TEST: en {{tant}} de guerre, il faut savoir faire face et ne pas faiblir face à l’adversité.
TEST: ils vont {{de tan en tan}} au restaurant
TEST: un {{temps}} soit peu perdu dans cette affaire.
TEST: après {{temps}} de souffrance, il faut savoir lâcher prise.
TEST: il travaille à {{tant}} partiel
TEST: en même {{tant}}, on s’en moque, de toutes ces histoires ennuyeuses.
TEST: {{en même tant}}, on s’en moque, de toutes ces histoires ennuyeuses.
TEST: ce qui a commencé en 2011 en tant d’endroits du pourtour méditerranéen
TEST: elle est allée en tant de lieux qu’il est difficile de suivre son trajet.


__conf_quand_bien_même__
# tant bien même
    tant bien même
__[i]/conf(conf_tant_bien_même)__
    tant bien même <<- ->> quand bien même                                  # Confusion. Écrivez « quand bien même ».|http://www.academie-francaise.fr/tant-bien-meme
        <<- /conf/ ->> quand bien même      # Confusion. Écrivez « quand bien même ».|http://www.academie-francaise.fr/tant-bien-meme

TEST: il sera condamné {{tant bien même}} il prouverait que c’était un accident.


# voie / vois / voix
# ->> voix
__[i]/conf(conf_à_haute_voix)__     à haute (voi[tes])   @@8            <<- -1>> voix               # Confusion.|http://fr.wiktionary.org/wiki/voix
__[i]/conf(conf_à_voix)__           à (voi[tes]) (?:basse|haute) @@2    <<- -1>> voix               # Confusion.|http://fr.wiktionary.org/wiki/voix
__[i]/conf(conf_de_vive_voix)__     de vives? (voi[est])  @@$           <<- -1>> voix               # Confusion.|http://fr.wiktionary.org/wiki/voix
__conf_voie_voix_vois_voit__
    à haute [voie|vois|voit]
    de vive [voie|vois|voit]
        <<- /conf/ -3>> voix        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

    à [voie|vois|voit] [basse|haute]
        <<- /conf/ -2>> voix        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

TEST: à haute {{voie}}
    sur la bonne voix
TEST: à {{voie}} haute
TEST: de vive {{voie}}
        <<- /conf/ -4>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

# ->> voie
__[i]/conf(conf_sur_la_bonne_voie)__        sur la bonne (voix) @@$     <<- -1>> voie               # Confusion.|http://fr.wiktionary.org/wiki/voix
__[i]/conf(conf_en_voie_de)__
    en (voix) d(?:e (?:développement|disparition|guérison|résorption)|’(?:acquisition|achèvement|extinction|obtention))  @@3
    >ouvrir la voix [à|au|aux]
        <<- /conf/ -3>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

    en voix [de|d’] [développement|disparition|guérison|résorption|acquisition|achèvement|extinction|obtention]
    <<- -1>> voie                                                                                   # Confusion.|http://fr.wiktionary.org/wiki/voie
__[i]/conf(conf_ouvrir_la_voix)__
    (ouv\w+) +la (voix) (?:à|aux?)  @@0,w <<- morph(\1, ">ouvrir/", False) -2>> voie                # Confusion.|http://fr.wiktionary.org/wiki/voie
__[i]/conf(conf_par_voie_de_conséquence)__  par (voix) de conséquence   @@4 <<- -1>> voie           # Confusion.|http://fr.wiktionary.org/wiki/voie
    par voix de >conséquence
        <<- /conf/ -2>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

__[i]/conf(conf_voie_adj)__
    (voix) (?:abdominale|anale|biliaire|carrossable|communale|express|interdite|intramusculaire|intraveineuse|piétonne|principale|prioritaire|privée|publique|déserte|romaine|appienne|flaminienne|ferrée|ferroviaire|lactée|lacrymale|aérienne|maritime|fluviale|terrestre|navigable|détournée|déviée|buccale|digestive|urinaire|respiratoire|parallèle|administrative|diplomatique|gouvernementale|législative|hiérarchique|rectiligne|sinueuse|souterraine|urbaine)s? @@0
    <<- -1>> voie                                                                                   # Confusion.|http://fr.wiktionary.org/wiki/voie
    voix [abdominale|anale|biliaire|carrossable|communale|express|interdite|intramusculaire|intraveineuse|piétonne|principale|prioritaire|privée|publique|déserte|romaine|appienne|flaminienne|ferrée|ferroviaire|lactée|lacrymale|aérienne|maritime|fluviale|terrestre|navigable|détournée|déviée|buccale|digestive|urinaire|respiratoire|parallèle|administrative|diplomatique|gouvernementale|législative|hiérarchique|rectiligne|sinueuse|souterraine|urbaine]
    voix [abdominales|anales|biliaires|carrossables|communales|expresss|interdites|intramusculaires|intraveineuses|piétonnes|principales|prioritaires|privées|publiques|désertes|romaines|appiennes|flaminiennes|ferrées|ferroviaires|lactées|lacrymales|aériennes|maritimes|fluviales|terrestres|navigables|détournées|déviées|buccales|digestives|urinaires|respiratoires|parallèles|administratives|diplomatiques|gouvernementales|législatives|hiérarchiques|rectilignes|sinueuses|souterraines|urbaines]
        <<- /conf/ -1>> voie        # Confusion. La voix est un son humain, animal ou instrumental. Pour évoquer un chemin, écrivez “voie”.|http://fr.wiktionary.org/wiki/voie

TEST: sur la bonne {{voix}}
TEST: ces patients sont en {{voix}} de guérison.
TEST: il faut ouvrir la {{voix}} aux nouveaux venus.
TEST: Je propse que, par {{voix}} de conséquence, nous partions immédiatement.
TEST: C’est une {{voix}} interdite.


# voire / voir
__[i]/conf(conf_voir_voire)__
    (voir) ({w_2}) @@0,$
    <<- not re.search("^(?:grand|petit|rouge)$", \2) and morphex(\2, ":A", ":[NGM]") and not \2.istitle()
        and not before(r"(?i)\b[ndmts](?:e |’(?:en |y ))(?:pas |jamais |) *$") and not morph(word(-1), ":O[os]|>(?:[ndmts]e|falloir|pouvoir|savoir|de)/", False)
__conf_voir_voire__
    voir [grand|petit|rouge]
        <<- ~2>> !

    voir  @:A¬:[NGM]
        <<- /conf/ not \2.istitle() and not morph(<1, ":O[os]|>(?:[ndmts]e|falloir|pouvoir|savoir|de)/")
            and not before(r"(?i)\b[ndmts](?:e |’(?:en |y ))(?:pas |jamais |) *$")
    -1>> voire
    # Confusion probable : “voir” est un verbe concernant la perception visuelle. Pour signifier “et même possiblement”, écrivez :|https://fr.wiktionary.org/wiki/voire
        -1>> voir                       # Confusion probable : “voir” est un verbe concernant la perception visuelle. Pour signifier “et même possiblement”, écrivez :|https://fr.wiktionary.org/wiki/voire

__[i]/conf(conf_voire_voir)__
    voire
    [comme|lorque|puisque|quand|que|quoique|si]     (voire)
    [ni|et|par|pour|sans]                           (voire)
    <<- morph(word(-1), ":Cs|>(?:ni|et|sans|pour|falloir|[pv]ouvoir|aller)/", True, False) ->> voir
    # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire
    [>aller|>falloir|>pouvoir|>vouloir]  ?[guère|jamais|pas|plus|point|rien]¿  (voire)
        <<- /conf/ -1>> voir            # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire

TEST: Elles sont fatiguées, {{voir}} épuisées.
TEST: Ce serait pour aider, ainsi que {{voire}} l’avancement du projet.
TEST: il faut penser juste et {{voire}} vrai.
TEST: Je ne vais jamais {{voire}} ces gens-là.
TEST: Elles vont voir rouge en apprenant cet échec.
TEST: Voir les enfants jouer ne me rend pas nostalgique.
TEST: Il faut voir grand.
TEST: Il sait voir grand.
TEST: Il sait voir telle ou telle chose avec acuité.
TEST: ça reste à voir
TEST: Je veux le voir étonné par toutes ces merveilles.
TEST: Les start-ups doivent aller vite, voir grand.
TEST: de fortes chances de se voir ruiné
TEST: Quelle chance tu as eue de voir ruiné ce connard.
TEST: l’immobilier a été ces dernières années l’investissement le plus rentable (voir graphique ci-dessous)
TEST: elles sont pas mal ainsi, voire élégantes pourrait-on dire.
TEST: il y en a peu, voire très peu.
TEST: car elles pénètrent dans les poumons voire le système sanguin.
TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants.




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



!!
!!
!!!! Verbes composés                                                                              !!
!!
!!

#__verbes_composés_interrogatifs__
#    ~-je$
#    ~-(?:je|tu|ils?|elles?)$
#    ~-tu$
#    ~-ils?$
#    ~-elles?$
#        <<- ->> define(\1, [":Vi"])
#        <<- ->> define(\1, [":VCi"])
#
#__verbes_composés_impératifs__
#    ~-moi$
#    ~-toi$
#    ~-leur$
#    ~-en$
#    ~-(?:moi|toi|leur|en|y)$
#    ~-y$
#        <<- ->> define(\1, [":Ve"])
#        <<- ->> define(\1, [":VCe"])
#
#__verbes_composés_interrogatifs_et_impératifs__
#    ~-nous$
#    ~-[nv]ous$
#    ~-vous$
#        <<- ->> define(\1, [":Vi", ":Ve"])
#        <<- ->> define(\1, [":VCi", ":VCe"])


__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, [":Vi1:2p"])
        <<- =>> define(\1, [":VCi1:2p"])
        <<- ~1>> !

#   [un|mon|ton|son|ce|mes|tes|ses|leurs] rendez-vous
#   rendez-vous seulement défini comme :N:m:i



4582
4583
4584
4585
4586
4587
4588
4589

4590
4591
4592
4593
4594

4595
4596
4597

4598
4599
4600
4601
4602

4603
4604
4605

4606
4607
4608

4609
4610
4611

4612
4613
4614
4615
4616
4617
4618
4588
4589
4590
4591
4592
4593
4594

4595
4596
4597
4598
4599

4600
4601
4602

4603
4604
4605
4606
4607

4608
4609
4610

4611
4612
4613

4614
4615
4616

4617
4618
4619
4620
4621
4622
4623
4624







-
+




-
+


-
+




-
+


-
+


-
+


-
+







        <<- ~2>> !
        <<- ~>> *


__non_verbe_après_préverbes__
    [ne|n’]     [le|la|l’|les]      [lui|leur|en|y]         @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)
    [ne|n’]     [lui|leur]          en                      @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)
        <<- -4>> =suggSimil(\4, ":(?:[123][sp]|Y)", False)                                          # Incohérence avec « \1 \2 \3 » : « \4 » devrait être un verbe.
        <<- /conf/ -4>> =suggSimil(\4, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 \2 \3 » : « \4 » devrait être un verbe.

    [ne|n’]     [le|la|l’|les|nous|vous|lui|leur]           @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)|>(?:pas|presque|jamais|rien|guère|point|plus)/
    n’          [en|y]                                      @:[NAQ]¬:(?:[123][sp]|Y|W|P|Oo|X)|>(?:pas|presque|jamais|rien|guère|point|plus)/
    [me|m’|te|t’|se|s’]   [le|la|l’|les|en|y]               @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)|>(?:pas|presque|jamais|rien|guère|point|plus)/
        <<- -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)                                          # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.
        <<- /conf/ -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [nous|vous]           [le|la|l’|les|en|y]               @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)|>(?:pas|presque|jamais|rien|guère|point|plus)/
        <<- not morph(<1, ":R|>de/") -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)                 # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.
        <<- /conf/ not morph(<1, ":R|>de/") -3>> =suggSimil(\3, ":(?:[123][sp]|Y)", False)          # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    [ne|n’]                                                 @:[NAQ]¬:(?:[123][sp]|Y|W|P|Oo|X)|>(?:[mtsl]|même|pas|presque|jamais|rien|guère|point|plus)/
    [me|m’|te|t’|se]                                        @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)|>(?:l|pas|presque|jamais|rien|guère|point|plus)/
    [s’]                                                    @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)|>ils?/
        <<- -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                          # Incohérence avec « \1 » : « \2 » devrait être un verbe.
        <<- /conf/ -2>> =suggSimil(\2, ":(?:[123][sp]|Y)", False)                                   # Incohérence avec « \1 » : « \2 » devrait être un verbe.

    [c’|ç’]                                                 @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)|>que?/
        <<- -2>> =suggSimil(\2, ":3s", False)                                                       # Incohérence avec « \1 » : « \2 » devrait être un verbe.
        <<- /conf/ -2>> =suggSimil(\2, ":3s", False)                                                # Incohérence avec « \1 » : « \2 » devrait être un verbe.

    j’          [en|y]                                      @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)
        <<- -3>> =suggSimil(\3, ":1s", False)                                                       # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.
        <<- /conf/ -3>> =suggSimil(\3, ":1s", False)                                                # Incohérence avec « \1 \2 » : « \3 » devrait être un verbe.

    j’                                                      @:[NAQ]¬:(?:[123][sp]|Y|P|Oo|X)
        <<- -2>> =suggSimil(\2, ":1s", False)                                                       # Incohérence avec « \1 » : « \2 » devrait être un verbe.
        <<- /conf/ -2>> =suggSimil(\2, ":1s", False)                                                # Incohérence avec « \1 » : « \2 » devrait être un verbe.

TEST: ne l’{{oubli}} pas
TEST: elle ne la {{croix}} pas
TEST: ils me les {{laissés}}.
TEST: ne {{pensée}} rien, jamais
TEST: n’en {{laissée}} que des miettes
TEST: s’y {{intéressé}}
4691
4692
4693
4694
4695
4696
4697
4698

4699
4700
4701
4702

4703
4704
4705
4706
4707
4708

4709
4710
4711
4712
4713
4714
4715
4716
4717
4718

4719
4720
4721
4722

4723
4724
4725
4726
4727
4728

4729
4730
4731
4732

4733
4734
4735
4736
4737
4738

4739
4740
4741
4742

4743
4744
4745
4746
4747
4748
4749

4750
4751
4752
4753
4754

4755
4756
4757
4758
4759

4760
4761
4762
4763
4764
4765
4766
4767
4768
4769

4770
4771
4772
4773
4774
4775

4776
4777
4778
4779
4780
4781
4782
4697
4698
4699
4700
4701
4702
4703

4704
4705
4706
4707

4708
4709
4710
4711
4712
4713

4714
4715
4716
4717
4718
4719
4720
4721
4722
4723

4724
4725
4726
4727

4728
4729
4730
4731
4732
4733

4734
4735
4736
4737

4738
4739
4740
4741
4742
4743

4744
4745
4746
4747

4748
4749
4750
4751
4752
4753
4754

4755
4756
4757
4758
4759

4760
4761
4762
4763
4764

4765
4766
4767
4768
4769
4770
4771
4772
4773
4774

4775
4776
4777
4778
4779
4780

4781
4782
4783
4784
4785
4786
4787
4788







-
+



-
+





-
+









-
+



-
+





-
+



-
+





-
+



-
+






-
+




-
+




-
+









-
+





-
+







        <<- />> 2p


## Incohérences avec formes verbales 1sg et 2sg sans sujet

__conj_xxxai__sans_sujet!3__
    [se|s’]  ?[en|y|le|la|l’|les]¿  (~ai$)
        <<- morph(\1, ":1s", ":(?:G|W|M|J|3[sp])")
        <<- /conj/ morph(\1, ":1s", ":(?:G|W|M|J|3[sp])")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  (~ai$)  ~¬[jJ]e
        <<- morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "1s")
        <<- /conj/ morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "1s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

    [me|m’|te|t’|nous|vous]     ?[le|la|l’|les|en|y]¿   (~ai$)  ~¬[jJ]e
    [le|la|l’|les]              [lui|leur|en|y]         (~ai$)  ~¬[jJ]e
    [lui|leur]                  en                      (~ai$)  ~¬[jJ]e
        <<- morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "1s")
        <<- /conj/ morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "1s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.

    ~ai$  ~¬[jJ]e
        <<- morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp]|N|A|Q)") and not (\1.istitle() and before0(r"\w")) and not tag_before(\1, "1s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable.


__conj_xxxas_xxxes__sans_sujet!3__
    [se|s’]  ?[en|y|le|la|l’|les]¿  (~[ae]s$)
        <<- morph(\1, ":2s", ":(?:G|W|M|J|3[sp])")
        <<- /conj/ morph(\1, ":2s", ":(?:G|W|M|J|3[sp])")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  (~[ae]s$)  ~¬[tT]u
        <<- morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "2s")
        <<- /conj/ morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

    [me|m’|te|t’|nous|vous]     ?[le|la|l’|les|en|y]¿   (~[ae]s$)  ~¬[tT]u
    [le|la|l’|les]              [lui|leur|en|y]         (~[ae]s$)  ~¬[tT]u
    [lui|leur]                  en                      (~[ae]s$)  ~¬[tT]u
        <<- morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "2s")
        <<- /conj/ morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp])") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.

    ~[ae]s$  ~¬[tT]u
        <<- morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp]|N|A|Q)") and not (\1.istitle() and before0(r"\w")) and not tag_before(\1, "2s")
        <<- /conj/ morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp]|N|A|Q)") and not (\1.istitle() and before0(r"\w")) and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable.


__conj_xxxxxs_sans_sujet!3__
    [se|s’]  ?[en|y|le|la|l’|les]¿  (~[iudnrtpcï]s$)
        <<- morph(\1, ":[12]s", ":(?:G|W|M|J|3[sp]|2p|1p)")
        <<- /conj/ morph(\1, ":[12]s", ":(?:G|W|M|J|3[sp]|2p|1p)")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  (~[iudnrtpcï]s$)  ~¬(?:[tT]u|[jJ]e)
        <<- morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        <<- /conj/ morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
            and not tag_before(\1, "1s") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    [me|m’|te|t’|nous|vous]     ?[le|la|l’|les|en|y]¿   (~[iudnrtpcï]s$)  ~¬(?:[tT]u|[jJ]e)
    [le|la|l’|les]              [lui|leur|en|y]         (~[iudnrtpcï]s$)  ~¬(?:[tT]u|[jJ]e)
    [lui|leur]                  en                      (~[iudnrtpcï]s$)  ~¬(?:[tT]u|[jJ]e)
        <<- morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
        <<- /conj/ morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)")
            and not tag_before(\1, "1s") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    étais  ~¬(?:[tT]u|[jJ]e)
        <<- not (\1.istitle() and before0(r"\w")) and not morph(<1, ":[DA].*:p")
        <<- /conj/ not (\1.istitle() and before0(r"\w")) and not morph(<1, ":[DA].*:p")
            and not tag_before(\1, "1s") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    ~[iudnrtpcï]s$  ~¬(?:[tT]u|[jJ]e)
        <<- morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p|V0e|N|A|Q)") and not (\1.istitle() and before0(r"\w"))
        <<- /conj/ morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p|V0e|N|A|Q)") and not (\1.istitle() and before0(r"\w"))
            and not tag_before(\1, "1s") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.


__conj_peux_veux_vaux_équivaux_prévaux_sans_sujet!3__
    [se|s’]  ?[en|y|le|la|l’|les]¿  ([peux|veux|vaux|équivaux|prévaux])
        <<- /conj/ -1>> =suggVerb(\1, ":3s")                                                        # Incohérence. Le sujet de cette forme verbale est introuvable.

    [ne|n’]  ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿  ([peux|veux|vaux|équivaux|prévaux])  ~¬(?:[tT]u|[jJ]e)
        <<- not tag_before(\1, "1s") and not tag_before(\1, "2s")
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    [me|m’|te|t’|nous|vous]     ?[le|la|l’|les|en|y]¿   ([peux|veux|vaux|équivaux|prévaux])  ~¬(?:[tT]u|[jJ]e)
    [le|la|l’|les]              [lui|leur|en|y]         ([peux|veux|vaux|équivaux|prévaux])  ~¬(?:[tT]u|[jJ]e)
    [lui|leur]                  en                      ([peux|veux|vaux|équivaux|prévaux])  ~¬(?:[tT]u|[jJ]e)
        <<- not tag_before(\1, "1s") and not tag_before(\1, "2s")
        <<- /conj/ not tag_before(\1, "1s") and not tag_before(\1, "2s")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

    vaux  ~¬(?:[tT]u|[jJ]e)
        <<- /conj/ not (\1.istitle() and before0(r"\w")) and not tag_before(\1, "1s") and not tag_before(\1, "2s")
            and not morph(<1, ":(?:R|D.*:p)")
        -1>> =suggVerb(\1, ":3s")                                                                   # Incohérence. Le sujet de cette forme verbale est introuvable.

4822
4823
4824
4825
4826
4827
4828
4829

4830
4831
4832

4833
4834
4835

4836
4837
4838

4839
4840
4841

4842
4843
4844

4845
4846
4847
4848
4849
4850
4851
4828
4829
4830
4831
4832
4833
4834

4835
4836
4837

4838
4839
4840

4841
4842
4843

4844
4845
4846

4847
4848
4849

4850
4851
4852
4853
4854
4855
4856
4857







-
+


-
+


-
+


-
+


-
+


-
+







!!
!!!! Locutions invariables                                                                        !!
!!
!!

__locutions_invariables__
    [plus|moins|autant]  que  [prévue|prévus|prévues]
        <<- -3>> prévu                                                                              # Invariable. Implicitement, \1 que ce qui était prévu.
        <<- /sgpl/ -3>> prévu                                                                       # Invariable. Implicitement, \1 que ce qui était prévu.

    [plus|moins|aussi]  **  que  [prévue|prévus|prévues]
        <<- -4>> prévu                                                                              # Invariable. Implicitement, \1 \2 que ce qui était prévu.
        <<- /sgpl/ -4>> prévu                                                                       # Invariable. Implicitement, \1 \2 que ce qui était prévu.

    [plus|moins|autant]  [de|d’]  **  que  [prévue|prévus|prévues]
        <<- -5>> prévu                                                                              # Invariable. Implicitement, \1 \2 \3 que ce qui était prévu.
        <<- /sgpl/ -5>> prévu                                                                       # Invariable. Implicitement, \1 \2 \3 que ce qui était prévu.

    comme [annoncés|annoncée|annoncées]
        <<- -2>> annoncé                                                                            # Invariable. Implicitement, comme ce qui était annoncé.
        <<- /sgpl/ -2>> annoncé                                                                     # Invariable. Implicitement, comme ce qui était annoncé.

    comme [convenus|convenue|convenues]
        <<- -2>> convenu                                                                            # Invariable. Implicitement, comme ce qui était convenu.
        <<- /sgpl/ -2>> convenu                                                                     # Invariable. Implicitement, comme ce qui était convenu.

    comme [prévue|prévus|prévues]
        <<- -2>> prévu                                                                              # Invariable. Implicitement, comme ce qui était prévu.
        <<- /sgpl/ -2>> prévu                                                                       # Invariable. Implicitement, comme ce qui était prévu.


TEST: il y en a autant que {{prévus}}.
TEST: elles sont plus nombreuses plus que {{prévues}}
TEST: il y a moins de bouffe que {{prévue}}
TEST: comme {{annoncés}}, ils sont arrivés
TEST: moins loin que {{prévus}}                               ->> prévu
4876
4877
4878
4879
4880
4881
4882
4883

4884
4885
4886

4887
4888
4889

4890
4891
4892
4893
4894
4895
4896
4882
4883
4884
4885
4886
4887
4888

4889
4890
4891

4892
4893
4894

4895
4896
4897
4898
4899
4900
4901
4902







-
+


-
+


-
+







    [les|des|mes|tes|ses|ces|nos|vos|leurs|aux]  tout  [débuts|petits]
    [les|des|mes|tes|ses|ces|nos|vos|leurs|aux]  tout  @:A.*:[pi]
        <<- ~2>> *


__tout_det__
    [<start>|,]  tout [deux|trois]
        <<- -2>> tous                                                                               # Locution pronominale : « tous deux ».|https://fr.wiktionary.org/wiki/tous_deux
        <<- /gn/ -2>> tous                                                                          # Locution pronominale : « tous deux ».|https://fr.wiktionary.org/wiki/tous_deux

    tout [mes|tes|ses|ces|nos|vos|leurs|ceux|celles]
        <<- not morph(<1, ">(?:d[eu]|avant|après|malgré)/") -1>> tous                               # Erreur d’accord probable avec « \2 ».
        <<- /gn/ not morph(<1, ">(?:d[eu]|avant|après|malgré)/") -1>> tous                          # Erreur d’accord probable avec « \2 ».

    tout les @:¬:(?:3s|Oo)
        <<- not morph(<1, ">(?:d[eu]|avant|après|malgré)/") -1>> tous                               # Erreur d’accord probable avec « les \3 ».
        <<- /gn/ not morph(<1, ">(?:d[eu]|avant|après|malgré)/") -1>> tous                          # Erreur d’accord probable avec « les \3 ».

TEST: {{Tout}} deux sont partis les premiers.
TEST: {{Tout}} mes hommes sont venus.
TEST: {{Tout}} les hommes sont dingues.
TEST: Donne à manger à {{tout}} ceux qui sont là.
TEST: Revenus de tout ceux qui sont partis ont perdu la foi.
TEST: car malgré tout ceux qui persistent obtiennent parfois justice.
6297
6298
6299
6300
6301
6302
6303
6304

6305
6306
6307
6308
6309
6310
6311
6303
6304
6305
6306
6307
6308
6309

6310
6311
6312
6313
6314
6315
6316
6317







-
+







    vaille que vaille
    ventre à terre
    vers nulle part
        <<- ~>> *


@@@@
@@@@END_GRAPH
@@@@END_GRAPH                                                                                      _
@@@@


__[i](p_plus_avant)__           plus avant(?! de | que?) <<- ~>> *


__[i](p_qui_loc_tps)__          qui (ce (?:jour|matin|après-midi|soir)-là|cette (?:nuit|matinée|soirée)-là) @@4 <<- ~1>> *