Overview
Comment: | [core][build][fr] function tag() |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | core | build | rg |
Files: | files | file ages | folders |
SHA3-256: |
9d18025dfd8812c8ca6821afcb64ff46 |
User & Date: | olr on 2018-08-31 17:52:55 |
Other Links: | branch diff | manifest | tags |
Context
2018-08-31
| ||
20:11 | [core][fr] tests: count unexpected errors check-in: 2d02b58aa3 user: olr tags: fr, core, rg | |
17:52 | [core][build][fr] function tag() check-in: 9d18025dfd user: olr tags: fr, core, build, rg | |
14:44 | [fr] ajustements check-in: 544fd5f5ad user: olr tags: fr, rg | |
Changes
Modified compile_rules_graph.py from [78ea46d853] to [f888a1d429].
︙ | ︙ | |||
43 44 45 46 47 48 49 | def prepareFunction (sCode): "convert simple rule 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") | | | | | | | | 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 69 70 | def prepareFunction (sCode): "convert simple rule 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"(morph|morphVC|analyse|value|tag|displayInfo)[(]\\(\d+)", 'g_\\1(lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"(morph|morphVC|analyse|value|tag|displayInfo)[(]\\-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1]', sCode) sCode = re.sub(r"(select|exclude|define|define_from)[(][\\](\d+)", 'g_\\1(lToken[nTokenOffset+\\2]', sCode) sCode = re.sub(r"(select|exclude|define|define_from)[(][\\]-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1]', sCode) sCode = re.sub(r"(tag_before|tag_after)[(][\\](\d+)", 'g_\\1(lToken[nTokenOffset+\\2], dTags', sCode) sCode = re.sub(r"(tag_before|tag_after)[(][\\]-(\d+)", 'g_\\1(lToken[nLastToken-\\2+1], dTags', sCode) sCode = re.sub(r"space_after[(][\\](\d+)", 'g_space_between_tokens(lToken[nTokenOffset+\\1], lToken[nTokenOffset+\\1+1]', sCode) sCode = re.sub(r"space_after[(][\\]-(\d+)", 'g_space_between_tokens(lToken[nLastToken-\\1+1], lToken[nLastToken-\\1+2]', sCode) sCode = re.sub(r"analyse_with_next[(][\\](\d+)", 'g_merged_analyse(lToken[nTokenOffset+\\1], lToken[nTokenOffset+\\1+1]', sCode) sCode = re.sub(r"analyse_with_next[(][\\]-(\d+)", 'g_merged_analyse(lToken[nLastToken-\\1+1], lToken[nLastToken-\\1+2]', sCode) sCode = re.sub(r"(morph|analyse|tag|value)\(>1", 'g_\\1(lToken[nLastToken+1]', sCode) # next token sCode = re.sub(r"(morph|analyse|tag|value)\(<1", 'g_\\1(lToken[nTokenOffset]', sCode) # previous token sCode = re.sub(r"(morph|analyse|tag|value)\(>(\d+)", 'g_\\1(g_token(lToken, nLastToken+\\2)', sCode) # next token sCode = re.sub(r"(morph|analyse|tag|value)\(<(\d+)", 'g_\\1(g_token(lToken, nTokenOffset+1-\\2)', 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"analyseWord[(]", 'analyse(', sCode) sCode = re.sub(r"[\\](\d+)", 'lToken[nTokenOffset+\\1]["sValue"]', sCode) |
︙ | ︙ |
Modified gc_core/py/lang_core/gc_engine.py from [ca7de6ac32] to [b2d4e1c72e].
︙ | ︙ | |||
1117 1118 1119 1120 1121 1122 1123 | return False if dToken["i"] < dTags[sTag][1]: return True return False def g_tag (dToken, sTag): | | | 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 | return False if dToken["i"] < dTags[sTag][1]: return True return False def g_tag (dToken, sTag): return "tags" in dToken and sTag in dToken["tags"] def g_space_between_tokens (dToken1, dToken2, nMin, nMax=None): nSpace = dToken2["nStart"] - dToken1["nEnd"] if nSpace < nMin: return False if nMax is not None and nSpace > nMax: |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [f8603c5689] to [6ac6005fbf].
︙ | ︙ | |||
15587 15588 15589 15590 15591 15592 15593 15594 15595 15596 15597 15598 15599 15600 | __tag_verbe_infinitif_sujet__ [<start>|,] [ne|n’] ?[en|y]¿ ?presque¿ [pas|rien|guère|point|jamais|plus] [<start>|,] [ne|n’] @:Y [<start>|,] @:Y <<- /2>> suj_vinfi @@@@ @@@@ @@@@ @@@@ @@@@GRAPH: verbes2 _ @@@@ | > > > > > > | 15587 15588 15589 15590 15591 15592 15593 15594 15595 15596 15597 15598 15599 15600 15601 15602 15603 15604 15605 15606 | __tag_verbe_infinitif_sujet__ [<start>|,] [ne|n’] ?[en|y]¿ ?presque¿ [pas|rien|guère|point|jamais|plus] [<start>|,] [ne|n’] @:Y [<start>|,] @:Y <<- /2>> suj_vinfi __se_douter__ [me|te|se] >douter [que|qu’] nous nous >douter [que|qu’] vous vous >douter [que|qu’] <<- /-1>> no_subj @@@@ @@@@ @@@@ @@@@ @@@@GRAPH: verbes2 _ @@@@ |
︙ | ︙ | |||
16506 16507 16508 16509 16510 16511 16512 | # verbe que + subjonctif __vmode_qqch_que_subjonctif1__ [>permettre|>falloir|>vouloir|>ordonner|>exiger|>désirer|>préférer|>suffire] [que|qu’] @:(?:Os|M) @:I¬:[GYS] [afin|avant|pour|quoi|sans] [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -4>> =suggVerbMode(\4, ":S", \3) # Après “\1 que”, ce verbe devrait être au subjonctif. >douter [que|qu’] @:(?:Os|M) @:I¬:(?:[GYSK]|If) | > | | 16512 16513 16514 16515 16516 16517 16518 16519 16520 16521 16522 16523 16524 16525 16526 16527 | # verbe que + subjonctif __vmode_qqch_que_subjonctif1__ [>permettre|>falloir|>vouloir|>ordonner|>exiger|>désirer|>préférer|>suffire] [que|qu’] @:(?:Os|M) @:I¬:[GYS] [afin|avant|pour|quoi|sans] [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -4>> =suggVerbMode(\4, ":S", \3) # Après “\1 que”, ce verbe devrait être au subjonctif. >douter [que|qu’] @:(?:Os|M) @:I¬:(?:[GYSK]|If) <<- /vmode/ not tag(\2, "no_subj") and morph(\1, ":V", ":N") -4>> =suggVerbMode(\4, ":S", \3) # Après “\1 que”, ce verbe devrait être au subjonctif. il est possible [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5) # Après “\1 \2 \3”, ce verbe devrait être au subjonctif. TEST: Il suffit qu’il {{court}} plus TEST: Je veux qu’il {{finit}} son repas. TEST: quoi qu’il en {{conclut}} |
︙ | ︙ |