Grammalecte  Check-in [9fcd5b4f0e]

Overview
Comment:[fr] ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 9fcd5b4f0e98fb0e04bddb222f193da27ae9a7ef9c6c61e907bd1c1dbc0f0b4f
User & Date: olr on 2021-03-03 18:51:38
Other Links: manifest | tags
Context
2021-03-04
10:28
[fr] ajustements check-in: 3342689694 user: olr tags: fr, trunk
2021-03-03
18:51
[fr] ajustements check-in: 9fcd5b4f0e user: olr tags: fr, trunk
2021-03-02
14:36
[fr] ajustements check-in: 1716996543 user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [d7fb81a9b8] to [49a3f65802].

1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
....
4956
4957
4958
4959
4960
4961
4962

4963
4964
4965
4966
4967
4968
4969
....
8134
8135
8136
8137
8138
8139
8140
8141
8142




8143
8144
8145
8146
8147
8148
8149
....
8159
8160
8161
8162
8163
8164
8165

8166
8167
8168
8169
8170
8171
8172
....
8866
8867
8868
8869
8870
8871
8872







8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
.....
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
.....
13390
13391
13392
13393
13394
13395
13396










13397
13398
13399
13400
13401
13402
13403
.....
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
.....
21004
21005
21006
21007
21008
21009
21010









21011
21012
21013
21014
21015
21016
21017
.....
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920

















































28921
28922
28923
28924
28925
28926
28927
.....
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920















29921



29922
29923
29924
29925
29926
29927
29928
29929
29930















29931






29932
29933
29934














29935
29936
29937

29938
29939
29940
29941

29942
29943
29944
29945
29946

29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959


































29960
29961
29962
29963
29964
29965
29966
!!
!!
!!!! Signes typographiques                                                                        !!
!!
!!

__<s]/typo(typo_signe_moins)__
    -(\d+)  @@$  <<- not before("\\w$") ->> −\1|– \1|— \1
    && S’il s’agit de représenter un nombre négatif, utilisez le signe typographique “moins” [1]. S’il s’agit d’une incise, utilisez un tiret demi-cadratin [2] ou un tiret cadratin [3].

TEST: Résultat : {{-72}}.                                                   ->> −72|– 72|— 72


__<s>/typo(typo_signe_multiplication)__
    (\d+) ?[x*] ?(\d+)  @@0,$ <<- not \0.startswith("0x") ->> \1 × \2                               && Signe de multiplication typographique.

TEST: {{800 x 600}}                                                         ->> 800 × 600
TEST: {{800*600}}                                                           ->> 800 × 600
................................................................................
TEST: si il ou elle est plus jeune
TEST: Le un suit le zéro et précède le deux.
TEST: à la une
TEST: Ce sont les deux premiers principes de la philosophie chinoise
TEST: l’un passif et ténébreux, le Yin ; l’autre actif et lumineux, le Yang ; l’un mâle, le Yang.
TEST: Sur le Yémen maintenant, le département d’État s’est prononcé sur l’un des deux grands protagonistes de cette guerre meurtrière qui massacre des civils depuis
TEST: Avec le y.



__eleu_élisions_superflues__
    l’  @>[aâeéèêiîoôuûyœæh].*;é
        <<- /eleu/ morph(\2, ":(?:[123][sp]|[NA].*:e)") -1>> "le |la "      && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:m") -1>> "le "           && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:f") -1>> "la "           && Pas d’élision.
................................................................................
        <<- /conf/ not \1.isupper() and \3.islower() -1:2>> d’          && Incohérence.

TEST: Ça t’arrive {{de d’}}arriver à l’heure ?                                                      ->> d’
TEST: Les écrits de d’Alembert.


__conf_déterminant_fem_sing_verbe__
    [ma|cette|ladite]  @:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA].*:[fe]:[si]", True)                      && Incohérence avec “\1” : “\2” est une forme verbale.





    quelle  @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir)/
        <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") and hasSimil(\2, ":[NA].*:[fe]:[si]")
        -2>> =suggSimil(\2, ":[NA].*:[fe]:[si]", True)                                              && Incohérence avec “\1” : “\2” est une forme verbale.

    sa  @:(?:Y|[123][sp])¬:(?:N.*:[fe]|A|W)
        <<- /conf/ not \1.isupper() and \2.islower() >>>
................................................................................
TEST: {{sa}} devient difficile.                                                 ->> ça
TEST: il me tendit {{sa}} {{pèche}}.                                            ->> ça|||pêche
TEST: {{sa}} prend du temps.                                                    ->> ça|se
TEST: {{çà}} va                                                                 ->> ça
TEST: {{sa}} va                                                                 ->> ça
TEST: {{sa}} a tout changé                                                      ->> ça
TEST: {{quelle}} {{camera}} ce serait ?                                         ->> qu’elle|||caméra

TEST: quelle serait la solution ?
TEST: quelle pourrait être la solution à ce problème ?


