Grammalecte  Check-in [845ec10361]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[fr] nr: tirets et espaces, + ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256:845ec10361d51d517b3914424f82b51a7ace677ae5f6d28e1fe00e88d5c838ce
User & Date: olr 2019-04-28 22:43:20
Context
2019-04-29
13:19
[fr] pt: ajustements check-in: 65c2f8fd3c user: olr tags: fr, trunk
2019-04-28
22:43
[fr] nr: tirets et espaces, + ajustements check-in: 845ec10361 user: olr tags: fr, trunk
18:36
[fr] faux positif et ajustement check-in: b9570577e6 user: olr tags: fr, trunk
Changes

Changes to gc_lang/fr/rules.grx.

1
2
3
4
5
6
7
8
9
10
11
12
...
370
371
372
373
374
375
376






















377
378
379
380
381
382
383
...
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
...
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
.....
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
.....
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
.....
19358
19359
19360
19361
19362
19363
19364


19365
19366
19367
19368
19369
19370
19371
#
#   RÈGLES DE GRAMMAIRE FRANÇAISE POUR GRAMMALECTE
#   par Olivier R.
#
#   Copyright © 2011-2018.
#
#   This file is part of Grammalecte.
#
#   Grammalecte is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
................................................................................

# Espaces insécables multiples
__<s>/esp(esp_insécables_multiples)__   "[  ][  ]+" <<- ->> " | "                                   # Espace(s) insécable(s) surnuméraire(s) à supprimer.

TEST: «{{  }}Je suis partie. »
TEST: « Je suis partie.{{  }}»
























# Espaces et crochets et parenthèses
__<s>/typo(typo_espace_après_signe_ouvrant)__    "([\[(]) "  @@0 <<- ->> \1                         # Pas d’espace après ce signe.
__<s>/typo(typo_espace_avant_signe_fermant)__    " ([\])])"  <js> ([\]\)])</js>  @@1  <<- ->> \1    # Pas d’espace avant ce signe.

