Grammalecte  Check-in [b7a8ffe1dd]

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: b7a8ffe1dde0fdbfb2e147c5036806ab572b34e6a772ec205a929c97c5f6f7f3
User & Date: olr on 2018-08-19 11:22:40
Other Links: branch diff | manifest | tags
Context
2018-08-20
07:34
[fr] conversion: regex rules -> graph rules check-in: d6e70de467 user: olr tags: fr, rg
2018-08-19
11:22
[fr] conversion: regex rules -> graph rules check-in: b7a8ffe1dd user: olr tags: fr, rg
2018-08-18
22:13
[fr] notes sur les verbes notables check-in: b38cbb4152 user: olr tags: fr, rg
Changes

Modified gc_lang/fr/rules.grx from [6a00f758e3] to [67a38dee1a].

3127
3128
3129
3130
3131
3132
3133

3134
3135
3136
3137
3138
3139
3140
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141







+







    va-t’en >guerre
    va t’en >guerre
    va-t en >guerre
    va t-en >guerre
    vat’en >guerre
    vat-en >guerre
    va-t-en >guerre
    va-t’en-guerre
        <<- /tu/ ->> va-t-en-guerre                                                                 # Va-t-en-guerre (invariable) : des traits d’union sont nécessaires.

TEST: {{Va-t-en}}, c’en est assez.
TEST: Un {{va-t’en guerre}}, on ne peut pas lui faire confiance.
TEST: Les {{va-t-en guerre}} sont de sortie.
TEST: Elle va t’en donner, des devoirs.

9022
9023
9024
9025
9026
9027
9028

9029
9030
9031
9032
9033
9034
9035

9036
9037
9038
9039
9040
9041
9042
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045







+







+







#<end>
#@:[VR]¬[NAP]
#, @¬:[NA]
#[ne|n’|me|m’|te|t’|se|s’|le|la|l’|les|leur|leur|mon|ma|ta|sa|notre|votre|mes|tes|ses|ce|cet|cette|ces|je|j’|tu|il|on|nous|vous|ils|ça|ceci|cela|c’|ç’|chaque]


__simplication_substantifs__
    >animal de compagnie
    >arc à poulies
    >arme à feu
    >armée de l’air
    >armée terre
    >armer jusqu aux dents
    >arme de [poing|guerre]
    >arme de destruction massive
    >argent de poche
    >appel au secours
    >attestation sur l’ honneur
    >attendre de pied ferme
    ayants droit
    >billet de *NUM [>euro|>dollar|>centime|>cent|>livre|>shilling]
    [>bisphénol|>bisphenol] A
    >blanche comme neige
9615
9616
9617
9618
9619
9620
9621

9622
9623
9624
9625
9626
9627
9628
9629

9630
9631
9632
9633
9634
9635
9636
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641







+








+







    [>donner|>redonner] sens
    >faire [allusion|assaut|chaud|confiance|compliqué|copain-copain|débat|défaut|demi-tour|envie|figure|froid|halte|honte|illusion|mouche|office|part|peur|plaisir|rage|scandale|sens|signe|volte-face]
    >faire amende honorable
    >faire bande à part
    >faire bonne figure
    >faire copain copain
    >faire de [mon|ton|son|notre|votre|leur] mieux
    >faire grand bruit
    >faire long feu
    >faire [machine|marche] arrière
    >faire main basse
    >faire partie ?intégrante¿
    >faire fausse route
    >faire front commun
    >faire grise mine
    >faire grand [bruit|cas]
    >faire preuve
    >faire profil bas
    >faire salle comble
    >faire table rase
    >faire ce que bon [me|te|lui|nous|vous|leur] semble
    >laisser pour compte
    >mettre à [bas|jour|niveau|nu|plat|terre]
    >mettre l’ [écart|épreuve]
12660
12661
12662
12663
12664
12665
12666



12667
12668
12669
12670

12671
12672
12673
12674
12675
12676
12677
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686







+
+
+




+







    à  [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.

    à  @:V¬:[YNQ]|>(?:lui|plus)/
        <<- /infi/ not \2[0:1].isupper() -2>> =suggVerbInfi(\2)                         # 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: Avoir à {{parlait}} toute la journée, c’est plus que difficile, c’est épuisant.
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)/)
14767
14768
14769
14770
14771
14772
14773
14774

14775
14776
14777
14778
14779
14780

14781
14782
14783
14784
14785
14786
14787
14776
14777
14778
14779
14780
14781
14782

