Grammalecte  Check-in [9c4e4db18b]

Overview
Comment:[fr] ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 9c4e4db18bdd15c25f9b82c4736c516288130447bb8bad62e56f0840c7904f6d
User & Date: olr on 2020-10-17 23:21:31
Other Links: manifest | tags
Context
2020-10-17
23:22
[fx] lexicographer: messages check-in: a709782a5c user: olr tags: trunk, fx
23:21
[fr] ajustements check-in: 9c4e4db18b user: olr tags: trunk, fr
2020-10-16
12:30
[fr] ajustements check-in: bc4d63d6b7 user: olr tags: trunk, fr
Changes

Modified gc_lang/fr/rules.grx from [e1048f56da] to [37c4ffe12e].

1058
1059
1060
1061
1062
1063
1064
1065

1066
1067
1068
1069

1070
1071
1072
1073
1074
1075
1076
        <<- ->> =\0.replace(",", ".").replace("...", "…")                               && Erreur de numérisation ? Virgules au lieu de points ?

TEST: Ah !{{,.,}} et en quoi consistait le festin ?


__<s>/typo(typo_ponctuation_superflue1)__    , ?([.,;:!?]) @@$ <<- ->> =",|" + \1       && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue2)__    ; ?([.,;:…!?]) @@$ <<- ->> =";|" + \1      && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue3)__    :[.,;:…!?] <<- ->> =":|" + \0[1]           && Une de ces ponctuations est superflue.


TEST: Mouais{{, ;}}
TEST: Vraiment, bof {{;;}} on ne sait guère qu’en penser.
TEST: Raisons {{:.}} trop, c’est trop.




!!
!!
!!!! Espaces insécables                                                                           !!
!!







|
>

|
|
|
>







1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
        <<- ->> =\0.replace(",", ".").replace("...", "…")                               && Erreur de numérisation ? Virgules au lieu de points ?

TEST: Ah !{{,.,}} et en quoi consistait le festin ?


__<s>/typo(typo_ponctuation_superflue1)__    , ?([.,;:!?]) @@$ <<- ->> =",|" + \1       && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue2)__    ; ?([.,;:…!?]) @@$ <<- ->> =";|" + \1      && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue3)__    :[.,;:…!?] <<- ->> =":|" + \0[1:2]         && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue4)__    [?!][.](?![.]) <<- ->> =\0[0:1]            && Ne mettez pas un point après un point d’interrogation ou d’exclamation.

TEST: Mouais{{, .}}                                                     ->> ,|.
TEST: Vraiment, bof {{;;}} on ne sait guère qu’en penser.               ->> ;|;
TEST: Raisons {{:.}} trop, c’est trop.                                  ->> :|.
TEST: C’est ça {{?.}} tu crois ?                                        ->> ?



!!
!!
!!!! Espaces insécables                                                                           !!
!!
1094
1095
1096
1097
1098
1099
1100

