Grammalecte  Diff

Differences From Artifact [070a603bc6]:

To Artifact [de8dd5167f]:


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
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:
                yield dGraph[dNode[sLemma]]
            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 "~" in dNode:
        if "<regex>" in dNode:
            for sRegex in dNode["~"]:
                for sMorph in _oSpellChecker.getMorph(dToken["sValue"]):
                    if re.search(sRegex, sMorph):
                        yield dGraph[dNode["~"][sRegex]]
                        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]