Grammalecte  Check-in [c1c1ac5e30]

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: c1c1ac5e3086b4d37976e5c8a19791e96f19e3bfe2be764b4c24c9f8fc44d306
User & Date: olr on 2018-08-06 16:27:41
Other Links: branch diff | manifest | tags
Context
2018-08-06
19:59
[fr] conversion: regex rules -> graph rules check-in: dc7c85fc4b user: olr tags: fr, rg
16:27
[fr] conversion: regex rules -> graph rules check-in: c1c1ac5e30 user: olr tags: fr, rg
16:27
[core][bug] gc engine: text processor, fix group selection check-in: a86d8ca64f user: olr tags: core, rg
Changes

Modified gc_lang/fr/rules.grx from [2900e819ed] to [74af285156].

3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
....
7163
7164
7165
7166
7167
7168
7169



















7170
7171
7172
7173
7174
7175
7176
....
9233
9234
9235
9236
9237
9238
9239



9240
9241
9242
9243
9244
9245
9246
....
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
.....
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
.....
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
.....
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381











12382
12383



12384
12385
12386
12387
12388
12389
12390
.....
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
.....
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632















































































12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655


12656
12657
12658
12659
12660

12661
12662
12663
12664
12665
12666
12667
.....
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
.....
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
TEST: A devient notre meilleure chance d’y parvenir.



!!!! Accentuation des majuscules                                                                  !!

__maj_accents__
    [Etat|Etats|Eglise|Eglises|Ecole|Ecoles|Economie|Equipe|Equipes|Electricité|Electrique|Egalité|Element|Eté|Epouse|Epouses]
        <<- ->> ="É"+\1[1:]                                                                         # Accentuez les majuscules.
        <<- ~>> ="É"+\1[1:]

TEST: Le budget de l’{{Etat}}.



!!!
................................................................................
TEST: Ne pas te le donner, ce serait une insulte.
TEST: ne jamais vraiment évoquer le sujet
TEST: déterminés à ne pas se laisser récupérer
TEST: de ne pas en élire du tout
TEST: Mais gare à ne pas non plus trop surestimer la menace
TEST: ne jamais beaucoup bosser, c’est sa devise.





















__imp_ne_infinitif_negadv__
    [<start>|,]  [ne|n’]  @:V1.*:Y  [pas|plus|jamais]
        <<- /imp/ -3>> =suggVerbTense(\3, ":E", ":2p")                                              # Confusion probable : “\1” est un verbe à l’infinitif. Si vous vouliez utiliser l’impératif, écrivez :

TEST: Non, ne {{manger}} pas ça.                                    ->> mangez
TEST: Ne {{donner}} jamais à manger ces saloperies au chat.         ->> donnez
................................................................................
        <<- ~2>> *

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


__purge_locutions_potentielles__



    à [mes|tes|ses|nos|vos|leurs] yeux  @¬:A.*:[me]:[pi]
        <<- ~1:3>> *

    à la dernière [minute|seconde]  @¬:A.*:[fe]:[si]
        <<- ~1:4>> *

    à l’ époque  @¬:A.*:[fe]:[si]
................................................................................
#


!!!! Redondances dans la phrase                                                                   !!

__[i]/redon2(redondances_phrase)__
    ({w_4})[ ,].* (\1)  @@0,$
    <<- not morph(\1, ":(?:G|V0)|>même/", False) -2>> _             # Dans cette phrase, répétition de « \1 » (à gauche).
    <<- __also__ -1>> _                                             # Dans cette phrase, répétition de « \1 » (à droite).

TEST: __redon2__ Quelle {{imposture}}, c’est d’un ennui, c’est une {{imposture}}.
TEST: __redon2__ ils sont là côte à côte.
TEST: __redon2__ Tu avances petit à petit, et tu réussis.
TEST: __redon2__ De loin en loin, elle passe.
TEST: __redon2__ Les mêmes causes produisent/produisant les mêmes effets. (répétition)

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

    >pâte d’ >amende
        <<- /conf/ -3>> amandes                         # Confusion. Une amende est une peine. Le fruit s’écrit “amande”.

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              # Confusion. L’amande est un fruit.

    [/-je|/-tu|/-il|/-elle|/-nous|/-vous|/-ils|/-elles] >amande >honorable
        <<- /conf/ morphVC(\1, ">faire") -2:3>> amende honorable        # Confusion. L’amande est un fruit.

TEST: Avec ses beaux yeux en {{amendes}} nul ne peut lui résister.
TEST: Nous avons déconné, nous avons été mis à l’{{amande}}.
TEST: Ces gens-là ne feront jamais {{amande honorable}}.
TEST: achète de la pâte d’{{amende}}

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

!!
!!
!!!! Infinitif                                                                                    !!
!!
!!


