Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2694,11 +2694,11 @@ TEST: lundi, 18 août 1912 avant Jésus-Christ (date imaginaire) !! !! -!!!! Formes interrogatives ? !! +!!!! Traits d’union manquants (formes interrogatives) !! !! !! __inte_union_je__ ~.[éèe]$ je @@ -2755,10 +2755,11 @@ TEST: {{Viendront ils}} demain ? TEST: comment {{êtes vous}} arrivées là ? TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça. TEST: Veuillez vous instruire avant de contester ces mesures. TEST: C’était elle qui avait pris le contrôle. + !! !! !!!! Traits d’union !! @@ -4919,10 +4920,11 @@ a cet instant précis a cette époque a cette époque de l’année a cette heure de la [journée|nuit] a chaque [fois|instant] + a charge de revanche a chaudes larmes a cœur [joie|ouvert|perdu] a ciel ouvert a corps perdu a couper le souffle @@ -7617,10 +7619,11 @@ à cette heure à cette heure du jour à cette heure de la [journée|nuit] à cette heure [tardive|matinale] à ciel ouvert + à charge de revanche à chaque [fois|instant] à chaudes larmes à cœur [joie|ouvert|perdu] à corps perdu à côté [de|d’] [ça|moi|toi|lui|nous|vous|elle|elles|eux] @@ -12668,10 +12671,11 @@ TEST: Il s’agit de me {{donnait}} tout ça. TEST: j’étais incapable de m’{{orientait}} dans la bonne direction. TEST: ils étaient susceptibles de m’y {{trouvaient}} TEST: Il tentait de {{raisonné}} en homme libre TEST: sa façon de {{nettoyez}} était inefficace. +TEST: elle a délibérément omis de les {{inclurent}}. TEST: elle s’engage de ne les lui donner qu’en dernier recours. TEST: l’idée consiste de la lui donner sans contrepartie et voir ce qu’il en fera. TEST: de leur plus grand fils, ils attendent beaucoup. @@ -13998,12 +14002,15 @@ __ppas_inversion_être_il__ /-il @:(?:[123][sp]|Y|[NA].*:[pf])¬:(?:G|W|[me]:[si])|question/ <<- /ppas/ morphVC(\1, ":V0e") -2>> =suggMasSing(\2) # Accord avec le sujet “il” : “\2” devrait être au masculin singulier. __ppas_inversion_être_ce__ - /-ce @:(?:[123][sp]|[NA].*:[pf])¬:(?:G|W|Y|[me]:[si]) - <<- /ppas/ morphVC(\1, ":V0e") -2>> =suggMasSing(\2) # Accord avec le sujet “ce” : “\2” devrait être au masculin singulier. + /-ce *WORD + <<- /ppas/ morphVC(\1, ":V0e.*:3s") and morph(\2, "@:(?:[123][sp]|A.*:[pf])", ":(?:G|W|Y|[me]:[si])") + -2>> =suggMasSing(\2) # Accord avec le sujet “\1” : “\2” devrait être au masculin singulier. + <<- /ppas/ __else__ and morphVC(\1, ":V0e.*:3p") and morph(\2, "@:(?:[123][sp]|A.*:[sf])", ":(?:G|W|Y|[me]:[pi])") + -2>> =suggMasPlur(\2) # Accord avec le sujet “\1” : “\2” devrait être au masculin pluriel. __ppas_inversion_être_elle__ /-elle @:(?:[123][sp]|Y|[NA].*:[pm])¬:(?:G|W|[fe]:[si]) <<- /ppas/ morphVC(\1, ":V0e") -2>> =suggFemSing(\2) # Accord avec le sujet “elle” : “\2” devrait être au féminin singulier. @@ -14510,10 +14517,326 @@ TEST: N’avais-tu pas crainte de tout perdre ? TEST: Combien de bêtes n’as-tu pas déjà massacrées TEST: Combien de bêtes as-tu déjà massacrées +!! +!! +!!!! Impératif ! !! +!! +!! + +# Confusions +__imp_confusion_2e_pers_pluriel__ + [|,] *WORD moi + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:3s)") + -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-moi" # Confusion probable. Pour l’impératif, écrivez : + + [|,] *WORD [les|la|leur] *WORD + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:3s)") and morph(\4, ":[OR]", ":[NA]") + -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-" + \3 # Confusion probable. Pour l’impératif, écrivez : + + [|,] *WORD [les|la|lui|nous|vous|leur] [|,] + <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":(?:V1.*:[YQ]|Iq.*:3s)") + -2:3>> =suggVerbTense(\2, ":E", ":2p") + "-" + \3 # Confusion probable. Pour l’impératif, écrivez : + +TEST: {{Donner moi}} une chance ->> Donnez-moi +TEST: je vous en prie, {{prenais moi}} avec vous. ->> prenez-moi +TEST: {{avançait moi}} de l’argent ->> avancez-moi +TEST: {{filé moi}} du fric, bon sang ! ->> filez-moi +TEST: {{Données lui}} ça. ->> Donnez-lui +TEST: {{Enseignait nous}}. ->> Enseignez-nous + + +# être +__imp_sois__ + [ne|n’] ?[le|l’|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ soit + [ne|n’] [me|m’|te|t’|nous|vous] [le|l’|en|y] soit + [ne|n’] [le|l’] [lui|leur|en|y] soit + [ne|n’] [lui|leur] en soit + <<- /imp/ --1>> sois # S’il s’agit d’un impératif, écrivez “sois”. + + soit @:A¬:G + <<- /imp/ not after(r"\bsoit\b") -2>> sois # S’il s’agit d’un impératif, écrivez “sois”. + +TEST: ne lui {{soit}} pas odieux. +TEST: {{Soit}} cohérent avec toi-même. +TEST: Ne {{soit}} pas con. +TEST: ne leur en {{soit}} pas reconnaissant, ce n’était qu’un calcul de leur part. +TEST: Ne {{soit}} pas en retard ! + + +# avoir +__imp_aie__ + [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ [ai|ait|aies] + [ne|n’] [me|m’|te|t’|nous|vous] [le|la|l’|les|en|y] [ai|ait|aies] + [ne|n’] [le|la|l’|les] [lui|leur|en|y] [ai|ait|aies] + [ne|n’] [lui|leur] en [ai|ait|aies] + [ai|ait|aies] + <<- /imp/ --1>> aie # S’il s’agit d’un impératif, écrivez “aie”. + +TEST: {{Ait}} la foi ! +TEST: n’{{ait}} pas peur de ces gens-là. + + +# aller +__imp_aller__ + [allé|allés|>allée] , + <<- /imp/ -2>> allez # S’il s’agit d’un impératif, écrivez “allez”. + + [allé|allés] + <<- /imp/ -2>> allez # S’il s’agit d’un impératif, écrivez “allez”. + + >allée *WORD + <<- /imp/ morph(\3, ":[MYO]", ":A|>et/") -2>> allez # S’il s’agit d’un impératif, écrivez “allez”. + +TEST: {{Allés}}, on y va ! +TEST: — {{Allé}} prendre une cuite. +TEST: Allées et venues +TEST: Allées pavées et bordées de fleurs innombrables. +TEST: Allées qu’on nettoyait tous les jours. + + + [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ vas + [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] vas + [ne|n’] [le|la|l’|les] [lui|leur|en|y] vas + [ne|n’] [lui|leur] en vas + vas + <<- /imp/ not value(>1, "|tu|") --1>> va # S’il s’agit d’un impératif, pas de “s”. + +TEST: {{Vas}} lui mettre une branlée. +TEST: {{Vas}} au diable ! +TEST: N’y {{vas}} pas + +# [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ +# [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] +# [ne|n’] [le|la|l’|les] [lui|leur|en|y] +# [ne|n’] [lui|leur] en + + +# verbes du 1er et du 3ᵉ groupe en -e +__imp_verbe_groupe1__ + [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~\w\w+es$ + [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~\w\w+es$ + [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~\w\w+es$ + [ne|n’] [lui|leur] en ~\w\w+es$ + ~\w\w+es$ + <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":[GNAM]") and not value(>1, "|tu|") + --1>> =\-1[:-1] # S’il s’agit d’un impératif, pas de “s”. + +TEST: {{Apportes}} ton fric à cet homme. +TEST: N’{{abandonnes}} pas si vite. +TEST: Ne {{demandes}} rien, tais-toi. +TEST: — {{Abandonnes}}. +TEST: {{Écartes}} de moi cette coupe. +TEST: Ne {{donnes}} pas autant. +TEST: N’{{insistes}} pas. +TEST: Castres est une belle ville. +TEST: Limoges aussi. + + +# verbes du 2ᵉ et du 3ᵉ groupe en -t +__imp_verbe_groupe2_groupe3_t__ + [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~\w\w+t$ + [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~\w\w+t$ + [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~\w\w+t$ + [ne|n’] [lui|leur] en ~\w\w+t$ + ~\w\w+t$ + <<- /imp/ not value(>1, "|il|elle|on|ils|elles|") + and not (value(\-1, "|vient|dit|surgit|survient|") and (morph(>1, ":(?:[MD]|Oo)|>[A-Z]/") or value(>1, "|l’|d’|m’|t’|s’|"))) + and morph(\-1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire)/") and analyseWord(\-1[:-1]+"s", ":E:2s", False) + --1>> =\-1[:-1]+"s" # S’il s’agit d’un impératif, la terminaison est “is”, non “it”. + +TEST: {{Finit}} ton assiette. ->> Finis +TEST: Ne {{pourrit}} pas l’ambiance. ->> pourris +TEST: Ne {{finit}} pas ce devoir. +TEST: {{Finit}} cette tarte. +TEST: Ne me {{choisit}} pas. +TEST: ne l’y {{brandit}} pas. +TEST: Ne {{vient}} que lorsque je te le dirai. ->> viens +TEST: Ne l’y {{contraint}} pas +TEST: {{Vient}}. +TEST: {{Sert}} le plat. ->> Sers +TEST: Suffit de s’en servir. +TEST: Et ne doit pas être rejeté dans les limbes. +TEST: Vient s’ajouter à ce contexte la perception, partagée par beaucoup, du caractère fortement menaçant de l’environnement économique et géopolitique. +TEST: À son bord vient d’embarquer un nouvel équipage + + +# verbes du 3ᵉ groupe en -d +__imp_verbe_groupe3_d__ + [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~\w\w+d$ + [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~\w\w+d$ + [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~\w\w+d$ + [ne|n’] [lui|leur] en ~\w\w+d$ + ~\w\w+d$ + <<- /imp/ not value(>1, "|il|elle|on|") + and not ( value(\-1, "|répond|") and (morph(>1, ":[MD]|>[A-Z]/") or value(>1, "|l’|d’|")) ) + and morph(\-1, ":V3.*:Ip.*:3s", ":[GNA]") + --1>> \-1s # S’il s’agit d’un impératif, ajoutez un “s”. + +TEST: {{Prend}} le chemin de droite. +TEST: N’{{attend}} pas qu’elle vienne. ->> attends +TEST: Ne me {{prend}} pas pour un idiot ->> prends +TEST: Ne l’{{attend}} pas +TEST: Ne m’y {{attend}} pas +TEST: {{Attend}} la correction. +TEST: {{Répond}}. ->> Réponds +TEST: — Pour ma part, répond P., je crois que tout va bien. + + +!! +!! +!!!! Impératif : traits d’union manquants !! +!! +!! + +__imp_union_moi__ + *WORD moi + <<- /imp/ space_after(\1, 1, 1) + and morph(\1, "V[123]...n:E", ":[GM]") and not morph(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{Apportez moi}} ce dictionnaire +TEST: Viens moi je m’ennuie. + + +__imp_union_toi__ + *WORD toi + <<- /imp/ space_after(\1, 1, 1) + and morph(\1, "V[123]...n:E:2s", ":[GM]") and not morph(<1, "|de|d’|le|la|les|l’|me|te|se|nous|vous|lui|leur|") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{Donne toi}} du temps. + + +__imp_union_nous_vous_lui_y__ + *WORD [nous|vous|lui|y] + <<- /imp/ space_after(\1, 1, 1) + and morph(\1, "V[123]...n:E", ":[GM]") and morph(>1, ":|", ":(?:Y|3[sp]|Oo)|>(?:en|y)") and morph(<1, ":Cc||>,") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{Donne nous}} du café. + + +__imp_union_les__ + *WORD les + <<- /imp/ space_after(\1, 1, 1) + and morph(\1, "V[123]...n:E", ":[GM]") and morph(>1, ":||>,", ":(?:N|A|Y|B|3[sp]|>(?:pour|plus|moins|mieux|peu|trop|très|en|y))") and morph(<1, ":Cc||>,") + ->> \1-les # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{chante les}} avec conviction +TEST: Veut les en convaincre. +TEST: Invite les plus intelligents… +TEST: Prenez les 5 ou 6 revues les plus connues. + + +__imp_union_le_la_leur__ + *WORD [le|la|leur] + <<- /imp/ space_after(\1, 1, 1) + and morph(\1, ":V[123]...n:E", ":[GM]") and morph(<1, ":||>,", ":(?:N|A|Q|Y|MP|H|T)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc||>,") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{Prends le}} avec toi. +TEST: {{Dites leur}} que nous sommes là. +TEST: un sujet si extrêmement politique et polémique lui a donné un accès +TEST: Les États d’ores et déjà très affaiblis le seraient encore plus +TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs) +TEST: Notez le peu de cas qui en est fait en général dans les médias +TEST: deux fois par an, souligne le Dr Assouline +TEST: Pesons le pour et le contre. + + +__imp_laisser_le_la_les_infi__ + >laisser [le|la|les] *WORD + <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E") and morph(\3, ":(?:Y|X|Oo)", ":[NAB]") + -1:2>> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{Laisse les}} entrer… +TEST: {{Laissez la}} venir… +TEST: Laisse les chiens tranquilles +TEST: Laissez la peste leur pourrir la vie encore quelque temps. +TEST: le coût humain de la guerre qu’il a laissé les submerger. + + +__imp_apostrophe_m_en__ + ~\w-m-en$ + <<- /imp/ ->> =\1[:-3]+"’en" # Dans cette forme verbale composée, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union. + + m-en + <<- /imp/ ->> m’en # Ici, “me” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union. + +TEST: donne{{-m-en}} encore + + +__imp_apostrophe_t_en__ + ~\w-t-en$ + <<- /imp/ not value(>1, "|guerre|") + ->> =\1[:-3]+"’en" # Dans cette forme verbale composée, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union. + + t-en + <<- /imp/ not (value(<1, "|va|") and value(>1, "|guerre|")) + ->> t’en # Ici, “te” est abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union. + +TEST: accorde{{-t-en}} plus. + + +__imp_union_m_t_en_y__ + *WORD [m’|t’] [en|y] + <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[MG]") and morph(>1, ":||>,", ":(?:Y|[123][sp])") + ->> \1-\2\3 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{donne m’en}}, s’il te plaît. +TEST: Mélanie t’en donne souvent. + + +__imp_union_verbe_pronom_moi_toi_lui__ + [/-le|/-la|/-les] [moi|toi] + <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: les analyses, {{donne-les moi}} +TEST: {{Donne-les lui}}. + + +__imp_union_verbe_pronom_nous_vous__ + [/-le|/-la|/-les] [nous|vous|lui|leur] + <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]||>,", ":Y") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{apporte-les nous}} + + +__imp_union_verbe_pronom_en_y_leur__ + [/-moi|/toi] en + <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]||>,", ":[NAY]") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + + [/-lui|/-nous|/-nous|/-leur] [en|y] + <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]||>,", ":[NAY]") + ->> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 + +TEST: {{prends-leur en}} +TEST: {{Donnez-nous en}}. +TEST: Alors, {{parais y}} grande et lumineuse. + + +#__[i]/imp(imp_union_aller_y)!5__ +# (?:v(?:iens|enez|enons)|all(?:ons|ez)) y +# <<- not morph(word(1), ":Y", False, False) ->> =\0.replace(" ", "-") # Il manque un trait d’union. +#__[i]/imp(imp_union_vas_y)!5__ +# vas? y +# <<- isStart() and not morph(word(1), ":Y", False, False) ->> vas-y # Il manque un trait d’union. +#__[i]/imp(imp_union_convenir_en)__ +# conv(?:iens|enez|enons) en(?! partie) <<- ->> =\0.replace(" ", "-") # Il manque un trait d’union. + +TEST: {{allons y}} +TEST: {{vas y}} +TEST: c’est une belle affaire malgré son prix élevé, {{convenez en}}… +TEST: {{Viens y}}. +TEST: Viens y faire un test. + @@@@ @@@@ @@@@ @@@@ @@ -14566,255 +14889,10 @@ TEST: Ne pas manger. TEST: Ne manquer de rien. TEST: Ne jamais miser sur ces tocards. TEST: Ne m’en rien laisser. - -# [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ -# [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] -# [ne|n’] [le|la|l’|les] [lui|leur|en|y] -# [ne|n’] [lui|leur] en - -!! -!! -!!!! Impératif ! !! -!! -!! - -# Confusions -__[i]/imp(imp_confusion_2e_pers_pluriel)__ - ({w_2}(?:er|ai[st]|ée?s?)) (moi|l(?:es?|a|eur|ui)|nous|vous) @@0,$ - <<- morph(\1, ":V", False) and isStart() >>> - <<- \2 == "moi" ->> =suggVerbTense(\1, ":E", ":2p") + "-moi" # Confusion probable. Pour l’impératif, écrivez : - <<- __else__ and \2.startswith("l") and morph(word(1), ":[OR]", ":N", True) - ->> =suggVerbTense(\1, ":E", ":2p") + "-" + \2 # Confusion probable. Pour l’impératif, écrivez : - <<- __else__ and isEnd() ->> =suggVerbTense(\1, ":E", ":2p") + "-" + \2 # Confusion probable. Pour l’impératif, écrivez : - -TEST: {{Donner moi}} une chance ->> Donnez-moi -TEST: je vous en prie, {{prenais moi}} avec vous. ->> prenez-moi -TEST: {{avançait moi}} de l’argent ->> avancez-moi -TEST: {{filé moi}} du fric, bon sang ! ->> filez-moi -TEST: {{Données lui}} ça. ->> Donnez-lui -TEST: {{Enseignait nous}}. ->> Enseignez-nous - - -# verbes du 1er et du 3ᵉ groupe en -e -__[i]/imp(imp_vgroupe1)__ - ^ *(\w+es)(?![- ](?:je|tu|[nv]ous|ils?|elles?|t-ils?|t-elles?)) @@$ - <<- morphex(\1, ":V[13].*:Ip.*:2s", ":[GNAM]") - -1>> =\1[:-1] # S’il s’agit d’un impératif, pas de “s”. - -TEST: {{Apportes}} ton fric à cet homme. -TEST: N’{{abandonnes}} pas si vite. -TEST: Ne {{demandes}} rien, tais-toi. -TEST: Castres est une belle ville. -TEST: Limoges aussi. - - -__/imp(imp_allez1)__ - ^ *(allés?), @@* <<- -1>> allez # S’il s’agit d’un impératif, écrivez : -__/imp(imp_allez2)__ - ^ *(allés?) ({w_2}) @@*,$ <<- morph(\2, ":[MYOs]") -1>> allez # S’il s’agit d’un impératif, écrivez : - -TEST: {{Allés}}, on y va ! -TEST: — {{Allé}} prendre une cuite. - - -# verbes du 2ᵉ et du 3ᵉ groupe en -t -__[i]/imp(imp_vgroupe2_vgroupe3_t)__ - ^ *(\w+t)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?)) @@$ - <<- morphex(\1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire)") and analyse(\1[:-1]+"s", ":E:2s", False) - and not (re.search("(?i)^vient$", \1) and after("^ +(?:l[ea]|[sd]e |[sd]’)")) - and not (re.search("(?i)^dit$", \1) and after("^ +[A-ZÉÈÂÎ]")) - -1>> =\1[:-1]+"s" # S’il s’agit d’un impératif, la terminaison est “is”, non “it”. - -TEST: {{Finit}} ton assiette. -TEST: Ne {{pourrit}} pas l’ambiance. -TEST: Suffit de s’en servir. -TEST: Et ne doit pas être rejeté dans les limbes. -TEST: Vient s’ajouter à ce contexte la perception, partagée par beaucoup, du caractère fortement menaçant de l’environnement économique et géopolitique. -TEST: À son bord vient d’embarquer un nouvel équipage - - -# verbes du 3ᵉ groupe en -d -__[i]/imp(imp_vgroupe3_d)__ - ^ *(\w+d)(?![- ](?:je|tu|[nv]ous|ils?|elles?|on|t-ils?|t-elles?)) @@$ - <<- morphex(\1, ":V3.*:Ip.*:3s", ":[GNA]") - and not (re.search("(?i)^répond$", \1) and after("^ +[A-ZÉÈÂÎ]")) - -1>> \1s # S’il s’agit d’un impératif, ajoutez un “s”. - -TEST: {{Prend}} le chemin de droite. -TEST: N’{{attend}} pas qu’elle vienne. -TEST: — Pour ma part, répond P., je crois que tout va bien. - - -# aller -__[i]/imp(imp_va)__ - ^ *(vas)(?! (?:tu|ils?|elles?|t-ils?|t-elles?)) @@$ - <<- -1>> va # S’il s’agit d’un impératif, pas de “s”. - -TEST: {{Vas}} lui mettre une branlée. - - -# être -__[i]/imp(imp_sois)__ - ^ *(soit) +({w_2}) @@*,$ - <<- morph(\1, ":V") or (morphex(\2, ":A", ":G") and not after(r"\bsoit\b")) - -1>> sois # S’il s’agit d’un impératif, écrivez « sois ». - -TEST: {{Soit}} cohérent avec toi-même. -TEST: Ne {{soit}} pas con. - - -# avoir -__[i]/imp(imp_aie)__ - ^[ >]*(ait?|aies) @@$ - <<- -1>> aie # S’il s’agit d’un impératif, écrivez « aie ». - -TEST: {{Ait}} la foi ! - - - -TEST: — {{Abandonnes}}. -TEST: Ne {{donnes}} pas autant. -TEST: N’{{insistes}} pas. -TEST: Ne {{finit}} pas ce devoir. -TEST: {{Finit}} cette tarte. -TEST: Ne {{soit}} pas en retard ! -TEST: Ne me {{prend}} pas pour un idiot -TEST: Ne l’{{attend}} pas -TEST: N’y {{vas}} pas -TEST: Ne m’y {{attend}} pas -TEST: Ne {{vient}} que lorsque je te le dirai. -TEST: Ne l’y {{contraint}} pas -TEST: {{Vient}}. -TEST: {{Sert}} le plat. -TEST: {{Attend}} la correction. -TEST: {{Vas}} au diable ! -TEST: {{Écartes}} de moi cette coupe. - - - -!! -!! -!!!! Impératif: traits d’union manquants !! -!! -!! - -__[i]/imp(imp_union_moi_toi)__ - (?> \1-\2 - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{Apportez moi}} ce dictionnaire - - -__[i]/imp(imp_union_nous_vous_lui_y)__ - (?> \1-\2 - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{Donne nous}} du café. - - -__[i]/imp(imp_union_les)__ - (?> \1-les - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{chante les}} avec conviction -TEST: Prenez les 5 ou 6 revues - - -__[i]/imp(imp_union_le_la_leur)__ - (?pour/", True) and morph(word(-1), ":Cc", False, True) - ->> \1-\2 - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{Prends le}} avec toi. -TEST: {{Dites leur}} que nous sommes là. -TEST: un sujet si extrêmement politique et polémique lui a donné un accès -TEST: Les États d’ores et déjà très affaiblis le seraient encore plus -TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs) -TEST: Notez le peu de cas qui en est fait en général dans les médias -TEST: deux fois par an, souligne le Dr Assouline - - -__[i]/imp(imp_laisser_le_la_les_infi)__ - ((laiss\w+) l(?:es|a)) +({w_2}) @@0,0,$ - <<- morph(\2, ">laisser/.*:E", False) and morphex(\3, ":(?:Y|X|Oo)", ":[NAB]") - -1>> =\1.replace(" ", "-") - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{Laisse les}} entrer… -TEST: {{Laissez la}} venir… -TEST: Laisse les chiens tranquilles -TEST: Laissez la peste leur pourrir la vie encore quelque temps. -TEST: le coût humain de la guerre qu’il a laissé les submerger. - - -__guerre/", False, False)) ->> \1’en - # « \1e » est ici abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union. - -TEST: donne{{-m-en}} encore - - -__[i]/imp(imp_union_m_t_en_y)__ - ({w_2}) [mt]’(?:en|y) @@0 - <<- morphex(\1, ":E", ":(?:G|M[12])") and morphex(word(1), ":", ":(?:Y|[123][sp])", True) - ->> =\0.replace(" ", "-") - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{donne m’en}}, s’il te plaît. - - -__[i]/imp(imp_union_verbe_pronom_moi_toi_lui)__ - ({w_2})-(?:en|les|l[ae]) (?:[mt]oi|lui) @@0 - <<- morph(\1, ":E", False) - ->> =\0.replace(" ", "-") - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: les analyses, {{donne-les moi}} - - -__[i]/imp(imp_union_verbe_pronom_en_y_leur)__ - ({w_2})-(?:[mt]oi|[nv]ous|lui|leur|l[ae]|les) (?:en|y|leur) @@0 - <<- morph(\1, ":E", False) and morphex(word(1), ":[RC]", ":[NAQ]", True) - ->> =\0.replace(" ", "-") - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{prends-leur en}} - - -__[i]/imp(imp_union_verbe_pronom_nous_vous)__ - ({w_2})-l(?:es?|a) (?:[nv]ous) @@0 - <<- morph(\1, ":E", False) and morphex(word(1), ":[RC]", ":Y", True) - ->> =\0.replace(" ", "-") - # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 - -TEST: {{apporte-les nous}} - - -__[i]/imp(imp_union_aller_y)!5__ - (?:v(?:iens|enez|enons)|all(?:ons|ez)) y - <<- not morph(word(1), ":Y", False, False) ->> =\0.replace(" ", "-") # Il manque un trait d’union. -__[i]/imp(imp_union_vas_y)!5__ - vas? y - <<- isStart() and not morph(word(1), ":Y", False, False) ->> vas-y # Il manque un trait d’union. -__[i]/imp(imp_union_convenir_en)__ - conv(?:iens|enez|enons) en(?! partie) <<- ->> =\0.replace(" ", "-") # Il manque un trait d’union. - -TEST: {{allons y}}, ça pue. -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”. !!