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: trunk, fr
2021-03-03
18:51
[fr] ajustements check-in: 9fcd5b4f0e user: olr tags: trunk, fr
2021-03-02
14:36
[fr] ajustements check-in: 1716996543 user: olr tags: trunk, fr
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
1195
1196
1197
1198
1199
1200
1201


1202
1203
1204

1205
1206
1207
1208
1209
1210
1211
1212







-
-
+
+

-
+







!!
!!
!!!! 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].
    -(\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
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
4956
4957
4958
4959
4960
4961
4962

4963
4964
4965
4966
4967
4968
4969
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970







+







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.
8134
8135
8136
8137
8138
8139
8140
8141

8142




8143
8144
8145
8146
8147
8148
8149
8135
8136
8137
8138
8139
8140
8141

8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154







-
+

+
+
+
+







        <<- /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]
    [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() >>>
8159
8160
8161
8162
8163
8164
8165

8166
8167
8168
8169
8170
8171
8172
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178







+







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’]
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
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







+
+
+
+
+
+
+








-
+






-
+







-
+









    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/ -1:2>> a le|au
        <<- /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/ -1:2>> à la|a la
        <<- /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/ -1:2>> a les|aux
        <<- /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
12174
12175
12176
12177
12178
12179
12180
12181

12182
12183
12184
12185
12186
12187
12188
12187
12188
12189
12190
12191
12192
12193

12194
12195
12196
12197
12198
12199
12200
12201







-
+







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”.
        <<- /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
13390
13391
13392
13393
13394
13395
13396










13397
13398
13399
13400
13401
13402
13403
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426







+
+
+
+
+
+
+
+
+
+







    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>|,|)]
20131
20132
20133
20134
20135
20136
20137
20138
20139


20140
20141
20142
20143
20144
20145
20146
20154
20155
20156
20157
20158
20159
20160


20161
20162
20163
20164
20165
20166
20167
20168
20169







-
-
+
+







    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>|,|)]
    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>|,|)]
21004
21005
21006
21007
21008
21009
21010









21011
21012
21013
21014
21015
21016
21017
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049







+
+
+
+
+
+
+
+
+








    [<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
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920

















































28921
28922
28923
28924
28925
28926
28927
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







-





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







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/]
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
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







-
-
-
+
+
+

-
-
+
+




-
-
-
+
+
+

-
+



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

+
+
+
+
+
-
+
+
+
+




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

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



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

-
-
+
+




+


-
-
-
+
+
+






-
-
+
+





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







!!
!!
!!!! 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.
    [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
TEST: c’est de ce château que je me suis {{enfuis}}.                        ->> enfui
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¿  [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.
    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é
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_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.
__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: 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_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.
__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: 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¿  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/"))
    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_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’|"))
__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¿  [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/"))
    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é.