Index: darg.py ================================================================== --- darg.py +++ darg.py @@ -219,19 +219,22 @@ return self.__str__() == other.__str__() def getNodeAsDict (self): "returns the node as a dictionary structure" dNode = {} - dReValue = {} - dReMorph = {} - dRule = {} + dReValue = {} # regex for token values + dReMorph = {} # regex for morph + dMorph = {} # simple search in morph dLemma = {} dMeta = {} dTag = {} + dRule = {} for sArc, oNode in self.dArcs.items(): if sArc.startswith("@") and len(sArc) > 1: dReMorph[sArc[1:]] = oNode.__hash__() + elif sArc.startswith("$") and len(sArc) > 1: + dMorph[sArc[1:]] = oNode.__hash__() elif sArc.startswith("~") and len(sArc) > 1: dReValue[sArc[1:]] = oNode.__hash__() elif sArc.startswith(">") and len(sArc) > 1: dLemma[sArc[1:]] = oNode.__hash__() elif sArc.startswith("*") and len(sArc) > 1: @@ -244,10 +247,12 @@ dNode[sArc] = oNode.__hash__() if dReValue: dNode[""] = dReValue if dReMorph: dNode[""] = dReMorph + if dMorph: + dNode[""] = dMorph if dLemma: dNode[""] = dLemma if dTag: dNode[""] = dTag if dMeta: Index: gc_core/js/lang_core/gc_engine.js ================================================================== --- gc_core/js/lang_core/gc_engine.js +++ gc_core/js/lang_core/gc_engine.js @@ -480,10 +480,54 @@ } yield { "iToken1": iToken1, "iNode": oNode[""][sLemma] }; bTokenFound = true; } } + } + // morph arcs + if (oNode.hasOwnProperty("")) { + let lMorph = (oToken.hasOwnProperty("lMorph")) ? oToken["lMorph"] : _oSpellChecker.getMorph(oToken["sValue"]); + if (lMorph.length > 0) { + for (let sSearch in oNode[""]) { + if (!sSearch.includes("¬")) { + // no anti-pattern + if (lMorph.some(sMorph => (sMorph.includes(sSearch)))) { + if (bDebug) { + console.log(" MATCH: $" + sSearch); + } + yield { "iToken1": iToken1, "iNode": oNode[""][sSearch] }; + bTokenFound = true; + } + } else { + // there is an anti-pattern + let [sPattern, sNegPattern] = sSearch.split("¬", 2); + if (sNegPattern == "*") { + // all morphologies must match with + if (sPattern) { + if (lMorph.every(sMorph => (sMorph.includes(sPattern)))) { + if (bDebug) { + console.log(" MATCH: $" + sSearch); + } + yield { "iToken1": iToken1, "iNode": oNode[""][sSearch] }; + bTokenFound = true; + } + } + } else { + if (sNegPattern && lMorph.some(sMorph => (sMorph.includes(sNegPattern)))) { + continue; + } + if (!sPattern || lMorph.some(sMorph => (sMorph.includes(sPattern)))) { + if (bDebug) { + console.log(" MATCH: $" + sSearch); + } + yield { "iToken1": iToken1, "iNode": oNode[""][sSearch] }; + bTokenFound = true; + } + } + } + } + } } // regex morph arcs if (oNode.hasOwnProperty("")) { let lMorph = (oToken.hasOwnProperty("lMorph")) ? oToken["lMorph"] : _oSpellChecker.getMorph(oToken["sValue"]); if (lMorph.length > 0) { Index: gc_core/py/lang_core/gc_engine.py ================================================================== --- gc_core/py/lang_core/gc_engine.py +++ gc_core/py/lang_core/gc_engine.py @@ -455,10 +455,41 @@ if sLemma in dNode[""]: if bDebug: echo(" MATCH: >" + sLemma) yield { "iToken1": iToken1, "iNode": dNode[""][sLemma] } bTokenFound = True + # morph arcs + if "" in dNode: + lMorph = dToken.get("lMorph", _oSpellChecker.getMorph(dToken["sValue"])) + if lMorph: + for sSearch in dNode[""]: + if "¬" not in sSearch: + # no anti-pattern + if any(sSearch in sMorph for sMorph in lMorph): + if bDebug: + echo(" MATCH: $" + sSearch) + yield { "iToken1": iToken1, "iNode": dNode[""][sSearch] } + bTokenFound = True + else: + # there is an anti-pattern + sPattern, sNegPattern = sSearch.split("¬", 1) + if sNegPattern == "*": + # all morphologies must match with + if sPattern: + if all(sPattern in sMorph for sMorph in lMorph): + if bDebug: + echo(" MATCH: $" + sSearch) + yield { "iToken1": iToken1, "iNode": dNode[""][sSearch] } + bTokenFound = True + else: + if sNegPattern and any(sNegPattern in sMorph for sMorph in lMorph): + continue + if not sPattern or any(sPattern in sMorph for sMorph in lMorph): + if bDebug: + echo(" MATCH: $" + sSearch) + yield { "iToken1": iToken1, "iNode": dNode[""][sSearch] } + bTokenFound = True # regex morph arcs if "" in dNode: lMorph = dToken.get("lMorph", _oSpellChecker.getMorph(dToken["sValue"])) if lMorph: for sRegex in dNode[""]: Index: gc_lang/fr/perf_memo.txt ================================================================== --- gc_lang/fr/perf_memo.txt +++ gc_lang/fr/perf_memo.txt @@ -22,8 +22,8 @@ 0.5.15 2017.01.31 12:06 4.88227 1.18008 0.782217 0.232617 0.247672 0.257628 0.596903 0.32169 0.0603505 0.00695196 0.5.15 2017.02.05 10:10 4.90222 1.18444 0.786696 0.233413 0.25071 0.260214 0.602112 0.325235 0.0609932 0.00706897 0.5.16 2017.05.12 07:41 4.92201 1.19269 0.80639 0.239147 0.257518 0.266523 0.62111 0.33359 0.0634668 0.00757178 0.6.1 2018.02.12 09:58 5.25924 1.2649 0.878442 0.257465 0.280558 0.293903 0.686887 0.391275 0.0672474 0.00824723 0.6.2 2018.02.19 19:06 5.51302 1.29359 0.874157 0.260415 0.271596 0.290641 0.684754 0.376905 0.0815201 0.00919633 (spelling normalization) -1.0b 2018.09.19 16:34 2.53823 0.609186 0.407324 0.121067 0.124931 0.13113 0.300685 0.170306 0.0357451 0.00357943 -1.0 2018.11.23 10:59 2.88577 0.702486 0.485648 0.139897 0.14079 0.148125 0.348751 0.201061 0.0360297 0.0043535 +1.0 2018.11.23 10:59 2.88577 0.702486 0.485648 0.139897 0.14079 0.148125 0.348751 0.201061 0.0360297 0.0043535 (x2, with new GC engine) 1.1 2019.05.16 09:42 1.50743 0.360923 0.261113 0.0749272 0.0763827 0.0771537 0.180504 0.102942 0.0182762 0.0021925 (×2, but new processor: AMD Ryzen 7 2700X) +1.2.1 2019.08.06 20:57 1.42886 0.358425 0.247356 0.0704405 0.0754886 0.0765604 0.177197 0.0988517 0.0188103 0.0020243 Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -1826,20 +1826,20 @@ <<- not morph(<1, ":(?:3p|R)") =>> select(\2, ":Ov") [ne|n’|me|m’|te|t’|se|s’] [le|la|les|leur] <<- =>> select(\2, ":Ov") - le @:N¬* + le $:N¬* + <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D") + + la $:N¬* <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D") - la @:N¬* + les $:N¬* <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D") - les @:N¬* - <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> select(\1, ":D") - - l’ @:N¬* + l’ $:N¬* <<- not value(<1, "|ne|n’|me|m’|te|t’|se|s’|") =>> define(\1, [":D:e:s"]) __da_nous_vous__ [ne|n’] [nous|vous] @@ -1900,14 +1900,14 @@ [le|la|l’|les] [lui|leur|en] @:¬:[OXW] leur en @:¬:[OXW] <<- =>> select(\2, ":(?:[123][sp]|P|Y)") - @:M @:[123]s¬:[QW] + $:M @:[123]s¬:[QW] <<- \2.islower() and morph(<1, ":Cs|") =>> select(\2, ":[123][sp]") - @:M @:(?:[123]s|Oo)|>ne/¬:A + $:M @:(?:[123]s|Oo)|>ne/¬:A <<- =>> =select(\2, ":M") [que|qu’|combien|pourquoi|qui|quand|où] ?[en|y]¿ *WORD <<- =>> exclude(\-1, ":E") @@ -1925,11 +1925,11 @@ __da_prépositions__ dans <<- not morph(<1, ":D.*:p|>[a-z]+ième/") =>> select(\1, ":R") - passé [|,|@:R] + passé [|,|$:R] <<- =>> exclude(\1, ":G") y compris <<- not value(<1, "|n’|j’|tu|t’|m’|s’|") ~>> ␣ <<- __also__ =>> define(\1, [":G:R"]) @@ -1973,11 +1973,11 @@ <<- not value(<1, "|l’|") and not value(\2, "|a|fut|fût|est|") and not morph(\2, ":P") =>> exclude(\2, ":V") [une|le|la|les|des|chaque|quelque|quelques|cet|cette|ces|ma|ta|sa|mes|tes|ses|au|aux|notre|votre|nos|vos|leurs] personne <<- =>> select(\-1, ":N") - de [la|l’] @:¬:Y + de [la|l’] $:¬:Y <<- not value(<1, "|semblant|") =>> exclude(\3, ":V") [/VCint|/VCimp] [le|la|l’|leur|les] <<- =>> select(\2, ":D") @@ -2035,12 +2035,12 @@ [moi|moi-même] [seul|seule] <<- not value(<1, "|de|d’|par|") />> 1s tu - t’ @:2s - t’ [en|y] @:2s + t’ $:2s + t’ [en|y] $:2s [toi|toi-même] ?[seul|seule]¿ ?,¿ qui <<- />> 2s [toi|toi-même] [seul|seule] <<- not value(<1, "|de|d’|par|") />> 2s @@ -2191,11 +2191,11 @@ <<- !-1>> jusqu’ à <<- !2>> - [comme|que|qu’|lorsque|lorsqu’|puisque|puisqu’|quand|pourquoi|qui|quoi] ?[ne|n’]¿ ?[se|s’]¿ (*WORD) ?à¿ [le|la|l’|les] @:Y @:M + [comme|que|qu’|lorsque|lorsqu’|puisque|puisqu’|quand|pourquoi|qui|quoi] ?[ne|n’]¿ ?[se|s’]¿ (*WORD) ?à¿ [le|la|l’|les] $:Y $:M <<- morph(\1, ":V") !-2>> soit pour soit contre <<- !3>> @@ -3655,11 +3655,11 @@ TEST: Laisse ce chiot là où il est ! ### Préfixes __tu_préfixe_ex__ - ex @:N¬* + ex $:N¬* <<- /tu/ not value(\2, "|aequo|nihilo|cathedra|absurdo|abrupto|") ->> ex-\2 # S’il s’agit d’un seul mot, il manque un trait d’union. TEST: Son {{ex ami}} est un vrai cauchemar. TEST: Ton ex donne du fil à retordre. @@ -3667,11 +3667,11 @@ __tu_préfixe_in__ in [dix-huit|douze|seize|folio|octavo|quarto|plano] <<- /tu/ not value(<1, "|drive|plug|sit|") ->> \1-\2 # Il manque un trait d’union. - in @:N:m¬* + in $:N:m¬* <<- /tu/ not value(<1, "|drive|plug|sit|") -1>> un # Confusion possible : pour le déterminant désignant quelque chose, écrivez “un”. TEST: Cet {{in folio}} est incroyable. TEST: c’est {{in}} stage de réinsertion. TEST: Dans ce drive in douze hommes mangent. @@ -3741,11 +3741,11 @@ TEST: Ce {{sans gêne}} mérite une bonne leçon TEST: une {{sous culture}} passée de mode TEST: Sans gêne, il avança parmi nous. - pseudo @:N¬* + pseudo $:N¬* <<- /tu/ ->> pseudo-\2 # Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union. <<- ~1>> * ~^[pP]seudo-\w+ <<- =>> define_from(\1, 7) @@ -4386,11 +4386,11 @@ !!!! Virgules !! __virg_dialogue_après_nom_propre__ - [|,] @:M¬:G [/-je|/-tu|/-on|/-nous|/-vous|/-ils|/-elles|/VCimp] + [|,] $:M¬:G [/-je|/-tu|/-on|/-nous|/-vous|/-ils|/-elles|/VCimp] <<- /virg/ -2>> \2, # Dialogue ? Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique. TEST: {{Maria}} donnez-vous du temps ? TEST: {{Marion}} passe-moi le sel. TEST: {{Paul}} prends-lui la main. @@ -4397,17 +4397,17 @@ TEST: Alexandre tient-il ses généraux ? TEST: Alexandra vient-elle ? __virg_dialogue_avant_nom_propre__ - /-les @:M + /-les $:M <<- /virg/ morph(\1, ":E", "", 0, -4) -1>> \1, # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique. - [/-le|/-la] @:M + [/-le|/-la] $:M <<- /virg/ morph(\1, ":E", "", 0, -3) -1>> \1, # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique. - /-COD-COI @:M + /-COD-COI $:M <<- /virg/ -1>> \1, # Dialogue. Ajoutez une virgule pour mettre en incise la personne à qui s’adresse la réplique. TEST: {{Oublie-les}} Clara. TEST: viens et {{donne-le}} Paul. TEST: {{donne-le-moi}} Camille. @@ -4414,11 +4414,11 @@ TEST: donne-moi Alice. TEST: Tape-toi Patrick. __virg_après_verbe_COD__ - [le|la|l’|les] @:Y @:M + [le|la|l’|les] $:Y $:M <<- /virg/ -2>> \2, # Une virgule est probablement souhaitable. TEST: Tu vas les {{donner}} Rachel. TEST: Il va la {{tuer}} Paul. TEST: Cependant les promesses n’engagent que ceux qui les croient, comme aimait à le dire Jacques Chirac. @@ -5088,13 +5088,13 @@ -2>> =suggSimil(\2, ":(?:1s|Ov)", False) # Incohérence avec “je” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc. j’ ?[en|y]¿ @:¬:(?:V|Ov) [je|j’] [ne|n’|le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur] @:¬:(?:V|Ov) [je|j’] [ne|n’] [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) - [je|j’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:¬:V - [je|j’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:¬:V - [je|j’] ?[ne|n’]¿ [lui|leur] en @:¬:V + [je|j’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:¬:V + [je|j’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:¬:V + [je|j’] ?[ne|n’]¿ [lui|leur] en $:¬:V <<- /conf/ --1>> =suggSimil(\-1, ":(?:1s|Ov)", False) # Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc. TEST: Je ne le {{croix}} pas TEST: Je {{travail}}. ->> travaille TEST: Je vous {{tellement}} reconnaissant. @@ -5123,13 +5123,13 @@ __conf_tu_non_verbe__ tu @:¬:(?:V|Ov) tu [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) tu [ne|n’] [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) - tu ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:¬:V - tu ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:¬:V - tu ?[ne|n’]¿ [lui|leur] en @:¬:V + tu ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:¬:V + tu ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:¬:V + tu ?[ne|n’]¿ [lui|leur] en $:¬:V <<- /conf/ not morph(<1, ":(?:2s|V0|R)") --1>> =suggSimil(\-1, ":(?:2s|Ov)", False) # Incohérence avec “tu” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc. TEST: tu {{croix}} que tu sais quelque chose, mais tu ne sais rien. TEST: tu la {{croix}} idiote ? TEST: Elles sont à tu et à toi. @@ -5142,13 +5142,13 @@ -2>> =suggVerb(\2, ":3s") # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier. <<- /conj/ __also__ and morph(\2, ":3p") -1>> ils # Accord avec “\2”. il [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:V¬:(?:3s|Ov) il [ne|n’] [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:V¬:(?:3s|Ov) - il ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:V¬:3s - il ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:V¬:3s - il ?[ne|n’]¿ [lui|leur|y] en @:V¬:3s + il ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:V¬:3s + il ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:V¬:3s + il ?[ne|n’]¿ [lui|leur|y] en $:V¬:3s <<- /conj/ --1>> =suggVerb(\-1, ":3s") # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du singulier. <<- /conj/ morph(\-1, ":3p") -1>> ils # Accord avec “\-1”. TEST: {{Il}} {{accusent}}. TEST: il {{bus}} du vin. @@ -5170,13 +5170,13 @@ <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|ou|") -2>> =suggSimil(\2, ":(?:3s|Ov)", False) # Incohérence avec “\1” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc. il [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) il [ne|n’] [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) - il ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:¬:V - il ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:¬:V - il ?[ne|n’]¿ [lui|leur] en @:¬:V + il ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:¬:V + il ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:¬:V + il ?[ne|n’]¿ [lui|leur] en $:¬:V <<- /conf/ not morph(<1, ":3s") and not value(<1, "|t’|") and not value(\-1, "|c’|ce|") --1>> =suggSimil(\-1, ":(?:3s|Ov)", False) # Incohérence avec “\1” : “\-1” devrait être un verbe, un pronom objet, un adverbe de négation, etc. TEST: il {{et}} parti. TEST: il nous {{et}} indispensable. @@ -5270,14 +5270,14 @@ __conf_c_s_verbe__ [il|ils|on|ne|n’] c’ <<- /conj/ -2>> s’ # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”. - [|,] [elle|elles|lui|eux] c’ ?en¿ >être ?@:W¿ @:Q + [|,] [elle|elles|lui|eux] c’ ?en¿ >être ?$:W¿ $:Q <<- /conj/ -3>> s’ # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”. - [|,] [elle|elles|lui|eux] c’ ?en¿ @:V¬>être/ + [|,] [elle|elles|lui|eux] c’ ?en¿ $:V¬:V0e <<- /conj/ -3>> s’ # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”. c’ y c’ @:V¬>(?:avoir|être|devoir|devenir|pouvoir|vouloir|savoir)/.*:3[sp] <<- /conj/ -1>> s’ # Confusion. Le pronom personnel objet s’écrit “se”, la graphie élidée “s’”. @@ -5327,13 +5327,13 @@ <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|") -3>> =suggVerb(\3, ":1p") # Conjugaison erronée. Accord avec “nous”. Le verbe devrait être à la 1ʳᵉ personne du pluriel. [|,] nous [ne|n’] [le|la|l’|les|en|y] @:V¬:(?:1p|Ov) [|,] nous ?[ne|n’]¿ [me|m’|nous|vous|lui|leur] @:V¬:(?:1p|Ov) - [|,] nous ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:V¬:1p - [|,] nous ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:V¬:1p - [|,] nous ?[ne|n’]¿ [lui|leur] en @:V¬:1p + [|,] nous ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:V¬:1p + [|,] nous ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:V¬:1p + [|,] nous ?[ne|n’]¿ [lui|leur] en $:V¬:1p <<- /conj/ --1>> =suggVerb(\-1, ":1p") # Conjugaison erronée. Accord avec “nous”. Le verbe devrait être à la 2ᵉ personne du pluriel. TEST: Nous {{arriverez}} demain. TEST: Nous {{travaillez}}. TEST: nous {{donné}} trop de considération @@ -5348,13 +5348,13 @@ <<- /conj/ not value(>1, "|je|tu|il|elle|on|nous|vous|ils|elles|") -3>> =suggVerb(\3, ":2p") # Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel. [|,] vous [ne|n’] [le|la|l’|les|en|y] @:V¬:(?:2p|Ov) [|,] vous ?[ne|n’]¿ [me|m’|nous|vous|lui|leur] @:V¬:(?:2p|Ov) - [|,] vous ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:V¬:2p - [|,] vous ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:V¬:2p - [|,] vous ?[ne|n’]¿ [lui|leur] en @:V¬:2p + [|,] vous ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:V¬:2p + [|,] vous ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:V¬:2p + [|,] vous ?[ne|n’]¿ [lui|leur] en $:V¬:2p <<- /conj/ --1>> =suggVerb(\-1, ":2p") # Conjugaison erronée. Accord avec “vous”. Le verbe devrait être à la 2ᵉ personne du pluriel. TEST: Vous {{arrivais}} trop tard. TEST: vous ne l’{{avait}} pas vu. TEST: je crois, vous m’{{avais}} trompé… @@ -5371,13 +5371,13 @@ -2>> =suggVerb(\2, ":3p") # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel. <<- /conj/ __also__ and morph(\2, ":3s") -1>> il # Accord avec “\2”. ils [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:V¬:(?:3p|Ov) ils ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:V¬:(?:3p|Ov) - ils ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:V¬:3p - ils ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:V¬:3p - ils ?[ne|n’]¿ [lui|leur] en @:V¬:3p + ils ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:V¬:3p + ils ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:V¬:3p + ils ?[ne|n’]¿ [lui|leur] en $:V¬:3p <<- /conj/ --1>> =suggVerb(\-1, ":3p") # Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel. <<- /conj/ morph(\-1, ":3s") -1>> il # Accord avec “\-1”. TEST: {{Ils}} {{vienne}} souvent. TEST: Ils ne m’{{attends}} pas. @@ -5394,13 +5394,13 @@ <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|") -2>> =suggSimil(\2, ":(?:3p|Ov)", False) # Incohérence avec “ils” : “\2” devrait être un verbe, un pronom objet, un adverbe de négation, etc. ils [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) ils ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:¬:(?:V|Ov) - ils ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:¬:V - ils ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:¬:V - ils ?[ne|n’]¿ [lui|leur] en @:¬:V + ils ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:¬:V + ils ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:¬:V + ils ?[ne|n’]¿ [lui|leur] en $:¬:V <<- /conf/ not morph(<1, ":3p") and not value(<1, "|t’|") -3>> =suggSimil(\3, ":(?:3p|Ov)", False) # Incohérence avec “ils” : “\3” devrait être un verbe, un pronom objet, un adverbe de négation, etc. TEST: ils {{son}} du même bois. TEST: Ils {{étai}} partie au {{restaurent}} @@ -6074,11 +6074,11 @@ #### Aussi +adj que soit +sujet __conf_aussi_adj_que_soit__ aussi *WORD [que|qu’] [soi|>être|>soie] [un|une|le|la|l’|les|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines] - aussi *WORD [que|qu’] [soi|>être|>soie] @:M + aussi *WORD [que|qu’] [soi|>être|>soie] $:M <<- /conf/ morph(\2, ":V1.*:Y", ":[AW]") -2>> =suggVerbPpas(\2) # Confusion probable. Dans l’expression “aussi que soit quelque chose ou quelqu’un”, doit être un adjectif. <<- /conf/ \4 == "soie" or \4 == "soies" -4>> soit|soient # Confusion. La soie est une matière filamenteuse produite par les chenilles et utilisée pour le textile. <<- /conj/ morph(\4, ":V", ":3[sp]") -4>> soit|soient # Conjugaison erronée. Ce verbe devrait être à la 3ᵉ personne. TEST: Aussi {{borner}} que soit son père, il l’écoute toujours. @@ -6240,14 +6240,14 @@ TEST: ceux qui à Somewhere se sont si mal illustrés. TEST: en à peine vingt ans __conf_à_a_infinitif__ - a @:Y¬:G - a [ne|n’|me|m’|te|t’|se|s’|en|y|lui|nous|vous] @:Y - a [n’|m’|t’|s’|l’|les|lui|nous|vous|leur] [en|y] @:Y - a [le|la|l’|les|leur] @:Y¬:N + a $:Y¬:G + a [ne|n’|me|m’|te|t’|se|s’|en|y|lui|nous|vous] $:Y + a [n’|m’|t’|s’|l’|les|lui|nous|vous|leur] [en|y] $:Y + a [le|la|l’|les|leur] $:Y¬:N <<- /conf/ not value(<1, "|il|elle|on|n’|m’|t’|") and not before("(?i)\\bqu[e’] |n’(?:en|y) +$") -1>> à # Confusion probable : “a” est la conjugaison du verbe “avoir”. Utilisez la préposition “à”.|http://fr.wiktionary.org/wiki/%C3%A0 TEST: scrupuleux {{a}} n’en toucher qu’une part infime. TEST: Ne pas hésiter {{a}} {{demander}} des conseils. @@ -7129,11 +7129,11 @@ TEST: {{se à qui}} on pense # ces / ses / c’est __conf_ces_ses_c_est__ - [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur] @:D + [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur] $:D [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur] [que|qu’] [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur] [l’|d’] [ses|ces] [à|au-dessus|avec|au|aux|comme|envers|contre|derrière|devant|par|pour|sans|sur] {pronom_obj} [ses|ces] @:D¬:[WA] [ses|ces] [que|qu’] @@ -7685,18 +7685,18 @@ __conf_évidemment_évidement__ [/VCint|/VCimp] ?[pas|plus|jamais|guère]¿ évidement [pas|plus] évidement <<- /conf/ --1>> évidemment # Confusion probable : l’évidement est l’action de vider quelque chose. L’adverbe s’écrit “évidemment”.|https://fr.wiktionary.org/wiki/évidemment - [par|pour|sans] évidement [@:Y|ne|n’|me|m’|te|t’|se|s’] + [par|pour|sans] évidement [$:Y|ne|n’|me|m’|te|t’|se|s’] <<- /conf/ -2>> évidemment # Confusion probable : l’évidement est l’action de vider quelque chose. L’adverbe s’écrit “évidemment”.|https://fr.wiktionary.org/wiki/évidemment évidement <<- /conf/ morph(<1, ":V", ":A") ->> évidemment # Confusion probable : l’évidement est l’action de vider quelque chose. L’adverbe s’écrit “évidemment”.|https://fr.wiktionary.org/wiki/évidemment [un|l’|cet] évidemment [|,] - [un|l’|cet] évidemment @:¬:A + [un|l’|cet] évidemment $:¬:A <<- /conf/ -2>> évidement # Confusion probable : “évidemment” est un adverbe. L’action de “vider” s’écrit “évidement”.|https://fr.wiktionary.org/wiki/évidement TEST: Donne-moi {{évidement}} ça. TEST: Elle sera {{évidement}} déçue de cette minable prestation de sa part. TEST: pour {{évidement}} réussir @@ -7870,18 +7870,18 @@ __conf_forcément_forcement__ [/VCint|/VCimp] ?[pas|plus|jamais|guère]¿ forcement [pas|plus] forcement <<- /conf/ --1>> forcément # Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment - [par|pour|sans] forcement [@:Y|ne|n’|me|m’|te|t’|se|s’] + [par|pour|sans] forcement [$:Y|ne|n’|me|m’|te|t’|se|s’] <<- /conf/ -2>> forcément # Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment forcement <<- /conf/ morph(<1, ":V", ":A") ->> forcément # Confusion probable : le forcement est l’action de forcer quelque chose. L’adverbe s’écrit “forcément”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment [un|le|ce|au] forcément [|,] - [un|le|ce|au] forcément @:¬:A + [un|le|ce|au] forcément $:¬:A <<- /conf/ -2>> forcement # Confusion probable : “forcément” est un adverbe. L’action de “forcer” s’écrit “forcement”.|https://fr.wiktionary.org/wiki/forc%C3%A9ment TEST: Viendra-t-il {{forcement}} demain. TEST: sans {{forcement}} prendre la vie du bon côté TEST: Elle sera {{forcement}} déçue de cette minable prestation de sa part. @@ -8344,17 +8344,17 @@ TEST: Je voulais qu’on soit ensemble. TEST: qui on blâme, ce soir ? __conf_on_ont__ - [|,|@:Cs] ?l’¿ (ont) [ne|n’|me|m’|te|se|s’] - [|,|@:Cs] ?l’¿ (ont) [lui|nous|vous] @:[123][sp]¬:G - [|,|@:Cs] ?l’¿ (ont) [leur|le|la|l’] @:[123][sp]¬:(?:G|[NA].*:[si]) - [|,|@:Cs] ?l’¿ (ont) @:[123][sp]¬:[GQ]|>(?:envie|peine|affaire|hâte|force|recours|somme)/ + [|,|$:Cs] ?l’¿ (ont) [ne|n’|me|m’|te|se|s’] + [|,|$:Cs] ?l’¿ (ont) [lui|nous|vous] @:[123][sp]¬:G + [|,|$:Cs] ?l’¿ (ont) [leur|le|la|l’] @:[123][sp]¬:(?:G|[NA].*:[si]) + [|,|$:Cs] ?l’¿ (ont) @:[123][sp]¬:[GQ]|>(?:envie|peine|affaire|hâte|force|recours|somme)/ <<- /conf/ -1>> on # Confusion probable : “ont” est une conjugaison du verbe avoir. - [|,|@:Cs] ?l’¿ ont t’ + [|,|$:Cs] ?l’¿ ont t’ <<- /conf/ not value(>1, "|il|ils|elle|elles|") --2>> on # Confusion probable : “ont” est une conjugaison du verbe avoir. ~-ont$ <<- /conf/ ->> =\1[:-1] # Incohérence : “ont” est une forme conjuguée du verbe “avoir” (par exemple: “ils ont”). Pour le pronom personnel, écrivez “on”. @@ -8395,11 +8395,11 @@ par ou d’ ou <<- /conf/ --1>> où # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”. ou et [comment|que|qui|quand|pourquoi|quel|quels|quelle|quelles] - ou et @:R + ou et $:R <<- /conf/ -1>> où # Confusion. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”. vers ou <<- /conf/ not morph(<1, ":D") -2>> où # Confusion probable. La conjonction “ou” signale une alternative. Pour identifier un lieu ou un temps, écrivez “où”. @@ -8483,11 +8483,11 @@ TEST: Elle travaillait par à-coups, après de longues périodes de repos. # par-dessus / pardessus __conf_par_dessus__ - pardessus [bord|@:D] + pardessus [bord|$:D] <<- /conf/ not morph(<1, ":D.*:[me]|>(?:grande|petite)/") -1>> par-dessus # Confusion probable. Un pardessus est un vêtement. Pour la préposition, écrivez “par-dessus”. TEST: {{Pardessus}} les montagnes. TEST: Il passa {{pardessus}} les collines. @@ -8715,14 +8715,14 @@ # prêt / près / pré __conf_prêt_près_pré__ près à [ne|n’|me|m’|te|t’|se|s’] - près à ?[le|la|l’|les|en|nous|vous|lui|leur|y|tout]¿ @:Y - près à [nous|vous] [le|la|l’|les|en|y] @:Y - près à [le|la|l’|les] [lui|leur|en|y] @:Y - près à [lui|leur|y] en @:Y + près à ?[le|la|l’|les|en|nous|vous|lui|leur|y|tout]¿ $:Y + près à [nous|vous] [le|la|l’|les|en|y] $:Y + près à [le|la|l’|les] [lui|leur|en|y] $:Y + près à [lui|leur|y] en $:Y <<- /conf/ not value(<1, "|peu|de|") and not before("(?i)\\bau plus $") -1>> prêt|prêts # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose. TEST: Il est {{près}} à les aider ->> prêt|prêts TEST: Il a obtenu un prêt de Patrick @@ -8736,17 +8736,17 @@ [très|trop] [>prêt|>pré] <<- /conf/ -2>> près # Confusion probable. Être prêt(e) à faire quelque chose. Être près de quelque chose. Le pré est un champ d’herbes. >prêt [de|d’] [ne|n’|me|m’|te|t’|se|s’] - >prêt [de|d’] ?[le|la|l’|les|en|nous|vous|lui|leur|y|tout]¿ @:Y - >prêt [de|d’] [nous|vous] [le|la|l’|les|en|y] @:Y - >prêt [de|d’] [le|la|l’|les] [lui|leur|en|y] @:Y - >prêt [de|d’] [lui|leur|y] en @:Y + >prêt [de|d’] ?[le|la|l’|les|en|nous|vous|lui|leur|y|tout]¿ $:Y + >prêt [de|d’] [nous|vous] [le|la|l’|les|en|y] $:Y + >prêt [de|d’] [le|la|l’|les] [lui|leur|en|y] $:Y + >prêt [de|d’] [lui|leur|y] en $:Y <<- /conf/ -1>> près # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose. - >prêt [de|d’] [toi|vous|lui|elle|eux|elles|@:M] + >prêt [de|d’] [toi|vous|lui|elle|eux|elles|$:M] <<- /conf/ not morph(<1, ":D") and not before("(?i)\\b(obten|obt[iî])") -1>> près # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose. si [>prêt|>pré] [du|de|d’|des] <<- /conf/ -2>> près # Confusion probable. Être près de (faire) quelque chose. Prêt à faire quelque chose. @@ -8916,11 +8916,11 @@ # quel que soit __conf_quel_que_soit__ >quelque [soi|sois|soit|soient] - >quelque >soie @:D + >quelque >soie $:D <<- /conf/ -1:2>> quel que soit|quelle que soit|quels que soient|quelles que soient # Confusion : “quelque” est un déterminant.|https://fr.wiktionary.org/wiki/quel_que_soit TEST: {{quelques soient}} les avantages d’un correcteur… @@ -9095,11 +9095,11 @@ # repère / repaire __conf_repaire_repère__ >repère [dangereux|>sécurisée] >repère [de|du|d’|des] [>assassin|>bandit|>brigand|>cambrioleuse|>corsaire|>criminelle|>dragon|>escroc|>fanatique|>filou|>flibustière|>flibuste|>gangster|>lionne|>louve|>mafiosi|>mafioso|>malfaitrice|>malfrat|>maraudeuse|>monstre|>murène|ours|>pick-pocket|>pickpocket|>pillarde|>pirate|>scélérate|>taupe|>tigre|>truande|>voleuse|>voyou|>yéti] - >repère de @:D [>assassin|>bandit|>brigand|>cambrioleuse|>corsaire|>criminelle|>dragon|>escroc|>fanatique|>filou|>flibustière|>flibuste|>gangster|>lionne|>louve|>mafiosi|>mafioso|>malfaitrice|>malfrat|>maraudeuse|>monstre|>murène|ours|>pick-pocket|>pickpocket|>pillarde|>pirate|>scélérate|>taupe|>tigre|>truande|>voleuse|>voyou|>yéti] + >repère de $:D [>assassin|>bandit|>brigand|>cambrioleuse|>corsaire|>criminelle|>dragon|>escroc|>fanatique|>filou|>flibustière|>flibuste|>gangster|>lionne|>louve|>mafiosi|>mafioso|>malfaitrice|>malfrat|>maraudeuse|>monstre|>murène|ours|>pick-pocket|>pickpocket|>pillarde|>pirate|>scélérate|>taupe|>tigre|>truande|>voleuse|>voyou|>yéti] <<- /conf/ morph(<1, ":D") -1>> =\1.replace("è", "ai").replace("È", "AI") # Confusion probable. Un répère est une marque laissée pour retrouver quelque chose. Pour le lieu où se cachent des personnes ou des animaux, écrivez “repaire”.|https://fr.wiktionary.org/wiki/repaire [dans|en] [mon|ton|son|notre|votre|leur] repère à l’intérieur de [mon|ton|son|notre|votre|leur] repère @@ -9143,11 +9143,11 @@ TEST: Tous adorent le {{ri}} basmati. # saint / sain / sein / seing __conf_saint_sain_sein_seing__ - [sain|sains|>sein] @:M1 + [sain|sains|>sein] $:M1 <<- /conf/ morph(<1, ":(?:R|[123][sp])|") -1>> saint # Confusion : “sain” signifie “en bonne santé”, le sein est un organe thoracique féminin. Pour évoquer ce qui est “sanctifié”, écrivez “saint”.|https://fr.wiktionary.org/wiki/saint [en|dans|sur] [mon|ton|son] [sain|saint] <<- /conf/ -3>> sein @@ -9349,11 +9349,11 @@ [>sceau|sot|sots] à [glace|champagne|>glaçon] [>sceau|sot|sots] en [acier|bois|cuivre|fer|inox|métal|plastique|polypropylène|zinc] [>sceau|sot|sots] [rempli+ses|percé+ses|>vide|troué+ses|renversé+ses|plein+s] <<- /conf/ -1>> seau|seaux # Confusion probable. Pour désigner un récipient, écrivez “seau”.|https://fr.wiktionary.org/wiki/seau - dans @:D [>sceau|sot|sots] + dans $:D [>sceau|sot|sots] <<- /conf/ -3>> seau|seaux # Confusion probable. Pour désigner un récipient, écrivez “seau”.|https://fr.wiktionary.org/wiki/seau [>seau|sot|sots] du [roi|secret|ministre|ministère|duc|baron|cardinal|pape] [>seau|sot|sots] de la [reine|ministre|duchesse|baronne] [>seau|sot|sots] de l’ [État|évêque|université|académie] @@ -9380,15 +9380,15 @@ # sur / sûr __conf_sûr_sur__ sur et @¬:R sur [que|qu’] sur [de|d’] {pronom_obj} - sur [de|d’] @:M + sur [de|d’] $:M sur [de|d’] [ne|n’|me|m’|te|t’|se|s’] sur [de|d’] [le|les|mon|ton|son|ma|ta|sa|mes|tes|ses|ce|cet|cette|ces|cela|ceci|ça] - sur [de|d’] [la|l’] @:Y - sur [de|d’] @:Y + sur [de|d’] [la|l’] $:Y + sur [de|d’] $:Y <<- /conf/ -1>> sûr # Confusion probable : “sur” est une préposition ou un adjectif signifiant acide ou aigre ; utilisez “sûr” pour certain, vrai ou sans danger.|http://fr.wiktionary.org/wiki/sur [sure|surs|sures] [de|d’|que|qu’] <<- /conf/ -1>> =\1.replace("u", "û").replace("U", "Û") @@ -9606,11 +9606,11 @@ [comme|lorque|puisque|quand|que|quoique|si] voire [ni|par|pour|sans] voire [>aller|>falloir|>pouvoir|>vouloir] ?[guère|jamais|pas|plus|point|rien]¿ voire <<- /conf/ --1>> voir # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire - [et|ou] voire @:D + [et|ou] voire $:D <<- /conf/ -2>> voir # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire TEST: Elles sont fatiguées, {{voir}} épuisées. TEST: Ce serait pour aider, ainsi que {{voire}} l’avancement du projet. TEST: Je ne vais jamais {{voire}} ces gens-là. @@ -11554,11 +11554,11 @@ sans pour autant y [parvenir|réussir|réfléchir|songer|penser] sans pour autant y faire attention sans pour autant y prendre [garde|goût|gout] sans [que|qu’] je le [sache|susse] sans [que|qu’] tu le [saches|susses] - sans [que|qu’] [il|elle|on|@:M] le [sache|sût] + sans [que|qu’] [il|elle|on|$:M] le [sache|sût] sans [que|qu’] nous le [sachions|sussions] sans [que|qu’] vous le [sachiez|sussiez] sans [que|qu’] [ils|elles] le [sachent|sussent] sans queue ni tête sans raison apparente @@ -11746,11 +11746,11 @@ à grand renfort [de|d’] à grands coups [de|d’] à seule fin [de|d’] <<- ~2:3>> * - à travers @:D + à travers $:D à travers >différente <<- ~2>> * ainsi <<- not value(>1, "|que|qu’|") ~>> * @@ -11779,11 +11779,11 @@ <<- ~2:0>> * ceux et [celle|celles] qui <<- ~2:3>> * - comme tant d’ autres @:R + comme tant d’ autres $:R <<- ~1:4>> * compte tenu [de|des|du] <<- ~1:2>> avec @@ -12543,31 +12543,31 @@ <<- \2.istitle() ~2:0>> * @:M[12] [Le|La|von|van|Mac|Mc|De|Du|D’] *WORD <<- \3.istitle() ~2:0>> * - [de|d’] @:M [et|ou] [de|d’] @:M - [de|d’] @:M + [de|d’] $:M [et|ou] [de|d’] $:M + [de|d’] $:M <<- ~>> * - entre @:M et @:M + entre $:M et $:M <<- ~>> * - entre @:N et @:N + entre $:N et $:N <<- \2.istitle() and \4.istitle() ~>> * - en @:MP + en $:MP <<- ~>> * [le|ce|du] [baron|docteur|député|duc|frère|ministre|prince|professeur|président|roi|sénateur|mir] @:M[12] [la|cette] [baronne|docteur|docteure|députée|duchesse|ministre|sœur|princesse|présidente|professeure|reine|sénatrice] @:M[12] <<- ~3>> * [Mr|Mlle|Mme|Mgr|miss] ~^[A-ZÉÈÊ] <<- ~2>> * - @:Cs ~^[A-ZÉÈÊ] et [moi|toi|lui|elle|nous|vous|eux|elles] + $:Cs ~^[A-ZÉÈÊ] et [moi|toi|lui|elle|nous|vous|eux|elles] <<- morph(\2, ":M") and not before("\\b(?:plus|moins|aussi) .* que +$") ~2:4>> =rewriteSubject(\2,\4) + "||" ~^[A-ZÉÈÊ] et [moi|toi|lui|elle|nous|vous|eux|elles] <<- morph(\2, ":M") @@ -12730,21 +12730,21 @@ >avoir [pas|jamais|plus|guère|point] quartier libre >avoir [pas|jamais|plus|guère|point] voix au chapitre <<- ~3:0>> ␣ <<- =>> define(\3, [":LV"]) - >avoir ?[pas|jamais|plus|guère|point]¿ [tous|toutes] les @:B [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|soif|vent] - >avoir ?[pas|jamais|plus|guère|point]¿ [tous|toutes] les @:B @:(?:Q|V1.*:Y) + >avoir ?[pas|jamais|plus|guère|point]¿ [tous|toutes] les $:B [besoin|confiance|connaissance|conscience|crainte|envie|faim|honte|peur|soif|vent] + >avoir ?[pas|jamais|plus|guère|point]¿ [tous|toutes] les $:B @:(?:Q|V1.*:Y) <<- ~2:-2>> * - n’ >avoir que @:Q + n’ >avoir que $:Q <<- ~3>> * - n’ >avoir que @:W @:Q + n’ >avoir que $:W $:Q <<- ~3:4>> * - n’ >avoir que [peu|très|trop] @:W @:Q + n’ >avoir que [peu|très|trop] $:W $:Q <<- ~3:5>> * /VCint [pas|jamais|plus|guère|point] /VCint ?[pas|jamais|plus|guère|point]¿ en partie /VCint ?[pas|jamais|plus|guère|point]¿ tous [deux|trois] @@ -12789,28 +12789,28 @@ /VCint ?[pas|jamais|plus|guère|point]¿ [tous|toutes] les @:B @:(?:Q|V1.*:Y) <<- morphVC(\1, ":V0a") ~2:-2>> * __purge_après_verbe__ - @:V ?pas¿ jour et nuit - @:V ?pas¿ nuit et jour - @:V quand même pas - @:V [moi|toi|lui|elle|nous|vous|eux|elles] aussi - @:V même + $:V ?pas¿ jour et nuit + $:V ?pas¿ nuit et jour + $:V quand même pas + $:V [moi|toi|lui|elle|nous|vous|eux|elles] aussi + $:V même @:[123] bien [entendu|sûr] @:[123] ?pas¿ juste @:[123] ?pas¿ ensemble @:[123] ?pas¿ ?[fort|très|super]¿ [bien|mal] <<- ~2:0>> * - [>pouvoir|>savoir|>vouloir] mieux que personne ?@:W¿ @:[YG] - >avoir mieux que personne ?@:W¿ @:[QYG] - >être mieux que personne ?@:W¿ @:[QAYG] + [>pouvoir|>savoir|>vouloir] mieux que personne ?$:W¿ @:[YG] + >avoir mieux que personne ?$:W¿ @:[QYG] + >être mieux que personne ?$:W¿ @:[QAYG] <<- ~2:-2>> * - >avoir pour [lui|nous|vous|longtemps] ?@:W¿ @:Q - >être pour [lui|nous|vous|longtemps] ?@:W¿ @:[QA] + >avoir pour [lui|nous|vous|longtemps] ?$:W¿ $:Q + >être pour [lui|nous|vous|longtemps] ?$:W¿ @:[QA] <<- ~2:-2>> * __purge_adverbes_de_négation__ jamais @@ -12884,11 +12884,11 @@ __purge_adverbes__ [assez|trop] ~ment$ <<- morph(\2, ":W", ":3p") ~>> * - @:[NAQ] [le|la] [plus|moins] ~.ment$ @:A + @:[NAQ] [le|la] [plus|moins] ~.ment$ $:A <<- morph(\4, ":W", ":A") ~2:4>> * complètement <<- not morph(<1, ":D.*:m") ~>> * @@ -14569,11 +14569,11 @@ TEST: les quelque 12 000 stations-service ## Nombres __gn_nombre_lettres_1m__ - @:B:e:p *WORD + $:B:e:p *WORD <<- /gn/ not value(\1, "|neuf|mille|") 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 \2 in aREGULARPLURAL) and not re.search("^[IVXLDM]+$", \1) -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. neuf *WORD @@ -15415,11 +15415,11 @@ # point / poing __conf_poing_point__ [>arme|>coup|>oiseau] de >point - [>taper|>fermer|>ouvrir|>blesser|>serrer|>desserrer] @:D >point + [>taper|>fermer|>ouvrir|>blesser|>serrer|>desserrer] $:D >point <<- /conf/ -3>> =\3.replace("t", "g").replace("T", "G") # Confusion probable. Une main fermée s’écrit “poing”.|https://fr.wiktionary.org/wiki/poing >point [américain|américains|>serrer|>desserrer|>lever|>casser|>lier] <<- /conf/ morph(\2, ":A") and morph(<1, ":D") -1>> =\1.replace("t", "g").replace("T", "G") # Confusion probable. Une main fermée s’écrit “poing”.|https://fr.wiktionary.org/wiki/poing @@ -15740,12 +15740,12 @@ TEST: baptême de l’{{aire}} # auspice / hospice __conf_auspices_hospices__ - sous [les|de|des|ces] ?*WORD¿ (hospices) - <<- /conf/ -1>> auspices # Confusion probable. L’hospice est un centre de soins.|https://fr.wiktionary.org/wiki/auspice + sous [les|de|des|ces] ?*WORD¿ hospices + <<- /conf/ --1>> auspices # Confusion probable. L’hospice est un centre de soins.|https://fr.wiktionary.org/wiki/auspice [>être|>aller|>rester|>demeurer|>partir] [à|dans|de] l’ auspice <<- /conf/ -4>> hospice # Confusion. Les auspices sont des présages, des devins ou, au sens moderne, les circonstances.|https://fr.wiktionary.org/wiki/auspice dans [un|cet|les|des|ces|quel|quels] >auspice @@ -15876,11 +15876,11 @@ >bite d’ amarrage <<- /conf/ -1>> =\1.replace("ite", "itte") # Confusion. Bitte d’amarrage. [ma|ta|sa|notre|votre|nos|vos|leur|leurs|grande+s|grosse+s|petite+s|longue+s|>énorme|>minuscule|>sale] >bitte >être [une|des] >bitte - [>aimer|>adorer|>astiquer|>avaler|>bouffer|>branler|>fourrer|>lécher|>mettre|>mordre|>pomper|>sucer] @:D >bitte + [>aimer|>adorer|>astiquer|>avaler|>bouffer|>branler|>fourrer|>lécher|>mettre|>mordre|>pomper|>sucer] $:D >bitte <<- /conf/ --1>> =\-1.replace("itte", "ite") # Confusion probable. Si vous parlez de pénis, écrivez “bite” (terme argotique).|https://fr.wiktionary.org/wiki/bite >bitte [>circoncise|>dégueulasse|>dure|>molle|>puante|>raide|>répugnante|>sale|vidé+ses] <<- /conf/ -1>> =\1.replace("itte", "ite") # Confusion probable. Si vous parlez de pénis, écrivez “bite” (terme argotique).|https://fr.wiktionary.org/wiki/bite @@ -15979,11 +15979,11 @@ # ce / se __conf_ce_se_verbe__ [|,] se [ne|n’] [>être|>devoir|>pouvoir] - [|,] se [sera|serait|seraient|sont|seront|fut|fût|furent|fussent] @:D + [|,] se [sera|serait|seraient|sont|seront|fut|fût|furent|fussent] $:D [|,] se >devoir être [|,] se >pouvoir être <<- /conf/ -2>> ce # Confusion probable. Si vous voulez dire, “ceci”, “cela” ou “ça”, écrivez “c’”.||http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2440 TEST: {{se}} n’est pas pour cette raison que j’ai abandonné mes études. @@ -15993,11 +15993,11 @@ TEST: À la pause, ils se sont tous les deux assis à l’arrière, et j’ai vu progressivement leurs corps se rapprocher. # coli / colis __conf_colis_coli2__ - [>affranchir|>attendre|>dédouaner|>dédouanement|>délivrer|>déposer|>égarer|>emballage|>emballer|>envoyer|>envoi|>expédier|>réexpédier|>expédition|>réexpédition|>fermer|>refermer|>livrer|>livraison|>ouvrir|>rouvrir|>ouverture|>réouverture|>perdre|>perte|>pesage|>peser|>porter|>réception|>recevoir|>transporter|>transport|>suivre|dans] @:D coli + [>affranchir|>attendre|>dédouaner|>dédouanement|>délivrer|>déposer|>égarer|>emballage|>emballer|>envoyer|>envoi|>expédier|>réexpédier|>expédition|>réexpédition|>fermer|>refermer|>livrer|>livraison|>ouvrir|>rouvrir|>ouverture|>réouverture|>perdre|>perte|>pesage|>peser|>porter|>réception|>recevoir|>transporter|>transport|>suivre|dans] $:D coli <<- /conf/ --1>> colis # Confusion probable. Si vous parlez d’un paquet, écrivez “colis”.|https://fr.wiktionary.org/wiki/colis coli [>délivrer|>égarer|>envoyer|>livrer|>oublier|>suspecte|>piéger|>neutraliser] <<- /conf/ morph(\2, ":A") -1>> colis # Confusion probable. Si vous parlez d’un paquet, écrivez “colis”.|https://fr.wiktionary.org/wiki/colis @@ -16058,16 +16058,16 @@ TEST: Il a le cancer du {{colon}}. # censé / sensé __conf_censé_sensé__ - >être >sensée [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:Y - >être >sensée ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:Y - >être >sensée ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:Y - >être >sensée ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:Y - >être >sensée ?[ne|n’]¿ [lui|leur] en @:Y - >être >sensée @:Y + >être >sensée [ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] $:Y + >être >sensée ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] $:Y + >être >sensée ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] $:Y + >être >sensée ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] $:Y + >être >sensée ?[ne|n’]¿ [lui|leur] en $:Y + >être >sensée $:Y >être >sensée ne [pas|plus|jamais|rien|guère|point] <<- /conf/ not value(<1, "|l’|un|les|des|ces|") -2>> =\2.replace("sens", "cens").replace("Sens", "Cens").replace("SENS", "CENS") # Confusion : “sensé” se dit de quelqu’un de “bon sens”. Pour ce qui est attendu, écrivez “censé”. TEST: Ils sont {{sensés}} y parvenir. @@ -16228,11 +16228,11 @@ TEST: De fraîche date… # délacer / délasser __conf_délacer_délasser__ - >délasser @:D [>basket|>camisole|>chaussure|>corsage|>corset|>godasse|>godillot|>grolle|>jupe|>pompe|>lacet|>ranger|>robe|>soulier|>voile] + >délasser $:D [>basket|>camisole|>chaussure|>corsage|>corset|>godasse|>godillot|>grolle|>jupe|>pompe|>lacet|>ranger|>robe|>soulier|>voile] <<- /conf/ -1>> =\1.replace("ssa", "ça").replace("ss", "c") # Confusion probable. Pour défaire des lacets, des nœuds, etc., écrivez “délacer”. [>basket|>camisole|>chaussure|>corsage|>corset|>godasse|>godillot|>grolle|>jupe|>pompe|>lacet|>ranger|>robe|>soulier|>voile] >délasser <<- /conf/ morph(\-1, ":Q") --1>> =\1.replace("ssa", "ça").replace("ss", "c") # Confusion probable. Pour défaire des lacets, des nœuds, etc., écrivez “délacer”. @@ -16330,11 +16330,11 @@ <<- /conf/ -1>> =\1.replace("end", "ind").replace("End", "Ind").replace("END", "IND") # Confusion probable. “Enduire” signifie “appliquer un enduit”.|https://fr.wiktionary.org/wiki/induire en >avoir enduit [que|qu’] <<- /conf/ -3>> =\3.replace("end", "ind").replace("End", "Ind").replace("END", "IND") # Confusion probable. “Enduire” signifie “appliquer un enduit”.|https://fr.wiktionary.org/wiki/induire - >induire @:D¬>de/ [bras|>façade|>cuisse|>fond|>jambe|>lèvre|>main|>mollet|>mur|>ongle|>paroi|>peau|>pied|>plafond|>porte|>sol|>toit|>tuile|>verre|>visage] + >induire $:D¬>de/ [bras|>façade|>cuisse|>fond|>jambe|>lèvre|>main|>mollet|>mur|>ongle|>paroi|>peau|>pied|>plafond|>porte|>sol|>toit|>tuile|>verre|>visage] >induire [de|le|ce|cet] [beurre|caramel|ciment|chocolat|gel|goudron|miel|mortier|nutella|plâtre|rouge|téflon|sang|savon|suif|vernis] >induire [de|la|cette] [boue|chaux|cire|colle|crême|couche|glu|graisse|lotion|pâte|peinture|pommade|résine|salive|vaseline] <<- /conf/ -1>> =\1.replace("ind", "end").replace("Ind", "End").replace("IND", "END") # Confusion probable. Pour “appliquer un enduit”, écrivez “enduire”.|https://fr.wiktionary.org/wiki/induire TEST: Il l’avait {{enduit}} en erreur par des affirmations calomnieuses. ->> induit @@ -16492,21 +16492,21 @@ TEST: Aujourd’hui, n’en faites pas trop. # filtre / philtre __conf_filtre_philtre2__ - >boire @:D >filtre + >boire $:D >filtre <<- /conf/ -3>> philtre|philtres # Confusion probable. Un filtre est un intrument de filtrage, un philtre est une boisson (magique) procurant des effets sur le buveur.|https://fr.wiktionary.org/wiki/philtre TEST: il but un {{filtre}}. # flanc / flan __conf_flanc_flan2__ >blesser au flan - [>attaquer|>contre-attaquer] ?[sur|sous|à|contre]¿ @:D >flan + [>attaquer|>contre-attaquer] ?[sur|sous|à|contre]¿ $:D >flan <<- /conf/ --1>> =\-1.replace("n", "nc").replace("N", "NC") # Confusion probable. Le flan est une pâtisserie. Pour évoquer un côté, une partie latérale, écrivez “flanc”. TEST: Il avait été blessé au {{flan}}. TEST: Elle lança une contre-attaque sur son {{flan}}. @@ -16631,11 +16631,11 @@ TEST: tu sais, les {{goutes}} de pluie, ça mouille. TEST: Des gouttes de pluie. __conf_goûter_goutter_dégoûter_dégoutter__ - >goutter ?à¿ @:D [>biscuit|>bière|>bon|>bonbon|>breuvage|>burger|>café|>cidre|>cocktail|>chocolat|>crêpe|>cru|>délice|>délicieuse|>délicieuse|>dessert|>fameux|>fameuse|>féculent|>fromage|>fruit|>gâteau|>hamburger|>légume|>nourriture|paradis|>pâte|>pain|>plat|>pâtisserie|>poisson|>poulet|>recette|repas|>sandwich|>soupe|>tarte|>tartelette|>sauce|>succulente|>thé|>viande|>vin|>yaourt|>yoghourt] + >goutter ?à¿ $:D [>biscuit|>bière|>bon|>bonbon|>breuvage|>burger|>café|>cidre|>cocktail|>chocolat|>crêpe|>cru|>délice|>délicieuse|>délicieuse|>dessert|>fameux|>fameuse|>féculent|>fromage|>fruit|>gâteau|>hamburger|>légume|>nourriture|paradis|>pâte|>pain|>plat|>pâtisserie|>poisson|>poulet|>recette|repas|>sandwich|>soupe|>tarte|>tartelette|>sauce|>succulente|>thé|>viande|>vin|>yaourt|>yoghourt] <<- /conf/ -1>> =\1.replace("outt", "oût").replace("OUTT", "OÛT") # Confusion : “goutter” signifie “couler goutte à goutte”. Pour l’usage du goût, écrivez “goûter”.|https://fr.wiktionary.org/wiki/go%C3%BBter [>chiotte|>clim|>climatisation|>chauffe-eau|>douche|>eau|>évier|>lavabo|nez|>motrice|>parapluie|>plafond|>pluie|>robinet|>sang|>sueur|>toilette|>toit|>tuyau|>tuyauterie] ?[ne|n’]¿ [>goûter|>gouter|>dégoûter|>dégouter] <<- /conf/ --1>> =\-1.replace("oût", "outt").replace("OÛT", "OUTT").replace("out", "outt").replace("OUT", "OUTT") @@ -16753,18 +16753,18 @@ <<- /conf/ -1>> lieu|lieux # Confusion probable. Pour désigner un endroit, écrivez “lieu(x)”.|http://fr.wiktionary.org/wiki/lieu [>lieue|lieus] [>aménager|>abandonner|>insolite|>éloigner|>réserver|>sacrer|>connaître|>méconnaître|>privilégier|>priver] <<- /conf/ morph(\2, ":Q") -1>> lieu|lieux # Confusion probable. Pour désigner un endroit, écrivez “lieu(x)”.|http://fr.wiktionary.org/wiki/lieu - [>être|>demeurer|>déménager|>habiter|>trouver|>situer|>rester|>demeurer|>demeure|>vivre] à [quelques|plusieurs|maintes|*NUM|@:B] [lieux|lieus] + [>être|>demeurer|>déménager|>habiter|>trouver|>situer|>rester|>demeurer|>demeure|>vivre] à [quelques|plusieurs|maintes|*NUM|$:B] [lieux|lieus] <<- /conf/ --1>> lieues # Confusion probable. Pour désigner une distance, écrivez “lieues”.|http://fr.wiktionary.org/wiki/lieue [>être|>demeurer|>déménager|>habiter|>trouver|>situer|>rester|>demeurer|>demeure|>vivre] à des [lieux|lieus] <<- /conf/ space_after(\2, 1, 4) --1>> lieues # Confusion probable. Pour désigner une distance, écrivez “lieues”.|http://fr.wiktionary.org/wiki/lieue *NUM >lieu sous [la|les] >mer - @:B >lieu sous [la|les] >mer + $:B >lieu sous [la|les] >mer <<- /conf/ -2>> lieues # Confusion. Pour désigner une distance, écrivez “lieue(s)”.|http://fr.wiktionary.org/wiki/lieue [lieux|>lieue] [>jaune|>noire|>mordre] <<- /conf/ -1>> lieu|lieus # Confusion probable. Si vous parlez du poisson, écrivez “lieu(s)”.|http://fr.wiktionary.org/wiki/lieu @@ -16847,19 +16847,19 @@ TEST: {{Mat}} de misaine # mâter / mater __conf_mater_mâter__ - >mâter @:D [>adversaire|>armée|>cavalière|>cheval|>chienne|>conne|>connard|>connasse|>cul|>dame|>enfoirée|>emmerdeuse|>enfant|>ennemie|>enculée|>femme|>fesse|>fille|fils|>folle|>foule|>gamine|>garçonne|>homme|>horde|>incendie|>insurrection|>jument|>lionne|>nation|>peuple|>pion|>pute|>rebelle|>rebellion|>reine|>roi|>sein|>salope|>tigresse|>tour|>troupe] + >mâter $:D [>adversaire|>armée|>cavalière|>cheval|>chienne|>conne|>connard|>connasse|>cul|>dame|>enfoirée|>emmerdeuse|>enfant|>ennemie|>enculée|>femme|>fesse|>fille|fils|>folle|>foule|>gamine|>garçonne|>homme|>horde|>incendie|>insurrection|>jument|>lionne|>nation|>peuple|>pion|>pute|>rebelle|>rebellion|>reine|>roi|>sein|>salope|>tigresse|>tour|>troupe] <<- /conf/ -1>> =\1.replace("ât", "at").replace("ÂT", "AT") # Confusion. “Mâter” signifie “dresser un mât”. Si vous voulez dire “dompter” (ou argotiquement “regarder”), écrivez “mater”.|https://fr.wiktionary.org/wiki/mater - >mâter en [*NUM|@B] coups + >mâter en [*NUM|$B] coups <<- /conf/ -1>> =\1.replace("ât", "at").replace("ÂT", "AT") # Confusion. “Mâter” signifie “dresser un mât”. Si vous voulez dire “dompter” ou “mettre en échec”, écrivez “mater”.|https://fr.wiktionary.org/wiki/mater - >mater @:D [>aviron|>bateau|>canot|>catamaran|>goélette|>navire|>trimaran|>vaisseau|>voilier] + >mater $:D [>aviron|>bateau|>canot|>catamaran|>goélette|>navire|>trimaran|>vaisseau|>voilier] <<- /conf/ -1>> =\1.replace("ât", "at").replace("ÂT", "AT") # Confusion. “Mater” signifie “dompter” ou (argotiquement) “regarder”. Si vous voulez dire “dresser un mât”, écrivez “mâter”.|https://fr.wiktionary.org/wiki/mâter TEST: Elle va {{mâter}} ces emmerdeurs en moins de temps qu’il ne faut pour le dire. TEST: il peut {{mâter}} en 3 coups @@ -16934,17 +16934,17 @@ >penser *WORD [>animal|>blessure|>blessée|bras|>chatte|>cheval|>chienne|>cheville|>cœur|>crâne|>cuisse|>doigt|>épaule|>jambe|>main|>malade|>patte|>pied|>plaie|>poignet|>tête] <<- /conf/ morph(\2, ":D", ">de/") -1>> =\1.replace("en", "an").replace("EN", "AN") # Confusion probable. Pour évoquer les soins prodigués, écrivez “panser”.|https://fr.wiktionary.org/wiki/panser >panser à autre chose - >panser à @:D [>amie|>bébé|>chienne|>chatte|>cul|>descendante|>descendance|>enfant|>famille|>femme|>fesse|>fille|>garçon|>héritage|>héritière|>leçon|>mari|>maîtresse|>maitresse|>parent|>voisin] + >panser à $:D [>amie|>bébé|>chienne|>chatte|>cul|>descendante|>descendance|>enfant|>famille|>femme|>fesse|>fille|>garçon|>héritage|>héritière|>leçon|>mari|>maîtresse|>maitresse|>parent|>voisin] >panser [au|aux] [>amie|>bébé|>chienne|>chatte|>cul|>descendante|>descendance|>enfant|>famille|>femme|>fesse|>fille|>garçon|>héritage|>héritière|>leçon|>mari|>maîtresse|>maitresse|>parent|>voisin] - >panser à [dieu|moi|toi|lui|elle|nous|vous|eux|elles|@:M] + >panser à [dieu|moi|toi|lui|elle|nous|vous|eux|elles|$:M] >panser à [ne|n’|me|m’|te|t’|se|s’] - >panser à [le|la|l’|les|en|lui|leur|y] @:Y - >panser à [le|la|l’|les] [lui|leur|en|y] @:Y - >panser à [lui|leur] en @:Y + >panser à [le|la|l’|les|en|lui|leur|y] $:Y + >panser à [le|la|l’|les] [lui|leur|en|y] $:Y + >panser à [lui|leur] en $:Y <<- /conf/ -1>> =\1.replace("an", "en").replace("AN", "EN") # Confusion probable. Pour évoquer les pensées qu’on a pour quelqu’un ou quelque chose, écrivez “penser”.|https://fr.wiktionary.org/wiki/penser TEST: J’ai {{pensé}} les blessés. TEST: Il a {{pensé}} mon cœur solitaire. @@ -17083,11 +17083,11 @@ __conf_péché_pêcher2__ >pêcher par excès [de|d’] >pêcher par [insuffisance|omission|orgueil] <<- /conf/ -1>> pécher # Confusion : pêcher (capturer des poissons) ≠ pécher (faire un écart de conduite).|https://fr.wiktionary.org/wiki/p%C3%A9cher - [>commettre|>pardonner|>confesser|>absoudre|>avouer|>reconnaître|>reconnaitre|>expier|>effacer] @:D [pécher|pêcher+s|pêché+ses] + [>commettre|>pardonner|>confesser|>absoudre|>avouer|>reconnaître|>reconnaitre|>expier|>effacer] $:D [pécher|pêcher+s|pêché+ses] >repentir de [mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs] [pécher|pêcher+s|pêché+ses] <<- /conf/ --1>> =\-1.replace("êch", "éch").replace("er", "é").replace("ÊCH", "ÉCH").replace("ER", "É") # Confusion : un pêcher est un arbre. Pour désigner un écart de conduite, écrivez “péché”.|https://fr.wiktionary.org/wiki/p%C1%A9ch%C1%A9 >pécher [du|d’|de|des|la|le|l’|les|à|au|aux] [>ablette|>oblade|>albacore|>anguille|>baleine|>bar|>barracuda|>blageon|>blennie|>bonite|>bouvière|>brème|>brochet|>bulot|>cabillaud|>cabot|>calamar|>canard|>carassin|>carnassier|>carpe|>chabot|>chevaine|>chevenne|>chevesne|>colin|>congre|>coque|>coquillage|>coquille|>corb|>crabe|>crevette|>crustacé|>dorade|>dauphin|>écrevisse|>éponge|>espadon|>épinoche|>épinochette|>esturgeon|>étrille|>financement|>gardon|>girelle|>gobie|>goujon|>grémille|>grondin|>hareng|>homard|>hotu|>huitre|>huître|>langouste|>langoustine|>leurre|>liche|>loche|>lotte|>marbré|>marsouin|>merlan|>merlu|>mérou|>mollusque|>morue|>mostelle||>moule|>mustelle|>mulet|>murène|>omble|>ormeau|>oursin|>pageau|>pagel|>pageot|>palourde|>patelle|>perche|>pétoncle|>moule|>pieuvre|>piranha|>plie|>poisson|>poulpe|>praire|>raie|>rascasse|>requin|>rotengle|>rouget|>sandre|>sardine|>salmonidé|>sar|>saumon|>saupe|>seiche|>silure|>sole|>spirlin|>tanche|>thon|>truite|>turbot|>vairon|>vandoise|>vive|anchois|>barbeau|>bigorneau|black-bass|>couteau|ligne|>maquereau|saint-jacques] @@ -17115,21 +17115,21 @@ [|,] [un|le|ce|cet] *WORD peu [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y] [|,] [une|la|cette|ma|ta|sa] *WORD peu [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y] [|,] [l’|mon|ton|son|notre|votre|leur] *WORD peu [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y] <<- /conf/ morph(\3, ":N") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal. - [|,] [un|le|ce|cet] *WORD peu ?en¿ @:Y + [|,] [un|le|ce|cet] *WORD peu ?en¿ $:Y <<- /conf/ morph(\3, ":N") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal. <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)||>(?:,|par)/") --1>> =suggVerbPpas(\-1, ":m:s") # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3”, il faut utiliser le participe passé. - [|,] [une|la|cette|ma|ta|sa] *WORD peu ?en¿ @:Y + [|,] [une|la|cette|ma|ta|sa] *WORD peu ?en¿ $:Y <<- /conf/ morph(\3, ":N") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal. <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)||>(?:,|par)/") --1>> =suggVerbPpas(\-1, ":f:s") # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3”, il faut utiliser le participe passé. - [|,] [l’|mon|ton|son|notre|votre|leur] *WORD peu ?en¿ @:Y + [|,] [l’|mon|ton|son|notre|votre|leur] *WORD peu ?en¿ $:Y <<- /conf/ morph(\3, ":N") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3” est le sujet du syntagme verbal. <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)||>(?:,|par)/") --1>> =suggVerbPpas(\-1, ":s") # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3”, il faut utiliser le participe passé. TEST: cet homme {{peu}} aller et venir ici comme bon lui semble @@ -17147,23 +17147,23 @@ [|,] [une|la|cette|ma|ta|sa] *WORD *WORD peu [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y] [|,] [l’|mon|ton|son|notre|votre|leur] *WORD *WORD peu [ne|n’|me|m’|te|t’|se|s’|nous|vous|leur|lui|le|la|l’|les|y] <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal. - [|,] [un|le|ce|cet] *WORD *WORD peu ?en¿ @:Y + [|,] [un|le|ce|cet] *WORD *WORD peu ?en¿ $:Y <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal. <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)||>(?:,|par)/") --1>> =suggVerbPpas(\-1, ":m:s") # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3 \4”, il faut utiliser le participe passé. - [|,] [une|la|cette|ma|ta|sa] *WORD *WORD peu ?en¿ @:Y + [|,] [une|la|cette|ma|ta|sa] *WORD *WORD peu ?en¿ $:Y <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal. <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)||>(?:,|par)/") --1>> =suggVerbPpas(\-1, ":f:s") # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3 \4”, il faut utiliser le participe passé. - [|,] [l’|mon|ton|son|notre|votre|leur] *WORD *WORD peu ?en¿ @:Y + [|,] [l’|mon|ton|son|notre|votre|leur] *WORD *WORD peu ?en¿ $:Y <<- /conf/ morph(\3, ":[NA]") and morph(\4, ":[NA]", ":V0") --2>> peut # Confusion probable : il semble que vous vouliez dire “peut” au sens de “pouvoir \-1” où “\2 \3 \4” est le sujet du syntagme verbal. <<- /conf/ __also__ and morph(\-1, ":V1..t") and morph(>1, ":(?:Ov|[123][sp]|P)||>(?:,|par)/") --1>> =suggVerbPpas(\-1, ":s") # Confusion probable : “\-1” est un verbe à l’infinitif. Si “\-1” est supposé être un adjectif pour “\2 \3 \4”, il faut utiliser le participe passé. @@ -17255,11 +17255,11 @@ TEST: {{quoiqu’il en soit}}, nous ne nous laisserons pas faire, vous pouvez compter sur nous. # rebooter / rebouter __conf_rebooter_rebouter__ - >rebouter @:D [>appareil|>imprimante|iPhone|kernel|>machine|>modem|>noyau|>ordinateur|>ordi|PC|>portable|>programme|>routeur|serveur|serveurs|>système|>tablette|>téléphone|terminal|terminaux] + >rebouter $:D [>appareil|>imprimante|iPhone|kernel|>machine|>modem|>noyau|>ordinateur|>ordi|PC|>portable|>programme|>routeur|serveur|serveurs|>système|>tablette|>téléphone|terminal|terminaux] >rebouter [Android|Linux|iOS|Unix|Windows] <<- /conf/ -1>> =\1.replace("out", "oot").replace("OUT", "OOT") # Confusion probable. Rebouter est un terme de botanique. TEST: {{Reboute}} l’ordinateur. TEST: On {{reboute}} Windows et ça devrait aller. @@ -17331,19 +17331,19 @@ >tâche [>indélébile|>rouge|>verte|>noire|>bleue|>jaune|>grise|>blanche|>brune|>pourpre|>chocolat|>mauve|>fushia|>violette|>rose|>claire|>sombre|>solaire|>cuivrée] <<- /conf/ -1>> =\1.replace("â", "a").replace("Â", "A") # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”. - >tâche sur @:D [>bermuda|>blouse|>blouson|bois|bras|>caleçon|>canapé|>carrelage|>chemise|>chemisier|>col|>conscience|corps|>costume|>cravate|>cuir|>culotte|CV|>dent|>doigt|document|dos|>fauteuil|>feuille|>front|>habit|>jambe|>jean|>joue|>jupe|>jupon|>lèvre|>linge|>livre|>livret|>maillot|>main|>marbre|>meuble|>moquette|>mur|>nappe|nez|>ongle|>papier|>parquet|>pantalon|>peau|pénis|>photo|>photographie|>pied|>pull|>réputation|>robe|>sexe|>siège|>slip|>sol|>t-shirt|>teeshirt|>tee-shirt|>tapis|>tête|>tissu|>veste|>vêtement|>visage] + >tâche sur $:D [>bermuda|>blouse|>blouson|bois|bras|>caleçon|>canapé|>carrelage|>chemise|>chemisier|>col|>conscience|corps|>costume|>cravate|>cuir|>culotte|CV|>dent|>doigt|document|dos|>fauteuil|>feuille|>front|>habit|>jambe|>jean|>joue|>jupe|>jupon|>lèvre|>linge|>livre|>livret|>maillot|>main|>marbre|>meuble|>moquette|>mur|>nappe|nez|>ongle|>papier|>parquet|>pantalon|>peau|pénis|>photo|>photographie|>pied|>pull|>réputation|>robe|>sexe|>siège|>slip|>sol|>t-shirt|>teeshirt|>tee-shirt|>tapis|>tête|>tissu|>veste|>vêtement|>visage] <<- /conf/ -1>> =\1.replace("â", "a").replace("Â", "A") # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”. - >tâcher @:D [>bermuda|>blouse|>blouson|bois|bras|>caleçon|>canapé|>carrelage|>chemise|>chemisier|>col|>conscience|corps|>costume|>cravate|>cuir|>culotte|CV|>dent|>doigt|document|dos|>fauteuil|>feuille|>front|>habit|>jambe|>jean|>joue|>jupe|>jupon|>lèvre|>linge|>livre|>livret|>maillot|>main|>marbre|>meuble|>moquette|>mur|>nappe|nez|>ongle|>papier|>parquet|>pantalon|>peau|pénis|>photo|>photographie|>pied|>pull|>réputation|>robe|>sexe|>siège|>slip|>sol|>t-shirt|>teeshirt|>tee-shirt|>tapis|>tête|>tissu|>veste|>vêtement|>visage] + >tâcher $:D [>bermuda|>blouse|>blouson|bois|bras|>caleçon|>canapé|>carrelage|>chemise|>chemisier|>col|>conscience|corps|>costume|>cravate|>cuir|>culotte|CV|>dent|>doigt|document|dos|>fauteuil|>feuille|>front|>habit|>jambe|>jean|>joue|>jupe|>jupon|>lèvre|>linge|>livre|>livret|>maillot|>main|>marbre|>meuble|>moquette|>mur|>nappe|nez|>ongle|>papier|>parquet|>pantalon|>peau|pénis|>photo|>photographie|>pied|>pull|>réputation|>robe|>sexe|>siège|>slip|>sol|>t-shirt|>teeshirt|>tee-shirt|>tapis|>tête|>tissu|>veste|>vêtement|>visage] <<- /conf/ -1>> =\1.replace("â", "a").replace("Â", "A") # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”. - [>nettoyer|>laver|>essuyer|>gratter] @:D >tâche + [>nettoyer|>laver|>essuyer|>gratter] $:D >tâche <<- /conf/ --1>> =\-1.replace("â", "a").replace("Â", "A") # Confusion. Une tâche est un travail à accomplir. Pour une salissure, une altération, une marque, une coloration… employez “tache”. TEST: une {{tâche}} de chocolat ->> tache TEST: une {{tâche}} vraiment indélébile @@ -17367,21 +17367,21 @@ >tache >insoluble >tache consistant à <<- /conf/ -1>> =\1.replace("a", "â").replace("A", "Â") # Confusion. Une tache est une salissure, une altération, une marque, une coloration… Pour parler d’un travail à accomplir, écrivez “tâche”. - [>abstenir|>accepter|>accomplir|>achever|>affecter|>effectuer|>entreprendre|>exécuter|>faciliter|>finir|>interrompre|>partager|>refaire|>refuser|>simplifier|>terminer] @:D >tache + [>abstenir|>accepter|>accomplir|>achever|>affecter|>effectuer|>entreprendre|>exécuter|>faciliter|>finir|>interrompre|>partager|>refaire|>refuser|>simplifier|>terminer] $:D >tache à la tache [à|a] la hauteur de la tache <<- /conf/ --1>> =\3.replace("a", "â").replace("A", "Â") # Confusion. Une tache est une salissure, une altération, une marque, une coloration… Pour parler d’un travail à accomplir, écrivez “tâche”. >tacher [de|d’] [ne|n’|me|m’|te|t’|se|s’] - >tacher [de|d’] ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿ @:Y - >tacher [de|d’] [nous|vous] [le|la|l’|les|en|y] @:Y - >tacher [de|d’] [le|la|l’|les] [lui|leur|en|y] @:Y - >tacher [de|d’] [lui|leur] en @:Y + >tacher [de|d’] ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿ $:Y + >tacher [de|d’] [nous|vous] [le|la|l’|les|en|y] $:Y + >tacher [de|d’] [le|la|l’|les] [lui|leur|en|y] $:Y + >tacher [de|d’] [lui|leur] en $:Y <<- /conf/ -1>> =\1.replace("a", "â").replace("A", "Â") # Confusion. Tache signifie faire une salissure, une altération, une marque, une coloration… Pour parler de l’accomplissement d’un travail, écrivez “tâcher”. TEST: Quelle {{tache}} ingrate. TEST: Une {{tache}} valorisante. @@ -17419,12 +17419,12 @@ <<- /conf/ -2>> tant # Confusion. Écrivez « en tant que ».|http://fr.wiktionary.org/wiki/en_tant_que il >être [tant|>tan] [de|d’] [ne|me|m’|te|t’|se|s’|en|y] il >être [tant|>tan] [de|d’] [la|le|les] [lui|leur] il >être [tant|>tan] [de|d’] [nous|vous] [la|le|les|l’] - il >être [tant|>tan] [de|d’] [la|le|les|lui|nous|vous|leur|l’] @:Y - il >être [tant|>tan] [de|d’] @:Y + il >être [tant|>tan] [de|d’] [la|le|les|lui|nous|vous|leur|l’] $:Y + il >être [tant|>tan] [de|d’] $:Y <<- /conf/ -3>> temps # Confusion. Si vous voulez dire “c’est le moment de”, écrivez “temps”.|https://fr.wiktionary.org/wiki/il_est_temps TEST: en {{tan}} que meneuse intrépide, elle a toujours fait preuve d’une grande imagination. TEST: il est bien évidemment {{tant}} d’en finir avec ça. @@ -19249,32 +19249,32 @@ TEST: les réunions sans cesse reportées qui sont {{annulés}} TEST: Les tortures que ce journaliste pense être “normales”. __ppas_nom_propre_être_accord_genre__ - [|,|@:Cs] (@:M) ?qui¿ ?[ne|n’]¿ ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre]) *WORD - [|,|@:Cs] (@:M) ?qui¿ ?[ne|n’]¿ (>avoir) [été|semblé|paru] *WORD - [|,|@:Cs] (@:M) ?qui¿ ?[ne|n’]¿ ([>être|>sembler]) [devenu+e|redevenu+e|resté+e|demeuré+e] *WORD - [|,|@:Cs] (@:M) ?qui¿ ?[ne|n’]¿ + [|,|@:Cs] ($:M) ?qui¿ ?[ne|n’]¿ ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre]) *WORD + [|,|@:Cs] ($:M) ?qui¿ ?[ne|n’]¿ (>avoir) [été|semblé|paru] *WORD + [|,|@:Cs] ($:M) ?qui¿ ?[ne|n’]¿ ([>être|>sembler]) [devenu+e|redevenu+e|resté+e|demeuré+e] *WORD + [|,|@:Cs] ($:M) ?qui¿ ?[ne|n’]¿ || ([>aller|>adorer|>affirmer|>aimer|>croire|>déclarer|>désirer|>détester|>devoir|>dire|>estimer|>imaginer|>paraître|>paraitre|>penser|>pouvoir|>préférer|>risquer|>savoir|>sembler|>souhaiter|>vouloir]) || [être|devenir|redevenir|rester|paraître|paraitre|sembler] *WORD - [|,|@:Cs] (@:M) ?qui¿ ?[ne|n’]¿ + [|,|@:Cs] ($:M) ?qui¿ ?[ne|n’]¿ || ([>adorer|>affirmer|>aimer|>croire|>déclarer|>désirer|>détester|>devoir|>dire|>estimer|>imaginer|>paraître|>paraitre|>penser|>pouvoir|>préférer|>risquer|>savoir|>sembler|>souhaiter|>vouloir]) || être [devenu+e|redevenu+e|resté+e|demeuré+e] *WORD - [|,|@:Cs] (@:M) ?qui¿ ?[ne|n’]¿ + [|,|@:Cs] ($:M) ?qui¿ ?[ne|n’]¿ || ([>adorer|>affirmer|>aimer|>croire|>déclarer|>désirer|>détester|>devoir|>dire|>estimer|>imaginer|>paraître|>paraitre|>penser|>pouvoir|>préférer|>risquer|>savoir|>sembler|>souhaiter|>vouloir]) || avoir [été|semblé|paru] *WORD <<- /ppas/ not tag(\1, "enum") and ((morph(\1, ":M.*:f", ":[GWme]") and morph(\-1, ":A.*:m", ":[GWfe]")) or (morph(\1, ":M.*:m", ":[GWfe]") and morph(\-1, ":A.*:f", ":[GWme]"))) and morph(\2, ":[123]s") --1>> =switchGender(\-1) # Accord erroné : “\1” et “\-1” ne sont pas accordés en genre. - *WORD [que|qu’] @:M ?[ne|n’]¿ + *WORD [que|qu’] $:M ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || [être|devenir|redevenir|rester|paraître|paraitre|sembler] *WORD - *WORD [que|qu’] @:M ?[ne|n’]¿ + *WORD [que|qu’] $:M ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || être [devenu+e|redevenu+e|resté+e|demeuré+e] *WORD - *WORD [que|qu’] @:M ?[ne|n’]¿ + *WORD [que|qu’] $:M ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || avoir [été|semblé|paru] *WORD <<- /ppas/ checkAgreement(\1, \-1) !-1>> TEST: Marianne semble devenue {{colériques}} @@ -19789,11 +19789,11 @@ !!!! Participes passés après “avoir” !! !! !! __immu_les_avoir_fait_vinfi__ - les >avoir fait ?[me|m’|te|t’|se|s’|nous|vous|leur]¿ @:Y + les >avoir fait ?[me|m’|te|t’|se|s’|nous|vous|leur]¿ $:Y <<- !3>> __ppas_pronom_avoir__ [je|j’|tu|il|elle|on|ils|elles|et|qui] ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD @@ -20043,14 +20043,14 @@ !!!! du / dû !! __ppas_avoir_dû_vinfi__ - >avoir [du|dus|due|dues] [le|la|les|l’|me|m’|te|t’|se|lui|s’|nous|vous|leur|@:Y] + >avoir [du|dus|due|dues] [le|la|les|l’|me|m’|te|t’|se|lui|s’|nous|vous|leur|$:Y] <<- /ppas/ \3 != "pouvoir" -2>> dû # Participe passé de devoir : “dû”. - /VCint [du|dus|due|dues] [le|la|les|l’|me|m’|te|t’|se|lui|s’|nous|vous|leur|@:Y] + /VCint [du|dus|due|dues] [le|la|les|l’|me|m’|te|t’|se|lui|s’|nous|vous|leur|$:Y] <<- /ppas/ \3 != "pouvoir" -2>> dû # Participe passé de devoir : “dû”. TEST: Il a {{du}} leur prendre. TEST: J’ai {{du}} lui donner. TEST: J’ai {{du}} leur prendre. @@ -20634,94 +20634,94 @@ __conf_suj_verbe_det_verbe_nom__ [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [lui|leur] en @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] - [|,] @:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] + [|,] $:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [le|un] @:[123][sp]¬:[NA].*:[me]:[si] <<- /conf/ --1>> =suggSimil(\-1, ":[NA].*:[me]:[si]", True) # Confusion probable : “\-1” est une forme verbale conjuguée. Si “\-2” est un déterminant, il faut placer un nom après. [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [lui|leur] en @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] - [|,] @:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] + [|,] $:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [la|une] @:[123][sp]¬:[NA].*:[fe]:[si] <<- /conf/ --1>> =suggSimil(\-1, ":[NA].*:[fe]:[si]", True) # Confusion probable : “\-1” est une forme verbale conjuguée. Si “\-2” est un déterminant, il faut placer un nom après. [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [lui|leur] en @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] - [|,] @:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] + [|,] $:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [l’|leur] @:[123][sp]¬:[NA].*:[si] <<- /conf/ --1>> =suggSimil(\-1, ":[NA].*:[si]", True) # Confusion probable : “\-1” est une forme verbale conjuguée. Si “\-2” est un déterminant, il faut placer un nom après. [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [lui|leur] en @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] - [|,] @:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] + [|,] $:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] [les|leurs] @:[123][sp]¬:[NA].*:[pi] <<- /conf/ --1>> =suggSimil(\-1, ":[NA].*:[pi]", True) # Confusion probable : “\-1” est une forme verbale conjuguée. Si “\-2” est un déterminant, il faut placer un nom après. [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] en @:[123][sp]¬:[NA] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] en @:[123][sp]¬:[NA] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] en @:[123][sp]¬:[NA] [|,] [je|j’|tu|il|elle|on|nous|vous|ils|elles|ce|c’] ?[ne|n’]¿ [lui|leur] en @:[123][sp] en @:[123][sp]¬:[NA] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] - [|,] @:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] + [|,] $:D¬:Ov @:[NA] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] [|,] [le|la|l’|leur|les] @:[NA]¬:3[sp] ?[ne|n’]¿ [lui|leur] en @:[123][sp]¬:[NA] en @:[123][sp]¬:[NA] - [|,] @:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] en @:[123][sp]¬:[NA] - [|,] @:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] en @:[123][sp]¬:[NA] - [|,] @:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] en @:[123][sp]¬:[NA] - [|,] @:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] en @:[123][sp]¬:[NA] + [|,] $:Y ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ @:[123][sp] en @:[123][sp]¬:[NA] + [|,] $:Y ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:[123][sp] en @:[123][sp]¬:[NA] + [|,] $:Y ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] @:[123][sp] en @:[123][sp]¬:[NA] + [|,] $:Y ?[ne|n’]¿ [lui|leur] en @:[123][sp] en @:[123][sp]¬:[NA] <<- /conf/ --1>> =suggSimil(\-1, ":[NA].*:[si]", True) # Confusion probable : “\-1” est une forme verbale conjuguée. Si “\-2” est une préposition, il faut placer un nom après. TEST: je relève le {{défit}}. ->> défi TEST: elle relève une fois de plus le {{défie}}. ->> défi TEST: il gère l’{{accueille}} ->> accueil @@ -21259,19 +21259,19 @@ <<- ~1:-2>> * __tag_verbe_infinitif_sujet__ [|,] [ne|n’] ?[en|y]¿ ?presque¿ [pas|rien|guère|point|jamais|plus] - [|,] [ne|n’] @:Y - [|,] @:Y + [|,] [ne|n’] $:Y + [|,] $:Y <<- /2>> suj_vinfi __tag_usage_pronominal__ - [me|m’|te|t’|se|s’] ?[le|la|l’|les|en|y]¿ @:V¬:G - nous nous ?[le|la|l’|les|en|y]¿ @:V¬:G - vous vous ?[le|la|l’|les|en|y]¿ @:V¬:G + [me|m’|te|t’|se|s’] ?[le|la|l’|les|en|y]¿ $:V¬:G + nous nous ?[le|la|l’|les|en|y]¿ $:V¬:G + vous vous ?[le|la|l’|les|en|y]¿ $:V¬:G <<- /-1>> upron __énumérations_substantifs__ [le|la|l’|les|un|une|des|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leur|leurs|quelques|certains|certaines|tout|tous|toute|toutes] (*WORD) @@ -21418,11 +21418,11 @@ TEST: ce matin pluvieux l’ambiance est à présent la pire. #### veillez / veuillez __conf_veillez__ - [|,] veuillez à [ne|n’|me|m’|nous|@:Y] + [|,] veuillez à [ne|n’|me|m’|nous|$:Y] <<- /conf/ -2>> veillez # Confusion probable : “veuillez” est une forme conjuguée du verbe “vouloir”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939 TEST: {{Veuillez}} à ne pas tomber dans ce piège. TEST: Et {{veuillez}} surtout à ouvrir grand les yeux. TEST: {{Veuillez}}, s’il vous plaît, à prendre vos médicaments. @@ -21430,11 +21430,11 @@ TEST: Veuillez excuser mon retard. TEST: Veillez à bien fermer les fenêtres. __conf_veuillez__ - [|,] veillez [ne|n’|me|m’|nous|@:Y] + [|,] veillez [ne|n’|me|m’|nous|$:Y] <<- /conf/ -2>> veuillez # Confusion probable : “veiller” signifie “prendre garde” ou “être vigilant”. Pour inviter à faire quelque chose, écrivez “veuillez”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=1939 TEST: {{Veillez}} excuser mon retard. TEST: {{Veillez}} me contacter. @@ -21886,11 +21886,11 @@ TEST: Aucune solution envisagée n’a engendré de résultat positif. TEST: Aucun homme parti à la guerre ne revient __conj_vinfi_suj__ - [|,] @:Y @:V¬:(?:3s|P|Q|Y|G|3p!|M) + [|,] $:Y @:V¬:(?:3s|P|Q|Y|G|3p!|M) <<- /conj/ not (value(\2, "|avoir|croire|être|devenir|redevenir|voir|sembler|paraître|paraitre|sentir|rester|retrouver|") and morph(\3, ":[NA]")) -3>> =suggVerb(\3, ":3s") # Conjugaison erronée. Accord avec “\2”. Le verbe devrait être à la 3ᵉ personne du singulier. TEST: manger {{fais}} grossir. TEST: boire immodérément {{nuis}} à la santé @@ -22505,11 +22505,11 @@ TEST: J’aimerai la danse et la musique, puisque vous l’exigez. TEST: Je sais que j’aimerai ça, tout comme lui. __vmode_j_aurais_aimé_que_vinfi__ - j’ aurai [aimé|souhaité|préféré|voulu|apprécié|désiré|adoré] [que|qu’|ne|n’|@:Y] + j’ aurai [aimé|souhaité|préféré|voulu|apprécié|désiré|adoré] [que|qu’|ne|n’|$:Y] <<- /vmode/ -2>> aurais|eusse # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… » TEST: J’{{aurai}} aimé nous offrir ce magnifique cadeau. TEST: j’{{aurai}} voulu être un artiste. TEST: j’{{aurai}} préféré ne pas avoir à l’entendre. @@ -22716,17 +22716,17 @@ !! # Règles casse-gueule, prudence… __conj_nom_propre_virgule__ - @:M , @:3s¬:[NAGEM] [|,] + $:M , @:3s¬:[NAGEM] [|,] <<- /conj/ space_after(\2, 0, 0) -2:3>> \2 # Si “\2” est le sujet de “\4”, la virgule est superflue (on ne sépare pas le verbe du sujet). Sinon “\4” devrait être à l’impératif (à moins d’une inversion verbe-sujet). <<- /conj/ __also__ -4>> =suggVerbTense(\4, ":E", ":2s") # Si “\2” est le sujet de “\4”, la virgule est superflue (on ne sépare pas le verbe du sujet). Sinon “\4” devrait être à l’impératif (à moins d’une inversion verbe-sujet). - @:M , @:3s¬:[NAGEM] @:A.*:[si] + $:M , @:3s¬:[NAGEM] @:A.*:[si] <<- /conj/ space_after(\2, 0, 0) and morph(\4, ">(?:être|devenir|redevenir|sembler|para[iî]tre)/") -2:3>> \2 # Si “\2” est le sujet de “\4”, la virgule est superflue (on ne sépare pas le verbe du sujet). Sinon “\4” devrait être à l’impératif (à moins d’une inversion verbe-sujet). <<- /conj/ __also__ -4>> =suggVerbTense(\4, ":E", ":2s") # Si “\2” est le sujet de “\4”, la virgule est superflue (on ne sépare pas le verbe du sujet). Sinon “\4” devrait être à l’impératif (à moins d’une inversion verbe-sujet). Index: misc/grammalecte.sublime-syntax ================================================================== --- misc/grammalecte.sublime-syntax +++ misc/grammalecte.sublime-syntax @@ -157,10 +157,16 @@ 1: entity.valid - match: '(@)([^@\s¬]*)' scope: string.morph captures: + 1: entity.valid + 2: string.morph.regex + + - match: '(\$)([^@\s¬]*)' + scope: string.morph + captures: 1: entity.valid 2: string.morph.regex - match: '(/)[\w-]+' scope: string.tag