# ta / t’as
__conf_t_as_ta_t_a__
    ta  [que|qu’]
................................................................................


    qui  [lui|nous|vous]  à
        <<- /conf/ -3>> a                                           && Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: un élève qui nous {{à}} fait bien des misères.                    ->> a









    [leur|leurs] à
        <<- /conf/ not morph(<1, ":D") --1>> a                      && Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: le peuple leur {{à}} donner tort                                  ->> a


    à  le  @:[NAQ].*:[me]¬:(?:Y|Ov)
        <<- /conf/ -1:2>> a le|au
        && Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “au”. Exemple : _à_ midi, il _a_ pris son déjeuner _au_ restaurant.

TEST: Ce chien, croyons-nous savoir, {{à le}} maître le plus violent qui soit.      ->> a le|au


    à  le  @:[NAQ].*:f¬:(?:Y|Ov)
        <<- /conf/ -1:2>> à la|a la
        && Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “a la”. Exemple : elle _a_ la Palme d’Or du festival de Cannes.
        <<- !2>>

TEST: {{à le}} {{donnée}}                                               ->> à la|a la|||donner


    à  les  @:[NAQ]¬:(?:Y|Oo)
        <<- /conf/ -1:2>> a les|aux
        && Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “aux”. Exemple : Elle _a_ donné du travail _aux_ employés _à_ profusion.

TEST: Celui qui y croit {{à les}} moyens d’y parvenir.                  ->> a les|aux
TEST: à tous les sots, je dis “merde”.


    à  *WORD
................................................................................
TEST: {{nuis}} d’insomnie                                       ->> nuit|nuits
TEST: je leur nuis tous les jours


# nulle part
__conf_nulle_part__
    nul part
        <<- /conf/ not morph(<1, ":D.*:m:[si]") ->> nulle part      && Confusion : pour dire “en aucun lieu”, écrivez “nulle part”.

TEST: car {{nul part}} ailleurs, on n’en trouve une telle concentration     ->> nulle part


# oc / hoc
__conf_oc_hoc__
    ad oc
................................................................................
    qu’ y l’ [eu+ses|eut|eût] [cru+ses]
        <<- /conf/ -1:2>> qui                                   && Confusion. Locution “qui l’eût cru ?”.

TEST: Qui l’{{eut}} cru.                                            ->> eût
TEST: {{Qu’y}} l’eût cru.                                           ->> Qui
TEST: Qui l’eût cru ? Cette emmerdeuse nous a tous joués.












# quoi que / quoique
__conf_quoique_quoi_que__
    quoiqu’ il se soit ?$:W¿ passé
    quoiqu’ il se passe
    quoiqu’ il advienne
    quoiqu’ il arrive [<end>|,|)]
................................................................................
    en fait
        <<- not value(<1, "|je|tu|n’|il|on|elle|iel|") ~>> *

    en [mémoire|souvenir] du bon vieux temps @¬:A.*:[me]:[si]
    en [mémoire|souvenir] du bon vieux temps [<end>|,|)]
        <<- ~1:-2>> *

    en un sens  @¬:A.*:[me]:[si]
    en un sens  [<end>|,|)]
        <<- ~1:3>> *

    en sus
        <<- not value(<1, "|j’|tu|il|elle|iel|on|n’|") ~>> *

    entre autres choses  @¬:A.*:[fe]:[pi]
    entre autres choses  [<end>|,|)]
