14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
|
<<- /gn/ space_after(\1, 1, 1) and not value(<1, "|/|") and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not morph(<1, ":N")
and ( (morph(\2, ":[NA].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|"))
or \1 in aREGULARPLURAL )
-2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel.
*NUM *WORD *WORD
<<- /gn/ not value(\2, "|fois|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|")
and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">(?:seule|maximum|minimum)/") >>>
<<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
and not apposition(\2, \3)
-3>> =switchGender(\3, True) # Accord de genre erroné entre « \2 » et « \3 ».
<<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True) # Accord de genre erroné avec « \3 ».
<<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
-3>> =suggPlur(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
TEST: il a adopté 1 {{chiens}}.
TEST: 22 {{heure}}
TEST: 3 {{heure}}
TEST: Environ 10 essais {{nucléaire}} ont été réalisés
TEST: 20 {{grandes}} {{animaux}}
TEST: 00 heure, 01 heure
TEST: les élèves sont inquiets après une année 2018 compliquée et riche en réformes.
TEST: ils gagneront 300 € maximum.
TEST: il revint en 2005 complètement dévoré par la culpabilité.
TEST: un jeu de 1980 absolument démodé.
TEST: elle fut le 13 janvier décapitée
TEST: elles furent le 18 janvier décorées
TEST: en quantité 2 fois moindre
## trouver ça/ceci/cela + adj
__gn_trouver_ça_adj__
>trouver [ça|cela|ceci] @:A.*:(?:f|m:p)¬:(?:G|3[sp]|M)
<<- /gn/ -3>> =suggMasSing(\3) # Trouver \2 + [adjectif] : l’adjectif s’accorde avec “\2” (au masculin singulier).
|
|
|
>
|
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
|
<<- /gn/ space_after(\1, 1, 1) and not value(<1, "|/|") and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not morph(<1, ":N")
and ( (morph(\2, ":[NA].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|"))
or \1 in aREGULARPLURAL )
-2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel.
*NUM *WORD *WORD
<<- /gn/ not value(\2, "|fois|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|")
and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">(?:seule|maximum|minimum)/") >>>
<<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*")))
and not apposition(\2, \3)
-3>> =switchGender(\3, True) # Accord de genre erroné entre « \2 » et « \3 ».
<<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2, True) # Accord de genre erroné avec « \3 ».
<<- /gn/ morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
-3>> =suggPlur(\3) # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
TEST: il a adopté 1 {{chiens}}.
TEST: 22 {{heure}}
TEST: 3 {{heure}}
TEST: Environ 10 essais {{nucléaire}} ont été réalisés
TEST: 20 {{grandes}} {{animaux}}
TEST: 00 heure, 01 heure
TEST: les élèves sont inquiets après une année 2018 compliquée et riche en réformes.
TEST: ils gagneront 300 € maximum.
TEST: il revint en 2005 complètement dévoré par la culpabilité.
TEST: un jeu de 1980 absolument démodé.
TEST: elle fut le 13 janvier décapitée
TEST: elles furent le 18 janvier décorées
TEST: en quantité 2 fois moindre
TEST: 1 La Mort
## trouver ça/ceci/cela + adj
__gn_trouver_ça_adj__
>trouver [ça|cela|ceci] @:A.*:(?:f|m:p)¬:(?:G|3[sp]|M)
<<- /gn/ -3>> =suggMasSing(\3) # Trouver \2 + [adjectif] : l’adjectif s’accorde avec “\2” (au masculin singulier).
|
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
|
#### NOMS PROPRES
# 3sg
__conj_nom_propre__
~^[A-ZÉÈ] @:[123][sp]¬:(?:G|3s|3p!|P|M|A.*:[si]|N.*:m:s)
<<- /conj/ not before("\\b[dD]e l’ *$") and morph(\1, ":M")
and not morph(<1, ":[VRD]|>(?:ni|et|ou)/") and not before("([A-ZÉÈ][\\w-]+), +([A-ZÉÈ][\\w-]+), +$")
and not ( morph(\2, ":3p") and before("\\w") )
-2>> =suggVerb(\2, ":3s") # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
TEST: Marc {{arrives}} demain.
TEST: Paul ne {{viens}} pas demain.
TEST: Marc Aurèle {{étaient}} l’empereur des Romains. (Pas de trait d’union sur Marc Aurèle.)
TEST: Arthur D. parvient à…
|
|
|
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
|
#### NOMS PROPRES
# 3sg
__conj_nom_propre__
~^[A-ZÉÈ] @:[123][sp]¬:(?:G|3s|3p!|P|M|A.*:[si]|N.*:m:s)
<<- /conj/ not before("\\b[dD]e l’ *$") and morph(\1, ":M")
and not morph(<1, ":[VRDM]|>(?:ni|et|ou)/") and not before("([A-ZÉÈ][\\w-]+), +([A-ZÉÈ][\\w-]+), +$")
and not ( morph(\2, ":3p") and before("\\w") )
-2>> =suggVerb(\2, ":3s") # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier.
TEST: Marc {{arrives}} demain.
TEST: Paul ne {{viens}} pas demain.
TEST: Marc Aurèle {{étaient}} l’empereur des Romains. (Pas de trait d’union sur Marc Aurèle.)
TEST: Arthur D. parvient à…
|
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
|
TEST: Quel est le problème ? Je ne fais que ramener Paul à la raison.
TEST: La voir se fêler ainsi lui noua la gorge.
TEST: Quoi de neuf, mec ?
TEST: T’as enfin trouvé des gens avec qui t’entendre ?
TEST: ça fait du bien de se l’entendre dire
TEST: Laisse tomber, mec ! Pour qui tu te prends ?
TEST: il y avait souvent foule
!!! Tests historiques !!
## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.
|
>
|
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
|
TEST: Quel est le problème ? Je ne fais que ramener Paul à la raison.
TEST: La voir se fêler ainsi lui noua la gorge.
TEST: Quoi de neuf, mec ?
TEST: T’as enfin trouvé des gens avec qui t’entendre ?
TEST: ça fait du bien de se l’entendre dire
TEST: Laisse tomber, mec ! Pour qui tu te prends ?
TEST: il y avait souvent foule
TEST: 03/07/2019 SANTÉ
!!! Tests historiques !!
## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.
|