1101
1102
1103
1104
1105
1106
1107
    ([:;!?]) (?=[\w«“"])  @@0 <<- ->> "\1 "                 && Pas d’espace insécable après le signe “\1”.

TEST: {{«}}Il manque deux espaces insécables. »                             ->> "« "
TEST: « Il manque deux espaces insécables{{.»}}                             ->> ". »"
TEST: « Il manque deux espaces insécables{{ »}}                             ->> " »"
TEST: Et encore{{!}}?                                                       ->> " !"
TEST: Quoi{{?}}                                                             ->> " ?"

TEST: Voici{{:}} les deux points.                                           ->> " :"
TEST: Voyelles:{{a}}.                                                       ->> " a"
TEST: Succession : a{{;}} b.                                                ->> " ;"
TEST: C’est assez {{: }}parlez !                                            ->> ": "
TEST: {{» }}C’est ce qu’on croit savoir.                                    ->> "» |« "









>







1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
    ([:;!?]) (?=[\w«“"])  @@0 <<- ->> "\1 "                 && Pas d’espace insécable après le signe “\1”.

TEST: {{«}}Il manque deux espaces insécables. »                             ->> "« "
TEST: « Il manque deux espaces insécables{{.»}}                             ->> ". »"
TEST: « Il manque deux espaces insécables{{ »}}                             ->> " »"
TEST: Et encore{{!}}?                                                       ->> " !"
TEST: Quoi{{?}}                                                             ->> " ?"
TEST: Qui{{ ?}}                                                             ->> " ?"
TEST: Voici{{:}} les deux points.                                           ->> " :"
TEST: Voyelles:{{a}}.                                                       ->> " a"
TEST: Succession : a{{;}} b.                                                ->> " ;"
TEST: C’est assez {{: }}parlez !                                            ->> ": "
TEST: {{» }}C’est ce qu’on croit savoir.                                    ->> "» |« "


16828
16829
16830
16831
16832
16833
16834

16835
16836
16837
16838
16839
16840
16841
    >seuil [de|d’] tolérance
    >seuil [de|d’] tolérance à la douleur
    >signal d’ alarme
    >silo à [>grains|blé]
    >site [de|d’] lancement
    >soldat d’ élite
    >solution [de|d’] [rechange|repli]

    >sonnette d’ alarme
    >sortie [de|d’] secours
    >soue à >cochon
    >sourate [*NUM|$:B] ?,¿ verset [*NUM|$:B]
    >souvenir d’ enfance
    >sujet [de|d’] [prédilection|préoccupation]
    >suspension [de|d’] séance







>







16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
    >seuil [de|d’] tolérance
    >seuil [de|d’] tolérance à la douleur
    >signal d’ alarme
    >silo à [>grains|blé]
    >site [de|d’] lancement
    >soldat d’ élite
    >solution [de|d’] [rechange|repli]
    >sommier à lattes
    >sonnette d’ alarme
    >sortie [de|d’] secours
    >soue à >cochon
    >sourate [*NUM|$:B] ?,¿ verset [*NUM|$:B]
    >souvenir d’ enfance
    >sujet [de|d’] [prédilection|préoccupation]
    >suspension [de|d’] séance
21156
21157
21158
21159
21160
21161
21162















21163
21164
21165
21166
21167
21168
21169
TEST: L’{{amande}} {{amer}}
TEST: l’{{amicale}} {{animal}}
TEST: l’amour {{immortels}}
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.
TEST: elle prendra l’{{avions}} dès que possible

















__gn_le_1m__
    ,  le  *WORD
        <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3)           && Accord de genre erroné : « \3 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            && Accord de genre erroné : « \2 » est un déterminant masculin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3)               && Accord de nombre erroné : « \3 » devrait être au singulier.
        <<- /gn/ __also__ -2>> les                                                                  && Accord de nombre erroné : « \3 » est au pluriel.







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
TEST: L’{{amande}} {{amer}}
TEST: l’{{amicale}} {{animal}}
TEST: l’amour {{immortels}}
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.
TEST: elle prendra l’{{avions}} dès que possible


__gn_l_3m__
    l’  *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", "*")
        -4>> =suggMasSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.
        <<- /gn/ __else__ and morph(\2, ":[NA].*:f:[si]", "*") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:m", "*")
        -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
        <<- /gn/ __else__ and morph(\2, ":[NA].*:[si]", "*") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:p", "*")
        -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.

TEST: l’horreur obscure {{répandu}} dans les ténèbres                               ->> répandue
TEST: l’honneur français {{bafouée}}                                                ->> bafoué
TEST: l’ignoble ignorance si {{répandues}}                                          ->> répandue


__gn_le_1m__
    ,  le  *WORD
        <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3)           && Accord de genre erroné : « \3 » est féminin.
        <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            && Accord de genre erroné : « \2 » est un déterminant masculin.
        <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3)               && Accord de nombre erroné : « \3 » devrait être au singulier.
        <<- /gn/ __also__ -2>> les                                                                  && Accord de nombre erroné : « \3 » est au pluriel.
21218
21219
21220
21221
21222
21223
21224













21225
21226
21227
21228
21229
21230
21231
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
TEST: connaître et le grand {{perdante}}
TEST: Le bruit {{perçus}} par les voisins.
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.















__gn_la_1m__
    ,  la  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)") -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") -3>> =suggFemSing(\3)                  && Accord de nombre erroné : « \3 » devrait être au singulier.








>
>
>
>
>
>
>
>
>
>
>
>
>







21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
TEST: connaître et le grand {{perdante}}
TEST: Le bruit {{perçus}} par les voisins.
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.


__gn_le_3m__
    le  *WORD  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D")
            and morph(\2, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:[fp]", "*") and \4.islower()
        -4>> =suggMasSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.

TEST: le roi chrétien {{tyranniques}} tout pétri de son prétendu droit divin                    ->> tyrannique
TEST: le petit chien {{bruns}}                                                                  ->> brun
TEST: elles furent le jour venu prises par surprise, et elles durent s’enfuir.
TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien.
TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages.


__gn_la_1m__
    ,  la  *WORD
        <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)") -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") -3>> =suggFemSing(\3)                  && Accord de nombre erroné : « \3 » devrait être au singulier.

21283
21284
21285
21286
21287
21288
21289












21290
21291
21292
21293
21294
21295
21296
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_leur_1m__
    ,  leur  *WORD
        <<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs                                     && Accord de nombre erroné avec « \3 ».
        <<- /gn/ __also__ -3>> =suggSing(\3)                                                && Accord de nombre erroné : « \3 » devrait être au singulier.

    *WORD  leur  *WORD