................................................................................

    [<start>|,|(]  [ça|cela|ceci|elle|iel]  [le|la|l’|les|lui|nous|vous|leur]  @:3s¬:G
        <<- =>> select(\-2, ":Ov") and select(\-1, ":3s")

    [elle|iel|celui-ci|celle-ci|celui-là|celle-là|ça|ceci] [a|fut|aura|est]
    [<start>|,|(] cela [a|fut|aura|est]
        <<- =>> select(\-1, ":V")










__da_point2__
    point
        <<- morph(<1, ":V") =>> select(\1, ":X")

__da_contre2__
    [>aller|>appuyer|>frapper|>hurler|>manifester|>marcher|>râler|>protester]  contre
................................................................................
TEST: {{ils me resteraient}} des sous                                       ->> il me resterait
TEST: {{ils ne resteraient}} aucun homme en vie                             ->> il ne resterait
TEST: {{ils ne nous resteraient}} que des miettes                           ->> il ne nous resterait
TEST: ils restent
TEST: ils restent là



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


















































__purge_prépositions_pronoms__
    à part [cela|ceci|ça]
    à [cela|ceci|ça] près
        <<- ~>> *

    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi] ?tout¿ [cela|ceci|ça]   [<end>|,|@:[VXG]¬>qui/]
................................................................................
!!
!!
!!!! Participes passés: se +être +verbe                                                           !!
!!
!!

__ppas_je_me_être_verbe__
    je  ?ne¿  [me|m’]  ?y¿  [suis|sois|soit|suit|étais|était|fusse|fusses|fus|fut|fût|serai|serais|serait]  @:Q.*:p¬:(?:G|Q.*:[si])|>dire/
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|"))
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “je”, il devrait être au singulier.

TEST: je ne me suis jamais {{perdus}}                                       ->> perdu
TEST: c’est de ce château que je me suis {{enfuis}}.                        ->> enfui
TEST: je me suis donné du temps.


__ppas_tu_te_être_verbe__
    tu  ?ne¿  [te|t’]  ?y¿  [es|est|sois|soit|étais|était|fusse|fusses|fus|fut|fût|sera|seras|serai|serais|serait]  @:Q.*:p¬:(?:G|Q.*:[si])|>dire/
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|"))
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “tu”, il devrait être au singulier.

TEST: tu t’es finalement {{retrouvés}} en mauvaise posture.                 ->> retrouvé
TEST: tu ne t’étais pas laissé le temps d’y réfléchir.


__ppas_il_se_être_verbe__
    il  ?ne¿  [se|s’]  ?y¿  [es|est|sois|soit|étais|était|fusse|fusses|fus|fut|fût|sera|seras|serai|serais|serait]  @:Q.*:(?:f|m:p)¬:(?:G|Q.*:m:[si])
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|"))
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “il”, il devrait être au masculin singulier.
















TEST: le dédale dans lequel il se serait {{perdue}}                         ->> perdu



TEST: il s’était perdu dans la forêt.
TEST: il s’était dit qu’il avait eu tort de s’irriter si vivement pour une telle peccadille.


__ppas_elle_se_être_verbe__
    elle  ?ne¿  [se|s’]  ?y¿  [es|est|sois|soit|étais|était|fusse|fusses|fus|fut|fût|sera|seras|serai|serais|serait]  @:Q.*:(?:m|f:p)¬:(?:G|Q.*:f:[si])|>dire/
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not morph(<1, ":R|>que/"))
        --1>> =suggVerbPpas(\-1, ":f:s")                                                            && Si ce participe passé se rapporte bien à “elle”, il devrait être au féminin singulier.
















TEST: elle s’y était {{préparé}}.                                           ->> préparée






TEST: elle s’était trouvé un mari.
















__ppas_nous_nous_être_verbe__
    nous  ?ne¿  nous  ?y¿  [sommes|étions|fûmes|fussions|serons|serions]  @:Q.*:s¬:(?:G|Q.*:[pi])|>(?:dire|parler)/
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not morph(<1, ":R|>que/"))

        --1>> =suggVerbPpas(\-1, ":p")                                                              && Si ce participe passé se rapporte bien à “nous”, il devrait être au pluriel.

TEST: Nous nous étions {{cru}} au paradis.                                  ->> crus|crues
TEST: nous nous sommes parlé.



__ppas_ils_se_être_verbe__
    ils  ?ne¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|serons|seraient]  @:Q.*:(?:f|m:s)¬:(?:G|Q.*:m:[pi])|>dire/
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|"))

        --1>> =suggVerbPpas(\-1, ":m:p")                                                            && Si ce participe passé se rapporte bien à “ils”, il devrait être au masculin pluriel.

TEST: ils s’y étaient {{abandonné}} avec ferveur                            ->> abandonnés


__ppas_elles_se_être_verbe__
    elles  ?ne¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  @:Q.*:(?:m|f:s)¬:(?:G|Q.*:f:[pi])|>dire/
        <<- /ppas/ morph(\-1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not morph(<1, ":R|>que/"))
        --1>> =suggVerbPpas(\-1, ":f:p")                                                            && Si ce participe passé se rapporte bien à “elles”, il devrait être au féminin pluriel.

TEST: elles ne s’y étaient pas {{donnée}}.                                  ->> données
TEST: sans fin elles se sont succédé




































__ppas_ne_me_te_se_être__
    [ne|n’]  ?[y|en]¿  être  @:(?:Y|[123][sp])¬:[QAG]
        <<- /ppas/ --1>> =suggVerbPpas(\-1)                                                         && Incohérence. Le verbe devrait être un participe passé.

    [me|m’|te|se|s’]  ?[y|en]¿  >être  @:(?:Y|[123][sp])¬:[QAG]
        <<- /ppas/ morph(\-2, ":[123]s") --1>> =suggVerbPpas(\-1, ":s")                             && Incohérence. Le verbe devrait être un participe passé.







|
|

|







 







>







 







|

>
>
>
>







 







>







 







>
>
>
>
>
>
>








|






|







|







 







|







 







>
>
>
>
>
>
>
>
>
>







 







|
|







 







>
>
>
>
>
>
>
>
>







 







<





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







 







|
|
|

|
|




|
|
|

|



|
|
|


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




|
|
|


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



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

|
<
>




>


|
|
<
>






|
|





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







1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
....
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
....
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
....
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
....
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
.....
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
.....
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
.....
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
.....
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
.....
28940
28941
28942
28943
28944
28945
28946

