Grammalecte  Diff

Differences From Artifact [7056f0f808]:

To Artifact [7c022e831d]:


703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718

719
720
721
722
723
724
725
....
1468
1469
1470
1471
1472
1473
1474
1475
1476

1477
1478

1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
....
2348
2349
2350
2351
2352
2353
2354

2355

2356
2357
2358

2359
2360
2361
2362
2363
2364
2365
....
2945
2946
2947
2948
2949
2950
2951

2952
2953
2954
2955
2956
2957
2958
....
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
....
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
....
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
.....
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
.....
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
.....
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
.....
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
.....
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
        <<- -1>> " »|”"                                                                             && Guillemets typographiques fermants.

TEST: {{"}}Le grand homme.”                                                 ->> « |“
TEST: “Le grand homme.{{"}}                                                 ->> " »|”"


__<s>/typo(typo_guillemets_typographiques_simples_doubles_ouvrants)__
    (?:^|[ –—-])(['’]['’])(?=\w)  @@*
        <<- -1>> « |“                                                                               && Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_doubles_fermants)__
    [\w.?!…,](['’]['’])(?![\w'’])  @@*
        <<- -1>> " »|”"                                                                             && Guillemets typographiques fermants.

TEST: {{''}}Ça{{”}} recommence.                                                 ->> « |“|||
TEST: Le {{''}}grand{{”}} homme.                                                ->> « |“|||
TEST: Le {{“}}grand{{''}} homme.                                                ->> ||| »|”



__<s>/typo(typo_guillemets_typographiques_simples_ouvrants)__
    (?:^|[ –—-])(['’])(?=\w)  @@*
        <<- -1>> “|‘|‹                                                                              && Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_fermants)__
    [\w.?!](')(?:[   ]|$)  @@*
................................................................................
__[i]/ocr(ocr_le_la_les_regex)__
    [1[\]][easrnxiocuwàéè]
        <<- \0.endswith("e") ->> le                                                                 && Erreur de numérisation ?
        <<- __else__ and \0.endswith("a") ->> la                                                    && Erreur de numérisation ?
        <<- __else__ and \0.endswith("à") ->> la|là                                                 && Erreur de numérisation ?
        <<- __else__ ->> le|la                                                                      && Erreur de numérisation ?

TEST: __ocr__ avec {{1e}} chien du policier
TEST: __ocr__ il le jura sur {{1a}} tête de sa mère

TEST: __ocr__ {{1c}} chat du voinsin est idiot
TEST: __ocr__ {{[e}} chien a faim



__[i]/conf(conf_1e_1a_1es)__
    [1[\]][ea]s?
        <<- \0.endswith("e") and (morph(word(1), ":(?:[NA].*:[me]:[si]|V)", ":G") or morph(word(-1), ">ne/")) ->> le       && Erreur de frappe ?
        <<- \0.endswith("a") and (morph(word(1), ":(?:[NA].*:[fe]:[si]|V)", ":G") or morph(word(-1), ">ne/")) ->> la       && Erreur de frappe ?
        <<- \0.endswith("es") and (morph(word(1), ":(?:[NA].*:[pi]|V)", ":G") or morph(word(-1), ">ne/")) ->> les          && Erreur de frappe ?

TEST: {{1e}} marginal                                           ->> le
TEST: {{1a}} venue des problèmes                                ->> la
TEST: {{1es}} enfants sont au lit                               ->> les
TEST: Je… ne {{1e}}… crois pas…


__[i]/ocr(ocr_les)__
    [1[\]][ea]s
        <<- ->> les                                                                                 && Erreur de numérisation ?

TEST: __ocr__ {{1es}} jours clairs
................................................................................
    La Bruyère
    La Fayette
    La Fontaine
        <<- ~>> ␣
        <<- =>> define(\1, ":M2:e:i")

    cac  40

        <<- ~>> ␣


    France [2|3|4|5|0|O]
        <<- ~>> ␣


    Peugeot  ~^\d0\d\d?$
        <<- ~>> ␣
        <<- =>> define(\1, ":N:e:i")

    Mai 68
        <<- ~>> ␣
................................................................................

# avec / aven / arec
__ocr_avec__
    [arec|aven]
        <<- /ocr/ ->> avec                                                                          && Erreur de numérisation ?

TEST: __ocr__ Elle s’en alla {{arec}} eux sans un regard en arrière.


# avaient / avalent
__ocr_avaient__
    avalent
        <<- /ocr/ ->> avaient                                                                       && Erreur de numérisation ?

TEST: __ocr__ Ils {{avalent}} très faim.
................................................................................
!!!! Élisions & euphonie                                                                          !!
!!
!!

# élisions
__eleu_élisions_manquantes__
    [le|la|de]  ~^[aâeéèêiîoôuûyœæh].
        <<- /eleu/ space_after(\1, 1, 1) and not re.search("(?i)^(?:onz[ei]|énième|iourte|oui|ouï-dire|ouistiti|ouate|one-?step|ouf|yacht|Ouagadougou|I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2) and morph(\2, ":", ":G|;é")
        -1:.2>> =\1[0:1]+"’"                                                && Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision

    si [il|ils]
        <<- /eleu/ space_after(\1, 1, 1) -1:.2>> s’                         && Il faut élider “si” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision

    que [il|ils|elle|elles|on|iel|iels]
        <<- /eleu/ space_after(\1, 1, 1) -1:.2>> qu’                        && Il faut élider “que” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision
................................................................................
TEST: {{l’}}hulotte                                                         ->> la
TEST: combien {{d’}}iourtes                                                 ->> de


# ce -> cet
__eleu_euphonie_cet__
    ce  ~^[aâeéèêiîoôuûyœæ]
        <<- /eleu/ not re.search("(?i)^(?:onz|énième|ouf|énième|ouistiti|yacht|one-?step|I(?:I|V|X|er|ᵉʳ))", \2) and morph(\2, ":[NA].*:[me]")
        -1>> cet                                                                && Euphonie : “ce” devient “cet” devant un mot commençant par une voyelle.|https://fr.wikipedia.org/wiki/Euphonie

TEST: {{ce}} animal est dangereux
TEST: ce yacht


# Verbe 1ʳᵉ personne du singulier, interrogatif… xxxé-je
................................................................................
TEST: pensé-je
TEST: souhaitè-je


# ma, ta, sa / mon, ton, son
__eleu_euphonie_ma_ta_sa__
    [ma|ta]  ~^[aâeéèêiîoôuûyœæ].
        <<- /eleu/ morph(\2, ":[NA]") and not re.search("(?i)^(?:onz|énième|ouf|énième|I(?:I|V|X|i?[eè]?re|ʳᵉ))", \2)
        -1>> =\1[0:1]+"on"                                                      && Euphonie : lorsque le déterminant “\1” est suivi d’un nom ou d’un adjectif commençant par une voyelle, il est d’usage d’utiliser le pronom  “mon”, “ton” ou “son” pour respecter l’euphonie. Exemple : mon étoile (féminin).|https://fr.wikipedia.org/wiki/Euphonie

    sa  ~^[aâeéèêiîoôuûyœæ].
        <<- /eleu/ not \1.isupper() and morph(\2, ":[NA]") and not re.search("(?i)^(?:onz|énième|ouf|énième|I(?:I|V|X|i?[eè]?re|ʳᵉ))", \2) >>>
        <<- /eleu/ morph(\2, ":[123][sp]") -1>> =\1[0:1]+"on|ça"                && Euphonie : lorsque le déterminant “\1” est suivi d’un nom ou d’un adjectif commençant par une voyelle, il est d’usage d’utiliser le pronom  “mon”, “ton” ou “son” pour respecter l’euphonie. (À moins que vous ne confondiez “sa” et “ça”.) Exemple : son étoile (féminin), ça existe.|https://fr.wikipedia.org/wiki/Euphonie
        <<- /eleu/ __else__ -1>> =\1[0:1]+"on"                                  && Euphonie : lorsque le déterminant “\1” est suivi d’un nom ou d’un adjectif commençant par une voyelle, il est d’usage d’utiliser le pronom  “mon”, “ton” ou “son” pour respecter l’euphonie. Exemple : son étoile (féminin).|https://fr.wikipedia.org/wiki/Euphonie

TEST: {{ta}} aimée                                              ->> ton
TEST: {{ma}} obligée                                            ->> mon
TEST: {{sa}} œuvre                                              ->> son|ça
TEST: {{sa}} existence                                          ->> son
................................................................................

    in anima vili
    in cauda venenum
    in vino veritas
    sursum corda
    sic transit gloria mundi
        <<- ~>> ␣
        <<- =>> =define(\1, ":LP")


__purge_locutions_incises__
    [<start>|,|(] [oui|non] [<end>|,|)]
    [<start>|,|(] ?oui¿ ou non [<end>|,|)]
    [<start>|,|(] et non l’ inverse [<end>|,|)]
    [<start>|,|(] fait remarquable [<end>|,|)]
    [<start>|,|(] entre autres ?choses¿ [<end>|,|)]
    [<start>|,|(] mieux encore [<end>|,|)]
    [<start>|,|(] n’ est-ce pas [<end>|)]
        <<- ~2:-2>>*


__purge_locutions_distance__
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] [de|d’] [distance|ici]
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] en [amont|aval]
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] plus loin
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] à la ronde
................................................................................



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_passe2|pp2                                                                        _
@@@@
@@@@
@@@@
@@@@

__da_le_montre__
    le  montre  $:D
................................................................................
        <<- morph(\1, ":[123]p") or (\1 == "fait" and value(<1, "|on|")) ~2>> *


# tous / tout / toute / toutes
__purge_tout_tout_tous_toutes__
    tout                    [le|ce|cet|mon|ton|son]
    toute                   [la|cette|ma|ta|sa]
    [tous|toutes|tout_e_s]  [les|des|mes|tes|ses|ces|nos|vos|leurs]
        <<- ~1>> *

    /-on        [tous|toutes]
    /-nous      [tous|toutes]
    /-vous      [tous|toutes]
    /-ils       [tous|toutes]
    /-elles     [tous|toutes]
    /-iel       [tous|toutes|tout_e_s]
    /-iels      [tous|toutes|tout_e_s]
        <<- ~2>> *

    *WORD       [tous|toutes|tout_e_s]
        <<- morph(\1, ":[123]p") ~2>> *

    on  ?[ne|n’]¿  ?[le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ?[le|la|l’|les|en|y|lui|leur]¿  *WORD  [tous|toutes|tout_e_s]
        <<- morph(\-2, ":[123]s") ~-1>> *

    [tous|toutes] , sans >exception ,
        <<- ~2:0>> *


@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_passe3|pp3                                                                        _
@@@@
@@@@
@@@@
@@@@


__fusions_enum_noms_communs__
................................................................................
    iels            [seuls|seules]
        <<- ~2>> *

    nous    [tous|toutes]   qui
    vous    [tous|toutes]   qui
    eux     tous            qui
    elles   toutes          qui
    iels    tout_e_s        qui
        <<- ~2>> *

TODO: comme


__purge_pronoms_après_sujet_verbe__
    [j’|je]     ?[ne|n’]¿   >avoir      moi-même
................................................................................



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_ponctuations2|ppc2                                                                _
@@@@
@@@@
@@@@
@@@@

__da_été2__
    >avoir été







|








>







 







|
|
>
|
<
>











|







 







>

>



>







 







>







 







|







 







|







 







|



|







 







|










|







 







|







 







|







|
|


|


|










|







 







|







 







|







703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
....
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479

1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
....
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
....
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
....
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
....
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
....
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
.....
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
.....
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
.....
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
.....
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
.....
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
        <<- -1>> " »|”"                                                                             && Guillemets typographiques fermants.

TEST: {{"}}Le grand homme.”                                                 ->> « |“
TEST: “Le grand homme.{{"}}                                                 ->> " »|”"


__<s>/typo(typo_guillemets_typographiques_simples_doubles_ouvrants)__
    (?:^|[ –—-])(['’]['’])(?=\w)  @@*
        <<- -1>> « |“                                                                               && Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_doubles_fermants)__
    [\w.?!…,](['’]['’])(?![\w'’])  @@*
        <<- -1>> " »|”"                                                                             && Guillemets typographiques fermants.

TEST: {{''}}Ça{{”}} recommence.                                                 ->> « |“|||
TEST: Le {{''}}grand{{”}} homme.                                                ->> « |“|||
TEST: Le {{“}}grand{{''}} homme.                                                ->> ||| »|”
TEST: Le {{‘‘}}barbare{{’’}} dont il faut se défendre à tout prix               ->> « |“||| »|”


__<s>/typo(typo_guillemets_typographiques_simples_ouvrants)__
    (?:^|[ –—-])(['’])(?=\w)  @@*
        <<- -1>> “|‘|‹                                                                              && Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_fermants)__
    [\w.?!](')(?:[   ]|$)  @@*
................................................................................
__[i]/ocr(ocr_le_la_les_regex)__
    [1[\]][easrnxiocuwàéè]
        <<- \0.endswith("e") ->> le                                                                 && Erreur de numérisation ?
        <<- __else__ and \0.endswith("a") ->> la                                                    && Erreur de numérisation ?
        <<- __else__ and \0.endswith("à") ->> la|là                                                 && Erreur de numérisation ?
        <<- __else__ ->> le|la                                                                      && Erreur de numérisation ?

TEST: __ocr__ avec {{1e}} chien du policier                                                 ->> le
TEST: __ocr__ il le jura sur {{1a}} tête de sa mère                                         ->> la
TEST: __ocr__ {{]à}}                                                                        ->> la|là
TEST: __ocr__ {{1c}} chat du voinsin est idiot                                              ->> le|la

TEST: __ocr__ oui, {{[e}} chien a faim                                                      ->> le


__[i]/conf(conf_1e_1a_1es)__
    [1[\]][ea]s?
        <<- \0.endswith("e") and (morph(word(1), ":(?:[NA].*:[me]:[si]|V)", ":G") or morph(word(-1), ">ne/")) ->> le       && Erreur de frappe ?
        <<- \0.endswith("a") and (morph(word(1), ":(?:[NA].*:[fe]:[si]|V)", ":G") or morph(word(-1), ">ne/")) ->> la       && Erreur de frappe ?
        <<- \0.endswith("es") and (morph(word(1), ":(?:[NA].*:[pi]|V)", ":G") or morph(word(-1), ">ne/")) ->> les          && Erreur de frappe ?

TEST: {{1e}} marginal                                           ->> le
TEST: {{1a}} venue des problèmes                                ->> la
TEST: {{1es}} enfants sont au lit                               ->> les
TEST: Je… ne {{1e}}… crois pas…                                 ->> le


__[i]/ocr(ocr_les)__
    [1[\]][ea]s
        <<- ->> les                                                                                 && Erreur de numérisation ?

TEST: __ocr__ {{1es}} jours clairs
................................................................................
    La Bruyère
    La Fayette
    La Fontaine
        <<- ~>> ␣
        <<- =>> define(\1, ":M2:e:i")

    cac  40
    Rio grande
        <<- ~>> ␣
        <<- =>> define(\1, ":N:m:i")

    France [2|3|4|5|0|O]
        <<- ~>> ␣
        <<- =>> define(\1, ":MP:e:i")

    Peugeot  ~^\d0\d\d?$
        <<- ~>> ␣
        <<- =>> define(\1, ":N:e:i")

    Mai 68
        <<- ~>> ␣
................................................................................

# avec / aven / arec
__ocr_avec__
    [arec|aven]
        <<- /ocr/ ->> avec                                                                          && Erreur de numérisation ?

TEST: __ocr__ Elle s’en alla {{arec}} eux sans un regard en arrière.


# avaient / avalent
__ocr_avaient__
    avalent
        <<- /ocr/ ->> avaient                                                                       && Erreur de numérisation ?

TEST: __ocr__ Ils {{avalent}} très faim.
................................................................................
!!!! Élisions & euphonie                                                                          !!
!!
!!

# élisions
__eleu_élisions_manquantes__
    [le|la|de]  ~^[aâeéèêiîoôuûyœæh].
        <<- /eleu/ space_after(\1, 1, 1) and not re.search("(?i)^(?:I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2) and morph(\2, ":", ":G|;é")
        -1:.2>> =\1[0:1]+"’"                                                && Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision

    si [il|ils]
        <<- /eleu/ space_after(\1, 1, 1) -1:.2>> s’                         && Il faut élider “si” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision

    que [il|ils|elle|elles|on|iel|iels]
        <<- /eleu/ space_after(\1, 1, 1) -1:.2>> qu’                        && Il faut élider “que” et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision
................................................................................
TEST: {{l’}}hulotte                                                         ->> la
TEST: combien {{d’}}iourtes                                                 ->> de


# ce -> cet
__eleu_euphonie_cet__
    ce  ~^[aâeéèêiîoôuûyœæ]
        <<- /eleu/ not re.search("(?i)^(?:I(?:I|V|X|er|ᵉʳ))", \2) and morph(\2, ":[NA].*:[me]", ":G|;é")
        -1>> cet                                                                && Euphonie : “ce” devient “cet” devant un mot commençant par une voyelle.|https://fr.wikipedia.org/wiki/Euphonie

TEST: {{ce}} animal est dangereux
TEST: ce yacht


# Verbe 1ʳᵉ personne du singulier, interrogatif… xxxé-je
................................................................................
TEST: pensé-je
TEST: souhaitè-je


# ma, ta, sa / mon, ton, son
__eleu_euphonie_ma_ta_sa__
    [ma|ta]  ~^[aâeéèêiîoôuûyœæ].
        <<- /eleu/ morph(\2, ":[NA]", ":G|;é") and not re.search("(?i)^(?:I(?:I|V|X|i?[eè]?re|ʳᵉ))", \2)
        -1>> =\1[0:1]+"on"                                                      && Euphonie : lorsque le déterminant “\1” est suivi d’un nom ou d’un adjectif commençant par une voyelle, il est d’usage d’utiliser le pronom  “mon”, “ton” ou “son” pour respecter l’euphonie. Exemple : mon étoile (féminin).|https://fr.wikipedia.org/wiki/Euphonie

    sa  ~^[aâeéèêiîoôuûyœæ].
        <<- /eleu/ not \1.isupper() and morph(\2, ":[NA]", ":G|;é") and not re.search("(?i)^(?:I(?:I|V|X|i?[eè]?re|ʳᵉ))", \2) >>>
        <<- /eleu/ morph(\2, ":[123][sp]") -1>> =\1[0:1]+"on|ça"                && Euphonie : lorsque le déterminant “\1” est suivi d’un nom ou d’un adjectif commençant par une voyelle, il est d’usage d’utiliser le pronom  “mon”, “ton” ou “son” pour respecter l’euphonie. (À moins que vous ne confondiez “sa” et “ça”.) Exemple : son étoile (féminin), ça existe.|https://fr.wikipedia.org/wiki/Euphonie
        <<- /eleu/ __else__ -1>> =\1[0:1]+"on"                                  && Euphonie : lorsque le déterminant “\1” est suivi d’un nom ou d’un adjectif commençant par une voyelle, il est d’usage d’utiliser le pronom  “mon”, “ton” ou “son” pour respecter l’euphonie. Exemple : son étoile (féminin).|https://fr.wikipedia.org/wiki/Euphonie

TEST: {{ta}} aimée                                              ->> ton
TEST: {{ma}} obligée                                            ->> mon
TEST: {{sa}} œuvre                                              ->> son|ça
TEST: {{sa}} existence                                          ->> son
................................................................................

    in anima vili
    in cauda venenum
    in vino veritas
    sursum corda
    sic transit gloria mundi
        <<- ~>> ␣
        <<- =>> define(\1, ":LP")


__purge_locutions_incises__
    [<start>|,|(] [oui|non] [<end>|,|)]
    [<start>|,|(] ?oui¿ ou non [<end>|,|)]
    [<start>|,|(] et non l’ inverse [<end>|,|)]
    [<start>|,|(] fait remarquable [<end>|,|)]
    [<start>|,|(] entre autres ?choses¿ [<end>|,|)]
    [<start>|,|(] mieux encore [<end>|,|)]
    [<start>|,|(] n’ est-ce pas [<end>|)]
        <<- ~2:-2>> *


__purge_locutions_distance__
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] [de|d’] [distance|ici]
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] en [amont|aval]
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] plus loin
    à ?seulement¿ [*NUM|$:B:e:p|quelques|plusieurs] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] à la ronde
................................................................................



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: intergraphe12a|ig12a                                                                    _
@@@@
@@@@
@@@@
@@@@

__da_le_montre__
    le  montre  $:D
................................................................................
        <<- morph(\1, ":[123]p") or (\1 == "fait" and value(<1, "|on|")) ~2>> *


# tous / tout / toute / toutes
__purge_tout_tout_tous_toutes__
    tout                    [le|ce|cet|mon|ton|son]
    toute                   [la|cette|ma|ta|sa]
    [tous|toutes|tout·e·s]  [les|des|mes|tes|ses|ces|nos|vos|leurs]
        <<- ~1>> *

    /-on        [tous|toutes]
    /-nous      [tous|toutes]
    /-vous      [tous|toutes]
    /-ils       [tous|toutes]
    /-elles     [tous|toutes]
    /-iel       [tous|toutes|tout·e·s]
    /-iels      [tous|toutes|tout·e·s]
        <<- ~2>> *

    *WORD       [tous|toutes|tout·e·s]
        <<- morph(\1, ":[123]p") ~2>> *

    on  ?[ne|n’]¿  ?[le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ?[le|la|l’|les|en|y|lui|leur]¿  *WORD  [tous|toutes|tout·e·s]
        <<- morph(\-2, ":[123]s") ~-1>> *

    [tous|toutes] , sans >exception ,
        <<- ~2:0>> *


@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: intergraphe12b|ig12b                                                                    _
@@@@
@@@@
@@@@
@@@@


__fusions_enum_noms_communs__
................................................................................
    iels            [seuls|seules]
        <<- ~2>> *

    nous    [tous|toutes]   qui
    vous    [tous|toutes]   qui
    eux     tous            qui
    elles   toutes          qui
    iels    tout·e·s        qui
        <<- ~2>> *

TODO: comme


__purge_pronoms_après_sujet_verbe__
    [j’|je]     ?[ne|n’]¿   >avoir      moi-même
................................................................................



@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: prégraphe_gv1|pg_gv1                                                                    _
@@@@
@@@@
@@@@
@@@@

__da_été2__
    >avoir été