13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
|
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
+
+
-
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
-
+
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
-
-
-
+
-
-
-
-
-
-
-
+
+
|
TEST: Est-il souvent {{arrivait}} de se tromper ?
TEST: Ne sommes-nous pas {{aveugle}}
TEST: Que se sont-ils dit ?
TEST: Ton rendez-vous arrive bientôt.
TEST: Est-il question de ceci ou de cela ?
TEST: Est-ce former de futurs travailleurs ou bien des citoyens
@@@@
@@@@
@@@@
@@@@
@@@@END_GRAPH _
@@@@
@@@@
@@@@
@@@@
## Accord et incohérences
__[i]/ppas(ppas_sont)__
sont ({w_2}) @@5
<<- morphex(\1, ":[NAQ]", ":[QWGBMpi]") and not re.search("(?i)^(?:légion|nombre|cause)$", \1) and not before(r"(?i)\bce que?\b")
-1>> =suggPlur(@) # Incohérence : « \1 » est au singulier. Ou vous confondez « sont » et « son », ou l’accord en nombre est incorrect.
<<- __else__ and morphex(\1, ":V", ":(?:N|A|Q|W|G|3p)") and not before(r"(?i)\bce que?\b")
-1>> =suggVerbPpas(\1, ":m:p") # Incohérence : « \1 » n’est pas un participe passé.
TEST: après avoir mis à jour sont {{profile}}.
!!
!!
!!!! Se croire/considérer/montrer/penser/révéler/savoir/sentir/voir/vouloir + participe passé/adj !!
!!
!!
__[i]/ppas(ppas_je_me_verbe)__
je +(?:ne +|)me +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@w,$
__ppas_je_me_verbe__
[je|j’] ?[ne|n’]¿ [me|m’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:p¬:(?:[GWYsi]|V0)
<<- morph(\1, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False) and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
-2>> =suggSing(@) # Accord avec le sujet « je » : « \2 » devrait être au singulier.
<<- /ppas/ --1>> =suggSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au singulier.
TEST: je me savais {{implacables}} avec eux
__[i]/ppas(ppas_tu_te_verbe)__
tu +(?:ne +|)te +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@w,$
__ppas_tu_te_verbe__
tu ?[ne|n’]¿ [te|t’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:p¬:(?:[GWYsi]|V0)
<<- morph(\1, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False) and morphex(\2, ":[NAQ].*:p", ":[GWYsi]")
-2>> =suggSing(@) # Accord avec le sujet « je » : « \2 » devrait être au singulier.
<<- /ppas/ --1>> =suggSing(\-1) # Accord avec le sujet “tu” : “\-1” devrait être au singulier.
TEST: quand tu te montres {{infaillibles}}
__[i]/ppas(ppas_il_se_verbe)__
(il|ce|ce qui|celui +qui|ça +qui|lui +qui|celui-(?:ci|là)|quiconque|lequel) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@0,w,$
<<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False)
and (morphex(\3, ":[NAQ].*:p", ":[GWsi]") or morphex(\3, ":[NAQ].*:f", ":[GWYme]"))
and (not re.search("^(?:celui-(?:ci|là)|lequel)$", \1) or not morph(word(-1), ":R", False, False))
-3>> =suggMasSing(@) # Accord avec le sujet « \1 » : « \3 » devrait être au masculin singulier.
__ppas_3sg_mas_se_verbe__
[il|quiconque] ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
<<- /ppas/ --1>> =suggMasSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
[lui|ça|ceci|cela|celui-ci|celui-là] ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
<<- /ppas/ not morph(<1, ":[RV]|>de/") --1>> =suggMasSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
([lui|ça|ceci|cela|ce|c’|ç’|celui|celui-ci|celui-là]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]) @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
<<- /ppas/ morph(\2, ":[123]s") --1>> =suggMasSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
lequel ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[pf]¬:(?:G|W|V0|:[me]:[si])
<<- /ppas/ not morph(<1, ":R") --1>> =suggMasSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
TEST: il se révéla totalement {{incapables}} d’y parvenir.
TEST: ceci se veut {{différents}} des autres.
TEST: celui-là qui ne se montre jamais {{reconnaissants}}
TEST: lequel se veut {{imbattables}} ?
__[i]/ppas(ppas_elle_se_verbe)__
(elle|celle-(?:ci|là)|laquelle) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@0,w,$
<<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False)
and (morphex(\3, ":[NAQ].*:p", ":[GWsi]") or morphex(\3, ":[NAQ].*:m", ":[GWYfe]"))
__ppas_3sg_fem_se_verbe__
[elle|celle-ci|celle-là] ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[pm]¬:(?:G|W|V0|:[fe]:[si])
<<- /ppas/ not morph(<1, ":[RV]|>de/") --1>> =suggFemSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.
([elle|celle|celle-ci|celle-là]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]) @:[NA].*:[pm]¬:(?:G|W|V0|:[fe]:[si])
<<- /ppas/ morph(\2, ":[123]s") --1>> =suggFemSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.
and not morph(word(-1), ":R", False, False)
-3>> =suggFemSing(@) # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.
laquelle ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[pm]¬:(?:G|W|V0|:[fe]:[si])
<<- /ppas/ not morph(<1, ":R|>de/") --1>> =suggFemSing(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.
TEST: Elle se sait plus {{fortes}} qu’eux tous.
TEST: elle se vit {{abandonné}}
__[i]/ppas(ppas_elle_qui_se_verbe)__
(c?elle +qui) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@0,w,$
<<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False)
and (morphex(\3, ":[NAQ].*:p", ":[GWsi]") or morphex(\3, ":[NAQ].*:m", ":[GWYfe]"))
-3>> =suggFemSing(@) # Accord avec le sujet « \1 » : « \3 » devrait être au féminin singulier.
TEST: à celle qui se révélera {{attentif}} à tous ces problèmes.
TEST: laquelle ne se sentit {{légitimes}} malgré ses compétences dans ce domaine.
__[i]/ppas(ppas_nous_nous_verbe)__
__ppas_1pl_nous_verbe__
nous +(?:ne +|)nous +((?:s[eauû]|montr|pens|rév|v[oiîe])\w*ons) +({w_2}) @@w,$
<<- morph(\1, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False) and morphex(\2, ":[NAQ].*:s", ":[GWpi]")
-2>> =suggPlur(@) # Accord avec le sujet « nous » : « \2 » devrait être au pluriel.
nous ?[ne|n’]¿ nous ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]) @:[NA].*:s¬:(?:[GWpi]|V0)
<<- /ppas/ morph(\1, ":1p") --1>> =suggPlur(\-1) # Accord avec le sujet “nous” : “\-1” devrait être au pluriel.
TEST: nous nous pensions {{invincible}} jusqu’au jour où tout a basculé.
__[i]/ppas(ppas_ils_se_verbe)__
(ils|c?eux +qui|ceux-ci|ceux-là|lesquels) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@0,w,$
<<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False)
and (morphex(\3, ":[NAQ].*:s", ":[GWpi]") or morphex(\3, ":[NAQ].*:f", ":[GWYme]"))
and (not re.search("^(?:ceux-(?:ci|là)|lesquels)$", \1) or not morph(word(-1), ":R", False, False))
-3>> =suggMasPlur(@) # Accord avec le sujet « \1 » : « \3 » devrait être au masculin pluriel.
__ppas_3pl_mas_se_verbe__
ils ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
<<- /ppas/ --1>> =suggMasPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
[ceux-ci|ceux-là] ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
<<- /ppas/ not morph(<1, ":[RV]|>de/") --1>> =suggMasPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
([eux|ceux|ceux-ci|ceux-là]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]) @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
<<- /ppas/ morph(\2, ":3p") --1>> =suggMasPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
lesquels ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[sf]¬:(?:G|W|V0|:[me]:[pi])
<<- /ppas/ not morph(<1, ":R") --1>> =suggMasPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au masculin singulier.
TEST: ils se montrent {{exigeantes}}
TEST: ceux-ci se surent {{espionné}} par les agents secrets de l’ennemi.
TEST: agissons eux qui se montrent tellement {{arrogantes}} qu’ils méritent une petite leçon.
TEST: lesquels se pensent encore {{anonyme}}
__[i]/ppas(ppas_elles_se_verbe)__
(elles|c?elles +qui|celles-(?:ci|là)|lesquelles) +(?:ne +|)se +((?:s[eauû]|montr|pens|rév|v[oiîe])\w+) +({w_2}) @@0,w,$
<<- morph(\2, ">(?:montrer|penser|révéler|savoir|sentir|voir|vouloir)/", False)
and (morphex(\3, ":[NAQ].*:s", ":[GWpi]") or morphex(\3, ":[NAQ].*:m", ":[GWYfe]"))
__ppas_3pl_fem_se_verbe__
[elles|celles-ci|celles-là] ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[sm]¬:(?:G|W|V0|:[fe]:[pi])
<<- /ppas/ not morph(<1, ":[RV]|>de/") --1>> =suggFemPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.
([elles|celles|celles-ci|celles-là]) qui ?[ne|n’]¿ [se|s’] ?[en|y]¿ ([>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir]) @:[NA].*:[sm]¬:(?:G|W|V0|:[fe]:[pi])
<<- /ppas/ morph(\2, ":3p") --1>> =suggFemPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.
and (not re.search("^(?:elles|celles-(?:ci|là)|lesquelles)$", \1) or not morph(word(-1), ":R", False, False))
-3>> =suggFemPlur(@) # Accord avec le sujet « \1 » : « \3 » devrait être au féminin pluriel.
lesquelles ?[ne|n’]¿ [se|s’] ?[en|y]¿ [>montrer|>penser|>révéler|>savoir|>sentir|>voir|>vouloir] @:[NA].*:[sm]¬:(?:G|W|V0|:[fe]:[pi])
<<- /ppas/ not morph(<1, ":R|>de/") --1>> =suggFemPlur(\-1) # Accord avec le sujet “\1” : “\-1” devrait être au féminin singulier.
TEST: elles se sentent {{perdu}}
TEST: contre celles qui se veulent {{ignorante}} des réalités.
TEST: Lesquelles s’y montraient {{dure}}.
__[i]/ppas(ppas_le_verbe_pensée)__
__ppas_le_verbe_pensée__
le ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}[esx]) @@w,$
<<- morph(\1, ">(?:trouver|considérer|croire|rendre|voilà)/", False) and morphex(\2, ":[AQ].*:(?:[me]:p|f)", ":(?:G|Y|[AQ].*:m:[is])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
-2>> =suggMasSing(@) # Accord avec le COD “le” : « \2 » doit être au masculin singulier.
__[i]/ppas(ppas_la_verbe_pensée)__
le [>trouver|>considérer|>croire|>rendre|voilà] *WORD
<<- /ppas/ morph(\3, ":[AQ].*:(?:[me]:p|f)", ":(?:G|Y|V0|[AQ].*:m:[is])") and not (morph(\2, ":Y") and morph(\3, ":3s"))
-3>> =suggMasSing(\3) # Accord avec le COD “le” : « \3 » doit être au masculin singulier.
__ppas_la_verbe_pensée__
la ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}[uiéesx]) @@w,$
<<- morph(\1, ">(?:trouver|considérer|croire|rendre|voilà)/", False) and morphex(\2, ":[AQ].*:(?:[fe]:p|m)", ":(?:G|Y|[AQ]:f:[is])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
-2>> =suggFemSing(@) # Accord avec le COD “la” : « \2 » doit être au féminin singulier.
__[i]/ppas(ppas_les_verbe_pensée)__
la [>trouver|>considérer|>croire|>rendre|voilà] *WORD
<<- /ppas/ morph(\3, ":[AQ].*:(?:[fe]:p|m)", ":(?:G|Y|V0|[AQ]:f:[is])") and not (morph(\2, ":Y") and morph(\2, ":3s"))
-3>> =suggFemSing(\3) # Accord avec le COD “la” : « \2 » doit être au féminin singulier.
__ppas_les_verbe_pensée__
les ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}) @@w,$
<<- morph(\1, ">(?:trouver|considérer|croire|rendre|voilà)/", False) and morphex(\2, ":[AQ].*:s", ":(?:G|Y|[AQ].*:[ip])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
-2>> =suggPlur(@) # Accord avec le COD “les” : « \2 » doit être au pluriel.
__[i]/ppas(ppas_me_te_verbe_pensée)__
les [>trouver|>considérer|>croire|>rendre|voilà] *WORD
<<- /ppas/ morph(\3, ":[AQ].*:s", ":(?:G|Y|V0|[AQ].*:[ip])") and not (morph(\2, ":Y") and morph(\3, ":3s"))
-3>> =suggPlur(\3) # Accord avec le COD “les” : « \2 » doit être au pluriel.
__ppas_me_te_verbe_pensée__
([mt]e) ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}[sx]) @@0,w,$
<<- morph(\2, ">(?:trouver|considérer|croire|rendre|voilà)/", False) and morphex(\3, ":[AQ].*:p", ":(?:G|Y|[AQ].*:[is])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
-3>> =suggSing(@) # Accord avec le pronom “\1” : « \3 » doit être au singulier.
__[i]/ppas(ppas_se_verbe_pensée)__
[me|te] [>trouver|>considérer|>croire|>rendre|voilà] *WORD
<<- /ppas/ morph(\3, ":[AQ].*:p", ":(?:G|Y|V0|[AQ].*:[is])") and not (morph(\2, ":Y") and morph(\3, ":3s"))
-3>> =suggSing(\3) # Accord avec le pronom “\1” : « \3 » doit être au singulier.
__ppas_se_verbe_pensée__
se ((?:trouv|consid[éè]r|cr[ouû]|rend)\w*) +({w_3}) @@w,$
<<- morph(\1, ">(?:trouver|considérer|croire|rendre)/.*:3s", False) and morphex(\2, ":[AQ].*:p", ":(?:G|Y|[AQ].*:[is])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
-2>> =suggSing(@) # Accord avec le pronom “se” (le verbe étant au singulier) : « \2 » doit être au singulier.
se [>trouver|>considérer|>croire|>rendre] *WORD
<<- /ppas/ morph(\2, ":3s") and morph(\3, ":[AQ].*:p", ":(?:G|Y|V0|[AQ].*:[is])") and not (morph(\2, ":Y") and morph(\3, ":3s"))
-3>> =suggSing(\3) # Accord avec le pronom “se” (le verbe étant au singulier) : « \3 » doit être au singulier.
<<- __else__ and morph(\1, ">(?:trouver|considérer|croire|rendre)/.*:3p", False) and morphex(\2, ":[AQ].*:s", ":(?:G|Y|[AQ].*:[ip])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
-2>> =suggPlur(@) # Accord avec le pronom “se” (le verbe étant au pluriel) : « \2 » doit être au pluriel.
__[i]/ppas(ppas_nous_verbe_pensée)__
<<- /ppas/ __else__ and morph(\2, ":3p") and morph(\3, ":[AQ].*:s", ":(?:G|Y|V0|[AQ].*:[ip])") and not (morph(\2, ":Y") and morph(\3, ":3s"))
-3>> =suggPlur(\3) # Accord avec le pronom “se” (le verbe étant au pluriel) : « \3 » doit être au pluriel.
__ppas_nous_verbe_pensée__
nous ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}) @@w,$
<<- ( morphex(\1, ">(?:trouver|considérer|croire|rendre|voilà)/", ":1p")
nous [>trouver|>considérer|>croire|>rendre|voilà] *WORD
or (morph(\1, ">(?:trouver|considérer|croire)/.*:1p", False) and before(r"\bn(?:ous|e) +$")) )
and morphex(\2, ":[AQ].*:s", ":(?:G|Y|[AQ].*:[ip])")
and not (morph(\1, ":Y", False) and morph(\2, ":3s", False))
<<- /ppas/ ( not morph(\2, ":1p") or (morph(\2, ":1p") and value(<1, "|nous|ne|")) )
-2>> =suggPlur(@) # Accord avec le pronom “nous” : « \2 » doit être au pluriel.
#__[i]/ppas(ppas_vous_verbe)__
# vous ((?:trouv|consid[éè]r|cr[ouû]|rend|voilà)\w*) +({w_2}) @@w,$
# <<- ( morphex(\1, ">(?:trouver|considérer|croire|rendre|voilà)/", ":2p")
# or (morph(\1, ">(?:trouver|considérer|croire)/.*:2p", False) and before(r"\b(?:vous|ne) +$")) )
# and morphex(\2, ":[AQ].*:s", ":(?:G|[AQ].*:[ip])")
# -2>> =suggPlur(@) # Accord avec le pronom “vous” : « \2 » doit être au pluriel.
and morph(\3, ":[AQ].*:s", ":(?:G|Y|V0|[AQ].*:[ip])") and not (morph(\2, ":Y") and morph(\3, ":3s"))
-3>> =suggPlur(\3) # Accord avec le pronom “nous” : « \3 » doit être au pluriel.
TEST: ces hommes le rendent {{dingues}}
TEST: Il me considère {{stupides}}
TEST: Elle nous trouve {{stupide}}
TEST: Je les crois {{capable}} du pire
TEST: la voilà {{perdu}}
TEST: la voilà {{forcé}} à abandonner
|
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
|
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
|
-
+
-
-
+
+
+
-
-
-
+
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
+
-
-
+
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
TEST: mais les considérer uniquement ainsi fait perdre la signification politique de leur geste.
TEST: nous considérer ainsi fait le lit de la haine…
!!
!!
!!!! Avoir + participes passés !!
!!!! Participes passés après “avoir” !!
!!
!!
#__[i]/conj__ fait(s|e|es) ({w1}) <<- morph(\2, ":V") and not morph(\2, ":Y")
# ->> fait \1 # Le participe passé de faire reste au masculin singulier s’il est suivi par un verbe à l’infinitif.
__immu_les_avoir_fait_vinfi__
les >avoir fait ?[me|m’|te|t’|se|s’|nous|vous|leur]¿ @:Y
<<- %3>>
__[i](p_les_avoir_fait_vinfi)__
les ({avoir}) +(fait) +(?:[mts](?:e +|’)|)({infi}) @@w,w,$ <<- morph(\1, ">avoir/", False) and morph(\3, ":Y", False) ~2>> _
__[i]/ppas(ppas_pronom_avoir)__
__ppas_pronom_avoir__
(?:j’|je |tu |ils? |elles? |on |et )(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2}) @@w,$
<<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \2) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|))/", False, True)
and morph(\1, ":V0a", False) and not \2.isupper() and morphex(\2, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
-2>> =suggMasSing(@)
[je|j’|tu|il|elle|on|ils|elles|et] ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD
<<- /ppas/ not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|")
and value(<1, "|<start>|,|comme|comment|et|lorsque|mais|où|ou|quand|qui|pourquoi|puisque|quoique|si|sinon|")
and \-1.islower() and morph(\-1, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
--1>> =suggMasSing(\-1)
# Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: ils leur avaient {{donnés}} du fil à retordre.
TEST: il a {{affronte}} une bande de voleurs de bétail
TEST: J’ai {{mettrai}} du sel. ->> mis
TEST: J’ai {{lut}} son journal. ->> lu
TEST: Ils avaient barre sur lui.
TEST: Si j’avais {{sut}}.
TEST: Il a {{prit}} le train.
TEST: Il a {{donner}} sa vie pour elle. ->> donné
TEST: Ils leur ont {{données}} un cadeau.
TEST: ils avaient, en ce temps-là, déjà {{perdus}} leurs illusions
TEST: Elle avait {{pose}} son tricot ->> posé
TEST: Ils avaient barre sur lui.
__[i]/ppas(ppas_nous_vous_avoir)__
__ppas_nous_vous_avoir__
([nv]ous) +(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2}) @@0,w,$
<<- morph(\1, ":Os", False)
and not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \3) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|))/", False, True)
and morph(\2, ":V0a", False) and not \3.isupper() and morphex(\3, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
-3>> =suggMasSing(@)
[nous|vous] ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD
<<- /ppas/ morph(\1, ":Os")
and not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|")
and value(<1, "|<start>|,|comme|comment|et|lorsque|mais|où|ou|quand|qui|pourquoi|puisque|quoique|si|sinon|")
and not \-1.isupper() and morph(\-1, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
--1>> =suggMasSing(\-1)
# Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: Nous avons {{donne}} tout notre potentiel.
TEST: mais nous avons {{était}} surpris par cette annonce.
TEST: Nous lui avons {{donnée}} un cadeau.
TEST: Vous lui avez {{donnés}} un cadeau.
TEST: nous avions quelque peu {{tempérés}} leurs ardeurs
TEST: D’un côté, le modèle occidental, […], nous a libérés de […]
__[i]/ppas(ppas_det_nom_avoir)__
(l(?:’|es? |a |eurs )|ce(?:s|tte|t|rtaine?s|) |des |quelques |[mts](?:es|on|a) |[nv]o(?:s|tre) ) *({w_2}) +(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2}) @@0,w,w,$
<<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \4) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|))/", False, True)
and not morph(\2, ":G", False) and morph(\3, ":V0a", False) and not \4.isupper() and morphex(\4, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
and not (\3 == "avions" and morph(\4, ":3[sp]", False))
-4>> =suggMasSing(@)
__ppas_det_nom_avoir__
[un|une|des|le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|certains|certaines|quelques|plusieurs] *WORD ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD
<<- /ppas/ not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|")
and value(<1, "|<start>|,|comme|comment|et|lorsque|mais|où|ou|quand|qui|pourquoi|puisque|quoique|si|sinon|")
and morph(\2, ":[NA]", ":G") and not \-1.isupper() and morph(\-1, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
and not (\-2 == "avions" and morph(\-1, ":3[sp]"))
--1>> =suggMasSing(\-1)
# Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: Les femmes lui avait {{conseillées}} de se taire.
TEST: le mur avait {{était}} détruit
TEST: Lorsque les femmes ont {{apprit}} la nouvelle…
TEST: Les élèves lui ont {{données}}.
TEST: Les élèves lui ont {{donnés}} une réponse.
TEST: Les élèves leur ont {{donnée}} ça.
TEST: Le maire a {{créée}} un risque.
TEST: Certains les ont d’abord jugés trop lents.
__[i]/ppas(ppas_les_avoir)__
__ppas_les_avoir__
les +({avoir}) +({w_1}(?:[éiut]e?|is|se)) @@w,$
<<- morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t.*:Q.*:s", ":[GWpi]")
-2>> =suggPlur(@)
# Accord avec le COD “les” : Le participe passé « \2 » devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
les >avoir @:V[0-3]..t.*:Q.*:s¬:[GWpi]
<<- /ppas/ morph(\2, ":V0a") -3>> =suggPlur(\3)
# Accord avec le COD “les” : Le participe passé “\2” devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: je les avais {{trompé}} avec mon baratin.
TEST: les avoirs reçus ne couvrent pas toutes les dépenses.
TEST: Mes joueurs, je les ai fait reposer
TEST: Mes joueurs, je les ai fait se reposer
__[i]/ppas(ppas_nous_avoir)__
nous +({avoir}) +({w_1}(?:[éiut]e?|se)) @@w,$
<<- isRealEnd() and morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t_.*:Q.*:s", ":[GWpi]") and morphex(word(-1), ":(?:M|Os|N)", ":R") and not before(r"\bque? +\w[\w-]+ +$")
-2>> =suggPlur(@)
# Accord avec le COD “nous” : Le participe passé « \2 » devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
__ppas_nous_avoir__
nous >avoir *WORD <end>
<<- /ppas/ morph(\2, ":V0a", ":1p") and morph(\3, ":V[0-3]..t_.*:Q.*:s", ":[GWpi]") and morph(<1, ":(?:M|Os|N)", ":R") and not value(<2, "|que|qu’|qu|")
-3>> =suggPlur(\3)
# Accord avec le COD “nous” : Le participe passé “\3” devrait être au pluriel (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: Ces maisons nous avaient {{subjugué}}.
TEST: Alexandre aujourd’hui nous a {{quitté}}
TEST: C’est mot pour mot un script qu’on nous a filé.
TEST: Nous avons donné.
TEST: ces cons nous ont donnés.
TEST: ils nous ont vendus.
TEST: elles nous ont dit : “c’est la fin”.
TEST: Il nous avait dit que…
__[i]/ppas(ppas_l_avoir)__
__ppas_l_avoir__
l’({avoir}) +({w_1}s) @@2,$
<<- morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t.*:Q.*:p", ":[GWsi]")
-2>> =\2[:-1]
# Accord avec le COD « l’ » : Le participe passé « \2 » devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
l’ >avoir @:V[0-3]..t.*:Q.*:p¬:[GWsi]
<<- /ppas/ -3>> =suggSing(\3)
# Accord avec “l’” : le participe passé “\3” devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: ils l’avaient {{retrouvés}}.
TEST: Vous l’avez {{trouvez}}. ->> trouvé
TEST: Nous l’avons {{mangés}}.
__[i]/ppas(ppas_m_t_avoir)__
([mt])’({avoir}) +({w_1}s) @@0,w,$
<<- morph(\2, ":V0a", False) and morphex(\3, ":V[0-3]..t_.*:Q.*:p", ":[GWsi]") and not before(r"\bque? ")
-3>> =\3[:-1]
# Accord avec « \1’ ». Le participe passé « \3 » devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: Nous l’avons {{mangées}}.
TEST: ces livres m’avaient {{ennuyés}} au-delà du dicible.
TEST: Ils ne me l’ont pas {{donnés}}
__[i]/ppas(ppas_qui_avoir)__
qui +(?:n’|l(?:ui|eur) |ne l(?:ui|eur) |ne +|)({avoir}) +({w_2}[es]) @@w,$
<<- morph(\1, ">avoir/", False) and morphex(\2, ":Q.*:(?:f|m:p)", ":m:[si]")
-2>> =suggMasSing(@)
# Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: des hommes, des femmes, des enfants qui ne leur avaient {{faits}} que du bien.
__ppas_m_t_avoir__
[m’|t’] >avoir @:V[0-3]..t_.*:Q.*:p¬:[GWsi]
__[i]/ppas(ppas_avoir_ppas_mas_sing)__
avoir +({w_2}) @@$
<<- not re.search("(?i)^(?:confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \1)
and morphex(\1, ":Q.*:(?:f|m:p)", ":m:[si]") and before("(?i)(?:après +$|sans +$|pour +$|que? +$|quand +$|, +$|^ *$)")
-1>> =suggMasSing(@)
# Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
<<- /ppas/ not before(r"\bque? ") -3>> =suggSing(\3)
# Accord avec “\1”. S’il s’agit d’un COD, le participe passé “\3” devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: Il a {{prit}} le train.
TEST: ces livres m’avaient {{ennuyés}} au-delà du dicible.
TEST: Les élèves lui ont {{données}}.
TEST: Les élèves lui ont {{donnés}}.
TEST: Les élèves lui ont {{donnée}}.
TEST: Nous lui avons {{donnée}} un cadeau.
TEST: Vous lui avez {{donnés}} un cadeau.
TEST: Ils leur ont {{données}} un cadeau.
TEST: ils avaient, en ce temps-là, déjà {{perdus}} leurs illusions
TEST: Nous l’avons {{mangés}}.
TEST: Nous l’avons {{mangées}}.
TEST: Ils ne me l’ont pas {{donnés}}
TEST: Les élèves m’ont {{écoutés}}.
TEST: Les élèves t’ont de temps en temps {{écoutées}}.
TEST: Les élèves ne m’ont pas {{écoutés}}.
TEST: Les élèves ne m’ont pas {{écoutées}}.
TEST: Nous ne t’avons pas {{écoutés}}.
TEST: Nous ne t’avons pas {{écoutées}}.
__ppas_qui_avoir__
qui ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:Q.*:(?:f|m:p)¬:m:[si]
<<- /ppas/ --1>> =suggMasSing(\-1) # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: des hommes, des femmes, des enfants qui ne leur avaient {{faits}} que du bien.
__ppas_avoir_ppas_mas_sing__
[<start>|,|après|pour|pourquoi|quand|que|qu’|qu|sans] avoir @:Q.*:[fp]¬:m:[si]
<<- /ppas/ not value(\3, "|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|")
-3>> =suggMasSing(\3) # Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
TEST: Avoir {{instruite}} notre mère
TEST: Après avoir {{baissés}} nos tarifs
TEST: Je viendrai, après avoir vraiment {{écoutée}} le prof.
TEST: Alexandre aujourd’hui nous a {{quitté}}
TEST: Mes joueurs, je les ai fait reposer
TEST: Mes joueurs, je les ai fait se reposer
TEST: Il nous avait dit que…
TEST: Elle avait {{pose}} son tricot ->> posé
TEST: Vous l’avez {{trouvez}}. ->> trouvé
TEST: Il a {{donner}} sa vie pour elle. ->> donné
TEST: Le maire a {{créée}} un risque.
TEST: nous avions quelque peu {{tempérés}} leurs ardeurs
## avoir avec participe passé
__[i]/ppas(ppas_m_t_l_avoir)__
[lmt]’(?:en +|y +|)({avoir}) +({w_3}) @@2,$
<<- morph(\1, ">avoir/", False) and morphex(\2, ":(?:Y|[123][sp])", ":[QGWMX]")
__ppas_m_t_l_avoir__
[l’|m’] ?[en|y]¿ >avoir @:(?:Y|[123][sp])¬:[QGWMX]
<<- /ppas/ --1>> =suggVerbPpas(\-1, ":m:s") # Confusion : employez un participe passé.
t’ ?[en|y]¿ >avoir @:(?:Y|[123][sp])¬:[QGWMX]
and not re.search(r"(?i)^t’as +envie", \0)
-2>> =suggVerbPpas(@, ":m:s") # Confusion : employez un participe passé.
<<- /ppas/ not value(\-1, "|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|")
--1>> =suggVerbPpas(\-1, ":m:s") # Confusion : employez un participe passé.
TEST: m’avoir {{terminer}}.
TEST: il m’a {{souffler}} la bonne réponse.
TEST: elle t’en a {{parle}}.
TEST: c’est vous qui m’avez {{convertit}}.
TEST: parce que t’as envie que je le fasse
TEST: t’avais confiance
TEST: t’en as envie ?
@@@@
@@@@
@@@@
@@@@
@@@@END_GRAPH _
@@@@
@@@@
@@@@
@@@@
!!
!!
!!!! COD précédant que !!
!!
!!
|