Overview
Comment: | [build][core] rules graph: merge lemmas in key <lemmas> |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core | build | rg |
Files: | files | file ages | folders |
SHA3-256: |
a5edfddfa854273fcdac6d9054769ce3 |
User & Date: | olr on 2018-05-23 12:19:37 |
Original Comment: | [build][core] agregate lemmas in one node |
Other Links: | branch diff | manifest | tags |
Context
2018-05-24
| ||
09:25 | [build][core] regex for token value and token morphologies check-in: fea041c0de user: olr tags: core, build, rg | |
2018-05-23
| ||
12:19 | [build][core] rules graph: merge lemmas in key <lemmas> check-in: a5edfddfa8 user: olr tags: core, build, rg | |
12:10 | [graphspell][js][bug] remove prefix sign from lemmas check-in: 13109802df user: olr tags: graphspell, rg | |
Changes
Modified darg.py from [bf378d22b5] to [7e9f6a7653].
︙ | ︙ | |||
155 156 157 158 159 160 161 | return self.__str__() == other.__str__() def getNodeAsDict (self): "returns the node as a dictionary structure" dNode = {} dRegex = {} dRules = {} | > | | | > > | | | > > | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | return self.__str__() == other.__str__() def getNodeAsDict (self): "returns the node as a dictionary structure" dNode = {} dRegex = {} dRules = {} dLemmas = {} for sArc, oNode in self.dArcs.items(): if sArc.startswith("~") and len(sArc) > 1: dRegex[sArc[1:]] = oNode.__hash__() elif sArc.startswith(">") and len(sArc) > 1: dLemmas[sArc[1:]] = oNode.__hash__() elif sArc.startswith("##"): dRules[sArc[1:]] = oNode.__hash__() else: dNode[sArc] = oNode.__hash__() if dRegex: dNode["<regex>"] = dRegex if dLemmas: dNode["<lemmas>"] = dLemmas if dRules: dNode["<rules>"] = dRules #if self.bFinal: # dNode["<final>"] = 1 return dNode |
Modified gc_core/py/lang_core/gc_engine.py from [070a603bc6] to [de8dd5167f].
︙ | ︙ | |||
605 606 607 608 609 610 611 | return dErr def _getNextMatchingNodes (self, dToken, dNode): # token value if dToken["sValue"] in dNode: yield dGraph[dNode[dToken["sValue"]]] # token lemmas | > | | | | | | 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | return dErr def _getNextMatchingNodes (self, dToken, dNode): # token value if dToken["sValue"] in dNode: yield dGraph[dNode[dToken["sValue"]]] # token lemmas if "<lemmas>" in dNode: for sLemma in _oSpellChecker.getLemma(dToken["sValue"]): if sLemma in dNode["<lemmas>"]: yield dGraph[dNode["<lemmas>"][sLemma]] # universal arc if "*" in dNode: yield dGraph[dNode["*"]] # regex arcs if "<regex>" in dNode: for sRegex in dNode["~"]: for sMorph in _oSpellChecker.getMorph(dToken["sValue"]): if re.search(sRegex, sMorph): yield dGraph[dNode["regex"][sRegex]] def _executeActions (self, dNode, nOffset): for sLineId, nextNodeKey in dNode.items(): for sArc in dGraph[nextNodeKey]: print(sArc) bCondMemo = None sFuncCond, cActionType, sWhat, *eAct = dRule[sArc] |
︙ | ︙ |