Grammalecte  Check-in [3c16ca9eaf]

Overview
Comment:[fr] ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 3c16ca9eafcf1eb2ddabeed72a0be3ebb3dc2ce634ab7db7f43b3b6f1b0860fa
User & Date: olr on 2020-10-06 10:53:44
Other Links: manifest | tags
Context
2020-10-06
11:57
[fr] mise à jour du dictionnaire check-in: b13a47d1dc user: olr tags: trunk, fr
10:53
[fr] ajustements check-in: 3c16ca9eaf user: olr tags: trunk, fr
2020-10-05
20:16
[build] function meta() check-in: a20d95cfb6 user: olr tags: trunk, build
Changes

Modified gc_lang/fr/rules.grx from [7056f0f808] to [7c022e831d].

703
704
705
706
707
708
709
710

711
712
713
714
715
716
717
718

719
720
721
722
723
724
725
703
704
705
706
707
708
709

710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726







-
+








+







        <<- -1>> " »|”"                                                                             && Guillemets typographiques fermants.

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


__<s>/typo(typo_guillemets_typographiques_simples_doubles_ouvrants)__
    (?:^|[ –—-])(['’]['’])(?=\w)  @@*
    (?:^|[ –—-])(['’]['’])(?=\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.?!](')(?:[   ]|$)  @@*
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
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







-
-
-
-
+
+
+
+
+











-
+







__[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
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…
TEST: Je… ne {{1e}}… crois pas…                                 ->> le


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

TEST: __ocr__ {{1es}} jours clairs
2348
2349
2350
2351
2352
2353
2354

2355

2356
2357
2358

2359
2360
2361
2362
2363
2364
2365
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370







+

+



+







    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
        <<- ~>> ␣
2945
2946
2947
2948
2949
2950
2951

2952
2953
2954
2955
2956
2957
2958
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964







+








# 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.
3794
3795
3796
3797
3798
3799
3800
3801

3802
3803
3804
3805
3806
3807
3808
3800
3801
3802
3803
3804
3805
3806

3807
3808
3809
3810
3811
3812
3813
3814







-
+







!!!! É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|;é")
        <<- /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
3842
3843
3844
3845
3846
3847
3848
3849

3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870

3871
3872
3873
3874

3875
3876
3877
3878
3879
3880
3881
3848
3849
3850
3851
3852
3853
3854

3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875

3876
3877
3878
3879

3880
3881
3882
3883
3884
3885
3886
3887







-
+




















-
+



-
+







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]")
        <<- /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
__eleu_é_je__
    /-je
        <<- /eleu/ morphVC(\1, "V1.*:1s") and \1.endswith("e-je") ->> =\1.replace("e-je", "é-je")+"|"+\1.replace("e-je", "è-je")
        && Euphonie. Pour les verbes finissant par “e” à l’interrogatif à la 1ʳᵉ personne du singulier, mettez un accent aigu ou grave sur le “e” final. Exemple : “pensé-je” (présent), à ne pas confondre avec “pensais-je” (imparfait).|https://fr.wikipedia.org/wiki/Euphonie

TEST: {{pense-je}}                                                                      ->> pensé-je|pensè-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)
        <<- /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]") and not re.search("(?i)^(?:onz|énième|ouf|énième|I(?:I|V|X|i?[eè]?re|ʳᵉ))", \2) >>>
        <<- /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
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
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







-
+










-
+








    in anima vili
    in cauda venenum
    in vino veritas
    sursum corda
    sic transit gloria mundi
        <<- ~>> ␣
        <<- =>> =define(\1, ":LP")
        <<- =>> 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>>*
        <<- ~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
17362
17363
17364
17365
17366
17367
17368
17369

17370
17371
17372
17373
17374
17375
17376
17368
17369
17370
17371
17372
17373
17374

17375
17376
17377
17378
17379
17380
17381
17382







-
+










@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: purge_passe2|pp2                                                                        _
@@@@GRAPH: intergraphe12a|ig12a                                                                    _
@@@@
@@@@
@@@@
@@@@

__da_le_montre__
    le  montre  $:D
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
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







-
+







-
-
+
+


-
+


-
+










-
+







        <<- 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]
    [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]
    /-iel       [tous|toutes|tout·e·s]
    /-iels      [tous|toutes|tout·e·s]
        <<- ~2>> *

    *WORD       [tous|toutes|tout_e_s]
    *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]
    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                                                                        _
@@@@GRAPH: intergraphe12b|ig12b                                                                    _
@@@@
@@@@
@@@@
@@@@


__fusions_enum_noms_communs__
24646
24647
24648
24649
24650
24651
24652
24653

24654
24655
24656
24657
24658
24659
24660
24652
24653
24654
24655
24656
24657
24658

24659
24660
24661
24662
24663
24664
24665
24666







-
+







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

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

TODO: comme


__purge_pronoms_après_sujet_verbe__
    [j’|je]     ?[ne|n’]¿   >avoir      moi-même
25095
25096
25097
25098
25099
25100
25101
25102

25103
25104
25105
25106
25107
25108
25109
25101
25102
25103
25104
25105
25106
25107

25108
25109
25110
25111
25112
25113
25114
25115







-
+










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

__da_été2__
    >avoir été