Overview
Comment: | [core][fr][misc] change immunity tag (% -> !) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | core | misc |
Files: | files | file ages | folders |
SHA3-256: |
d167d2a710bc3df83154c29c4da2c69f |
User & Date: | olr on 2019-05-14 13:27:18 |
Other Links: | manifest | tags |
Context
2019-05-14
| ||
15:19 | [graphspell][js][bug] fix wrong method check-in: fbecdf6a89 user: olr tags: trunk, graphspell | |
13:27 | [core][fr][misc] change immunity tag (% -> !) check-in: d167d2a710 user: olr tags: trunk, fr, core, misc | |
12:58 | [graphspell][fx][js] add default suggestions module check-in: c3cdee9c76 user: olr tags: trunk, fx, graphspell | |
Changes
Modified compile_rules_graph.py from [0b0b0ccb6f] to [685dd97f4d].
︙ | ︙ | |||
202 203 204 205 206 207 208 | if m: sOption = m.group(1) sAction = sAction[m.end():].strip() if nPriority == -1: nPriority = dOptPriority.get(sOption, 4) # valid action? | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | if m: sOption = m.group(1) sAction = sAction[m.end():].strip() if nPriority == -1: nPriority = dOptPriority.get(sOption, 4) # valid action? m = re.search(r"(?P<action>[-~=/!>])(?P<start>-?\d+\.?|)(?P<end>:\.?-?\d+|)(?P<casing>:|)>>", sAction) if not m: print(" # Error. No action found at: ", sActionId) return None # Condition sCondition = sAction[:m.start()].strip() if sCondition: |
︙ | ︙ | |||
278 279 280 281 282 283 284 | # checking consistancy checkTokenNumbers(sAction, sActionId, nToken) if cAction == ">": ## no action, break loop if condition is False return [sOption, sCondition, cAction, ""] | | | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | # checking consistancy checkTokenNumbers(sAction, sActionId, nToken) if cAction == ">": ## no action, break loop if condition is False return [sOption, sCondition, cAction, ""] if not sAction and cAction != "!": print("# Error in action at line " + sActionId + ": This action is empty.") if sAction[0:1] != "=" and cAction != "=": checkIfThereIsCode(sAction, sActionId) if cAction == "-": ## error detected --> suggestion |
︙ | ︙ | |||
300 301 302 303 304 305 306 | if cAction == "~": ## text processor if sAction[0:1] == "=": sAction = createFunction("tp", sAction, True) elif sAction.startswith('"') and sAction.endswith('"'): sAction = sAction[1:-1] return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction, bCaseSensitivity] | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | if cAction == "~": ## text processor if sAction[0:1] == "=": sAction = createFunction("tp", sAction, True) elif sAction.startswith('"') and sAction.endswith('"'): sAction = sAction[1:-1] return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction, bCaseSensitivity] if cAction in "!/": ## tags return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction] if cAction == "=": ## disambiguator if "define(" in sAction and not re.search(r"define\(\\-?\d+ *, *\[.*\] *\)", sAction): print("# Error in action at line " + sActionId + ": second argument for <define> must be a list of strings") sAction = createFunction("da", sAction) |
︙ | ︙ | |||
359 360 361 362 363 364 365 | exit() iActionBlock = 1 nPriority = int(m.group(2)[1:]) if m.group(2) else -1 else: print("Syntax error in rule group: ", sLine, " -- line:", i) exit() elif re.search("^ +<<- ", sLine) or (sLine.startswith(" ") and not sLine.startswith(" ||")) \ | | | 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | exit() iActionBlock = 1 nPriority = int(m.group(2)[1:]) if m.group(2) else -1 else: print("Syntax error in rule group: ", sLine, " -- line:", i) exit() elif re.search("^ +<<- ", sLine) or (sLine.startswith(" ") and not sLine.startswith(" ||")) \ or re.search("^ +#", sLine) or re.search(r"[-~=>/!](?:-?\d\.?(?::\.?-?\d+|)|)>> ", sLine) : # actions sActions += " " + sLine.strip() elif re.match("[ ]*$", sLine): # empty line to end merging if not lTokenLine: continue if not sActions: |
︙ | ︙ |
Modified gc_core/js/lang_core/gc_engine.js from [3be7b763d3] to [5635a63c4b].
︙ | ︙ | |||
606 607 608 609 610 611 612 | console.log(" >TRY: " + sRuleId + " " + sLineId); } let [sOption, sFuncCond, cActionType, sWhat, ...eAct] = gc_rules_graph.dRule[sRuleId]; // Suggestion [ option, condition, "-", replacement/suggestion/action, iTokenStart, iTokenEnd, cStartLimit, cEndLimit, bCaseSvty, nPriority, sMessage, sURL ] // TextProcessor [ option, condition, "~", replacement/suggestion/action, iTokenStart, iTokenEnd, bCaseSvty ] // Disambiguator [ option, condition, "=", replacement/suggestion/action ] // Tag [ option, condition, "/", replacement/suggestion/action, iTokenStart, iTokenEnd ] | | | 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 | console.log(" >TRY: " + sRuleId + " " + sLineId); } let [sOption, sFuncCond, cActionType, sWhat, ...eAct] = gc_rules_graph.dRule[sRuleId]; // Suggestion [ option, condition, "-", replacement/suggestion/action, iTokenStart, iTokenEnd, cStartLimit, cEndLimit, bCaseSvty, nPriority, sMessage, sURL ] // TextProcessor [ option, condition, "~", replacement/suggestion/action, iTokenStart, iTokenEnd, bCaseSvty ] // Disambiguator [ option, condition, "=", replacement/suggestion/action ] // Tag [ option, condition, "/", replacement/suggestion/action, iTokenStart, iTokenEnd ] // Immunity [ option, condition, "!", "", iTokenStart, iTokenEnd ] // Test [ option, condition, ">", "" ] if (!sOption || dOptions.gl_get(sOption, false)) { bCondMemo = !sFuncCond || oEvalFunc[sFuncCond](this.lToken, nTokenOffset, nLastToken, sCountry, bCondMemo, this.dTags, this.sSentence, this.sSentence0); if (bCondMemo) { if (cActionType == "-") { // grammar error let [iTokenStart, iTokenEnd, cStartLimit, cEndLimit, bCaseSvty, nPriority, sMessage, sURL] = eAct; |
︙ | ︙ | |||
671 672 673 674 675 676 677 | } if (!this.dTags.has(sWhat)) { this.dTags.set(sWhat, [nTokenStart, nTokenStart]); } else { this.dTags.set(sWhat, [Math.min(nTokenStart, this.dTags.get(sWhat)[0]), Math.max(nTokenEnd, this.dTags.get(sWhat)[1])]); } } | | | 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 | } if (!this.dTags.has(sWhat)) { this.dTags.set(sWhat, [nTokenStart, nTokenStart]); } else { this.dTags.set(sWhat, [Math.min(nTokenStart, this.dTags.get(sWhat)[0]), Math.max(nTokenEnd, this.dTags.get(sWhat)[1])]); } } else if (cActionType == "!") { // immunity if (bDebug) { console.log(" IMMUNITY: " + _rules_graph.dRule[sRuleId]); } let nTokenStart = (eAct[0] > 0) ? nTokenOffset + eAct[0] : nLastToken + eAct[0]; let nTokenEnd = (eAct[1] > 0) ? nTokenOffset + eAct[1] : nLastToken + eAct[1]; if (nTokenEnd - nTokenStart == 0) { |
︙ | ︙ |
Modified gc_core/py/lang_core/gc_engine.py from [cb1b186a08] to [2f0b34979e].
︙ | ︙ | |||
515 516 517 518 519 520 521 | if bDebug: echo(" >TRY: " + sRuleId + " " + sLineId) sOption, sFuncCond, cActionType, sWhat, *eAct = _rules_graph.dRule[sRuleId] # Suggestion [ option, condition, "-", replacement/suggestion/action, iTokenStart, iTokenEnd, cStartLimit, cEndLimit, bCaseSvty, nPriority, sMessage, sURL ] # TextProcessor [ option, condition, "~", replacement/suggestion/action, iTokenStart, iTokenEnd, bCaseSvty ] # Disambiguator [ option, condition, "=", replacement/suggestion/action ] # Tag [ option, condition, "/", replacement/suggestion/action, iTokenStart, iTokenEnd ] | | | 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 | if bDebug: echo(" >TRY: " + sRuleId + " " + sLineId) sOption, sFuncCond, cActionType, sWhat, *eAct = _rules_graph.dRule[sRuleId] # Suggestion [ option, condition, "-", replacement/suggestion/action, iTokenStart, iTokenEnd, cStartLimit, cEndLimit, bCaseSvty, nPriority, sMessage, sURL ] # TextProcessor [ option, condition, "~", replacement/suggestion/action, iTokenStart, iTokenEnd, bCaseSvty ] # Disambiguator [ option, condition, "=", replacement/suggestion/action ] # Tag [ option, condition, "/", replacement/suggestion/action, iTokenStart, iTokenEnd ] # Immunity [ option, condition, "!", "", iTokenStart, iTokenEnd ] # Test [ option, condition, ">", "" ] if not sOption or dOptions.get(sOption, False): bCondMemo = not sFuncCond or globals()[sFuncCond](self.lToken, nTokenOffset, nLastToken, sCountry, bCondMemo, self.dTags, self.sSentence, self.sSentence0) if bCondMemo: if cActionType == "-": # grammar error iTokenStart, iTokenEnd, cStartLimit, cEndLimit, bCaseSvty, nPriority, sMessage, sURL = eAct |
︙ | ︙ | |||
567 568 569 570 571 572 573 | if bDebug: echo(" TAG: {} > [{}:{}]".format(sWhat, self.lToken[nTokenStart]["sValue"], self.lToken[nTokenEnd]["sValue"])) if sWhat not in self.dTags: self.dTags[sWhat] = [nTokenStart, nTokenStart] else: self.dTags[sWhat][0] = min(nTokenStart, self.dTags[sWhat][0]) self.dTags[sWhat][1] = max(nTokenEnd, self.dTags[sWhat][1]) | | | 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 | if bDebug: echo(" TAG: {} > [{}:{}]".format(sWhat, self.lToken[nTokenStart]["sValue"], self.lToken[nTokenEnd]["sValue"])) if sWhat not in self.dTags: self.dTags[sWhat] = [nTokenStart, nTokenStart] else: self.dTags[sWhat][0] = min(nTokenStart, self.dTags[sWhat][0]) self.dTags[sWhat][1] = max(nTokenEnd, self.dTags[sWhat][1]) elif cActionType == "!": # immunity if bDebug: echo(" IMMUNITY: " + _rules_graph.dRule[sRuleId]) nTokenStart = nTokenOffset + eAct[0] if eAct[0] > 0 else nLastToken + eAct[0] nTokenEnd = nTokenOffset + eAct[1] if eAct[1] > 0 else nLastToken + eAct[1] if nTokenEnd - nTokenStart == 0: self.lToken[nTokenStart]["bImmune"] = True |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [b80cbf61fc] to [875f9144f8].
︙ | ︙ | |||
2100 2101 2102 2103 2104 2105 2106 | __inte_rendez_vous__ ne [le|la|les] [lui|leur] rendez-vous ne me [le|la|les] rendez-vous ne [lui|leur] en rendez-vous ne [le|la|les|lui|leur] rendez-vous [me|ne|nous|vous|lui] rendez-vous <<- =>> define(\-1, [":VCi1:2p"]) | | | 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 | __inte_rendez_vous__ ne [le|la|les] [lui|leur] rendez-vous ne me [le|la|les] rendez-vous ne [lui|leur] en rendez-vous ne [le|la|les|lui|leur] rendez-vous [me|ne|nous|vous|lui] rendez-vous <<- =>> define(\-1, [":VCi1:2p"]) <<- !-1>> __inte_verbes_composés_impératifs__ ~\w-l(?:es?|a)-(?:[mt]oi|nous|leur)$ ~\w-(?:[nv]ous|lui|leur)-en$ ~\w-[mt]’en$ ~\w-[mt]’y$ |
︙ | ︙ | |||
2221 2222 2223 2224 2225 2226 2227 | <<- morph(<1, ":D.*:[mp]") ~>> ␣ <<- __also__ =>> define(\1, [":N:m:i"]) __immunités__ il y a il n’ y a | | | | | | | | | | | 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 | <<- morph(<1, ":D.*:[mp]") ~>> ␣ <<- __also__ =>> define(\1, [":N:m:i"]) __immunités__ il y a il n’ y a <<- !-1>> à l’ arrache <<- !3>> à ce point en tout point <<- !3>> au [bas|bras|côté|milieu|sein|sommet|faîte] [duquel|desquels|desquelles] au [bas|bras|côté|milieu|sein|sommet|faîte] de laquelle aux [côtés] [duquel|desquels|desquelles] aux [côtés] de laquelle <<- !3>> au lieu des <<- !3>> au sortir [de|des|du|d’] <<- ~2>> _ en tout et pour tout <<- !-1>> jusqu’ à <<- !2>> [comme|que|qu’|lorsque|lorsqu’|puisque|puisqu’|quand|pourquoi|qui|quoi] ?[ne|n’]¿ ?[se|s’]¿ (*WORD) ?à¿ [le|la|l’|les] @:Y @:M <<- morph(\1, ":V") !-2>> soit pour soit contre <<- !3>> @@@@ @@@@ @@@@ @@@@ |
︙ | ︙ | |||
4980 4981 4982 4983 4984 4985 4986 | !! !!!! Pronoms + incohérences !! !! !! __m_enfin__ m’ enfin | | | 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 | !! !!!! Pronoms + incohérences !! !! !! __m_enfin__ m’ enfin <<- !2>> <<- ~>> * __non_verbe_après_préverbes__ [ne|n’] [le|la|l’|les] [lui|leur|en|y] @:¬:(?:[123][sp]|Y|P|Ov|X) [ne|n’] [lui|leur] en @:¬:(?:[123][sp]|Y|P|Ov|X) <<- /conf/ -4>> =suggSimil(\4, ":(?:[123][sp]|Y)", False) # Incohérence avec « \1 \2 \3 » : « \4 » devrait être un verbe. |
︙ | ︙ | |||
5035 5036 5037 5038 5039 5040 5041 | TEST: c’est vous les journalistes qui l’avez écrit TEST: C’est nous les patrons TEST: me revoilà __loc_notre_père_qui_es_au_cieux__ notre père qui [es|est] aux cieux | | | 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 | TEST: c’est vous les journalistes qui l’avez écrit TEST: C’est nous les patrons TEST: me revoilà __loc_notre_père_qui_es_au_cieux__ notre père qui [es|est] aux cieux <<- !4>> <<- ~3:0>> * !! !! !!!! Formes verbales sans sujet !! !! |
︙ | ︙ | |||
7343 7344 7345 7346 7347 7348 7349 | TEST: ils ont oublié leur {{laisser-passer}}. TEST: il faut en finir avec le {{laissez-aller}}. # la / là __conf_la_là!7__ la ou les | | | 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 | TEST: ils ont oublié leur {{laisser-passer}}. TEST: il faut en finir avec le {{laissez-aller}}. # la / là __conf_la_là!7__ la ou les <<- !1>> la [l’|d’|n’|m’|t’|s’|c’|ç’|j’|qu’|lorsqu’|puisqu’|quoiqu’] la @:G¬:(?:[NA]:[ef]|W|V)|>(?:lui|leur|votre|notre|voilà|voici|plupart|quell?e?s?|tout|toute)/ <<- /conf/ not \1.isupper() and not \2.isupper() and not morph(<1, ":E|>le/") -1>> là # Confusion probable. Écrivez “là” si vous voulez dire “ici”. [ce|cet|cette|ces] /-la <<- /conf/ -2>> =\2[:-2]+"là" # Confusion. Écrivez “là” soudé au nom pour désigner un objet précis. |
︙ | ︙ | |||
8683 8684 8685 8686 8687 8688 8689 | TEST: Je propse que, par {{voix}} de conséquence, nous partions immédiatement. TEST: C’est une {{voix}} interdite. # voir / voire __conf_voir_voire__ voir [grand|petit|rouge] | | | 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 | TEST: Je propse que, par {{voix}} de conséquence, nous partions immédiatement. TEST: C’est une {{voix}} interdite. # voir / voire __conf_voir_voire__ voir [grand|petit|rouge] <<- !2>> voir @:A¬:[NGM] <<- /conf/ not \2.istitle() and not morph(<1, ":O[os]|>(?:[ndmts]e|aller|falloir|pouvoir|savoir|vouloir|préférer|faire|penser|imaginer|souhaiter|désirer|de|à)/") and not before("(?i)\\b[ndmts](?:e |’(?:en |y ))(?:pas |jamais |) *$") -1>> voire # Confusion probable : “voir” est un verbe concernant la perception visuelle. Pour signifier “et même possiblement”, écrivez “voire”.|https://fr.wiktionary.org/wiki/voire [comme|lorque|puisque|quand|que|quoique|si] voire |
︙ | ︙ | |||
8845 8846 8847 8848 8849 8850 8851 | TEST: Nous vous donnons rendez-vous {{Mercredi}} le 18. # Les mois __maj_mois__ monarchie de Juillet révolution d’ Octobre | | | 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 | TEST: Nous vous donnons rendez-vous {{Mercredi}} le 18. # Les mois __maj_mois__ monarchie de Juillet révolution d’ Octobre <<- !3>> *WORD [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor] <<- /maj/ not morph(\1, ":M1") and not \2.isupper() -2:>> =\2.lower() # Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong [*NUM|*WORD_ELIDED] [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor] , [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor] |
︙ | ︙ | |||
8871 8872 8873 8874 8875 8876 8877 | TEST: le comité d’éthique qui statuera dans les meilleurs délais sur la situation de Véronique Avril TEST: VENDREDI 23 NOVEMBRE 2018 À 18:09 # Les États __maj_État__ en fonction de l’ état | | | 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 | TEST: le comité d’éthique qui statuera dans les meilleurs délais sur la situation de Véronique Avril TEST: VENDREDI 23 NOVEMBRE 2018 À 18:09 # Les États __maj_État__ en fonction de l’ état <<- !5>> état [français|belge|suisse|canadien|palestinien|souverain|américain|russe|anglais|allemand|espagnol|italien|mexicain|japonais|chinois|australien|polonais|membre|africain|européen|asiatique|voyou|démocratique|totalitaire|fédéral|fédéré|capitaliste|communiste|providence|nation] état de droit <<- /maj/ \1 == "état" -1>> État # Majuscule manquante : si vous parlez de l’institution dirigeante d’une nation, écrivez “État”. états [français|>belge|>suisse|canadien|canadiens|palestinien|palestiniens|souverain|souverains|>membre|américain|américains|africain|africains|européen|européens|>asiatique|>voyou|>démocratique|>totalitaire|>fédérale|>fédérée|>capitaliste|>communiste|>providence|>nation] états de droit |
︙ | ︙ | |||
8908 8909 8910 8911 8912 8913 8914 | # gentilés / ethnonymes __maj_gentilés__ océan Indien [îles|iles] Britanniques à [la|l’] [afghane|albanaise|algérienne|allemande|américaine|andorrane|anglaise|angolaise|arabe|argentine|arménienne|australienne|autrichienne|asiatique|azerbaïdjanaise|bahamienne|bangladaise|bengladeshie|barbadienne|basque|belge|bélizienne|béninoise|bretonne|bhoutanaise|biélorusse|birmane|bolivienne|bosnienne|botswanaiso|brésilienne|britannique|brunéiene|bulgare|burkinabé|burundaise|cambodgienne|camerounaise|canadienne|capverdienne|centrafricaine|chilienne|chinoise|chypriote|colombienne|comorienne|congolaise|nord-coréenne|corse|costaricienne|croate|cubaine|danoise|djiboutienne|dominicaine|égyptienne|émiratie|équatorienne|érythréenne|estonienne|espagnole|étatsunienne|états-unienne|étasunienne|éthiopienne|fidjienne|finlandaise|formosane|française|gabonaise|gambienne|géorgienne|ghanéenne|grecque|grenadienne|guadeloupéenne|guatémaltèque|guinéenne|équato-guinéenne|guyanienne|haïtienne|honduriene|hollandaise|hongroise|indienne|indochinoise|indonésienne|irakienne|italienne|iranienne|irlandaise|islandaise|israélienne|ivoirienne|jamaïcaine|japonaise|jordanienne|kazakhe|kényane|kosovare|koweïtienne|laotienne|lapone|lettone|libanaise|libérienne|libyenne|liechtensteinoise|lituanienne|luxembourgeois|macédonienne|maghrébine|malgache|malaisienne|malawite|maldivienne|malienne|maltaise|maorie|marocaine|martienne|mauricienne|mauritanienne|mexicaine|micronésienne|moldave|monégasque|monténégrine|mongole|mozambicaine|namibiene|népalaise|nicaraguayenne|nigérienne|nigériane|néerlandaise|norvégienne|néo-zélandaise|ougandaise|ouzbèke|pakistanaise|palestinienne|panaméenne|paraguayenne|perse|péruvienne|philippine|polonaise|polynésienne|portugaise|québécoise|qatarie|roumaine|russe|rwandaise|saoudienne|scandinave|salvadorienne|sénégalaise|serbe|singapourienne|slovaque|slovène|somalienne|soudanaise|soviétique|srilankaise|suédoise|suisse|surinamaise|syrienne|sud-africaine|sud-coréenne|américaine|tadjike|tanzanienne|tchadienne|tchèque|thaïlandaise|togolaise|tahitienne|tunisiene|turkmène|turque|taïwanaise|ukrainienne|uruguayenne|vénézuélienne|vietnamienne|yéménite|yougoslave|zaïroise|zambienne|zimbabwéenne] | | | 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 | # gentilés / ethnonymes __maj_gentilés__ océan Indien [îles|iles] Britanniques à [la|l’] [afghane|albanaise|algérienne|allemande|américaine|andorrane|anglaise|angolaise|arabe|argentine|arménienne|australienne|autrichienne|asiatique|azerbaïdjanaise|bahamienne|bangladaise|bengladeshie|barbadienne|basque|belge|bélizienne|béninoise|bretonne|bhoutanaise|biélorusse|birmane|bolivienne|bosnienne|botswanaiso|brésilienne|britannique|brunéiene|bulgare|burkinabé|burundaise|cambodgienne|camerounaise|canadienne|capverdienne|centrafricaine|chilienne|chinoise|chypriote|colombienne|comorienne|congolaise|nord-coréenne|corse|costaricienne|croate|cubaine|danoise|djiboutienne|dominicaine|égyptienne|émiratie|équatorienne|érythréenne|estonienne|espagnole|étatsunienne|états-unienne|étasunienne|éthiopienne|fidjienne|finlandaise|formosane|française|gabonaise|gambienne|géorgienne|ghanéenne|grecque|grenadienne|guadeloupéenne|guatémaltèque|guinéenne|équato-guinéenne|guyanienne|haïtienne|honduriene|hollandaise|hongroise|indienne|indochinoise|indonésienne|irakienne|italienne|iranienne|irlandaise|islandaise|israélienne|ivoirienne|jamaïcaine|japonaise|jordanienne|kazakhe|kényane|kosovare|koweïtienne|laotienne|lapone|lettone|libanaise|libérienne|libyenne|liechtensteinoise|lituanienne|luxembourgeois|macédonienne|maghrébine|malgache|malaisienne|malawite|maldivienne|malienne|maltaise|maorie|marocaine|martienne|mauricienne|mauritanienne|mexicaine|micronésienne|moldave|monégasque|monténégrine|mongole|mozambicaine|namibiene|népalaise|nicaraguayenne|nigérienne|nigériane|néerlandaise|norvégienne|néo-zélandaise|ougandaise|ouzbèke|pakistanaise|palestinienne|panaméenne|paraguayenne|perse|péruvienne|philippine|polonaise|polynésienne|portugaise|québécoise|qatarie|roumaine|russe|rwandaise|saoudienne|scandinave|salvadorienne|sénégalaise|serbe|singapourienne|slovaque|slovène|somalienne|soudanaise|soviétique|srilankaise|suédoise|suisse|surinamaise|syrienne|sud-africaine|sud-coréenne|américaine|tadjike|tanzanienne|tchadienne|tchèque|thaïlandaise|togolaise|tahitienne|tunisiene|turkmène|turque|taïwanaise|ukrainienne|uruguayenne|vénézuélienne|vietnamienne|yéménite|yougoslave|zaïroise|zambienne|zimbabwéenne] <<- !-1>> [>afghane|>albanaise|>algérienne|>allemande|>américaine|>andorrane|>anglaise|>angolaise|>arabe|>argentine|>arménienne|>australienne|>autrichienne|>asiatique|>azerbaïdjanaise|>bahamienne|>bangladaise|>bengladeshie|>barbadienne|>basque|>belge|>bélizienne|>béninoise|>bretonne|>bhoutanaise|>biélorusse|>birmane|>bolivienne|>bosnienne|>botswanaiso|>brésilienne|>britannique|>brunéiene|>bulgare|>burkinabé|>burundaise|>cambodgienne|>camerounaise|>canadienne|>capverdienne|>centrafricaine|>chilienne|>chinoise|>chypriote|>colombienne|>comorienne|>congolaise|>nord-coréenne|>corse|>costaricienne|>croate|>cubaine|>danoise|>djiboutienne|>dominicaine|>égyptienne|>émiratie|>équatorienne|>érythréenne|>estonienne|>espagnole|>étatsunienne|>états-unienne|>étasunienne|>éthiopienne|>fidjienne|>finlandaise|>formosane|>française|>gabonaise|>gambienne|>géorgienne|>ghanéenne|>grecque|>grenadienne|>guadeloupéenne|>guatémaltèque|>guinéenne|>équato-guinéenne|>guyanienne|>haïtienne|>honduriene|>hollandaise|>hongroise|>indienne|>indochinoise|>indonésienne|>irakienne|>italienne|>iranienne|>irlandaise|>islandaise|>israélienne|>ivoirienne|>jamaïcaine|>japonaise|>jordanienne|>kazakhe|>kényane|>kosovare|>koweïtienne|>laotienne|>lapone|>lettone|>libanaise|>libérienne|>libyenne|>liechtensteinoise|>lituanienne|>luxembourgeois|>macédonienne|>maghrébine|>malgache|>malaisienne|>malawite|>maldivienne|>malienne|>maltaise|>maorie|>marocaine|>martienne|>mauricienne|>mauritanienne|>mexicaine|>micronésienne|>moldave|>monégasque|>monténégrine|>mongole|>mozambicaine|>namibiene|>népalaise|>nicaraguayenne|>nigérienne|>nigériane|>néerlandaise|>norvégienne|>néo-zélandaise|>ougandaise|>ouzbèke|>pakistanaise|>palestinienne|>panaméenne|>paraguayenne|>perse|>péruvienne|>philippine|>polonaise|>polynésienne|>portugaise|>québécoise|>qatarie|>roumaine|>russe|>rwandaise|>saoudienne|>scandinave|>salvadorienne|>sénégalaise|>serbe|>singapourienne|>slovaque|>slovène|>somalienne|>soudanaise|>soviétique|>srilankaise|>suédoise|>suisse|>surinamaise|>syrienne|>sud-africaine|>sud-coréenne|>américaine|>tadjike|>tanzanienne|>tchadienne|>tchèque|>thaïlandaise|>togolaise|>tahitienne|>tunisiene|>turkmène|>turque|>taïwanaise|>ukrainienne|>uruguayenne|>vénézuélienne|>vietnamienne|>yéménite|>yougoslave|>zaïroise|>zambienne|>zimbabwéenne] <<- /maj/ \1.istitle() and morph(<1, ":N", ":(?:A|V0e|D|R|B|X)") -1:>> =\1.lower() # S’il s’agit d’un adjectif, ne mettez pas de majuscule. <<- /maj/ \1.islower() and not \1.startswith("canadienne") and ( value(<1, "|certains|certaines|ce|cet|cette|ces|des|les|nos|vos|leurs|quelques|plusieurs|chaque|une|aux|la|ma|ta|sa|") or ( morph(<1, ":B") and not morph(<2, ">numéro/") ) or ( value(<1, "|l’|") and morph(\1, ":N.*:f:[si]") ) |
︙ | ︙ | |||
9560 9561 9562 9563 9564 9565 9566 | TODO: comme __purge_locutions_latines__ [a|à] [priori|postériori|posteriori|contrario|cappella|minima] <<- ~>> * | | | 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 | TODO: comme __purge_locutions_latines__ [a|à] [priori|postériori|posteriori|contrario|cappella|minima] <<- ~>> * <<- !1>> ab [absurdo|initio] ad [hoc|hominem|infinitum|nauseam|valorem|patres] ad vitam æternam ex [nihilo|cathedra|absurdo|abrupto] id est in [abstracto|extenso|extremis|fine|petto|situ|utero|vitro|vivo] |
︙ | ︙ | |||
14748 14749 14750 14751 14752 14753 14754 | __conf_cour_cours_court_courre__ au [cour|court|courre|courres|courts] [de|d’|des|du] <<- /conf/ -2>> cours # Confusion. Locution “au cours de”. Une cour… Un cours… Adjectif : court(e). en cour martiale en cour [de|d’] [cassation|justice] en cour d’ [>assise] | | | 14748 14749 14750 14751 14752 14753 14754 14755 14756 14757 14758 14759 14760 14761 14762 | __conf_cour_cours_court_courre__ au [cour|court|courre|courres|courts] [de|d’|des|du] <<- /conf/ -2>> cours # Confusion. Locution “au cours de”. Une cour… Un cours… Adjectif : court(e). en cour martiale en cour [de|d’] [cassation|justice] en cour d’ [>assise] <<- !1:2>> en cour <<- /conf/ ->> en cours # Confusion probable. Une cour… Un cours… Adjectif : court(e). >couper [cour|cours|courre|courres|courts] <<- /conf/ -2>> court # “Couper court” qui signifie écourter. Une cour… Un cours… Adjectif : court(e). |
︙ | ︙ | |||
16889 16890 16891 16892 16893 16894 16895 | TEST: t’étais vraiment cinglé à cette époque. TEST: il m’était évident que cette mission était à durée déterminée ## se rendre compte __ppas_s_être_rendu_compte__ >être rendu compte | | | | 16889 16890 16891 16892 16893 16894 16895 16896 16897 16898 16899 16900 16901 16902 16903 16904 16905 16906 16907 | TEST: t’étais vraiment cinglé à cette époque. TEST: il m’était évident que cette mission était à durée déterminée ## se rendre compte __ppas_s_être_rendu_compte__ >être rendu compte <<- !2:3>> <<- ~2:3>> _ /VCint rendu compte <<- morphVC(\1, ">être/") !2:3>> <<- ~2:3>> _ >être [rendue|rendus|rendues] compte <<- /ppas/ -2>> rendu # Accord erroné : dans l’expression “se rendre compte”, “rendu” est invariable. <<- ~2:3>> _ /VCint [rendue|rendus|rendues] compte |
︙ | ︙ | |||
16996 16997 16998 16999 17000 17001 17002 | TEST: tu deviens vraiment très {{forts}} à ce jeu. TEST: je voudrais bien être dans ses souliers __ppas_3sg_mas_verbe_état__ [ce|ça|ceci|cela|c’|ç’] >avoir été >seule [que|qu’] [ce|ça|ceci|cela|c’|ç’] >avoir été @:[AQ].*:f¬:[GWYme] @:N.*:f | | | | | 16996 16997 16998 16999 17000 17001 17002 17003 17004 17005 17006 17007 17008 17009 17010 17011 17012 17013 17014 17015 17016 17017 | TEST: tu deviens vraiment très {{forts}} à ce jeu. TEST: je voudrais bien être dans ses souliers __ppas_3sg_mas_verbe_état__ [ce|ça|ceci|cela|c’|ç’] >avoir été >seule [que|qu’] [ce|ça|ceci|cela|c’|ç’] >avoir été @:[AQ].*:f¬:[GWYme] @:N.*:f <<- !4>> [ce|ça|ceci|cela|c’|ç’] >être >seule [que|qu’] [ce|ça|ceci|cela|c’|ç’] >être @:[AQ].*:f¬:[GWYme] @:N.*:f <<- !3>> tout en [étant|semblant|devenant|restant|demeurant|redevenant|paraissant] @:A <<- !4>> ([il|ce|c’|ç’|quiconque]) ?[ne|n’]¿ ?[en|y]¿ ([>être|>sembler|>devenir|>rester|>demeurer|>redevenir|>paraître|>paraitre]) [@:[NA].*:p¬:[GWYsi]|@:[AQ].*:f¬:[GWYme]] ([il|ce|c’|ç’|quiconque]) ?[ne|n’]¿ ?[en|y]¿ (>avoir) [été|semblé|paru] [@:[NA].*:p¬:[GWYsi]|@:[AQ].*:f¬:[GWYme]] ([il|ce|c’|ç’|quiconque]) ?[ne|n’]¿ ?[en|y]¿ ([>être|>sembler]) [devenu|redevenu|resté|demeuré] [@:[NA].*:p¬:[GWYsi]|@:[AQ].*:f¬:[GWYme]] ([il|ce|c’|ç’|quiconque]) ?[ne|n’]¿ ?[en|y]¿ || ([>aller|>adorer|>affirmer|>aimer|>croire|>déclarer|>désirer|>détester|>devoir|>dire|>estimer|>imaginer|>paraître|>paraitre|>penser|>pouvoir|>préférer|>risquer|>savoir|>sembler|>souhaiter|>vouloir]) || [être|devenir|redevenir|rester] [@:[NA].*:p¬:[GWYsi]|@:[AQ].*:f¬:[GWYme]] |
︙ | ︙ | |||
17567 17568 17569 17570 17571 17572 17573 | || [être|devenir|redevenir|rester] *WORD *WORD [que|qu’] [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || être [devenu|redevenu|resté|demeuré|devenue|redevenue|restée|demeurée] *WORD *WORD [que|qu’] [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || avoir [été|semblé|paru] *WORD | | | 17567 17568 17569 17570 17571 17572 17573 17574 17575 17576 17577 17578 17579 17580 17581 | || [être|devenir|redevenir|rester] *WORD *WORD [que|qu’] [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || être [devenu|redevenu|resté|demeuré|devenue|redevenue|restée|demeurée] *WORD *WORD [que|qu’] [un|le|ce|cet|une|la|ma|ta|sa|cette|l’|mon|ton|son|notre|votre|leur|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || avoir [été|semblé|paru] *WORD <<- /ppas/ checkAgreement(\1, \-1) !-1>> TEST: la danse est {{fini}}… TEST: Un orage est {{annoncée}}. TEST: Une averse est {{annoncé}}. TEST: Le chien ne sera pas {{oubliés}} TEST: les femmes sont vraiment {{partis}} ->> parties TEST: les hommes ne sont pas tout à fait {{fâché}} ->> fâchés |
︙ | ︙ | |||
17608 17609 17610 17611 17612 17613 17614 | || [être|devenir|redevenir|rester] *WORD (*WORD) [que|qu’] (@:M) ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || être [devenu|redevenu|resté|demeuré|devenue|redevenue|restée|demeurée] *WORD (*WORD) [que|qu’] (@:M) ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || avoir [été|semblé|paru] *WORD | | | 17608 17609 17610 17611 17612 17613 17614 17615 17616 17617 17618 17619 17620 17621 17622 | || [être|devenir|redevenir|rester] *WORD (*WORD) [que|qu’] (@:M) ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || être [devenu|redevenu|resté|demeuré|devenue|redevenue|restée|demeurée] *WORD (*WORD) [que|qu’] (@:M) ?[ne|n’]¿ || ([>affirmer|>croire|>déclarer|>désirer|>détester|>dire|>estimer|>imaginer|>penser|>préférer|>savoir|>souhaiter|>vouloir]) || avoir [été|semblé|paru] *WORD <<- /ppas/ checkAgreement(\1, \-1) !-1>> TEST: Antoine est {{mariée}}. TEST: Antoine n’est pas {{mariés}}. TEST: Antoine est peut-être {{fatiguée}}. TEST: Éric n’est pas très {{fatiguée}}. TEST: Martine est {{marié}}. TEST: Martine n’est pas {{marié}}. |
︙ | ︙ | |||
18062 18063 18064 18065 18066 18067 18068 | !! !!!! Participes passés après “avoir” !! !! !! __immu_les_avoir_fait_vinfi__ les >avoir fait ?[me|m’|te|t’|se|s’|nous|vous|leur]¿ @:Y | | | 18062 18063 18064 18065 18066 18067 18068 18069 18070 18071 18072 18073 18074 18075 18076 | !! !!!! Participes passés après “avoir” !! !! !! __immu_les_avoir_fait_vinfi__ les >avoir fait ?[me|m’|te|t’|se|s’|nous|vous|leur]¿ @:Y <<- !3>> __ppas_pronom_avoir__ [je|j’|tu|il|elle|on|ils|elles|et|qui] ?[ne|n’]¿ ?[lui|leur]¿ >avoir *WORD <<- /ppas/ not value(\-1, "|barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours|") and value(<1, "|<start>|,|comme|comment|et|lorsque|lorsqu’|mais|où|ou|quand|qui|pourquoi|puisque|puisqu’|quoique|quoiqu’|si|s’|sinon|") and \-1.islower() and morph(\-1, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])") |
︙ | ︙ |
Modified misc/grammalecte.sublime-syntax from [15f97f9ddb] to [adc8923096].
︙ | ︙ | |||
121 122 123 124 125 126 127 | 1: keyword.textprocessor.group - match: '=>>' scope: keyword.disambiguator - match: '/(-?\d*(?::-?\d+|))>>' scope: keyword.tag captures: 1: keyword.tag.group | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | 1: keyword.textprocessor.group - match: '=>>' scope: keyword.disambiguator - match: '/(-?\d*(?::-?\d+|))>>' scope: keyword.tag captures: 1: keyword.tag.group - match: '!(-?\d*(?::-?\d+|))>>' scope: keyword.tag captures: 1: keyword.tag.group # Tokens - match: '(>)[\w-]+' scope: string.lemma |
︙ | ︙ |