28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
.....
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069

30070
30071
30072
30073
30074
30075
30076
30077
30078
30079

30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
!!
!!
!!!! Signes typographiques                                                                        !!
!!
!!

__<s]/typo(typo_signe_moins)__
    -(\d+)  @@$  <<- not before("\\w$") ->> – \1|— \1|−\1
    && Pour une incise, utilisez un tiret demi-cadratin [1] ou un tiret cadratin [2]. Pour un nombre négatif, utilisez le signe typographique “moins” [3].

TEST: Résultat : {{-72}}.                                                   ->> – 72|— 72|−72


__<s>/typo(typo_signe_multiplication)__
    (\d+) ?[x*] ?(\d+)  @@0,$ <<- not \0.startswith("0x") ->> \1 × \2                               && Signe de multiplication typographique.

TEST: {{800 x 600}}                                                         ->> 800 × 600
TEST: {{800*600}}                                                           ->> 800 × 600
................................................................................
TEST: si il ou elle est plus jeune
TEST: Le un suit le zéro et précède le deux.
TEST: à la une
TEST: Ce sont les deux premiers principes de la philosophie chinoise
TEST: l’un passif et ténébreux, le Yin ; l’autre actif et lumineux, le Yang ; l’un mâle, le Yang.
TEST: Sur le Yémen maintenant, le département d’État s’est prononcé sur l’un des deux grands protagonistes de cette guerre meurtrière qui massacre des civils depuis
TEST: Avec le y.
TEST: la hyène, la ouate.


__eleu_élisions_superflues__
    l’  @>[aâeéèêiîoôuûyœæh].*;é
        <<- /eleu/ morph(\2, ":(?:[123][sp]|[NA].*:e)") -1>> "le |la "      && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:m") -1>> "le "           && Pas d’élision.
        <<- /eleu/ __else__ and morph(\2, ":[NA].*:f") -1>> "la "           && Pas d’élision.
................................................................................
        <<- /conf/ not \1.isupper() and \3.islower() -1:2>> d’          && Incohérence.

TEST: Ça t’arrive {{de d’}}arriver à l’heure ?                                                      ->> d’
TEST: Les écrits de d’Alembert.


__conf_déterminant_fem_sing_verbe__
    [cette|ladite]  @:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA].*:[fe]:[si]", True)                      && Incohérence avec “\1” : “\2” est une forme verbale.

    ma  @:(?:Y|[123][sp])¬:[NA]
        <<- /conf/ \2.islower() -2>> =suggSimil(\2, ":[NA].*:[fe]:[si]", True)                      && Incohérence avec “\1” : “\2” est une forme verbale.
        <<- /conf/ __also__ -1>> me                                                                 && Incohérence : “\2” est une forme verbale. Vouliez-vous écrire “me” ?

    quelle  @:V[123].*:(?:Y|[123][sp])¬:[NA]|>(?:pouvoir|vouloir|aller|devoir)/
        <<- /conf/ \2.islower() and not value(<1, "|le|la|les|") and hasSimil(\2, ":[NA].*:[fe]:[si]")
        -2>> =suggSimil(\2, ":[NA].*:[fe]:[si]", True)                                              && Incohérence avec “\1” : “\2” est une forme verbale.

    sa  @:(?:Y|[123][sp])¬:(?:N.*:[fe]|A|W)
        <<- /conf/ not \1.isupper() and \2.islower() >>>
................................................................................
TEST: {{sa}} devient difficile.                                                 ->> ça
TEST: il me tendit {{sa}} {{pèche}}.                                            ->> ça|||pêche
TEST: {{sa}} prend du temps.                                                    ->> ça|se
TEST: {{çà}} va                                                                 ->> ça
TEST: {{sa}} va                                                                 ->> ça
TEST: {{sa}} a tout changé                                                      ->> ça
TEST: {{quelle}} {{camera}} ce serait ?                                         ->> qu’elle|||caméra
TEST: elle {{ma}} {{prévient}}                                                  ->> me|||prévenue
TEST: quelle serait la solution ?
TEST: quelle pourrait être la solution à ce problème ?


# ta / t’as
__conf_t_as_ta_t_a__
    ta  [que|qu’]
................................................................................


    qui  [lui|nous|vous]  à
        <<- /conf/ -3>> a                                           && Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: un élève qui nous {{à}} fait bien des misères.                    ->> a


    qui à de [quoi|qui]
        <<- /conf/ -2>> a                                           && Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: une situation qui {{à}} de quoi nous faire perdre la tête         ->> a
TEST: un acte militant qui a de quoi inquiéter


    [leur|leurs] à
        <<- /conf/ not morph(<1, ":D") --1>> a                      && Confusion : “à” est une préposition. Pour le verbe avoir, écrivez “a”.

