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.
TEST: j’en sais rien, {{la}} {{parti}} est foutu
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}}
TEST: la {{vilénies}} des mensonges ->> vilénie
TEST: de {{la}} vin ->> le
TEST: {{la}} {{véhicule}}
TEST: {{La}} {{pris}}
TEST: {{Le}} {{commandeuse}}
TEST: {{Le}} {{commanderesse}}
TEST: {{le}} {{doctoresse}} est là.
TEST: la force de la {{formes}} parfaite
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é}}.
TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
TEST: je voyais de la pluie {{noires}}
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__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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__
|
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
TEST: {{ledit}} {{boulangère}} nous enseigna sa méthode
TEST: ledit {{accords}} ne vaut rien.
__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
TEST: {{ladite}} {{professeur}} était intarissable
TEST: ladite {{passions}} l’avait conduit à sa perte.
__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
TEST: {{aucun}} {{animale}}
TEST: aucun {{accords}} n’y changera rien.
__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
TEST: {{aucune}} {{conseiller}} ne vint nous aider
TEST: aucune {{passions}} n’est digne qu’on meurt pour elle.
__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.
TEST: {{nul}} femme ne réagirait si bêtement
TEST: {{nul}} {{ratée}} ne survint
__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.
TEST: {{nulle}} homme ne comprendrait ça
TEST: {{nulle}} {{damné}} à sauver
__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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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}}
TEST: {{un}} des {{chattes}}
TEST: {{une}} des {{chats}}
TEST: Trente et un hommes sur le pont.
TEST: Ces enfants n’ont jamais vu quelqu’un lire.
TEST: un {{slashs}} ->> slash
TEST: un {{fromages}}. ->> fromage
TEST: Un {{ballons}} ->> ballon
TEST: Une {{cinglées}} ->> cinglée
TEST: {{une}} des {{chats}}
TEST: {{une}} kyste ->> un
TEST: {{une}} {{chien}} ->> un|||chienne
TEST: {{une}} des {{joueurs}}
TEST: un {{cailloux}} ->> caillou
TEST: {{un}} {{petite}} animal ->> une|||petit
TEST: une {{femmes}} ->> femme
TEST: {{une}} {{petit}} ->> un|||petite
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
TEST: je me souviens d’un homme {{arrogants}}
TEST: C’est pas les quelques vues sur Linux qui vont rattraper un scénario {{bancale}}.
__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}}
TEST: Et une femme {{déterminées}}
TEST: on parle là d’une femme {{inconnu}}
TEST: on parle d’une Église {{brûlées}}
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}}
TEST: cette bouffe, c’est {{du}} {{chienne}}
TEST: les consignes dudit {{présidents}} étaient contratritoires.
TEST: les consignes {{dudit}} {{présidente}} étaient contratritoires.
__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
TEST: ce {{claviers}}
TEST: {{ce}} donne
__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}}.
TEST: {{cet}} ballon. ->> ce
TEST: cet {{oliviers}}
__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.
TEST: cette {{illusions}} que nous voyons plus clair que quiconque
__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}}
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 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
TEST: J’aimerais connaître de quel parti {{gauchistes}} on parle.
TEST: au petit {{publique}}
TEST: Ils jugeront en toute impartialité de ce cas {{délirante}}.
__gn_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
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 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>> =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 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>> =suggMasSing(\4) && Accord de nombre erroné avec « \2 \3 » : « \4 » devrait être au singulier.
TEST: il brandissait avec fougue son drapeau {{déchirés}}
TEST: comment osez-vous médire de mon héritage {{glorieuse}}
TEST: on parlait de son escapade {{éperdu}} au milieu de la nuit.
TEST: ton étonnante {{secret}} ne sera pas au programme.
TEST: elle s’étonnait de ton opposition {{grandissantes}}
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]", "*")
|
|
|
|
<
<
|
|
|
|
|
|
|
|
|
|
|
|
>
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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}}
TEST: {{ma}} amour ->> mon
TEST: ma {{carlingues}}
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
TEST: j’en ai assez de cette ville {{stressées}} en permanence.
TEST: Peut-on imaginer de plus {{beaux}} {{enfant}} ?
TEST: de ma grande {{ami}}
TEST: il fut cette fois ulcéré de voir son entreprise une fois de plus ruinée par la malchance.
__gn_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)
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
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}}
TEST: il faut en convenir et les femmes {{oubliés}} seront satisfaites.
TEST: les {{petites}} {{oubliés}}
TEST: c’est ça, et les femmes {{retrouvés}} seront emmenées à l’hôpital.
TEST: fais ce que tu peux, ou les {{petites}} {{perdus}} le seront à jamais
TEST: ça ou les éternels {{imbécile}} du coin
TEST: les {{éventuels}} {{fiches}}
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}}
TEST: {{leur}} {{données}}
TEST: {{leurs}} {{abricot}}
__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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|