14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797







-
+






+







TEST: Invite les plus intelligents…
TEST: Prenez les 5 ou 6 revues les plus connues.
TEST: Allez les chercher.
TEST: Soyez les plus gentils qu’on puisse imaginer.


__imp_union_le_la_leur__
    *WORD  [le|la|leur]
    *WORD  [le|la|leur|en]
        <<- /imp/ space_after(\1, 1, 1)
            and morph(\1, ":E", ":[GM]") and morph(>1, ":|<end>|>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc|<start>|>,")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{Prends le}} avec toi.
TEST: {{Dites leur}} que nous sommes là.
TEST: {{restons en}} là.
TEST: un sujet si extrêmement politique et polémique lui a donné un accès
TEST: Les États d’ores et déjà très affaiblis le seraient encore plus
TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs)
TEST: Notez le peu de cas qui en est fait en général dans les médias
TEST: deux fois par an, souligne le Dr Assouline
TEST: Pesons le pour et le contre.
TEST: Va la demander au concierge.
14891
14892
14893
14894
14895
14896
14897
14898

14899
14900
14901
14902
14903
14904
14905
14901
14902
14903
14904
14905
14906
14907

14908
14909
14910
14911
14912
14913
14914
14915







-
+







TEST: Ne jamais miser sur ces tocards.
TEST: Ne m’en rien laisser.



!!!
!!!
!!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.  !!
!!! Processeur: purge des préverbes                                                               !!
!!!
!!!

__purge_préverbes1__
    [ne|n’|me|m’|te|se|s’|y]  @:(?:[123][sp]|P|Y)¬:X|>rien/
        <<- ~1>> *

14913
14914
14915
14916
14917
14918
14919
14920

14921
14922
14923
14924
14925
14926
14927
14923
14924
14925
14926
14927
14928
14929

14930
14931
14932
14933
14934
14935
14936
14937







-
+







    en    @:(?:[123][sp]|P|Y)¬:[NA]
    nous  @:(?:[123][sp]|P|Y)¬:1p
    vous  @:(?:[123][sp]|P|Y)¬:2p
    leur  @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[si]|G|M)
        <<- \2.islower() ~1>> *

    lui   @:(?:[123][sp]|P|Y)¬:3s
        <<- not morph(<1, ":R") ~2>> *
        <<- not morph(<1, ":R") ~1>> *

    [je|j’|il|on]  le   @:(?:[123][sp]|P|Y)
        <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[me]:[si]") ~2>> *

    [je|j’|il|on]  la   @:(?:[123][sp]|P|Y)
        <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[fe]:[si]") ~2>> *

15072
15073
15074
15075
15076
15077
15078
15079

15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092







15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107










15108
15109
15110
15111
15112
15113
15114
15115


15116
15117
15118
15119
15120

15121
15122
15123

15124
15125
15126

15127
15128
15129
15130
15131
15132

15133
15134
15135
15136

15137
15138
15139
15140
15141
15142





15143
15144
15145
15146
15147
15148
15149
15150
15151

15152
15153
15154

15155
15156
15157



15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170




15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193




15194
15195
15196





15197
15198





15199
15200
15201
15202










15203
15204
15205
15206


15207
15208
15209
15210
15211
15212




15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243




15244
15245
15246
15247


15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258


15259
15260

15261
15262
15263
15264







































15265
15266
15267



15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281






15282
15283
15284
15285
15286












15287
15288
15289
15290
15291
15292
15293
15082
15083
15084
15085
15086
15087
15088

15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140


15141
15142





15143



15144



15145
15146
15147
15148
15149
15150

15151
15152
15153


15154






15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167

15168
15169

15170
15171



15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183




15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199

15200
15201
15202
15203
15204
15205




15206
15207
15208
15209
15210


15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222




15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233



15234
15235
15236
15237




15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251





















15252
15253
15254
15255
15256
15257


15258
15259




15260


15261



15262
15263


15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307



15308
15309
15310
15311
15312
15313
15314
15315

15316
15317






15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347







-
+













+
+
+
+
+
+
+















+
+
+
+
+
+
+
+
+
+






-
-
+
+
-
-
-
-
-
+
-
-
-
+
-
-
-
+





-
+


-
-
+
-
-
-
-
-
-
+
+
+
+
+








-
+

-

+
-
-
-
+
+
+









-
-
-
-
+
+
+
+












-






-
-
-
-
+
+
+
+

-
-
+
+
+
+
+


+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+

