Overview
Comment: | [build][bugs] compile rules graph: fix disambiguator and don’t use repositioning if selector is empty |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | build | rg |
Files: | files | file ages | folders |
SHA3-256: |
d5029b9ccc88e9d5b507ec513d9047b5 |
User & Date: | olr on 2018-06-25 14:22:01 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-25
| ||
14:23 | [core] gc engine: clearer debugging messages to avoid looking for problems at the wrong place check-in: bb3ffc5151 user: olr tags: core, rg | |
14:22 | [build][bugs] compile rules graph: fix disambiguator and don’t use repositioning if selector is empty check-in: d5029b9ccc user: olr tags: build, rg | |
08:33 | [fr] bookmark update check-in: d9e767938c user: olr tags: fr, rg | |
Changes
Modified compile_rules_graph.py from [c4702b3e5a] to [ad40703abe].
︙ | ︙ | |||
15 16 17 18 19 20 21 | def prepareFunction (s, bTokenValue=False): "convert simple rule syntax to a string of Python code" s = s.replace("__also__", "bCondMemo") s = s.replace("__else__", "not bCondMemo") s = re.sub(r"(morph|analyse|displayInfo)[(]\\(\d+)", 'g_\\1(lToken[\\2+nTokenOffset]', s) | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | def prepareFunction (s, bTokenValue=False): "convert simple rule syntax to a string of Python code" s = s.replace("__also__", "bCondMemo") s = s.replace("__else__", "not bCondMemo") s = re.sub(r"(morph|analyse|displayInfo)[(]\\(\d+)", 'g_\\1(lToken[\\2+nTokenOffset]', s) s = re.sub(r"(select|exclude|define)[(][\\](\d+)", 'g_\\1(lToken[\\2+nTokenOffset]', s) s = re.sub(r"(tag_before|tag_after)[(][\\](\d+)", 'g_\\1(lToken[\\2+nTokenOffset], dTags', s) s = re.sub(r"(switchGender|has(?:Mas|Fem)Form)[(]\\(\d+)", '\\1(lToken[\\2+nTokenOffset]["sValue"]', s) s = re.sub(r"(morph|analyse)\(>1", 'g_\\1(lToken[nLastToken+1]', s) # next token s = re.sub(r"(morph|analyse)\(<1", 'g_\\1(lToken[nTokenOffset]', s) # previous token s = re.sub(r"[\\](\d+)\.is(upper|lower|title)\(\)", 'lToken[\\1+nTokenOffset]["sValue"].is\\2()', s) s = re.sub(r"\bspell *[(]", '_oSpellChecker.isValid(', s) s = re.sub(r"\bbefore\(\s*", 'look(sSentence[:lToken[1+nTokenOffset]["nStart"]], ', s) # before(s) |
︙ | ︙ | |||
176 177 178 179 180 181 182 | sAction = changeReferenceToken(sAction, dPos) if not m.group("start"): iStartAction = 1 iEndAction = 0 else: iStartAction = int(m.group("start")) iEndAction = int(m.group("end")[1:]) if m.group("end") else iStartAction | | > | > > | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | sAction = changeReferenceToken(sAction, dPos) if not m.group("start"): iStartAction = 1 iEndAction = 0 else: iStartAction = int(m.group("start")) iEndAction = int(m.group("end")[1:]) if m.group("end") else iStartAction if dPos and m.group("start"): try: iStartAction = dPos[iStartAction] if iEndAction: iEndAction = dPos[iEndAction] except: print("# Error. Wrong groups in: " + sActionId) print(" iStartAction:", iStartAction, "iEndAction:", iEndAction) print(" ", dPos) if cAction == "-": ## error iMsg = sAction.find(" # ") if iMsg == -1: sMsg = "# Error. Error message not found." sURL = "" |
︙ | ︙ |