Overview
Comment: | [build][core][fr][doc] rename functions |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | core | build | doc |
Files: | files | file ages | folders |
SHA3-256: |
b316995bfcb31a30f86b32ba32e576f2 |
User & Date: | olr on 2020-11-26 07:12:36 |
Other Links: | manifest | tags |
Context
2020-11-26
| ||
12:30 | [build][core][fr] rename function check-in: 261ec1c90b user: olr tags: build, core, fr, trunk | |
07:12 | [build][core][fr][doc] rename functions check-in: b316995bfc user: olr tags: build, core, doc, fr, trunk | |
2020-11-25
| ||
22:59 | [build][core][fr][doc] rename functions check-in: b695f86d1e user: olr tags: build, core, doc, fr, trunk | |
Changes
Modified compile_rules_graph.py from [256d05840f] to [7091a2b5a1].
︙ | ︙ | |||
34 35 36 37 38 39 40 | def rewriteCode (sCode): "convert simple code syntax to a string of Python code" if sCode[0:1] == "=": sCode = sCode[1:] sCode = sCode.replace("__also__", "bCondMemo") sCode = sCode.replace("__else__", "not bCondMemo") sCode = sCode.replace("sContext", "_sAppContext") | | | | | | | > > < | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | def rewriteCode (sCode): "convert simple code syntax to a string of Python code" 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(morph0?|morphVC|value|tag|meta|info)[(]\\(\d+)", 'g_\\1(lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"\b(morph0?|morphVC|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[(][\\](\d+)", 'g_space(lToken[nTokenOffset+\\1], lToken[nTokenOffset+\\1+1]', sCode) sCode = re.sub(r"\bspace[(][\\]-(\d+)", 'g_space(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(morph0?|tag|meta|value)\(>1", 'g_\\1(lToken[nLastToken+1]', sCode) # next token sCode = re.sub(r"\b(morph0?|tag|meta|value)\(<1", 'g_\\1(lToken[nTokenOffset]', sCode) # previous token sCode = re.sub(r"\b(morph0?|tag|meta|value)\(>(\d+)", 'g_\\1(g_token(lToken, nLastToken+\\2)', sCode) # next token sCode = re.sub(r"\b(morph0?|tag|meta|value)\(<(\d+)", 'g_\\1(g_token(lToken, nTokenOffset+1-\\2)', sCode) # previous token sCode = re.sub(r"\bspace[(](>1)", 'g_space(lToken[nLastToken+1], g_token(lToken, nLastToken+2)', sCode) # next token sCode = re.sub(r"\bspace[(](<1)", 'g_space(lToken[nTokenOffset], lToken[nTokenOffset+1]', sCode) # previous token sCode = re.sub(r"\bspell *[(]", '_oSpellChecker.isValid(', sCode) sCode = re.sub(r"\bbefore\(\s*", 'look(sSentence[:lToken[1+nTokenOffset]["nStart"]], ', sCode) # before(sCode) sCode = re.sub(r"\bafter\(\s*", 'look(sSentence[lToken[nLastToken]["nEnd"]:], ', sCode) # after(sCode) sCode = re.sub(r"\bbefore0\(\s*", 'look(sSentence0[:lToken[1+nTokenOffset]["nStart"]], ', sCode) # before0(sCode) sCode = re.sub(r"\bafter0\(\s*", 'look(sSentence[lToken[nLastToken]["nEnd"]:], ', sCode) # after0(sCode) sCode = re.sub(r"\bagreement[(]\\(\d+), *\\(\d+)", 'g_agreement(lToken[nTokenOffset+\\1], lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"\bagreement[(]\\(\d+), *\\-(\d+)", 'g_agreement(lToken[nTokenOffset+\\1], lToken[nLastToken-\\2+1]', sCode) sCode = re.sub(r"[\\](\d+)", 'lToken[nTokenOffset+\\1]["sValue"]', sCode) sCode = re.sub(r"[\\]-(\d+)", 'lToken[nLastToken-\\1+1]["sValue"]', sCode) sCode = re.sub(r">1", 'lToken[nLastToken+1]["sValue"]', sCode) sCode = re.sub(r"<1", 'lToken[nTokenOffset]["sValue"]', sCode) return sCode |
︙ | ︙ |
Modified doc/syntax.txt from [27f6e428ae] to [5966d37107].
︙ | ︙ | |||
338 339 340 341 342 343 344 | `value(n, values_string)` > Analyses the value of the nth token. > The <values_string> contains values separated by the sign `|`. > Example: `"|foo|bar|"` `morph(n, "regex"[, "neg_regex"][, trim_left=0][, trim_right=0])` | | | | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | `value(n, values_string)` > Analyses the value of the nth token. > The <values_string> contains values separated by the sign `|`. > Example: `"|foo|bar|"` `morph(n, "regex"[, "neg_regex"][, trim_left=0][, trim_right=0])` `morph0(n, "regex"[, "neg_regex"][, trim_left=0][, trim_right=0])` > Same action with `morph()` and `analyse()` for regex rules. > Parameters <trim_left> and <trim_right> removed n characters at left or the right of the token before performing an analyse. `space(n, min_space[, max_space])` > Returns True if the next token after token n is separated with at least <min_space> blank spaces and at most with <max_space> blank spaces. `tag(n, tag)` |
︙ | ︙ |
Modified gc_core/js/lang_core/gc_functions.js from [b16f321cd1] to [56e86460e7].
︙ | ︙ | |||
234 235 236 237 238 239 240 | } } } // search sPattern return lMorph.some(sMorph => (sMorph.search(sPattern) !== -1)); } | | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | } } } // search sPattern return lMorph.some(sMorph => (sMorph.search(sPattern) !== -1)); } function g_morph0 (oToken, sPattern, sNegPattern="", nLeft=null, nRight=null, bMemorizeMorph=true) { // analyse a token, return True if <sNegPattern> not in morphologies and <sPattern> in morphologies let lMorph; if (nLeft !== null) { let sValue = (nRight !== null) ? oToken["sValue"].slice(nLeft, nRight) : oToken["sValue"].slice(nLeft); lMorph = gc_engine.oSpellChecker.getMorph(sValue); if (bMemorizeMorph) { oToken["lMorph"] = lMorph; |
︙ | ︙ |
Modified gc_core/py/lang_core/gc_functions.py from [31d3381f72] to [5fef80fdf0].
︙ | ︙ | |||
195 196 197 198 199 200 201 | if any(zNegPattern.search(sMorph) for sMorph in lMorph): return False # search sPattern zPattern = re.compile(sPattern) return any(zPattern.search(sMorph) for sMorph in lMorph) | | | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | if any(zNegPattern.search(sMorph) for sMorph in lMorph): return False # search sPattern zPattern = re.compile(sPattern) return any(zPattern.search(sMorph) for sMorph in lMorph) def g_morph0 (dToken, sPattern, sNegPattern="", nLeft=None, nRight=None, bMemorizeMorph=True): "analyse a token, return True if <sNegPattern> not in morphologies and <sPattern> in morphologies (disambiguation off)" if nLeft is not None: lMorph = _oSpellChecker.getMorph(dToken["sValue"][slice(nLeft, nRight)]) if bMemorizeMorph: dToken["lMorph"] = lMorph else: lMorph = _oSpellChecker.getMorph(dToken["sValue"]) |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [374df9580b] to [5ff861bc84].
︙ | ︙ | |||
1754 1755 1756 1757 1758 1759 1760 | ( … ) <<- ->> […] && Pour indiquer une troncature de texte, on utilise usuellement des crochets. <<- ~>> * ( [re|ré] ) *WORD [ [re|ré] ] *WORD | | | | | | > > | 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 | ( … ) <<- ->> […] && Pour indiquer une troncature de texte, on utilise usuellement des crochets. <<- ~>> * ( [re|ré] ) *WORD [ [re|ré] ] *WORD <<- space(<1, 1) and space(\3, 0, 0) ~1:3>> * [ *NUM ] [ … ] <<- ~>> * [ *WORD ] <<- space(<1, 1, 3) and space(\-1, 1, 3) >>> <<- morph(\2, ":G") ~>> |\2| <<- __else__ ~>> * ## chapitres, références ( [*WORD|*NUM] , *NUM ) [ [*WORD|*NUM] , *NUM ] { [*WORD|*NUM] , *NUM } <<- ~>> * TEST: ce chien […] ne {{semblez}} pas en forme. TEST: ce chat {{(…)}} ne {{ressemblez}} pas aux autres. TEST: un homme [las] {{devaient}} retrouver la joie de vivre TEST: Allons (re)voir ce film TEST: et ce malgré [une] condamnation pénale. !! !! !!!! Virgules !! !! !! |
︙ | ︙ | |||
10944 10945 10946 10947 10948 10949 10950 | <<- /conf/ morph(<1, "<start>|:C|>,/") --1>> m’a && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. [ne|n’] [ma|mas] <<- /conf/ --1>> m’a && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. ça [ma|mas] *WORD | | | | 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 | <<- /conf/ morph(<1, "<start>|:C|>,/") --1>> m’a && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. [ne|n’] [ma|mas] <<- /conf/ --1>> m’a && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. ça [ma|mas] *WORD <<- /conf/ morph(<1, "<start>|:C|>,/") and morph0(\-1, ":(?:Q|V1.*:Y)", ":N.*:[fe]") -2>> m’a && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. qui ma *WORD <<- /conf/ morph0(\-1, ":(?:Q|V1.*:Y)", ":N.*:[fe]") -2>> m’a && Confusion : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. ma @:(?:Q.*:e:i|V1.*:Y)¬:f:s <<- /conf/ -1>> m’a && Confusion probable : “ma” est un déterminant possessif féminin. Pour le verbe “avoir” à la 3ᵉ personne précédé du pronom “me”, écrivez “m’a”. TEST: tu {{ma}} prise par surprise ->> m’as TEST: il {{ma}} tuée ->> m’a |
︙ | ︙ | |||
14071 14072 14073 14074 14075 14076 14077 | __infi_de_bon_ton_de__ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [lui|leur|y] en ~(?:é?es?|ez|ai[ts]?)$ | | | 14073 14074 14075 14076 14077 14078 14079 14080 14081 14082 14083 14084 14085 14086 14087 | __infi_de_bon_ton_de__ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~(?:é?es?|ez|ai[ts]?)$ [>être|>rester|>demeurer|>paraître|>paraitre|>sembler] ?[pas|plus|jamais|guère]¿ ?*WORD¿ de bon ton [de|d’] ?[ne|n’]¿ [lui|leur|y] en ~(?:é?es?|ez|ai[ts]?)$ <<- /infi/ morph0(\-1, ":V") --1>> =suggVerbInfi(\-1) && Incohérence. Après “de bon ton de [faire quelque chose]”, le verbe doit être à l’infinitif. TEST: il est souvent de bon ton de {{pensée}} calmement à ces choses avant de s’engager tête baissée. __imp_ne_infinitif_negadv!3__ [<start>|,|(] [ne|n’] @:V1.*:Y [pas|plus|jamais] <<- /imp/ -3>> =suggVerbTense(\3, ":E", ":2p") && Confusion probable : “\3” est un verbe à l’infinitif. Si vous vouliez utiliser l’impératif, écrivez : |
︙ | ︙ | |||
21694 21695 21696 21697 21698 21699 21700 | TEST: cette fosse {{sceptique}} est pleine. TEST: Je suis {{septique}} ! ## se / ce __conf_ce_se_nom__ [de|par|pour|sans] se *WORD | | | | 21696 21697 21698 21699 21700 21701 21702 21703 21704 21705 21706 21707 21708 21709 21710 21711 21712 21713 21714 21715 21716 21717 21718 | TEST: cette fosse {{sceptique}} est pleine. TEST: Je suis {{septique}} ! ## se / ce __conf_ce_se_nom__ [de|par|pour|sans] se *WORD <<- /conf/ morph0(\3, ":N.*:[me]:[si]", ":Y") -2>> ce && Confusion probable. Si “\-1” est bien un nom ou un adjectif, alors écrivez “ce”. <start> se *WORD [ne|n’|me|m’|te|t’|se|s’] <start> se *WORD [le|la|l’|les|en|nous|vous|lui|leur|y] @:(?:[123][sp]|P)¬:G <start> se *WORD [nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P) <start> se *WORD [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P) <start> se *WORD [lui|leur|y] en @:(?:[123][sp]|P) <start> se *WORD @:(?:[123][sp]|P)¬:G <<- /conf/ morph0(\3, ":[NA]", ":Y") -2>> ce && Confusion probable. Si “\3” est bien un nom ou un adjectif, alors écrivez “ce”. TEST: que sais-tu de {{se}} {{type}} TEST: {{se}} type nous emmerde. ->> ce TEST: se doit d’être fort, ce con, sinon c’est la fin pour lui. ## soit / soie / soi |
︙ | ︙ | |||
24844 24845 24846 24847 24848 24849 24850 | __infi_loc_à_verbe__ >avoir ?un¿ intérêt à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ >avoir tendance à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ >avoir du mal à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ n’ >avoir qu’ à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ de [façon|manière] à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ enclin à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ | | | 24846 24847 24848 24849 24850 24851 24852 24853 24854 24855 24856 24857 24858 24859 24860 | __infi_loc_à_verbe__ >avoir ?un¿ intérêt à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ >avoir tendance à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ >avoir du mal à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ n’ >avoir qu’ à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ de [façon|manière] à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ enclin à ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..(?:ée?s?|ez|ai[st]?)$ <<- /infi/ morph0(\-1, ":V", ":M") and not (\-1.endswith("ez") and value(>1, "|vous|")) --1>> =suggVerbInfi(\-1) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. TEST: de manière à {{obligé}} ces gens TEST: ils ont intérêt à {{obligés}} ces gens TEST: Tous ceux qui ont du mal à {{obligé}} ces gens TEST: elles n’ont qu’à la {{brimée}} un peu plus |
︙ | ︙ | |||
24873 24874 24875 24876 24877 24878 24879 | [par|pour|sans] [lui] en ~..(?:ée?s?|ez|ai[st]?)$ <<- /infi/ morph(\-1, ":V1.*:(?:Q|[12][sp])", ":N") --1>> =suggVerbInfi(\-1) && Après la préposition “\1”, le verbe devrait probablement être à l’infinitif. [par|pour|sans] [nous|vous|lui] ~(?:ée?s?|ez)$ <<- /infi/ morph(\3, ":V1", ":M") -3>> =suggVerbInfi(\3) && Après la préposition “\1”, le verbe devrait probablement être à l’infinitif. [par|sans] ~..(?:ée?s?|ez|ai[st]?)$ | | | | 24875 24876 24877 24878 24879 24880 24881 24882 24883 24884 24885 24886 24887 24888 24889 24890 24891 24892 | [par|pour|sans] [lui] en ~..(?:ée?s?|ez|ai[st]?)$ <<- /infi/ morph(\-1, ":V1.*:(?:Q|[12][sp])", ":N") --1>> =suggVerbInfi(\-1) && Après la préposition “\1”, le verbe devrait probablement être à l’infinitif. [par|pour|sans] [nous|vous|lui] ~(?:ée?s?|ez)$ <<- /infi/ morph(\3, ":V1", ":M") -3>> =suggVerbInfi(\3) && Après la préposition “\1”, le verbe devrait probablement être à l’infinitif. [par|sans] ~..(?:ée?s?|ez|ai[st]?)$ <<- /infi/ morph0(\-1, ":V1.*:(?:Q|[123][sp])", ":[NM]") --1>> =suggVerbInfi(\-1) && Après la préposition “\1”, le verbe devrait être à l’infinitif. pour ~..(?:ée?s?|ez|ai[st]?)$ <<- /infi/ not morph(<1, ">(?:passer|tenir)/") and morph0(\-1, ":V1.*:(?:Q|[123][sp])", ":[NM]") --1>> =suggVerbInfi(\-1) && Après la préposition “\1”, le verbe devrait être à l’infinitif. sans pour autant ?[le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[st]?)$ sans pour autant [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[st]?)$ sans pour autant [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[st]?)$ sans pour autant [lui|leur|y] en ~..(?:ée?s?|ez|ai[st]?)$ <<- /infi/ morph(\-1, ":V1.*:(?:Q|[123][sp])") --1>> =suggVerbInfi(\-1) && Après la préposition “\1”, le verbe devrait être à l’infinitif.|https://fr.wiktionary.org/wiki/sans_pour_autant |
︙ | ︙ | |||
24993 24994 24995 24996 24997 24998 24999 | TEST: une de perdue, dix de retrouvées TEST: 25 € de gagnés __infi_verbe_de_verbe__ [>accuser|>arrêter|>cesser|>choisir|>commander|>continuer|>craindre|>décider|>défendre|>demander|>envisager|>essayer|>éviter|>exiger|>interdire|>jurer|>omettre|>oublier|>permettre|>prévoir|>promettre|>refuser|>suggérer|>tenter] || [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ *WORD | | | 24995 24996 24997 24998 24999 25000 25001 25002 25003 25004 25005 25006 25007 25008 25009 | TEST: une de perdue, dix de retrouvées TEST: 25 € de gagnés __infi_verbe_de_verbe__ [>accuser|>arrêter|>cesser|>choisir|>commander|>continuer|>craindre|>décider|>défendre|>demander|>envisager|>essayer|>éviter|>exiger|>interdire|>jurer|>omettre|>oublier|>permettre|>prévoir|>promettre|>refuser|>suggérer|>tenter] || [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ *WORD <<- /infi/ not morph(\1, ":N") and (morph0(\-1, ":V1.*:Q", ":(?:M|Oo)") or morph0(\-1, ":[123][sp]", ":[MNGA]")) --1>> =suggVerbInfi(\-1) && Après “\1 de”, le verbe devrait être à l’infinitif. TEST: cessez d’{{anesthésié}} ces gens ! TEST: arrête d’y {{consacré}} autant de temps. TEST: Il tentait de {{raisonné}} en homme libre TEST: Le menu Format contient de nombreuses commandes de mise en forme. TEST: Le commandant de zone… |
︙ | ︙ | |||
25023 25024 25025 25026 25027 25028 25029 | TEST: il suffit de cela. __infi_qqch_de__ afin [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ avant ?même¿ [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ marre [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 25025 25026 25027 25028 25029 25030 25031 25032 25033 25034 25035 25036 25037 25038 25039 25040 25041 25042 25043 25044 25045 25046 25047 25048 25049 25050 25051 25052 25053 25054 25055 25056 25057 25058 25059 25060 25061 25062 25063 25064 25065 25066 25067 25068 25069 25070 25071 25072 25073 25074 25075 25076 25077 25078 25079 25080 25081 25082 25083 25084 25085 25086 25087 25088 25089 25090 25091 25092 25093 25094 25095 25096 25097 25098 25099 25100 25101 25102 25103 25104 25105 25106 25107 25108 25109 25110 25111 25112 25113 25114 25115 25116 25117 25118 25119 25120 25121 25122 25123 25124 25125 25126 25127 25128 25129 25130 25131 25132 25133 25134 25135 25136 25137 25138 25139 25140 25141 25142 25143 25144 25145 25146 25147 25148 25149 25150 25151 25152 25153 25154 25155 25156 25157 25158 25159 25160 25161 25162 25163 25164 25165 25166 | TEST: il suffit de cela. __infi_qqch_de__ afin [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ avant ?même¿ [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ marre [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “\1 de”, le verbe devrait être à l’infinitif. à [condition|défaut|dessein|fin|force|même] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “à \2 de”, le verbe devrait être à l’infinitif. à deux doigts [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “à deux doigts de”, le verbe devrait être à l’infinitif. à >seul >fin [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “à seule fin de”, le verbe devrait être à l’infinitif. au␣lieu [de|d’] ?[le|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “au lieu de”, le verbe devrait être à l’infinitif. au␣lieu [de|d’] [l’|la|leur] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “au lieu de”, le verbe devrait être à l’infinitif. >avoir l’ air [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir l’air de”, le verbe devrait être à l’infinitif. >avoir la chance [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir la chance de”, le verbe devrait être à l’infinitif. >avoir le droit [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir le droit de”, le verbe devrait être à l’infinitif. >avoir ?toute¿ hâte [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir hâte de”, le verbe devrait être à l’infinitif. >avoir ?tout¿ lieu [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir lieu de”, le verbe devrait être à l’infinitif. >avoir ?tout¿ loisir [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir loisir de”, le verbe devrait être à l’infinitif. >avoir tôt fait [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir tôt fait de”, le verbe devrait être à l’infinitif.|https://fr.wiktionary.org/wiki/avoir_t%C3%B4t_fait_de >avoir besoin [de|d’] [le|les|nous|vous|lui] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir besoin de”, le verbe devrait être à l’infinitif. >avoir besoin [de|d’] ?[l’|la|leur]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “avoir besoin de”, le verbe devrait être à l’infinitif. >avoir d’ >autre choix [que|qu’] ?[de|d’]¿ ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir d’autre choix que”, le verbe devrait être à l’infinitif. >avoir la présence d’ esprit [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir vite fait de”, le verbe devrait être à l’infinitif. >avoir [peur|raison] [de|d’] ?[le|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir \2 de”, le verbe devrait être à l’infinitif. >avoir [peur|raison] [de|d’] [l’|la|leur] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “avoir \2 de”, le verbe devrait être à l’infinitif. point [ne|n’] >être besoin [de|d’] ?[le|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “point n’est besoin de”, le verbe devrait être à l’infinitif. point [ne|n’] >être besoin [de|d’] [l’|la|leur] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “point n’est besoin de”, le verbe devrait être à l’infinitif. >avoir vite fait [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “avoir vite fait de”, le verbe devrait être à l’infinitif. n’ >avoir de cesse [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “n’avoir de cesse de”, le verbe devrait être à l’infinitif.|https://fr.wiktionary.org/wiki/n%E2%80%99avoir_de_cesse [de|d’] crainte [de|d’] ?[le|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “de crainte de”, le verbe devrait être à l’infinitif. [de|d’] crainte [de|d’] [l’|la|leur] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “de crainte de”, le verbe devrait être à l’infinitif. en [droit|état|mesure|train|vue] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “\1 \2 de”, le verbe devrait être à l’infinitif. >faire [exprès|semblant|mine] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “faire \2 de”, le verbe devrait être à l’infinitif. >faire fort [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") and (value(<1, "|me|m’|te|t’|se|s’|") or (value(<1, "|nous|") and value(<2, "|nous|")) or (value(<1, "|vous|") and value(<2, "|vous|"))) --1>> =suggVerbInfi(\-1) && Après “se faire fort de”, le verbe devrait être à l’infinitif. [>façon|>manière] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ [>intention|>volonté] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “\1 de”, le verbe devrait être à l’infinitif s’il s’agit bien de décrire une action. hors d’ état [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “hors d’état de”, le verbe devrait être à l’infinitif. hors de question [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “hors de question de”, le verbe devrait être à l’infinitif. il >être [temps|admissible|inadmissible|absurde|contraignant|libérateur|difficile|facile|impossible|indispensable|nécessaire|possible|utile|inutile] || [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “il est \3 de”, le verbe devrait être à l’infinitif. il ?n’¿ >être question [de|d’] ?[le|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “il (n’)est (pas) question de”, le verbe devrait être à l’infinitif. il ?n’¿ >être question [de|d’] [l’|la|leur] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “il (n’)est (pas) question de”, le verbe devrait être à l’infinitif. pas question [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “pas question de”, le verbe devrait être à l’infinitif. [<start>|,|(] [>capable|>incapable|impossible|inutile|>libre] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “\2 de”, le verbe devrait être à l’infinitif. [<start>|,|(] >libre à [moi|toi|lui|elle|soi|nous|vous|eux|elles] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “\2 de”, le verbe devrait être à l’infinitif. force [est|était|fut|serait|sera] [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ not value(<1, "|une|la|cette|ma|ta|sa|notre|votre|leur|quelle|de|d’|") and morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “force est de”, le verbe devrait être à l’infinitif. non >content [de|d’] ?[le|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “non content de”, le verbe devrait être à l’infinitif. non >content [de|d’] [l’|la|leur] ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":[MN]") --1>> =suggVerbInfi(\-1) && Après “non content de”, le verbe devrait être à l’infinitif. >prendre garde [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “prendre garde de”, le verbe devrait être à l’infinitif. sous peine [de|d’] ?[le|l’|la|leur|les|nous|vous|lui]¿ ~..ée?s?$ <<- /infi/ morph0(\-1, ":Q", ":M") --1>> =suggVerbInfi(\-1) && Après “sous peine de”, le verbe devrait être à l’infinitif. TEST: à deux doigts de la {{dénoncée}} aux autorités ->> dénoncer TEST: afin de leur {{percée}} une ouverture ->> percer TEST: en train de {{percées}} ->> percer TEST: au lieu de la {{travaillée}}, elle restait les bras ballants ->> travailler TEST: au lieu de nous {{données}} du travail, il bavassait sans cesse ->> donner TEST: elle tricha à seule fin d’{{allée}} à l’université ->> aller |
︙ | ︙ | |||
25661 25662 25663 25664 25665 25666 25667 | __infi_mieux_valoir__ mieux ?[ne|n’]¿ >valoir ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ée?s?|ez|ai[ts]?)$ | | | 25663 25664 25665 25666 25667 25668 25669 25670 25671 25672 25673 25674 25675 25676 25677 | __infi_mieux_valoir__ mieux ?[ne|n’]¿ >valoir ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ mieux ?[ne|n’]¿ >valoir ?[ne|n’]¿ [lui|leur|y] en ~..(?:ée?s?|ez|ai[ts]?)$ <<- /infi/ morph0(\-1, ":V1.*:(?:Q|[123][sp])", ":[GM]") --1>> =suggVerbInfi(\-1) && Après “mieux vaut…”, le verbe devrait être à l’infinitif. TEST: Mieux vaut {{consacré}} son temps à des occupations utiles. TEST: Mieux ne vaut pas {{arrivé}} en retard. TEST: il eût mieux valu {{oublié}} cette affaire plutôt que réveiller ce dragon endormi. |
︙ | ︙ | |||
29137 29138 29139 29140 29141 29142 29143 | <start> [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~\w\w+t$ <start> [ne|n’] [me|m’|te|t’|nous|vous] [le|la|l’|les|en|y] ~\w\w+t$ <start> [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~\w\w+t$ <start> [ne|n’] [lui|leur] en ~\w\w+t$ <<- /imp/ not value(>1, "|il|elle|on|ils|elles|iel|iels|") and not value(\-1, "|provient|") and not (value(\-1, "|vient|dit|surgit|survient|périt|") and morph(>1, ":(?:[MD]|Oo)|>[A-Z]/")) | | | | 29139 29140 29141 29142 29143 29144 29145 29146 29147 29148 29149 29150 29151 29152 29153 29154 29155 29156 29157 29158 29159 29160 | <start> [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~\w\w+t$ <start> [ne|n’] [me|m’|te|t’|nous|vous] [le|la|l’|les|en|y] ~\w\w+t$ <start> [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~\w\w+t$ <start> [ne|n’] [lui|leur] en ~\w\w+t$ <<- /imp/ not value(>1, "|il|elle|on|ils|elles|iel|iels|") and not value(\-1, "|provient|") and not (value(\-1, "|vient|dit|surgit|survient|périt|") and morph(>1, ":(?:[MD]|Oo)|>[A-Z]/")) and morph(\-1, ":V[23].*:Ip.*:3s", ":G|>(?:devoir|suffire|para[îi]tre)/") and analyse(\-1[:-1]+"s", ":E:2s") --1>> =\-1[:-1]+"s" && S’il s’agit d’un impératif, la terminaison est “s”, non “t”. <start> ~\w\w+t$ <<- /imp/ not value(>1, "|il|elle|on|ils|elles|iel|iels|") and not value(\-1, "|provient|") and not (value(\-1, "|vient|dit|surgit|survient|périt|") and morph(>1, ":(?:[MDR]|Oo)|>[A-Z]/")) and morph(\-1, ":V[23].*:Ip.*:3s", ":[GNA]|>(?:devoir|suffire|para[îi]tre)/") and analyse(\-1[:-1]+"s", ":E:2s") --1>> =\-1[:-1]+"s" && S’il s’agit d’un impératif, la terminaison est “s”, non “t”. TEST: {{Finit}} ton assiette. ->> Finis TEST: Ne {{pourrit}} pas l’ambiance. ->> pourris TEST: Ne {{finit}} pas ce devoir. TEST: {{Finit}} cette tarte. TEST: Ne me {{choisit}} pas. |
︙ | ︙ |
Modified misc/grammalecte.sublime-syntax from [9d23c91bd9] to [575daf5fb0].
︙ | ︙ | |||
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|textarea0?\w*|before0?\w*|after0?\w*|word|option|define(?:from|)|select|exclude|setmeta|analyse|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 |
︙ | ︙ |