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
|
| ︙ | ︙ |