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]
|
| ︙ | ︙ |