-
-
-
+
+


-
-
-
-
+
+
+
+










-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+


-
-
+
+
-
-
-
-

-
-

-
-
-
+
+
-
-
+




+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+





-


-
-
-
-
-
-
+
+
+
+
+
+





+
+
+
+
+
+
+
+
+
+
+
+







    [me|m’|te|se|s’]  [le|la|l’|les|en|y]  @:(?:[123][sp]|P|Y)¬:X|>rien/
    nous              [le|la|l’|les|en|y]  @:(?:[123][sp]|P|Y)¬:(?:X|1p)|>rien/
    vous              [le|la|l’|les|en|y]  @:(?:[123][sp]|P|Y)¬:(?:X|2p)|>rien/
    [le|la|l’|les]    [lui|leur|en|y]      @:(?:[123][sp]|P|Y)¬:X|>rien/
    leur              en                   @:(?:[123][sp]|P|Y)¬:X|>rien/
        <<- ~1:2>> *

    lui                         en                   @:(?:[123][sp]|P|Y)¬:X|>rien/
    lui               en                   @:(?:[123][sp]|P|Y)¬:X|>rien/
        <<- not morph(<1, ":(?:R|3s)") ~1:2>> *

    t’  [le|la|l’|les|en|y]  @:(?:[123][sp]|P|Y)¬:X|>rien/
        <<- not morph(\3, ":2s") or value(<1, "|je|j’|tu|il|elle|on|nous|vous|ils|elles|") ~1:2>> *
        <<- ~2>> *

__purge_préverbes_négation__
    [ne|n’]  [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]  @:(?:[123][sp]|P|Y)¬:X|>rien/
    [ne|n’]  [me|m’|te|t’|se|s’|nous|vous]  [le|la|l’|les|en|y]        @:(?:[123][sp]|P|Y)¬:X|>rien/
    [ne|n’]  [le|la|l’|les]                 [lui|leur|en|y]            @:(?:[123][sp]|P|Y)¬:X|>rien/
    [ne|n’]  [lui|leur]                     en                         @:(?:[123][sp]|P|Y)¬:X|>rien/
        <<- ~1:-2>> *


__tag_verbe_infinitif_sujet__
    [<start>|,]  [ne|n’]  ?[en|y]¿ ?presque¿ [pas|rien|guère|point|jamais|plus]
    [<start>|,]  [ne|n’]  @:Y
    [<start>|,]  @:Y
        <<- /2>> suj_vinfi


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