TEST: c’est pas trop tôt {{( }}on a failli attendre).
TEST: blabla … {{[ }}crochets]                                            ->> [
................................................................................
__<s>/typo(typo_virgule_collée_à_mot_suivant)__  "[  ],(?=\w)"  <<- ->> ", "                        # Pas d’espace avant une virgule. Un espace après.

TEST: Merde{{ ,}}ça fait chier.
TEST: Eh oui{{ ,}} c’est encore moi.


# Guillemets et espaces
__<s>/typo(typo_guillemets_fermants_perdus)__   [  ]”[  ] <<- ->> "” | “"                           # Pas d’espace avant ces guillemets ouvrants.
__<s>/typo(typo_guillemets_ouvrants_perdus)__   [  ]“[  ]  <<- ->> " “|” "                          # Pas d’espace après ces guillemets ouvrants.
__<s>/typo(typo_guillemets_perdus)__            [   ](?:"|['‘’]['‘’])[   ]  <<- ->> " « | » | “|” " # Guillemets isolés.
__<s>/typo(typo_commencement_guillemets)__      ^(?:"|['‘’]['‘’])[   ]  <<- ->> « |“                # Guillemets ouvrants.
__<s>/typo(typo_guillemets_fin)__           ([   ](?:"|['‘’]['‘’]))(?:$|[.,;?!])  <<- -1>> " »|”"   # Guillemets fermants.

TEST: Bon sang, c’en est trop à présent. Vos prétendues “excuses{{ ” }}ne trompent personne !
TEST: Bon sang, c’en est trop à présent. Vos prétendues{{ “ }}excuses” ne trompent personne !
TEST: Encore des guillemets{{ ‘’ }}dont on ne sait que faire.
TEST: {{" }}Ça suffit.{{ "}}
TEST: {{" }}Mangez{{ "}}, déclara-t-elle.

................................................................................

# parenthèses
__[s](points_suspension_entre_parenthèses)__
    \(…\)
    <<- ->> […]                 # Pour indiquer une troncature de texte, on utilise usuellement des crochets.
    <<- ~>> *
__<i>(p_préfixes_entre_parenthèses)__
    " (\(re\))\w+"  @@1
        <<- ~1>> *

TEST: par {{O.R.}}                                          ->> OR|O. R.
TEST: l’{{A.N.P.E.}} n’existe plus
TEST: ce chien […] ne {{semblez}} pas en forme.
TEST: ce chat {{(…)}} ne {{ressemblez}} pas aux autres.
TEST: les tests de la version 3.17.8 {{commence}} demain.
................................................................................
__da_été__
    >avoir été
        <<- =>> select(\2, ":Q")


__purge_subst_plur_comme_nom_sing__
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿         @:3p
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       [ne|n’]     [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]     @:3p
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]          @:3p
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]              @:3p
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’]¿   [lui|leur|y]                    en                           @:3p
        <<- morph(\2, ":[NA].*:[pi]") and morph(\5, ":[NA].*:[si]") ~3:5>> *


__purge_ponctuations2__
    ,   ,
    (   )
    [   ]
................................................................................
    <start>  ,
        <<- ~2>> *

    ,  <end>
        <<- ~1>> *


TEST: ils vont de manière non conventionnelle {{fêtée}} leur réussite.
TEST: ils vont de manière absurde {{arrivé}} au résultat inverse à leurs espérances
TEST: les hommes comme notre protecteur étaient redoutables
TEST: tandis que d’autres perçoivent le bon goût de la soupe.
TEST: Je me doute bien que vous avez trouvé la réponse.
TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire.
TEST: Notre but n’était pas de devenir célèbres.
TEST: sans qu’on ait à le lui ordonner
TEST: Les messages envoyés à toto@toto.fr seront transmis à Roger.
................................................................................
TEST: elle préférait {{mangée}} seule.
TEST: Il venait, comme d’habitude, {{discuté}} avec son ami.
TEST: Ces types-là venaient {{mangé}} chez moi tous les dimanches.
TEST: ils viennent bien entendu {{attaqué}} le parlement
TEST: ils vont par voie de conséquence vraiment {{attaqué}} la banque
TEST: elles ont pu {{mangé}}
TEST: Cette affaire ne va rien {{arrangé}}.


TEST: Elles étaient venues armées.
TEST: Il vint déguisé en mousquetaire.
TEST: D’ailleurs j’irai armé.
TEST: J’irai armé de mon épée.
TEST: Si possible, venez accompagné.






|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|



|







 







|







 







|

|

|

|

|







 







<
<







 







>
>







1
2
3
4
5
6
7
8
9
10
11
12
...
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
...
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
...
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
.....
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
.....
16255
16256
16257
16258
16259
16260
16261


16262
16263
16264
16265
16266
16267
16268
.....
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
#
#   RÈGLES DE GRAMMAIRE FRANÇAISE POUR GRAMMALECTE
#   par Olivier R.
#
#   Copyright © 2011-2019.
#
#   This file is part of Grammalecte.
#
#   Grammalecte is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
................................................................................

# Espaces insécables multiples
__<s>/esp(esp_insécables_multiples)__   "[  ][  ]+" <<- ->> " | "                                   # Espace(s) insécable(s) surnuméraire(s) à supprimer.

TEST: «{{  }}Je suis partie. »
TEST: « Je suis partie.{{  }}»


# Espace avant ou après tiret
__[i]/esp(esp_avant_après_tiret)__
    ({w_1})( [-–—]|[-–—] )({w_1})  @@0,**,$
        <<- not \1.endswith("-t") and \3 != "t" >>>
        <<- (\3 == "je" and morph(\1, ":1s"))
            or (\3 == "tu" and morph(\1, ":2s"))
            or (\3 == "il" and morph(\1, ":3s"))
            or (\3 == "elle" and morph(\1, ":3s"))
            or (\3 == "on" and morph(\1, ":3s"))
            or (\3 == "nous" and morph(\1, ":1p"))
            or (\3 == "vous" and morph(\1, ":2P"))
            or (\3 == "ils" and morph(\1, ":3p"))
            or (\3 == "elles" and morph(\1, ":3p"))
        ->> \1-\3|\1 – \3|\1 — \3           # Espace superflu s’il s’agit bien d’une forme conjuguée interrogative (sinon, il manque un espace à côté du tiret).
        <<- __else__ -2>> " – | — "         # Il manque un espace à côté du tiret.

TEST: Le {{faut -il}} ?             ->> faut-il|faut – il|faut — il
TEST: qu’y {{puis -je}} ?           ->> puis-je|puis – je|puis — je
TEST: Le {{faut -il}} ?             ->> faut-il|faut – il|faut — il
TEST: qu’y {{puis -je}} ?           ->> puis-je|puis – je|puis — je


# Espaces et crochets et parenthèses
__<s>/typo(typo_espace_après_signe_ouvrant)__    "([\[(]) "  @@0 <<- ->> \1                         # Pas d’espace après ce signe.
__<s>/typo(typo_espace_avant_signe_fermant)__    " ([\])])"  <js> ([\]\)])</js>  @@1  <<- ->> \1    # Pas d’espace avant ce signe.

