Overview
Comment: | [fr] conversion: regex rules -> graph rules |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | rg |
Files: | files | file ages | folders |
SHA3-256: |
663cc6518364c113ce4c44297357614c |
User & Date: | olr on 2018-07-26 11:51:04 |
Other Links: | branch diff | manifest | tags |
Context
2018-07-27
| ||
08:32 | [fr] conversion: regex rules -> graph rules check-in: 070d93f9ad user: olr tags: fr, rg | |
2018-07-26
| ||
11:51 | [fr] conversion: regex rules -> graph rules check-in: 663cc65183 user: olr tags: fr, rg | |
08:31 | [core] gc engine: use stored morphologies in tokens if they exist check-in: eecbc6012a user: olr tags: core, rg | |
Changes
Modified gc_lang/fr/rules.grx from [7d831c71bf] to [e57d770e9f].
︙ | ︙ | |||
6502 6503 6504 6505 6506 6507 6508 | !!! !!! !!! Processeur: épuration des adverbes, locutions adverbiales, interjections et expressions usuelles !! !!! !!! __purge_dates__ | | | | | | | | | | | | | | | | 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 | !!! !!! !!! Processeur: épuration des adverbes, locutions adverbiales, interjections et expressions usuelles !! !!! !!! __purge_dates__ depuis le [1er|1ᵉʳ|~^\d\d?$] {mois} ?[dernier|prochain|~^\d{2,5}$]¿ [le|du|au] [1er|1ᵉʳ|~^\d\d?$] {mois} ?[dernier|prochain|~^\d{2,5}$]¿ [jusqu’|jusqu] au [1er|1ᵉʳ|~^\d\d?$] {mois} ?[dernier|prochain|~^\d{2,5}$]¿ à compter du [1er|1ᵉʳ|~^\d\d?$] {mois} ?[dernier|prochain|~^\d{2,5}$]¿ en l’ an ~^\d{2,5}$ en l’ an de grâce ~^\d{2,5}$ en {mois} ~^\d{2,5}$ [de|d’|D’] {mois} ~^\d{2,5}$ à la {mi_mois} ?~^\d{2,5}$¿ <<- ~>> * en ~^\d{2,5}$ [,|<end>] en ~^\d{2,5}$ @:¬:[AN].*:[pi] de ~^\d{2,5}$ @:A.*:s <<- ~1:2>> * TEST: ils sont depuis le 2 janvier {{parti}} à l’étranger. TEST: ils sont depuis le 2 janvier 2012 {{parti}} à l’étranger. __purge_saisons__ à l’ [été|automne|hiver] ~^\d{2,4}$ au printemps ~^\d{2,4}$ <<- ~>> * TEST: Une étude de 2005 publiée dans le Journal TEST: Les cinq variantes de la couverture du magazine Wired d’avril 2016 consacrée à Silicon Valley. TEST: c’est donc la cinquième en 50 ans |
︙ | ︙ | |||
6584 6585 6586 6587 6588 6589 6590 | mois après mois décennie après décennie année après année siècle après siècle génération après génération <<- ~>> * | | | | | | | 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 | mois après mois décennie après décennie année après année siècle après siècle génération après génération <<- ~>> * [à|de] ~^\d\d?$ h ?~^\d\d?$¿ [à|de] ~^\d\d?$ h ?~^\d\d?$¿ [du|ce] [matin|soir] [à|de] ~^\d\d?$ h ?~^\d\d?$¿ de l’ après-midi [à|de] ~^\d\d?$ h ?~^\d\d?$¿ cet après-midi [à|de] ~^\d\d?$ h ?~^\d\d?$¿ demain [matin|soir|après-midi] <<- ~>> * TEST: Le train de 2 h 47 {{arriveraient}} en retard. TEST: Le train de 2 h 47 du matin {{arriveraient}} en retard. __purge_prépositions_qqn__ |
︙ | ︙ | |||
6663 6664 6665 6666 6667 6668 6669 | mutatis mutandis <<- ~>> * __purge_locutions__ , [oui|non] , , entre autres ?choses¿ , | | | 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 | mutatis mutandis <<- ~>> * __purge_locutions__ , [oui|non] , , entre autres ?choses¿ , à ~^\d+(?:,\d+|)$ % à [autrui|bâbord|califourchon|chacun|confesse|contrecœur|contre-cœur|contretemps|demi-mot|foison|grand-peine|loisir|merveille|moitié|nouveau|outrance|peine|perpétuité|présent|raison|rallonge|rebrousse-poil|reculons|regret|renverse|risque|tâtons|tort|tribord|tout-va] à aucun prix à autre chose à bas [cout|coût|prix] à bâtons rompus à beaucoup près à belles dents |
︙ | ︙ | |||
6706 6707 6708 6709 6710 6711 6712 | à couper le souffle à court terme à courte [échéance|portée] à des kilomètres à la ronde à défaut d’autre chose à dose homéopathique à durée limitée | | | 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 | à couper le souffle à court terme à courte [échéance|portée] à des kilomètres à la ronde à défaut d’autre chose à dose homéopathique à durée limitée à ~^\d+$ reprises à @:B reprises à [plusieurs|quelques|maintes] reprises à de [nombreuses|multiples] reprises à double [titre|tranchant] à en juger par [mon|ton|son|notre|votre|leur] expérience à en perdre haleine à en perdre la tête |
︙ | ︙ | |||
6916 6917 6918 6919 6920 6921 6922 | au propre comme au figuré au préalable au quotidien au ras des pâquerettes au saut du lit au sens [figuré|large|propre] au surplus | | | 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 | au propre comme au figuré au préalable au quotidien au ras des pâquerettes au saut du lit au sens [figuré|large|propre] au surplus au ~^[xXvViI]+[eᵉ]$ siècle au-delà du descriptible au-dessus [de|d’] {pronom_obj} aujourd’hui auparavant ?tout¿ aussi aussitôt ?tout¿ au fond [de|d’] {pronom_obj} |
︙ | ︙ | |||
7001 7002 7003 7004 7005 7006 7007 | [croyez-le|crois-le] ou [non|pas] cul par-dessus tête dans [ce|ces] [cas-là|cas-ci] dans ce cas [précis|particulier] dans ces cas [précis|particuliers] dans l’ [idéal|immédiat] dans la mesure du possible | | | | | | 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 | [croyez-le|crois-le] ou [non|pas] cul par-dessus tête dans [ce|ces] [cas-là|cas-ci] dans ce cas [précis|particulier] dans ces cas [précis|particuliers] dans l’ [idéal|immédiat] dans la mesure du possible dans les années ~^\d{2,5}$ dans peu de temps dans tout [cela|ça|ceci] dans très peu de temps dans un cas comme dans l’autre dans une [certaine|large|moindre] mesure début {mois} ~^\d{2,5}$ au début {mois} ~^\d{2,5}$ en ce début {mois} ~^\d{2,5}$ d’ abord d’ affilée d’ ailleurs d’ année en année d’ aujourd’hui d’ antan d’ autant [plus|moins] |
︙ | ︙ | |||
7055 7056 7057 7058 7059 7060 7061 | d’ un commun accord d’ une autre trempe d’ une [façon|manière] ou d’une autre d’ une certaine [façon|manière] d’ une tout autre ampleur d’ une [minute|seconde] à l’ autre de-ci ?,¿ de-là | | | 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 | d’ un commun accord d’ une autre trempe d’ une [façon|manière] ou d’une autre d’ une certaine [façon|manière] d’ une tout autre ampleur d’ une [minute|seconde] à l’ autre de-ci ?,¿ de-là de ~^\d+(?:,\d+|)$ % de [cesse|conserve|facto|fait|guingois|luxe|nouveau|permanence|partout|préférence|profundis|rechange|routine|surcroît|surcroit|visu] de A à Z de bas (?:en haut|étage) de basse [condition|extraction] de bon [aloi|cœur|gré|matin|sens|ton] de bonne [facture|famille|foi|heure|humeur|grâce|qualité|compagnie] de bric et de broc |
︙ | ︙ | |||
7169 7170 7171 7172 7173 7174 7175 | debout derechef donc dorénavant déjà désormais depuis @:B [ans|années|mois|semaines|jours|heures|minutes|secondes] | | | | | 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 | debout derechef donc dorénavant déjà désormais depuis @:B [ans|années|mois|semaines|jours|heures|minutes|secondes] depuis ~^\d+$ [ans|années|mois|semaines|jours|heures|minutes|secondes] depuis assez longtemps depuis belle lurette depuis bien longtemps depuis de ?très¿ longues années depuis des lustres depuis les années ~^\d\d+$ depuis longtemps depuis lors depuis peu de temps depuis quelque temps depuis quelques [secondes|minutes|heures|jours|semaines|mois|trimestres|semestres|années|décennies|siècles|millénaires] depuis si longtemps depuis toujours depuis tout ce temps depuis très longtemps des fois des pieds à la tête des uns et des autres des [années|mois|siècles|millénaires|décennies|semaines] plus [tôt|tard] dès [maintenant|lors|aujourd’hui] dès à présent dès que possible dès [demain|hier] ?[soir|matin|après-midi]¿ Dieu [m’|t’|l’|nous|vous|les] en [garde|préserve] Dieu [m’|t’|lui|nous|vous|leur] en soit témoin du ~^[xXvViI]+[eᵉ]$ siècle du [Ier|Iᵉʳ|1er|1ᵉʳ] siècle du bout des lèvres du début à la fin du fond du cœur du jour au lendemain du haut en bas du même [acabit|coup|ordre|tonneau] |
︙ | ︙ | |||
7312 7313 7314 7315 7316 7317 7318 | en ce [moment|temps-là] en ce qui [me|te|le|la|les|nous|vous] [concerne|concernait] en cet instant encore encore une fois encore et [encore|toujours] enfin | | | 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 | en ce [moment|temps-là] en ce qui [me|te|le|la|les|nous|vous] [concerne|concernait] en cet instant encore encore une fois encore et [encore|toujours] enfin entre {mois} ?~^\d{2,5}¿ et {mois} ?~^\d{2,5}¿ entre chien et loup entre de [bonnes|mauvaises] mains entre l’ [un|une] et l’ autre entre les uns et les autres entre [quatre|quatr’|quat’] [zyeux|yeux] entre [quatre-zyeux|quatr’zyeux|quat’zyeux|quatre-yeux|quatr’yeux|quat’yeux] ensuite |
︙ | ︙ | |||
7342 7343 7344 7345 7346 7347 7348 | ici [comme|ou] ailleurs ici et [là|maintenant] ici même ici-bas il y a ?très¿ longtemps il y a ?très¿ peu de temps il y a quelques [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires] | | | | 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 | ici [comme|ou] ailleurs ici et [là|maintenant] ici même ici-bas il y a ?très¿ longtemps il y a ?très¿ peu de temps il y a quelques [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires] il y a moins de [~\d+$|@:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires] il y a [~\d+$|@:B] [secondes|minutes|heures|jours|semaines|mois|année|ans|siècles|millénaires] il y a quelque temps il n’y a pas ?si¿ longtemps illico ?presto¿ jadis j’ en passe et des [meilleurs|meilleures] jour pour jour [jusqu’|jusqu] [alors|ici|aujourd’hui|Noël|Pâques] |
︙ | ︙ | |||
7863 7864 7865 7866 7867 7868 7869 | je [t’|vous] en [prie|supplie] nous [t’|vous] en [prions|supplions] <<- ~>> * # Déterminant + nombre __p_dét_plur_nombre_nom__ | | | | | | > | 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 | je [t’|vous] en [prie|supplie] nous [t’|vous] en [prions|supplions] <<- ~>> * # Déterminant + nombre __p_dét_plur_nombre_nom__ [les|des|mes|tes|ses|nos|vos|leurs] ~^\d+$ @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) <<- ~2>> * [les|des|mes|tes|ses|nos|vos|leurs] ~^\d+$ ou ~^\d+$ @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) <<- ~2:4>> * [les|des] >numéro [un|~^\d+$|@:B] et [~^\d+$|@:B] <<- ~3:0>> * la >numéro un la >numéro @:B la >numéro ~^\d+$ <<- =>> define(\2, [">numéro/:N:f:s"]) <<- ~3>> * le numéro un @:¬:N:[em]:[is] <<- ~3>> * >numéro @:B >numéro ~^\d+$ [n°|no] ~^\d+$ <<- ~2>> * __mot_composé_avec_là__ ~-[lL][àÀ]$ <<- morph(\1, ":[NAQ]", ":G", 0, -3) ~>> =\1[:-3] |
︙ | ︙ | |||
9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 | -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: plusieurs {{foi}} par jour. ## Autres pluriels __gn_certains_accord__ certains *WORD <<- /gn/ morph(\2, ":[NAQ].*:f", ":[emGWP]") -1>> certaines # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ ( morph(\2, ":[NAQ].*:s", ":(?:[ipGWP]|V0)") and not (value(>1, "|et|ou|") and morph(>2, ":[NAQ]")) ) or \1 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. | > | 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 | -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: plusieurs {{foi}} par jour. ## Autres pluriels ## certains / certaines __gn_certains_accord__ certains *WORD <<- /gn/ morph(\2, ":[NAQ].*:f", ":[emGWP]") -1>> certaines # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ ( morph(\2, ":[NAQ].*:s", ":(?:[ipGWP]|V0)") and not (value(>1, "|et|ou|") and morph(>2, ":[NAQ]")) ) or \1 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. |
︙ | ︙ | |||
9199 9200 9201 9202 9203 9204 9205 9206 | TEST: Certaines {{danse}} TEST: Certains {{chien}} TEST: {{certains}} des {{nouvelles}} sont à côté de la plaque. TEST: {{certaines}} des hommes TEST: Un problème rapporté par certains est l’incapacité à trouver un partenaire | > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < < < < < < < < < | < < > | | | < | < < < < | | | < < < < | | | > > > > | | > | > > | > | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < > | < < < < > | 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 | TEST: Certaines {{danse}} TEST: Certains {{chien}} TEST: {{certains}} des {{nouvelles}} sont à côté de la plaque. TEST: {{certaines}} des hommes TEST: Un problème rapporté par certains est l’incapacité à trouver un partenaire ## quel / quels / quelle / quelles __gn_quel_accord__ quel *WORD <<- /gn/ morph(\2, ":[NAQ].*:f:p", ":(?:V0|Oo|[NAQ].*:[me]:[si])") -1>> quelles # Accord de genre et de nombre erroné : « \2 » est féminin et au pluriel. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre et de nombre erroné : « \1 » est masculin et au singulier. <<- /gn/ morph(\2, ":[NAQ].*:m:p", ":(?:V0|Oo|[NAQ].*:[me]:[si])") -1>> quels # Accord de nombre erroné : « \2 » est au pluriel. <<- /gn/ __also__ -2>> =suggSing(\2) # Accord de nombre erroné : « \1 » est au singulier. <<- /gn/ morph(\2, ":[NAQ].*:f:[si]", ":(?:V0|Oo|[NAQ].*:[me]:[si])") -1>> quelle # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est masculin. __gn_quels_accord__ quels *WORD <<- /gn/ morph(\2, ":[NAQ].*:f:s", ":(?:V0|Oo|[NAQ].*:[me]:[pi])") -1>> quelle # Accord de genre et de nombre erroné : « \2 » est féminin et au singulier. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre et de nombre erroné : « \1 » est masculin et au pluriel. <<- /gn/ morph(\2, ":[NAQ].*:m:s", ":(?:V0|Oo|[NAQ].*:[me]:[pi])") -1>> quel # Accord de nombre erroné : « \2 » est au singulier. <<- /gn/ __also__ -2>> =suggPlur(\2) # Accord de nombre erroné : « \1 » est au pluriel. <<- /gn/ morph(\2, ":[NAQ].*:f:[pi]", ":(?:V0|Oo|[NAQ].*:[me]:[pi])") -1>> quelles # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre erroné : « \1 » est masculin. __gn_quelle_accord__ quelle *WORD <<- /gn/ morph(\2, ":[NAQ].*:m:p", ":(?:V0|Oo|[NAQ].*:[fe]:[si])") -1>> quels # Accord de genre et de nombre erroné : « \2 » est masculin et au pluriel. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre et de nombre erroné : « \1 » est féminin et au singulier. <<- /gn/ morph(\2, ":[NAQ].*:f:p", ":(?:V0|Oo|[NAQ].*:[fe]:[si])") -1>> quelles # Accord de nombre erroné : « \2 » est au pluriel. <<- /gn/ __also__ -2>> =suggSing(\2) # Accord de nombre erroné : « \1 » est au singulier. <<- /gn/ morph(\2, ":[NAQ].*:m:[si]", ":(?:V0|Oo|[NAQ].*:[fe]:[si])") -1>> quel # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre erroné : « \1 » est féminin. __gn_quelles_accord__ quelles *WORD <<- /gn/ morph(\2, ":[NAQ].*:m:s", ":(?:V0|Oo|[NAQ].*:[fe]:[pi])") -1>> quel # Accord de genre et de nombre erroné. « \2 » est masculin et au singulier. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True) # Accord de genre et de nombre erroné : « \1 » est féminin et au pluriel. <<- /gn/ morph(\2, ":[NAQ].*:f:s", ":(?:V0|Oo|[NAQ].*:[fe]:[pi])") -1>> quelle # Accord de nombre erroné : « \2 » est au singulier. <<- /gn/ __also__ -2>> =suggPlur(\2) # Accord de nombre erroné : « \1 » est au pluriel. <<- /gn/ morph(\2, ":[NAQ].*:m:[pi]", ":(?:V0|Oo|[NAQ].*:[fe]:[pi])") -1>> quels # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True) # Accord de genre erroné : « \1 » est féminin. TEST: {{Quelle}} homme. ->> Quel TEST: {{Quel}} femme. ->> Quelle TEST: {{Quels}} chanson. ->> Quelle TEST: {{Quelles}} {{tarés}}. TEST: Quelle sale journée… TEST: Quelles drôles de prunes ## Cas particuliers __gn_det_plur_cas_particuliers__ [ces|des|mes|tes|ses|nos|vos|leurs|quelques] [même|point|son|ton] <<- /gn/ -2>> \1s # Accord de nombre erroné : mettez au pluriel. TEST: des {{son}} que nous entendons jour et nuit. TEST: j’entends ces {{même}} âneries tous les jours ## Pluriel des groupes __gn_nombre_de_accord__ nombre [de|d’] *WORD <<- /gn/ (morph(\3, ":[NAQ].*:s", ":[ip]|>o(?:nde|xydation|r)/") and morph(<1, ":(?:G|[123][sp])|<start>", ":[AD]")) or \3 in aREGULARPLURAL -3>> =suggPlur(\3) # Ici, « nombre de » devrait probablement être suivi d’un pluriel. TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui. __gn_det_groupe_de_accord__ [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques] [>centaine|>millier|>million|>milliard|>dixaine|>douzaine|>multitude|>horde] [de|d’] *WORD <<- /gn/ morph(\4, ":[NAQ].*:s", ":[ip]") or \4 in aREGULARPLURAL -4>> =suggPlur(\4) # Avec des « \2 \3 \4 », mettre au pluriel. TEST: des centaines de {{bête}} à cornes passèrent devant nous. ->> bêtes TEST: une multitude d’{{homme}} ->> hommes ## quelque adverbe __gn_quelque_adverbe__ quelques ~^\d+$ <<- /gn/ -1>> quelque # Devant un nombre, « quelque » est un adverbe, donc invariable. quelques @:B <<- /gn/ \2 != "cents" -1>> quelque # Devant un nombre, « quelque » est un adverbe, donc invariable. TEST: Elle a eu {{quelques}} 300 réponses à sa petite-annonce. TEST: Il commande {{quelques}} trois cents hommes. TEST: {{Quelques}} 120 hommes ->> Quelque TEST: {{Quelques}} deux cents hommes. ->> Quelque TEST: les quelque 2,5 millions d’habitants TEST: les quelque 12 000 stations-service ## Nombres __gn_nombre_lettres_accord__ @:B:e:p *WORD <<- /gn/ not value(\1, "|neuf|mille|") and ( (morph(\2, ":[NAQ].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") ) or \2 in aREGULARPLURAL) -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. neuf *WORD <<- /gn/ ( morph(\2, ":[NAQ].*:s", "*") and not morph(<1, ":N.*:m:[is]") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") ) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. mille *WORD <<- /gn/ (morph(\2, ":[NAQ].*:s", "*") or \1 in aREGULARPLURAL) and not value(<1, "|le|un|ce|du|") -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. TEST: ce sont trois {{idiot}} pas foutus de trouver leur chemin avec un GPS. TEST: Il a abandonné neuf {{enfant}}. TEST: On peut trouver mille {{travailleur}} d’un claquement de doigts. TEST: un logement neuf bâti par des professionnels. TEST: un mille marin. __gn_nombre_chiffres_accord__ [0|1|01] @:[NAQ].*:p¬* <<- /gn/ not value(\2, "|Rois|Corinthiens|Thessaloniciens|") -2>> =suggSing(\2) # Accord de nombre erroné : « \1 » devrait être au singulier. ~^\d+$ *WORD <<- not value(<1, "|/|") and not re.search("^0*[01]$", \1) and ( (morph(\2, ":[NAQ].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|")) or \1 in aREGULARPLURAL ) -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: 00 heure, 01 heure TEST: il a adopté 1 {{chiens}}. TEST: 22 {{heure}} TEST: 3 {{heure}} @@@@ @@@@END_GRAPH _ @@@@ __[i]/gn(gn_quel_quel_accord_être)__ (quel(?:le|)) (sont|étaient|ser(?:o|aie)nt|fu(?:r|ss)ent) @@0,$ <<- not before(r"\btel(?:le|)s? +$") -1>> \1s # Accord de nombre erroné avec “\2”. |
︙ | ︙ | |||
15300 15301 15302 15303 15304 15305 15306 | #TEST: dès que je le {{verrais}} TEST: dès qu’il le {{voie}} TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion # verbe que + subjonctif __vmode_qqch_que_subjonctif1__ | | > > | | 15290 15291 15292 15293 15294 15295 15296 15297 15298 15299 15300 15301 15302 15303 15304 15305 15306 15307 15308 15309 15310 15311 15312 15313 15314 15315 15316 15317 15318 15319 15320 15321 15322 15323 15324 15325 15326 15327 15328 | #TEST: dès que je le {{verrais}} TEST: dès qu’il le {{voie}} TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion # verbe que + subjonctif __vmode_qqch_que_subjonctif1__ [>permettre|>falloir|>vouloir|>ordonner|>exiger|>désirer|>préférer|>suffire] [que|qu’|qu] @:(?:Os|M) @:I¬:[GYS] [afin|avant|pour|quoi|sans] [que|qu’|qu] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -4>> =suggVerbMode(\4, ":S", \3) # Après « \1 que », ce verbe devrait être au subjonctif. >douter [que|qu’|qu] @:(?:Os|M) @:I¬:(?:[GYSK]|If) <<- /vmode/ morph(\1, ":V", ":N") -4>> =suggVerbMode(\4, ":S", \3) # Après « \1 que », ce verbe devrait être au subjonctif. TEST: Il suffit qu’il {{court}} plus TEST: Je veux qu’il {{finit}} son repas. TEST: quoi qu’il en {{conclut}} TEST: Je ne veux pas que tu {{es}} des ennuis TEST: Avant que tu {{pars}}, je voudrais qu’on discute. TEST: Sans qu’elle {{prend}} le temps d’analyser le problème. TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard. TEST: Je ne doute pas qu’ils réussiront leur mission. TEST: Je me doutais bien qu’Apple pourrait marcher TEST: il ne fait aucun doute qu’Amazon le sait. TEST: quoi que nous autres hommes ayons pu faire __vmode_qqch_que_subjonctif2__ à condition [que|qu’|qu] @:(?:Os|M) @:I¬:[GYS] pour peu [que|qu’|qu] @:(?:Os|M) @:I¬:[GYS] il peut [que|qu’|qu] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4) # Ce verbe devrait être au subjonctif. TEST: à condition qu’il {{finit}} son boulot. TEST: pour peu qu’il {{prend}} son devoir sérieux… TEST: il se peut que nous {{avons}} tort. # Bien que + subjonctif |
︙ | ︙ |