Overview
Comment: | [core][fr] rename functions |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | core | build |
Files: | files | file ages | folders |
SHA3-256: |
55b6bb4791d4a36ed9cd9a1980269f7b |
User & Date: | olr on 2020-11-25 22:37:24 |
Other Links: | manifest | tags |
Context
2020-11-25
| ||
22:59 | [build][core][fr][doc] rename functions check-in: b695f86d1e user: olr tags: trunk, fr, core, build, doc | |
22:37 | [core][fr] rename functions check-in: 55b6bb4791 user: olr tags: trunk, fr, core, build | |
21:38 | [core] remove useless parameter check-in: bd591492d4 user: olr tags: trunk, core | |
Changes
Modified compile_rules_graph.py from [dc34a23095] to [b9a13543b1].
︙ | ︙ | |||
36 37 38 39 40 41 42 | if sCode[0:1] == "=": sCode = sCode[1:] sCode = sCode.replace("__also__", "bCondMemo") sCode = sCode.replace("__else__", "not bCondMemo") sCode = sCode.replace("sContext", "_sAppContext") sCode = re.sub(r"\b(morph|morphVC|analyse|value|tag|meta|info)[(]\\(\d+)", 'g_\\1(lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"\b(morph|morphVC|analyse|value|tag|meta|info)[(]\\-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1]', sCode) | | | | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | if sCode[0:1] == "=": sCode = sCode[1:] sCode = sCode.replace("__also__", "bCondMemo") sCode = sCode.replace("__else__", "not bCondMemo") sCode = sCode.replace("sContext", "_sAppContext") sCode = re.sub(r"\b(morph|morphVC|analyse|value|tag|meta|info)[(]\\(\d+)", 'g_\\1(lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"\b(morph|morphVC|analyse|value|tag|meta|info)[(]\\-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1]', sCode) sCode = re.sub(r"\b(select|exclude|define|definefrom|rewrite|addmorph|setmeta)[(][\\](\d+)", 'g_\\1(lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"\b(select|exclude|define|definefrom|rewrite|addmorph|setmeta)[(][\\]-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1]', sCode) sCode = re.sub(r"\b(tagbefore|tagafter)[(][\\](\d+)", 'g_\\1(lToken[nTokenOffset+\\2], dTags', sCode) sCode = re.sub(r"\b(tagbefore|tagafter)[(][\\]-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1], dTags', sCode) sCode = re.sub(r"\bspace_after[(][\\](\d+)", 'g_space_between_tokens(lToken[nTokenOffset+\\1], lToken[nTokenOffset+\\1+1]', sCode) sCode = re.sub(r"\bspace_after[(][\\]-(\d+)", 'g_space_between_tokens(lToken[nLastToken-\\1+1], lToken[nLastToken-\\1+2]', sCode) sCode = re.sub(r"\banalyse_with_next[(][\\](\d+)", 'g_merged_analyse(lToken[nTokenOffset+\\1], lToken[nTokenOffset+\\1+1]', sCode) sCode = re.sub(r"\banalyse_with_next[(][\\]-(\d+)", 'g_merged_analyse(lToken[nLastToken-\\1+1], lToken[nLastToken-\\1+2]', sCode) sCode = re.sub(r"\b(morph|analyse|tag|meta|value)\(>1", 'g_\\1(lToken[nLastToken+1]', sCode) # next token sCode = re.sub(r"\b(morph|analyse|tag|meta|value)\(<1", 'g_\\1(lToken[nTokenOffset]', sCode) # previous token sCode = re.sub(r"\b(morph|analyse|tag|meta|value)\(>(\d+)", 'g_\\1(g_token(lToken, nLastToken+\\2)', sCode) # next token |
︙ | ︙ |
Modified doc/syntax.txt from [9d8b7e574a] to [ae64accd19].
︙ | ︙ | |||
354 355 356 357 358 359 360 | `tag(n, tag)` > Returns True if <tag> exists on taken the nth token. `tag_before(n, tag)` > Returns True if <tag> is found any token before the nth tag. | | | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | `tag(n, tag)` > Returns True if <tag> exists on taken the nth token. `tag_before(n, tag)` > Returns True if <tag> is found any token before the nth tag. `tag_after(n, tag)` > Returns True if <tag> is found any token after the nth tag. ### Functions for regex and token rules `__also__` |
︙ | ︙ | |||
617 618 619 620 621 622 623 | =>> exclude(\1, "po:verb") =>> exclude(\1, "po:verb") and define(\2, ["po:adv"]) and select(\3, "po:adv") Note: All these functions ALWAYS return True. If `select()` and `exclude()` generate an empty list, nothing change. | | | | 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 | =>> exclude(\1, "po:verb") =>> exclude(\1, "po:verb") and define(\2, ["po:adv"]) and select(\3, "po:adv") Note: All these functions ALWAYS return True. If `select()` and `exclude()` generate an empty list, nothing change. With `define()` and `addmorph()`, you must set a list of POS tags. Example: =>> define(\1, ["po:nom is:plur", "po:adj is:sing", "po:adv"]) =>> addmorph(\1, ["po:adv"]) ### Tagging **Only for token rules**. Tagging can be done with the command `/>>`. You can set one or several tags at once. Use `|` as a separator. Example: `/>> a_tag` to set the same tag on all takens of the rule. Example: `/3>> a_tag` to set the tag on the third token. |
︙ | ︙ | |||
665 666 667 668 669 670 671 | DEF: name definition Usage: `{name}` will be replaced by its definition Example: | | | 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 | DEF: name definition Usage: `{name}` will be replaced by its definition Example: DEF: word_3_letters \w\w\w+ DEF: uppercase_token ~^[A-Z]+$ DEF: month_token [January|February|March|April|May|June|July|August|September|October|November|december] ({word_3_letters}) (\w+) <<- condition ->> suggestion && message|URL {uppercase_token} {month_token} <<- condition ->> message && message|URL |
Modified gc_core/js/lang_core/gc_functions.js from [66aee0aeb8] to [aa38f73dea].
︙ | ︙ | |||
295 296 297 298 299 300 301 | let bResult = lMorph.some(sMorph => (sMorph.search(sPattern) !== -1)); if (bResult && bSetMorph) { oToken1["lMorph"] = lMorph; } return bResult; } | | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | let bResult = lMorph.some(sMorph => (sMorph.search(sPattern) !== -1)); if (bResult && bSetMorph) { oToken1["lMorph"] = lMorph; } return bResult; } function g_tagbefore (oToken, dTags, sTag) { if (!dTags.has(sTag)) { return false; } if (oToken["i"] > dTags.get(sTag)[0]) { return true; } return false; } function g_tagafter (oToken, dTags, sTag) { if (!dTags.has(sTag)) { return false; } if (oToken["i"] < dTags.get(sTag)[1]) { return true; } return false; |
︙ | ︙ | |||
419 420 421 422 423 424 425 | let lSelect = lMorph.filter( sMorph => sMorph.search(sPattern) === -1 ); if (lSelect.length > 0 && lSelect.length != lMorph.length) { oToken["lMorph"] = lSelect; } return true; } | | | | | 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 | let lSelect = lMorph.filter( sMorph => sMorph.search(sPattern) === -1 ); if (lSelect.length > 0 && lSelect.length != lMorph.length) { oToken["lMorph"] = lSelect; } return true; } function g_addmorph (oToken, sNewMorph) { // Disambiguation: add a morphology to a token let lMorph = (oToken.hasOwnProperty("lMorph")) ? oToken["lMorph"] : gc_engine.oSpellChecker.getMorph(oToken["sValue"]); lMorph.push(...sNewMorph.split("|")); oToken["lMorph"] = lMorph; return true; } function g_rewrite (oToken, sToReplace, sReplace) { // Disambiguation: rewrite morphologies let lMorph = (oToken.hasOwnProperty("lMorph")) ? oToken["lMorph"] : gc_engine.oSpellChecker.getMorph(oToken["sValue"]); oToken["lMorph"] = lMorph.map(s => s.replace(sToReplace, sReplace)); return true; } function g_define (oToken, sMorphs) { // set morphologies of <oToken>, always return true oToken["lMorph"] = sMorphs.split("|"); return true; } function g_definefrom (oToken, nLeft=null, nRight=null) { let sValue = oToken["sValue"]; if (nLeft !== null) { sValue = (nRight !== null) ? sValue.slice(nLeft, nRight) : sValue.slice(nLeft); } oToken["lMorph"] = gc_engine.oSpellChecker.getMorph(sValue); return true; } function g_setmeta (oToken, sType) { // Disambiguation: change type of token oToken["sType"] = sType; return true; } |
︙ | ︙ |
Modified gc_core/py/lang_core/gc_functions.py from [2ffbd61317] to [35f4fd30c3].
︙ | ︙ | |||
244 245 246 247 248 249 250 | zPattern = re.compile(sPattern) bResult = any(zPattern.search(sMorph) for sMorph in lMorph) if bResult and bSetMorph: dToken1["lMorph"] = lMorph return bResult | | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | zPattern = re.compile(sPattern) bResult = any(zPattern.search(sMorph) for sMorph in lMorph) if bResult and bSetMorph: dToken1["lMorph"] = lMorph return bResult def g_tagbefore (dToken, dTags, sTag): "returns True if <sTag> is present on tokens before <dToken>" if sTag not in dTags: return False if dToken["i"] > dTags[sTag][0]: return True return False def g_tagafter (dToken, dTags, sTag): "returns True if <sTag> is present on tokens after <dToken>" if sTag not in dTags: return False if dToken["i"] < dTags[sTag][1]: return True return False |
︙ | ︙ | |||
361 362 363 364 365 366 367 | lSelect = [ sMorph for sMorph in lMorph if not re.search(sPattern, sMorph) ] if lSelect and len(lSelect) != len(lMorph): dToken["lMorph"] = lSelect #echo("DA:", dToken["sValue"], dToken["lMorph"]) return True | | | 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | lSelect = [ sMorph for sMorph in lMorph if not re.search(sPattern, sMorph) ] if lSelect and len(lSelect) != len(lMorph): dToken["lMorph"] = lSelect #echo("DA:", dToken["sValue"], dToken["lMorph"]) return True def g_addmorph (dToken, sNewMorph): "Disambiguation: add a morphology to a token" lMorph = dToken["lMorph"] if "lMorph" in dToken else _oSpellChecker.getMorph(dToken["sValue"]) lMorph.extend(sNewMorph.split("|")) dToken["lMorph"] = lMorph return True |
︙ | ︙ | |||
383 384 385 386 387 388 389 | def g_define (dToken, sMorphs): "Disambiguation: set morphologies of <dToken>, always return True" dToken["lMorph"] = sMorphs.split("|") #echo("DA:", dToken["sValue"], lMorph) return True | | | | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | def g_define (dToken, sMorphs): "Disambiguation: set morphologies of <dToken>, always return True" dToken["lMorph"] = sMorphs.split("|") #echo("DA:", dToken["sValue"], lMorph) return True def g_definefrom (dToken, nLeft=None, nRight=None): "Disambiguation: set morphologies of <dToken> with slicing its value with <nLeft> and <nRight>" if nLeft is not None: dToken["lMorph"] = _oSpellChecker.getMorph(dToken["sValue"][slice(nLeft, nRight)]) else: dToken["lMorph"] = _oSpellChecker.getMorph(dToken["sValue"]) return True def g_setmeta (dToken, sType): "Disambiguation: change type of token" dToken["sType"] = sType return True #### GRAMMAR CHECKER PLUGINS |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [f8fdf0f604] to [16cbef8ec3].
︙ | ︙ | |||
1858 1859 1860 1861 1862 1863 1864 | #TEST: +{{1.5}} dioptrie #TEST: j’en veux 2.000 #TEST: et moi 3.000.000 de dollars __virg_après_verbe_COD__ [le|la|l’|les] $:Y¬:N $:M | | | | 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 | #TEST: +{{1.5}} dioptrie #TEST: j’en veux 2.000 #TEST: et moi 3.000.000 de dollars __virg_après_verbe_COD__ [le|la|l’|les] $:Y¬:N $:M <<- /virg/ not value(\2, "|appeler|") and not tagbefore(\1, "_que_") and not tagbefore(\1, "_comme_") -2>> \2, && Si “\-1” marque le début d’une proposition, une virgule est probablement souhaitable. [le|la|l’|les] *WORD ?[cher|chère]¿ @:M[12] <end> <<- /virg/ morph(\2, ":[123][sp]", ">appeler/|:[NA]") and not tagbefore(\1, "_que_") and not tagbefore(\1, "_comme_") -2>> \2, && Si “\-2” est une personne apostrophée, alors il faut mettre le nom en incise.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?Th=2&t1=&id=3412 TEST: Tu vas les {{donner}} Rachel. TEST: Il va la {{tuer}} Paul. TEST: je le {{sais}} chère Paula TEST: Ma fille, je vais l’appeler Deirdre. TEST: Cependant les promesses n’engagent que ceux qui les croient, comme aimait à le dire Jacques Chirac. |
︙ | ︙ | |||
2372 2373 2374 2375 2376 2377 2378 | ce @:[NA].*:[me]:[si]¬:(?:3[sp]|V0) <<- not value(<1, "|il|elle|on|iel|ils|elles|iels|ne|n’|") =>> select(\-1, ":[NA]") sa @¬:(?:V0|3s) <<- =>> exclude(\2, ":V") les ~.es$ | | | 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 | ce @:[NA].*:[me]:[si]¬:(?:3[sp]|V0) <<- not value(<1, "|il|elle|on|iel|ils|elles|iels|ne|n’|") =>> select(\-1, ":[NA]") sa @¬:(?:V0|3s) <<- =>> exclude(\2, ":V") les ~.es$ <<- not value(<1, "|tu|ne|n’|me|m’|te|t’|se|s’|nous|vous|") and morph(\2, ":V1.*Ip.*:2s") and not tagbefore(\1, "_2s_") and not value(>1, "|tu|pas|jamais|") =>> exclude(\2, ":V") [un|une] *WORD <<- not value(<1, "|l’|quelqu’|quelqu|") and not value(\2, "|a|fut|fût|est|fait|") and not morph(\2, ":P") =>> exclude(\2, ":V") [/_VCint_|/_VCimp_] [le|la|l’|leur|les] $:¬:Y <<- =>> select(\2, ":D") |
︙ | ︙ | |||
2426 2427 2428 2429 2430 2431 2432 | __da_groupe_nominal__cas_particuliers__ [au|aux] alentour <<- =>> select(\2, ":N") avions | | | 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 | __da_groupe_nominal__cas_particuliers__ [au|aux] alentour <<- =>> select(\2, ":N") avions <<- not tagbefore(\1, "_1p_") and not value(<1, "|n’|") and not value(>1, "|nous|") =>> select(\-1, ":N") l’ avions <<- morph(<1, ":Y") =>> select(\-1, ":N") bac + ~^\d\d?$ <<- ~>> ␣ <<- =>> define(\1, ":N:e:i") |
︙ | ︙ | |||
2473 2474 2475 2476 2477 2478 2479 | __da_couleurs_invariables__ *WORD [abricot|acajou|amarante|anthracite|aubergine|brique|caca|café|cannelle|caramel|carmin|carotte|cerise|châtaigne|chocolat|citron|corail|crème|fuchsia|groseille|havane|jonquille|marron|mastic|nacarat|ocre|olive|paille|parme|pastel|pervenche|pie|prune|sable|tabac|vermillon] <<- morph(\1, ":(?:D.*:p|B)") =>> exclude(\2, ":A:e:i") __da_noms_propres__ Concorde | | | | 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 | __da_couleurs_invariables__ *WORD [abricot|acajou|amarante|anthracite|aubergine|brique|caca|café|cannelle|caramel|carmin|carotte|cerise|châtaigne|chocolat|citron|corail|crème|fuchsia|groseille|havane|jonquille|marron|mastic|nacarat|ocre|olive|paille|parme|pastel|pervenche|pie|prune|sable|tabac|vermillon] <<- morph(\1, ":(?:D.*:p|B)") =>> exclude(\2, ":A:e:i") __da_noms_propres__ Concorde <<- not morph(<1, ":D.*:f") =>> addmorph(\1, ">Concorde/:MP:m:i") Mustang <<- not morph(<1, ":D.*:m") =>> addmorph(\1, ">Mustang/:MP:f:i") TEST: le crash du Concorde TEST: elle a acheté une Mustang !!! |
︙ | ︙ | |||
2625 2626 2627 2628 2629 2630 2631 | ni <<- />> _ni_ __tag_noms__ ~\w-là$ <<- />> -là | | | 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 | ni <<- />> _ni_ __tag_noms__ ~\w-là$ <<- />> -là <<- =>> =definefrom(\1, 0, -3) ## _1M_ : première lettre majuscule ## _CAP_ : toutes capitales ## _Cap_ : première lettre capitale, les autres minuscules ~^[A-ZÀÂÉÈÊÎÏÔ] <<- />> _Maj_ <<- \1.isupper() />> _CAP_ |
︙ | ︙ | |||
2651 2652 2653 2654 2655 2656 2657 | alors [que|qu’] dès lors [que|qu’] <<- ~>> ␣ <<- =>> define(\1, ":Cs") quelqu’ [un|une] <<- ~>> ␣ | | < | | 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 | alors [que|qu’] dès lors [que|qu’] <<- ~>> ␣ <<- =>> define(\1, ":Cs") quelqu’ [un|une] <<- ~>> ␣ <<- =>> setmeta(\1, "WORD") [ [m|t|s] ] [a|on|es] [ [n|v] ] [otre|ôtre] <<- space_after(\1, 0, 0) and space_after(\2, 0, 0) and space_after(\3, 0, 0) ~>> ␣\2\4 <<- =>> setmeta(\1, "WORD") TEST: [s]es {{homme}} ->> hommes TEST: des effets sur [s]es états d’âme, [s]on corps __fusions_noms_communs__ au revoir |
︙ | ︙ | |||
2695 2696 2697 2698 2699 2700 2701 | notre père <<- morph(<1, ":D.*:[mp]") ~>> ␣ <<- __also__ =>> define(\1, ":N:m:i") presqu’ [>ile|>île] <<- ~>> ␣ | | | 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 | notre père <<- morph(<1, ":D.*:[mp]") ~>> ␣ <<- __also__ =>> define(\1, ":N:m:i") presqu’ [>ile|>île] <<- ~>> ␣ <<- =>> setmeta(\1, "WORD") nec plus ultra terra incognita statu quo <<- ~>> ␣ *NUM : *NUM |
︙ | ︙ | |||
4558 4559 4560 4561 4562 4563 4564 | __eleu_n_superflu__ on n’ [a|avait|eut|aura|aurait|eût] rarement <<- /eleu/ -2:3>> \3 && Adverbe de négation erroné. Rarement signifie que ça arrive, pas que ça n’arrive pas. on n’ [a|avait|eut|aura|aurait|eût] [>besoin|>chaud|>crainte|>faim|>froid|>peur|>soif] | | | 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 | __eleu_n_superflu__ on n’ [a|avait|eut|aura|aurait|eût] rarement <<- /eleu/ -2:3>> \3 && Adverbe de négation erroné. Rarement signifie que ça arrive, pas que ça n’arrive pas. on n’ [a|avait|eut|aura|aurait|eût] [>besoin|>chaud|>crainte|>faim|>froid|>peur|>soif] <<- /eleu/ not tagafter(\-1, "_que_") and not value(<1, "|jamais|guère|") -2:3>> \3|n’\3 pas|n’\3 jamais|n’\3 plus|n’\3 guère && Adverbe de négation superflu ou manquant. TEST: on {{n’a}} rarement besoin d’avoir accès à plus de 10 logiciels. ->> a TEST: on {{n’avait}} faim. ->> avait|n’avait pas|n’avait jamais|n’avait plus|n’avait guère TEST: on n’avait peur que lorsque la tempête soufflait TEST: jamais on n’eut besoin d’une telle chose. |
︙ | ︙ | |||
4903 4904 4905 4906 4907 4908 4909 | !!!! Dates !! __fusion_date__ *NUM - ~^\d\d?$ - ~^\d{2,5}$ <<- \1.isdigit() ~>> ␣ | | | 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 | !!!! Dates !! __fusion_date__ *NUM - ~^\d\d?$ - ~^\d{2,5}$ <<- \1.isdigit() ~>> ␣ <<- =>> setmeta(\1, "DATE") __date_jour_mois_année__ 31 [avril|juin|septembre|novembre] <<- /date/ space_after(\1, 1, 1) ->> 30 \2 && Cette date est invalide. Il n’y a que 30 jours en \2. [30|31] février |
︙ | ︙ | |||
5124 5125 5126 5127 5128 5129 5130 | <<- ~1>> * [une|la|cette|cet|ma|ta|sa] pseudo @:N.*:f <<- /tu/ -2:3>> pseudo-\3 && Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union. <<- ~2>> * ~^[pP]seudo-\w+ | | | 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 | <<- ~1>> * [une|la|cette|cet|ma|ta|sa] pseudo @:N.*:f <<- /tu/ -2:3>> pseudo-\3 && Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union. <<- ~2>> * ~^[pP]seudo-\w+ <<- =>> definefrom(\1, 7) TEST: il n’avait contracté qu’un {{pseudo mariage}}. TEST: elle connaissait de {{cet}} pseudo-prêtresse uniquement de nom. TEST: la {{pseudo taxe}} carbone __tu_mots_composés_verbe_nom__ |
︙ | ︙ | |||
5984 5985 5986 5987 5988 5989 5990 | !!!! Trait d’union : formes interrogative (nous/vous) !! __inte_union_nous1!7__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~ons$ nous [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~ons$ nous [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~ons$ nous [ne|n’] [lui|leur|y] en ~ons$ nous | | | 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 | !!!! Trait d’union : formes interrogative (nous/vous) !! __inte_union_nous1!7__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~ons$ nous [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~ons$ nous [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~ons$ nous [ne|n’] [lui|leur|y] en ~ons$ nous <<- /inte/ space_after(\-2, 1, 1) and morph(\-2, ":V.*:1p", ":[GW]") and not tagbefore(\1, "_1p_") --2:-1>> \-2-\-1 && Forme interrogative ? Mettez un trait d’union. , ~ons$ nous [<end>|,|)] , ~ons$ nous @:¬:(?:1p|Y) <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:1p", ":[GW]") and not value(\2, "|veuillons|sachons|") -2:3>> \2-\3 && Forme interrogative ? Mettez un trait d’union. |
︙ | ︙ | |||
6018 6019 6020 6021 6022 6023 6024 | __inte_union_vous1!7__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~ez$ vous [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~ez$ vous [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~ez$ vous [ne|n’] [lui|leur|y] en ~ez$ vous | | | 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 | __inte_union_vous1!7__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~ez$ vous [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~ez$ vous [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~ez$ vous [ne|n’] [lui|leur|y] en ~ez$ vous <<- /inte/ space_after(\-2, 1, 1) and morph(\-2, ":V.*:2p", ":[GW]") and not tagbefore(\1, "_2p_") --2:-1>> \-2-\-1 && Forme interrogative ? Mettez un trait d’union. , ~ez$ vous [<end>|,|)] , ~ez$ vous @:¬:(?:2p|Y) <<- /inte/ space_after(\2, 1, 1) and morph(\2, ":V.*:2p", ":[GW]") and not value(\2, "|veuillez|sachez|") -2:3>> \2-\3 && Forme interrogative ? Mettez un trait d’union. |
︙ | ︙ | |||
7220 7221 7222 7223 7224 7225 7226 | !! !! ## Incohérences avec formes verbales 1sg et 2sg sans sujet __conj_1s_sans_sujet_xxxai!3__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~ai$ | | | | | | | | | | | | | | | 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 | !! !! ## Incohérences avec formes verbales 1sg et 2sg sans sujet __conj_1s_sans_sujet_xxxai!3__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~ai$ <<- /conj/ not tagbefore(\1, "_1s_") and morph(\-1, ":1s", ":(?:E|G|W|M|J|3[sp])") --1>> =suggVerb(\-1, ":3s") && Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. [me|m’|te|t’] ?[le|la|l’|les|en|y]¿ ~ai$ [le|la|l’|les] [lui|leur|en|y] ~ai$ [lui|leur] en ~ai$ <<- /conj/ not tagbefore(\1, "_1s_") and morph(\-1, ":1s", ":(?:E|G|W|M|J|3[sp])") --1>> =suggVerb(\-1, ":3s") && Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. [nous|vous] ?[le|la|l’|les|en|y]¿ ~ai$ <<- /conj/ not tagbefore(\-1, "_1s_") and not morph(<1, ":R") and morph(\-1, ":1s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. ~ai$ <<- /conj/ not tagbefore(\1, "_1s_") and morph(\1, ":1s", ":(?:E|G|W|M|J|3[sp]|N|A|Q)") and not (\1.istitle() and before0("\\w")) -1>> =suggVerb(\1, ":3s") && Incohérence. Ceci est un verbe à la 1ʳᵉ personne du singulier. Sujet (“je” ou “moi qui”) introuvable. TEST: avançait et s’{{donnai}} en spectacle TEST: il avancera, ne {{serai}} ce que de quelques pas TEST: m’{{occupai}} que deux jours, cette ânerie TEST: Lui, quand il y pensait, en {{arrivai}} à chaque fois à la même conclusion. TEST: {{dansai}} puis oubliait TEST: ce qui, dans le meilleur des cas, peut-être, oui, c’est vrai, vous {{donnerai}} l’avantage. __conj_2s_sans_sujet_xxxas_xxxes!3__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~[ae]s$ <<- /conj/ not tagbefore(\1, "_2s_") and morph(\-1, ":2s", ":(?:E|G|W|M|J|3[sp]|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. [me|m’|te|t’] ?[le|la|l’|les|en|y]¿ ~[ae]s$ [le|la|l’|les] [lui|leur|en|y] ~[ae]s$ [lui|leur] en ~[ae]s$ <<- /conj/ not tagbefore(\-1, "_2s_") and morph(\-1, ":2s", ":(?:E|G|W|M|J|3[sp]|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. [nous|vous] ?[le|la|l’|les|en|y]¿ ~[ae]s$ <<- /conj/ not tagbefore(\-1, "_2s_") and not morph(<1, ":R") and morph(\-1, ":2s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. ~..[ae]s$ <<- /conj/ not tagbefore(\1, "_2s_") and morph(\1, ":2s", ":(?:E|G|W|M|J|3[sp]|N|A|Q|1p)") and not (\1.istitle() and before0("\\w")) -1>> =suggVerb(\1, ":3s") && Incohérence. Ceci est un verbe à la 2ᵉ personne du singulier. Sujet (“tu” ou “toi qui”) introuvable. TEST: se {{demandes}} comment faire TEST: oui, il l’ignorait, ne me {{demandes}} comment c’était possible TEST: c’est ça, me {{demandes}} comment c’est possible TEST: je me questionne, {{exiges}} des réponses mais n’en obtiens pas… TEST: Caroline, quand l’heure viendra, {{décideras}} de la conduite à tenir. TEST: {{arrimeras}} le voilier TEST: n’est-ce pas, indubitablement, nous la {{contestes}} TEST: nous laisserons derrière nous les empires de la Terre. __conj_1s_2s_sans_sujet_xxxs!3__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~[iudnrtpcï]s$ <<- /conj/ not tagbefore(\1, "_1s_") and not tagbefore(\1, "_2s_") and morph(\-1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. [me|m’|te|t’] ?[le|la|l’|les|en|y]¿ ~[iudnrtpcï]s$ [le|la|l’|les] [lui|leur|en|y] ~[iudnrtpcï]s$ [lui|leur] en ~[iudnrtpcï]s$ <<- /conj/ not tagbefore(\-1, "_1s_") and not tagbefore(\-1, "_2s_") and morph(\-1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. [nous|vous] ?[le|la|l’|les|en|y]¿ ~[iudnrtpcï]s$ <<- /conj/ not tagbefore(\-1, "_1s_") and not tagbefore(\1, "_2s_") and not morph(<1, ":R") and morph(\-1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p)") --1>> =suggVerb(\-1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. étais <<- /conj/ not tagbefore(\1, "_1s_") and not tagbefore(\1, "_2s_") and not (\1.istitle() and before0("\\w")) and not morph(<1, ":[DA].*:p") -1>> =suggVerb(\1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. ~[iudnrtpcï]s$ <<- /conj/ not tag(\1, "eg1mot") and not tagbefore(\1, "_1s_") and not tagbefore(\1, "_2s_") and morph(\1, ":[12]s", ":(?:E|G|W|M|J|3[sp]|2p|1p|V0e|N|A|Q)") and not (\1.istitle() and before0("\\w")) -1>> =suggVerb(\1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. TEST: s’{{précipitais}} dans la gueule du loup TEST: ne leur {{donnais}} aucune raison de se faire aimer TEST: leur en {{faisais}} baver TEST: vous en {{donnais}} pour votre argent, ce type. |
︙ | ︙ | |||
7318 7319 7320 7321 7322 7323 7324 | __conj_peux_veux_vaux_équivaux_prévaux_sans_sujet!3__ [ne|n’] ?[le|la|l’|les|en|vous|lui|leur|y]¿ [peux|veux|vaux|équivaux|prévaux] [me|m’|te|t’|nous|vous] ?[le|la|l’|les|en|y]¿ [peux|veux|vaux|équivaux|prévaux] [le|la|l’|les] [lui|leur|en|y] [peux|veux|vaux|équivaux|prévaux] [lui|leur] en [peux|veux|vaux|équivaux|prévaux] | | | | | | | 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 | __conj_peux_veux_vaux_équivaux_prévaux_sans_sujet!3__ [ne|n’] ?[le|la|l’|les|en|vous|lui|leur|y]¿ [peux|veux|vaux|équivaux|prévaux] [me|m’|te|t’|nous|vous] ?[le|la|l’|les|en|y]¿ [peux|veux|vaux|équivaux|prévaux] [le|la|l’|les] [lui|leur|en|y] [peux|veux|vaux|équivaux|prévaux] [lui|leur] en [peux|veux|vaux|équivaux|prévaux] <<- /conj/ not tagbefore(\1, "_1s_") and not tagbefore(\1, "_2s_") --1>> =suggVerb(\-1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. vaux <<- /conj/ not tagbefore(\1, "_1s_") and not tagbefore(\1, "_2s_") and not (\1.istitle() and before0("\\w")) and not morph(<1, ":(?:R|D.*:p)") -1>> =suggVerb(\1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. [peux|veux|équivaux|prévaux] <<- /conj/ not tagbefore(\1, "_1s_") and not tagbefore(\1, "_2s_") and not (\1.istitle() and before0("\\w")) -1>> =suggVerb(\1, ":3s") && Incohérence. Le sujet de cette forme verbale est introuvable. TEST: tu sais, s’{{équivaux}}, voilà. TEST: tu sais, s’en {{veux}} d’avoir raté ça. TEST: s’{{peux}} qu’il avait faim, va savoir TEST: n’{{équivaux}} pas à ma BMW, cette tire. TEST: faut voir, ces hommes, lui, tu sais, l’en peux TEST: la lui {{donnais}} sans contrepartie TEST: {{vaux}} pas ça, ce truc. TEST: ouais, ce serait pas de refus, ouais, {{peux}} peut-être nous aider 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. ## Incohérences avec formes verbales 1pl et 2pl sans sujet __conj_1p_sans_sujet!3__ ~ons$ <<- /conj/ morph(\1, ":1p", ":[EGMNAJ]") and not tagbefore(\1, "_1p_") and not (\1.istitle() and before0("\\w")) -1>> =suggVerb(\1, ":3p") && Ceci est un verbe à la 1ʳᵉ personne du pluriel. Sujet (“nous” ou équivalent) introuvable. __conj_2p_sans_sujet!3__ ~ez$ <<- /conj/ morph(\1, ":2p", ":[EGMNAJ]") and not tagbefore(\2, "_2p_") and not (\1.istitle() and before0("\\w")) -1>> =suggVerb(\1, ":3p") && 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 |
︙ | ︙ | |||
7783 7784 7785 7786 7787 7788 7789 | TEST: en tant qu’{{abaisse}} TEST: en tant que tel __conf_presque_vconj__ presque @:[123][sp]¬:[GNAQWM] | | | 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 | TEST: en tant qu’{{abaisse}} TEST: en tant que tel __conf_presque_vconj__ presque @:[123][sp]¬:[GNAQWM] <<- /conf/ not tagbefore(\1, "_ceque_") and not value(<1, "|ou|") -2>> _ && Incohérence probable avec “presque” : « \2 » n’est ni un adjectif, ni un participe passé, ni un adverbe. TEST: presque {{délaissait}} par tout le monde. TEST: Tout le monde ou presque déteste ces gens-là. __conf_sur_vconj__ sur @:(?:[123][sp]|P)¬:[GNAQM] |
︙ | ︙ | |||
7852 7853 7854 7855 7856 7857 7858 | # pour justifiée qu’elle fût # [aussi|si] habile qu’il soit __conf_trop_vconj__ trop @:[123][sp]¬:(?:[GNAQWM]|3p) | | | 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 | # pour justifiée qu’elle fût # [aussi|si] habile qu’il soit __conf_trop_vconj__ trop @:[123][sp]¬:(?:[GNAQWM]|3p) <<- /conf/ not tagbefore(\1, "_ceque_") -2>> _ && Incohérence probable avec “trop” : “\2” n’est ni un adjectif, ni un participe passé, ni un adverbe. TEST: J’ai trop {{mangeais}}. TEST: Ce que nous réussissons presque sera considéré comme un échec. __conf_très_verbe__ très @:(?:Y|[123][sp])¬:[AQW] |
︙ | ︙ | |||
10299 10300 10301 10302 10303 10304 10305 | TEST: Un homme pas {{évidement}} intelligible. TEST: L’{{évidemment}} du sanglier ne sera pas si facile. # en fait __conf_en_fait__ en [faite|>faîte] | | | 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 | TEST: Un homme pas {{évidement}} intelligible. TEST: L’{{évidemment}} du sanglier ne sera pas si facile. # en fait __conf_en_fait__ en [faite|>faîte] <<- /conf/ not value(<1, "|n’|") and not tagbefore(\1, "_2p_") ->> en fait && Confusion probable : « en fait » qui signifie « en réalité ». Le faîte est la partie la plus élevée d’un bâtiment. TEST: {{en faite}}, on en voit partout, ça grouille. TEST: ils sont {{en faîtes}} partis à la montagne. TEST: Aujourd’hui, n’en faites pas trop. |
︙ | ︙ | |||
12571 12572 12573 12574 12575 12576 12577 | [qui|que|comment|pourquoi|lorsque|quand] son [,|@:[DR]] <<- /conf/ -2>> sont && Confusion probable : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”. [<start>|,|(] sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW] <<- /conf/ -2>> son && Confusion probable : “sont” est la forme verbale de “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”. sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW] | | | 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 | [qui|que|comment|pourquoi|lorsque|quand] son [,|@:[DR]] <<- /conf/ -2>> sont && Confusion probable : “son” est un déterminant ou un nom masculin. Le verbe “être” à la 3ᵉ personne du pluriel s’écrit “sont”. [<start>|,|(] sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW] <<- /conf/ -2>> son && Confusion probable : “sont” est la forme verbale de “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”. sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW] <<- /conf/ morph(<1, ":(?:V|Cs|R)", ":(?:[NA].*:[pi]|Ov)") and not tagbefore(\1, "_ceque_") -1>> son && Confusion probable : “sont” est la forme verbale de “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”. [à|chez|dès|par] sont [avec|contre|devant|derrière|pour|sans|sur] sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW] <<- /conf/ -2>> son && Confusion probable : “sont” est la forme verbale de “être” à la 3ᵉ personne du pluriel. Pour le déterminant, écrivez “son”. en sont @:[NA].*:[me]:s|>[aeéiîou].*/:[NA].*:f:s¬:[GW] |
︙ | ︙ | |||
16814 16815 16816 16817 16818 16819 16820 | haut [placé+ses] <<- not value(<1, "|en|de|d’|") ~1>> * haut et fort <<- not morph(<1, ":D") ~>> * hélas | | | 16813 16814 16815 16816 16817 16818 16819 16820 16821 16822 16823 16824 16825 16826 16827 | haut [placé+ses] <<- not value(<1, "|en|de|d’|") ~1>> * haut et fort <<- not morph(<1, ":D") ~>> * hélas <<- not morph(<1, ":(?:X|Ov)") and not tagbefore(\1, "_2s_") ~>> * [hein|hop] <<- not morph(<1, ":D") ~>> * la lettre [a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z] @:(?:3s|Ov) <<- ~3>> * |
︙ | ︙ | |||
19337 19338 19339 19340 19341 19342 19343 | >prêter attention a enclin a en être [réduit+ses] a en [hommage|proie] a [m’|t’|s’] en >remettre a nous nous en >remettre a vous vous en >remettre a | | | | | 19336 19337 19338 19339 19340 19341 19342 19343 19344 19345 19346 19347 19348 19349 19350 19351 19352 19353 19354 19355 19356 19357 19358 19359 19360 19361 19362 19363 19364 19365 19366 19367 19368 19369 | >prêter attention a enclin a en être [réduit+ses] a en [hommage|proie] a [m’|t’|s’] en >remettre a nous nous en >remettre a vous vous en >remettre a <<- /conf/ \-1 != "A" and not tagbefore(\1, "_àCOI_") and not value(>1, "|été|") --1>> à && Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0 [>abandonner|>accorder|>adapter|>adjoindre|>adresser|>affirmer|>agréer|>aider|>ajouter|>amener|>annoncer|>appeler|>applaudir|>appliquer|>apporter|>apprendre|>arguer|>argüer|>aspirer|>assujettir|>attacher|>atteindre|>attoucher|>attribuer|>autoriser|>avancer|>céder|>changer|>chicaner|>coller|>commander|>commencer|>conclure|>conférer|>confier|>confirmer|>conseiller|>consentir|>conspirer|>continuer|>convertir|>couper|>couter|>coûter|>croire|>décider|>déclarer|>décrire|>défendre|>déférer|>demander|>destiner|>devoir|>dire|>disposer|>disputer|>donner|>échapper|>écrire|>élever|>employer|>engager|>enjoindre|>entendre|>envoyer|>exercer|>expliquer|>exposer|>falloir|>fermer|>filer|>forfaire|>former|>fournir|>gouter|>goûter|>impartir|>imputer|>infliger|>insulter|>intégrer|>intéresser|>jeter|>justifier|>lier|>lire|>livrer|>manquer|>mesurer|>mettre|>montrer|>obliger|>obtenir|>offrir|>ouvrir|>parer|>parler|>passer|>payer|>penser|>permettre|>porter|>pourvoir|>prendre|>préparer|>prescrire|>présenter|>présider|>prétendre|>promettre|>protester|>quémander|>rappeler|>rapprendre|>ravir|>réapprendre|>recoller|>recourir|>redéclarer|>redire|>référer|>réfléchir|>refuser|>regarder|>réimputer|>remesurer|>remettre|>remontrer|>rendre|>renoncer|>reparler|>répondre|>reprendre|>répugner|>retoucher|>retravailler|>retweeter|>réussir|>révéler|>rêver|>satisfaire|>schtroumpfer|>servir|>signaler|>sonner|>soumettre|>souscrire|>soutenir|>statuer|>suppléer|>surseoir|>sursoir|>survendre|>téléphoner|>témoigner|>tendre|>tenir|>tirer|>toucher|>traduire|>travailler|>tweeter|>unir|>veiller|>vendre|>virer|>viser|>vouloir|>aboutir|>acquiescer|>adhérer|>apparaitre|>apparaître|>compatir|>complaire|>concourir|>confiner|>contribuer|>convenir|>coopérer|>correspondre|>déplaire|>désobéir|>disparaitre|>équivaloir|>mentir|>naitre|>naître|>nuire|>obéir|>obtempérer|>participer|>plaire|>profiter|>réagir|>rechigner|>renaitre|>renaître|>résister|>ressembler|>retéléphoner|>seoir|>songer|>sourire|>succéder|>succomber|>suffire|>surréagir|>survivre|>tarder|>vaquer] a >arriver a >condamner a ## locutions >avoir du mal a >dire [adieu|merde] a >donner du grain à moudre a >faire [barrage|barrière|confiance|écho] a >faire faux bond a >prêter serment a >rendre hommage a >rendre service a <<- /conf/ not tagbefore(\1, "_propsub_") and not morph(\1, ":[YNA]") and not value(>1, "|été|") --1>> à && Confusion probable : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0 @:V¬:[YGNAWM] a <<- /conf/ \-1 != "A" and not tag(\-1, "eg1mot") and not tagbefore(\1, "_propsub_") and not morph(>1, ":Q") --1>> à && Confusion probable : “a” est la conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0 [/_VCint_|/_VCimp_] a <<- /conf/ not value(\1, "|rendez-vous|") --1>> à && Confusion : “a” est la conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0 >passer du coq a l’ âne <<- /conf/ -4>> à && Confusion : “a” est la conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”.|https://fr.wiktionary.org/wiki/%C3%A0 |
︙ | ︙ | |||
19762 19763 19764 19765 19766 19767 19768 | TEST: Ils l’ont échappé {{bel}} # bien / bine __conf_bien_bine__ bine | | | 19761 19762 19763 19764 19765 19766 19767 19768 19769 19770 19771 19772 19773 19774 19775 | TEST: Ils l’ont échappé {{bel}} # bien / bine __conf_bien_bine__ bine <<- /conf/ not tagbefore(\1, "_propsub_") and morph(<1, ":V") ->> bien && Confusion probable. Erreur de frappe ? [<start>|,|(] bine [que|qu’|entendu|sûr] <<- /conf/ -2>> bien && Confusion probable. Erreur de frappe ? TEST: il me semblait {{bine}} que j’avais raison ->> bien TEST: il avance {{bine}} ->> bien |
︙ | ︙ | |||
21481 21482 21483 21484 21485 21486 21487 | __conf_prie_prit__ [me|te|le|la|nous|vous|les] prit [de|d’] [ne|n’|me|m’|te|t’|se|s’] [me|te|le|la|nous|vous|les] prit [de|d’] [le|la|l’|les|en|nous|vous|lui|leur|y] $:Y [me|te|le|la|nous|vous|les] prit [de|d’] [nous|vous] [le|la|l’|les|en|y] $:Y [me|te|le|la|nous|vous|les] prit [de|d’] [le|la|l’|les] [lui|leur|en|y] $:Y [me|te|le|la|nous|vous|les] prit [de|d’] [lui|leur|y] en $:Y [me|te|le|la|nous|vous|les] prit [de|d’] $:Y | | | 21480 21481 21482 21483 21484 21485 21486 21487 21488 21489 21490 21491 21492 21493 21494 | __conf_prie_prit__ [me|te|le|la|nous|vous|les] prit [de|d’] [ne|n’|me|m’|te|t’|se|s’] [me|te|le|la|nous|vous|les] prit [de|d’] [le|la|l’|les|en|nous|vous|lui|leur|y] $:Y [me|te|le|la|nous|vous|les] prit [de|d’] [nous|vous] [le|la|l’|les|en|y] $:Y [me|te|le|la|nous|vous|les] prit [de|d’] [le|la|l’|les] [lui|leur|en|y] $:Y [me|te|le|la|nous|vous|les] prit [de|d’] [lui|leur|y] en $:Y [me|te|le|la|nous|vous|les] prit [de|d’] $:Y <<- /conf/ not tagbefore(\1, "_cequi_") -2>> prie && Confusion probable. Si vous voulez dire “prier de faire quelque chose”, écrivez “prie”.|https://fr.wiktionary.org/wiki/prier TEST: elle me {{prit}} d’obéir TEST: je ne sais pas ce qui me prit de lui écrire # prêt / près / pré __conf_suivre_de_près__ |
︙ | ︙ | |||
24946 24947 24948 24949 24950 24951 24952 | [de|d’] leur en @:V¬:Y [de|d’] lui en @:V¬:[YP] <<- /infi/ --1>> =suggVerbInfi(\-1) && Après “de”, le verbe devrait être à l’infinitif. [de|d’] @:V1.*:Q¬:N <<- /infi/ not \2[0:1].isupper() and not morph(<1, ">(?:en|passer|qualifier)/") and not morph(\2, ">(?:fieffer|sacrer)/") and not before("(?i)(?:quelqu(?:e chose|’une?)|qu’y a-t-il |\\b(?:l(?:es?|a)|nous|vous|me|te|se) trait|personne|points? +$|autant +$|ça +|rien d(?:e |’)|rien(?: +[a-zéèêâîûù]+|) +$)") | | | 24945 24946 24947 24948 24949 24950 24951 24952 24953 24954 24955 24956 24957 24958 24959 | [de|d’] leur en @:V¬:Y [de|d’] lui en @:V¬:[YP] <<- /infi/ --1>> =suggVerbInfi(\-1) && Après “de”, le verbe devrait être à l’infinitif. [de|d’] @:V1.*:Q¬:N <<- /infi/ not \2[0:1].isupper() and not morph(<1, ">(?:en|passer|qualifier)/") and not morph(\2, ">(?:fieffer|sacrer)/") and not before("(?i)(?:quelqu(?:e chose|’une?)|qu’y a-t-il |\\b(?:l(?:es?|a)|nous|vous|me|te|se) trait|personne|points? +$|autant +$|ça +|rien d(?:e |’)|rien(?: +[a-zéèêâîûù]+|) +$)") and not tagbefore(\1, "_ceque_") -2>> =suggVerbInfi(\2) && Le verbe devrait être à l’infinitif. TEST: d’en {{parlé}} sans cesse TEST: cela suffit de les {{aimait}} TEST: de ne leur en {{avancé}} que le nécessaire. TEST: de l’y {{poussé}} TEST: je suis certain d’en {{choque}} plusieurs. |
︙ | ︙ | |||
25320 25321 25322 25323 25324 25325 25326 | <<- /infi/ not value(\1, "|devoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not (value(\1, "|devant|") and morph(\-1, ":N")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet doit accomplir, le verbe devrait être à l’infinitif. >devoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ai(?:s|t|ent))$ >devoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >devoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >devoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ | | | 25319 25320 25321 25322 25323 25324 25325 25326 25327 25328 25329 25330 25331 25332 25333 | <<- /infi/ not value(\1, "|devoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not (value(\1, "|devant|") and morph(\-1, ":N")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet doit accomplir, le verbe devrait être à l’infinitif. >devoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ai(?:s|t|ent))$ >devoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >devoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >devoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ <<- /infi/ not value(\1, "|devoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not (value(\1, "|devant|") and morph(\-1, ":N")) and not tagbefore(\1, "_ceque_") --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet doit accomplir, le verbe devrait être à l’infinitif. de devoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~(?:ée?s?|ez|ais)$ de devoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~(?:ée?s?|ez|ais)$ de devoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~(?:ée?s?|ez|ais)$ de devoir ?[ne|n’]¿ [lui|leur|y] en ~(?:ée?s?|ez|ais)$ <<- /infi/ morph(\-1, ":V", ":M") |
︙ | ︙ | |||
25354 25355 25356 25357 25358 25359 25360 | <<- /infi/ not value(\1, "|puis|pouvoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet peut accomplir, le verbe devrait être à l’infinitif. >pouvoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ai(?:s|t|ent))$ >pouvoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >pouvoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >pouvoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ | | | 25353 25354 25355 25356 25357 25358 25359 25360 25361 25362 25363 25364 25365 25366 25367 | <<- /infi/ not value(\1, "|puis|pouvoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet peut accomplir, le verbe devrait être à l’infinitif. >pouvoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ai(?:s|t|ent))$ >pouvoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >pouvoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >pouvoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ <<- /infi/ not value(\1, "|puis|pouvoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not tagbefore(\1, "_ceque_") --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet peut accomplir, le verbe devrait être à l’infinitif. [de|d’] pouvoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~(?:ée?s?|ez|ais)$ [de|d’] pouvoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~(?:ée?s?|ez|ais)$ [de|d’] pouvoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~(?:ée?s?|ez|ais)$ [de|d’] pouvoir ?[ne|n’]¿ [lui|leur|y] en ~(?:ée?s?|ez|ais)$ <<- /infi/ morph(\-1, ":V", ":M") |
︙ | ︙ | |||
25391 25392 25393 25394 25395 25396 25397 | <<- /infi/ not value(\1, "|savoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet sait accomplir, le verbe devrait être à l’infinitif. >savoir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ai(?:s|t|ent))$ >savoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >savoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >savoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ | | | 25390 25391 25392 25393 25394 25395 25396 25397 25398 25399 25400 25401 25402 25403 25404 | <<- /infi/ not value(\1, "|savoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet sait accomplir, le verbe devrait être à l’infinitif. >savoir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ai(?:s|t|ent))$ >savoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >savoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >savoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ <<- /infi/ not value(\1, "|savoirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not tagbefore(\1, "_ceque_") --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet sait accomplir, le verbe devrait être à l’infinitif. [de|d’] savoir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~(?:ée?s?|ez|ais)$ [de|d’] savoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~(?:ée?s?|ez|ais)$ [de|d’] savoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~(?:ée?s?|ez|ais)$ [de|d’] savoir ?[ne|n’]¿ [lui|leur|y] en ~(?:ée?s?|ez|ais)$ <<- /infi/ morph(\-1, ":V", ":M") |
︙ | ︙ | |||
25437 25438 25439 25440 25441 25442 25443 | <<- /infi/ not value(\1, "|vouloirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet veut accomplir, le verbe devrait être à l’infinitif. >vouloir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ai(?:s|t|ent))$ >vouloir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >vouloir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >vouloir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ | | | 25436 25437 25438 25439 25440 25441 25442 25443 25444 25445 25446 25447 25448 25449 25450 | <<- /infi/ not value(\1, "|vouloirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet veut accomplir, le verbe devrait être à l’infinitif. >vouloir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ai(?:s|t|ent))$ >vouloir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ai(?:s|t|ent))$ >vouloir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ai(?:s|t|ent))$ >vouloir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ai(?:s|t|ent))$ <<- /infi/ not value(\1, "|vouloirs|") and morph(\-1, ":V", ":M") and not (morph(\1, ":N") and morph(<1, ":D")) and not tagbefore(\1, "_ceque_") --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action que le sujet veut accomplir, le verbe devrait être à l’infinitif. [de|d’] vouloir ?[ne|n’]¿ ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~(?:ée?s?|ez|ai[ts]?)$ [de|d’] vouloir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~(?:ée?s?|ez|ai[ts]?)$ [de|d’] vouloir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~(?:ée?s?|ez|ai[ts]?)$ [de|d’] vouloir ?[ne|n’]¿ [lui|leur|y] en ~(?:ée?s?|ez|ai[ts]?)$ <<- /infi/ morph(\-1, ":V", ":M") |
︙ | ︙ | |||
25489 25490 25491 25492 25493 25494 25495 | __infi_falloir__ [faut|fallait|fallut|faudra|faudrait] @:V¬:[YMWG] il faille @:V¬:[YMWG] >avoir fallu @:V¬:[YMWG] [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il] @:V¬:[YMWG] | | | 25488 25489 25490 25491 25492 25493 25494 25495 25496 25497 25498 25499 25500 25501 25502 | __infi_falloir__ [faut|fallait|fallut|faudra|faudrait] @:V¬:[YMWG] il faille @:V¬:[YMWG] >avoir fallu @:V¬:[YMWG] [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il] @:V¬:[YMWG] <<- /infi/ not (tagbefore(\1, "_que_") and morph(\-1, ":3[sp]")) --1>> =suggVerbInfi(\-1) && Après le verbe “falloir”, le verbe devrait être à l’infinitif. [faut|fallait|fallut|faudra|faudrait] [le|la|leur|les|l’] @:V¬:[YMWGN] il faille [le|la|leur|les|l’] @:V¬:[YMWGN] >avoir fallu [le|la|leur|les|l’] @:V¬:[YMWGN] [faut-il|fallait-il|fallut-il|faudra-t-il|faudrait-il] [le|la|leur|les|l’] @:V¬:[YMWGN] <<- /infi/ --1>> =suggVerbInfi(\-1) && Après le verbe “falloir”, le verbe devrait être à l’infinitif. |
︙ | ︙ | |||
26740 26741 26742 26743 26744 26745 26746 | TEST: L’hôtel {{ou}} ils sont allés l’été dernier. TEST: une chambre {{ou}} nous n’avons rien trouvé ## Accord et incohérences __ppas_sont_adj__ sont *WORD | | | 26739 26740 26741 26742 26743 26744 26745 26746 26747 26748 26749 26750 26751 26752 26753 | TEST: L’hôtel {{ou}} ils sont allés l’été dernier. TEST: une chambre {{ou}} nous n’avons rien trouvé ## Accord et incohérences __ppas_sont_adj__ sont *WORD <<- /ppas/ morph(\2, ":V[123]", ":(?:N|A|Q|W|G|3p)") and not tagbefore(\1, "_ceque_") -2>> =suggVerbPpas(\2, ":m:p") && Incohérence : “\2” n’est pas un participe passé. TEST: après avoir mis à jour sont {{profile}}. TEST: maintenir en confinement certaines personnes sous prétexte qu’elles sont à risques serait une mesure inconstitutionnelle et discriminatoire. |
︙ | ︙ | |||
26898 26899 26900 26901 26902 26903 26904 | TEST: elles ne s’y étaient pas {{donnée}}. TEST: sans fin elles se sont succédé __ppas_se_être__ [me|m’|te|se|s’] ?[y|en]¿ >être *WORD <<- /ppas/ morph(\-1, ":(?:Y|[123][sp])", ":[QAG]") --1>> =suggVerbPpas(\-1) && Incohérence. Après « s’être », le verbe doit être un participe passé. | | | 26897 26898 26899 26900 26901 26902 26903 26904 26905 26906 26907 26908 26909 26910 26911 | TEST: elles ne s’y étaient pas {{donnée}}. TEST: sans fin elles se sont succédé __ppas_se_être__ [me|m’|te|se|s’] ?[y|en]¿ >être *WORD <<- /ppas/ morph(\-1, ":(?:Y|[123][sp])", ":[QAG]") --1>> =suggVerbPpas(\-1) && Incohérence. Après « s’être », le verbe doit être un participe passé. <<- /ppas/ __else__ and morph(\-2, ":[123]s") and morph(\-1, ":Q.*:p") and not tagbefore(\1, "_que_") and not before("(?i)\\bon (?:ne |)$") --1>> =suggSing(\-1) && Le participe passé devrait être au singulier. tu t’ ?[y|en]¿ [es|étais|seras|serais|fus|fusses] *WORD <<- /ppas/ morph(\-1, ":(?:Y|[123][sp])", ":[QAG]") --1>> =suggVerbPpas(\-1) && Incohérence. Après « s’être », le verbe doit être un participe passé. TEST: s’être toujours {{donner}} le mot. TEST: je suis venu et me suis totalement {{donnés}} à cette œuvre |
︙ | ︙ | |||
28296 28297 28298 28299 28300 28301 28302 | __ppas_être_confusion__ ne [pas|jamais] être @:(?:V(?:1.*:Y|2.*:Ip.*:3s|3.*:Is.*:3s)|2p) <<- /ppas/ --1>> =suggVerbPpas(\-1) && Après “ne \2 être”, il faut un participe passé. avoir [pu|cru|pensé|imaginé] être @:(?:V(?:1.*:Y|2.*:Ip.*:3s|3.*:Is.*:3s)|2p) | | | | | | 28295 28296 28297 28298 28299 28300 28301 28302 28303 28304 28305 28306 28307 28308 28309 28310 28311 28312 28313 28314 28315 28316 28317 28318 28319 28320 28321 28322 28323 28324 28325 28326 28327 28328 28329 28330 28331 28332 | __ppas_être_confusion__ ne [pas|jamais] être @:(?:V(?:1.*:Y|2.*:Ip.*:3s|3.*:Is.*:3s)|2p) <<- /ppas/ --1>> =suggVerbPpas(\-1) && Après “ne \2 être”, il faut un participe passé. avoir [pu|cru|pensé|imaginé] être @:(?:V(?:1.*:Y|2.*:Ip.*:3s|3.*:Is.*:3s)|2p) <<- /ppas/ not value(<1, "|l’|") and not tagbefore(\1, "_que_") --1>> =suggVerbPpas(\-1) && Après le verbe “être”, il faut un participe passé. >être ~..er$ <<- /ppas/ morph(\1, ":V", ":Q|>soit/") and (morph(\2, ":Y", ":[NAQ]") or morph(\2, ">(?:aller|manger)/")) and not morph(<1, ":Y|>ce/") and not value(<1, "|c’|") and not value(<2, "|ce|") and not tagbefore(\1, "_ceque_") and not tagbefore(\1, "_sujinfi_") -2>> =suggVerbPpas(\2) && Après “être”, le verbe ne devrait pas être à l’infinitif. >être ~..ez$ <<- /ppas/ morph(\1, ":V", ":Q|>soit/") and morph(\2, ":2p", ":[NAQ]") -2>> =suggVerbPpas(\2) && Après “être”, le verbe ne devrait pas être conjugué à la 2ᵉ personne du pluriel. >être ~..es$ <<- /ppas/ morph(\1, ":V", ":Q|>soit/") and morph(\2, ":2s", ":[NAQ]") -2>> =suggVerbPpas(\2) && Après “être”, le verbe ne devrait pas être conjugué à la 2ᵉ personne du singulier. >être ~.it$ <<- /ppas/ morph(\1, ":V", ":Q|>soit/") and morph(\2, ":V(?:2.*:Ip.*:3s|3.*:Is.*:3s)", ":[NAQ]") and not tagbefore(\1, "_ceque_") and not tagbefore(\1, "_sujinfi_") -2>> =suggVerbPpas(\2) && Après “être”, le verbe ne devrait pas être conjugué à la 3ᵉ personne du singulier. >être ~.ut$ <<- /ppas/ morph(\1, ":V", ":Q|>soit/") and morph(\2, ":V3.*:Is.*:3s", ":[NAQ]") and not tagbefore(\1, "_ceque_") and not tagbefore(\1, "_sujinfi_") -2>> =suggVerbPpas(\2) && Après “être”, le verbe ne devrait pas être conjugué à la 3ᵉ personne du singulier. TEST: Ne pas être {{aller}} là-bas est une grave erreur que nous regretterons longtemps. TEST: Ne pas être {{arrivez}} à ses fins. TEST: Ne pas être {{prit}} au sérieux. TEST: Ne pas être {{voulut}}. TEST: avoir cru être {{éliminer}} par de tels bouffons… |
︙ | ︙ | |||
28647 28648 28649 28650 28651 28652 28653 | TEST: Nous l’avons {{mangées}}. TEST: Ils ne me l’ont pas {{donnés}} TEST: il faillit agir, mais l’ayant {{remarqués}}, il passa son chemin. __ppas_m_t_avoir__ [m’|t’] >avoir @:Q.*:p¬:[GWsi] | | | 28646 28647 28648 28649 28650 28651 28652 28653 28654 28655 28656 28657 28658 28659 28660 | TEST: Nous l’avons {{mangées}}. TEST: Ils ne me l’ont pas {{donnés}} TEST: il faillit agir, mais l’ayant {{remarqués}}, il passa son chemin. __ppas_m_t_avoir__ [m’|t’] >avoir @:Q.*:p¬:[GWsi] <<- /ppas/ not tagbefore(\1, "_que_") or morph(\3, ":V[0-3]..t_") -3>> =suggSing(\3) && Accord avec « \1 ». S’il s’agit d’un COD, le participe passé « \3 » devrait être au singulier (et accordé en genre).|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais TEST: ces livres m’avaient {{ennuyés}} au-delà du dicible. TEST: Les élèves m’ont {{écoutés}}. TEST: Les élèves t’ont de temps en temps {{écoutées}}. TEST: Les élèves ne m’ont pas {{écoutés}}. TEST: Les élèves ne m’ont pas {{écoutées}}. |
︙ | ︙ | |||
30209 30210 30211 30212 30213 30214 30215 | TEST: vous examiner a eu des conséquences imprévues. #### être / avoir __conf_ait_confiance_été_faim_tort!3__ [es|est] [confiance|conscience|envie|été|peur|faim|hâte|honte|recours|soif|tort] [es|est] peine [à|a] | | | 30208 30209 30210 30211 30212 30213 30214 30215 30216 30217 30218 30219 30220 30221 30222 | TEST: vous examiner a eu des conséquences imprévues. #### être / avoir __conf_ait_confiance_été_faim_tort!3__ [es|est] [confiance|conscience|envie|été|peur|faim|hâte|honte|recours|soif|tort] [es|est] peine [à|a] <<- /conf/ not tagbefore(\1, "_ceque_") and not value(<1, "|tout|d’|l’|") -1>> ait|aie && Confusion probable dans l’expression “avoir \2”. Vous utilisez ici le verbe “être”. TEST: il est posssible qu’il {{est}} confiance en toi TEST: Je crains qu’il {{est}} peine à trouver le bonheur. TEST: La révolution est crainte. TEST: Je n’en ai cure. TEST: Notre communauté vous est redevable. |
︙ | ︙ | |||
30889 30890 30891 30892 30893 30894 30895 | TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité. __conj_le_la_leur_nom__ [le|la|l’|leur] *WORD @:V¬:(?:3s|P|Q|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") | | | | 30888 30889 30890 30891 30892 30893 30894 30895 30896 30897 30898 30899 30900 30901 30902 30903 30904 30905 30906 30907 30908 30909 30910 30911 | TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité. __conj_le_la_leur_nom__ [le|la|l’|leur] *WORD @:V¬:(?:3s|P|Q|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>> <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. [le|la|l’|leur] *WORD qui @:V¬:(?:3s|P|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\4, ":3p") ) -4>> =suggVerb(\4, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. TEST: La {{N.S.A.}} {{espionneras}} toujours tout le monde TEST: La suspicion envers les élus {{accroissaient}}… ->> accroissait TEST: Le chien n’{{es}} pas mort. TEST: Le damné {{donnes}} TEST: La Corée {{peux}} gagner. |
︙ | ︙ | |||
30938 30939 30940 30941 30942 30943 30944 | TEST: un grand nombre avaient été humiliés par ces pratiques délétères __conj_det_sing_nom__ [un|ce|cet|mon|ton|son|notre|votre] *WORD @:[123][sp]¬:(?:3s|P|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[me]:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|nombre|") | | | | | 30937 30938 30939 30940 30941 30942 30943 30944 30945 30946 30947 30948 30949 30950 30951 30952 30953 30954 30955 30956 30957 30958 30959 30960 30961 30962 30963 30964 30965 30966 30967 | TEST: un grand nombre avaient été humiliés par ces pratiques délétères __conj_det_sing_nom__ [un|ce|cet|mon|ton|son|notre|votre] *WORD @:[123][sp]¬:(?:3s|P|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[me]:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|nombre|") or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) >>> <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. [une|cette|mon|ton|son|ma|ta|sa|notre|votre] *WORD @:[123][sp]¬:(?:3s|P|Y|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[fe]:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not agreement(\2, \3) >>> <<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A")) -3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect. <<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. [un|une|ce|cet|cette|mon|ton|son|ma|ta|sa|notre|votre] *WORD qui @:V¬:(?:3s|P|3p!|G|M) <<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G") and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|") or tagbefore(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\4, ":3p") ) -4>> =suggVerb(\4, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier. TEST: Tu devrais le savoir, ce roman-là de Jean-Paul Sartre {{es}} passionnant. TEST: Cette confusion qui {{donnent}} le tournis. TEST: tu sais, une hausse de 2 % {{satisfais}} tout le monde ->> satisfait TEST: tu sais, une petite {{donnes}} satisfaction TEST: tu penses mal, cet homme {{mens}} |
︙ | ︙ |
Modified misc/grammalecte.sublime-syntax from [3aba4c4214] to [08a130127a].
︙ | ︙ | |||
56 57 58 59 60 61 62 | # other. - match: '\b(?:if|else|and|or|not|in)\b' scope: keyword.python - match: '\b(?:True|False|None)\b' scope: constant.language | | | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | # other. - match: '\b(?:if|else|and|or|not|in)\b' scope: keyword.python - match: '\b(?:True|False|None)\b' scope: constant.language - match: '\b(?:spell|morph(?:VC|)|stem|tag|value|space_after|textarea0?\w*|before0?\w*|after0?\w*|word|option|define(?:from|)|select|exclude|setmeta|analyse\w*|tag(?:after|before)|apposition|is[A-Z]\w+|agreement|rewrite|checkD\w+|getD\w+|has[A-Z]\w+|sugg[A-Z]\w+|switch[A-Z]\w+|ceOrCet|formatN\w+|mbUnit)\b' scope: entity.name.function - match: '\b(?:replace|endswith|startswith|search|upper|lower|capitalize|strip|rstrip|is(?:alpha|upper|lower|digit|title))\b' scope: support.function - match: '\becho\b' scope: support.function.debug |
︙ | ︙ |