TEST: c’est pas trop tôt {{( }}on a failli attendre).
TEST: blabla … {{[ }}crochets]                                            ->> [
................................................................................
__<s>/typo(typo_virgule_collée_à_mot_suivant)__  "[  ],(?=\w)"  <<- ->> ", "                        # Pas d’espace avant une virgule. Un espace après.

TEST: Merde{{ ,}}ça fait chier.
TEST: Eh oui{{ ,}} c’est encore moi.


# Guillemets et espaces
__<s>/typo(typo_guillemets_fermants_perdus)__   [  ]”[  ]  <<- ->> "” | “"                          # Pas d’espace avant ces guillemets ouvrants.
__<s>/typo(typo_guillemets_ouvrants_perdus)__   [  ]“[  ]  <<- ->> " “|” "                          # Pas d’espace après ces guillemets ouvrants.
__<s>/typo(typo_guillemets_perdus)__            [   ](?:"|['‘’]['‘’])[   ]  <<- ->> " « | » | “|” " # Guillemets isolés.
__<s>/typo(typo_commencement_guillemets)__      ^(?:"|['‘’]['‘’])[   ]  <<- ->> « |“                # Guillemets ouvrants.
__<s>/typo(typo_guillemets_fin)__       ([   ](?:"|['‘’]['‘’]))(?:$|[.,;?!])  @@0  <<- -1>> " »|”"  # Guillemets fermants.

TEST: Bon sang, c’en est trop à présent. Vos prétendues “excuses{{ ” }}ne trompent personne !
TEST: Bon sang, c’en est trop à présent. Vos prétendues{{ “ }}excuses” ne trompent personne !
TEST: Encore des guillemets{{ ‘’ }}dont on ne sait que faire.
TEST: {{" }}Ça suffit.{{ "}}
TEST: {{" }}Mangez{{ "}}, déclara-t-elle.

................................................................................

# parenthèses
__[s](points_suspension_entre_parenthèses)__
    \(…\)
    <<- ->> […]                 # Pour indiquer une troncature de texte, on utilise usuellement des crochets.
    <<- ~>> *
__<i>(p_préfixes_entre_parenthèses)__
    " (\(r[eé]\))\w+"  @@1
        <<- ~1>> *

TEST: par {{O.R.}}                                          ->> OR|O. R.
TEST: l’{{A.N.P.E.}} n’existe plus
TEST: ce chien […] ne {{semblez}} pas en forme.
TEST: ce chat {{(…)}} ne {{ressemblez}} pas aux autres.
TEST: les tests de la version 3.17.8 {{commence}} demain.
................................................................................
__da_été__
    >avoir été
        <<- =>> select(\2, ":Q")


__purge_subst_plur_comme_nom_sing__
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿         @:3p¬:G
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       [ne|n’]     [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]     @:3p¬:G
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’]¿   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]          @:3p¬:G
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’]¿   [le|la|l’|les]                  [lui|leur|en|y]              @:3p¬:G
    [les|des|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines]  *WORD
        ||  comme  [le|un|une|ce|mon|ton|son|notre|votre|leur]  *WORD                       ?[ne|n’]¿   [lui|leur|y]                    en                           @:3p¬:G
        <<- morph(\2, ":[NA].*:[pi]") and morph(\5, ":[NA].*:[si]") ~3:5>> *


__purge_ponctuations2__
    ,   ,
    (   )
    [   ]
................................................................................
    <start>  ,
        <<- ~2>> *

    ,  <end>
        <<- ~1>> *




TEST: les hommes comme notre protecteur étaient redoutables
TEST: tandis que d’autres perçoivent le bon goût de la soupe.
TEST: Je me doute bien que vous avez trouvé la réponse.
TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire.
TEST: Notre but n’était pas de devenir célèbres.
TEST: sans qu’on ait à le lui ordonner
TEST: Les messages envoyés à toto@toto.fr seront transmis à Roger.
................................................................................
TEST: elle préférait {{mangée}} seule.
TEST: Il venait, comme d’habitude, {{discuté}} avec son ami.
TEST: Ces types-là venaient {{mangé}} chez moi tous les dimanches.
TEST: ils viennent bien entendu {{attaqué}} le parlement
TEST: ils vont par voie de conséquence vraiment {{attaqué}} la banque
TEST: elles ont pu {{mangé}}
TEST: Cette affaire ne va rien {{arrangé}}.
TEST: ils vont de manière non conventionnelle {{fêtée}} leur réussite.
TEST: ils vont de manière absurde {{arrivé}} au résultat inverse à leurs espérances
TEST: Elles étaient venues armées.
TEST: Il vint déguisé en mousquetaire.
TEST: D’ailleurs j’irai armé.
TEST: J’irai armé de mon épée.
TEST: Si possible, venez accompagné.