Grammalecte  Check-in [0531cae0d4]

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: 0531cae0d49b0a2ebb2031e113ca619536dc567e4b2bac25c9326868741d1576
User & Date: olr on 2018-08-04 20:12:27
Other Links: branch diff | manifest | tags
Context
2018-08-06
16:27
[core][bug] gc engine: text processor, fix group selection check-in: a86d8ca64f user: olr tags: core, rg
2018-08-04
20:12
[fr] conversion: regex rules -> graph rules check-in: 0531cae0d4 user: olr tags: fr, rg
14:11
[core] gc engine: use == to check token type check-in: 5339cc16ed user: olr tags: core, rg
Changes

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

8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
.....
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
.....
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352

12353
12354
12355










12356
12357
12358







12359
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
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
12417
12418
12419
12420
12421

12422
12423
12424
12425

12426
12427










12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446

12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460







12461
12462
12463
12464
12465
12466

12467
12468
12469
12470
12471

12472
12473
12474
12475
12476

12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498

12499
12500
12501








12502
12503
12504
12505
12506
12507
12508
.....
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
    [jusqu’|jusqu] à ce que tu en saches plus
    [jusqu’|jusqu] à ce que nous en sachions plus
    [jusqu’|jusqu] à ce que vous en sachiez plus
    [jusqu’|jusqu] à ce que [ils|elles] en sachent plus
    jusque-là
    la plupart du temps
    la main dans la main
    là-bas
    là-haut
    là-dedans
    là-dehors
    là-derrière
    là-dessous
    là-dessus
    là-devant
    là non plus
    la mort dans l’ âme
    le cas échéant
    le moins du monde
    le [moins|plus] [tôt|tard|souvent]
    le [moins|plus] de [temps|monde] possible
    le [moment|jour] venu
................................................................................

    >tâche  [>indélébile|>rouge|>verte|>noire|>bleue|>jaune|>grise|>blanche|>brune|>pourpre|>chocolat|>mauve|>fushia|>violette|>rose|>claire|>sombre]
        <<- /conf/ -1>> =\1.replace("â", "a")
        # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

TEST: une {{tâche}} de chocolat                                             ->> tache
TEST: une {{tâche}} vraiment indélébile
TEST: une {{tâche}}
TEST: en tâche de fond
TEST: la tâche de la justice
TEST: c’est une tâche de grande envergure
TEST: déléguer des tâches de sécurité publique à des machines autonomes
TEST: tirer bénéfice de nouvelles données en fonction de la tâche de départ qui leur a été assignée
TEST: Les « pervenches » fonctionnaires seraient alors affectées à d’autres tâches de surveillance, notamment au sein de la nouvelle brigade anti-insécurité.

................................................................................
!!
!!!! Infinitif                                                                                    !!
!!
!!


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

TEST: à en {{parlé}} sans cesse
TEST: cela suffit {{à les}} {{aimés}}
TEST: à ne leur en {{avancé}} que le nécessaire.
TEST: à l’y {{poussé}}
TEST: elle s’engage à ne les lui donner qu’en dernier recours.
TEST: l’idée consiste à la lui donner sans contrepartie et voir ce qu’il en fera.



@@@@










@@@@END_GRAPH                                                                                      _
@@@@










__[i]/infi(infi_de)__
    de ({w_2}(?:é|ez))  @@3

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

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