>
>
>
>
>
>
>
>
>
>
>
>







21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
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__
    la  *WORD  *WORD  *WORD
        <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D")
            and morph(\2, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P)|;C") and morph(\4, ":[NA].*:[mp]", "*") and \4.islower()
        -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.

TEST: la seule solution {{trouvé}} consistait à déléguer                                        ->> trouvée
TEST: La petite fille {{devenues}} infirmière.                                                  ->> devenue
TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions
TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes.


__gn_leur_1m__
    ,  leur  *WORD
        <<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs                                     && Accord de nombre erroné avec « \3 ».
        <<- /gn/ __also__ -3>> =suggSing(\3)                                                && Accord de nombre erroné : « \3 » devrait être au singulier.

    *WORD  leur  *WORD
21336
21337
21338
21339
21340
21341
21342
21343
21344





21345
21346
21347
21348
21349
21350
21351
21352
21353
21354

21355
21356
21357
21358
21359
21360
21361
TEST: elle se souvenait de leur {{grande}} {{sot}}
TEST: je me souviens de leur verve {{décalé}}
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.
TEST: {{leur}} gros {{grains}}
TEST: Que ferons-nous de {{leur}} gros {{grains}}


__gn_le_la_leur_3m__
    [le|la|leur|l’]  *WORD  *WORD  *WORD





        <<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D") and morph(\2, ":[NA].*:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:p", "*") and \4.islower()
        -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.

TEST: La petite fille {{devenues}} infirmière.
TEST: leur grande passion {{délirantes}} pour le cosplay.
TEST: le jour venu prises par surprise elles durent s’enfuir.
TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions
TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes.
TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien.
TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages.



__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.







|
|
>
>
>
>
>
|


<
|
|
<
<
<
<
>







21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396

21397
21398




21399
21400
21401
21402
21403
21404
21405
21406
TEST: elle se souvenait de leur {{grande}} {{sot}}
TEST: je me souviens de leur verve {{décalé}}
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.
TEST: {{leur}} gros {{grains}}
TEST: Que ferons-nous de {{leur}} gros {{grains}}


__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", "*")
        -4>> =suggMasSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.
        <<- /gn/ __else__ and morph(\2, ":[NA].*:f:[si]", "*") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:m", "*")
        -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
        <<- /gn/ __else__ and morph(\2, ":[NA].*:[si]", "*") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:p", "*")
        -4>> =suggSing(\4)                                                                  && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.


TEST: leur grande passion {{délirants}} pour le cosplay.                            ->> délirante
TEST: leur noir projet {{ignorées}} du peuple                                       ->> ignoré




TEST: leur psychologue altruiste {{détestés}} par ses voisins                       ->> détesté


__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.
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
TEST: Être président d’une association demande beaucoup de temps.
TEST: Venir vaincue ne lui épargna aucune indignité.
TEST: Mais migrer un site et ses contenus prend du temps…
TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité.


__conj_le_la_leur_nom__
    [le|la|l’|leur]  *WORD  @:V¬:(?:3s|P|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tag_before(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not checkAgreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A"))
        -3>> =suggVerb(\3, ":3s", suggSing)                                                         && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.







|







29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
TEST: Être président d’une association demande beaucoup de temps.
TEST: Venir vaincue ne lui épargna aucune indignité.
TEST: Mais migrer un site et ses contenus prend du temps…
TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité.


__conj_le_la_leur_nom__
    [le|la|l’|leur]  *WORD  @:V¬:(?:3s|P|Q|Y|3p!|G|M)
        <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
            and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
                        or tag_before(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not checkAgreement(\2, \3)
            and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
        <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A"))
        -3>> =suggVerb(\3, ":3s", suggSing)                                                         && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
        <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s")                                               && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.
31001
31002
31003
31004
31005
31006
31007

31008
31009
31010
31011
31012
31013
31014
TEST: les plus grièvement atteints ne vont pas se signaler
TEST: les plus grands font aussi des erreurs
TEST: à pied ou à cheval
TEST: tout ça pour prouver qu’il va bien
TEST: c’étaient bien les Français qui avaient procédé ainsi
TEST: les hommes haut placés
TEST: Votre père est on ne peut plus aimable




!!! Tests historiques                                                                             !!

## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.







>







31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
TEST: les plus grièvement atteints ne vont pas se signaler
TEST: les plus grands font aussi des erreurs
TEST: à pied ou à cheval
TEST: tout ça pour prouver qu’il va bien
TEST: c’étaient bien les Français qui avaient procédé ainsi
TEST: les hommes haut placés
TEST: Votre père est on ne peut plus aimable
TEST: Qu’ont fait les sénateurs ?



!!! Tests historiques                                                                             !!

## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.