TEST: le peuple leur {{à}} donner tort                                  ->> a


    à  le  @:[NAQ].*:[me]¬:(?:Y|Ov)
        <<- /conf/ space(\1, 1, 1) -1:2>> a le|au
        && Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “au”. Exemple : _à_ midi, il _a_ pris son déjeuner _au_ restaurant.

TEST: Ce chien, croyons-nous savoir, {{à le}} maître le plus violent qui soit.      ->> a le|au


    à  le  @:[NAQ].*:f¬:(?:Y|Ov)
        <<- /conf/ space(\1, 1, 1) -1:2>> à la|a la
        && Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “a la”. Exemple : elle _a_ la Palme d’Or du festival de Cannes.
        <<- !2>>

TEST: {{à le}} {{donnée}}                                               ->> à la|a la|||donner


    à  les  @:[NAQ]¬:(?:Y|Oo)
        <<- /conf/ space(\1, 1, 1) -1:2>> a les|aux
        && Confusion. Ou vous confondez “à” (préposition) avec “a” (avoir), ou vous devez employer “aux”. Exemple : Elle _a_ donné du travail _aux_ employés _à_ profusion.

TEST: Celui qui y croit {{à les}} moyens d’y parvenir.                  ->> a les|aux
TEST: à tous les sots, je dis “merde”.


    à  *WORD
................................................................................
TEST: {{nuis}} d’insomnie                                       ->> nuit|nuits
TEST: je leur nuis tous les jours


# nulle part
__conf_nulle_part__
    nul part
        <<- /conf/ not morph(<1, ":D.*:m:[si]") ->> nulle part      && Confusion probable : pour dire “en aucun lieu”, écrivez “nulle part”.

TEST: car {{nul part}} ailleurs, on n’en trouve une telle concentration     ->> nulle part


# oc / hoc
__conf_oc_hoc__
    ad oc
................................................................................
    qu’ y l’ [eu+ses|eut|eût] [cru+ses]
        <<- /conf/ -1:2>> qui                                   && Confusion. Locution “qui l’eût cru ?”.

TEST: Qui l’{{eut}} cru.                                            ->> eût
TEST: {{Qu’y}} l’eût cru.                                           ->> Qui
TEST: Qui l’eût cru ? Cette emmerdeuse nous a tous joués.


# qui plus est
__loc_qui_plus_est__
    !! qui plus est ¡¡
    qui [plu+s] [est+s|es|ait|aie+s|ai+s|hé|eh|aient|é]
        <<- /loc/ ->> qui plus est                              && Confusion. Locution “qui plus est”, qui signifie “de plus”.|https://fr.wiktionary.org/wiki/qui_plus_est

TEST: {{qui plu est}}, il ne cessait de nous faire la gueule        ->> qui plus est
TEST: c’est un tyran, qui plus est.


# quoi que / quoique
__conf_quoique_quoi_que__
    quoiqu’ il se soit ?$:W¿ passé
    quoiqu’ il se passe
    quoiqu’ il advienne
    quoiqu’ il arrive [<end>|,|)]
................................................................................
    en fait
        <<- not value(<1, "|je|tu|n’|il|on|elle|iel|") ~>> *

    en [mémoire|souvenir] du bon vieux temps @¬:A.*:[me]:[si]
    en [mémoire|souvenir] du bon vieux temps [<end>|,|)]
        <<- ~1:-2>> *

    en [ce|un] sens  @¬:A.*:[me]:[si]
    en [ce|un] sens  [<end>|,|)]
        <<- ~1:3>> *

    en sus
        <<- not value(<1, "|j’|tu|il|elle|iel|on|n’|") ~>> *

    entre autres choses  @¬:A.*:[fe]:[pi]
    entre autres choses  [<end>|,|)]