__[i]/infi(infi_de_nous_vous_lui)__
    de +(?:[nv]ous|lui) ({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V1", ":M[12P]") -1>> =suggVerbInfi(@)                                         # Le verbe devrait être à l’infinitif.

TEST: de nous {{libérez}} de lui


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

TEST: de les {{changeait}}


__[i]/infi(infi_y)__
    (?<!d’)y +({w_2}ée?s?)  @@$
    <<- morphex(\1, ":V", ":[123][sp]") -1>> _                                                      # Le verbe ne devrait pas être un participe passé.

TEST: y {{mangée}} était un supplice



__[i]/infi(infi_pour)__
    pour ({w_2}(?:ée?s?|ez))  @@5
    <<- morphex(\1, ":V1", ":[NM]") and not morph(word(-1), ">(?:tenir|passer)/", False)

    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.




TEST: pour {{mangé}} à sa faim, il faudra chasser.
TEST: C’est pour {{attaqué}} la journée.


__[i]/infi(infi_pour_nous_vous_lui)__
    pour +(?:[nv]ous|lui) ({w_2}(?:ée?s?|ez))  @@$
    <<- morph(\1, ":V1", False) -1>> =suggVerbInfi(@)                                               # Le verbe devrait être à l’infinitif.

TEST: pour nous {{chassez}} de chez lui


__[i]/infi(infi_sans)__
    sans ({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V1", ":[NM]") -1>> =suggVerbInfi(@)                                           # Le verbe devrait être à l’infinitif.








TEST: sans {{dérogez}} aux règles en vigueur dans cet établissement


__[i]/infi(infi_nous_vous)__
    (?:nous|vous) ({w_2}ée?s?)  @@$
    <<- morph(\1, ":Q", False) and not morph(word(-1), "V0.*[12]p", False) -1>> _                   # Le verbe ne devrait pas être un participe passé.

TEST: Nous {{intéressé}} à la question ne suffit pas à faire de nous des experts.
TEST: nous {{ridiculisé}}
TEST: vous {{mangé}}



__[i]/infi(infi_devoir_savoir_pouvoir_interrogatif)__
    (d[eouû]\w+|s[auû]\w+|p[eouû]\w+|v[eo]u\w+)-(?:ils?|elles?|on|je|tu|nous|vous) +(?:pas +|)(?:[mts](?:e +|’)|lui +|[nv]ous +|)({w_2})  @@0,$

    <<- morph(\1, ">(?:devoir|savoir|pouvoir|vouloir)/", False) and morphex(\2, ":(?:Q|A|[123][sp])", ":[GYW]")
    -2>> =suggVerbInfi(@)                                                                           # Après « \1 » , le verbe devrait être à l’infinitif.











TEST: Peuvent-elles s’{{installaient}} ici ?
TEST: Peut-il {{chassé}} ces intrus ?
TEST: Ne veux-tu pas {{gardé}} ton boulot ?


__[i]/infi(infi_est_ce_que)__
    est-ce que +({w_2})  @@$
    <<- morphex(\1, ":(?:V1.*:Q|[13]s|2[sp])", ":[GYWM]") and not before(r"(?i)\bque? +$")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: est-ce que {{rapporté}} ces données nous aidera ?
TEST: est-ce que {{priait}} est la solution ?
TEST: Est-ce que Pierre Xazzz va bien ?
TEST: Qu’est-ce que rapporte réellement Dassault & Co au budget


__[i]/infi(infi_commencer_finir_par)__  ((?:commen[cç]|fin[iî])\w+) +par ({w_2}(?:ée?s?|ai[st]))  @@0,$
    <<- morph(\1, ">(?:commencer|finir)/", False) and morphex(\2, ":V", ":[NGM]") and not \2[0:1].isupper()

    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: commence par {{mangé}} le poulet.
TEST: enfin la petite finit par {{pleuré}} à chaudes larmes.
TEST: sa tournée, elle la finit par Rodez.


__[i]/infi(infi_verbe_de)__
    ((?:cess|dé[cf]|sugg[éè]r|command|essa|tent|chois|perm[eiî]t|interd)\w*) +(?:pas |plus |point |guère |jamais |peu |rien |) *(?:de +|d’)({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">(?:cesser|décider|défendre|suggérer|commander|essayer|tenter|choisir|permettre|interdire)/", False) and analysex(\2, ":(?:Q|2p)", ":M")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

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









## INFINITIFS ERRONÉS

__[i]/infi(infi_adjectifs_masculins_singuliers)__
    ^ *(?:le|un|cet?|[mts]on|quel) (?!verbe)({w_2}) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:m:[si]", ":G") and morphex(\2, ":Y", ">aller/|:(?:M|N.*:m:s)") and isNextVerb()

    -2>> =suggVerbPpas(\2, ":m:s")                                                  # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

__[i]/infi(infi_adjectifs_féminins_singuliers)__
    ^ *(?:la|une|cette|[mts]a|quelle) ({w_2}) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:f:[si]", ":G") and morphex(\2, ":Y", ">aller/|:M") and isNextVerb()

    -2>> =suggVerbPpas(\2, ":f:s")                                                  # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

__[i]/infi(infi_adjectifs_singuliers)__
    ^ *(?:leur|[nv]otre) ({w_2}) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:[si]", ":G") and morphex(\2, ":Y", ">aller/|:M") and isNextVerb()

    -2>> =suggVerbPpas(\2, ":s")                                                    # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

TEST: ce tableau {{voler}} coûte très cher.
TEST: la difficulté {{passer}} t’aidera par la suite
TEST: leur compte {{épurer}} servira encore.
TEST: Le vieux cocher avait mission
TEST: le verbe aller est irrégulier.


__[i]/infi(infi_adjectifs_pluriels)__
    ^ *(?:[lmtsc]es|[nv]os|leurs|quel(?:le|)s) ({w_1}[sxz]) +({w_2}er)  @@w,$
    <<- morphex(\1, ":N.*:[pi]", ":G") and morphex(\2, ":Y", ">aller/|:M") and isNextVerb()
    -2>> =suggVerbPpas(\2, ":p")                                                    # Confusion probable : “\2” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

TEST: les documents {{scanner}} ne sont pas lisibles.
TEST: tes doutes {{remâcher}} deviennent difficiles à vivre.



!!!! Participes présents                                                                          !!

__[i]/conj(conj_participe_présent)__  (?:ne|lui|me|te|se|nous|vous) ({w_2}ants)  @@$

    <<- morph(\1, ":A", False) -1>> =\1[:-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                                                    !!
!!!
................................................................................
TEST: Et dans l’objet aimé, tout leur devient aimable ;
TEST: Ils comptent les défauts pour des perfections,
TEST: Et savent y donner de favorables noms.
TEST: La pâle est aux jasmins en blancheur comparable ;
TEST: La noire à faire peur, une brune adorable ;
TEST: La maigre a de la taille et de la liberté ;
TEST: La grasse est, dans son port, pleine de majesté ;
TEST: La malpropre sur soi, de peu d’attraits chargée,
TEST: Est mise sous le nom de beauté négligée ;
TEST: La géante paraît une déesse aux yeux ;
TEST: La naine un abrégé des merveilles des cieux ;
TEST: L’orgueilleuse a le cœur digne d’une couronne ;
TEST: La fourbe a de l’esprit ; la sotte est toute bonne ;
TEST: La trop grande parleuse est d’agréable humeur ;
TEST: Et la muette garde une honnête pudeur.







|
|
|
|
|
|
|
|







 







|







 







|
|


|
|






|




>


<
>
>
>
>
>
>
>
>
>
>
|
<

>
>
>
>
>
>
>


<
<
>
|
|
|





|
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|


>


|
|
<
>
|
>
>
>



<
<
<
<
<
<



|
|
|
>

>
>
>
>
>
>



|
|
|




>


|
<
>
|
|
>
>
>
>
>
>
>
>
>
>






|
|
|
|







|
|
>
|






|
|
|
|



>
>
>
>
>
>
>



|
|
|
>
|

<
|
|
>
|

<
|
|
>
|








|
|
|
|

|






|
>
|


>
>
>
>
>
>
>
>







 







|







8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
.....
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
.....
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355

12356
12357
12358
12359
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
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
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431

12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494

12495
12496
12497
12498
12499

12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
.....
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
    [jusqu’|jusqu] à ce que tu en saches plus
    [jusqu’|jusqu] à ce que nous en sachions plus
    [jusqu’|jusqu] à ce que vous en sachiez plus
    [jusqu’|jusqu] à ce que [ils|elles] en sachent plus
    jusque-là
    la plupart du temps
    la main dans la main
    ?de¿ là-bas
    ?de¿ là-haut
    ?de¿ là-dedans
    ?de¿ là-dehors
    ?de¿ là-derrière
    ?de¿ là-dessous
    ?de¿ là-dessus
    ?de¿ là-devant
    là non plus
    la mort dans l’ âme
    le cas échéant
    le moins du monde
    le [moins|plus] [tôt|tard|souvent]
    le [moins|plus] de [temps|monde] possible
    le [moment|jour] venu
................................................................................

    >tâche  [>indélébile|>rouge|>verte|>noire|>bleue|>jaune|>grise|>blanche|>brune|>pourpre|>chocolat|>mauve|>fushia|>violette|>rose|>claire|>sombre]
        <<- /conf/ -1>> =\1.replace("â", "a")
        # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”.

TEST: une {{tâche}} de chocolat                                             ->> tache
TEST: une {{tâche}} vraiment indélébile
TEST: une {{tâche}} rouge.
TEST: en tâche de fond
TEST: la tâche de la justice
TEST: c’est une tâche de grande envergure
TEST: déléguer des tâches de sécurité publique à des machines autonomes
TEST: tirer bénéfice de nouvelles données en fonction de la tâche de départ qui leur a été assignée
TEST: Les « pervenches » fonctionnaires seraient alors affectées à d’autres tâches de surveillance, notamment au sein de la nouvelle brigade anti-insécurité.

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

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



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

    [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
TEST: j’y crée une nouvelle maison.


__infi_pour_verbe__
    pour ~(?:ée?s?|ez)$

        <<- /infi/ morph(\2, ":V", ":[NM]") and not morph(<1, ">(?:tenir|passer)/")
        -2>> =suggVerbInfi(\2)                                                          # Après “pour”, le verbe devrait être à l’infinitif.

    pour  [nous|vous|lui]  ~(?:ée?s?|ez)$
        <<- /infi/ morph(\3, ":V1", ":M") -3>> =suggVerbInfi(\3)                        # Après “pour”, le verbe devrait être à l’infinitif.

TEST: pour {{mangé}} à sa faim, il faudra chasser.
TEST: C’est pour {{attaqué}} la journée.






TEST: pour nous {{chassez}} de chez lui


__infi_sans_verbe__
    sans ~(?:ée?s?|ez)$
        <<- /infi/ morph(\2, ":V1", ":[NM]")
        -2>> =suggVerbInfi(\2)                                                          # Après “sans”, le verbe devrait être à l’infinitif.

    sans  [nous|vous|lui]  ~(?:ée?s?|ez)$
        <<- /infi/ morph(\3, ":V1", ":M") -3>> =suggVerbInfi(\3)                        # Après “sans”, le verbe devrait être à l’infinitif.

TEST: sans {{mangé}} à sa faim, il faudra chasser.
TEST: C’est sans {{attaqué}} la journée.
TEST: sans nous {{chassez}} de chez lui
TEST: sans {{dérogez}} aux règles en vigueur dans cet établissement


__infi_nous_vous_verbe__
    [nous|vous]  ~ée?s?$
        <<- /infi/ morph(\2, ":Q") and not morph(<1, "V0.*[12]p") -2>> _                 # Après “\1”, le verbe ne devrait pas être un participe passé.

TEST: Nous {{intéressé}} à la question ne suffit pas à faire de nous des experts.
TEST: nous {{ridiculisé}}
TEST: vous {{mangé}}
TEST: Sommes nous désespérés à ce point ?


__infi_devoir_savoir_pouvoir_interrogatif__

    /VCint  ?[pas|jamais]¿  ?[en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  *WORD
        <<- /infi/ morphVC(\1, ">(?:devoir|savoir|pouvoir|vouloir)/") and morph(\-1, ":(?:Q|A|[123][sp])", ":[GYW]")
        --1>> =suggVerbInfi(\-1)                                                        # Après “\1”, le verbe devrait être à l’infinitif.

    /VCint  ?[pas|jamais]¿  [le|la|l’|les]  *WORD
        <<- /infi/ morphVC(\1, ">(?:devoir|savoir|pouvoir|vouloir)/") and morph(\-1, ":(?:Q|A|[123][sp])", ":[GYWN]")
        --1>> =suggVerbInfi(\-1)                                                        # Après “\1”, le verbe devrait être à l’infinitif.

    /VCint  ?[pas|jamais]¿  [me|m’|te|t’|se|s’|nous|vous]   [le|la|l’|les|en|y]    *WORD
    /VCint  ?[pas|jamais]¿  [le|la|l’|les]                  [lui|leur|en|y]        *WORD
    /VCint  ?[pas|jamais]¿  [lui|leur]                      en                     *WORD
        <<- /infi/ morphVC(\1, ">(?:devoir|savoir|pouvoir|vouloir)/") and morph(\-1, ":(?:Q|A|[123][sp])", ":[GYW]")
        --1>> =suggVerbInfi(\-1)                                                        # Après “\1”, le verbe devrait être à l’infinitif.

TEST: Peuvent-elles s’{{installaient}} ici ?
TEST: Peut-il {{chassé}} ces intrus ?
TEST: Ne veux-tu pas {{gardé}} ton boulot ?


__infi_est_ce_que_verbe__
    est-ce  que  *WORD
        <<- /infi/ morph(\3, ":(?:V1.*:Q|[13]s|2[sp])", ":[GYWMN]") and not value(<1, "|que|qu’|qu|")
        -3>> =suggVerbInfi(\3)                                                          # Le verbe devrait être à l’infinitif.

TEST: est-ce que {{rapporté}} ces données nous aidera ?
TEST: est-ce que {{priait}} est la solution ?
TEST: Est-ce que Pierre Xazzz va bien ?
TEST: Qu’est-ce que rapporte réellement Dassault & Co au budget


__infi_commencer_finir_par__
    [>commencer|>finir]  par  *WORD
        <<- /infi/ morph(\3, ":V", ":[NGMY]") and not \3[0:1].isupper()
        -3>> =suggVerbInfi(\3)                                                          # Le verbe devrait être à l’infinitif.

TEST: commence par {{mangé}} le poulet.
TEST: enfin la petite finit par {{pleuré}} à chaudes larmes.
TEST: sa tournée, elle la finit par Rodez.


__infi_verbe_de_verbe__
    [>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/")
        -4>> =suggVerbPpas(\4, ":m:s")                                                  # Confusion probable : “\4” est à verbe à l’infinitif. Pour l’adjectif, écrivez :


    <start>  [la|une|cette|ma|ta|sa|quelle]  *WORD  @:V1.*:Y¬:[NM]  [ne|n’|me|m’|te|t’|se|s’]
    <start>  [la|une|cette|ma|ta|sa|quelle]  *WORD  @:V1.*:Y¬:[NM]  @:[123][sp]
        <<- /infi/ morph(\3, ":N.*:f:[si]", ":G")
        -4>> =suggVerbPpas(\4, ":f:s")                                                  # Confusion probable : “\4” est à verbe à l’infinitif. Pour l’adjectif, écrivez :


    <start>  [leur|notre|votre]  *WORD  @:V1.*:Y¬:[NM]  [ne|n’|me|m’|te|t’|se|s’]
    <start>  [leur|notre|votre]  *WORD  @:V1.*:Y¬:[NM]  @:[123][sp]
        <<- /infi/ morph(\3, ":N.*:[si]", ":G")
        -4>> =suggVerbPpas(\4, ":s")                                                    # Confusion probable : “\4” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

TEST: ce tableau {{voler}} coûte très cher.
TEST: la difficulté {{passer}} t’aidera par la suite
TEST: leur compte {{épurer}} servira encore.
TEST: Le vieux cocher avait mission
TEST: le verbe aller est irrégulier.


    <start>  [les|ces|mes|tes|ses|nos|vos|leurs|quels|quelles] *WORD  @:V1.*:Y¬:[NM]  [ne|n’|me|m’|te|t’|se|s’]
    <start>  [les|ces|mes|tes|ses|nos|vos|leurs|quels|quelles] *WORD  @:V1.*:Y¬:[NM]  @:[123][sp]
        <<- /infi/ morph(\3, ":N.*:[pi]", ":G")
        -4>> =suggVerbPpas(\4, ":p")                                                    # Confusion probable : “\4” est à verbe à l’infinitif. Pour l’adjectif, écrivez :

TEST: les documents {{photocopier}} ne sont pas lisibles.
TEST: tes doutes {{remâcher}} deviennent difficiles à vivre.



!!!! Participes présents                                                                          !!

__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                                                    !!
!!!
................................................................................
TEST: Et dans l’objet aimé, tout leur devient aimable ;
TEST: Ils comptent les défauts pour des perfections,
TEST: Et savent y donner de favorables noms.
TEST: La pâle est aux jasmins en blancheur comparable ;
TEST: La noire à faire peur, une brune adorable ;
TEST: La maigre a de la taille et de la liberté ;
TEST: La grasse est, dans son port, pleine de majesté ;
TODO: La malpropre sur soi, de peu d’attraits {{chargée}},
TEST: Est mise sous le nom de beauté négligée ;
TEST: La géante paraît une déesse aux yeux ;
TEST: La naine un abrégé des merveilles des cieux ;
TEST: L’orgueilleuse a le cœur digne d’une couronne ;
TEST: La fourbe a de l’esprit ; la sotte est toute bonne ;
TEST: La trop grande parleuse est d’agréable humeur ;
TEST: Et la muette garde une honnête pudeur.