Overview
Comment: | [fr] màj: conjugaisons, suppression des pronoms et de “ne” |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | fr_killtricks |
Files: | files | file ages | folders |
SHA3-256: |
074825dfe905ac4da324cc8f840a4488 |
User & Date: | olr on 2017-06-20 16:36:05 |
Other Links: | branch diff | manifest | tags |
Context
2017-06-20
| ||
18:41 | [fr] màj: conjugaisons, suppression des pronoms et de “ne” (2) check-in: 7c28c4de28 user: olr tags: fr, fr_killtricks | |
16:36 | [fr] màj: conjugaisons, suppression des pronoms et de “ne” check-in: 074825dfe9 user: olr tags: fr, fr_killtricks | |
12:47 | [fr] simplifications du contrôle de l’impératif check-in: 7bf7fe4aae user: olr tags: fr, fr_killtricks | |
Changes
Modified gc_lang/fr/rules.grx from [1bbb0a442e] to [e821d0d4bf].
︙ | ︙ | |||
3795 3796 3797 3798 3799 3800 3801 | TEST: Quelle chance tu as eue de voir ruiné ce connard. TEST: l’immobilier a été ces dernières années l’investissement le plus rentable (voir graphique ci-dessous) TEST: elles sont pas mal ainsi, voire élégantes pourrait-on dire. TEST: il y en a peu, voire très peu. TEST: car elles pénètrent dans les poumons voire le système sanguin. TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants. | | | | > > | | | 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 | TEST: Quelle chance tu as eue de voir ruiné ce connard. TEST: l’immobilier a été ces dernières années l’investissement le plus rentable (voir graphique ci-dessous) TEST: elles sont pas mal ainsi, voire élégantes pourrait-on dire. TEST: il y en a peu, voire très peu. TEST: car elles pénètrent dans les poumons voire le système sanguin. TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants. !! !! !!!! Pronoms + incohérences !! !! __[i](p_m_enfin)__ m’enfin <<- ~>> * __[i]/conf(conf_j_y_en_qqch)__ (j’(?:en +|y +|))({w_1}) @@0,$ <<- morphex(\2, ":", ":(?:[123][sp]|O[onw])") -2>> =suggSimil(\2, ":1s") # Incohérence avec « \1 » : « \2 » devrait être un verbe. __[i]/conf(conf_ne_qqch)__ (n(?:e +|’))({w_1}) @@0,$ <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)|>(?:[lmtsn]|surtout|guère|presque|même|tout|parfois|vraiment|réellement) ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2) -2>> =suggSimil(\2, ":(?:[123][sp]|Oo|Y)") # Incohérence avec « \1 » : « \2 » devrait être un verbe ou un pronom personnel objet. __[i]/conf(conf_n_y_en_qqch)__ (n’(?:en|y)) ({w_1}) @@0,$ <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2) -2>> =suggSimil(\2, ":(?:[123][sp]|Y)") # Incohérence avec « \1 » : « \2 » devrait être un verbe. __[i]/conf(conf_ne_pronom_qqch)__ (ne (?:l(?:es? +|eur +|a +|’)|[nv]ous))({w_1}) @@0,$ <<- morphex(\2, ":", ":(?:[123][sp]|Y|P|O[onw]|X)") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2) -2>> =suggSimil(\2, ":(?:[123][sp]|Y)") # Incohérence avec « \1 » : « \2 » devrait être un verbe. __[i]/conf(conf_me_te_se_qqch)__ ([mts]e +(?:les? |la |l’|))(?!voi(?:là|ci))({w_1}) @@0,$ <<- not re.search("(?i)^se que?", \0) and morphex(\2, ":", ":(?:[123][sp]|Y|P|Oo)|>[lmts] ") and not re.search("(?i)-(?:ils?|elles?|[nv]ous|je|tu|on|ce)$", \2) -2>> =suggSimil(\2, ":(?:[123][sp]|Oo|Y)") # Incohérence avec « \1 » : « \2 » devrait être un verbe ou un pronom personnel objet. |
︙ | ︙ | |||
3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 | TEST: je t’en {{parlé}} TEST: M’enfin, c’est absurde TEST: il est normal de ne presque pas payer des gens qui effectuent un travail TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ». TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter. TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié. TEST: Ne parfois pas être celui qui sabote l’ambiance. !! !! !!!! Formes verbales sans sujet !! !! | > | 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 | TEST: je t’en {{parlé}} TEST: M’enfin, c’est absurde TEST: il est normal de ne presque pas payer des gens qui effectuent un travail TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ». TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter. TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié. TEST: Ne parfois pas être celui qui sabote l’ambiance. !! !! !!!! Formes verbales sans sujet !! !! |
︙ | ︙ | |||
4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 | <<- not morph(\2, ":A", False) ~1>> * __[i](p_verbe_pronom_être)__ (d[eouû]\w+|cr[ouû]\w+|pens\w+|imagin\w+|estim\w+) (l(?:eur|ui)|nous|vous) être @@0,w <<- morph(\1, ">(?:croire|devoir|estimer|imaginer|penser) ") ~2>> * __[i](p_en_partie)__ (en partie) ({w_2}) @@0,$ <<- morph(\1, ":(?:R|D|[123]s|X)", False) ~1>> * __[i](p_en_quelques_tps1)__ (en quelques (?:années|décennies|semaines|heures|minutes)) +({w_2}) @@0,$ <<- not morph(\2, ":[AQ]:[ef]:[si]", False) ~1>> * __[i](p_en_quelques_tps2)__ (en quelques (?:jours|mois|trimestres|semestres|siècles|millénaires)) +({w_2}) @@0,$ <<- not morph(\2, ":[AQ]:[em]:[si]", False) ~1>> * __[i](p_entre_pronom_et_pronom)__ | > > > > | 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 | <<- not morph(\2, ":A", False) ~1>> * __[i](p_verbe_pronom_être)__ (d[eouû]\w+|cr[ouû]\w+|pens\w+|imagin\w+|estim\w+) (l(?:eur|ui)|nous|vous) être @@0,w <<- morph(\1, ">(?:croire|devoir|estimer|imaginer|penser) ") ~2>> * __[i](p_en_partie)__ (en partie) ({w_2}) @@0,$ <<- morph(\1, ":(?:R|D|[123]s|X)", False) ~1>> * __[i](p_en_plus)__ en plus <<- morph(word(1), ":A", False, True) ~>> en <<- __else__ ~>> * __[i](p_en_quelques_tps1)__ (en quelques (?:années|décennies|semaines|heures|minutes)) +({w_2}) @@0,$ <<- not morph(\2, ":[AQ]:[ef]:[si]", False) ~1>> * __[i](p_en_quelques_tps2)__ (en quelques (?:jours|mois|trimestres|semestres|siècles|millénaires)) +({w_2}) @@0,$ <<- not morph(\2, ":[AQ]:[em]:[si]", False) ~1>> * __[i](p_entre_pronom_et_pronom)__ |
︙ | ︙ | |||
9722 9723 9724 9725 9726 9727 9728 | TEST: {{vas y}}, ce n’est pas dangereux TEST: {{convenez en}}, c’est une belle affaire malgré son prix élevé !!! !!! | | > | > > > | > > | > > > | > > > | > > > > > | > > > | > | > > > > | | | | > > | > > > | > > | > > > > > | > > > | > > > | > > > | > > > > > | > | > | > > > | > > > | > > > | > > > | > > > | > > > | > > > > > > > | | > > > | > > > > > | > > > | | > > > | > > > | > > > | > > > | > > | 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 | TEST: {{vas y}}, ce n’est pas dangereux TEST: {{convenez en}}, c’est une belle affaire malgré son prix élevé !!! !!! !!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”. !!! !!! # Brainfuck (ici, prudence !) __[i](p_pro_per_obj01)__ (ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y)) +({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i](p_pro_per_obj02)__ (ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y)))) +({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i](p_pro_per_obj03)__ ([mts]e +l(?:a|es?)) +({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i](p_pro_per_obj04)__ ([nmsl]’(?:en|y)) +({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i](p_pro_per_obj05)__ (l(?:a|es?) +(?:lui|en)) +({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i](p_pro_per_obj06)__ (lui +(?:la|les?|en|y)) +({w_1}) @@0,$ <<- not morph(word(-1), ":R", False, True) ~1>> * <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj07)__ (leur +(?:en|y)) +({w_1}) @@0,$ <<- not morph(word(-1), ":R", False, False) ~1>> * <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj08)__ (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) +({w_1}) @@*,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj09)__ (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$ <<- (\1 == "le" and not morph(\2, ":N.*:[me]:[si]")) or (\1 == "la" and not morph(\2, ":N.*:[fe]:[si]")) or (\1 == "les" and not morph(\2, ":N.*:.:[pi]")) ~1>> * <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj10)__ (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1}) @@*,$ <<- not morph(word(-1), ":R", False, False) ~1>> * <<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj11)__ ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1}) @@*,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj12)__ (?<!’)(en) ({w_2}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj13)__ (?:tu|il|on) (en) +({w_1}) @@w,$ <<- not morph(word(-1), ":[123]s", False, False) ~1>> * <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj14)__ (?<!’)elle (en) +({w_1}) @@w,$ <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> * <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj15)__ (?<!’)elles (en) +({w_1}) @@w,$ <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> * <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj16)__ ils (en) +({w_1}) @@4,$ <<- not morph(word(-1), ":3p", False, False) ~1>> * <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj17)__ (?<!’)(y) ({w_2}) @@0,2 <<- morph(\2, ":(?:[123][sp]|P|Y)", False) ~1>> * <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj18)__ (le) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> * <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj19)__ (la) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> * <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj20)__ (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> * <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)") __[i](p_pro_per_obj21)__ (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> * <<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)") __[s](p_pro_per_obj22)__ [lL]’(a) @@$ <<- =>> select(\1, ":V") <<- ~>> " a" __[i](p_pro_per_obj23)__ (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|1p)") =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj24)__ (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|2p)") =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj25)__ (?:à|de) ([nv]ous|lui|les?|en) (?!qui)({w_2}) @@w,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i](p_pro_per_obj26)__ (s’)({w4}) @@0,2 <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj27)__ (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +)({w_2}) @@*,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- isStart() ~1>> * __[i](p_pro_per_obj28)__ (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * __[i](p_pro_per_obj29)__ (t’(?:en|y)) ({w_2}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> * __[i](p_pro_per_obj30)__ (t’)({w_2}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> * __[i>(p_pro_per_obj31)__ (ne [mtsl]’)({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i>(p_pro_per_obj32)__ ([mts]e +l’)({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- ~1>> * __[i>(p_pro_per_obj33)__ [nm]’({w_1}) @@2 <<- morph(\1, ":(?:[123][sp]|P|Y)", False) =>> select(\1, ":(?:[123][sp]|P|Y)") <<- ~>> " \1" __[i](p_pro_per_obj34)__ ([nmts]e +)({w_1}) @@0,$ <<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)") <<- __also__ ~1>> * #__<s>(p_pro_per_obj35)__ # > +> # <<- ~>> > # Fin du Brainfuck !! !! !!!! Confusions |
︙ | ︙ | |||
9796 9797 9798 9799 9800 9801 9802 | TEST: Il vient {{a}} la maison. TEST: tu ne donnes rien {{a}} ces hommes. TEST: Nous les donnons {{a}} ces gens. TEST: j’arrive {{a}} la gare #### CONFUSION fasse / face | | | | 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 | TEST: Il vient {{a}} la maison. TEST: tu ne donnes rien {{a}} ces hommes. TEST: Nous les donnons {{a}} ces gens. TEST: j’arrive {{a}} la gare #### CONFUSION fasse / face #__<i]/conf(conf_fasse)__ # > +(face)(?! à) @@$ <<- -1>> fasse # Confusion probable. Pour le subjonctif de “faire”, écrivez “fasse”. TEST: j’ai peur qu’il ne leur {{face}} quelque chose de mal #### CONFUSION ÊTRE / AVOIR __[i]/conf(conf_ait_confiance_été_faim_tort)__ (?<!’)(est?) +(con(?:fiance|science)|envie|été|p(?:eine|eur)|faim|h(?:âte|onte)|recours|soif|tort) @@0,$ |
︙ | ︙ | |||
9882 9883 9884 9885 9886 9887 9888 | <<- morph(\1, ">valoir ", False) and morphex(\2, ":(?:Q|2p)", ":[GM]") -2>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. TEST: Mieux vaut {{consacré}} son temps à des occupations utiles. __[i]/infi(infi_à)__ | | | | | 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 | <<- morph(\1, ">valoir ", False) and morphex(\2, ":(?:Q|2p)", ":[GM]") -2>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. TEST: Mieux vaut {{consacré}} son temps à des occupations utiles. __[i]/infi(infi_à)__ à +({w_2}(?:ée?s?|ez|ai[st]?)) @@$ <<- morphex(\1, ":V1", ":[NM]") and not \1.istitle() and not before(r"(?i)\b(?:les|en) +$") -1>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. TEST: elle parvenait à y {{songez}} souvent TEST: je vais à Rodez. __[i]/infi(infi_avoir_beau)__ ({avoir}) beau ({w_2}(?:ée?s?|ez|ai[ts]?)) @@0,$ <<- morph(\1, ">avoir ", False) and morphex(\2, ":V1", ":N") -2>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif.|http://fr.wiktionary.org/wiki/avoir_beau TEST: Ils ont beau {{consacré}} le plus clair de leur temps à ce projet, ça n’avance guère. __[i]/infi(infi_par_pour_sans)__ (?:p(?:a|ou)r|sans) +({w_2}(?:ée?s?|ai[st]?|ez)) @@$ <<- morphex(\1, ":[Q123][sp]?", ":Y") -1>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. TEST: pour s’y {{donnait}} le plus souvent. #__[i]/infi__ |
︙ | ︙ | |||
9991 9992 9993 9994 9995 9996 9997 | TEST: Tu ne le lui {{prend}} pas. TEST: Tu ne m’{{attendra}} pas. TEST: toi qui n’y {{connait}} rien, ne nous ennuie pas avec tes théories. ## 3sg __[i]/conj(conj_il)__ | | | 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 | TEST: Tu ne le lui {{prend}} pas. TEST: Tu ne m’{{attendra}} pas. TEST: toi qui n’y {{connait}} rien, ne nous ennuie pas avec tes théories. ## 3sg __[i]/conj(conj_il)__ (?<!t’)(il) +({w_1}) @@0,$ <<- morphex(\2, ":V", ":(?:3s|P|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3s", False, False)) -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier. <<- __also__ and morph(\2, ":3p", False) -1>> ils # Accord avec « \2 ». __[i]/conj(conj_il_pronom)__ (il) +> +({w_1}) @@0,$ <<- morphex(\2, ":V", ":(?:3s|P|G)") -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier. |
︙ | ︙ | |||
10155 10156 10157 10158 10159 10160 10161 | <<- -1>> =\1[:-1]+"t" # Conjugaison erronée. Accord avec “mieux” : utilisez la 3ᵉ personne du singulier. TEST: avec toi qui ne sais rien de rien, mieux {{vaux}} ne rien dire. TEST: Mais là-bas mieux {{valais}} ouvrir sa gueule que se taire. __[i]/conj(conj_personne_aucun_rien_nul)__ | | | 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 | <<- -1>> =\1[:-1]+"t" # Conjugaison erronée. Accord avec “mieux” : utilisez la 3ᵉ personne du singulier. TEST: avec toi qui ne sais rien de rien, mieux {{vaux}} ne rien dire. TEST: Mais là-bas mieux {{valais}} ouvrir sa gueule que se taire. __[i]/conj(conj_personne_aucun_rien_nul)__ (personne|aucun|rien|nul(?:le|)) +(?:qui +|)({w_1}) @@0,$ <<- morphex(\2, ":V", ":(?:3s|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True) and not( \1.endswith("ien") and before("> +$") and morph(\2, ":Y", False) ) -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: Personne ne {{peux}} me le dire. TEST: Rien ne {{sers}} de courir TEST: Rien n’{{arrives}} sans raison |
︙ | ︙ | |||
10183 10184 10185 10186 10187 10188 10189 | -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: un des ingénieurs {{vinrent}} nous dire quoi faire. TEST: une des femmes présente ses résultats. __[i]/conj(conj_un_une_des_pronom)__ | | | 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 | -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: un des ingénieurs {{vinrent}} nous dire quoi faire. TEST: une des femmes présente ses résultats. __[i]/conj(conj_un_une_des_pronom)__ (une? des {w_2}) +qui +({w_1}) @@0,$ <<- morphex(\2, ":V", ":(?:3s|P|G)") and morphex(word(-1), ":C", ":(?:Y|P|Q|[123][sp]|R)", True) -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1… ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: un des membres présents au conseil {{demandent}} un vote à bulletin secret TEST: une des femmes de ce conseil ne {{céderaient}} jamais au chantage. TEST: l’un des chants les plus diffusés pendant la Révolution culturelle |
︙ | ︙ | |||
10268 10269 10270 10271 10272 10273 10274 | TEST: un paquet de gens futés n’y ont vu que du feu. TEST: La moitié d’entre elles voient leurs loyers diminuer depuis le début de l’année TEST: Une partie de ces propositions étaient naïves ## 1pl __[i]/conj(conj_nous_pronom)__ | | | | | | | 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 | TEST: un paquet de gens futés n’y ont vu que du feu. TEST: La moitié d’entre elles voient leurs loyers diminuer depuis le début de l’année TEST: Une partie de ces propositions étaient naïves ## 1pl __[i]/conj(conj_nous_pronom)__ ^ *nous +({w1}) @@$ <<- morphex(\1, ":V", ":(?:1p|3[sp])") and not after("^ +(?:je|tu|ils?|elles?|on|[vn]ous)") -1>> =suggVerb(@, ":1p") # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel. __[i]/conj(conj_nous_qui)__ ^ *nous +qui +({w1}) @@$ <<- morphex(\1, ":V", ":[13]p") and not after("^ +(?:je|tu|il|elle|on|[vn]ous)") -1>> =suggVerb(@, ":1p") # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel. __[i]/conj(conj_nous)__ ^ *nous +(?:qui +|)(\w+ont) @@$ <<- morphex(\1, ":V", ":1p") and not after("^ +(?:ils|elles)") -1>> =suggVerb(@, ":1p") # Conjugaison erronée. Accord avec « nous ». Le verbe devrait être à la 1ʳᵉ personne du pluriel. TEST: nous {{donné}} trop de considération TEST: nous vous {{donnerez}} trop de considération TEST: nous qui {{somme}} si savants TEST: nous qui {{mourront}} pour toi. ## 2pl __[i]/conj(conj_vous_pronom)__ ^ *vous +({w1}) @@$ <<- morphex(\1, ":V", ":(?:2p|3[sp])") and not after("^ +(?:je|ils?|elles?|on|[vn]ous)") -1>> =suggVerb(@, ":2p") # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel. __[i]/conj(conj_vous_qui)__ ^ *vous +qui +({w1}) @@$ <<- morphex(\1, ":V", ":2p") and not after("^ +(?:je|ils?|elles?|on|[vn]ous)") -1>> =suggVerb(@, ":2p") # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel. TEST: vous {{donné}} du bonheur TEST: vous lui {{donner}} du temps TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives |
︙ | ︙ | |||
10319 10320 10321 10322 10323 10324 10325 | TEST: {{Ils}} {{vienne}} souvent. TEST: Ils ne m’{{attends}} pas. TEST: {{Ils}} vous le {{donne}}. __[i]/conj(conj_ceux_celles_qui)__ | | | | 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 | TEST: {{Ils}} {{vienne}} souvent. TEST: Ils ne m’{{attends}} pas. TEST: {{Ils}} vous le {{donne}}. __[i]/conj(conj_ceux_celles_qui)__ (ce(?:ux|lles) +qui) +({w_1}) @@0,$ <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: Ceux qui {{chante}} toute la journée… TEST: Celles qui {{pense}}. __[i]/conj(conj_ceux_là_celles_ci_lesquels)__ (ce(?:ux-(?:ci|là)|lles-(?:ci|là))|lesquel(?:le|)s) (?:qui +|)({w_1}) @@0,$ <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]", False, False) and not (morph(\2, ":Y", False) and re.search(r"(?i)lesquel", \1) and not re.search(" qui |>", \0)) -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: lesquels {{devienne}} des ennuyeux incomparables. TEST: Mais parmi les millions de causes à défendre, lesquelles choisir ? |
︙ | ︙ | |||
10375 10376 10377 10378 10379 10380 10381 | TEST: j’ai, tu as, ils ont, elles {{on}} TEST: Or parmi celles-ci on trouve typiquement d’un côté les structures # L’accord par syllepse est obligatoire après /la plupart/, ainsi qu’après /nombre/ et /quantité/ employés sans déterminant. L’accord se fait avec le « pseudo-complément ». __[i]/conj(conj_beaucoup_d_aucuns_la_plupart)__ | | | | | 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 | TEST: j’ai, tu as, ils ont, elles {{on}} TEST: Or parmi celles-ci on trouve typiquement d’un côté les structures # L’accord par syllepse est obligatoire après /la plupart/, ainsi qu’après /nombre/ et /quantité/ employés sans déterminant. L’accord se fait avec le « pseudo-complément ». __[i]/conj(conj_beaucoup_d_aucuns_la_plupart)__ (beaucoup|d’aucuns|la plupart) +({w_2}) @@0,$ <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]|>de ", False, False) -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel. __[i]/conj(conj_beaucoup_d_aucuns_la_plupart_qui)__ (beaucoup|d’aucuns|la plupart) +qui +({w_2}) @@0,$ <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not morph(word(-1), ":[VR]", False, False) -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel. TEST: la plupart des hommes {{vienne}} TEST: La plupart {{admet}} TEST: beaucoup {{vienne}} TEST: d’aucuns {{pense}} que c’est faux TEST: beaucoup qui ne {{pense}} jamais à rien, mais qui ont quand même des avis sur tout. TEST: beaucoup entre la peste et le choléra. __[i]/conj(conj_certains_tous_plusieurs)__ (?<!de )(certaine?s|tou(?:te|)s|plusieurs) (?:qui +|)({w_2}) @@0,$ <<- morphex(\2, ":V", ":(?:G|N|A|3p|P|Q)") and not morph(word(-1), ":[VR]", False, False) -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du pluriel. TEST: certains {{prenne}} leur temps TEST: Plusieurs qui {{pense}} que c’est une arnaque se sont quand même trompés. |
︙ | ︙ | |||
10547 10548 10549 10550 10551 10552 10553 | #### NOMS PROPRES # 3sg __[s]/conj(conj_nom_propre)__ | | | | 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 | #### NOMS PROPRES # 3sg __[s]/conj(conj_nom_propre)__ ([A-ZÉÈ][\w-]+) +({w_1}) @@0,$ <<- not before(r"\b(?:et |ou |[dD][eu] |ni |[dD]e l’) *$") and morph(\1, ":M", False) and morphex(\2, ":[123][sp]", ":(?:G|3s|3p!|P|M|[AQ].*:[si])") and not morph(word(-1), ":[VRD]", False, False) and not before(r"([A-ZÉÈ][\w-]+), +([A-ZÉÈ][\w-]+), +$") and not (morph(\2, ":3p", False) and word(-1)) -2>> =suggVerb(@, ":3s") # Conjugaison erronée. Accord avec « \1 ». Le verbe devrait être à la 3ᵉ personne du singulier. TEST: Marc {{arrives}} demain. TEST: Paul ne {{viens}} pas demain. TEST: Marc Aurèle {{étaient}} l’empereur des Romains. (Pas de trait d’union sur Marc Aurèle.) TEST: Arthur D. parvient à… TEST: Les fondateurs pionniers de l’Internet n’avaient pas prévu TEST: les compteurs Geiger ne détectent pas le polonium TEST: Des femmes de l’administration Obama y racontent qu’elles ont constaté qu’il leur arrivait régulièrement de ne pas être invitées # 3pl __[s]/conj(conj_nom_propre_et_nom_propre)__ (?<!et |ou |[dD][eu] |ni )([A-ZÉÈ][\w-]+) et ([A-ZÉÈ][\w-]+) +({w_1}) @@0,w,$ <<- morph(\1, ":M", False) and morph(\2, ":M", False) and morphex(\3, ":[123][sp]", ":(?:G|3p|P|Q.*:[pi])") and not morph(word(-1), ":R", False, False) -3>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « \1 et \2 ». Le verbe devrait être à la 3ᵉ personne du pluriel. TEST: Samantha et Eva {{viennes}} demain. TEST: Samantha et Eva leur {{décrive}} une leçon. |
︙ | ︙ | |||
10757 10758 10759 10760 10761 10762 10763 | #### VERBE AUXILIAIRE __[i]/conf(conf_avoir_sujet_participe_passé)__ ({avoir})-(?:je|tu|ils?|elles?|on) +({ppas}) @@0,$ <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _ # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”. __[i]/conf(conf_sujet_avoir_participe_passé)__ | | | < < < < < < | | | > > | | | | | | | | 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 | #### VERBE AUXILIAIRE __[i]/conf(conf_avoir_sujet_participe_passé)__ ({avoir})-(?:je|tu|ils?|elles?|on) +({ppas}) @@0,$ <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _ # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”. __[i]/conf(conf_sujet_avoir_participe_passé)__ (?:j’|je |tu |ils? |elles? |on ) *({avoir}) +({ppas}) @@*,$ <<- morph(\1, ">avoir ", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _ # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”. TEST: {{Ait}}-il arrivé à ses fins ? TEST: je n’{{avais}} pas parti avec eux. TEST: Avais-je partie liée avec lui ? TEST: il {{avait}} parti. !! !! !!!! Modes verbaux !! !! # conditionnel / futur __[i]/vmode(vmode_j_aimerais_vinfi)__ j(?:e +|’)(aimerai|préf[éè]rerai|apprécierai|voudrai|souhaiterai) +({w_1}) @@w,$ <<- morphex(\2, ":[YX]|>(?:y|ne|que?) ", ":R") -1>> \1s # Si vous exprimez un souhait, utilisez le conditionnel et non le futur. TEST: J’{{aimerai}} savoir ce dont il retourne. TEST: dans tous les cas j’{{aimerai}} ne rien savoir TEST: Je {{voudrai}} qu’il soit déjà là. TEST: J’aimerai ces cours-là autant que les autres. TEST: J’aimerai la danse et la musique, puisque vous l’exigez. __[i]/vmode(vmode_j_aurais_aimé_que_avoir_être)__ j’(aurai) +(?:aimé|souhaité|préféré|voulu) +(que?|ne|{infi}) @@2,$ <<- morph(\2, ":Y|>(?:ne|que?) ", False) -1>> aurais|eusse # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… » TEST: J’{{aurai}} aimé nous offrir ce magnifique cadeau. TEST: j’{{aurai}} voulu être un artiste. TEST: j’{{aurai}} préféré ne pas avoir à l’entendre. TEST: j’{{aurai}} préféré l’entendre un autre jour. TEST: j’{{aurai}} aimé que vous m’en parliez. TEST: Quand j’en aurai fini avec eux, vous aurez du mal à les reconnaître. TEST: Quand j’aurai fini ce boulot, je ne sais pas ce que je ferai. TEST: Quand j’aurai soif et faim, je m’arrêterai. # Si suivi du conditionnel ou du subjonctif __[i]/vmode(vmode_si_sujet1)__ si +({w1}) +({w_2}) @@w,$ <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":[SK]", ":(?:G|V0|I)") and isStart() -2>> _ # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif. __[i]/vmode(vmode_si_sujet2)__ (?:si [jt]’|s’ils? +)({w_2}) @@$ <<- morphex(\1, ":[SK]", ":(?:G|V0|I)") and isStart() -1>> _ # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif. TEST: Si Pierre {{avancerait}} sa voiture de quelques mètres, ça nous permettrait de passer. TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros. # Dès que + indicatif __[i]/vmode(vmode_dès_que)__ dès +que? +({w1}) +({w_2}) @@w,$ <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":S", ":[IG]") -2>> =suggVerbMode(@, ":I", \1) # Ce verbe ne devrait pas être au subjonctif. # <<- morph(\1, ":(?:Os|M)", False) and morph(\2, ":K", False) -2>> =suggVerbMode(@, ":If", \1) # Ce verbe ne devrait pas être au conditionnel. #TEST: dès que je le {{verrais}} TEST: dès qu’il le {{voie}} TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion # verbe que + subjonctif __[i]/vmode(vmode_qqch_que_subjonctif1)__ (afin|pour|quoi|(?:perm|fa|v[oe]|ordonn|exig|désir|dout|suff|préf[éè]r)\w+) +que? +({w1}) +({w_2}) @@0,w,$ <<- morph(\1, ">(?:afin|pour|quoi|permettre|falloir|vouloir|ordonner|exiger|désirer|douter|préférer|suffire) ", False) and morph(\2, ":(?:Os|M)", False) and morphex(\3, ":I", ":[GYS]") and not (morph(\1, ">douter ", False) and morph(\3, ":(?:If|K)", False)) -3>> =suggVerbMode(@, ":S", \2) # Ce verbe devrait être au subjonctif. TEST: Il suffit qu’il {{court}} plus TEST: Je veux qu’il {{finit}} son repas. TEST: quoi qu’il en {{conclut}} TEST: Je ne veux pas que tu {{es}} des ennuis TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard. TEST: Je ne doute pas qu’ils réussiront leur mission. TEST: Je me doutais bien qu’Apple pourrait marcher TEST: il ne fait aucun doute qu’Amazon le sait. TEST: quoi que nous autres hommes ayons pu faire __[i]/vmode(vmode_qqch_que_subjonctif2)__ (?:à condition|pour peu|il +peut) +que? +({w1}) +({w_2}) @@w,$ <<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":", ":[GYS]") -2>> =suggVerbMode(@, ":S", \1) # Ce verbe devrait être au subjonctif. TEST: à condition qu’il {{finit}} son boulot. TEST: pour peu qu’il {{prend}} son devoir sérieux… TEST: il se peut que nous {{avons}} tort. # indicatif nécessaire __[i]/vmode(vmode_sujet_indicatif)__ ^ *(je|j’(?:en|y)|tu|ils?|elles?|on|nous|vous) +({w_2}) @@*,$ <<- morphex(\2, ":S", ":[GIK]") and not re.search("^e(?:usse|û[mt]es|ût)", \2) -2>> =suggVerbMode(@, ":I", \1) # Ce verbe ne devrait pas être au subjonctif. __[i]/vmode(vmode_j_indicatif)__ ^ *j’({w_2}) @@$ <<- morphex(\1, ":S", ":[GIK]") and \1 != "eusse" -1>> =suggVerbMode(@, ":I", "je") # Ce verbe ne devrait pas être au subjonctif. TEST: Il {{ait}} parti. TEST: Il en {{conclue}} qu’il a eu raison. TEST: j’en {{aie}} marre TEST: j’{{aie}} faim # Après que + indicatif __[i]/vmode(vmode_après_que_indicatif)__ après que? ({w_2}) +({w_2}) @@w,$ <<- morph(\1, ":(?:Os|M)", False) and (morph(\2, ":V.*:S") or morph(\2, ":V0e.*:S", False)) -2>> =suggVerbMode(@, ":I", \1) # Après « après que », le verbe s’emploie pas au subjonctif mais à l’indicatif, si l’action s’est déroulée de façon certaine. TEST: Après qu’il {{ait}} allé TEST: Après que Paul {{ait}} mangé son repas. TEST: Après qu’il {{soit}} parti, il plut. |
︙ | ︙ |