................................................................................

    [<start>|,|(]  [ça|cela|ceci|elle|iel]  [le|la|l’|les|lui|nous|vous|leur]  @:3s¬:G
        <<- =>> select(\-2, ":Ov") and select(\-1, ":3s")

    [elle|iel|celui-ci|celle-ci|celui-là|celle-là|ça|ceci] [a|fut|aura|est]
    [<start>|,|(] cela [a|fut|aura|est]
        <<- =>> select(\-1, ":V")

    [je|j’] [me|m’] [suis|étais|fus|sois|fusse|serai|serais]                $:Q
    tu [te|t’]      [es|étais|fus|sois|fusses|seras|serais]                 $:Q
    [se|s’]         [est|était|fut|soit|fût|sera|serait]                    $:Q
    [se|s’]         [sont|étaient|furent|soient|fussent|seront|seraient]    $:Q
    nous nous [sommes|étions|fûmes|soyons|fussions|serons|serions]          $:Q
    vous vous [êtes|étiez|fûtes|soyez|fussiez|serez|seriez]                 $:Q
        <<- =>> select(\-1, ":Q")


__da_point2__
    point
        <<- morph(<1, ":V") =>> select(\1, ":X")

__da_contre2__
    [>aller|>appuyer|>frapper|>hurler|>manifester|>marcher|>râler|>protester]  contre
................................................................................
TEST: {{ils me resteraient}} des sous                                       ->> il me resterait
TEST: {{ils ne resteraient}} aucun homme en vie                             ->> il ne resterait
TEST: {{ils ne nous resteraient}} que des miettes                           ->> il ne nous resterait
TEST: ils restent
TEST: ils restent là



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


__tag_COI__
    [je|j’]  ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]              ($:Q)  à            $:D @:[NA]¬:Y
    [je|j’]  ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]              ($:Q)  [au|aux]     @:[NA]
    [je|j’]  ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]              ($:Q)  à            $:M
    tu       ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]               ($:Q)  à            $:D @:[NA]¬:Y
    tu       ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]               ($:Q)  [au|aux]     @:[NA]
    tu       ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]               ($:Q)  à            $:M
    nous     ?[ne|n’]¿  nous     ?y¿  [sommes|étions|fûmes|fussions|serons|serions]         ($:Q)  à            $:D @:[NA]¬:Y
    nous     ?[ne|n’]¿  nous     ?y¿  [sommes|étions|fûmes|fussions|serons|serions]         ($:Q)  [au|aux]     @:[NA]
    nous     ?[ne|n’]¿  nous     ?y¿  [sommes|étions|fûmes|fussions|serons|serions]         ($:Q)  à            $:M
        <<- /1>> _COI_

    [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                  ($:Q)  à            $:D @:[NA]¬:Y
    [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                  ($:Q)  [au|aux]     @:[NA]
    [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                  ($:Q)  à            $:M
    [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  ($:Q)  à            $:D @:[NA]¬:Y
    [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  ($:Q)  [au|aux]     @:[NA]
    [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  ($:Q)  à            $:M
        <<- /1>> _COI_

    [je|j’]             ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]              ($:Q)  à  {_pronom_obj_}
    tu                  ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]               ($:Q)  à  {_pronom_obj_}
    nous                ?[ne|n’]¿  nous     ?y¿  [sommes|étions|fûmes|fussions|serons|serions]         ($:Q)  à  {_pronom_obj_}
        <<- not ( morph(\-1, ":Ov") and morph(>1, ":(?:Ov|Y)") ) /1>> _COI_

    [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                  ($:Q)  à  {_pronom_obj_}
    [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  ($:Q)  à  {_pronom_obj_}
        <<- not ( morph(\-1, ":Ov") and morph(>1, ":(?:Ov|Y)") ) /1>> _COI_

    [auquel|auxquels|auxquelles] [je|j’]            ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]                 $:Q
    à laquelle                   [je|j’]            ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]                 $:Q
    [auquel|auxquels|auxquelles] tu                 ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]                  $:Q
    à laquelle                   tu                 ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]                  $:Q
    [auquel|auxquels|auxquelles] [il|elle|iel]      ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                     $:Q
    à laquelle                   [il|elle|iel]      ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                     $:Q
    [auquel|auxquels|auxquelles] nous               ?[ne|n’]¿  nous     ?y¿  [sommes|étions|fûmes|fussions|serons|serions]            $:Q
    à laquelle                   nous               ?[ne|n’]¿  nous     ?y¿  [sommes|étions|fûmes|fussions|serons|serions]            $:Q
    [auquel|auxquels|auxquelles] [ils|elles|iels]   ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]     $:Q
    à laquelle                   [ils|elles|iels]   ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]     $:Q
        <<- /-1>> _COI_

    [auquel|auxquels|auxquelles] @:D.*:s  *WORD    ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                     $:Q
    à laquelle                   @:D.*:s  *WORD    ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]                     $:Q
    [auquel|auxquels|auxquelles] @:D.*:p  *WORD    ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]     $:Q
    à laquelle                   @:D.*:p  *WORD    ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]     $:Q
        <<- /-1>> _COI_


__purge_prépositions_pronoms__
    à part [cela|ceci|ça]
    à [cela|ceci|ça] près
        <<- ~>> *

    [à|après|avant|avec|par|pour|contre|sans|envers|chez|de|d’|en|malgré|selon|parmi] ?tout¿ [cela|ceci|ça]   [<end>|,|@:[VXG]¬>qui/]
................................................................................
!!
!!
!!!! Participes passés: se +être +verbe                                                           !!
!!
!!

__ppas_je_me_être_verbe__
    [je|j’]  ?[ne|n’]¿  [me|m’]  ?y¿  [suis|sois|étais|fusse|fus|serai|serais]  @:Q.*:p¬:(?:G|Q.*:[si])
        <<- /ppas/ not value(<1, "|que|qu’|") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":s")                                                            && Si ce participe passé se rapporte bien à “je”, il devrait être au singulier.

TEST: je ne me suis jamais {{perdus}}                                       ->> perdu|perdue
TEST: je me suis {{enfuis}} à la campagne où j’ai tant d’amis.              ->> enfui|enfuie
TEST: je me suis donné du temps.