__infi_à_verbe__
    à  [le|la|l’|leur|les]           (@:V¬:[YNAM]|>(?:lui|plus)/)
    [<start>|,]  à  [nous|vous|lui]  (@:V¬[YE]|>(?:lui|plus)/)
        <<- /infi/ \1.islower() -1>> =suggVerbInfi(\1)                                  # Erreur probable. Après le pronom “à”, le verbe devrait être à l’infinitif.

    à  [ne|n’|en|me|m’|te|t’|se|s’|y]                                       (@:V¬:Y|>(?:lui|plus)/)
    à  [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    (@:V¬:Y|>(?:lui|plus)/)
................................................................................

    [de|d’] [ne|n’|en|me|m’|te|t’|se|s’|y]                                       (@:V¬:Y|>(?:lui|plus)/)
    [de|d’] [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    (@:V¬:Y|>(?:lui|plus)/)
    [de|d’] ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        (@:V¬:Y)
    [de|d’] ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            (@:V¬:Y)
    [de|d’] ?[ne|n’]¿  [lui|leur]                     en                         (@:V¬:Y)
        <<- /infi/ -1>> =suggVerbInfi(\1)                                               # Après “de”, le verbe devrait être à l’infinitif.

TEST: d’en {{parlé}} sans cesse
TEST: cela suffit de les {{aimait}}
TEST: de ne leur en {{avancé}} que le nécessaire.
TEST: de l’y {{poussé}}
TEST: elle s’engage de ne les lui donner qu’en dernier recours.
TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: de leur plus grand fils, ils attendent beaucoup.


    [de|d’]  @:V1.*:Q¬:N
        <<- /infi/ not \2[0:1].isupper()
            and not before(r"(?i)\b(?:quelqu(?:e chose|’une?)|(?:l(es?|a)|nous|vous|me|te|se) trait|personne|point +$|rien(?: +[a-zéèêâîûù]+|) +$)")
        -2>> =suggVerbInfi(\2)                                                          # Le verbe devrait être à l’infinitif.












TEST: Il tentait de {{raisonné}} en homme libre
TEST: sa façon de {{nettoyez}} était inefficace.





__infi_y_verbe!3__
    y ~ée?s?$
        <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _                                 # Le verbe ne devrait pas être un participe passé.

TEST: y {{mangée}} était un supplice
................................................................................
    [>cesser|>décider|>défendre|>suggérer|>commander|>essayer|>tenter|>choisir|>permettre|>interdire]  ?[pas|plus|point|guère|jamais]¿  [de|d’]  (*WORD)
        <<- /infi/ analyse(\1, ":(?:V1.*:(?:Q|2p)|[123][sp])", ":(?:M|Oo)")
        -1>> =suggVerbInfi(\1)                                                          # Le verbe devrait être à l’infinitif.

TEST: cessez d’{{anesthésié}} ces gens !


#       [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]
#       ?[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


## INFINITIFS ERRONÉS

__infi_infinitifs_erronés__
    <start>  [le|un|ce|cet|mon|ton|son|quel]  *WORD  @:V1.*:Y¬:[NM]  [ne|n’|me|m’|te|t’|se|s’]
    <start>  [le|un|ce|cet|mon|ton|son|quel]  *WORD  @:V1.*:Y¬:[NM]  @:[123][sp]
        <<- /infi/ morph(\3, ":N.*:m:[si]", ":G|>verbe/")
................................................................................
__conj_participe_présent__
    [ne|lui|me|te|se|nous|vous]  ~ants$
        <<- /infi/ morph(\2, ":A") -2>> =\2[:-1]                                        # Un participe présent est invariable.|http://fr.wiktionary.org/wiki/participe_pr%C3%A9sent

TEST: nous {{épuisants}} à la tâche pour des clopinettes, nous défaillîmes.



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





!!!
!!!
!!! Processeur: simplification des substantifs                                                    !!
!!!
!!!

### @ : we remove @ we introduced after le/la/les in some cases
#__<s>(p_arobase)__      @ <<- ~>> *

### Avant les verbes (ôter seulement les COI!)
__[i](p_ne_leur_lui)__  ne (leur|lui)(?! en) @@3 <<- ~1>> *

### Après les verbes
__[i](p_jamais2)__      jamais <<- ~>> *
#__[i](p_guère)__        guère <<- ~>> *
__[i](p_pas_point_rien_bien_ensemble1)__
    ({w1}) (pas|point|rien|bien|ensemble) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_pas_point_rien_bien_ensemble2)__
    \w+-(?:je|tu|ils?|elles?|on|[nv]ous) (pas|point|rien|bien|ensemble) @@$ <<- ~1>> *

# sembler le croire/penser/présumer/supposer/envisager/imaginer
__[i](p_que_semble_le_penser)__
    que +(sembl\w+) +(l(?:e (?:penser|croire|présumer|supposer)|’(?:envisager|imaginer))) @@w,$
    <<- morph(\1, ">sembler/", False) ~2>> *


### Simplification des groupes nominaux

# désambiguïsation - pour contrer le faux positif qui veut accorder fois avec le participe passé de la proposition suivante
__[s](p_fois_que)__         (fois )que? @@0 <<- ~1>> fois=
__[i](p_que_l_on)__         que (l’)on  @@4 <<- ~1>> *


__[i](p_beaucoup_de_monde_temps)__  beaucoup (de (?:monde|temps)) @@9 <<- ~1>> _
__[i](p_en_plein_xxx)__             en pleine? ({w_2}) @@$ <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
__[i](p_en_tant_que_tel)__          en tant que tel(?:s|lles?|) <<- ~>> *

# de +
__[i](p_de_vinfi)__
    d(?:e |’)({infi}) @@$
    <<- morphex(\1, ":V[123]_i", ">(?:devenir|rester|demeurer)/") and isNextNotCOD() ~>> *
__[i](p_de_manière_façon_xxx_et_xxx)__
    de (?:manière|façon) +(?:non +|)({w_2}) +et +(?:non +|)({w_2})  @@w,$
    <<- morph(\1, ":A", False) and morphex(\2, ":A", ":[GM]") ~>> *
__[i](p_de_manière_façon)__
    de (?:manière|façon) +(?:non +|)({w_2})  @@$
    <<- morph(\1, ":A", False) ~>> *
__[i](p_de_nom_adj)__
    d(?:e +|’)({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":[NAQ].*:s", False) and morphex(\2, ":[NAQ].*:s", ":[GV]") and isEndOfNG() ~>> *

__[i](p_det_nom_adj_nom_adj)__
    (?:les? |la |l’|des |ce(?:s|tte|t|) |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques |aux? ) *({w2}) +({w2})  @@w,$
    <<- morphex(\1, ":[NAQ]", ":V0") and morphex(\2, ":[NAQ]", ":(?:G|[123][sp]|P)")
    ~2>> *

__[i](p_aucun_de_pronom)__      aucune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_aucun_des_xxx_ne)__     aucune? +(des +{w_2}) +ne? @@w <<- ~1>> *
__[i](p_chacun_de_pronom)__     chacune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_l_un_de_pronom)__       l’une? (de [nv]ous|des [nv]ôtres|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_la_plupart_des_xxx)__   la plupart (des {w_2}) @@11 <<- ~1>> *

