Overview
Comment: | [fr] utilisation des nouvelles commandes isStart(), isEnd(), etc. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
7e911db906e631da4cd1afbfdfebd46e |
User & Date: | olr on 2017-06-02 04:51:29 |
Other Links: | manifest | tags |
Context
2017-06-02
| ||
05:13 | [fr] utilisation de isRealEnd check-in: 83235f841a user: olr tags: trunk, fr | |
04:51 | [fr] utilisation des nouvelles commandes isStart(), isEnd(), etc. check-in: 7e911db906 user: olr tags: trunk, fr | |
04:30 | [build] new commands: isStart, isEnd, isRealStart, isRealEnd... check-in: 5bbe6273f4 user: olr tags: trunk, build, new_feature | |
Changes
Modified gc_lang/fr/rules.grx from [f8227a5444] to [a000778ab7].
︙ | ︙ | |||
1262 1263 1264 1265 1266 1267 1268 | TEST: Nous préparons une {{contre–attaque}}. ### ce / cet / cette / ces + nom + là __[i]/tu(tu_ce_cette_ces_nom_là1)__ c(?:e[st]?|ette) (({w_2}) là)(?! où) @@$,w <<- morph(\2, ":[NB]", False) -1>> \2-là # Il manque probablement un trait d’union. __[i]/tu(tu_ce_cette_ces_nom_là2)__ | | | 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 | TEST: Nous préparons une {{contre–attaque}}. ### ce / cet / cette / ces + nom + là __[i]/tu(tu_ce_cette_ces_nom_là1)__ c(?:e[st]?|ette) (({w_2}) là)(?! où) @@$,w <<- morph(\2, ":[NB]", False) -1>> \2-là # Il manque probablement un trait d’union. __[i]/tu(tu_ce_cette_ces_nom_là2)__ c(?:e[st]?|ette) (({w_2}) la) @@$,w <<- morph(\2, ":[NB]", False) and isEnd() -1>> \2-là # Il manque probablement un trait d’union. TEST: Ces {{trois là}} sont incollables. TEST: Je connais bien cette {{sensation là}}. TEST: Laisse ce chiot là où il est ! ### Préfixes |
︙ | ︙ | |||
1365 1366 1367 1368 1369 1370 1371 | __[i]/tu(tu_grand_chose)__ grand chose <<- ->> grand-chose # Il manque un trait d’union. __[i]/tu(tu_grand_père_mère)__ grands? (?:père|mère)s? <<- ->> =\0.replace(" ", "-") # Il manque un trait d’union. __[i]/tu(tu_ici_bas)__ ici bas <<- ->> ici-bas # Il manque un trait d’union. __[i]/tu(tu_jusque_là)__ jusque là <<- ->> jusque-là # Il manque un trait d’union. __[i]/tu(tu_là_adverbe)__ là (bas|haut|desso?us|dedans|devant|derrière) @@3 <<- ->> là-\1 # Il manque un trait d’union. __[i]/tu(tu_n_est_ce_pas)__ n’est(?: ce[ -]pas|-ce-pas) <<- ->> n’est-ce pas # Un trait d’union. __[i]/tu(tu_nord_sud_ouest)__ (nord|sud) ouest @@0 <<- ->> \1-ouest # Il manque un trait d’union. | | | 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 | __[i]/tu(tu_grand_chose)__ grand chose <<- ->> grand-chose # Il manque un trait d’union. __[i]/tu(tu_grand_père_mère)__ grands? (?:père|mère)s? <<- ->> =\0.replace(" ", "-") # Il manque un trait d’union. __[i]/tu(tu_ici_bas)__ ici bas <<- ->> ici-bas # Il manque un trait d’union. __[i]/tu(tu_jusque_là)__ jusque là <<- ->> jusque-là # Il manque un trait d’union. __[i]/tu(tu_là_adverbe)__ là (bas|haut|desso?us|dedans|devant|derrière) @@3 <<- ->> là-\1 # Il manque un trait d’union. __[i]/tu(tu_n_est_ce_pas)__ n’est(?: ce[ -]pas|-ce-pas) <<- ->> n’est-ce pas # Un trait d’union. __[i]/tu(tu_nord_sud_ouest)__ (nord|sud) ouest @@0 <<- ->> \1-ouest # Il manque un trait d’union. __[i]/tu(tu_nord_sud_est)__ (nord|sud) est @@0 <<- isEnd() ->> \1-est # Il manque un trait d’union. __[i]/tu(tu_outre_mer)__ outre mer <<- ->> outre-mer # Il manque un trait d’union. __[i]/tu(tu_ouï_dire)__ ou[iï] dire <<- morph(word(-1), ":G") ->> ouï-dire # Il manque un trait d’union. __[i]/tu(tu_par_préposition)__ par (desso?us|devant|delà|derrière|dehors|dedans|devers) @@$ <<- ->> par-\1 # Il manque un trait d’union. __[i]/tu(tu_par_ci_par_là)__ par ci,? par là <<- ->> par-ci par-là|par-ci, par-là # Trait(s) d’union manquant(s). __[i]/tu(tu_prêt_à_porter)__ |
︙ | ︙ | |||
1590 1591 1592 1593 1594 1595 1596 | TEST: Elle y arriva {{lors qu}}’elle trouva l’astuce permettant l’ouverture de la porte. TEST: Dès lors qu’on sait comment s’y prendre, aucune raison de faillir. # Dialogues __[u]/virg(virgule_dialogue_après_nom_propre)__ ([A-ZÉÈ][\w-]+) (\w+-(?:moi|toi|l(?:ui|a|e(?:ur|s|))|nous|vous|je|tu|ils|elles)) @@0,$ | | | 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 | TEST: Elle y arriva {{lors qu}}’elle trouva l’astuce permettant l’ouverture de la porte. TEST: Dès lors qu’on sait comment s’y prendre, aucune raison de faillir. # Dialogues __[u]/virg(virgule_dialogue_après_nom_propre)__ ([A-ZÉÈ][\w-]+) (\w+-(?:moi|toi|l(?:ui|a|e(?:ur|s|))|nous|vous|je|tu|ils|elles)) @@0,$ <<- morphex(\1, ":M", ":G") and not morph(\2, ":N", False) and isStart() -1>> \1, # Dialogue ? Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique. TEST: {{Maria}} donnez-vous du temps ? TEST: {{Marion}} passe-moi le sel. TEST: {{Paul}} prends-lui la main. TEST: Alexandre tient-il ses généraux ? TEST: Alexandra vient-elle ? |
︙ | ︙ | |||
1953 1954 1955 1956 1957 1958 1959 | __[i]/ocr(ocr_fut)__ rut <<- ->> fut # Erreur de numérisation ? TEST: __ocr__ ce petit {{rut}} traité comme un chien # il / n __[s]/ocr(ocr_il)__ (n )([bcdfghjklmnpqrstvwxz][\w-]+) @@0,$ | | | 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 | __[i]/ocr(ocr_fut)__ rut <<- ->> fut # Erreur de numérisation ? TEST: __ocr__ ce petit {{rut}} traité comme un chien # il / n __[s]/ocr(ocr_il)__ (n )([bcdfghjklmnpqrstvwxz][\w-]+) @@0,$ <<- isStart() and morph(\2, ":(?:O[on]|3s)", False) -1>> "il " # Erreur de numérisation ? TEST: __ocr__ {{n }}contient trop de soufre. # il / ils / U / Us __[s]/ocr(ocr_il_ils2)__ Us? |
︙ | ︙ | |||
2743 2744 2745 2746 2747 2748 2749 | TEST: mon {{rackette}} n’a pas porté les fruits espérés. TEST: Belle qui tient mon vit captif entre tes doigts. __[i]/conf(conf_ton_son_verbe)__ [st]on ({w_2}) @@4 | | | 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 | TEST: mon {{rackette}} n’a pas porté les fruits espérés. TEST: Belle qui tient mon vit captif entre tes doigts. __[i]/conf(conf_ton_son_verbe)__ [st]on ({w_2}) @@4 <<- morph(\1, ":V.*:(?:Y|[123][sp])") and \1[0].islower() and isStart() -1>> =suggSimil(\1, ":[NA]:[me]:[si]") # Incohérence : « \1 » est un verbe. TEST: ton {{recèle}} a été dévoilé __[i]/conf(conf_det_plur_verbe)__ ([dcmts]es|quelques|aux|[nv]os) +({w_2}) @@0,$ |
︙ | ︙ | |||
2944 2945 2946 2947 2948 2949 2950 | TEST: il faut de plus en plus aider ces gens. # a / à __[i]/conf(conf_a_à_tout_à_fait)__ tout (a) fait @@5 <<- -1>> à # Confusion. __[i]/conf(conf_a_à_jusqu_à)__ jusqu (a) @@6 <<- -1>> à # Confusion. __[i]/conf(conf_a_à_grâce_à)__ grâce (a) @@6 <<- morph(word(-1), ":[VN]", False, True) -1>> à # Confusion probable. | | | 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 | TEST: il faut de plus en plus aider ces gens. # a / à __[i]/conf(conf_a_à_tout_à_fait)__ tout (a) fait @@5 <<- -1>> à # Confusion. __[i]/conf(conf_a_à_jusqu_à)__ jusqu (a) @@6 <<- -1>> à # Confusion. __[i]/conf(conf_a_à_grâce_à)__ grâce (a) @@6 <<- morph(word(-1), ":[VN]", False, True) -1>> à # Confusion probable. __[i]/conf(conf_a_à_moins_que)__ (a) moins que? @@0 <<- isStart() -1>> à # Confusion probable : « à moins que » pour dire « sauf si ». __[i]/conf(conf_a_à_tout_à_coup)__ tout h?ah? co[uû][pt]? <<- ->> tout à coup # Confusion. __[i]/conf(conf_a_à_coup_sûr)__ a coup s[uû]r <<- ->> à coup sûr # Confusion. __[i]/conf(conf_a_à_face_à)__ face (a) @@5 <<- not before(r"(?i)\b(?:[lmts]a|leur|une|en) +$") -1>> à # Confusion. __[i]/conf(conf_a_à_pas_à_pas)__ pas (a) pas @@4 <<- -1>> à # Confusion. __[i]/conf(conf_a_à_par_rapport)__ par rapport (a) ({w_2}) @@12,$ <<- morph(\2, ":(?:D|Oo|M)", False) -1>> à # Confusion. __[i]/conf(conf_a_à_être_à)__ ({etre}) (a)(?! priori| posteriori| fortiori) @@0,$ |
︙ | ︙ | |||
3122 3123 3124 3125 3126 3127 3128 | TEST: Ce sont des clichés {{au}} {{dépend}} d’un grand chef. Tout ça pour faire du buzz et exister médiatiquement. # au temps / autant __[i]/conf(conf_au_temps_pour_moi)__ (au ?tant?) pour moi @@0 | | | 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 | TEST: Ce sont des clichés {{au}} {{dépend}} d’un grand chef. Tout ça pour faire du buzz et exister médiatiquement. # au temps / autant __[i]/conf(conf_au_temps_pour_moi)__ (au ?tant?) pour moi @@0 <<- isStart() -1>> au temps # Pour reconnaître son erreur, « au temps pour moi » est l’expression recommandée par l’Académie française. __[i]/conf(conf_autant_que_faire_se_peut)__ au t(?:emps|ant?) que f(?:aire|erre|ers?) [sc]e peu[xt]? <<- ->> autant que faire se peut # Locution adverbiale : « autant que faire se peut ».|https://fr.wiktionary.org/wiki/autant_que_faire_se_peut TEST: Je me suis trompé. {{Autant}} pour moi. TEST: on va y arriver, {{au temps que faire se peut}}… |
︙ | ︙ | |||
3261 3262 3263 3264 3265 3266 3267 | TEST: Elles étaient à cette date cultivées à l’air libre. TEST: De fraîche date… # d’en / dans __[i]/conf(conf_dans1)__ (d’en|dan) (?:l(?:es?|a)|une?|d(?:es?|u)|[mts](?:on|a|es)|[nv]o(?:tre|s)|ce(?:tte|t|s|)) @@0 | | | 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 | TEST: Elles étaient à cette date cultivées à l’air libre. TEST: De fraîche date… # d’en / dans __[i]/conf(conf_dans1)__ (d’en|dan) (?:l(?:es?|a)|une?|d(?:es?|u)|[mts](?:on|a|es)|[nv]o(?:tre|s)|ce(?:tte|t|s|)) @@0 <<- \1.endswith("en") or isRealStart() -1>> dans # Confusion. Utilisez “dans” pour dire “à l’intérieur de quelque chose”. __[i]/conf(conf_dans2)__ ^ *(dents?) (?:l(?:es?|a)|une?|[mts](?:on|a|es)|[nv]o(?:tre|s)|ce(?:tte|t|s|)) @@* <<- -1>> dans # Confusion. Utilisez “dans” pour dire “à l’intérieur de quelque chose”. TEST: {{dan}} la voiture TEST: ils sont partis {{d’en}} une direction différente TEST: {{dents}} les montagnes au loin. |
︙ | ︙ | |||
3336 3337 3338 3339 3340 3341 3342 | TEST: dans ses différents ouvrages TEST: dans ses différents postes gouvernementaux # eh bien, hé bien / et bien __[i]/conf(conf_eh_bien)__ et bien(?! que?| sûr| d’autres| entendu| avant| souvent| longtemps| des| moins| plus| au-delà) | | | 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 | TEST: dans ses différents ouvrages TEST: dans ses différents postes gouvernementaux # eh bien, hé bien / et bien __[i]/conf(conf_eh_bien)__ et bien(?! que?| sûr| d’autres| entendu| avant| souvent| longtemps| des| moins| plus| au-delà) <<- isStart() and not morph(word(1), ":[WAY]", False, False) ->> eh bien|hé bien # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=h%C3%A9&T3.x=0&T3.y=0 __[i]/conf(conf_eh_ben)__ et (ben) @@3 <<- not \1.startswith("B") ->> eh ben|hé ben # Confusion probable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=h%C3%A9&T3.x=0&T3.y=0 TEST: {{et bien}} il y aura des pertes |
︙ | ︙ | |||
3618 3619 3620 3621 3622 3623 3624 | -2>> savoir # Confusion : vous écrivez l’inverse de ce que vous voulez dire.|http://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir TEST: Vous n’êtes pas sans {{ignorer}} que… ## s’en / sens / sans / cent / cens __[i]/conf(conf_il_on_s_en)__ (?:ils?|on) (san[sg]|cen[st]|c’en) ({w_2}) @@w,$ | | | | 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 | -2>> savoir # Confusion : vous écrivez l’inverse de ce que vous voulez dire.|http://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir TEST: Vous n’êtes pas sans {{ignorer}} que… ## s’en / sens / sans / cent / cens __[i]/conf(conf_il_on_s_en)__ (?:ils?|on) (san[sg]|cen[st]|c’en) ({w_2}) @@w,$ <<- isStart() and morph(\2, ":V", False) -1>> s’en # Confusion probable. __[i]/conf(conf_elle_s_en)__ elles? (san[sg]|cen[st]|c’en) ({w_2}) @@w,$ <<- isStart() and morph(\2, ":V", False) and not ( \1 == "sans" and morph(\2, ":[NY]", False) ) -1>> s’en # Confusion probable. TEST: il {{c’en}} est vite lassé. TEST: {{S’en}} était vraiment trop ! TEST: Car {{s’en}} était vraiment fini ! TEST: elle {{sang}} était voulu |
︙ | ︙ | |||
3836 3837 3838 3839 3840 3841 3842 | __[i]/conj(conj_xxxai_sans_sujet)!3__ \w*ai(?! je) <<- ( morph(\0, ":1s") or ( before("> +$") and morph(\0, ":1s", False) ) ) and not (\0[0:1].isupper() and before0(r"\w")) and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) )") ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. __[i]/conj(conj_xxxes_sans_sujet)!3__ \w*es(?! tu) | | | 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 | __[i]/conj(conj_xxxai_sans_sujet)!3__ \w*ai(?! je) <<- ( morph(\0, ":1s") or ( before("> +$") and morph(\0, ":1s", False) ) ) and not (\0[0:1].isupper() and before0(r"\w")) and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) )") ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. __[i]/conj(conj_xxxes_sans_sujet)!3__ \w*es(?! tu) <<- morphex(\0, ":2s", ":(?:E|G|W|M|J|[13][sp]|2p)") and not \0[0:1].isupper() and not isRealStart() and ( not morph(\0, ":[NAQ]", False) or before("> +$") ) and not before(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )") ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. __[i]/conj(conj_xxxas_sans_sujet)!3__ \w+as(?! tu) <<- morphex(\0, ":2s", ":(?:G|W|M|J|[13][sp]|2p)") and not (\0[0:1].isupper() and before0(r"\w")) and ( not morph(\0, ":[NAQ]", False) or before("> +$") ) |
︙ | ︙ | |||
3929 3930 3931 3932 3933 3934 3935 | (tout) (?:débuts|petits) @@0 <<- before(r"\b(aux|[ldmtsc]es|[nv]os|leurs) +$") ~1>> * __[i](p_les_tout_xxx)__ (?:[ldmtsc]es|[nv]os|leurs|aux) (tout) ({w_2}) @@w,$ <<- morph(\2, ":[AQ].*:[pi]", False) ~1>> * __[i]/gn(gn_tous_deux)__ | | | 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 | (tout) (?:débuts|petits) @@0 <<- before(r"\b(aux|[ldmtsc]es|[nv]os|leurs) +$") ~1>> * __[i](p_les_tout_xxx)__ (?:[ldmtsc]es|[nv]os|leurs|aux) (tout) ({w_2}) @@w,$ <<- morph(\2, ":[AQ].*:[pi]", False) ~1>> * __[i]/gn(gn_tous_deux)__ (tout) deux @@0 <<- isStart() -1>> tous # Locution pronominale : « tous deux ».|https://fr.wiktionary.org/wiki/tous_deux TEST: {{Tout}} deux sont partis les premiers. __[i]/gn(gn_tous_déterminant_pluriel)__ tout(?= [cmts]es\b) <<- not before(r"(?i)\b(?:d[eu]|avant|après|sur|malgré) +$") ->> tous # Erreur d’accord probable. |
︙ | ︙ | |||
4239 4240 4241 4242 4243 4244 4245 | __[i](p_épaule_contre_épaule)__ épaule contre épaule <<- ~>> * __[i](p_été_comme_hiver)__ été comme hiver <<- ~>> * __[i](p_oh_ah_euh_eh_bien)__ (?:oh|ah|euh|eh bien) <<- ~>> * __[i](p_ex_loc_latine)__ ex (?:nihilo|cathedra|absurdo|abrupto) <<- ~>> * __[i](p_face_à_face)__ face à face <<- ~>> * __[i](p_nombre_fois_de_suite)__ (?:deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|cent) fois de suite <<- ~>> * __[i](p_grosso_modo)__ grosso modo <<- ~>> * | | | 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 | __[i](p_épaule_contre_épaule)__ épaule contre épaule <<- ~>> * __[i](p_été_comme_hiver)__ été comme hiver <<- ~>> * __[i](p_oh_ah_euh_eh_bien)__ (?:oh|ah|euh|eh bien) <<- ~>> * __[i](p_ex_loc_latine)__ ex (?:nihilo|cathedra|absurdo|abrupto) <<- ~>> * __[i](p_face_à_face)__ face à face <<- ~>> * __[i](p_nombre_fois_de_suite)__ (?:deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante|cent) fois de suite <<- ~>> * __[i](p_grosso_modo)__ grosso modo <<- ~>> * __[i](p_grand_bien_lui_fasse)__ grand bien lui fasse <<- isStart() ~>> * __[i](p_hier)__ (?:avant-|)hier(?: matin| soir| après-midi|) <<- ~>> * __[i](p_hors_de_qqch)__ hors (?:de (?:contrôle|portée)|d’(?:atteinte|état de nuire)|du commun) <<- ~>> * __[i](p_ici_qqch)__ ici(?: comme ailleurs| ou ailleurs| et (?:là|maintenant)| même|-bas) <<- ~>> * __[i](p_id_est)__ id est <<- ~>> * __[i](p_il_y_a_qqch)__ il y a (?:longtemps|peu de temps|très (?:longtemps|peu de temps)|(?:quelques|moins de \d+|\d+) (?:secondes|minutes|heures|jours|semaines|mois|an(?:née|)s|siècles|millénaires)|quelque temps) <<- ~>> * __[i](p_il_n_y_a_pas_qqch)__ il n’y a pas (?:si |)longtemps <<- ~>> * __[i](p_illico_presto)__ illico presto <<- ~>> * |
︙ | ︙ | |||
4751 4752 4753 4754 4755 4756 4757 | ## Seconde passe (il faut réorganiser tout le cycle de simplification) __[i](p_à_nos_yeux)__ (à (?:[mts]es|[nv]os|leurs) yeux) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> * __[i](p_ben_voyons)__ | | | 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 | ## Seconde passe (il faut réorganiser tout le cycle de simplification) __[i](p_à_nos_yeux)__ (à (?:[mts]es|[nv]os|leurs) yeux) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> * __[i](p_ben_voyons)__ ben voyons <<- isStart() ~>> * __[i](p_chaque_année_semaine_journée_décennie)__ (chaque (?:année|semaine|journée|décennie)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[fe]:[si]|Oo|[123][sp])", False) ~1>> * __[i](p_chaque_an_jour_mois)__ (chaque (?:an|jour|mois)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[me]:[si]|Oo|[123][sp])", False) ~1>> * __[i](p_dans_l_ensemble)__ (dans l’ensemble) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> * __[i](p_de_ce_seul_fait)__ |
︙ | ︙ | |||
4867 4868 4869 4870 4871 4872 4873 | ~2>> ~ __[i](p_astuce_désambiguïsation2)__ (?:d(?:es? |’)|[mts](?:es|on|a) |ce(?:s|t(?:te|)|rtaine?s|) |[nv](?:otre|os) |leurs |quelques ) *({w_2})( ) *({w_2}) @@w,**,$ <<- isAmbiguousNAV(\3) and morphex(\1, ":[NAQ]", ">telle ") and not re.search("^[dD](?:’une?|e l(?:a|eur)) ", \0) ~2>> ~ __[i](p_astuce_désambiguïsation3)__ l(?:es? |a |’|eur ) *({w_2})( ) *({w_2}) @@w,**,$ | | | 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 | ~2>> ~ __[i](p_astuce_désambiguïsation2)__ (?:d(?:es? |’)|[mts](?:es|on|a) |ce(?:s|t(?:te|)|rtaine?s|) |[nv](?:otre|os) |leurs |quelques ) *({w_2})( ) *({w_2}) @@w,**,$ <<- isAmbiguousNAV(\3) and morphex(\1, ":[NAQ]", ">telle ") and not re.search("^[dD](?:’une?|e l(?:a|eur)) ", \0) ~2>> ~ __[i](p_astuce_désambiguïsation3)__ l(?:es? |a |’|eur ) *({w_2})( ) *({w_2}) @@w,**,$ <<- isAmbiguousNAV(\3) and ( morphex(\1, ":[NAQ]", ":V0a") or (morphex(\1, ":[NAQ]", ":(?:3[sp]|V0a)") and isStart()) ) ~2>> ~ TEST: comme le signe évident d’une politique volontaire TEST: c’était le signe évident d’une politique volontaire TEST: ce que c’est : le signe évident d’une politique volontaire |
︙ | ︙ | |||
5950 5951 5952 5953 5954 5955 5956 | __<i]/sgpl(sgpl_prep_compris_det)__ ^ *((Compris|Non[- ]compris)es?) +(?:l(?:es?|a)|ce(?:te|t|s|)|leurs?|[mts](?:on|a|es)|[nv]os) @@*,* <<- -1>> \2 # Considéré comme préposition, invariable. __<i]/sgpl(sgpl_prep_entendu_det)__ ^ *((Entendu|Excepté|Ôté|Supposé|Passé)(?:es?|s)) +(?:l(?:es?|a)|ce(?:te|t|s|)|leurs?|[mts](?:on|a|es)|[nv]os) @@*,* <<- -1>> \2 # Considéré comme préposition, invariable. __[i]/sgpl(sgpl_prep_attendu_que)__ | | | | | 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 | __<i]/sgpl(sgpl_prep_compris_det)__ ^ *((Compris|Non[- ]compris)es?) +(?:l(?:es?|a)|ce(?:te|t|s|)|leurs?|[mts](?:on|a|es)|[nv]os) @@*,* <<- -1>> \2 # Considéré comme préposition, invariable. __<i]/sgpl(sgpl_prep_entendu_det)__ ^ *((Entendu|Excepté|Ôté|Supposé|Passé)(?:es?|s)) +(?:l(?:es?|a)|ce(?:te|t|s|)|leurs?|[mts](?:on|a|es)|[nv]os) @@*,* <<- -1>> \2 # Considéré comme préposition, invariable. __[i]/sgpl(sgpl_prep_attendu_que)__ (attendu(?:es?|s)) que? @@0 <<- isStart() -1>> attendu # Considéré comme préposition, invariable. __[i]/sgpl(sgpl_prep_étant_donné)__ étant donné(?:es?|s) <<- isStart() ->> étant donné # Considéré comme préposition, invariable. __[i]/sgpl(sgpl_prep_vu_det)__ (vu(?:es?|s)) (?:[lc]es?|la|cette|leurs?|que?) @@0 <<- isStart() -1>> vu # Considéré comme préposition, invariable. TEST: {{comprises}} mes prestations sur place TEST: {{Exceptés}} les petits, tous sont tombes malades. TEST: {{Attendues}} qu’on n’en sait rien, impossible de tirer des conclusions définitives. TEST: Il viendra, {{étant donnée}} son addiction… TEST: {{Vues}} les idioties qu’on entend, normal qu’on perde la tête. TEST: {{Passées}} les premières heures du jour… |
︙ | ︙ | |||
6315 6316 6317 6318 6319 6320 6321 | ############################## CONFUSIONS, HOMONYMES ET FAUX-AMIS ############################### # abuser / abusé / abusif __[i]/conf(conf_abusif)__ c’est +(abus(?:é|er)) @@$ | | | 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 | ############################## CONFUSIONS, HOMONYMES ET FAUX-AMIS ############################### # abuser / abusé / abusif __[i]/conf(conf_abusif)__ c’est +(abus(?:é|er)) @@$ <<- isEnd() -1>> abusif # Confusion. Concernant les actes, on parle de pratiques abusives. On abuse des choses ou des personnes. TEST: C’est {{abusé}} ! # acre / âcre __[i]/conf(conf_acre)__ \d+ (âcres?) @@$ |
︙ | ︙ | |||
7069 7070 7071 7072 7073 7074 7075 | TEST: une économie {{digitale}} ou rien TEST: Dans l’ère du {{digital}}, tout va plus vite. ## on / ont __[i>/conf(conf_on1)__ (ont) [nmts]’(?!(?:ils?|elles?)) @@0 | | | 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 | TEST: une économie {{digitale}} ou rien TEST: Dans l’ère du {{digital}}, tout va plus vite. ## on / ont __[i>/conf(conf_on1)__ (ont) [nmts]’(?!(?:ils?|elles?)) @@0 <<- isStart() -1>> on # Confusion probable : “ont” est une conjugaison du verbe avoir. TEST: {{ont}} m’assure qu’il n’y en a pas. TEST: {{Ont}} n’arrive pas à s’en sortir. __[i]/conf(conf_on2)__ (?<![nmts]’)(ont) ({w_1}) @@0,$ |
︙ | ︙ | |||
7092 7093 7094 7095 7096 7097 7098 | TEST: {{Ont}} ne sait pas comment faire. TEST: qui n’ont somme toute que le désir de vivre paisiblement __[i]/conf(conf_on3)__ (ont) (?:l(?:ui|eur)|[nv]ous) ({w_2}) @@0,$ <<- morphex(\2, ":V.*:(?:[1-3][sp])", ":(?:G|1p)") | | | 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 | TEST: {{Ont}} ne sait pas comment faire. TEST: qui n’ont somme toute que le désir de vivre paisiblement __[i]/conf(conf_on3)__ (ont) (?:l(?:ui|eur)|[nv]ous) ({w_2}) @@0,$ <<- morphex(\2, ":V.*:(?:[1-3][sp])", ":(?:G|1p)") and not ( \0.find(" leur ") and morph(\2, ":[NA].*:[si]", False) ) and isStart() -1>> on # Confusion probable : “ont” est une conjugaison du verbe avoir. TEST: {{Ont}} lui avait donné du temps TEST: {{Ont}} leur prendra tout TEST: Qu’importe, {{ont}} leur prend tout |
︙ | ︙ | |||
7328 7329 7330 7331 7332 7333 7334 | de (quoique) @@3 <<- -1>> quoi que # Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1571 TEST: de {{quoique}} ce soit, je ne veux pas en entendre parler. # quoiqu’il en coûte __[i]/conf(conf_quoi_qu_il_en_coûte)__ | | | 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 | de (quoique) @@3 <<- -1>> quoi que # Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1571 TEST: de {{quoique}} ce soit, je ne veux pas en entendre parler. # quoiqu’il en coûte __[i]/conf(conf_quoi_qu_il_en_coûte)__ (quoiqu il) en (?:co[uû]te) @@0 <<- isEnd() -1>> quoi qu’il # Confusion probable. TEST: Elle y parviendra, {{quoiqu’il}} en coûte. # raisonner / résonner __[i]/conf(conf_raisonner)__ (?:la|les?|[mts]e|[nv]ous) (résonn\w+) @@$ |
︙ | ︙ | |||
7447 7448 7449 7450 7451 7452 7453 | TEST: S’aimer {{soit-même}}, c’est le début d’une grande histoire d’amour. (Oscar Wilde) TEST: Je regrette que l’on en soit encore à des considérations que je croyais dépassées TEST: Quoi qu’il en soit __[i]/conf(conf_soit1)__ (soie?s?) ({w_2}) @@0,$ | | | | 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 | TEST: S’aimer {{soit-même}}, c’est le début d’une grande histoire d’amour. (Oscar Wilde) TEST: Je regrette que l’on en soit encore à des considérations que je croyais dépassées TEST: Quoi qu’il en soit __[i]/conf(conf_soit1)__ (soie?s?) ({w_2}) @@0,$ <<- isStart() and morphex(\2, ":[OC]", ":R") -1>> soit # Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction __[i]/conf(conf_soit2)__ (soie?s?) [jtcç]’ @@0 <<- isStart() -1>> soit # Confusion probable : pour évoquer une option, écrivez “soit”.|https://fr.wiktionary.org/wiki/soit#Conjonction TEST: {{soi}} je vais au cinéma, {{soi}} je m’abstiens. TEST: {{soie}} j’arrive avant tout le monde. # sur / sûr __[i]/conf(conf_sûr_que)__ |
︙ | ︙ | |||
8018 8019 8020 8021 8022 8023 8024 | __[i](p_lors_de_du_nom)__ lors d(?:’|e(?:s| la|) |u ) *({w_2}) @@$ <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> * ## doute que __[i](p_nul_doute_que)__ | | | 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 | __[i](p_lors_de_du_nom)__ lors d(?:’|e(?:s| la|) |u ) *({w_2}) @@$ <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> * ## doute que __[i](p_nul_doute_que)__ nul doute qu <<- isStart() ~>> * __[i](p_douter_que)__ (dout\w+)( ) *que? @@0,* <<- morph(\1, ">douter ", False) and before(r"(?i)\b(?:[mts]e|[nv]ous) +$") ~2>> , ## de + __[i](p_de_nom)__ d(?:e +|’)(?!autres)({w_2}) @@$ <<- morphex(\1, ":N", ":[GY]") and isEndOfNG() ~>> * |
︙ | ︙ | |||
8128 8129 8130 8131 8132 8133 8134 | ## s’en / c’en __[i]/conf(conf_c_en_être)__ (s’en) (?:n’|)(?:est|seras?|étai[ts]) +({w_2}) @@0,$ <<- re.search("(?i)^(?:fini|terminé)s?", \2) and morph(word(-1), ":C", False, True) -1>> c’en # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de | | | 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 | ## s’en / c’en __[i]/conf(conf_c_en_être)__ (s’en) (?:n’|)(?:est|seras?|étai[ts]) +({w_2}) @@0,$ <<- re.search("(?i)^(?:fini|terminé)s?", \2) and morph(word(-1), ":C", False, True) -1>> c’en # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de <<- re.search("(?i)^(?:assez|trop)$", \2) and (after("^ +d(?:e |’)") or isEnd()) -1>> c’en # Confusion probable. « C’en est… » équivaut à « ça, c’est… ».|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de <<- morphex(\2, ":A", ":[GVW]") and morph(word(-1), ":C", False, True) -1>> c’en # Confusion probable : “\2” est un adjectif. « C’en est… » équivaut à « ça, c’est… ».3|http://fr.wiktionary.org/wiki/c%E2%80%99en_est_fait_de TEST: c’en est fini d’eux, ils sont comme morts |
︙ | ︙ | |||
9256 9257 9258 9259 9260 9261 9262 | # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel. TEST: Vous {{arrivais}} trop tard. __[i]/conj(conj_vous_verbe2)__ vous [nm](?:e +(?:les? |l’|la |[nv]ous |)|’)({w_3}) @@$ | | | 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 | # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel. TEST: Vous {{arrivais}} trop tard. __[i]/conj(conj_vous_verbe2)__ vous [nm](?:e +(?:les? |l’|la |[nv]ous |)|’)({w_3}) @@$ <<- morphex(\1, ":V", ":2p") and isStart() -1>> =suggVerb(@, ":2p") # Conjugaison erronée. Accord avec « vous ». Le verbe devrait être à la 2ᵉ personne du pluriel. TEST: vous ne l’{{avait}} pas vu. TEST: je crois, vous m’{{avais}} trompé… ## se + incohérence __[i]/conj(conj_se_incohérence)__ |
︙ | ︙ | |||
9312 9313 9314 9315 9316 9317 9318 | #### IMPÉRATIF ! # Confusions __[i]/imp(imp_confusion_2e_pers_pluriel)__ ({w_2}(?:er|ai[st]|ée?s?)) moi @@0 | | | 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 | #### IMPÉRATIF ! # Confusions __[i]/imp(imp_confusion_2e_pers_pluriel)__ ({w_2}(?:er|ai[st]|ée?s?)) moi @@0 <<- morph(\1, ":V", False) and isStart() ->> =suggVerbTense(\1, ":E", ":2p") + "-moi" # Confusion probable. Pour l’impératif, écrivez : TEST: {{Donner moi}} une chance TEST: je vous en prie, {{prenais moi}} avec vous. TEST: {{avançait moi}} de l’argent TEST: {{filé moi}} du fric, bon sang ! |
︙ | ︙ | |||
9538 9539 9540 9541 9542 9543 9544 | __[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 | | | 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 | __[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é |
︙ | ︙ | |||
9583 9584 9585 9586 9587 9588 9589 | __[i](p_pro_per_obj20)__ (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> > __[i](p_pro_per_obj21)__ (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> > __[s](p_pro_per_obj22)__ [lL]’a <<- ~>> > a __[i](p_pro_per_obj23)__ (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|1p)") ~1>> > __[i](p_pro_per_obj24)__ (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|2p)") ~1>> > __[i](p_pro_per_obj25)__ (?:à|de) ([nv]ous|lui|les?|en)(?! qui) @@$ <<- ~1>> > __[i](p_pro_per_obj26)__ (s’)({w4}) @@0,2 <<- morph(\2, ":V", False) ~1>> > | | | 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 | __[i](p_pro_per_obj20)__ (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> > __[i](p_pro_per_obj21)__ (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> > __[s](p_pro_per_obj22)__ [lL]’a <<- ~>> > a __[i](p_pro_per_obj23)__ (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|1p)") ~1>> > __[i](p_pro_per_obj24)__ (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|2p)") ~1>> > __[i](p_pro_per_obj25)__ (?:à|de) ([nv]ous|lui|les?|en)(?! qui) @@$ <<- ~1>> > __[i](p_pro_per_obj26)__ (s’)({w4}) @@0,2 <<- morph(\2, ":V", False) ~1>> > __[i](p_pro_per_obj27)__ (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +){w_2} @@* <<- isStart() ~1>> > __[i](p_pro_per_obj28)__ (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$ <<- morph(\2, ":V", False) ~1>> > __[i](p_pro_per_obj29)__ (t’(?:en|y)) ({w_2}) @@0,$ <<- 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,$ <<- 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]’ <<- ~>> > __[i>(p_pro_per_obj32)__ [mts]e +l’ <<- ~>> > __[i>(p_pro_per_obj33)__ [nm]’ <<- ~>> > __[i](p_pro_per_obj34)__ [nmts]e <<- ~>> > |
︙ | ︙ | |||
10058 10059 10060 10061 10062 10063 10064 | (?<![dD]’)(une?|[mts](?:on|a)|ce(?:tte|t|)) +({w_2})~ *({w_2}) @@0,w,$ <<- morphex(word(-1), ":C", ":(?:Y|P)", True) and isAmbiguousAndWrong(\2, \3, ":s", ":3s") and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":(?:[123]p|p)", False)) and not before(r"(?i)\bni .* ni\b") -3>> =suggVerb(@, ":3s", suggSing) # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. __[i]/conj(conj_det_nom_ambiguïté2)__ (l(?:e(?:ur|) |a |’)) *({w_2})~ *({w_2}) @@0,w,$ | | | 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 | (?<![dD]’)(une?|[mts](?:on|a)|ce(?:tte|t|)) +({w_2})~ *({w_2}) @@0,w,$ <<- morphex(word(-1), ":C", ":(?:Y|P)", True) and isAmbiguousAndWrong(\2, \3, ":s", ":3s") and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":(?:[123]p|p)", False)) and not before(r"(?i)\bni .* ni\b") -3>> =suggVerb(@, ":3s", suggSing) # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. __[i]/conj(conj_det_nom_ambiguïté2)__ (l(?:e(?:ur|) |a |’)) *({w_2})~ *({w_2}) @@0,w,$ <<- morphex(word(-1), ":C", ":(?:Y|P)", True) and isVeryAmbiguousAndWrong(\2, \3, ":s", ":3s", isStart()) and not (before(r"(?i)\b(?:et|ou) +$") and morph(\3, ":(?:[123]p|p)", False)) and not before(r"(?i)\bni .* ni\b") -3>> =suggVerb(@, ":3s", suggSing) # Accord avec « \1 \2… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. TEST: mon chat {{sautes}} TEST: cette fille {{bouffes}} comme mille TEST: cette marchande {{marchandes}} TEST: la marchande {{marchandes}} |
︙ | ︙ | |||
10262 10263 10264 10265 10266 10267 10268 | TEST: mes filles {{passe}} ce matin TEST: vos filles {{passes}} ce matin __[i]/conj(conj_les_nom_ambiguïté)__ les +({w_2})~ *({w_2}) @@w,$ | | | | | 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 | TEST: mes filles {{passe}} ce matin TEST: vos filles {{passes}} ce matin __[i]/conj(conj_les_nom_ambiguïté)__ les +({w_2})~ *({w_2}) @@w,$ <<- morphex(word(-1), ":C", ":[YP]", True) and isVeryAmbiguousAndWrong(\1, \2, ":p", ":3p", isStart()) -2>> =suggVerb(@, ":3p", suggPlur) # Accord avec « les \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. TEST: les grands {{danse}} TEST: les filles {{passes}} ce matin TEST: les marchands {{marche}} TEST: les marchands {{plie}} TEST: les marchands {{paye}} TEST: les marchands {{marchande}} TEST: les marchandes {{paie}} TEST: les marchandes {{marchande}} TEST: les chattes {{finis}} TEST: les chattes {{manges}} TEST: les chattes {{danse}} __[i]/conj(conj_certains_nom_ambiguïté)__ certains +({w_2})~ *({w_2}) @@w,$ <<- morphex(word(-1), ":C", ":[YP]", True) and isVeryAmbiguousAndWrong(\1, \2, ":m:p", ":3p", isStart()) -2>> =suggVerb(@, ":3p", suggMasPlur) # Accord avec « certains \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. TEST: certains hommes {{marchandes}} sans cesse __[i]/conj(conj_certaines_nom_ambiguïté)__ certaines +({w_2})~ *({w_2}) @@w,$ <<- morphex(word(-1), ":C", ":[YP]", True) and isVeryAmbiguousAndWrong(\1, \2, ":f:p", ":3p", isStart()) -2>> =suggVerb(@, ":3p", suggFemPlur) # Accord avec « certaines \1… » incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. TEST: certaines femmes {{danse}} beaucoup ## Quel(le) que soit / quel(le)s que soient |
︙ | ︙ | |||
10412 10413 10414 10415 10416 10417 10418 | <<- morphex(\1, ":[12][sp]", ":(?:G|W|3[sp])") -1>> =suggVerb(@, ":3s") # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne. TEST: peu importe ce que tu crois du lieu où l’{{abandonnerais}} ce salopard… __[i]/conj(conj_puisse)__ (puisses?) ({w_2}) @@0,$ | | | 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 | <<- morphex(\1, ":[12][sp]", ":(?:G|W|3[sp])") -1>> =suggVerb(@, ":3s") # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne. TEST: peu importe ce que tu crois du lieu où l’{{abandonnerais}} ce salopard… __[i]/conj(conj_puisse)__ (puisses?) ({w_2}) @@0,$ <<- isStart() >>> <<- morph(\2, ":D.*:p", False) -1>> puissent # Conjugaison erronée. Ce verbe devrait s’accorder au substantif qui le suit. <<- __else__ and \1.endswith("s") and \2 != "tu" and not before(r"(?i)\btu ") -1>> puisse # Conjugaison erronée. Sujet “tu” introuvable. TEST: {{puisse}} les hommes enfin comprendre leurs erreurs. ->> puissent TEST: {{puisses}} notre ennemi trembler de peur devant notre courage. ->> puisse |
︙ | ︙ | |||
10587 10588 10589 10590 10591 10592 10593 | 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,$ | | | | 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 | 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 |
︙ | ︙ |