__ppas_tu_te_être_verbe__
    tu  ?[ne|n’]¿  [te|t’]  ?y¿  [es|sois|étais|fusses|fus|seras|serais]  @:Q.*:p¬:(?:G|Q.*:[si])
        <<- /ppas/ not value(<1, "|que|qu’|") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":s")                                                              && Si ce participe passé se rapporte bien à “tu”, il devrait être au singulier.

TEST: tu t’es finalement {{retrouvés}} en mauvaise posture.                 ->> retrouvé|retrouvée
TEST: tu ne t’étais pas laissé le temps d’y réfléchir.


__ppas_3s_mas_se_être_verbe__
    il  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:f|m:p)¬:(?:G|Q.*:m:[si])
        <<- /ppas/ not value(<1, "|que|qu’|") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “il”, il devrait être au masculin singulier.

    [un|ce|cet|le]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:f|m:p)¬:(?:G|Q.*:m:[si])
        <<- /ppas/ morph(\2, ":[NA].*:[me]:[si]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au masculin singulier.

    [l’|notre|votre|leur]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:f|m:p)¬:(?:G|Q.*:m:[si])
        <<- /ppas/ morph(\2, ":[NA].*:m:[si]", ":[fe]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au masculin singulier.

    [mon|ton|son]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:f|m:p)¬:(?:G|Q.*:m:[si])
        <<- /ppas/ morph(\2, ">[bcçdfghjklmnpqrstvwxz].*:[NA].*:m:[si]", ":[fe]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":m:s")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au masculin singulier.

TEST: le dédale dans lequel il se serait {{perdue}}                                                 ->> perdu
TEST: avec le jeu auquel cet homme s’est {{prise}}, on pense que                                    ->> pris|prisé
TEST: l’effort s’était {{amoindrie}}                                                                ->> amoindri
TEST: mon chien s’est {{trompée}}                                                                   ->> trompé
TEST: il s’était perdu dans la forêt.
TEST: il s’était dit qu’il avait eu tort de s’irriter si vivement pour une telle peccadille.


__ppas_3s_fem_se_être_verbe__
    elle  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:m|f:p)¬:(?:G|Q.*:f:[si])|>(?:dire|parler)/
        <<- /ppas/ not morph(<1, ":R|>qu[e’]/") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":f:s")                                                            && Si ce participe passé se rapporte bien à “elle”, il devrait être au féminin singulier.

    [une|cette|la|ma|ta|sa]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:m|f:p)¬:(?:G|Q.*:f:[si])|>(?:dire|parler)/
        <<- /ppas/ morph(\2, ":[NA].*:[fe]:[si]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":f:s")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au féminin singulier.

    [l’|notre|votre|leur]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:m|f:p)¬:(?:G|Q.*:f:[si])|>(?:dire|parler)/
        <<- /ppas/ morph(\2, ":[NA].*:f:[si]", ":[me]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":f:s")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au féminin singulier.

    [mon|ton|son]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:(?:m|f:p)¬:(?:G|Q.*:f:[si])|>(?:dire|parler)/
        <<- /ppas/ morph(\2, ">[aâeéèêiîoôuûyœæh].*:[NA].*:f:[si]", ":[me]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":f:s")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au féminin singulier.

TEST: elle s’y était {{préparé}}.                                                                   ->> préparée
TEST: le spectacle auquel elle s’était {{préparé}} toute la journée afin d’être parfaite            ->> préparée
TEST: elle s’était {{préparé}} au spectacle lamentable donné par ces gens, tu sais ?                ->> préparée
TEST: Elle s’est {{livré}} à toutes sortes d’actions douteuses, tu le sais ?                        ->> livrée
TEST: la petite s’était {{trompé}} si souvent                                                       ->> trompée
TEST: notre volonté s’était {{affaiblies}}                                                          ->> affaiblie
TEST: son élégance s’était {{estompé}}                                                              ->> estompée
TEST: elle s’était trouvé un mari.


__ppas_3s_epi_se_être_verbe__
    iel  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:p¬:(?:G|Q.*:[si])|>(?:dire|parler)/
        <<- /ppas/ not morph(<1, ":R|>qu[e’]/") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":s")                                                              && Si ce participe passé se rapporte bien à “iel”, il devrait être au singulier.

    [l’|notre|votre|leur|mon|ton|son]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [est|soit|était|fut|fût|sera|serait]  @:Q.*:p¬:(?:G|Q.*:[si])|>(?:dire|parler)/
        <<- /ppas/ morph(\2, ":[NA].*:e:[si]", ":[mf]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":s")                                                              && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au singulier.

TEST: iel s’est {{perdus}} dans cette ville                                 ->> perdu|perdue
TEST: notre psychologue s’est encore {{perdus}}                             ->> perdu|perdue


__ppas_nous_nous_être_verbe__
    nous  ?[ne|n’]¿  nous  ?y¿  [sommes|étions|fûmes|fussions|serons|serions]  @:Q.*:s¬:(?:G|Q.*:[pi])|>(?:dire|parler)/

        <<- /ppas/ not morph(<1, ":R|>qu[e’]/") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e_", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":p")                                                              && Si ce participe passé se rapporte bien à “nous”, il devrait être au pluriel.

TEST: Nous nous étions {{cru}} au paradis.                                  ->> crus|crues
TEST: nous nous sommes parlé.
TEST: nous nous sommes attaché à lui démontrer son erreur


__ppas_3p_mas_se_être_verbe__
    ils  ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  @:Q.*:(?:f|m:s)¬:(?:G|Q.*:m:[pi])|>(?:dire|parler)/

        <<- /ppas/ not value(<1, "|que|qu’|") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e_", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":m:p")                                                            && Si ce participe passé se rapporte bien à “ils”, il devrait être au masculin pluriel.

TEST: ils s’y étaient {{abandonné}} avec ferveur                            ->> abandonnés


__ppas_elles_se_être_verbe__
    elles  ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  @:Q.*:(?:m|f:s)¬:(?:G|Q.*:f:[pi])|>(?:dire|parler)/
        <<- /ppas/ not morph(<1, ":R|>qu[e’]/") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e_", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":f:p")                                                            && Si ce participe passé se rapporte bien à “elles”, il devrait être au féminin pluriel.

TEST: elles ne s’y étaient pas {{donnée}}.                                  ->> données
TEST: sans fin elles se sont succédé


__ppas_iels_se_être_verbe__
    iels  ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  @:Q.*:s¬:(?:G|Q.*:[pi])|>(?:dire|parler)/
        <<- /ppas/ not morph(<1, ":R|>qu[e’]/") and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":p")                                                             && Si ce participe passé se rapporte bien à “iels”, il devrait être au masculin pluriel.

TEST: iels s’y étaient {{abandonné}} avec ferveur                           ->> abandonnés|abandonnées


__ppas_det_plur_se_être_verbe__
    [les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|@:B:.:p]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  $:Q¬:G
        <<- /ppas/ not morph(<1, ":[RV]") and not agreement(\2, \-1, False) and not morph(\-1, ">(?:dire|parler)/")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) ) >>>
        <<- /ppas/ morph(\2, ":[NA].*:m:[pi]", ":[fe]") --1>> =suggVerbPpas(\-1, ":m:p")                && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au masculin pluriel.
        <<- /ppas/ __else__ and morph(\2, ":[NA].*:f:[pi]", ":[me]") --1>> =suggVerbPpas(\-1, ":f:p")   && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au féminin pluriel.
        <<- /ppas/ __else__ and morph(\2, ":[NA].*:e:[pi]") --1>> =suggVerbPpas(\-1, ":p")              && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au pluriel.

    [certains|maints]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  @:Q.*:(?:f|m:s)¬:(?:G|Q.*:m:[pi])|>(?:dire|parler)/
        <<- /ppas/ morph(\2, ":[NA].*:[me]:[pi]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":m:p")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au masculin pluriel.

    [certaines|maintes]  *WORD  ?[ne|n’]¿  [se|s’]  ?y¿  [sont|soient|étaient|furent|fussent|seront|seraient]  @:Q.*:(?:m|f:s)¬:(?:G|Q.*:f:[pi])|>(?:dire|parler)/
        <<- /ppas/ morph(\2, ":[NA].*:[fe]:[pi]") and not morph(<1, ":[RV]")
            and ( value(>1, "|<end>|") or morph(\-1, ":V[123]_.__p_e", "*") or ( tag(\-1, "_COI_") and morph(\-1, ":V[123]_.t.q", "*") ) )
        --1>> =suggVerbPpas(\-1, ":f:p")                                                            && Si ce participe passé se rapporte bien à “\1 \2”, il devrait être au féminin pluriel.

TEST: les légions se sont {{livré}} au pire instinct qui les animait            ->> livrées
TEST: ces hommes s’étaient {{dépravé}}                                          ->> dépravés
TEST: nos scientifiques se seraient {{relâché}}                                 ->> relâchés|relâchées
TEST: certaines femmes se sont {{donnée}} à lui                                 ->> données
TEST: certains hommes se sont {{abandonnées}} à cette mission                   ->> abandonnés
TEST: certains hommes se sont dit : « Pourquoi pas nous ? »


__ppas_ne_me_te_se_être__
    [ne|n’]  ?[y|en]¿  être  @:(?:Y|[123][sp])¬:[QAG]
        <<- /ppas/ --1>> =suggVerbPpas(\-1)                                                         && Incohérence. Le verbe devrait être un participe passé.

    [me|m’|te|se|s’]  ?[y|en]¿  >être  @:(?:Y|[123][sp])¬:[QAG]
        <<- /ppas/ morph(\-2, ":[123]s") --1>> =suggVerbPpas(\-1, ":s")                             && Incohérence. Le verbe devrait être un participe passé.