Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -3792,10 +3792,82 @@ TEST: il est normal de ne presque pas payer des gens qui effectuent un travail TEST: j’ai l’impression de ne même pas savoir ce qu’est un « juif français ». TEST: C’que j’comprends, c’est qu’il y a des limites à ce qu’on peut supporter. TEST: la tentation pour certains médias de ne tout simplement pas rémunérer notre travail si celui-ci n’est finalement pas publié. + + +## Incohérences avec formes verbales 1sg et 2sg sans sujet +__[i](p_notre_père_qui_es_au_cieux)__ notre père (qui est? aux cieux) @@11 <<- ~1>> * + +__[i]/conj(conj_xxxai_sans_sujet)!3__ + \w*ai(?! je) + <<- ( morph(\0, ":1s") or ( before("> +$") and morph(\0, ":1s", False) ) ) and not (\0[0:1].isupper() and before0(r"\w")) + and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) )") + ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. +__[i]/conj(conj_xxxes_sans_sujet)!3__ + \w*es(?! tu) + <<- morphex(\0, ":2s", ":(?:E|G|W|M|J|[13][sp]|2p)") and not \0[0:1].isupper() and not before("^ *$") + and ( not morph(\0, ":[NAQ]", False) or before("> +$") ) + and not before(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )") + ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. +__[i]/conj(conj_xxxas_sans_sujet)!3__ + \w+as(?! tu) + <<- morphex(\0, ":2s", ":(?:G|W|M|J|[13][sp]|2p)") and not (\0[0:1].isupper() and before0(r"\w")) + and ( not morph(\0, ":[NAQ]", False) or before("> +$") ) + and not before(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )") + ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. +__[i]/conj(conj_xxxxs_sans_sujet)!3__ + \w+[iudnrtpcï]s(?! (?:tu|je)) + <<- morphex(\0, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") and not (\0[0:1].isupper() and before0(r"\w")) + and ( not morph(\0, ":[NAQ]", False) or before("> +$") or ( re.search("(?i)^étais$", \0) and not morph(word(-1), ":[DA].*:p", False, True) ) ) + and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))") + ->> =suggVerb(@, ":3s") # Incohérence. Le sujet de cette forme verbale est introuvable. +__[i]/conj(conj_peux_veux_sans_sujet)!3__ + [pv]eux(?! (?:tu|je)) + <<- not (\0[0:1].isupper() and before0(r"\w")) and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))") + ->> =suggVerb(@, ":3s") # Incohérence. Le sujet de cette forme verbale est introuvable. +__[i]/conj(conj_équivaux_prévaux_sans_sujet)!3__ + (?:équi|pré|)vaux(?! (?:tu|je)) + <<- not (\0[0:1].isupper() and before0(r"\w")) + and not (\0 == "vaux" and morph(word(-1), ":(?:R|D.*:p)", False, False)) + and not before(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))") + ->> =suggVerb(@, ":3s") # Incohérence. Le sujet de cette forme verbale est introuvable. + +TEST: Caroline, quand l’heure viendra, {{décideras}} de la conduite à tenir. +TEST: ceux-là, dans tous les cas de figure et dans tous les coups ratés, {{comprenais}} mal pourquoi on leur en voulait. +TEST: Lui, quand il y pensait, en {{arrivai}} à chaque fois à la même conclusion. +TEST: Elle, ici et dans tous les cas de figure, {{veux}} toujours en faire plus. +TEST: Le total de cette opération, contrairement à ce qu’on pense, {{équivaux}} à au moins trois d’entre eux. +TEST: {{j'}}ai signalé que {{j'}}essayais de regrouper les paragraphes. (Tests avec apostrophe droite.) +TEST: je me questionne, {{exiges}} des réponses mais n’en obtiens pas… +TEST: dans tous les cas de figure imaginés par cette bande de nuls, il n’y en a pas un qui les sauvera. +TEST: ces gens qui vont par monts et par vaux. + + +## Incohérences avec formes verbales 1pl et 2pl sans sujet +__[i]/conj(conj_xxxons_sans_sujet)!3__ + \w+ons(?! nous) + <<- morphex(\0, ":V.*:1p", ":[EGMNAJ]") and not (\0[0:1].isupper() and before(r"\w")) + and not before0(r"\b(?:[nN]ous(?:-mêmes?|)|[eE]t moi(?:-même|)|[nN]i (?:moi|nous)),? ") + ->> =suggVerb(@, ":3p") # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du pluriel. Sujet (“nous” ou équivalent) introuvable. +__[i]/conj(conj_xxxez_sans_sujet)!3__ + \w+ez(?! vous) + <<- morphex(\0, ":V.*:2p", ":[EGMNAJ]") and not (\0[0:1].isupper() and before(r"\w")) + and not before0(r"\b(?:[vV]ous(?:-mêmes?|)|[eE]t toi(?:-même|)|[tT]oi(?:-même|) et|[nN]i (?:vous|toi)),? ") + ->> _ # Incohérence. Ceci est un verbe à la 2ᵉ personne du pluriel. Sujet (“vous” ou équivalent) introuvable. + +TEST: les hommes et les femmes, qui sans un bruit, sans une parole amère, {{continuerons}} leur tâche n’en seront pas plus récompensés. +TEST: il était dit que cette femme et son frère {{promènerez}} leur chien à cette heure de la journée. +TEST: cet homme et cette femme {{pouvez}} y parvenir avec de la persévérance +TEST: Comme on lui disait que vous-même aviez déjà consulté le notaire +TEST: ce sont des terroristes et ça ne nous arrivera pas à nous, qui n’avons rien à nous reprocher +TEST: mes supérieurs et moi-même avons pris la décision de ne pas vendre +TEST: Ni lui ni moi n’avions mangé +TEST: Mon épouse et moi-même avons toujours dit + + #### SGPL ## plus que prévu / mois que prévu __[i]/sgpl(sgpl_que_prévu1)__ (plus|moins|autant) +que (prévu(?:es?|s)) @@0,$ <<- -2>> prévu # Invariable. Implicitement, \1 que ce qui était prévu. @@ -4345,11 +4417,10 @@ __[i](p_mise)__ mis(?:es?|) (à (?:jour|niveau|plat|l’écart)|au p(?:oint|as)|en (?:avant|bouche|demeure|garde|œuvre|scène|terre)) @@$ <<- ~1>> * __[i](p_mode_de)__ modes? (de (?:paiement|scrutin|vie)) @@$ <<- ~1>> * __[i](p_mot_de_passe)__ mots? (de passe) @@$ <<- ~1>> * __[i](p_moule_à_qqch)__ moules? (à (?:gaufres?|gâteaux?|brioche|manqué|savarin|charlotte)) @@$ <<- ~1>> * __[i](p_noix_de)__ noix (de (?:cajou|p[ée]can|coco|lavage|muscade|veau|macadamia)) @@$ <<- ~1>> * -__[i](p_notre_père_qui_es_au_cieux)__ notre père (qui est? aux cieux) @@11 <<- ~1>> * __[i](p_numéro)__ numéro (un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf|)|onze|douze|treize|quatorze|quinze|seize|vingt|trente|quarante|cinquante|soixante(?:-dix|)|quatre-vingt(?:-dix|)|cent|mille|\d+) @@$ <<- before(r"\b[lL]a +$") =>> define(\0, [">numéro :N:f:s"]) <<- ~1>> * __[i](p_oiseau_de)__ oiseaux? (de (?:malheur|nuit|proie|mauvais augure)) @@$ <<- ~1>> * @@ -9848,11 +9919,11 @@ __[i]/conj(conj_mieux_vaut)__ mieux (va(?:ux|lais|udrais)) @@$ <<- -1>> =\1[:-1]+"t" # Conjugaison erronée. Accord avec “mieux” : utilisez la 3ᵉ personne du singulier. -TEST: Mieux {{vaux}} ne rien dire. +TEST: avec toi qui ne sais rien de rien, mieux {{vaux}} ne rien dire. TEST: Mais là-bas mieux {{valais}} ouvrir sa gueule que se taire. __[i]/conj(conj_personne_aucun_rien_nul)__ (personne|aucun|rien|nul(?:le|)) +(?:qui +|)> +({w_1}) @@0,$ @@ -9949,51 +10020,10 @@ TEST: la chatte {{finis}} TEST: le chat {{finis}} TEST: une crise {{violent}} TEST: un cri {{violes}} - -## Incohérences avec formes verbales 1sg et 2sg -__[i]/conj(conj_xxxai_sans_sujet)__ - \w*ai(?! je) - <<- ( morph(\0, ":1s") or ( before("> +$") and morph(\0, ":1s", False) ) ) and not (\0[0:1].isupper() and before0(r"\w")) - and not before0(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) )") - ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. -__[i]/conj(conj_xxxes_sans_sujet)__ - \w*es(?! tu) - <<- morphex(\0, ":2s", ":(?:E|G|W|M|J|[13][sp]|2p)") and not \0[0:1].isupper() and not before("^ *$") - and ( not morph(\0, ":[NAQ]", False) or before("> +$") ) - and not before0(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )") - ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. -__[i]/conj(conj_xxxas_sans_sujet)__ - \w+as(?! tu) - <<- morphex(\0, ":2s", ":(?:G|W|M|J|[13][sp]|2p)") and not (\0[0:1].isupper() and before0(r"\w")) - and ( not morph(\0, ":[NAQ]", False) or before("> +$") ) - and not before0(r"(?i)\bt(?:u |[’']|oi,? qui |oi seul )") - ->> =suggVerb(@, ":3s") # Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. -__[i]/conj(conj_xxxxs_sans_sujet)__ - \w+[iudnrtpcï]s(?! (?:tu|je)) - <<- morphex(\0, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") and not (\0[0:1].isupper() and before0(r"\w")) - and ( not morph(\0, ":[NAQ]", False) or before("> +$") or ( re.search("(?i)^étais$", \0) and not morph(word(-1), ":[DA].*:p", False, True) ) ) - and not before0(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))") - ->> =suggVerb(@, ":3s") # Incohérence. Le sujet de cette forme verbale est introuvable. -__[i]/conj(conj_peux_veux_sans_sujet)__ - [pv]eux(?! (?:tu|je)) - <<- not (\0[0:1].isupper() and before0(r"\w")) and not before0(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))") - ->> =suggVerb(@, ":3s") # Incohérence. Le sujet de cette forme verbale est introuvable. -__[i]/conj(conj_équivaux_prévaux_sans_sujet)__ - (?:équi|pré|)vaux(?! (?:tu|je)) - <<- not (\0[0:1].isupper() and before0(r"\w")) and not before0(r"(?i)\b(?:j(?:e |[’'])|moi(?:,? qui| seul) |t(?:u |[’']|oi,? qui |oi seul ))") - ->> =suggVerb(@, ":3s") # Incohérence. Le sujet de cette forme verbale est introuvable. - -TEST: Caroline, quand l’heure viendra, {{décideras}} de la conduite à tenir. -TEST: ceux-là, dans tous les cas de figure et dans tous les coups ratés, {{comprenais}} mal pourquoi on leur en voulait. -TEST: Lui, quand il y pensait, en {{arrivai}} à chaque fois à la même conclusion. -TEST: Elle, ici et dans tous les cas de figure, {{veux}} toujours en faire plus. -TEST: Le total de cette opération, contrairement à ce qu’on pense, {{équivaux}} à au moins trois d’entre eux. -TEST: {{j'}}ai signalé que {{j'}}essayais de regrouper les paragraphes. (Tests avec apostrophe droite.) - ## 1pl __[i]/conj(conj_nous_pronom)__ ^ *nous +> +({w1}) @@$ <<- morphex(\1, ":V", ":(?:1p|3[sp])") and not after("^ +(?:je|tu|ils?|elles?|on|[vn]ous)") @@ -10026,31 +10056,10 @@ TEST: vous {{donné}} du bonheur TEST: vous lui {{donner}} du temps TEST: vous qui {{avançait}} dans la nuit comme des ombres furtives -## Incohérences avec formes verbales 1pl et 2pl -__[i]/conj(conj_xxxons_sans_sujet)__ - \w+ons(?! nous) - <<- morphex(\0, ":V.*:1p", ":[EGMNAJ]") and not (\0[0:1].isupper() and before(r"\w")) - and not before0(r"\b(?:[nN]ous(?:-mêmes?|)|[eE]t moi(?:-même|)|[nN]i (?:moi|nous)),? ") - ->> =suggVerb(@, ":3p") # Incohérence. Ceci est un verbe à la 1ʳᵉ personne du pluriel. Sujet (“nous” ou équivalent) introuvable. -__[i]/conj(conj_xxxez_sans_sujet)__ - \w+ez(?! vous) - <<- morphex(\0, ":V.*:2p", ":[EGMNAJ]") and not (\0[0:1].isupper() and before(r"\w")) - and not before0(r"\b(?:[vV]ous(?:-mêmes?|)|[eE]t toi(?:-même|)|[tT]oi(?:-même|) et|[nN]i (?:vous|toi)),? ") - ->> _ # Incohérence. Ceci est un verbe à la 2ᵉ personne du pluriel. Sujet (“vous” ou équivalent) introuvable. - -TEST: les hommes et les femmes, qui sans un bruit, sans une parole amère, {{continuerons}} leur tâche n’en seront pas plus récompensés. -TEST: il était dit que cette femme et son frère {{promènerez}} leur chien à cette heure de la journée. -TEST: cet homme et cette femme {{pouvez}} y parvenir avec de la persévérance -TEST: Comme on lui disait que vous-même aviez déjà consulté le notaire -TEST: ce sont des terroristes et ça ne nous arrivera pas à nous, qui n’avons rien à nous reprocher -TEST: mes supérieurs et moi-même avons pris la décision de ne pas vendre -TEST: Ni lui ni moi n’avions mangé -TEST: Mon épouse et moi-même avons toujours dit - ## 3pl __[i]/conj(conj_ils)__ (ils) +({w_2}) @@0,$ <<- morphex(\2, ":V", ":(?:3p|P|Q|G)") and not (morph(\2, ":[PQ]", False) and morph(word(-1), ":V0.*:3p", False, False))