__<i>(p_n_importe_qui_quoi)__       n(’)importe quo?i @@1 <<- ~1>> `


@@@@
@@@@
@@@@
@@@@
@@@@GRAPH: verbes2                                                                                 _
@@@@
@@@@
@@@@
@@@@

!!
!!
!!!! Confusions                                                                                   !!
!!
!!

#### CONFUSION a / à
__[i]/conf(conf_pronom_verbe_à)__
#### a / à
__conf_pronom_verbe_à__
    ^ *(?:je|tu|ils?|on|elles?) +({w_2}) +(a)  @@w,$
    <<- morph(\1, ":V", False) and \2 != "A"
    -2>> à                                                           # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition :
__[i]/conf(conf_j_verbe_à)__
    ^ *j’({w_2}) +(a)  @@w,$
    [<start>|,]  [je|j’|tu|il|on|ils|elles]  @:V  a
    <<- morph(\1, ":V", False) and \2 != "A"
    -2>> à                                                           # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition :
__[i]/conf(conf_nous_vous_verbe_à)__
    [<start>|,]  [nous|vous]  @:V¬:Y  a
    ^ *[nv]ous +({w_2}) +(a)  @@w,$
    <<- morphex(\1, ":V", ":Y") and \2 != "A"
    -2>> à                                                           # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition :
        <<- /conf/ \4 != "A" -4>> à                                 # Confusion probable : “a” est une conjugaison du verbe “avoir”. Utilisez la préposition “à”.

TEST: Il vient {{a}} la maison.
TEST: tu ne donnes rien {{a}} ces hommes.
TEST: Nous les donnons {{a}} ces gens.
TEST: j’arrive {{a}} la gare

TEST: vous examiner a eu des conséquences imprévues.


TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal

#### être / avoir

#### CONFUSION ÊTRE / AVOIR
__[i]/conf(conf_ait_confiance_été_faim_tort)__
    (?<!’)(est?) +(con(?:fiance|science)|envie|été|p(?:eine [àa]|eur)|faim|h(?:âte|onte)|recours|soif|tort)  @@0,$
    <<- not before(r"(?i)\b(?:ce que?|tout) ")
    -1>> ait|aie                                                      # Confusion probable dans l’expression « avoir \2 ». Vous utilisez ici le verbe « être ».
__conf_ait_confiance_été_faim_tort__
    [es|est] [confiance|conscience|envie|été|peur|faim|hâte|honte|recours|soif|tort]
    [es|est] peine [à|a]
        <<- /conf/ not tag_before(\1, "ce_que") and not value(<1, "|tout|d’|l’|")
        -1>> ait|aie                                                # Confusion probable dans l’expression avoir \2. Vous utilisez ici le verbe être.

TEST: il est posssible qu’il {{est}} confiance en toi
TEST: Je crains qu’il {{est}} peine à trouver le bonheur.
TEST: La révolution est crainte.
TEST: Je n’en ai cure.
TEST: Notre communauté vous est redevable.
TEST: l’humour est affaire de culture
TEST: Aller chercher l’air pur à la campagne est peine perdue.

TEST: tout est peine perdue.

#### CONFUSION veillez/veuillez

#### veillez / veuillez
__[i]/conf(conf_veillez2)__
    (veuillez) +à +(ne|{infi})  @@0,$
    <<- isStart() and morph(\2, ":Y|>ne/", False) -1>> veillez          # Confusion probable : “veuillez” est une forme conjuguée du verbe “vouloir”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939
__conf_veillez__
    [<start>|,]  veuillez  à  [ne|n’|@:Y]
        <<- /conf/ -2>> veillez                                     # Confusion probable : “veuillez” est une forme conjuguée du verbe “vouloir”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939

TEST: {{Veuillez}} à ne pas tomber dans ce piège.
TEST: Et {{veuillez}} surtout à ouvrir grand les yeux.
TEST: {{Veuillez}}, s’il vous plaît, à prendre vos médicaments.
TEST: Veuillez à nouveau faire attention à ce problème.
TEST: Veuillez excuser mon retard.
TEST: Veillez à bien fermer les fenêtres.


__[i]/conf(conf_veuillez)__
    (veillez) +(ne|{infi})  @@0,$
    <<- isStart() and morph(\2, ":Y|>ne/", False) -1>> veuillez
    # Confusion probable : “veiller” signifie “prendre garde” ou “être vigilant”. Pour inviter à faire quelque chose, écrivez “veuillez”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939
__conf_veuillez__
    [<start>|,]  veillez  [ne|n’|@:Y]
        <<- /conf/ -2>> veuillez
        # Confusion probable : “veiller” signifie “prendre garde” ou “être vigilant”. Pour inviter à faire quelque chose, écrivez “veuillez”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939

TEST: {{Veillez}} excuser mon retard.
TEST: {{Veillez}} me contacter.
TEST: {{Veillez}} me le faire savoir.
TEST: {{Veillez}} ne le dire à personne.
TEST: {{Veillez}} ne pas en parler à longueur de journée.
TEST: {{Veillez}} l’accompagner.
TEST: {{Veillez}} toujours l’accompagner.
TEST: Veillez à éviter de faire des fautes.
TEST: Veillez votre mari qui est malade.



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

__[i]/infi(infi_comment_où)__
    (?:comment|où) +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":V", ":M") and not (\1.endswith("ez") and after(" +vous"))
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.
__infi_devoir_pouvoir_vouloir__
    [>devoir|>pouvoir|>vouloir]  ~..(?:ée?s?|ez)$
        <<- /infi/ morph(\2, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D"))
        -2>> =suggVerbInfi(\2)                                                                      # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.

TEST: Comment {{pensé}} à ces choses sans perdre l’esprit.
TEST: comment {{abandonnez}}
TEST: il devait {{utilisé}} son temps à bon escient.
TEST: tu dois {{man}}
TEST: on va devoir {{mangé}} tout ça.
TEST: Le devoir transcendé par l’amour de son pays.
TEST: un devoir corrigé par plusieurs professeurs.


__infi_falloir__
    [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il]  @:V¬:[YM]
    il  [faut|fallait|fallut|faudra|faudrait]               @:V¬:[YM]
    il  [aurait|aurai|aurais|aurez]  fallu                  @:V¬:[YM]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         # Après “falloir”, le verbe doit être à l’infinitif.
__[i]/infi(infi_qqch_de)__
    (?:afin|en train|avant|façons?|intentions?|manières?) de +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":(?:Q|2p)", ":M")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: faut-il {{pensé}} à ces choses-là encore et encore ?
TEST: il faut {{estimé}} au mieux la valeur de nos idéologies.


__infi_suffire__
    [suffit-il|suffisait-il|suffira-t-il|suffirait-il]  [de|d’]  @:V¬:[YMN]
    il  [suffit|suffisait|suffira|suffirait]            [de|d’]  @:V¬:[YMN]
    il  [aurait|aurai|aurais|aurez]  suffi              [de|d’]  @:V¬:[YMN]
        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         # Après “suffire”, le verbe doit être à l’infinitif.

TEST: Nous étions en train de {{trouvé}} une solution à ces soucis récurrents.
TEST: en train de {{demandées}}
TEST: en train de {{mangez}}
TEST: il suffit de {{mangé}} sain pour aller mieux.
TEST: il ne suffit pas de pensées positives pour calmer son anxiété.


__[i]/infi(infi_verbe)__
    ((?:aim|all|v|ir|désir|esp[éè]r|p(?:[eou]|réf[éè]r))\w*) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morphex(\1, ">(?:aimer|aller|désirer|devoir|espérer|pouvoir|préférer|souhaiter|venir)/", ":[GN]") and morphex(\2, ":V", ":M")
    -2>> =suggVerbInfi(@)                                                                           # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.
__infi_verbes__
    [>aimer|>aller|>désirer|>espérer|>préférer|>souhaiter|>venir]  ~..(?:ée?s?|ez)$
        <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M")
        -2>> =suggVerbInfi(\2)                                                                      # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.

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é}}.


__[i]/infi(infi_devoir)__
    (d[eouû]\w+) +({w_2}(?:ée?s?|ez))  @@0,$
    <<- morph(\1, ">devoir/", False) and morphex(\2, ":V", ":M") and not morph(word(-1), ":D", False)
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: il devait {{utilisé}} son temps à bon escient.
TEST: tu dois {{mangé}}


__[i]/infi(infi_divers)__
    (?:de quoi|à (?:faire|même de|quoi bon)|avec qui|avant (?:même |)de|marre de|en vue de|du mal à|intérêt à|impossible de|pourquoi|quand|faut-il) +({w_2}(?:ée?s?|ez))  @@$
    <<- morphex(\1, ":(?:Q|2p)", ":M")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: faut-il {{pensé}} à ces choses-là encore et encore ?


__[i]/infi(infi_mieux_valoir)__
    mieux (?:ne |)(va\w+) +({w_2}(?:ée?s?|ez))  @@w,$
    <<- morph(\1, ">valoir/", False) and morphex(\2, ":(?:Q|2p)", ":[GM]")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.
__infi_mieux_valoir__
    mieux  >valoir  ~..(?:ée?s?|ez)$
        <<- /infi/ morph(\3, ":(?:Q|2p)", ":[GM]")
        -3>> =suggVerbInfi(\3)                                                                      # Après “mieux \1”, le verbe devrait être à l’infinitif.

TEST: Mieux vaut {{consacré}} son temps à des occupations utiles.


TEST: Mieux ne vaut pas {{arrivé}} en retard.
TEST: il eût mieux valu {{oublié}} cette affaire plutôt que réveiller ce dragon endormi.
__[i]/infi(infi_à)__
    à +({w_2}(?:ée?s?|ez|ai[st]?))  @@$
    <<- morphex(\1, ":V1", ":[NM]") and not \1.istitle() and not before(r"(?i)\b(?:les|en) +$")
    -1>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.

TEST: elle parvenait à y {{songez}} souvent
TEST: je vais à Rodez.


__[i]/infi(infi_avoir_beau)__
    ({avoir}) beau ({w_2}(?:ée?s?|ez|ai[ts]?))  @@0,$
__infi_avoir_beau__
    >avoir  beau  ~..(?:ée?s?|ez|ai[ts]?)$
    <<- morph(\1, ">avoir/", False) and morphex(\2, ":V1", ":N")
    -2>> =suggVerbInfi(@)                                                                           # Le verbe devrait être à l’infinitif.|http://fr.wiktionary.org/wiki/avoir_beau
        <<- /infi/ morph(\3, ":V1", ":N.*:m") -3>> =suggVerbInfi(\3)                                # Le verbe devrait être à l’infinitif.|http://fr.wiktionary.org/wiki/avoir_beau

TEST: Ils ont beau {{consacré}} le plus clair de leur temps à ce projet, ça n’avance guère.


__infi_qqch_de__
    [afin|avant]            [de|d’]  ~..ée?s?$
    en train                [de|d’]  ~..ée?s?$
    à même                  [de|d’]  ~..ée?s?$
    avant ?même¿            [de|d’]  ~..ée?s?$
    marre                   [de|d’]  ~..ée?s?$
    en vue                  [de|d’]  ~..ée?s?$
    impossible              [de|d’]  ~..ée?s?$
    [>façon|>manière]       [de|d’]  ~..ée?s?$
    [>intention|>volonté]   [de|d’]  ~..ée?s?$
        <<- /infi/ morph(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1)                                  # Le verbe devrait être à l’infinitif.

TEST: Nous étions en train de {{trouvé}} une solution à ces soucis récurrents.
TEST: en train de {{demandées}}
TEST: elle est en train de {{mangée}}
TEST: impossible d’{{échappé}} à cette horreur.


__infi_divers__
    de quoi     ~..(?:ée?s?|ez)$
    à faire     ~..(?:ée?s?|ez)$
    à quoi bon  ~..(?:ée?s?|ez)$
    avec qui    ~..(?:ée?s?|ez)$
    du mal à    ~..(?:ée?s?|ez)$
    intérêt à   ~..(?:ée?s?|ez)$
    comment     ~..(?:ée?s?|ez)$
    pourquoi    ~..(?:ée?s?|ez)$
    quand       ~..(?:ée?s?|ez)$
    où          ~..(?:ée?s?|ez)$
        <<- /infi/ morph(\2, ":V", ":M") and not (\2.endswith("ez") and value(>1, "|vous|"))
        --1>> =suggVerbInfi(\-1)                                                                    # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif.

TEST: Quand {{mangez}}
TEST: pourquoi m’{{étonnez}} de ces idioties…
TEST: à quoi bon {{allé}} au sport quand il suffit de marcher un peu tous les jours.
TEST: Comment {{pensé}} à ces choses sans perdre l’esprit.
TEST: comment {{abandonnez}} au début du match sans passer pour un lâcheur


__[i]/infi(infi_par_pour_sans)__
    (?:p(?:a|ou)r|sans) +({w_2}(?:ée?s?|ai[st]?|ez))  @@$
    <<- morphex(\1, ":[Q123][sp]?", ":[YN]") -1>> =suggVerbInfi(@)                                     # Le verbe devrait être à l’infinitif.
__infi_par_pour_sans__
    [par|pour|sans]  ~..(?:ée?s?|ez|ai[st]?)$
        <<- /infi/ morph(\2, ":V1.*:(?:Q|[123][sp])", ":[YN]") -2>> =suggVerbInfi(\2)               # Après la préposition “\1”, le verbe devrait être à l’infinitif.

TEST: pour s’y {{donnait}} le plus souvent.
TEST: Il faut être sans préjugés.



#### PAS D’INFINITIF

__[i]/ppas(ppas_être)__
    (?<![cC]’)({etre}) +({w_2}er)  @@0,$
    <<- morph(\1, ":V0e", False) and (morphex(\2, ":Y", ":[NAQ]") or \2 in aSHOULDBEVERB) and not re.search("(?i)^(?:soit|été)$", \1)
        and not morph(word(-1), ":Y|>ce", False, False) and not before("(?i)ce que? +$")
        and not morph(word(-1), ":Y", False, False) and not before_chk1(r"^ *>? *(\w[\w-]+)", ":Y")
    -2>> =suggVerbPpas(@)                                                   # Incohérence. Après « être », le verbe ne doit pas être à l’infinitif.
__ppas_être__
    tre  ~..er$
        <<- morph(\1, ":V", ">(?:soit|été)") and (morph(\2, ":Y", ":[NAQ]") or \2 in aSHOULDBEVERB)
            and not morph(<1, ":Y|>ce") and not value(<1, "|c’|")
            and not tag_before(\1, "ce_que") and not tag_before(\1, "suj_vinfi")
        -2>> =suggVerbPpas(\2)                                                                      # Après être, le verbe ne devrait pas être à l’infinitif.

TEST: ils sont {{tromper}} par tous ces hypocrites.
TEST: Jeûner n’est pas seulement cesser de manger.
TEST: Ne pas aimer n’est pas oublier l’autre.



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


!!
!!
!!!! Conjugaison                                                                                  !!
!!
!!