Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [fr] tests et ajustements |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: | 7b06dbd33c14dcf3a31dd7e97bad925e |
User & Date: | olr 2019-07-31 12:36:40 |
Context
2019-08-02
| ||
06:03 | [fr] tests et ajustements check-in: b2be957bfd user: olr tags: fr, trunk | |
2019-07-31
| ||
12:36 | [fr] tests et ajustements check-in: 7b06dbd33c user: olr tags: fr, trunk | |
07:21 | [fr] tests et ajustements check-in: 7a50040a2a user: olr tags: fr, trunk | |
Changes
Changes to gc_lang/fr/rules.grx.
2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 .... 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 ..... 13617 13618 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 ..... 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 13880 13881 ..... 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 ..... 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 ..... 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 ..... 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 ..... 14185 14186 14187 14188 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 ..... 14335 14336 14337 14338 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 ..... 14448 14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 ..... 20116 20117 20118 20119 20120 20121 20122 20123 20124 20125 20126 20127 20128 20129 20130 20131 ..... 20134 20135 20136 20137 20138 20139 20140 20141 20142 20143 20144 20145 20146 20147 20148 20149 20150 20151 20152 20153 20154 20155 20156 20157 20158 20159 20160 20161 20162 ..... 20173 20174 20175 20176 20177 20178 20179 20180 20181 20182 20183 20184 20185 20186 20187 20188 ..... 20221 20222 20223 20224 20225 20226 20227 20228 20229 20230 20231 20232 20233 20234 20235 20236 20237 20238 20239 20240 20241 20242 20243 20244 |
__fusions_noms_communs__ au revoir <<- ~>> ␣ <<- =>> define(\1, [":N:m:i"]) n’ importe [qui|quoi|quel|quelle|quels|quelles] <<- ~1:2>> ␣ [cultural|gender] studies <<- ~>> ␣ <<- =>> define(\1, [":N:f:p"]) machine [learning|learnings] ................................................................................ <<- morph(\1, ":V") !-2>> soit pour soit contre <<- !3>> TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics. !!!! Noms composés !! __tag_noms__ ~\w-là$ <<- />> -là ................................................................................ TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous. TEST: {{leur}} gros {{grains}} TEST: Que ferons-nous de {{leur}} gros {{grains}} __gn_le_la_leur_3m__ [le|la|leur] *WORD *WORD *WORD <<- /gn/ morph(\1, ":D") and morph(\2, ":[NA].*:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G)") and morph(\4, ":[NA].*:p", "*") and \4.islower() -4>> =suggSing(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier. TEST: leur grande passion {{délirantes}} pour le cosplay. TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes. TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien. TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages. __gn_ledit_1m__ ledit *WORD ................................................................................ <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4) -4>> =suggMasSing(\4, True) # Accord de genre erroné : « \3 » est masculin, « \4 » est féminin. <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggMasSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: cet outil {{terribles}} qu’il a dans les mains TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle. TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}. __gn_mon_ton_son_1m__ [mon|ton|son] *WORD <<- /gn/ morph(\1, ":D") >>> <<- /gn/ morph(\2, ">[bcdfgjklmnpqrstvwxz].*:[NA].*:f", ":[GWme]") -1>> =\1.replace("on", "a").replace("ON", "A") # Accord de genre erroné : « \2 » est féminin. ................................................................................ -4>> =suggFemSing(\4, True) # Accord de genre erroné : « \3 » est féminin, « \4 » est masculin. <<- /gn/ morph(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggFemSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: quelle belle {{étourdi}}, cette gamine TEST: j’en ai assez de cette ville {{stressées}} en permanence. TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ? TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance. __gn_notre_votre_chaque_1m__ [notre|votre|chaque] *WORD <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. ................................................................................ [et|ou|de] [chaque|quelque|notre|votre] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*"))) and not apposition(\3, \4) -4>> =switchGender(\4, False) # Accord de genre erroné entre « \3 » et « \4 ». <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, False) # Accord de genre erroné avec « \4 ». <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: chaque élément {{terrestres}} TEST: notre {{belle}} {{avenu}} TEST: ils viennent de chaque coin {{ignorée}} du pays. TEST: que faire de votre {{ennuyeuse}} {{avocat}} TEST: de quelque cartable {{vides}} TEST: Quelque chose tombé dans le puits a souillé l’eau. __gn_det_sing_3m__ [ledit|ladite|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|au|quel|quelle|dudit] *WORD *WORD *WORD <<- /gn/ not value(<1, "|et|ou|") and morph(\2, ":[NA].*:[si]") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") and \4.islower() -4>> =suggSing(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier. [le|la|leur] *WORD *WORD *WORD <<- /gn/ not value(<1, "|et|ou|") and morph(\2, ":[NA].*:[si]", ":[123][sp]") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") -4>> =suggSing(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier. TEST: un gros connard {{pathétiques}} TEST: La petite fille {{devenues}} infirmière. TEST: le jour venu prises par surprise elles durent s’enfuir. TEST: servi pas un style et une exigence historique remarquables TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions ## Pluriels __gn_les_1m__ , les *WORD <<- /gn/ ( morph(\3, ":[NA].*:s", "*") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) ) ................................................................................ <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A")) -4>> =suggPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: les pitres {{imbécile}} TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites. TEST: les {{petites}} {{oubliés}} TEST: c’est ça, et les femmes {{retrouvés}} seront emmenées à l’hôpital. TEST: ça n’en vaut pas la peine, et les éléments {{perdu}} le seront à jamais TEST: les moins éloignées possible TEST: Les besoins minimums en matière de sommeil sont-ils les mêmes d’un individu à l’autre ? TEST: cette attention de tous les instants portée à la boussole. __gn_leurs_1m__ leurs *WORD ................................................................................ -4>> =switchGender(\4, True) # Accord de genre erroné entre « \3 » et « \4 ». <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, True) # Accord de genre erroné avec « \4 ». <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A")) and not (\1.startswith("de") and value(<1, "|un|une|")) -4>> =suggPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: ces {{beaux}} {{institutions}} TEST: de vos défauts {{terrible}}, je connais presque tout. TEST: Les éléments caractéristiques liés à ses valeurs historique et architecturale TEST: Une des pierres veinée de rouge… TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie. TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion. TEST: le bruit de nos pas étouffé par l’épais tapis. ................................................................................ [ces|mes|tes|ses|nos|vos|leurs|quels|quelles|aux] *WORD *WORD *WORD [plusieurs|quelques|certains|certaines|moult] *WORD *WORD *WORD [lesdits|lesdites|desdits|desdites|auxdits|auxdites] *WORD *WORD *WORD <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)") and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not \4.startswith("seul") -4>> =suggPlur(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel. [les|leurs] *WORD *WORD *WORD <<- /gn/ morph(\2, ":[NA].*:[pi]", "[123][sp]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)") and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not \4.startswith("seul") -4>> =suggPlur(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel. TEST: ces petites sottes {{déjantée}} TEST: Les grandes volontés {{dépassée}} par les évènements TEST: Prendre goût aux heures passées seul à marcher ## certains / certaines __gn_certains_1m__ certains *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> certaines # Accord de genre erroné : « \2 » est féminin. ................................................................................ -1>> quelles # Accord de genre erroné avec « \3 \4 ». __gn_quelles_accord_être_sujet__ quelles [sont|étaient|seront|serons|seraient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs] *WORD <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:m", ":[fe]") -1>> quels # Accord de genre erroné avec « \3 \4 ». TEST: {{Quel}} sont ces hommes. ->> Quels TEST: {{Quel}} est cette force ? ->> Quelle TEST: {{Quelle}} est mon animal favori ? ->> Quel TEST: {{Quels}} sont ces femmes ? ->> Quelles TEST: {{Quelles}} est cette imbécillité ? ->> Quelle TEST: {{Quelles}} sont ces hommes ? ->> Quels TEST: {{Quel}} est la politique ? ->> Quelle TEST: {{Quelle}} est le politique ? ->> Quel TEST: Il s’agit de définir quelle est notre propre orientation. #### Quel(le) que soit … ## masculin requis ................................................................................ and not (\1.startswith("de") and value(<1, "|un|une|")) -4>> =suggFemPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: certaines idioties {{stupide}} TEST: quelles grandes {{idiots}} TEST: je ne sais guère de quelles âneries {{proférés}} on parle. TEST: quelles étonnantes {{petits}} ## quelque adverbe __gn_quelque_adverbe__ quelques *NUM <<- /gn/ -1>> quelque # Devant un nombre, « quelque » est un adverbe, donc invariable. ................................................................................ __imp_union_moi__ *WORD moi <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and not value(<1, "|de|d’|le|la|les|l’|je|j’|me|m’|te|t’|se|s’|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 , *WORD moi <<- /imp/ space_after(\1, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-moi" # 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 moi}} ce dictionnaire. ->> Apporte-moi TEST: {{Apportez moi}} ce dictionnaire TEST: tu me dois bien ça, {{Achèves moi}}, je t’en prie. TEST: explique ça mieux, {{Définit moi}} ça en termes intelligibles. TEST: Viens moi je m’ennuie. ................................................................................ __imp_union_toi__ *WORD toi <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E:2s", ":[GM]|>(?:venir|aller|partir)/") and not value(<1, "|de|d’|le|la|les|l’|me|m’|te|t’|se|s’|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 , *WORD toi <<- /imp/ space_after(\1, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-toi" # 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. TEST: j’en ai marre, {{instruit toi}} avant de parler. __imp_union_nous_vous_lui__ *WORD [nous|vous|lui] <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>(?:en|y)/") and morph(<1, ":Cc|<start>|>,") ->> \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 , *WORD [nous|vous|lui] <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and not morph(>1, ":Y") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-"+\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 nous}} du café. TEST: si ça se peut, {{apprend nous}} à réussir. TEST: Ce que Jeanne, femme de Patrick, veut vous dire de sa vie. TEST: Daignez le lui permettre ................................................................................ __imp_union_les__ *WORD les <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp])|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") and morph(<1, ":Cc|<start>|>,") ->> \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 , *WORD les <<- /imp/ space_after(\1, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp])|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-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: tu dois finir, {{finit les}}. TEST: Veut les en convaincre. TEST: Invite les plus intelligents… ................................................................................ __imp_union_en__ *WORD en <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Q|Y|M|P|H|T|D)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc|<start>|>,") ->> \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 , *WORD en <<- /imp/ space_after(\1, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|M|P|B|3[sp]|D)|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-"+\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: {{restons en}} là. TEST: tu crois ça, {{donnes en}} encore TEST: Intercède en ma faveur TEST: Même l’implacable guerrier-capitaine de la Fédération, James T. Kirk, apprend en rechignant à enterrer le phaser avec les bâtards Klingons qui ont tué son fils. TEST: Terminons en réservant une place de choix à l’un des relais les plus fervents de la pensée __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]") and not morph(<1, ":O[sv]") -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 |
| > > | > > > > > | > < < < < < < < | > > > | | | | > > | | | | | < > | | | | | | | | | | > |
2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 .... 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 ..... 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 ..... 13873 13874 13875 13876 13877 13878 13879 13880 13881 13882 13883 13884 13885 13886 13887 ..... 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 ..... 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 ..... 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 ..... 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 14133 14134 14135 14136 ..... 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 14206 14207 14208 14209 ..... 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 14360 14361 ..... 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 ..... 20122 20123 20124 20125 20126 20127 20128 20129 20130 20131 20132 20133 20134 20135 20136 20137 ..... 20140 20141 20142 20143 20144 20145 20146 20147 20148 20149 20150 20151 20152 20153 20154 20155 20156 20157 20158 20159 20160 20161 20162 20163 20164 20165 20166 20167 20168 ..... 20179 20180 20181 20182 20183 20184 20185 20186 20187 20188 20189 20190 20191 20192 20193 20194 ..... 20227 20228 20229 20230 20231 20232 20233 20234 20235 20236 20237 20238 20239 20240 20241 20242 20243 20244 20245 20246 20247 20248 20249 20250 20251 |
__fusions_noms_communs__ au revoir <<- ~>> ␣ <<- =>> define(\1, [":N:m:i"]) n’ importe [qui|quoi|quel|quelle|quels|quelles|où] <<- ~1:2>> ␣ [cultural|gender] studies <<- ~>> ␣ <<- =>> define(\1, [":N:f:p"]) machine [learning|learnings] ................................................................................ <<- morph(\1, ":V") !-2>> soit pour soit contre <<- !3>> TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics. TEST: de Bordeaux ou de n’importe où !!!! Noms composés !! __tag_noms__ ~\w-là$ <<- />> -là ................................................................................ TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous. TEST: {{leur}} gros {{grains}} TEST: Que ferons-nous de {{leur}} gros {{grains}} __gn_le_la_leur_3m__ [le|la|leur] *WORD *WORD *WORD <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D") and morph(\2, ":[NA].*:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") and \4.islower() -4>> =suggSing(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier. TEST: La petite fille {{devenues}} infirmière. TEST: leur grande passion {{délirantes}} pour le cosplay. TEST: le jour venu prises par surprise elles durent s’enfuir. TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes. TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien. TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages. __gn_ledit_1m__ ledit *WORD ................................................................................ <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4) -4>> =suggMasSing(\4, True) # Accord de genre erroné : « \3 » est masculin, « \4 » est féminin. <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggMasSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: cet outil {{terribles}} qu’il a dans les mains TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle. TEST: au petit {{publique}} TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}. __gn_mon_ton_son_1m__ [mon|ton|son] *WORD <<- /gn/ morph(\1, ":D") >>> <<- /gn/ morph(\2, ">[bcdfgjklmnpqrstvwxz].*:[NA].*:f", ":[GWme]") -1>> =\1.replace("on", "a").replace("ON", "A") # Accord de genre erroné : « \2 » est féminin. ................................................................................ -4>> =suggFemSing(\4, True) # Accord de genre erroné : « \3 » est féminin, « \4 » est masculin. <<- /gn/ morph(\3, ":[NAQ].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggFemSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: quelle belle {{étourdi}}, cette gamine TEST: j’en ai assez de cette ville {{stressées}} en permanence. TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ? TEST: de ma grande {{ami}} TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance. __gn_notre_votre_chaque_1m__ [notre|votre|chaque] *WORD <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. ................................................................................ [et|ou|de] [chaque|quelque|notre|votre] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /gn/ ((morph(\3, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\4, ":[NA].*:f", "*")) or (morph(\3, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\4, ":[NA].*:m", "*"))) and not apposition(\3, \4) -4>> =switchGender(\4, False) # Accord de genre erroné entre « \3 » et « \4 ». <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, False) # Accord de genre erroné avec « \4 ». <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: chaque élément {{terrestres}} TEST: notre {{belle}} {{avenu}} TEST: ils viennent de chaque coin {{ignorée}} du pays. TEST: que faire de votre {{ennuyeuse}} {{avocat}} TEST: de quelque cartable {{vides}} TEST: de notre petit {{amis}} TEST: Quelque chose tombé dans le puits a souillé l’eau. __gn_det_sing_3m__ [ledit|ladite|un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre|au|quel|quelle|dudit] *WORD *WORD *WORD <<- /gn/ not value(<1, "|et|ou|") and morph(\2, ":[NA].*:[si]") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") and \4.islower() -4>> =suggSing(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier. TEST: un gros connard {{pathétiques}} TEST: servi pas un style et une exigence historique remarquables ## Pluriels __gn_les_1m__ , les *WORD <<- /gn/ ( morph(\3, ":[NA].*:s", "*") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) ) ................................................................................ <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A")) -4>> =suggPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: les pitres {{imbécile}} TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites. TEST: les {{petites}} {{oubliés}} TEST: c’est ça, et les femmes {{retrouvés}} seront emmenées à l’hôpital. TEST: fais ce que tu peux, ou les {{petites}} {{perdus}} le seront à jamais TEST: ça ou les éternels {{imbécile}} du coin TEST: les moins éloignées possible TEST: Les besoins minimums en matière de sommeil sont-ils les mêmes d’un individu à l’autre ? TEST: cette attention de tous les instants portée à la boussole. __gn_leurs_1m__ leurs *WORD ................................................................................ -4>> =switchGender(\4, True) # Accord de genre erroné entre « \3 » et « \4 ». <<- /gn/ __also__ and hasFemForm(\3) -3>> =switchGender(\3, True) # Accord de genre erroné avec « \4 ». <<- /gn/ morph(\3, ":[NA].*:[pi]") and morph(\4, ":[NA].*:s", "*") and not apposition(\3, \4) and not (value(>1, "|et|,|") and morph(>2, ":A")) and not (\1.startswith("de") and value(<1, "|un|une|")) -4>> =suggPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: ces {{beaux}} {{institutions}} TEST: nos petites {{fille}} TEST: de plusieurs {{grands}} {{avocates}} TEST: de vos défauts {{terrible}}, je connais presque tout. TEST: Les éléments caractéristiques liés à ses valeurs historique et architecturale TEST: Une des pierres veinée de rouge… TEST: Pour maintenir le potentiel de membrane qui lui permet de communiquer avec ses voisins sous forme d’influx nerveux, un neurone a besoin d’énergie. TEST: ces religieux inflexibles envers les femmes mais compatissants envers les tyrans qui soutiennent leur religion. TEST: le bruit de nos pas étouffé par l’épais tapis. ................................................................................ [ces|mes|tes|ses|nos|vos|leurs|quels|quelles|aux] *WORD *WORD *WORD [plusieurs|quelques|certains|certaines|moult] *WORD *WORD *WORD [lesdits|lesdites|desdits|desdites|auxdits|auxdites] *WORD *WORD *WORD <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)") and morph(\4, ":[NA].*:s", "*") and \4.islower() and not before("(?i)\\bune? de +$") and not \4.startswith("seul") -4>> =suggPlur(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel. leurs *WORD *WORD *WORD <<- /gn/ morph(\2, ":[NA].*:[pi]", "[123][sp]") and morph(\3, ":[NA].*:[pi]", ":(?:[123][sp]|G)") and morph(\4, ":[NA].*:s", "*") and not before("(?i)\\bune? de +$") and not \4.startswith("seul") -4>> =suggPlur(\4) # Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au pluriel. TEST: ces petites sottes {{déjantée}} TEST: Leurs grands plans {{dépassé}} par les évènements TEST: Prendre goût aux heures passées seul à marcher ## certains / certaines __gn_certains_1m__ certains *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> certaines # Accord de genre erroné : « \2 » est féminin. ................................................................................ -1>> quelles # Accord de genre erroné avec « \3 \4 ». __gn_quelles_accord_être_sujet__ quelles [sont|étaient|seront|serons|seraient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs] *WORD <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:m", ":[fe]") -1>> quels # Accord de genre erroné avec « \3 \4 ». TEST: {{Quel}} sont ces hommes. ->> Quels TEST: {{Quel}} est cette force ? ->> Quelle TEST: {{Quel}} serait notre peine ? ->> Quelle TEST: {{Quel}} est la politique ? ->> Quelle TEST: {{Quelle}} est mon animal favori ? ->> Quel TEST: {{Quelle}} est le politique ? ->> Quel TEST: {{Quelles}} est cette imbécillité ? ->> Quelle TEST: {{Quelles}} sont ces hommes ? ->> Quels TEST: {{Quels}} sont ces femmes ? ->> Quelles TEST: Il s’agit de définir quelle est notre propre orientation. #### Quel(le) que soit … ## masculin requis ................................................................................ and not (\1.startswith("de") and value(<1, "|un|une|")) -4>> =suggFemPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: certaines idioties {{stupide}} TEST: quelles grandes {{idiots}} TEST: je ne sais guère de quelles âneries {{proférés}} on parle. TEST: quelles étonnantes {{petits}} TEST: ici ou auxdites lointaines {{contrée}} ## quelque adverbe __gn_quelque_adverbe__ quelques *NUM <<- /gn/ -1>> quelque # Devant un nombre, « quelque » est un adverbe, donc invariable. ................................................................................ __imp_union_moi__ *WORD moi <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and not value(<1, "|de|d’|le|la|les|l’|je|j’|me|m’|te|t’|se|s’|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 [<start>|,] *WORD moi <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-moi" # 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 moi}} ce dictionnaire. ->> Apporte-moi TEST: {{Apportez moi}} ce dictionnaire TEST: tu me dois bien ça, {{Achèves moi}}, je t’en prie. TEST: explique ça mieux, {{Définit moi}} ça en termes intelligibles. TEST: Viens moi je m’ennuie. ................................................................................ __imp_union_toi__ *WORD toi <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E:2s", ":[GM]|>(?:venir|aller|partir)/") and not value(<1, "|de|d’|le|la|les|l’|me|m’|te|t’|se|s’|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 [<start>|,] *WORD toi <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-toi" # 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. TEST: j’en ai marre, {{instruit toi}} avant de parler. __imp_union_nous_vous_lui__ *WORD [nous|vous|lui] <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>", ":(?:Y|3[sp]|Oo)|>(?:en|y)/") and morph(<1, ":Cc|<start>|>,") ->> \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 [<start>|,] *WORD [nous|vous|lui] <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and not morph(>1, ":Y") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-"+\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 nous}} du café. TEST: si ça se peut, {{apprend nous}} à réussir. TEST: Ce que Jeanne, femme de Patrick, veut vous dire de sa vie. TEST: Daignez le lui permettre ................................................................................ __imp_union_les__ *WORD les <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp])|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") and morph(<1, ":Cc|<start>|>,") ->> \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 [<start>|,] *WORD les <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|B|3[sp])|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-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: tu dois finir, {{finit les}}. TEST: Veut les en convaincre. TEST: Invite les plus intelligents… ................................................................................ __imp_union_en__ *WORD en <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Q|Y|M|P|H|T|D)|>(?:pour|plus|moins|mieux|peu|plupart|trop|très|une?)/") and morph(<1, ":Cc|<start>|>,") ->> \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 [<start>|,] *WORD en <<- /imp/ space_after(\2, 1, 1) and morph(\2, ":V(?:1.*:Ip.*:2s|[23].*:Ip.*:3s)", ":[GM]|>(?:venir|aller|partir)/") and morph(>1, ":|<end>|>,", ":(?:N|A|Y|M|P|B|3[sp]|D|Ov)|>(?:pour|plus|moins|mieux|peu|trop|très|en|y)/") -2:3>> =suggVerbTense(\2, ":E", ":2s")+"-"+\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: {{restons en}} là. TEST: tu crois ça, {{donnes en}} encore TEST: Intercède en ma faveur TEST: Même l’implacable guerrier-capitaine de la Fédération, James T. Kirk, apprend en rechignant à enterrer le phaser avec les bâtards Klingons qui ont tué son fils. TEST: Terminons en réservant une place de choix à l’un des relais les plus fervents de la pensée TEST: Le Souffle puisé à la Parole nous met en synergie avec le Père Qui souffre, souffre en nous sûrement de voir que Sa Parole déjà transmise autrefois peine à être accomplie. __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]") and not morph(<1, ":O[sv]") -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 |