Overview
Comment: | [fr] ajustements |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
702c4c02f1fb3f78d5f2b2fe9426e700 |
User & Date: | olr on 2019-08-27 06:21:11 |
Other Links: | manifest | tags |
Context
2019-08-27
| ||
08:04 | [build][core][fr] function change_meta(), +ajustements check-in: 8b4efd4241 user: olr tags: trunk, fr, core, build | |
06:21 | [fr] ajustements check-in: 702c4c02f1 user: olr tags: trunk, fr | |
2019-08-26
| ||
10:44 | [fr] da: noms/verbes check-in: 40f621dc1e user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/rules.grx from [cdc8a36428] to [ab4b2094bc].
︙ | ︙ | |||
1361 1362 1363 1364 1365 1366 1367 | !! !! !!!! Dates !! !! !! __[i]/date(date_nombres)__ | | | | > | 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 | !! !! !!!! Dates !! !! !! __[i]/date(date_nombres)__ (?<!\d[ ./-])(\d\d?)([ ./-])(\d\d?)([ ./-])(\d\d\d+)(?![ ./-]\d) @@0,*,w,**,$ <<- \2 == \4 and not checkDate(\1, \3, \5) and not before("(?i)\\b(?:version|article|référence)s? +$") ->> _ # Cette date est invalide. <<- ~>> \1-\3-\5 TEST: le {{29 02 2011}} TEST: le {{40-02-2011}} TEST: le {{32.03.2018}} TEST: le {{81/01/2012}} TEST: 12-12-2012 TEST: Articles 32.17-918 et 98.17-761 TEST: 03/07/2019 SANTÉ !! !! !!!! Redondances !! !! !! |
︙ | ︙ | |||
3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 | TEST: le {{31 avril}} TEST: le {{30 février}} TEST: {{29 février 2011}} __date_journée_jour_mois_année__ ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]) ?,¿ ?le¿ (~^\d\d?$) - (~^\d\d?$) - (~^\d{2,5}$) ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]) ?,¿ ?le¿ (~^\d\d?$) ([janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre]) (~^\d{2,5}$) <<- /date/ not after("^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDay(\1, \2, \3, \4) -1>> =getDay(\2, \3, \4) # Le jour de la date suivante est incorrect (selon le calendrier grégorien).|https://fr.wikipedia.org/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien TEST: {{samedi}}, le 10-06-2014 ->> mardi TEST: {{lundi}} le 23-07-2019 | > > > > > > > | 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 | TEST: le {{31 avril}} TEST: le {{30 février}} TEST: {{29 février 2011}} __date_journée_jour_mois_année__ *NUM - *NUM - ~^\d{2,5}$ <<- \1.isdigit() and \2.isdigit() ~>> ␣ ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]) ?,¿ ?le¿ (~^\d\d?$) - (~^\d\d?$) - (~^\d{2,5}$) <<- /date/ not after("^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDay(\1, \2, \3, \4) -1>> =getDay(\2, \3, \4) # Le jour de la date suivante est incorrect (selon le calendrier grégorien).|https://fr.wikipedia.org/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien ([lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche]) ?,¿ ?le¿ (~^\d\d?$) ([janvier|février|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre]) (~^\d{2,5}$) <<- /date/ not after("^ +av(?:ant|) +J(?:C|ésus-Christ)") and not checkDay(\1, \2, \3, \4) -1>> =getDay(\2, \3, \4) # Le jour de la date suivante est incorrect (selon le calendrier grégorien).|https://fr.wikipedia.org/wiki/Passage_du_calendrier_julien_au_calendrier_gr%C3%A9gorien TEST: {{samedi}}, le 10-06-2014 ->> mardi TEST: {{lundi}} le 23-07-2019 |
︙ | ︙ | |||
12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 | #<end> #@:[VR]¬[NAP] #, @¬:[NA] #[ne|n’|me|m’|te|t’|se|s’|le|la|l’|les|leur|leur|mon|ma|ta|sa|notre|votre|mes|tes|ses|ce|cet|cette|ces|je|j’|tu|il|on|nous|vous|ils|ça|ceci|cela|c’|ç’|chaque] __simplication_substantifs__ >administratrice >système >agence de >voyage >aire d’ atterrissage >animal [de|d’] compagnie >appel au secours >arc à poulies >arme à feu | > > > > > | 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 | #<end> #@:[VR]¬[NAP] #, @¬:[NA] #[ne|n’|me|m’|te|t’|se|s’|le|la|l’|les|leur|leur|mon|ma|ta|sa|notre|votre|mes|tes|ses|ce|cet|cette|ces|je|j’|tu|il|on|nous|vous|ils|ça|ceci|cela|c’|ç’|chaque] __simplication_substantifs__ >acte [de|d’] [baptême|caution|cautionnement|cession|contrition|licitation|mariage|naissance|notoriété|propriété|quittance|reconnaissance|répudiation|vente] >acte d’ [achat|engagement] >acte de gestion ?courante¿ >acte de procédure ?pénale¿ >acte d’ état ?civil¿ >administratrice >système >agence de >voyage >aire d’ atterrissage >animal [de|d’] compagnie >appel au secours >arc à poulies >arme à feu |
︙ | ︙ | |||
12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 | [>boîte|>boite] [aux|à] lettres [>boîte|>boite] à [gants|outils|sardines] >bombe à [eau|fission|fusion|fragmentation|hydrogène|neutrons|retardement] >bombe à rayonnement renforcé >bonnet [de|d’] nuit >bonne à rien >boucle d’ >oreille >brave ?d’¿ entre les braves >brosse à [>dent|reluire] >cabinet [de|d’] [toilette|travail] >camp [de|d’] [concentration|internement|rééducation] >canne à [pêche|sucre] >caisse à >outil >carton d’ emballage | > | 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 | [>boîte|>boite] [aux|à] lettres [>boîte|>boite] à [gants|outils|sardines] >bombe à [eau|fission|fusion|fragmentation|hydrogène|neutrons|retardement] >bombe à rayonnement renforcé >bonnet [de|d’] nuit >bonne à rien >boucle d’ >oreille bras d’ honneur >brave ?d’¿ entre les braves >brosse à [>dent|reluire] >cabinet [de|d’] [toilette|travail] >camp [de|d’] [concentration|internement|rééducation] >canne à [pêche|sucre] >caisse à >outil >carton d’ emballage |
︙ | ︙ | |||
12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 | >hôtesse d’ accueil >garde à vue >garde du corps gaz à >effet [de|d’] serre >grain [de|d’] [blé|maïs|sable] >infirmière [de|d’] garde >inspection [de|d’] routine >invitée d’ honneur >invitée surprise >journal [de|d’] bord >juge d’ instruction >lame de fond >lettre [de|d’] recommandation >lampe à [huile|pétrole] | > | 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 | >hôtesse d’ accueil >garde à vue >garde du corps gaz à >effet [de|d’] serre >grain [de|d’] [blé|maïs|sable] >infirmière [de|d’] garde >inspection [de|d’] routine >interface [utilisateur+s] >invitée d’ honneur >invitée surprise >journal [de|d’] bord >juge d’ instruction >lame de fond >lettre [de|d’] recommandation >lampe à [huile|pétrole] |
︙ | ︙ | |||
13304 13305 13306 13307 13308 13309 13310 | __da_substantifs__ [<start>|,] $:D *WORD *WORD [ne|n’|me|m’|te|t’|se|s’] [<start>|,] $:D *WORD *WORD [le|la|l’|les|en|nous|vous|lui|leur|y] @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD [nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD [lui|leur|y] en @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD @:(?:3[sp]|P) | | | 13319 13320 13321 13322 13323 13324 13325 13326 13327 13328 13329 13330 13331 13332 13333 | __da_substantifs__ [<start>|,] $:D *WORD *WORD [ne|n’|me|m’|te|t’|se|s’] [<start>|,] $:D *WORD *WORD [le|la|l’|les|en|nous|vous|lui|leur|y] @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD [nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD [lui|leur|y] en @:(?:[123][sp]|P) [<start>|,] $:D *WORD *WORD @:(?:3[sp]|P) <<- morph(\3, ":[NA]", ":(?:G|V0)") and morph(\4, ":[NA]", ":[PG]") =>> exclude(\4, ":V") [des|ces|mes|tes|ses|nos|vos|quelques|lesdits] @:A.*:[pi] @:N.*:[pi]¬(?:3[sp]|G) <<- =>> exclude(\3, ":V") les @:A.*:[pi]¬:V @:N.*:[pi]¬(?:3[sp]|G) <<- not before(":O[vs]") =>> exclude(\3, ":V") |
︙ | ︙ | |||
13844 13845 13846 13847 13848 13849 13850 | TEST: à la Richard Nixon Foundation TEST: à ne plus se laisser faire la fois d’après TEST: il pense à la fois où nous avons eu cet accident idiot. __gn_la_2m__ la *WORD *WORD | | | | 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 | TEST: à la Richard Nixon Foundation TEST: à ne plus se laisser faire la fois d’après TEST: il pense à la fois où nous avons eu cet accident idiot. __gn_la_2m__ la *WORD *WORD <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3) -3>> =suggFemSing(\3, True) # Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin. <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3) -3>> =suggFemSing(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. [et|ou|de|d’] la *WORD *WORD <<- /gn/ morph(\2, ":D") and not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4) -4>> =suggFemSing(\4, True) # Accord de genre erroné : « \2 \3 » est féminin, « \4 » est masculin. <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggFemSing(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: La plus grande {{cinglé}}. |
︙ | ︙ | |||
13885 13886 13887 13888 13889 13890 13891 | TEST: J’en ai assez de {{leur}} {{délires}} TEST: {{Leur}} {{perceptions}} des choses m’exaspère. TEST: dans {{leur}} {{usines}} __gn_leur_2m__ leur *WORD *WORD | | | | 13900 13901 13902 13903 13904 13905 13906 13907 13908 13909 13910 13911 13912 13913 13914 13915 13916 13917 13918 13919 13920 13921 13922 13923 | TEST: J’en ai assez de {{leur}} {{délires}} TEST: {{Leur}} {{perceptions}} des choses m’exaspère. TEST: dans {{leur}} {{usines}} __gn_leur_2m__ leur *WORD *WORD <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) and not apposition(\2, \3) -3>> =switchGender(\3, False) # Accord de genre erroné entre « \2 » et « \3 ». <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, False) # Accord de genre erroné avec « \3 ». <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3) -3>> =suggSing(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. <<- /gn/ __also__ and morph(\2, ":[NA].*:i") -1>> leurs # Accord de nombre erroné avec « \2 \3 ». [et|ou|de|d’] leur *WORD *WORD <<- /gn/ morph(\2, ":D") and 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. |
︙ | ︙ | |||
14154 14155 14156 14157 14158 14159 14160 | TEST: Téléphone {{au}} personne qui ont donné leur accord. TEST: téléphone {{au}} {{boulangère}} TEST: au chien, au chat, au poulet TEST: à partir de pièces détachées, au départ entièrement venues de l’étranger puis en partie fabriquées sur place __gn_det_mas_sing_2m__ | | | | 14169 14170 14171 14172 14173 14174 14175 14176 14177 14178 14179 14180 14181 14182 14183 14184 14185 14186 14187 14188 14189 14190 | TEST: Téléphone {{au}} personne qui ont donné leur accord. TEST: téléphone {{au}} {{boulangère}} TEST: au chien, au chat, au poulet TEST: à partir de pièces détachées, au départ entièrement venues de l’étranger puis en partie fabriquées sur place __gn_det_mas_sing_2m__ [ce|cet|quel|au|ledit|dudit|audit|aucun|nul] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3) -3>> =suggMasSing(\3, True) # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin. <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3) -3>> =suggMasSing(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. [et|ou|de|d’] [ce|cet|quel|au|ledit|dudit|audit|aucun|nul] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /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 |
︙ | ︙ | |||
14188 14189 14190 14191 14192 14193 14194 | TEST: mon {{excellentes}} mémoire TEST: {{ton}} {{belle}} mémoire TEST: {{mon}} {{chienne}} __gn_mon_ton_son_2m__ [mon|ton|son] *WORD *WORD | | | | 14203 14204 14205 14206 14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 14222 14223 14224 14225 | TEST: mon {{excellentes}} mémoire TEST: {{ton}} {{belle}} mémoire TEST: {{mon}} {{chienne}} __gn_mon_ton_son_2m__ [mon|ton|son] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ morph(\2, ":[NA].*:m", ":(?:B|G|e|V0|f)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3) -3>> =suggMasSing(\3, True) # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin. <<- /gn/ morph(\2, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3) -3>> =suggFemSing(\3, True) # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin. <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3) -3>> =suggMasSing(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. [et|ou|de|d’] [mon|ton|son] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /gn/ morph(\3, ":[NA].*:m", ":(?:B|G|e|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, ">[aâeéèêiîoôuûyœæ].*:[NA].*:f", ":(?:B|G|e|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4) -4>> =suggFemSing(\4, True) # Accord de genre erroné : « \3 » est féminin, « \4 » est masculin. <<- /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. |
︙ | ︙ | |||
14227 14228 14229 14230 14231 14232 14233 | TEST: {{ma}} {{parti}} TEST: {{ma}} amour ->> mon TEST: ma {{carlingues}} __gn_det_fem_sing_2m__ [ma|ta|sa|cette|quelle|ladite] *WORD *WORD | | | | 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 | TEST: {{ma}} {{parti}} TEST: {{ma}} amour ->> mon TEST: ma {{carlingues}} __gn_det_fem_sing_2m__ [ma|ta|sa|cette|quelle|ladite] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ morph(\2, ":[NAQ].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NAQ].*:m", "*") and not apposition(\2, \3) -3>> =suggFemSing(\3, True) # Accord de genre erroné : « \1 \2 » est féminin, « \3 » est masculin. <<- /gn/ morph(\2, ":[NAQ].*:[si]", ":G") and morph(\3, ":[NAQ].*:p", ":[GWsi]") and not apposition(\2, \3) -3>> =suggFemSing(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. [et|ou|de|d’] [ma|ta|sa|cette|quelle|ladite] *WORD *WORD <<- /gn/ not morph(<1, ":[NAQ]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /gn/ morph(\3, ":[NAQ].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NAQ].*:m", "*") and not apposition(\3, \4) -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 |
︙ | ︙ | |||
14264 14265 14266 14267 14268 14269 14270 | -1>> quelques # Il manque un “s” à « quelque » ou « \2 » doit être au singulier. TEST: {{Quelque}} amis __gn_det_epi_sing_2m__ [chaque|quelque|notre|votre] *WORD *WORD | | | | 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294 14295 14296 14297 14298 14299 14300 14301 | -1>> quelques # Il manque un “s” à « quelque » ou « \2 » doit être au singulier. TEST: {{Quelque}} amis __gn_det_epi_sing_2m__ [chaque|quelque|notre|votre] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) and not apposition(\2, \3) -3>> =switchGender(\3, False) # Accord de genre erroné entre « \2 » et « \3 ». <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, False) # Accord de genre erroné avec « \3 ». <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", ":[GWsi]") and not apposition(\2, \3) -3>> =suggSing(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. [et|ou|de|d’] [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. |
︙ | ︙ | |||
14330 14331 14332 14333 14334 14335 14336 | TEST: Les {{démoralisation}}. ->> démoralisations TEST: dans les {{usine}} ->> usines TEST: tels que les décrit Macron __gn_les_2m__ les *WORD *WORD | | | 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 | TEST: Les {{démoralisation}}. ->> démoralisations TEST: dans les {{usine}} ->> usines TEST: tels que les décrit Macron __gn_les_2m__ les *WORD *WORD <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) and not apposition(\2, \3) -3>> =switchGender(\3, True) # Accord de genre erroné entre « \2 » et « \3 ». <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True) # Accord de genre erroné avec « \3 ». <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A")) -3>> =suggPlur(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel. |
︙ | ︙ | |||
14400 14401 14402 14403 14404 14405 14406 | TEST: je vais {{aux}} {{cinéma}} TEST: il l’a donné aux {{étudiant}} TEST: aux {{personne}} __gn_det_epi_plur_2m__ [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *WORD *WORD | | | | 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434 14435 14436 14437 | TEST: je vais {{aux}} {{cinéma}} TEST: il l’a donné aux {{étudiant}} TEST: aux {{personne}} __gn_det_epi_plur_2m__ [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) and not apposition(\2, \3) -3>> =switchGender(\3, True) # Accord de genre erroné entre « \2 » et « \3 ». <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True) # Accord de genre erroné avec « \3 ». <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A")) -3>> =suggPlur(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel. [et|ou|de|d’] [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *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, 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|")) |
︙ | ︙ | |||
14709 14710 14711 14712 14713 14714 14715 | TEST: {{Quels}} que soient ces idiotes ->> Quelles TEST: {{Quels}} qu’en soient les raisons ->> Quelles __gn_det_mas_plur_2m__ [certains|quels|lesdits|desdits|auxdits] *WORD *WORD | | | | | | 14724 14725 14726 14727 14728 14729 14730 14731 14732 14733 14734 14735 14736 14737 14738 14739 14740 14741 14742 14743 14744 14745 14746 14747 14748 14749 14750 14751 14752 14753 14754 14755 14756 14757 14758 14759 14760 14761 14762 14763 14764 14765 14766 14767 14768 14769 | TEST: {{Quels}} que soient ces idiotes ->> Quelles TEST: {{Quels}} qu’en soient les raisons ->> Quelles __gn_det_mas_plur_2m__ [certains|quels|lesdits|desdits|auxdits] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ morph(\2, ":[NA].*:[me]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:f", "*") and not apposition(\2, \3) -3>> =suggMasPlur(\3, True) # Accord de genre erroné : « \2 » est masculin, « \3 » est féminin. <<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A")) -3>> =suggMasPlur(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel. [et|ou|de|d’] [certains|quels|lesdits|desdits|auxdits] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \3.startswith("seul") >>> <<- /gn/ morph(\3, ":[NA].*:[me]", ":(?:B|G|V0|f)") and morph(\4, ":[NA].*:f", "*") and not apposition(\3, \4) -4>> =suggMasPlur(\4, True) # Accord de genre erroné : « \3 » est masculin, « \4 » est féminin. <<- /gn/ morph(\3, ":[NA].*:[pi]", ":G") 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>> =suggMasPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: certains claviers {{dégueulasse}} TEST: certains hommes {{petite}} TEST: auxdits hommes {{connu}} TEST: quels hommes {{grandes}} TEST: elle se rappelle de quels rapports {{désastreuses}} il s’agit. TEST: de quels grands {{fou}} s’agit-il ? TEST: chez certains la revue Limite provoque des crises d’hystérie. __gn_det_fem_plur_2m__ [certaines|quelles|lesdites|desdites|auxdites] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ morph(\2, ":[NA].*:[fe]", ":(?:B|G|V0)") and morph(\3, ":[NA].*:m", "*") and not apposition(\2, \3) -3>> =suggFemPlur(\3, True) # Accord de genre erroné : « \2 » est féminin, « \3 » est masculin. <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A")) -3>> =suggFemPlur(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel. [et|ou|de|d’] [certaines|quelles|lesdites|desdites|auxdites] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not \4.startswith("seul") >>> <<- /gn/ morph(\3, ":[NA].*:[fe]", ":(?:B|G|V0|m)") and morph(\4, ":[NA].*:m", "*") and not apposition(\3, \4) -4>> =suggFemPlur(\4, True) # Accord de genre erroné : « \3 » est féminin, « \4 » est masculin. <<- /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>> =suggFemPlur(\4) # Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. |
︙ | ︙ | |||
23331 23332 23333 23334 23335 23336 23337 | TEST: Quel est le problème ? Je ne fais que ramener Paul à la raison. TEST: La voir se fêler ainsi lui noua la gorge. TEST: Quoi de neuf, mec ? TEST: T’as enfin trouvé des gens avec qui t’entendre ? TEST: ça fait du bien de se l’entendre dire TEST: Laisse tomber, mec ! Pour qui tu te prends ? TEST: il y avait souvent foule | < | 23346 23347 23348 23349 23350 23351 23352 23353 23354 23355 23356 23357 23358 23359 | TEST: Quel est le problème ? Je ne fais que ramener Paul à la raison. TEST: La voir se fêler ainsi lui noua la gorge. TEST: Quoi de neuf, mec ? TEST: T’as enfin trouvé des gens avec qui t’entendre ? TEST: ça fait du bien de se l’entendre dire TEST: Laisse tomber, mec ! Pour qui tu te prends ? TEST: il y avait souvent foule !!! Tests historiques !! ## Version 0.5.14 TEST: par le léger tissu de rayonne qui les protégeait en ce moment. |
︙ | ︙ |