Overview
Comment: | [fr] ajustements |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
efbaeb6ce7f572adc335af2789b785c7 |
User & Date: | olr on 2020-12-30 13:46:14 |
Other Links: | manifest | tags |
Context
2020-12-31
| ||
09:46 | [server] fix header for Linux check-in: 10b0ef82fa user: olr tags: trunk, server | |
2020-12-30
| ||
13:46 | [fr] ajustements check-in: efbaeb6ce7 user: olr tags: trunk, fr | |
2020-12-29
| ||
12:27 | [fr] ajustements (tests) check-in: e7b22fd393 user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/rules.grx from [752247ebb4] to [81b061fa47].
︙ | ︙ | |||
15881 15882 15883 15884 15885 15886 15887 | à [de|d’] nombreux [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|parsecs] à la ronde à [de|d’] nombreux [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|parsecs] aux alentours à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] [de|d’] [distance|ici] à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] en [amont|aval] à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] plus loin à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] à la ronde à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] aux alentours | | | | | | | 15881 15882 15883 15884 15885 15886 15887 15888 15889 15890 15891 15892 15893 15894 15895 15896 15897 15898 15899 | à [de|d’] nombreux [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|parsecs] à la ronde à [de|d’] nombreux [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|parsecs] aux alentours à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] [de|d’] [distance|ici] à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] en [amont|aval] à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] plus loin à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] à la ronde à [de|d’] nombreuses [lieues|verstes|UA|années-lumière] aux alentours à des [dizaines|douzaines|centaines|milliers|millions|milliards] [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] [de|d’] [distance|ici] à des [dizaines|douzaines|centaines|milliers|millions|milliards] [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] en [amont|aval] à des [dizaines|douzaines|centaines|milliers|millions|milliards] [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] plus loin à des [dizaines|douzaines|centaines|milliers|millions|milliards] [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] à la ronde à des [dizaines|douzaines|centaines|milliers|millions|milliards] [de|d’] [nanomètres|millimètres|centimètres|décamètres|pas|mètres|kilomètres|verstes|lieues|UA|parsecs|années-lumière] aux alentours à un jet [de|d’] pierre [de|d’] [distance|ici] à un jet [de|d’] pierre en [amont|aval] à un jet [de|d’] pierre plus loin à un jet [de|d’] pierre à la ronde à un jet [de|d’] pierre aux alentours <<- ~>> * |
︙ | ︙ | |||
23072 23073 23074 23075 23076 23077 23078 | -3>> =suggFemSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. <start> la *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":[efPGWMY]") -2>> le && Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) && Accord de genre erroné : « \2 » est un déterminant féminin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggFemSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. | | | | | | | | | | | | | | | | | | | | 23072 23073 23074 23075 23076 23077 23078 23079 23080 23081 23082 23083 23084 23085 23086 23087 23088 23089 23090 23091 23092 23093 23094 23095 23096 23097 23098 23099 23100 23101 23102 23103 23104 23105 23106 23107 23108 23109 23110 23111 23112 23113 23114 23115 23116 23117 23118 23119 23120 23121 23122 23123 | -3>> =suggFemSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. <start> la *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":[efPGWMY]") -2>> le && Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) && Accord de genre erroné : « \2 » est un déterminant féminin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggFemSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. TEST: c’est ennuyeux, la {{parties}} deux est ratée. ->> partie TEST: j’en sais rien, {{la}} {{parti}} est foutu ->> le|||partie TEST: {{La}} Cameroun ->> Le TEST: {{La}} mustang est un cheval sauvage. ->> Le TEST: {{La}} tableau. ->> Le TEST: dans la {{parties}} ->> partie TEST: je connais {{la}} {{parti}} ->> le|||partie TEST: la {{vilénies}} des mensonges ->> vilénie TEST: de {{la}} vin ->> le TEST: {{la}} {{véhicule}} ->> le|||véhiculée TEST: {{La}} {{pris}} ->> Le|||prise TEST: {{Le}} {{commandeuse}} ->> La|||commandeur TEST: {{Le}} {{commanderesse}} ->> La|||commandeur TEST: {{le}} {{doctoresse}} est là. ->> la|||docteur TEST: la force de la {{formes}} parfaite ->> forme 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 morph(\3, ">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é : le syntagme « \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 morph(\4, ">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é : le syntagme « \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é}}. ->> cinglée TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée. ->> noire TEST: je voyais de la pluie {{noires}} ->> noire TEST: Il faut donc examiner ensemble le panneau et la paroi latérale. TEST: Il faut donc examiner ensemble le panneau et la paroi latéraux. TEST: Il faut donc examiner ensemble les panneaux et la paroi latéraux. TEST: Il faut donc examiner ensemble les panneaux et la paroi latérale. __gn_la_3m__ |
︙ | ︙ | |||
23143 23144 23145 23146 23147 23148 23149 | -2>> leurs && Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. <start> leur *WORD <<- /gn/ morph(\3, ":[NA].*:p", ":[siGW]") -2>> leurs && Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. | | | | | | 23143 23144 23145 23146 23147 23148 23149 23150 23151 23152 23153 23154 23155 23156 23157 23158 23159 23160 | -2>> leurs && Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. <start> leur *WORD <<- /gn/ morph(\3, ":[NA].*:p", ":[siGW]") -2>> leurs && Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier. TEST: Tu sais, {{leur}} {{impatiences}} est notoire. ->> leurs|||impatience TEST: J’en ai assez de {{leur}} {{délires}} ->> leurs|||délire TEST: {{Leur}} {{perceptions}} des choses m’exaspère. ->> Leurs|||perception TEST: dans {{leur}} {{usines}} ->> leurs|||usine __gn_leur_2m__ leur *WORD *WORD <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">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) |
︙ | ︙ | |||
23170 23171 23172 23173 23174 23175 23176 | 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|V0)") 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. <<- /gn/ __also__ and morph(\3, ":[NA].*:i") -2>> leurs && Accord de nombre erroné avec « \3 \4 ». | | | | | | | | | | 23170 23171 23172 23173 23174 23175 23176 23177 23178 23179 23180 23181 23182 23183 23184 23185 23186 23187 23188 23189 23190 23191 | 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|V0)") 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. <<- /gn/ __also__ and morph(\3, ":[NA].*:i") -2>> leurs && Accord de nombre erroné avec « \3 \4 ». TEST: leur puissance {{perdues}} ->> perdue TEST: leur arbre {{élaguée}} ->> élagué TEST: leur {{petit}} {{grosse}} ->> petite|||gros TEST: elle se souvenait de leur {{grande}} {{sot}} ->> grand|||sotte TEST: je me souviens de leur verve {{décalé}} ->> décalée TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous. ->> insupportable TEST: {{leur}} gros {{grains}} ->> leurs|||grain TEST: Que ferons-nous de {{leur}} gros {{grains}} ->> leurs|||grain TEST: 3 milliards d’euros que depuis 2012 l’État leur a volés __gn_leur_3m__ leur *WORD *WORD *WORD <<- /gn/ morph(\1, ":D") and morph(<1, "<start>|:V", "*") and \4.islower() >>> <<- /gn/ morph(\2, ":[NA].*:m:[si]", "*") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:f", "*") |
︙ | ︙ | |||
23202 23203 23204 23205 23206 23207 23208 | __gn_ledit_1m__ ledit *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> ladite && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. | | | | | | | | | | | | | | | | | | | | 23202 23203 23204 23205 23206 23207 23208 23209 23210 23211 23212 23213 23214 23215 23216 23217 23218 23219 23220 23221 23222 23223 23224 23225 23226 23227 23228 23229 23230 23231 23232 23233 23234 23235 23236 23237 23238 23239 23240 23241 23242 23243 23244 23245 23246 23247 23248 23249 23250 23251 23252 23253 23254 23255 23256 23257 23258 23259 23260 23261 23262 23263 23264 23265 23266 23267 23268 23269 23270 23271 23272 23273 | __gn_ledit_1m__ ledit *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> ladite && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{ledit}} femme ne sut comment nous éclairer ->> ladite TEST: {{ledit}} {{boulangère}} nous enseigna sa méthode ->> ladite|||boulanger TEST: ledit {{accords}} ne vaut rien. ->> accord __gn_ladite_1m__ ladite *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> ledit && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{ladite}} vélo était en panne ->> ledit TEST: {{ladite}} {{professeur}} était intarissable ->> ledit|||professeure TEST: ladite {{passions}} l’avait conduit à sa perte. ->> passion|passée __gn_aucun_1m__ aucun *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> aucune && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{aucun}} femme ne réagirait si bêtement ->> aucune TEST: {{aucun}} {{animale}} ->> aucune|||animal TEST: aucun {{accords}} n’y changera rien. ->> accord __gn_aucune_1m__ aucune *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> aucun && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{aucune}} homme ne comprendrait ça ->> aucun TEST: {{aucune}} {{conseiller}} ne vint nous aider ->> aucun|||conseillère|conseillée TEST: aucune {{passions}} n’est digne qu’on meurt pour elle. ->> passion|passée __gn_nul_1m__ nul *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> nulle && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: nul {{accords}} n’y changera rien. ->> accord TEST: {{nul}} femme ne réagirait si bêtement ->> nulle TEST: {{nul}} {{ratée}} ne survint ->> nulle|||raté __gn_nulle_1m__ nulle *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> nul && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: nulle {{passions}} n’est digne qu’on meurt pour elle. ->> passion|passée TEST: {{nulle}} homme ne comprendrait ça ->> nul TEST: {{nulle}} {{damné}} à sauver ->> nul|||damnée __gn_un_1m__ un *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":(?:e|m|G|W|V0|3s|Y)") -1>> une && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. |
︙ | ︙ | |||
23285 23286 23287 23288 23289 23290 23291 | <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. __gn_une_des_1m__ une des *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|G|W|V0|3s)") -1>> un && Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True) && Accord de genre erroné : « \1 » est un déterminant féminin. | | | | < < | | | | | | | | | | | | > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 23285 23286 23287 23288 23289 23290 23291 23292 23293 23294 23295 23296 23297 23298 23299 23300 23301 23302 23303 23304 23305 23306 23307 23308 23309 23310 23311 23312 23313 23314 23315 23316 23317 23318 23319 23320 23321 23322 23323 23324 23325 23326 23327 23328 23329 23330 23331 23332 23333 23334 23335 23336 23337 23338 23339 23340 23341 23342 23343 23344 23345 23346 23347 23348 23349 23350 23351 23352 23353 23354 23355 23356 23357 23358 23359 23360 23361 23362 23363 23364 23365 23366 23367 23368 23369 23370 23371 23372 23373 23374 23375 23376 23377 23378 23379 23380 23381 23382 23383 23384 23385 23386 23387 23388 23389 23390 23391 23392 23393 23394 23395 23396 23397 23398 23399 23400 23401 23402 23403 23404 23405 23406 23407 23408 23409 23410 23411 23412 23413 23414 23415 23416 23417 23418 23419 23420 23421 23422 23423 23424 23425 23426 23427 23428 23429 23430 23431 23432 23433 23434 23435 23436 23437 23438 23439 23440 23441 23442 23443 23444 23445 23446 23447 23448 23449 23450 23451 23452 23453 23454 23455 23456 23457 23458 23459 23460 23461 23462 23463 23464 23465 23466 23467 23468 23469 23470 23471 23472 23473 23474 23475 23476 23477 23478 23479 23480 23481 23482 23483 23484 23485 23486 23487 23488 23489 23490 23491 23492 23493 23494 23495 23496 23497 23498 23499 23500 23501 23502 | <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. __gn_une_des_1m__ une des *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|G|W|V0|3s)") -1>> un && Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True) && Accord de genre erroné : « \1 » est un déterminant féminin. TEST: {{Un}} {{amie}} ->> Une|||ami TEST: {{un}} des {{chattes}} ->> une|||chats TEST: {{une}} des {{chats}} ->> un|||chattes TEST: un {{slashs}} ->> slash TEST: un {{fromages}}. ->> fromage TEST: Un {{ballons}} ->> ballon TEST: Une {{cinglées}} ->> cinglée TEST: {{une}} des {{chats}} ->> un|||chattes TEST: {{une}} kyste ->> un TEST: {{une}} {{chien}} ->> un|||chienne TEST: {{une}} des {{joueurs}} ->> un|||joueuses TEST: un {{cailloux}} ->> caillou TEST: {{un}} {{petite}} animal ->> une|||petit TEST: une {{femmes}} ->> femme TEST: {{une}} {{petit}} ->> un|||petite TEST: Trente et un hommes sur le pont. TEST: Ces enfants n’ont jamais vu quelqu’un lire. TEST: mille et une merveilles TEST: Quatorze heures découpées en quatre parties, une sortant en salles chaque semaine ## un / une __gn_un_2m__ un *WORD *WORD <<- /gn/ not value(<1, "|et|ou|d’|") and not morph(\3, ">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é : le syntagme « \1 \2 » est masculin, « \3 » est féminin. <<- /gn/ morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", "*") and not apposition(\2, \3) -3>> =suggMasSing(\3) && Accord de nombre erroné avec « \2 » : « \3 » devrait être au singulier. [et|ou|d’] un *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">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é : le syntagme « \2 \3 » est masculin, « \4 » est féminin. <<- /gn/ morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", "*") and not apposition(\3, \4) -4>> =suggMasSing(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: un exercice pas très {{utiles}}. ->> utile TEST: un homme {{grands}} ->> grand TEST: un homme {{futiles}} ->> futile TEST: que sais-tu d’un homme {{grande}} comme un arbre ->> grand TEST: je me souviens d’un homme {{arrogants}} ->> arrogant TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}. ->> bancal __gn_une_2m__ une *WORD *WORD <<- /gn/ not value(<1, "|et|ou|d’|") and not morph(\3, ">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é : le syntagme « \1 \2 » est féminin, « \3 » est masculin. <<- /gn/ \2 != "fois" and morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:p", "*") and not apposition(\2, \3) -3>> =suggFemSing(\3) && Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au singulier. [et|ou|d’] une *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">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é : le syntagme « \2 \3 » est féminin, « \4 » est masculin. <<- /gn/ \3 != "fois" and morph(\3, ":[NA].*:[si]", ":G") and morph(\4, ":[NA].*:p", "*") and not apposition(\3, \4) -4>> =suggFemSing(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: Une femme {{laconiques}}. ->> laconique TEST: Une grande {{homme}}. ->> TEST: une géologue {{intelligents}} ->> intelligente TEST: Et une femme {{déterminées}} ->> déterminée TEST: on parle là d’une femme {{inconnu}} ->> inconnue TEST: on parle d’une Église {{brûlées}} ->> brûlée TEST: L’or allume le feu d’une cupidité d’une couleur et d’une sorte différentes. __gn_du_1m__ du *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> de la && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. __gn_dudit_1m__ dudit *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> de ladite && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: cette bouffe, c’est du {{chiens}} ->> chien TEST: cette bouffe, c’est {{du}} {{chienne}} ->> de la|||chien TEST: les consignes dudit {{présidents}} étaient contratritoires. ->> président TEST: les consignes {{dudit}} {{présidente}} étaient contratritoires. ->> de ladite|||président __gn_ce_1m__ ce *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":(?:3s|[GWme])") -1>> cette && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") and morph(\2, ":3s") -1>> cette|se && Accord de genre erroné : « \2 » est féminin. Ou bien vous confondez le déterminant “ce” avec le pronom “se”. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{Ce}} animal. ->> Cet TEST: {{ce}} {{folle}} espoir qui ne la quitte pas ->> cette|||fou TEST: ce {{claviers}} ->> clavier TEST: {{ce}} donne avec passion ->> cette|se __gn_cet_1m__ cet *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> cette && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].+:[NA].*:m", ":[efGW]") -1>> ce && Accord de genre correct, mais euphonie non respectée.|http://fr.wikipedia.org/wiki/Euphonie <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{Cet}} {{idiote}}. ->> Cette|||idiot TEST: {{cet}} ballon. ->> ce TEST: cet {{oliviers}} ->> olivier __gn_cette_1m__ cette *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =suggCeOrCet(\2) && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{Cette}} {{animal}} mort. ->> Cet|||animale TEST: cette {{illusions}} que nous voyons plus clair que quiconque ->> illusion __gn_au_1m__ au *WORD <<- /gn/ morph(\2, ":[NA].*:f:s", ":[GWme]") -1>> à la && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. <<- /gn/ __also__ -1>> aux && Accord de nombre erroné : « \2 » est au pluriel. TEST: {{au}} {{États-Unis}} ->> aux|||États-Unis TEST: Téléphone {{au}} personne qui ont donné leur accord. ->> à la TEST: téléphone {{au}} {{boulangère}} ->> à la|||boulanger 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 morph(\3, ">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 morph(\4, ">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 ->> terrible TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle. ->> gauchiste TEST: au petit {{publique}} ->> public TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}. ->> délirant __gn_det_mas_sing_3m__ [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD *WORD *WORD <<- /gn/ morph(<1, "<start>|:V", "*") and morph(\2, ":[NA].*:[me]:[si]") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:[pf]", "*") and \4.islower() -4>> =suggMasSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier. TEST: ledit martyr oublié {{réhabilitée}} ->> réhabilité TEST: un gros connard {{pathétiques}} ->> pathétique TEST: servi pas un style et une exigence historique remarquables TEST: ils eurent besoins d’au minimum cent ans pour s’en remettre __gn_mon_ton_son_1m__ [mon|ton|son] *WORD <<- /gn/ morph(\1, ":D") >>> <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:f", ":[GWme]") -1>> =\1.replace("on", "a").replace("ON", "A") && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: mon {{excellentes}} mémoire ->> excellente TEST: {{ton}} {{belle}} mémoire ->> ta|||beau TEST: {{mon}} {{chienne}} ->> ma|||chien __gn_mon_ton_son_2m__ [mon|ton|son] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>> <<- /gn/ morph(\2, ":[NA].*:m", ":(?:B|G|e|V0|f)") and morph(\3, ":[NAQ].*: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œæ].*:[NAQ].*:f", ":(?:B|G|e|V0|m)") and morph(\3, ":[NAQ].*: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, ":[NAQ].*: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’] [mon|ton|son] *WORD *WORD <<- /gn/ not morph(<1, ":[NA]|>(?:et|ou)/") and not morph(\4, ">seul/") >>> <<- /gn/ morph(\3, ":[NA].*:m", ":(?:B|G|e|V0|f)") and morph(\4, ":[NAQ].*: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, ":[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, ":[NA].*:[si]", ":G") and morph(\4, ":[NAQ].*:p", ":[GWsi]") and not apposition(\3, \4) -4>> =suggSing(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier. TEST: il brandissait avec fougue son drapeau {{déchirés}} ->> déchiré TEST: comment osez-vous médire de mon héritage {{glorieuse}} ->> glorieux TEST: on parlait de son escapade {{éperdu}} au milieu de la nuit. ->> éperdue TEST: ton étonnante {{secret}} ne sera pas au programme. ->> secrète TEST: elle s’étonnait de ton opposition {{grandissantes}} ->> grandissante TEST: le ton monte. __gn_det_mon_ton_son_3m__ [mon|ton|son] *WORD *WORD *WORD <<- /gn/ morph(<1, "<start>|:V", "*") and \4.islower() >>> <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:[me]:[si]") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NAQ].*:[pf]", "*") |
︙ | ︙ | |||
23519 23520 23521 23522 23523 23524 23525 | [ma|ta|sa] *WORD <<- not (tag(\1, "_CAP_") and morph(\1, ":N")) and not (tag(\1, "eg1mot") and morph(\2, ":V.[ea].:3[sp]")) >>> <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =\1[:-1]+"on" && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and not re.search("(?i)^[aâeéèêiîoôuûyœæ]", \2) and hasFemForm(\2) -2>> =suggFemSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. | | | | | | | | | | | | 23519 23520 23521 23522 23523 23524 23525 23526 23527 23528 23529 23530 23531 23532 23533 23534 23535 23536 23537 23538 23539 23540 23541 23542 23543 23544 23545 23546 23547 23548 23549 23550 23551 23552 23553 23554 23555 23556 23557 23558 23559 23560 23561 23562 23563 23564 23565 23566 23567 23568 23569 23570 23571 23572 23573 23574 23575 23576 23577 23578 23579 23580 23581 23582 | [ma|ta|sa] *WORD <<- not (tag(\1, "_CAP_") and morph(\1, ":N")) and not (tag(\1, "eg1mot") and morph(\2, ":V.[ea].:3[sp]")) >>> <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =\1[:-1]+"on" && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and not re.search("(?i)^[aâeéèêiîoôuûyœæ]", \2) and hasFemForm(\2) -2>> =suggFemSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{ma}} {{parti}} ->> mon|||partie TEST: {{ma}} amour ->> mon TEST: ma {{carlingues}} ->> carlingue TEST: Après cet épisode, la SA a joué un rôle marginal dans l’histoire du Troisième Reich TEST: “ma” est un déterminant féminin __gn_det_fem_sing_2m__ [ma|ta|sa|cette|quelle|ladite|aucune|nulle] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">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é : le syntagme « \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|aucune|nulle] *WORD *WORD <<- /gn/ not morph(<1, ":[NAQ]|>(?:et|ou)/") and not morph(\4, ">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 ->> étourdie TEST: j’en ai assez de cette ville {{stressées}} en permanence. ->> stressée TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ? ->> beau|||enfants TEST: de ma grande {{ami}} ->> amie TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance. __gn_det_fem_sing_3m__ [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD *WORD *WORD <<- /gn/ morph(<1, "<start>|:V", "*") and morph(\2, ":[NA].*:[fe]:[si]") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:[pm]", "*") and \4.islower() -4>> =suggFemSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier. TEST: une amie prodigieuse {{récompensé}} ->> récompensée __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. TEST: Chaque {{chiens}}. ->> chien __gn_quelque_1m__ quelque *WORD <<- /gn/ morph(\2, ":[NA].*:p", ":[siG]") and not value(>1, "|que|qu’|") -1>> quelques && Il manque un “s” à « quelque » ou « \2 » doit être au singulier. TEST: {{Quelque}} amis ->> Quelques __gn_det_epi_sing_2m__ [chaque|quelque|notre|votre] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|") and not morph(\3, ">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) |
︙ | ︙ | |||
23590 23591 23592 23593 23594 23595 23596 | <<- /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. | | | | | | | | 23590 23591 23592 23593 23594 23595 23596 23597 23598 23599 23600 23601 23602 23603 23604 23605 23606 23607 23608 23609 | <<- /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}} ->> terrestre TEST: notre {{belle}} {{avenu}} ->> beau|||avenue TEST: ils viennent de chaque coin {{ignorée}} du pays. ->> ignoré TEST: que faire de votre {{ennuyeuse}} {{avocat}} ->> ennuyeux|||avocate TEST: de quelque cartable {{vides}} ->> vide TEST: de notre petit {{amis}} ->> ami TEST: Quelque chose tombé dans le puits a souillé l’eau. __gn_det_notre_votre_3m__ [chaque|quelque|notre|votre] *WORD *WORD *WORD <<- /gn/ morph(<1, "<start>|:V", "*") and \4.islower() >>> <<- /gn/ morph(\2, ":[NA].*:m:[si]", ":[fe]") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:f", "*") |
︙ | ︙ | |||
23632 23633 23634 23635 23636 23637 23638 | and not (value(\1, "|que|") and morph(<1, ">tel/") and morph(\3, ":3[sp]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. <start> les *WORD <<- /gn/ morph(\3, ":[NA].*:s", ":[ipYPGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. | | | | | | | | | 23632 23633 23634 23635 23636 23637 23638 23639 23640 23641 23642 23643 23644 23645 23646 23647 23648 23649 23650 23651 23652 | and not (value(\1, "|que|") and morph(<1, ">tel/") and morph(\3, ":3[sp]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. <start> les *WORD <<- /gn/ morph(\3, ":[NA].*:s", ":[ipYPGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. TEST: ils viennent, les {{petit}} ->> petits TEST: Les {{tiret}} ->> tirets TEST: Les plus {{grand}} hommes. ->> grands TEST: les {{véhicule}} ->> véhicules TEST: Les {{démoralisation}}. ->> démoralisations TEST: dans les {{usine}} ->> usines TEST: les {{abricot}} ->> abricots TEST: tels que les décrit Macron TEST: J’en ramasse quelques-unes, puis les glisse dans l’une de mes poches, ça me fera un souvenir. __gn_les_2m__ les *WORD *WORD <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">seul/") >>> |
︙ | ︙ | |||
23662 23663 23664 23665 23666 23667 23668 | <<- /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")) -4>> =suggPlur(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. | | | | | | | | | | | | | | | | | | | | | | | | 23662 23663 23664 23665 23666 23667 23668 23669 23670 23671 23672 23673 23674 23675 23676 23677 23678 23679 23680 23681 23682 23683 23684 23685 23686 23687 23688 23689 23690 23691 23692 23693 23694 23695 23696 23697 23698 23699 23700 23701 23702 23703 23704 23705 23706 23707 23708 23709 23710 23711 23712 23713 23714 23715 23716 23717 23718 23719 23720 23721 23722 23723 23724 23725 23726 23727 23728 23729 23730 | <<- /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")) -4>> =suggPlur(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: les pitres {{imbécile}} ->> imbéciles TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites. ->> oubliées TEST: les {{petites}} {{oubliés}} ->> petits|||oubliées TEST: c’est ça, et les femmes {{retrouvés}} seront emmenées à l’hôpital. ->> retrouvées TEST: fais ce que tu peux, ou les {{petites}} {{perdus}} le seront à jamais ->> petits|||perdues TEST: ça ou les éternels {{imbécile}} du coin ->> imbéciles TEST: les {{éventuels}} {{fiches}} ->> éventuelles|||fichés 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. TEST: les agrandissements photo TEST: Il faut donc examiner ensemble les panneaux et les parois latéraux. TEST: Il faut donc examiner ensemble les panneaux et les parois latérales. TEST: l’homme les a volés __gn_leurs_1m__ leurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. <<- /gn/ __also__ -1>> leur && Accord de nombre erroné avec « \2 ». TEST: {{leurs}} {{action}} ->> leur|||actions TEST: {{leur}} {{données}} ->> leurs|||donnée TEST: {{leurs}} {{abricot}} ->> leur|||abricots __gn_det_pluriel_1m__ [des|mes|tes|ses|nos|vos|quelques|lesdits|lesdites|desdits|desdites|auxdits|auxdites|moult] *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: des {{pain}} ->> pains TEST: Quelques {{homme}}. ->> hommes TEST: plusieurs {{femme}} sont venues. ->> femmes TEST: des {{abricot}} ->> abricots TEST: des {{son}} que nous entendons jour et nuit. ->> sons TEST: une personne ou plusieurs ayant décidé de façon déterminée et coordonnée de faire cuire la grenouille __gn_ces_aux_pluriel_1m__ [ces|aux] *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. <<- /gn/ __also__ and morph(\2, ">[bcçdfglklmnpqrstvwxz].*:m", ":f") >>> <<- /gn/ \1.endswith("x") or \1.endswith("X") -1>> au && Accord de nombre erroné : « \2 » est au singulier. <<- /gn/ __else__ -1>> ce && Accord de nombre erroné : « \2 » est au singulier. TEST: {{ces}} {{détournement}} de fonds et ces vols ->> ce|||détournements TEST: ces {{étudiant}} sont légion. ->> étudiants TEST: je vais {{aux}} {{cinéma}} ->> au|||cinémas TEST: il l’a donné aux {{étudiant}} ->> étudiants TEST: aux {{personne}} ->> personnes TEST: j’entends ces {{même}} âneries tous les jours ->> mêmes TEST: clafoutis aux {{abricot}} ->> abricots __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’|au|aux|") and not morph(\3, ">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) |
︙ | ︙ | |||
23739 23740 23741 23742 23743 23744 23745 | 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 (value(\1, "|de|d’|") and value(<1, "|un|une|")) -4>> =suggPlur(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. | | | | | | 23739 23740 23741 23742 23743 23744 23745 23746 23747 23748 23749 23750 23751 23752 23753 23754 23755 23756 | 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 (value(\1, "|de|d’|") and value(<1, "|un|une|")) -4>> =suggPlur(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au pluriel. TEST: ces {{beaux}} {{institutions}} ->> belles||| TEST: nos petites {{fille}} ->> filles TEST: de plusieurs {{grands}} {{avocates}} ->> grandes|||avocats TEST: de vos défauts {{terrible}}, je connais presque tout. ->> terribles 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. |
︙ | ︙ | |||
32548 32549 32550 32551 32552 32553 32554 | !! !! !!!! Verbes sans sujets !! !! !! __conj_que_où_comment_verbe_sans_sujet!3__ | | | 32548 32549 32550 32551 32552 32553 32554 32555 32556 32557 32558 32559 32560 32561 32562 | !! !! !!!! Verbes sans sujets !! !! !! __conj_que_où_comment_verbe_sans_sujet!3__ [que|qu’|où|comment|combien|dont|quand|pourquoi|puisque|puisqu’|lorsque|lorsqu’|auquel|auxquels|auxquelles|duquel|desquels|desquelles|lequel|laquelle|lesquels|lesquelles|si] @:[12][sp]¬:(?:G|W|3[sp]|Y|P|Q|N|A|M|VC) <<- /conj/ morph(\2, ":[12]s") and not value(>1, "|je|tu|") -2>> =suggVerb(\2, ":3s") && Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne. <<- /conj/ __else__ and morph(\2, ":[12]p") and not value(>1, "|nous|vous|") -2>> =suggVerb(\2, ":3p") && Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne. TEST: Qu’est-ce que tu crois que {{deviens}} réellement, immanquablement et subitement cet homme après une telle dérouillée ? TEST: peu importe ce que tu crois du lieu où l’{{abandonnerais}} ce salopard… TEST: nous savons comment {{arriverons}} ces problèmes… TEST: nous le pensons puisque {{paraitrons}} folles ces augmentations |
︙ | ︙ |