# groupe déjà partiellement simplifié (selon les règles de la passe 3)
__[i](p_groupes_déjà_simplifiés)__
    (?:a(?:ux?|vec)|à|en)   +d(?:e +(?:la |l’|leurs? |ce(?:s|tte|t|) |[nv]o(?:s|tre) |[mts](?:a|on) |quelques? |certaine?s? )|es? |u ) *({w2})  @@$
    <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *

## y compris (pas terrible, mais cas difficile)
__[i](p_y_compris)__
    y compris <<- not before(r"(?i)\b(?:[jn]’|tu )$") ~>> *

## eux/nous/vous tous -- elles toutes
__[i](p_nous_vous_tous_toutes_qui)__    [nv]ous (tou(?:te|)s) qui @@5 <<- ~1>> *
__[i](p_eux_tous_qui)__                 eux (tous) qui @@4 <<- ~1>> *
__[i](p_elles_toutes_qui)__             elles (toutes) qui @@6 <<- ~1>> *

## groupe avec préposition
__[i](p_préposition_nom)__
    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)|aux?) +({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":[GY]") and isEndOfNG()
    ~>> *
__[i](p_préposition_déterminant_nom)__
    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)) +(?:les? |la |l’|de(?:s| la|) |ce[st]? |cette |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques ) *({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":G") and isEndOfNG()
    ~>> *
__[i](p_lors_de_du_nom)__
    lors d(?:’|e(?:s| la|) |u ) *({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":G") and isEndOfNG()
    ~>> *

## doute que
__[i](p_nul_doute_que)__
    nul doute qu  <<- isStart() ~>> *















































































__[i](p_douter_que)__
    (dout\w+)( ) *que?  @@0,*  <<- morph(\1, ">douter/", False) and before(r"(?i)\b(?:[mts]e|[nv]ous) +$") ~2>> ,

## de +
__[i](p_de_nom)__
    d(?:e +|’)(?!autres)({w_2}) @@$
    <<- morphex(\1, ":N", ":[GY]") and isEndOfNG() ~>> *
__[i](p_de_pronom_nom)__
    de (?:ce(?:t|tte|s|)|[mts](?:on|a|es)|[nv](?:otre|os)|leurs) +({w_2})  @@$
    <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
__[i](p_de_la_leur_nom)__
    de l(?:a|eur) +({w_2})  @@$
    <<- morphex(\1, ":[NAQ]", ":Y") and isEndOfNG() ~>> *

__[s](p_virgule_virgule2)__     , +, <<- ~>> *
__[s](p_première_virgule2)__    ^ *, <<- ~>> *
__[s](p_dernière_virgule2)__    , *$ <<- ~>> *
__[s](p_tiret_tiret2)__         [—–-] +[—–-] <<- ~>> *
__[s](p_parenthèses_vides2)__   [(] +[)] <<- ~>> *
__[s](p_balise_vide2)__         [<] +[>] <<- ~>> *





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




!!!! OCR                                                                                          !!

# Participes passés
__[i]/ocr(ocr_être_participes_passés)__
................................................................................
# TEST: __ocr__ vous êtes {{presses}} de monter à bord de ce train-ci.
# Fonctionne avec nous serons, mais pas nous sommes (bug de JavaScript?)



!!!! Confusions                                                                                   !!

## guerre / guère
__[i]/conf(conf_ne_pronom_pronom_verbe_guère)__
    ne (?:[mts]e|la|les?|[nv]ous|lui|leur) (?:la |les? |lui |leur |l’|)\w{w_2} (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: tout ceci ne me rapporte {{guerre}}


__[i]/conf(conf_ne_en_y_verbe_guère)__
    ne (?:[lmts]’(?:en |y |)|)\w{w_2} (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: je ne m’en soucie {{guerre}}


__[i]/conf(conf_n_en_y_verbe_guère)__
    n’(?:en |y |)\w{w_2} (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: Il n’y prête {{guerre}} d’attention.
TEST: Elle n’en accorde plus {{guerre}}.


__[i]/conf(conf_ne_guère)!6__
    ne (?:plus |)(guerre)  @@$
    <<- -1>> guère                                                                                  # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez :

TEST: ne plus {{guerre}} s’en soucier


## s’en / c’en
__[i]/conf(conf_c_en_être)__
    (s’en) (?:n’|)(?:est|seras?|étai[ts]) +({w_2})  @@0,$
    <<- re.search("(?i)^(?:fini|terminé)s?", \2) and morph(word(-1), ":C", False, True)
    -1>> c’en
    # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de
................................................................................

!!
!!
!!!! Infinitif                                                                                    !!
!!
!!

__[i]/infi(infi_d_en_y)__
    d’(?:en|y) +({w_2})  @@$
    <<- morphex(\1, ":V", ":Y") -1>> =suggVerbInfi(@)                                               # Le verbe devrait être à l’infinitif.

TEST: arrête d’y {{consacré}} autant de temps.
TEST: je suis certain d’en {{choque}} plusieurs.


__[i]/infi(infi_de_pronom)__
    de (?:[mtsn](?:e +|’(?:en +|y +|))|les? +)({w_2}(?:ée?s?|ai(?:en|)[st]?|ez))  @@$
    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.

TEST: Il s’agit de me {{donnait}} tout ça.
TEST: j’étais incapable de m’{{orientait}} dans la bonne direction.
TEST: ils étaient susceptibles de m’y {{trouvaient}}


#__[i]/infi(infi_de_la)__
#    de la +({w_2}(?:ai(?:en|)[st]?|ez))  @@$
#    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.
#
#TEST: elle était capable de la {{trouvait}} où qu’elle soit.


__[i]/infi(infi_de_pronom_le_les_la)__
    de [mtsn]e l(?:es?|a) +({w_2}(?:ée?s?|ai(?:en|)[st]?|ez))  @@$
    <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@)                                                # Le verbe devrait être à l’infinitif.
    <<- ~>> *

TEST: de me le {{facturez}}


__[i]/infi(infi_faire)__
    (f(?:ai|[iî]|er|on)\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">faire/", False) and not before(r"(?i)\b(?:en|[mtsldc]es?|[nv]ous|un) +$") and morphex(\2, ":V", ":M")
        and not (re.search("(?i)^fait$", \1) and \2.endswith("é"))
        and not (re.search("(?i)^faits$", \1) and \2.endswith("és"))
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.







|
|







 







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







 







>
>
>







 







|
|







 







|







 







<







 







<
<
<
<
<
<
<
<
<






>
>
>
>
>
>
>
>
>
>
>


>
>
>







 







<
<
<
<
<
<







 







<
<
<
<
<
<
<








|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









|


|










>
>





>







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
....
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
....
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
....
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
.....
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
.....
12349
12350
12351
12352
12353
12354
12355

12356
12357
12358
12359
12360
12361
12362
.....
12381
12382
12383
12384
12385
12386
12387









12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
.....
12499
12500
12501
12502
12503
12504
12505






12506
12507
12508
12509
12510
12511
12512
.....
12544
12545
12546
12547
12548
12549
12550







12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
.....
12792
12793
12794
12795
12796
12797
12798





























12799
12800
12801
12802
12803
12804
12805
.....
12860
12861
12862
12863
12864
12865
12866































12867
12868
12869
12870
12871
12872
12873
TEST: A devient notre meilleure chance d’y parvenir.



!!!! Accentuation des majuscules                                                                  !!

__maj_accents__
    [Etat|Etats|Eglise|Eglises|Ecole|Ecoles|Economie|Equipe|Equipes|Electricité|Electrique|Egalité|Element|Element|Eté|Epoux|Epouse|Epouses|Ethiopie|Erythrée|Egypte|Equateur|Elysée]
        <<- /maj/ ->> ="É"+\1[1:]                                                                   # Accentuez les majuscules.
        <<- ~>> ="É"+\1[1:]

TEST: Le budget de l’{{Etat}}.



!!!
................................................................................
TEST: Ne pas te le donner, ce serait une insulte.
TEST: ne jamais vraiment évoquer le sujet
TEST: déterminés à ne pas se laisser récupérer
TEST: de ne pas en élire du tout
TEST: Mais gare à ne pas non plus trop surestimer la menace
TEST: ne jamais beaucoup bosser, c’est sa devise.


## guerre / guère
__conf_préverbes_guère_guerre!5__
    [ne|n’]   [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  *WORD ?plus¿ (guerre)
    [ne|n’]   [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]       *WORD ?plus¿ (guerre)
    [ne|n’]   [le|la|l’|les]                  [lui|leur|en|y]           *WORD ?plus¿ (guerre)
    [ne|n’]   [lui|leur]                      en                        *WORD ?plus¿ (guerre)
    ne ?presque¿ ?plus¿ (guerre)
        <<- /infi/ -1>> guère                                                                       # Confusion. La guerre est conflit. Pour l’adverbe signifiant “peu”, écrivez “guère”.

TEST: tout ceci ne me rapporte {{guerre}}
TEST: je ne m’en soucie {{guerre}}
TEST: Il n’y prête {{guerre}} d’attention.
TEST: Elle n’en accorde plus {{guerre}}.
TEST: ne plus {{guerre}} s’en soucier
TEST: elle ne leur donne plus {{guerre}} que des remontrances.
TEST: ne {{guerre}} s’en soucier.
TEST: ne plus {{guerre}} croire en rien.


__imp_ne_infinitif_negadv__
    [<start>|,]  [ne|n’]  @:V1.*:Y  [pas|plus|jamais]
        <<- /imp/ -3>> =suggVerbTense(\3, ":E", ":2p")                                              # Confusion probable : “\1” est un verbe à l’infinitif. Si vous vouliez utiliser l’impératif, écrivez :

TEST: Non, ne {{manger}} pas ça.                                    ->> mangez
TEST: Ne {{donner}} jamais à manger ces saloperies au chat.         ->> donnez
................................................................................
        <<- ~2>> *

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


__purge_locutions_potentielles__
    à ce jour @¬:A.*:[me]:[si]
        <<- ~1:3>> *

    à [mes|tes|ses|nos|vos|leurs] yeux  @¬:A.*:[me]:[pi]
        <<- ~1:3>> *

    à la dernière [minute|seconde]  @¬:A.*:[fe]:[si]
        <<- ~1:4>> *

    à l’ époque  @¬:A.*:[fe]:[si]
................................................................................
#


!!!! Redondances dans la phrase                                                                   !!

__[i]/redon2(redondances_phrase)__
    ({w_4})[ ,].* (\1)  @@0,$
        <<- not morph(\1, ":(?:G|V0)|>même/", False) -2>> _             # Dans cette phrase, répétition de « \1 » (à gauche).
        <<- __also__ -1>> _                                             # Dans cette phrase, répétition de « \1 » (à droite).

TEST: __redon2__ Quelle {{imposture}}, c’est d’un ennui, c’est une {{imposture}}.
TEST: __redon2__ ils sont là côte à côte.
TEST: __redon2__ Tu avances petit à petit, et tu réussis.
TEST: __redon2__ De loin en loin, elle passe.
TEST: __redon2__ Les mêmes causes produisent/produisant les mêmes effets. (répétition)

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

    >pâte d’ >amende
        <<- /conf/ -3>> amandes                         # Confusion. Une amende est une peine. Le fruit s’écrit “amande”.

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              # Confusion. L’amande est un fruit.

    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles] >amande >honorable
        <<- /conf/ morphVC(\1, ">faire") -2:3>> amende honorable        # Confusion. L’amande est un fruit.

TEST: Avec ses beaux yeux en {{amendes}} nul ne peut lui résister.
TEST: Nous avons déconné, nous avons été mis à l’{{amande}}.
TEST: Ces gens-là ne feront jamais {{amande honorable}}.
TEST: achète de la pâte d’{{amende}}

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

!!
!!
!!!! Infinitif                                                                                    !!
!!
!!


__infi_à_verbe__
    à  [le|la|l’|leur|les]           (@:V¬:[YNAM]|>(?:lui|plus)/)
    [<start>|,]  à  [nous|vous|lui]  (@:V¬[YE]|>(?:lui|plus)/)
        <<- /infi/ \1.islower() -1>> =suggVerbInfi(\1)                                  # Erreur probable. Après le pronom “à”, le verbe devrait être à l’infinitif.

    à  [ne|n’|en|me|m’|te|t’|se|s’|y]                                       (@:V¬:Y|>(?:lui|plus)/)
    à  [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    (@:V¬:Y|>(?:lui|plus)/)
................................................................................

    [de|d’] [ne|n’|en|me|m’|te|t’|se|s’|y]                                       (@:V¬:Y|>(?:lui|plus)/)
    [de|d’] [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]    (@:V¬:Y|>(?:lui|plus)/)
    [de|d’] ?[ne|n’]¿  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        (@:V¬:Y)
    [de|d’] ?[ne|n’]¿  [le|la|l’|les]                 [lui|leur|en|y]            (@:V¬:Y)
    [de|d’] ?[ne|n’]¿  [lui|leur]                     en                         (@:V¬:Y)
        <<- /infi/ -1>> =suggVerbInfi(\1)                                               # Après “de”, le verbe devrait être à l’infinitif.










    [de|d’]  @:V1.*:Q¬:N
        <<- /infi/ not \2[0:1].isupper()
            and not before(r"(?i)\b(?:quelqu(?:e chose|’une?)|(?:l(es?|a)|nous|vous|me|te|se) trait|personne|point +$|rien(?: +[a-zéèêâîûù]+|) +$)")
        -2>> =suggVerbInfi(\2)                                                          # Le verbe devrait être à l’infinitif.

TEST: d’en {{parlé}} sans cesse
TEST: cela suffit de les {{aimait}}
TEST: de ne leur en {{avancé}} que le nécessaire.
TEST: de l’y {{poussé}}
TEST: arrête d’y {{consacré}} autant de temps.
TEST: je suis certain d’en {{choque}} plusieurs.
TEST: elle était capable de la {{trouvait}} où qu’elle soit.
TEST: de me le {{facturez}}
TEST: Il s’agit de me {{donnait}} tout ça.
TEST: j’étais incapable de m’{{orientait}} dans la bonne direction.
TEST: ils étaient susceptibles de m’y {{trouvaient}}
TEST: Il tentait de {{raisonné}} en homme libre
TEST: sa façon de {{nettoyez}} était inefficace.
TEST: elle s’engage de ne les lui donner qu’en dernier recours.
TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera.
TEST: de leur plus grand fils, ils attendent beaucoup.


__infi_y_verbe!3__
    y ~ée?s?$
        <<- /infi/ morph(\2, ":V", ":[123][sp]") -2>> _                                 # Le verbe ne devrait pas être un participe passé.

TEST: y {{mangée}} était un supplice
................................................................................
    [>cesser|>décider|>défendre|>suggérer|>commander|>essayer|>tenter|>choisir|>permettre|>interdire]  ?[pas|plus|point|guère|jamais]¿  [de|d’]  (*WORD)
        <<- /infi/ analyse(\1, ":(?:V1.*:(?:Q|2p)|[123][sp])", ":(?:M|Oo)")
        -1>> =suggVerbInfi(\1)                                                          # Le verbe devrait être à l’infinitif.

TEST: cessez d’{{anesthésié}} ces gens !









## INFINITIFS ERRONÉS

__infi_infinitifs_erronés__
    <start>  [le|un|ce|cet|mon|ton|son|quel]  *WORD  @:V1.*:Y¬:[NM]  [ne|n’|me|m’|te|t’|se|s’]
    <start>  [le|un|ce|cet|mon|ton|son|quel]  *WORD  @:V1.*:Y¬:[NM]  @:[123][sp]
        <<- /infi/ morph(\3, ":N.*:m:[si]", ":G|>verbe/")
................................................................................
__conj_participe_présent__
    [ne|lui|me|te|se|nous|vous]  ~ants$
        <<- /infi/ morph(\2, ":A") -2>> =\2[:-1]                                        # Un participe présent est invariable.|http://fr.wiktionary.org/wiki/participe_pr%C3%A9sent

TEST: nous {{épuisants}} à la tâche pour des clopinettes, nous défaillîmes.











!!!
!!!
!!! Processeur: simplification des substantifs                                                    !!
!!!
!!!

### Mots grammaticaux autour des verbes
__purge_syntagme_verbal__
    ne [lui|leur]
        <<- not value(>1, "|en|") ~2>> *

    jamais
        <<- ~>> *

    guère
        <<- ~>> *

    [pas|point|rien|bien|ensemble]
        <<- morph(<1, ":V") ~>> *

    /VCint  [pas|point|rien|bien|ensemble]
        <<- ~2>> *

    que >sembler [le|l’] [penser|croire|présumer|supposer|envisager|imaginer]
        <<- ~3:4>> *

    que l’ on
        <<- ~2>> *


### Simplification des groupes nominaux
__purge_syntagmes_nominaux__
    [aucun|aucune] [de|d’] ?entre¿ [nous|vous|eux|elles]
        <<- ~2:0>> *

    [aucun|aucune] des *WORD [ne|n’]
        <<- ~2:3>> *

    [aucun|aucune] des *WORD *WORD [ne|n’]
        <<- ~2:4>> *

    beaucoup de [monde|temps]
        <<- ~2:3>> _

    [chacun|chacune] [de|d’] ?entre¿ [nous|vous|eux|elles]
        <<- ~2:0>> *


    [le|la|l’|les|leur|ton|son|certains|certaines] *WORD *WORD
        <<- morph(\2, ":[NA]", ":(?:[123]p|P|X|G)") and morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
        <<- __else__ ~3>> *

    [des|ce|cet|cette|ces|mon|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs|au|aux] *WORD *WORD
        <<- morph(\3, ":[NA]", ":(?:G|[123][sp]|P)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
        <<- __else__ ~3>> *

    [de|d’]  [façon|manière]  ?non¿  @:A  et  ?non¿  @:A¬:[GM]
    [de|d’]  [façon|manière]  ?non¿  @:A
        <<- ~>> *

    [de|d’]  @:[NA].*:s¬:Y  <end>
    [de|d’]  @:[NA].*:s¬:Y  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [de|d’]  @:[NA].*:s¬:Y  @:[VR]¬:[NAP]
    [de|d’]  @:[NA].*:s¬:Y  , @¬:[NA]
        <<- ~1:2>> *

    [de|d’]  @:[NA].*:s¬:Y  @:[NA].*:s¬:(?:G|[123][sp]|O)   <end>
    [de|d’]  @:[NA].*:s¬:Y  @:[NA].*:s¬:(?:G|[123][sp]|O)   ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [de|d’]  @:[NA].*:s¬:Y  @:[NA].*:s¬:(?:G|[123][sp]|O)   @:[VR]¬:[NAP]
    [de|d’]  @:[NA].*:s¬:Y  @:[NA].*:s¬:(?:G|[123][sp]|O)   , @¬:[NA]
        <<- ~1:3>> *

    en tant que >telle
        <<- ~>> *

    en [plein|pleine] @:[NA]  <end>
    en [plein|pleine] @:[NA]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    en [plein|pleine] @:[NA]  @:[VR]¬:[NAP]
    en [plein|pleine] @:[NA]  , @¬:[NA]
        <<- ~1:3>> *

    fois que
        <<- ~1>> _

    la plupart des *WORD <end>
    la plupart des *WORD ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    la plupart des *WORD @:[VR]¬:[NAP]
    la plupart des *WORD , @¬:[NA]
        <<- ~3:4>> *

    la plupart des *WORD @:[NA].*:[pi]¬:(?:G|[123][sp]|O) <end>
    la plupart des *WORD @:[NA].*:[pi]¬:(?:G|[123][sp]|O) ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    la plupart des *WORD @:[NA].*:[pi]¬:(?:G|[123][sp]|O) @:[VR]¬:[NAP]
    la plupart des *WORD @:[NA].*:[pi]¬:(?:G|[123][sp]|O) , @¬:[NA]
        <<- ~3:5>> *

    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD <end>
    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD @:[VR]¬:[NAP]
    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD , @¬:[NA]
        <<- ~3:5>> *

    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD @:[NA].*:s¬:(?:G|[123][sp]|O) <end>
    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD @:[NA].*:s¬:(?:G|[123][sp]|O) ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD @:[NA].*:s¬:(?:G|[123][sp]|O) @:[VR]¬:[NAP]
    la plupart de [ces|mes|tes|ses|nos|vos|leurs] *WORD @:[NA].*:s¬:(?:G|[123][sp]|O) , @¬:[NA]
        <<- ~3:6>> *

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

    [un|une] de [nous|vous]
    [un|une] d’ [eux|elles]
    [un|une] d’ entre [nous|vous|eux|elles]
    [un|une] des [nôtres|vôtres]
        <<- ~2:0>> *


__purge_après_prépositions__
    [à|au|aux|avec|en|lors]  [de|d’]  [la|l’|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nor|vos|quelques|certains|certaines]  *WORD  <end>
    [à|au|aux|avec|en|lors]  [de|d’]  [la|l’|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nor|vos|quelques|certains|certaines]  *WORD  ?,¿  [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [à|au|aux|avec|en|lors]  [de|d’]  [la|l’|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nor|vos|quelques|certains|certaines]  *WORD  @:[VR]¬:[NAP]
    [à|au|aux|avec|en|lors]  [de|d’]  [la|l’|leur|leurs|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nor|vos|quelques|certains|certaines]  *WORD  ,  @¬:[NA]
        <<- ~1:4>> *

    [à|au|aux|avec|en|lors]  [des|du]  *WORD  <end>
    [à|au|aux|avec|en|lors]  [des|du]  *WORD  ?,¿  [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [à|au|aux|avec|en|lors]  [des|du]  *WORD  @:[VR]¬:[NAP]
    [à|au|aux|avec|en|lors]  [des|du]  *WORD  , @¬:[NA]
        <<- ~1:3>> *


    [avec|à|sur|sous|selon|contre|chez|dans|envers|par|pour|au|aux]  @:[NAM]¬:[GY]  <end>
    [avec|à|sur|sous|selon|contre|chez|dans|envers|par|pour|au|aux]  @:[NAM]¬:[GY]  ?,¿  [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [avec|à|sur|sous|selon|contre|chez|dans|envers|par|pour|au|aux]  @:[NAM]¬:[GY]  @:[VR]¬:[NAP]
    [avec|à|sur|sous|selon|contre|chez|dans|envers|par|pour|au|aux]  @:[NAM]¬:[GY]  , @¬:[NA]
        <<- ~1:2>> *

__purge_autre__
    [<start>|,] nul doute [que|qu’|qu]
        <<- ~2:0>> *

    y compris
        <<- not value(<1, "|j’|n’|tu|") ~>> *

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

# isEndOfNG:
# <end>
# @:[VR]¬:[NAP]
# , @¬:[NA]
# ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]


# de +
__[i](p_de_vinfi)__
    d(?:e |’)({infi}) @@$
    <<- morphex(\1, ":V[123]_i", ">(?:devenir|rester|demeurer)/") and isNextNotCOD() ~>> *

## groupe avec préposition
__[i](p_préposition_déterminant_nom)__
    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)) +(?:les? |la |l’|de(?:s| la|) |ce[st]? |cette |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques ) *({w_2})  @@$
    <<- morphex(\1, ":[NA]", ":G") and isEndOfNG()
    ~>> *

__[i](p_douter_que)__
    (dout\w+)( ) *que?  @@0,*  <<- morph(\1, ">douter/", False) and before(r"(?i)\b(?:[mts]e|[nv]ous) +$") ~2>> ,

## de +
__[i](p_de_nom)__
    d(?:e +|’)(?!autres)({w_2}) @@$
    <<- morphex(\1, ":N", ":[GY]") and isEndOfNG() ~>> *
__[i](p_de_pronom_nom)__
    de (?:ce(?:t|tte|s|)|[mts](?:on|a|es)|[nv](?:otre|os)|leurs) +({w_2})  @@$
    <<- morph(\1, ":[NA]", False) and isEndOfNG() ~>> *
__[i](p_de_la_leur_nom)__
    de l(?:a|eur) +({w_2})  @@$
    <<- morphex(\1, ":[NA]", ":Y") and isEndOfNG() ~>> *

__[s](p_virgule_virgule2)__     , +, <<- ~>> *
__[s](p_première_virgule2)__    ^ *, <<- ~>> *
__[s](p_dernière_virgule2)__    , *$ <<- ~>> *
__[s](p_tiret_tiret2)__         [—–-] +[—–-] <<- ~>> *
__[s](p_parenthèses_vides2)__   [(] +[)] <<- ~>> *
__[s](p_balise_vide2)__         [<] +[>] <<- ~>> *



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: 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




!!!! OCR                                                                                          !!

# Participes passés
__[i]/ocr(ocr_être_participes_passés)__
................................................................................
# TEST: __ocr__ vous êtes {{presses}} de monter à bord de ce train-ci.
# Fonctionne avec nous serons, mais pas nous sommes (bug de JavaScript?)



!!!! Confusions                                                                                   !!































## s’en / c’en
__[i]/conf(conf_c_en_être)__
    (s’en) (?:n’|)(?:est|seras?|étai[ts]) +({w_2})  @@0,$
    <<- re.search("(?i)^(?:fini|terminé)s?", \2) and morph(word(-1), ":C", False, True)
    -1>> c’en
    # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de
................................................................................

!!
!!
!!!! Infinitif                                                                                    !!
!!
!!

































__[i]/infi(infi_faire)__
    (f(?:ai|[iî]|er|on)\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">faire/", False) and not before(r"(?i)\b(?:en|[mtsldc]es?|[nv]ous|un) +$") and morphex(\2, ":V", ":M")
        and not (re.search("(?i)^fait$", \1) and \2.endswith("é"))
        and not (re.search("(?i)^faits$", \1) and \2.endswith("és"))
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.